:root{
  --bg:#fbf6f3;--bg2:#f4e9e7;--paper:#fffaf8;--ink:#3d2930;--muted:#78656c;
  --rose:#d6788b;--rose2:#b95d75;--plum:#70425f;--lilac:#9c6b96;--line:rgba(73,44,56,.13);
  --shadow:0 26px 80px rgba(95,52,70,.13);--serif:"Playfair Display",Georgia,serif;--sans:"Manrope",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:500;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.grain{position:fixed;inset:0;pointer-events:none;z-index:150;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;width:35rem;height:35rem;border-radius:50%;background:radial-gradient(circle,rgba(227,151,169,.15),transparent 68%);transform:translate(-50%,-50%);pointer-events:none;z-index:0}
a{color:inherit}.site-header{height:84px;position:fixed;inset:0 0 auto 0;z-index:120;padding:0 clamp(22px,4vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;transition:.4s}.site-header.scrolled,.inner-page .site-header{background:rgba(251,246,243,.82);backdrop-filter:blur(18px);box-shadow:0 1px rgba(70,42,53,.08)}.brand{display:inline-flex;align-items:center;gap:12px;width:max-content;text-decoration:none}.brand-mark{width:44px;height:44px;border:1px solid rgba(185,93,117,.32);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:22px;font-style:italic;color:var(--rose2);position:relative}.brand-mark:before{content:"✦";font-family:serif;position:absolute;top:-8px;font-size:9px;color:var(--rose)}.brand-copy{display:grid;line-height:.95}.brand-copy small{font-size:8px;letter-spacing:.3em;color:var(--rose2);margin-bottom:5px}.brand-copy strong{font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:-.02em}.nav{display:flex;gap:30px;align-items:center}.nav a{text-decoration:none;font-size:12px;position:relative;color:#59464e}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--rose2);transition:.3s}.nav a:hover:after,.nav a.active:after{right:0}.header-cta{justify-self:end;text-decoration:none;border:1px solid rgba(185,93,117,.35);border-radius:999px;padding:11px 17px;font-size:12px;display:inline-flex;gap:11px;align-items:center;transition:.3s}.header-cta:hover{background:var(--plum);color:#fff;border-color:var(--plum);transform:translateY(-2px)}.menu-btn{display:none;border:0;background:none;width:42px;height:42px;position:relative}.menu-btn i{position:absolute;width:19px;height:1px;left:11px;background:var(--ink);top:18px;transition:.3s}.menu-btn i:last-child{top:24px}

/* HERO */
.hero-scroll{height:100svh;min-height:650px;position:relative}.hero-sticky{height:100svh;min-height:650px;position:relative;overflow:hidden;background:#f8eeeb}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015);filter:saturate(.92) contrast(.98) brightness(1.015)}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,246,243,.985) 0%,rgba(251,246,243,.90) 27%,rgba(251,246,243,.34) 48%,rgba(251,246,243,.05) 67%,rgba(251,246,243,0) 84%)}.hero-bottom{position:absolute;inset:auto 0 0 0;height:28vh;background:linear-gradient(to top,rgba(58,34,44,.12),transparent)}.hero-silk{position:absolute;left:-8vw;bottom:-20vh;width:48vw;height:48vw;border:1px solid rgba(194,101,124,.25);border-radius:46% 54% 61% 39%/45% 37% 63% 55%;transform:rotate(-18deg);filter:blur(.1px);opacity:.55}.hero-silk:before,.hero-silk:after{content:"";position:absolute;inset:7%;border:1px solid rgba(194,101,124,.16);border-radius:inherit}.hero-silk:after{inset:16%;opacity:.8}.hero-copy{position:absolute;z-index:5;left:clamp(26px,5.2vw,100px);top:50%;width:min(620px,43vw);transform:translateY(-45%);opacity:0;filter:blur(8px);pointer-events:none;will-change:opacity,transform,filter}.hero-copy.is-active{pointer-events:auto}.eyebrow,.kicker{font-size:10px;font-weight:700;letter-spacing:.3em;color:var(--rose2)}.eyebrow .dot{opacity:.45;margin:0 7px}.hero-copy h1,.hero-copy h2{font-family:var(--serif);font-weight:600;font-size:clamp(58px,6.2vw,99px);line-height:.91;letter-spacing:-.045em;margin:17px 0 24px}.hero-copy h2{font-size:clamp(54px,5.7vw,90px)}em{font-style:italic;font-weight:500;color:var(--rose2)}.hero-sub{font-size:14px;font-weight:500;line-height:1.75;color:#5f4d55;max-width:445px}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:999px;padding:14px 22px;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.01em;transition:.35s;border:0}.btn span{transition:.3s}.btn:hover span{transform:translate(3px,-3px)}.btn-primary{background:linear-gradient(135deg,var(--rose),var(--rose2));color:#fff;box-shadow:0 16px 40px rgba(185,93,117,.25)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 21px 48px rgba(185,93,117,.32)}.btn-outline{border:1px solid rgba(185,93,117,.34);color:var(--plum);background:transparent}.btn-outline:hover{background:var(--plum);color:#fff}.text-link{font-size:12px;text-decoration:none;display:inline-flex;gap:9px;align-items:center;color:var(--plum)}.text-link span{transition:.3s}.text-link:hover span{transform:translateY(4px)}.hero-meta{position:absolute;z-index:6;left:clamp(26px,5.2vw,100px);right:clamp(26px,5vw,94px);bottom:30px;display:flex;align-items:flex-end;justify-content:space-between}.hero-location{display:flex;align-items:center;gap:10px}.hero-location img{width:32px;height:46px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(185,93,117,.16))}.hero-location span{font-size:10px;line-height:1.45;color:#5e4c54}.hero-location b{display:block;font-size:9px;letter-spacing:.18em;color:var(--rose2);margin-bottom:3px}.scroll-meter{display:flex;align-items:center;gap:11px;width:240px}.scroll-meter small{font-size:7px;letter-spacing:.22em;white-space:nowrap}.track{height:1px;flex:1;background:rgba(61,41,48,.17);overflow:hidden}.track i{display:block;width:0;height:100%;background:var(--rose2)}.meter-num{font-family:var(--serif);font-size:14px;color:var(--rose2)}

/* SHARED */
.section{position:relative;padding:clamp(90px,10vw,160px) clamp(24px,7vw,118px)}.section-head{display:grid;grid-template-columns:1.15fr .65fr;gap:10vw;align-items:end;margin-bottom:68px}.section-head h2,.display-title{font-family:var(--serif);font-weight:600;font-size:clamp(49px,5.6vw,88px);line-height:.98;letter-spacing:-.042em;margin:0}.section-head p{font-size:14px;font-weight:500;line-height:1.8;color:var(--muted);margin:0}.kicker{margin-bottom:20px}.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.05s cubic-bezier(.16,1,.3,1),transform 1.05s cubic-bezier(.16,1,.3,1)}.reveal.in-view{opacity:1;transform:none}.soft-rule{height:1px;background:var(--line)}
.story{background:var(--paper)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.story-image{height:min(72vw,720px);border-radius:34px;overflow:hidden;position:relative;background:linear-gradient(180deg,#f8ece8,#ead6d9);box-shadow:var(--shadow)}.story-image img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}.story-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(74,42,56,.08),transparent 40%)}.story-copy h2{font-family:var(--serif);font-size:clamp(48px,5.4vw,82px);line-height:.98;letter-spacing:-.035em;font-weight:600;margin:0 0 28px}.story-copy p{font-size:15px;line-height:1.85;color:var(--muted);max-width:610px}.mini-stat{display:flex;gap:36px;margin:38px 0 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.mini-stat span{display:grid;gap:3px}.mini-stat b{font-family:var(--serif);font-weight:600;font-size:30px;color:var(--rose2)}.mini-stat small{font-size:9px;letter-spacing:.12em;color:var(--muted)}
.modalidades{background:var(--bg2)}.class-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.class-card{min-height:330px;padding:26px;border-radius:26px;border:1px solid rgba(81,49,61,.11);background:rgba(255,250,248,.62);position:relative;overflow:hidden;transition:.4s}.class-card:hover{transform:translateY(-8px);background:#fff;box-shadow:var(--shadow)}.class-card .no{font-family:var(--serif);font-size:13px;color:var(--rose2)}.class-card h3{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1;margin:120px 0 14px}.class-card p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.class-card:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(214,120,139,.16);border-radius:50%;right:-55px;bottom:-60px;box-shadow:0 0 0 24px rgba(214,120,139,.05),0 0 0 52px rgba(214,120,139,.03)}
.method{background:#fffaf8}.method-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;align-items:center}.method-copy h2{font-family:var(--serif);font-size:clamp(47px,5vw,79px);font-weight:600;line-height:.98;letter-spacing:-.04em;margin:0 0 26px}.method-copy>p{font-size:15px;line-height:1.8;color:var(--muted)}.method-list{display:grid;border-top:1px solid var(--line);margin-top:36px}.method-list div{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.method-list b{font-family:var(--serif);font-weight:500;color:var(--rose2)}.method-list strong{font-size:13px;margin-bottom:4px;display:block}.method-list p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.photo-stack{height:650px;position:relative}.photo{position:absolute;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#f7ece8,#ead8d6);box-shadow:0 30px 90px rgba(92,51,68,.15);border:1px solid rgba(255,255,255,.75)}.photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}.p1{width:43%;height:70%;left:1%;top:16%;transform:rotate(-4deg)}.p2{width:40%;height:65%;right:2%;top:3%;transform:rotate(5deg)}.p3{width:36%;height:56%;right:21%;bottom:-1%;transform:rotate(1deg)}
.results{background:#4a303d;color:#fff6f3;overflow:hidden}.results .kicker{color:#eeb4c1}.results .section-head p{color:#d9c8cf}.results .section-head h2 em{color:#f0b2c0}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.timeline-card{min-height:260px;border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:28px;background:rgba(255,255,255,.045);backdrop-filter:blur(6px);position:relative}.timeline-card .year{font-family:var(--serif);font-size:44px;color:#efb3c0}.timeline-card h3{font-family:var(--serif);font-size:30px;font-weight:600;margin:45px 0 12px}.timeline-card p{font-size:12px;line-height:1.7;color:#dbcbd1}.timeline-card:before{content:"✦";position:absolute;right:24px;top:24px;color:#d98da0}
.gallery{background:var(--bg)}.gallery-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr;grid-template-rows:330px 330px;gap:14px}.g-card{overflow:hidden;border-radius:28px;position:relative;background:#ead9d8}.g-card img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;background:linear-gradient(180deg,#f8eeeb,#ecd9d9);transition:transform .7s cubic-bezier(.2,.7,.2,1)}.g-card:hover img{transform:scale(1.035)}.g1{grid-row:span 2}.g4{grid-column:span 2}.g4 img{object-fit:cover;object-position:center 30%;filter:saturate(.88)}
.location{background:var(--paper)}.location-grid{display:grid;grid-template-columns:1fr .9fr;gap:8vw;align-items:center}.map-box{height:590px;border-radius:34px;overflow:hidden;position:relative;background:#eadbda;box-shadow:var(--shadow)}.map-box iframe{border:0;width:100%;height:100%;filter:saturate(.7) sepia(.07)}.map-pin-float{position:absolute;left:50%;top:50%;width:92px;transform:translate(-50%,-64%);filter:drop-shadow(0 20px 22px rgba(96,53,68,.2));pointer-events:none;animation:pin 3.8s ease-in-out infinite}.location-copy h2{font-family:var(--serif);font-size:clamp(49px,5vw,78px);font-weight:600;line-height:.98;letter-spacing:-.04em;margin:0 0 25px}.location-copy p{font-size:14px;line-height:1.8;color:var(--muted)}.address{font-family:var(--serif);font-size:26px!important;color:var(--ink)!important;line-height:1.35!important;border-left:1px solid var(--rose);padding-left:20px;margin:26px 0!important}.contact-chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.contact-chips a{border:1px solid var(--line);border-radius:999px;padding:10px 13px;font-size:11px;text-decoration:none;background:#fff}.contact-actions{display:flex;gap:16px;align-items:center;margin-top:30px}
.final-cta{min-height:78vh;background:linear-gradient(135deg,#925068,#6c415e);color:#fff8f5;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:100px 24px;position:relative;overflow:hidden}.final-cta:before,.final-cta:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.11);border-radius:50%;width:680px;height:680px}.final-cta:after{width:960px;height:960px}.final-cta .kicker{color:#efbbc6}.final-cta h2{font-family:var(--serif);font-size:clamp(55px,6vw,94px);line-height:.95;letter-spacing:-.038em;font-weight:600;margin:0;max-width:1000px;position:relative;z-index:2}.final-cta h2 em{color:#f6c8d2}.btn-light{background:#fff9f6;color:var(--plum);margin-top:38px;position:relative;z-index:2}
footer{background:#fffaf8;border-top:1px solid var(--line);padding:42px clamp(22px,7vw,118px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.footer-copy{text-align:center;font-size:10px;color:var(--muted)}.footer-links{justify-self:end;display:flex;gap:20px}.footer-links a{font-size:10px;text-decoration:none}.mobile-menu{display:none}

/* INNER PAGES */
.page-hero{padding:170px clamp(24px,7vw,118px) 95px;min-height:72vh;display:grid;grid-template-columns:1.1fr .7fr;gap:8vw;align-items:end;position:relative;overflow:hidden;background:linear-gradient(135deg,#fffaf7,#f2e5e4)}.page-hero:after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(214,120,139,.16);border-radius:50%;right:-140px;top:40px;box-shadow:0 0 0 70px rgba(214,120,139,.035),0 0 0 140px rgba(214,120,139,.025)}.page-hero h1{font-family:var(--serif);font-size:clamp(64px,7vw,112px);line-height:.9;letter-spacing:-.045em;font-weight:600;margin:15px 0 0;position:relative;z-index:2}.page-hero p{font-size:15px;line-height:1.8;color:var(--muted);max-width:520px;position:relative;z-index:2}.inner-split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.prose h2{font-family:var(--serif);font-size:clamp(45px,5vw,78px);line-height:.98;font-weight:600;letter-spacing:-.04em;margin:0 0 25px}.prose p{font-size:15px;line-height:1.85;color:var(--muted)}.portrait-panel{height:680px;border-radius:32px;overflow:hidden;background:linear-gradient(180deg,#f7ece8,#ead6d9);box-shadow:var(--shadow)}.portrait-panel img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.team-card{border-radius:26px;overflow:hidden;background:#f0dfdf;min-height:520px;position:relative}.team-card img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.team-card span{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,250,248,.82);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:16px;padding:12px 14px;font-size:11px}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.detail-card{padding:28px;border:1px solid var(--line);border-radius:24px;background:#fffaf8}.detail-card h3{font-family:var(--serif);font-size:34px;font-weight:600;margin:0 0 12px}.detail-card p{font-size:12px;line-height:1.7;color:var(--muted)}.number-band{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:24px;overflow:hidden}.number-band div{padding:28px;border-right:1px solid var(--line)}.number-band div:last-child{border-right:0}.number-band b{font-family:var(--serif);font-size:36px;font-weight:600;color:var(--rose2);display:block}.number-band span{font-size:10px;color:var(--muted)}
@keyframes pin{0%,100%{transform:translate(-50%,-64%)}50%{transform:translate(-50%,-70%) rotate(1.5deg)}}
@media(max-width:1080px){.nav{gap:18px}.class-grid{grid-template-columns:repeat(3,1fr)}.class-card:last-child{grid-column:span 2}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:330px 330px 330px}.g1{grid-row:span 2}.g4{grid-column:span 1}.section-head{grid-template-columns:1fr;gap:24px}.method-grid{grid-template-columns:1fr}.photo-stack{margin-top:20px}.story-grid,.location-grid,.inner-split{grid-template-columns:1fr}.portrait-panel{height:580px}.page-hero{grid-template-columns:1fr;gap:28px}.team-grid{grid-template-columns:1fr 1fr}.number-band{grid-template-columns:1fr 1fr}.number-band div:nth-child(2){border-right:0}.number-band div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:900px){.site-header{height:72px;grid-template-columns:1fr auto;padding:0 20px}.nav,.header-cta{display:none}.menu-btn{display:block;justify-self:end}.hero-scroll{height:100svh;min-height:600px}.hero-sticky{min-height:600px;height:100svh}.hero-video{object-position:67% center;transform:scale(1.025)}.hero-wash{background:linear-gradient(to top,rgba(251,246,243,.98) 0%,rgba(251,246,243,.87) 31%,rgba(251,246,243,.15) 58%,rgba(251,246,243,.02) 78%)}.hero-copy{left:22px;right:22px;width:auto;top:auto;bottom:112px;transform:none!important}.hero-copy h1,.hero-copy h2{font-size:clamp(46px,12vw,68px);max-width:570px}.hero-sub{font-size:12px;max-width:430px}.hero-location{display:none}.hero-meta{left:22px;right:22px;bottom:20px}.scroll-meter{margin-left:auto;width:190px}.section{padding:90px 24px}.story-grid{gap:42px}.story-image{height:650px}.timeline{grid-template-columns:1fr}.location-grid{gap:45px}.map-box{height:470px}footer{grid-template-columns:1fr;justify-items:center;text-align:center}.footer-links{justify-self:auto}.mobile-menu{position:fixed;z-index:119;left:12px;right:12px;top:72px;padding:26px;background:rgba(255,250,248,.98);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:20px;display:grid;gap:18px;box-shadow:var(--shadow);opacity:0;transform:translateY(-15px);pointer-events:none;transition:.3s}.mobile-menu.open{opacity:1;transform:none;pointer-events:auto}.mobile-menu a:not(.btn){font-family:var(--serif);font-size:28px;text-decoration:none}.menu-btn.open i:first-child{transform:rotate(45deg);top:21px}.menu-btn.open i:last-child{transform:rotate(-45deg);top:21px}.page-hero{padding:140px 24px 75px;min-height:62vh}.team-grid{grid-template-columns:1fr}.team-card{min-height:580px}}
@media(max-width:620px){.brand-copy strong{font-size:18px}.brand-mark{width:38px;height:38px}.hero-scroll{height:100svh;min-height:600px}.hero-copy{bottom:106px}.hero-copy h1,.hero-copy h2{font-size:43px}.eyebrow{font-size:7px;letter-spacing:.22em}.hero-sub{max-width:325px}.hero-actions .text-link{display:none}.btn{padding:13px 17px;font-size:11px}.class-grid{grid-template-columns:1fr}.class-card:last-child{grid-column:auto}.class-card{min-height:260px}.class-card h3{margin-top:80px}.story-image{height:520px}.mini-stat{gap:18px;flex-wrap:wrap}.photo-stack{height:490px}.p1{width:53%;height:66%}.p2{width:47%;height:58%}.p3{width:44%;height:52%;right:14%}.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none}.g-card,.g1,.g4{height:440px;grid-row:auto;grid-column:auto}.location-copy h2,.story-copy h2,.method-copy h2{font-size:44px}.map-box{height:390px}.contact-actions{align-items:flex-start;flex-direction:column}.page-hero h1{font-size:58px}.portrait-panel{height:520px}.detail-list{grid-template-columns:1fr}.number-band{grid-template-columns:1fr}.number-band div{border-right:0!important;border-bottom:1px solid var(--line)}.number-band div:last-child{border-bottom:0}.team-card{min-height:500px}.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.map-pin-float{animation:none}.cursor-glow{display:none}}


/* PREMIUM MOTION / SMOOTH SCROLL */
html{scroll-padding-top:88px}
.site-header{will-change:transform,background-color,backdrop-filter}
.hero-video{will-change:contents,transform}
.hero-copy{transition:none}
.reveal:nth-child(2){transition-delay:.04s}.reveal:nth-child(3){transition-delay:.08s}
@media(prefers-reduced-motion:reduce){.reveal:nth-child(2),.reveal:nth-child(3){transition-delay:0s}}


/* V4 — one-gesture hero flow */
.hero-scroll{overscroll-behavior:contain}
.hero-video{transition:filter .7s ease,transform 1.2s cubic-bezier(.22,1,.36,1)}
.hero-scroll.is-playing .hero-video{transform:scale(1.025);filter:saturate(.95) contrast(.99) brightness(1.02)}
.hero-scroll.is-complete .hero-video{transform:scale(1.02)}
.scroll-meter small{transition:opacity .25s ease;color:#6d505c;font-weight:700}
.hero-scroll.is-playing .track i{box-shadow:0 0 12px rgba(185,93,117,.22)}
@media(max-width:900px){.hero-scroll{height:100svh;min-height:600px}.hero-sticky{height:100svh}.scroll-meter{width:210px}}

/* =========================================================
   V5 — MUSIC-BOX HERO / FIXED CAMERA CHOREOGRAPHY
   ========================================================= */
html{scrollbar-gutter:stable;scroll-padding-top:84px}
html.hero-motion-lock{overflow:hidden!important;overscroll-behavior:none}
body{background:#fbf5f1}

.site-header{
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .45s ease,backdrop-filter .45s ease,border-color .45s ease,box-shadow .45s ease,height .45s ease;
}
.site-header:not(.scrolled):not(.inner-page .site-header){color:#553d46}
.site-header.scrolled,.inner-page .site-header{
  background:rgba(255,250,247,.86);
  border-bottom-color:rgba(97,59,72,.08);
  backdrop-filter:blur(18px) saturate(1.05);
  -webkit-backdrop-filter:blur(18px) saturate(1.05);
  box-shadow:0 12px 38px rgba(88,50,62,.055);
}
.brand-mark{background:rgba(255,255,255,.28);backdrop-filter:blur(8px);font-weight:600}
.nav a,.header-cta{font-weight:600}
.header-cta{background:rgba(255,252,250,.28);backdrop-filter:blur(10px)}
.site-header:not(.scrolled) .header-cta:hover{background:#70425f;color:#fff}

.hero-scroll{
  height:100svh!important;
  min-height:640px!important;
  position:relative;
  overscroll-behavior:contain;
  background:#f7ded8;
}
.hero-sticky{
  height:100svh!important;
  min-height:640px!important;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#f3d8d2;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:none!important;
  filter:saturate(.92) contrast(.985) brightness(1.015)!important;
  transition:filter .8s ease!important;
  will-change:auto;
  z-index:0;
}
.hero-scroll.is-playing .hero-video,
.hero-scroll.is-complete .hero-video{
  transform:none!important;
  filter:saturate(.95) contrast(.99) brightness(1.018)!important;
}
.hero-film{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,250,247,.96) 0%,rgba(255,249,246,.86) 22%,rgba(255,247,244,.46) 39%,rgba(255,247,244,.12) 53%,rgba(255,247,244,0) 70%),
    linear-gradient(180deg,rgba(255,249,246,.10) 0%,transparent 58%,rgba(91,48,61,.08) 100%);
}
.hero-film:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 70% 38%,rgba(255,255,255,.12),transparent 30%);
  opacity:.8;
}
.hero-curtain{
  position:absolute;
  z-index:2;
  pointer-events:none;
  left:-12vw;
  right:-12vw;
  bottom:-17vh;
  height:34vh;
  border-radius:50% 50% 0 0/90% 90% 0 0;
  background:radial-gradient(ellipse at center,rgba(255,248,245,.18),rgba(255,248,245,0) 72%);
  border-top:1px solid rgba(255,255,255,.28);
  opacity:.68;
}
.hero-orbit{position:absolute;z-index:2;left:clamp(28px,5.2vw,100px);top:50%;width:clamp(360px,39vw,670px);aspect-ratio:1;transform:translate(-34%,-52%);pointer-events:none;opacity:.62}
.hero-orbit i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(181,91,115,.11)}
.hero-orbit i:nth-child(2){inset:9%;border-color:rgba(181,91,115,.08)}
.hero-orbit i:nth-child(3){inset:18%;border-color:rgba(181,91,115,.055)}
.hero-scroll.is-playing .hero-orbit{animation:orbitBreathe 7.5s cubic-bezier(.22,.7,.25,1) both}
@keyframes orbitBreathe{0%{opacity:.55;transform:translate(-34%,-52%) scale(.985)}50%{opacity:.76;transform:translate(-34%,-52%) scale(1.015)}100%{opacity:.55;transform:translate(-34%,-52%) scale(1)}}

.hero-side-note{position:absolute;z-index:5;right:24px;top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:center;color:rgba(73,43,53,.50);font-size:7px;font-weight:700;letter-spacing:.36em;white-space:nowrap}
.hero-copy{
  left:clamp(28px,5.3vw,102px)!important;
  top:50%!important;
  bottom:auto!important;
  width:min(610px,43vw)!important;
  max-width:610px;
  z-index:6;
  color:#452f37;
}
.hero-copy h1,.hero-copy h2{
  font-family:var(--serif);
  font-weight:700;
  font-size:clamp(61px,6.15vw,98px);
  line-height:.91;
  letter-spacing:-.048em;
  margin:16px 0 24px;
  text-wrap:balance;
}
.hero-copy h2{font-size:clamp(57px,5.8vw,91px)}
.hero-copy em{font-weight:600;color:#b35872}
.hero-copy .eyebrow{font-size:9px;font-weight:800;letter-spacing:.31em;color:#ad5570}
.hero-sub{font-size:13px;font-weight:600;line-height:1.78;color:#705862;max-width:470px}
.hero-actions{margin-top:30px;gap:24px}
.hero-actions .btn-primary,.hero-copy>.btn-primary{background:linear-gradient(135deg,#c66d84,#a94f69);box-shadow:0 18px 48px rgba(164,75,102,.22)}
.hero-copy>.btn-primary{margin-top:16px}
.hero-actions .text-link{font-weight:700;color:#64424f}
.hero-meta{z-index:7;left:clamp(28px,5.3vw,102px);right:clamp(28px,4.4vw,84px);bottom:28px;align-items:center}
.hero-location{gap:12px}
.location-dot{width:9px;height:9px;border-radius:50%;background:#b85d76;box-shadow:0 0 0 7px rgba(184,93,118,.10),0 0 20px rgba(184,93,118,.25);flex:0 0 auto}
.hero-location span:last-child{font-size:9px;line-height:1.55;font-weight:600;color:#6d535d}
.hero-location b{font-weight:800}
.scroll-meter{width:min(330px,27vw);gap:12px}
.scroll-meter small{font-size:7px!important;letter-spacing:.20em!important;font-weight:800!important;color:#6a4e59!important;transition:opacity .25s ease,color .25s ease}
.track{height:2px;border-radius:999px;background:rgba(83,50,62,.12)}
.track i{border-radius:999px;background:linear-gradient(90deg,#c86d86,#a54d67);transition:width .12s linear}
.meter-num{font-size:14px;font-weight:600}
.hero-scroll.is-complete .scroll-meter small{color:#9c465f!important}
.hero-scroll.is-complete .track i{box-shadow:0 0 18px rgba(184,93,118,.28)}

/* A subtle visual bridge into section one. */
.story{overflow:hidden}
.story:before{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(to bottom,rgba(245,220,214,.24),transparent);pointer-events:none}
.story-image{border-radius:40px;background:linear-gradient(180deg,#f8e8e4,#ead2d7)}
.class-card,.detail-card,.timeline-card{backdrop-filter:blur(5px)}

@media(max-width:1100px){
  .hero-copy{width:min(560px,47vw)!important}
  .hero-copy h1,.hero-copy h2{font-size:clamp(54px,6.4vw,80px)}
  .hero-sub{max-width:420px}
}
@media(max-width:900px){
  html{scrollbar-gutter:auto}
  .hero-scroll,.hero-sticky{height:100svh!important;min-height:620px!important}
  .hero-video{object-position:67% center!important;transform:none!important}
  .hero-film{background:linear-gradient(to top,rgba(255,250,247,.985) 0%,rgba(255,249,246,.92) 31%,rgba(255,247,244,.43) 50%,rgba(255,247,244,.05) 72%,rgba(255,247,244,0) 100%)}
  .hero-orbit{left:12%;top:78%;width:88vw;transform:translate(-30%,-42%);opacity:.35}
  .hero-scroll.is-playing .hero-orbit{animation:none}
  .hero-side-note{display:none}
  .hero-copy{left:22px!important;right:22px!important;top:auto!important;bottom:116px!important;width:auto!important;max-width:620px!important;transform:none!important}
  .hero-copy h1,.hero-copy h2{font-size:clamp(45px,11.8vw,68px);line-height:.92;margin:12px 0 16px;max-width:590px}
  .hero-copy .eyebrow{font-size:7px;letter-spacing:.24em}
  .hero-sub{font-size:11.5px;line-height:1.65;max-width:430px}
  .hero-actions{margin-top:20px}
  .hero-meta{left:22px;right:22px;bottom:20px}
  .hero-location{display:none}
  .scroll-meter{width:min(260px,70vw);margin-left:auto}
  .site-header:not(.scrolled){background:linear-gradient(to bottom,rgba(255,249,246,.65),rgba(255,249,246,0));}
}
@media(max-width:620px){
  .hero-video{object-position:68% center!important}
  .hero-copy{bottom:102px!important}
  .hero-copy h1,.hero-copy h2{font-size:42px;letter-spacing:-.04em}
  .hero-sub{max-width:330px}
  .hero-actions{gap:12px}
  .hero-actions .text-link{display:none}
  .hero-copy>.btn-primary{margin-top:10px}
  .scroll-meter{width:205px}
  .scroll-meter small{max-width:110px;white-space:normal;line-height:1.45}
}
@media(prefers-reduced-motion:reduce){
  html.hero-motion-lock{overflow:auto!important}
  .hero-orbit{animation:none!important}
  .hero-copy{filter:none!important}
}
