*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

        :root {
            --black:      #080808;
            --dark:       #111111;
            --card:       #181818;
            --gold:       #C9A84C;
            --gold-light: #E8D5A3;
            --gold-dark:  #9B7D35;
            --cream:      #F0E8D5;
            --silver:     #C8C8C8;
            --wa:         #25D366;
            --f-display:  'Cinzel', serif;
            --f-heading:  'Playfair Display', serif;
            --f-body:     'Inter', sans-serif;
        }

        html { scroll-behavior: smooth; }
        body { font-family: var(--f-body); background: var(--black); color: var(--cream); overflow-x: hidden; }
        img { display: block; }

        /* ── LOADER ── */
        #loader {
            position: fixed; inset: 0; z-index: 9999;
            background: var(--black);
            display: flex; align-items: center; justify-content: center;
            transition: opacity 0.8s ease, visibility 0.8s ease;
        }
        #loader.hidden { opacity: 0; visibility: hidden; }
        .loader-inner { text-align: center; }
        .loader-logo { width: 96px; height: 96px; object-fit: cover; object-position: center; margin: 0 auto 1.4rem; animation: pulse 1.6s ease infinite; }
        .loader-name {
            font-family: var(--f-display);
            font-size: clamp(0.85rem, 3vw, 1.25rem);
            letter-spacing: 0.32em; color: var(--gold); padding-left: 0.32em;
        }
        .loader-line { width: 0; height: 1px; background: var(--gold); margin: 1rem auto 0; animation: expandLine 1.6s ease forwards; }
        @keyframes pulse { 0%,100%{opacity:.45} 50%{opacity:1} }
        @keyframes expandLine { to { width: 180px; } }

        /* ── NAV ── */
        .nav {
            position: fixed; top: 0; left: 0; right: 0; z-index: 100;
            padding: 1.1rem 2rem;
            display: flex; align-items: center; justify-content: space-between;
            transition: background 0.4s, padding 0.4s, border-color 0.4s;
            border-bottom: 1px solid transparent;
        }
        .nav.scrolled {
            background: rgba(8,8,8,0.95);
            backdrop-filter: blur(12px);
            padding: 0.7rem 2rem;
            border-bottom: 1px solid rgba(201,168,76,0.15);
        }
        .nav-logo { text-decoration: none; display: flex; align-items: center; gap: 0.7rem; }
        .nav-logo img { width: 44px; height: 44px; object-fit: cover; object-position: center; }
        .nav-logo-txt { display: flex; flex-direction: column; }
        .nav-logo-main { font-family: var(--f-display); font-size: 0.92rem; font-weight: 700; letter-spacing: 0.13em; color: var(--gold); }
        .nav-logo-sub { font-size: 0.54rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--silver); margin-top: 2px; }
        .nav-right { display: flex; align-items: center; gap: 2rem; }
        .nav-links { display: flex; gap: 2.2rem; list-style: none; }
        .nav-links a { text-decoration: none; font-size: 0.72rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--silver); transition: color .3s; }
        .nav-links a:hover { color: var(--gold); }
        .nav-cta { background: var(--gold) !important; color: var(--black) !important; padding: 0.55rem 1.3rem !important; border-radius: 2px; font-weight: 600 !important; }
        .nav-cta:hover { background: var(--gold-light) !important; }

        /* ── LANG TOGGLE ── */
        .lang-toggle { display: inline-flex; align-items: center; border: 1px solid rgba(201,168,76,0.35); border-radius: 100px; overflow: hidden; }
        .lang-btn { background: none; border: none; color: var(--silver); font-family: var(--f-body); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.1em; padding: 0.4rem 0.7rem; cursor: pointer; transition: all .25s; }
        .lang-btn.active { background: var(--gold); color: var(--black); }

        .nav-toggle { display: none; background: none; border: none; color: var(--cream); font-size: 1.5rem; cursor: pointer; line-height: 1; }
        .mobile-menu { display: none; position: fixed; inset: 0; z-index: 99; background: rgba(8,8,8,0.98); flex-direction: column; align-items: center; justify-content: center; gap: 2.2rem; }
        .mobile-menu.open { display: flex; }
        .mobile-menu a { font-family: var(--f-display); font-size: 1.3rem; color: var(--cream); text-decoration: none; letter-spacing: 0.18em; transition: color .3s; }
        .mobile-menu a:hover { color: var(--gold); }
        .mobile-close { position: absolute; top: 1.5rem; right: 2rem; background: none; border: none; color: var(--gold); font-size: 2rem; cursor: pointer; line-height: 1; }

        /* ── HERO ── */
        .hero { position: relative; height: 100svh; min-height: 600px; display: flex; align-items: flex-end; overflow: hidden; }
        .hero-bg { position: absolute; inset: 0; }
        .hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
        .hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,8,8,1) 2%, rgba(8,8,8,0.5) 45%, rgba(8,8,8,0.25) 100%); }
        .hero-content { position: relative; z-index: 2; padding: 0 2rem 5rem; max-width: 1200px; margin: 0 auto; width: 100%; }
        .hero-eyebrow { font-size: 0.65rem; letter-spacing: 0.4em; text-transform: uppercase; color: var(--gold); font-weight: 600; margin-bottom: 1rem; animation: fadeUp .8s ease .3s both; }
        .hero-name { font-family: var(--f-display); font-size: clamp(3rem, 8vw, 7rem); font-weight: 900; letter-spacing: 0.04em; text-transform: uppercase; color: var(--cream); line-height: 0.9; animation: fadeUp .8s ease .5s both; }
        .hero-name-sub { display: block; font-family: var(--f-display); font-size: clamp(0.95rem, 2.5vw, 1.7rem); font-weight: 400; letter-spacing: 0.2em; color: var(--gold); margin-top: 0.8rem; }
        .hero-tagline { font-family: var(--f-heading); font-style: italic; font-size: clamp(1rem, 2vw, 1.3rem); color: rgba(240,232,213,0.7); margin: 1.2rem 0 2.5rem; animation: fadeUp .8s ease .75s both; }
        .hero-ctas { display: flex; gap: 1rem; flex-wrap: wrap; animation: fadeUp .8s ease .9s both; }
        .btn { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; padding: 0.95rem 2rem; border-radius: 2px; transition: all .3s; cursor: pointer; }
        .btn svg { width: 16px; height: 16px; }
        .btn-gold { background: var(--gold); color: var(--black); border: 2px solid var(--gold); }
        .btn-gold:hover { background: var(--gold-light); border-color: var(--gold-light); transform: translateY(-2px); }
        .btn-wa { background: var(--wa); color: #062e16; border: 2px solid var(--wa); }
        .btn-wa:hover { filter: brightness(1.08); transform: translateY(-2px); }
        .btn-outline { background: transparent; color: var(--cream); border: 2px solid rgba(240,232,213,0.3); }
        .btn-outline:hover { border-color: var(--gold); color: var(--gold); transform: translateY(-2px); }
        .hero-scroll { position: absolute; bottom: 2rem; right: 2rem; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: .5rem; opacity: .4; animation: fadeUp .8s ease 1.2s both; }
        .hero-scroll span { font-size: 0.58rem; letter-spacing: .3em; text-transform: uppercase; writing-mode: vertical-rl; color: var(--silver); }
        .hero-scroll-line { width: 1px; height: 40px; background: var(--gold); animation: scrollPulse 2s ease infinite; }
        @keyframes scrollPulse { 0%,100%{opacity:.4; transform:scaleY(1)} 50%{opacity:1; transform:scaleY(.5)} }

        /* ── GOLD BAR ── */
        .gold-bar { background: linear-gradient(135deg, var(--gold-dark), var(--gold), var(--gold-dark)); padding: .8rem 0; overflow: hidden; }
        .gold-bar-inner { display: flex; gap: 3rem; white-space: nowrap; width: max-content; animation: ticker 26s linear infinite; }
        .gold-bar-item { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; font-family: var(--f-display); font-size: .68rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; color: var(--black); }
        .dot { width: 4px; height: 4px; background: rgba(0,0,0,.4); border-radius: 50%; }
        @keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

        /* ── PROFILE ── */
        .profile { background: var(--dark); }
        .profile-grid { display: grid; grid-template-columns: 440px 1fr; min-height: 640px; }
        .profile-photo { position: relative; overflow: hidden; background: var(--card); }
        .profile-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
        .profile-photo-overlay { position: absolute; inset: 0; background: linear-gradient(to right, transparent 70%, var(--dark)); }
        .profile-info { padding: 5rem 4rem; display: flex; flex-direction: column; justify-content: center; }
        .profile-label { font-size: .63rem; letter-spacing: .4em; text-transform: uppercase; color: var(--gold); font-weight: 600; margin-bottom: 1.2rem; }
        .profile-name { font-family: var(--f-display); font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--cream); line-height: 1; }
        .profile-name em { display: block; font-family: var(--f-heading); font-style: italic; font-weight: 400; font-size: .5em; color: var(--gold); letter-spacing: .12em; margin-top: .6rem; text-transform: none; }
        .profile-divider { width: 50px; height: 2px; background: linear-gradient(90deg, var(--gold), transparent); margin: 2rem 0; }
        .profile-text { font-size: 1rem; line-height: 1.85; font-weight: 300; color: rgba(240,232,213,.8); }
        .profile-text + .profile-text { margin-top: 1rem; }
        .profile-stats { display: flex; gap: 2.5rem; margin-top: 2.5rem; }
        .profile-stat-num { font-family: var(--f-display); font-size: 2.4rem; font-weight: 700; color: var(--gold); line-height: 1; }
        .profile-stat-label { font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--silver); margin-top: .3rem; }
        .profile-location { margin-top: 2rem; display: flex; align-items: center; gap: .6rem; }
        .profile-location-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }
        .profile-location span { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--silver); }

        /* ── SECTION HELPERS ── */
        section { padding: 6rem 2rem; }
        .container { max-width: 1200px; margin: 0 auto; }
        .section-label { font-size: .63rem; font-weight: 600; letter-spacing: .35em; text-transform: uppercase; color: var(--gold); margin-bottom: 1rem; }
        .section-title { font-family: var(--f-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; color: var(--cream); line-height: 1.1; }
        .section-title em { font-family: var(--f-heading); font-style: italic; font-weight: 400; color: var(--gold); }
        .gold-line { width: 55px; height: 2px; background: linear-gradient(90deg, var(--gold), transparent); margin: 1.5rem 0; }

        /* ── SERVICES ── */
        .services { background: var(--black); }
        .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; margin-top: 3.5rem; }
        .service-card { background: var(--card); border: 1px solid rgba(201,168,76,.1); border-radius: 4px; padding: 2.5rem; position: relative; overflow: hidden; transition: transform .4s, border-color .4s; }
        .service-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--gold), var(--gold-dark)); transform: scaleX(0); transform-origin: left; transition: transform .4s; }
        .service-card:hover { transform: translateY(-6px); border-color: rgba(201,168,76,.3); }
        .service-card:hover::after { transform: scaleX(1); }
        .service-icon { color: var(--gold); margin-bottom: 1.3rem; }
        .service-icon svg { width: 30px; height: 30px; }
        .service-name { font-family: var(--f-display); font-size: .95rem; font-weight: 600; letter-spacing: .08em; color: var(--cream); margin-bottom: .8rem; }
        .service-desc { font-size: .86rem; line-height: 1.7; font-weight: 300; color: rgba(200,200,200,.65); }

        /* ── GALLERY ── */
        .gallery { background: var(--dark); }
        .gallery-header { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 2.5rem; }
        .gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 230px; gap: 6px; }
        .g-item { position: relative; overflow: hidden; border-radius: 2px; background: var(--card); }
        .g-item.span2c { grid-column: span 2; }
        .g-item.span2r { grid-row: span 2; }
        .g-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s, filter .6s; filter: brightness(.9) saturate(.92); }
        .g-item:hover img { transform: scale(1.05); filter: brightness(1) saturate(1); }
        .g-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.55), transparent 60%); opacity: 0; transition: opacity .4s; display: flex; align-items: flex-end; padding: 1rem; pointer-events: none; }
        .g-item:hover .g-overlay { opacity: 1; }
        .g-label { font-size: .65rem; letter-spacing: .15em; text-transform: uppercase; color: var(--gold-light); font-weight: 500; }
        /* edit controls on gallery items */
        .g-edit { position: absolute; inset: 0; display: none; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; background: rgba(8,8,8,.72); z-index: 3; }
        body.editing .g-item .g-edit { display: flex; }
        body.editing .g-item.dragover { outline: 2px dashed var(--gold); outline-offset: -6px; }
        .g-edit-hint { font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: var(--silver); max-width: 80%; text-align: center; line-height: 1.5; }
        .mini-btn { display: inline-flex; align-items: center; gap: .4rem; font-family: var(--f-body); font-size: .62rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; padding: .5rem .9rem; border-radius: 2px; border: 1px solid var(--gold); background: transparent; color: var(--gold); cursor: pointer; transition: all .25s; }
        .mini-btn:hover { background: var(--gold); color: var(--black); }
        .mini-btn.danger { border-color: #c75b5b; color: #e08a8a; }
        .mini-btn.danger:hover { background: #c75b5b; color: #fff; }
        .add-tile { display: none; align-items: center; justify-content: center; flex-direction: column; gap: .6rem; border: 1.5px dashed rgba(201,168,76,.4); border-radius: 2px; background: rgba(201,168,76,.04); cursor: pointer; transition: all .3s; color: var(--gold); }
        .add-tile:hover { border-color: var(--gold); background: rgba(201,168,76,.08); }
        .add-tile svg { width: 30px; height: 30px; }
        .add-tile span { font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
        body.editing .add-tile { display: flex; }

        /* ── VIDEOS ── */
        .videos { background: var(--black); }
        .videos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 3.5rem; }
        .v-card { background: var(--card); border: 1px solid rgba(201,168,76,.1); border-radius: 4px; overflow: hidden; }
        .v-card.horizontal { grid-column: 1 / -1; }
        .v-card.horizontal .v-frame { aspect-ratio: 16/9; max-width: 860px; margin: 0 auto; width: 100%; }
        .v-card.vertical .v-frame { aspect-ratio: 9/16; max-width: 320px; margin: 0 auto; width: 100%; }
        .v-card.empty { display: none; }
        body.editing .v-card.empty { display: block; }
        .v-frame { position: relative; aspect-ratio: 16/9; background: #0c0c0c; }
        .v-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
        .v-frame wistia-player { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
        .v-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; background: repeating-linear-gradient(45deg, #0e0e0e, #0e0e0e 12px, #121212 12px, #121212 24px); color: var(--silver); text-align: center; padding: 1.5rem; }
        .v-placeholder svg { width: 38px; height: 38px; color: var(--gold-dark); }
        .v-placeholder-txt { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; line-height: 1.6; max-width: 220px; }
        .v-meta { padding: 1.1rem 1.3rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
        .v-title { font-family: var(--f-display); font-size: .82rem; letter-spacing: .06em; color: var(--cream); }
        .v-edit { display: none; padding: 1.1rem 1.3rem; border-top: 1px solid rgba(201,168,76,.12); flex-direction: column; gap: .7rem; }
        body.editing .v-edit { display: flex; }
        .field-label { font-size: .58rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
        .field { width: 100%; background: #0c0c0c; border: 1px solid rgba(201,168,76,.25); border-radius: 2px; color: var(--cream); font-family: var(--f-body); font-size: .82rem; padding: .6rem .75rem; }
        .field:focus { outline: none; border-color: var(--gold); }
        .v-edit-row { display: flex; gap: .6rem; }

        /* ── SPOTIFY FEATURE ── */
        .spotify-feat { background: #0a0a0a; position: relative; overflow: hidden; }
        .spotify-feat::before { content: ''; position: absolute; top: -20%; right: -10%; width: 60%; height: 140%; background: radial-gradient(ellipse at center, rgba(29,185,84,.16) 0%, transparent 68%); pointer-events: none; }
        .sf-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 3.5rem; align-items: center; position: relative; z-index: 1; }
        .sf-desc { font-size: 1.02rem; line-height: 1.8; font-weight: 300; color: rgba(240,232,213,.78); margin: 0 0 2.2rem; max-width: 420px; }
        .sf-btn { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; background: #1DB954; color: #06351c; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: 1.05rem 2.1rem; border-radius: 100px; transition: transform .3s, filter .3s, box-shadow .3s; box-shadow: 0 10px 30px rgba(29,185,84,.22); }
        .sf-btn svg { width: 22px; height: 22px; }
        .sf-btn:hover { transform: translateY(-3px); filter: brightness(1.07); box-shadow: 0 14px 40px rgba(29,185,84,.34); }
        .sf-player { min-height: 352px; border-radius: 12px; overflow: hidden; }
        .sf-player iframe { width: 100%; height: 352px; border: 0; border-radius: 12px; display: block; }
        .sf-ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; height: 352px; border: 1.5px dashed rgba(29,185,84,.4); border-radius: 12px; background: rgba(29,185,84,.04); text-align: center; padding: 2rem; }
        .sf-ph svg { width: 52px; height: 52px; color: #1DB954; }
        .sf-ph-txt { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; line-height: 1.7; color: var(--silver); max-width: 280px; }
        .sf-edit { display: none; margin-top: 1rem; width: 100%; max-width: 520px; flex-direction: column; gap: .7rem; }
        body.editing .sf-edit { display: flex; }
        .v-edit-row { display: flex; gap: .6rem; }

        /* ── REPERTOIRE ── */
        .repertoire { background: var(--dark); }
        .rep-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; margin-top: 3.5rem; }
        .rep-card { background: var(--card); border: 1px solid rgba(201,168,76,.1); border-radius: 4px; padding: 2.2rem; }
        .rep-cat { font-family: var(--f-display); font-size: .9rem; font-weight: 600; letter-spacing: .1em; color: var(--gold); margin-bottom: 1.2rem; display: flex; align-items: center; gap: .6rem; }
        .rep-cat::before { content: ''; width: 22px; height: 1px; background: var(--gold); }
        .rep-list { list-style: none; display: flex; flex-direction: column; gap: .55rem; }
        .rep-list li { font-size: .9rem; font-weight: 300; color: rgba(240,232,213,.78); }
        .rep-note { text-align: center; font-size: .8rem; font-weight: 300; color: var(--silver); margin-top: 2.5rem; font-style: italic; font-family: var(--f-heading); }

        /* ── TESTIMONIALS ── */
        .testimonials { background: var(--black); }
        .testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; margin-top: 3.5rem; }
        .t-card { background: var(--card); border: 1px solid rgba(201,168,76,.1); border-radius: 4px; padding: 2.5rem; position: relative; }
        .t-card::before { content: '"'; position: absolute; top: 1rem; right: 1.5rem; font-family: var(--f-heading); font-size: 6rem; line-height: 1; color: rgba(201,168,76,.08); pointer-events: none; }
        .t-stars { color: var(--gold); font-size: .85rem; margin-bottom: 1.2rem; letter-spacing: .1em; }
        .t-text { font-family: var(--f-heading); font-style: italic; font-size: 1.02rem; line-height: 1.8; color: var(--cream); position: relative; z-index: 1; }
        .t-author { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(201,168,76,.12); }
        .t-name { font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
        .t-event { font-size: .7rem; color: var(--silver); margin-top: .2rem; }

        /* ── BOOKING ── */
        .booking { background: var(--dark); text-align: center; position: relative; overflow: hidden; }
        .booking::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(201,168,76,.06) 0%, transparent 70%); pointer-events: none; }
        .booking-inner { position: relative; z-index: 1; }
        .booking-title { font-family: var(--f-display); font-size: clamp(2rem, 5vw, 3.6rem); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--cream); }
        .booking-title em { font-family: var(--f-heading); font-style: italic; font-weight: 400; color: var(--gold); display: block; font-size: .6em; margin-top: .4rem; text-transform: none; }
        .booking-sub { font-size: 1rem; line-height: 1.75; font-weight: 300; color: rgba(240,232,213,.7); max-width: 500px; margin: 1.5rem auto 3rem; }
        .booking-cards { display: flex; justify-content: center; gap: 1.2rem; flex-wrap: wrap; margin-bottom: 2.8rem; }
        .b-card { background: var(--card); border: 1px solid rgba(201,168,76,.15); border-radius: 4px; padding: 1.8rem 2rem; min-width: 200px; text-decoration: none; text-align: center; transition: all .3s; }
        .b-card:hover { border-color: var(--gold); transform: translateY(-4px); }
        .b-icon { color: var(--gold); margin-bottom: .9rem; display: flex; justify-content: center; }
        .b-icon svg { width: 26px; height: 26px; }
        .b-label { font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); font-weight: 600; margin-bottom: .4rem; }
        .b-value { font-family: var(--f-display); font-size: .9rem; color: var(--cream); letter-spacing: .04em; }

        /* social row */
        .social-row { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
        .social-btn { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; padding: .8rem 1.4rem; border-radius: 100px; border: 1px solid rgba(201,168,76,.3); color: var(--cream); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; transition: all .3s; }
        .social-btn svg { width: 18px; height: 18px; }
        .social-btn:hover { transform: translateY(-3px); }
        .social-btn.ig:hover { border-color: #E1306C; color: #E1306C; }
        .social-btn.fb:hover { border-color: #1877F2; color: #1877F2; }
        .social-btn.yt:hover { border-color: #FF0000; color: #FF0000; }
        .social-btn.wa:hover { border-color: var(--wa); color: var(--wa); }
        .social-btn.sp:hover { border-color: #1DB954; color: #1DB954; }

        .payments { display: flex; justify-content: center; gap: .8rem; flex-wrap: wrap; }
        .pill { padding: .45rem 1.1rem; background: rgba(201,168,76,.08); border: 1px solid rgba(201,168,76,.22); border-radius: 100px; font-size: .65rem; letter-spacing: .15em; text-transform: uppercase; color: var(--gold-light); }
        .booking-area { margin-top: 1.8rem; font-size: .72rem; color: rgba(200,200,200,.45); letter-spacing: .05em; }

        /* ── FOOTER ── */
        footer { background: #050505; padding: 2.5rem 2rem; border-top: 1px solid rgba(201,168,76,.1); }
        .footer-inner { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1.5rem; }
        .footer-brand { display: flex; align-items: center; gap: .8rem; }
        .footer-brand img { width: 46px; height: 46px; object-fit: cover; object-position: center; }
        .footer-logo-text { font-family: var(--f-display); font-size: .9rem; font-weight: 700; letter-spacing: .14em; color: var(--gold); text-decoration: none; }
        .footer-sub { font-size: .56rem; letter-spacing: .2em; text-transform: uppercase; color: var(--silver); margin-top: 3px; }
        .f-socials { display: flex; gap: .7rem; }
        .f-social { width: 40px; height: 40px; border: 1px solid rgba(201,168,76,.22); border-radius: 50%; display: flex; align-items: center; justify-content: center; text-decoration: none; color: var(--silver); transition: all .3s; }
        .f-social svg { width: 17px; height: 17px; }
        .f-social:hover { border-color: var(--gold); color: var(--gold); transform: translateY(-2px); }
        .footer-copy { font-size: .64rem; color: rgba(200,200,200,.35); }

        /* ── FLOATING ── */
        .fab-wa { position: fixed; bottom: 1.4rem; right: 1.4rem; z-index: 90; width: 58px; height: 58px; border-radius: 50%; background: var(--wa); display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 26px rgba(0,0,0,.45); transition: transform .3s; }
        .fab-wa svg { width: 30px; height: 30px; color: #fff; }
        .fab-wa:hover { transform: scale(1.08); }
        .fab-wa::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--wa); animation: ring 2.2s ease-out infinite; }
        @keyframes ring { 0%{transform:scale(1);opacity:.7} 100%{transform:scale(1.7);opacity:0} }

        .edit-toggle { position: fixed; bottom: 1.4rem; left: 1.4rem; z-index: 90; display: inline-flex; align-items: center; gap: .5rem; background: rgba(8,8,8,.85); backdrop-filter: blur(8px); border: 1px solid rgba(201,168,76,.35); color: var(--gold); border-radius: 100px; padding: .65rem 1.1rem; font-family: var(--f-body); font-size: .62rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: all .3s; }
        .edit-toggle svg { width: 15px; height: 15px; }
        .edit-toggle:hover { border-color: var(--gold); background: rgba(201,168,76,.12); }
        body.editing .edit-toggle { background: var(--gold); color: var(--black); border-color: var(--gold); }

        /* edit-mode banner */
        .edit-banner { display: none; position: fixed; top: 0; left: 0; right: 0; z-index: 95; background: var(--gold); color: var(--black); text-align: center; padding: .5rem 1rem; font-size: .66rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
        body.editing .edit-banner { display: block; }
        body.editing { padding-top: 32px; }
        body.editing .nav { top: 32px; }

        /* ── ANIMATIONS ── */
        .fade-up { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
        .fade-up.visible { opacity: 1; transform: translateY(0); }
        .fade-in { opacity: 0; transition: opacity .7s ease; }
        .fade-in.visible { opacity: 1; }
        @keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }

        /* ── RESPONSIVE ── */
        @media (max-width: 980px) {
            .nav-links { display: none; }
            .nav-toggle { display: block; }
            .profile-grid { grid-template-columns: 1fr; }
            .profile-photo { height: 500px; }
            .profile-photo-overlay { background: linear-gradient(to top, var(--dark) 0%, transparent 55%); }
            .profile-photo img { object-position: center 15%; }
            .profile-info { padding: 3rem 2rem; }
            .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
            .sf-grid { grid-template-columns: 1fr; gap: 2.5rem; }
            .videos-grid { grid-template-columns: 1fr; }
            .v-card.vertical .v-frame { max-width: 300px; }
            .g-item.span2c { grid-column: span 2; }
            .g-item.span2r { grid-row: span 2; }
        }
        @media (max-width: 600px) {
            section { padding: 4rem 1.3rem; }
            .nav { padding: 1rem 1.3rem; }
            .nav-right { gap: 1rem; }
            .profile-stats { flex-wrap: wrap; gap: 1.5rem; }
            .hero-content { padding: 0 1.3rem 4rem; }
            .hero-ctas { width: 100%; }
            .hero-ctas .btn { flex: 1; justify-content: center; }
            .footer-inner { flex-direction: column; text-align: center; }
            .gallery-grid { grid-auto-rows: 150px; }
        }

        /* ── HERO · escritorio: mostrar la figura completa (no recortada) ── */
        @media (min-width: 981px) {
            .hero-bg { left: 44%; }
            .hero-bg img { object-fit: contain; object-position: bottom right; }
            .hero-overlay { background: linear-gradient(to right, var(--black) 0%, rgba(8,8,8,.88) 26%, rgba(8,8,8,.35) 55%, transparent 80%), linear-gradient(to top, rgba(8,8,8,.9) 0%, transparent 35%); }
            .hero-content { max-width: 1100px; }
            .hero-name, .hero-tagline, .hero-eyebrow, .hero-ctas { max-width: 620px; }
        }