/* Film and explorer share a stationary stage; the rest remains normal document flow. */
:root{--paper:#f6f2e8}
html{scrollbar-gutter:stable}
.village-story-page{background:var(--paper)}
.village-story-page .site-header{position:absolute;transition:opacity .25s;pointer-events:auto}
.village-story-page.village-active>.site-header{opacity:0;pointer-events:none;visibility:hidden}
.village-story-page .button{border-radius:28px}
.village-opening{position:relative;height:240svh;isolation:isolate;--arrival:0;--copy:1;--film:1}
.opening-stage{position:sticky;top:0;height:100svh;overflow:clip;background:var(--paper)}
.opening-film,.opening-village{position:absolute;inset:0}
.opening-film{opacity:var(--film);background:#30372e}
.opening-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.opening-film::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#15231d66,#17251d77 60%,#15231d88)}
.opening-copy{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff6e6;padding:110px 35px 55px;opacity:var(--copy)}
.opening-copy .eyebrow{font-size:10px;letter-spacing:.23em;margin-bottom:32px}
.opening-copy h1{font:700 clamp(64px,9.6vw,142px)/.88 var(--serif);letter-spacing:-.055em;color:inherit}
.opening-copy h1 em{color:inherit}
.opening-copy>p:not(.eyebrow){max-width:610px;font:400 17px/1.7 var(--sans);margin:34px auto 0;color:inherit}
.opening-copy .scroll-invitation{color:inherit;margin-top:36px;font:500 12px var(--sans);letter-spacing:.04em;border-bottom:1px solid #fff6e677;padding-bottom:12px}
.opening-village{opacity:var(--arrival);pointer-events:none;background:var(--paper)}
.opening-village.is-ready.is-interactive{pointer-events:auto}
.opening-village iframe{display:block;width:100%;height:100%;border:0}
.village-arrival-anchor{position:absolute;top:110svh;left:0;scroll-margin-top:0}
.explorer-fallback{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);background:var(--paper);padding:12px 20px;border-radius:28px;color:var(--ink);font:12px var(--sans);white-space:nowrap}
.opening-village.is-ready .explorer-fallback{display:none}
.village-story-page #homes{padding-top:140px}
.village-story-page .team-member figcaption{font-size:1.35rem}
@media(max-width:600px){
 .opening-copy{padding:100px 24px 55px}
 .opening-copy h1{font-size:clamp(49px,12.7vw,75px);line-height:1}
 .opening-copy .eyebrow{font-size:8px;margin-bottom:26px}
 .opening-copy>p:not(.eyebrow){font-size:15px;line-height:1.65;margin-top:26px;max-width:340px}
 .opening-copy .scroll-invitation{margin-top:28px}
 .village-story-page #homes{padding-top:85px}
}
@media(max-height:600px) and (min-width:601px){.opening-copy{padding-block:95px 25px}.opening-copy h1{font-size:80px}.opening-copy .eyebrow{margin-bottom:18px}.opening-copy>p:not(.eyebrow){margin-top:20px;font-size:14px}.opening-copy .scroll-invitation{margin-top:20px}}
@media(prefers-reduced-motion:reduce){
 .village-opening{height:auto}
 .opening-stage{position:relative;height:auto;overflow:visible}
 .opening-film,.opening-village{position:relative;height:100svh;opacity:1}
 .opening-copy{opacity:1}
 .opening-film video{background:url('../assets/village-hero.jpg') center/cover}
 .village-arrival-anchor{top:100svh}
}
.no-script-link{position:absolute;z-index:5;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--paper);border-radius:28px}
/* The drawing gives way to a flowing homes section, with its gallery nearby. */
.village-opening{height:200svh}
.village-arrival-anchor{top:100svh}
.village-story-page #homes{padding-top:clamp(64px,8vw,112px)}
.village-story-page #homes .editorial-heading{margin-bottom:36px}
.village-story-page #homes .dome-gallery{margin-top:0}
.village-story-page .footer-top{justify-content:flex-end}
.village-story-page .legal-links{justify-content:flex-end;padding-top:8px}
@media(prefers-reduced-motion:no-preference){
 .village-opening{height:calc(var(--story-screen,100svh) * 2)}
 .opening-stage{height:var(--story-screen,100svh)}
 .village-arrival-anchor{top:var(--story-screen,100svh)}
}
@media(prefers-reduced-motion:reduce){.village-opening{height:auto}}
