/* Homepage-only prototype. Native scroll, no library or shared chrome changes. */
.campaign-home .hero.opening-sequence{display:block;height:auto;min-height:0;padding:0;overflow:visible;background:var(--ink);--opening-ease:cubic-bezier(.22,1,.36,1);}
.opening-stage{position:relative;min-height:48rem;height:100svh;isolation:isolate;overflow:hidden;background:var(--ink);}
.campaign-home .opening-stage .hero-media{inset:12% 4% 16% 35%;z-index:0;overflow:hidden;}
.campaign-home .opening-stage .hero-video{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:none;}
.campaign-home .opening-stage .hero-shade{background:linear-gradient(90deg,rgba(14,14,15,.28),transparent 55%),linear-gradient(0deg,rgba(14,14,15,.45),transparent 60%);}
.campaign-home .opening-stage .hero-content{position:relative;width:100%;height:100%;z-index:2;}
.campaign-home .opening-stage .hero-content>.wrap{height:100%;max-width:none;padding:calc(var(--nav-h) + 2rem) var(--page-gutter) 5rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;}
.campaign-home .opening-stage .hero-tagline{font-family:var(--f-exp);font-weight:700;font-size:clamp(4rem,10.4vw,10rem);line-height:.98;letter-spacing:-.045em;text-transform:none;margin:0;align-self:stretch;}
.campaign-home .opening-stage .campaign-line{display:block;margin:0;overflow:hidden;padding-block:.035em;color:var(--head);}
.campaign-home .opening-stage .campaign-line:nth-child(2){margin-left:13%;}
.campaign-home .opening-stage .campaign-line:nth-child(3){margin-left:23%;color:var(--orange);}
.campaign-home .opening-stage .campaign-line>span{display:block;color:inherit;}
.campaign-home .opening-stage .hero-bottom{margin:0;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;}
.campaign-home .opening-stage .hero-bottom p{font-size:1rem;line-height:1.6;color:var(--head);}
.campaign-home .opening-stage .hero-bottom .button{background:transparent;color:var(--head);border:0;border-bottom:1px solid currentColor;border-radius:0;padding:.9rem 0;min-width:14rem;display:flex;justify-content:space-between;box-shadow:none;overflow:hidden;}
.campaign-home .opening-stage .button span,.opening-club-link span{transition:transform .4s var(--opening-ease);}
.campaign-home .opening-stage .button:hover span,.opening-club-link:hover span{transform:translate(.2rem,-.2rem);}
.opening-community{position:absolute;inset:0;z-index:1;opacity:0;pointer-events:none;}
.opening-community img{width:100%;height:100%;object-fit:cover;object-position:center 40%;}
.opening-community-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,15,.8),rgba(14,14,15,.1) 80%),linear-gradient(0deg,rgba(14,14,15,.65),transparent 55%);}
.opening-destination{display:none;position:absolute;z-index:3;inset:auto var(--page-gutter) 6rem;opacity:0;}
.opening-destination .folio{color:var(--head);margin-bottom:1.5rem;}
.opening-destination h2{font:700 clamp(4rem,10vw,10rem)/.98 var(--f-exp);letter-spacing:-.04em;color:var(--head);margin:0 0 1.5rem;}
.opening-destination h2 span{color:var(--orange);}
.opening-club-link{display:inline-flex;gap:3rem;align-items:center;color:var(--head);padding:.75rem 0;border-bottom:1px solid currentColor;font-size:1rem;}
.opening-rail{position:absolute;z-index:4;bottom:1.75rem;left:var(--page-gutter);right:var(--page-gutter);display:none;align-items:center;gap:1rem;color:var(--head);font:400 .7rem var(--f-ui);letter-spacing:.08em;text-transform:uppercase;}
.opening-track{flex:1;height:1px;background:rgba(255,255,255,.3);}
.opening-track i{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(var(--opening-progress,0));transform-origin:left;}
.campaign-home .hero.opening-sequence.is-scroll-opening{height:185svh;}
.is-scroll-opening .opening-stage{position:sticky;top:0;height:100svh;min-height:0;}
.is-scroll-opening .opening-destination,.is-scroll-opening .opening-rail{display:flex;}
.is-scroll-opening .opening-destination{flex-direction:column;align-items:flex-start;}
.opening-sequence.is-arriving .campaign-line>span{animation:opening-line .95s var(--opening-ease) both;}
.opening-sequence.is-arriving .campaign-line:nth-child(2)>span{animation-delay:.11s;}
.opening-sequence.is-arriving .campaign-line:nth-child(3)>span{animation-delay:.22s;}
@keyframes opening-line{from{transform:translateY(110%);}to{transform:translateY(0);}}
.opening-stage a:focus-visible{outline:2px solid var(--orange);outline-offset:.45rem;}
.opening-sequence:not(.is-scroll-opening) .opening-stage{height:auto;}
.campaign-home .opening-sequence:not(.is-scroll-opening) .hero-content>.wrap{height:auto;min-height:100svh;}
@media(min-width:701px) and (max-height:720px){
 .campaign-home .opening-stage .hero-tagline{font-size:min(10.4vw,17svh);}
 .campaign-home .opening-stage .hero-content>.wrap{padding-top:calc(var(--nav-h) + 1rem);}
}
@media(max-width:700px){
 .opening-stage{min-height:36rem;}
 .campaign-home .opening-stage .hero-media{inset:0;}
 .campaign-home .opening-stage .hero-shade{background:linear-gradient(0deg,rgba(14,14,15,.95),rgba(14,14,15,.1) 80%);}
 .campaign-home .opening-stage .hero-content>.wrap{padding-top:calc(var(--nav-h) + 2rem);padding-bottom:4.5rem;justify-content:flex-end;gap:2rem;}
 .campaign-home .opening-stage .hero-tagline{font-size:clamp(2.6rem,11.6vw,4.8rem);line-height:1.05;letter-spacing:-.04em;}
 .campaign-home .opening-stage .campaign-line:nth-child(1),.campaign-home .opening-stage .campaign-line:nth-child(2){display:inline-block;margin:0;vertical-align:bottom;}
 .campaign-home .opening-stage .campaign-line:nth-child(1){margin-right:.2em;}
 .campaign-home .opening-stage .campaign-line:nth-child(3){margin:0;}
 .campaign-home .opening-stage .hero-bottom{flex-direction:column;align-items:stretch;gap:1rem;}
 .campaign-home .opening-stage .hero-bottom .button{width:100%;min-height:3rem;}
 .opening-destination{bottom:5rem;}
 .opening-destination h2{font-size:clamp(3rem,16vw,6rem);}
 .opening-community img{object-position:62% center;}
 .opening-community-shade{background:linear-gradient(0deg,rgba(14,14,15,.92),rgba(14,14,15,.05) 90%);}
}
@media(prefers-reduced-motion:reduce){
 .opening-sequence .campaign-line>span{animation:none!important;}
 .opening-stage *, .opening-stage *::after{transition:none!important;}
}
