
/* Lafa Village film direction: stone, timber and warm light. */
:root{--accent:#ceb996;--surface:#121110}
.hero-film{background:#0a0a0a}
.hero-film .hero-media{inset:110px var(--pad) 48px auto;width:auto;height:calc(100% - 158px);aspect-ratio:9/16;background:#171512;overflow:hidden}
.hero-film .hero-media:after{background:linear-gradient(180deg,rgba(0,0,0,.06),transparent 60%,rgba(0,0,0,.3));pointer-events:none}
.hero-film .hero-poster,.hero-film .hero-video{object-fit:contain;object-position:center}
.hero-film .hero-content{inset:auto auto 76px var(--pad);width:54%;max-width:900px}
.hero-film h1{font-size:clamp(74px,8.8vw,170px);line-height:1.08;letter-spacing:-.05em;max-width:none}
.hero-film h1 .serif{font-size:1em;margin-left:0;letter-spacing:-.045em}
.hero-film .hero-topline{margin-bottom:38px}
.hero-film .hero-topline>span:last-child{display:none}
.hero-film .hero-bottom{display:grid;gap:30px;margin-top:42px}
.hero-film .hero-bottom p{max-width:340px;font-size:15px;color:var(--muted)}
.hero-film .hero-bottom .cta-link{justify-self:start}
.film-caption{position:absolute;inset:auto 16px 17px;z-index:4;font-size:10px;letter-spacing:.13em;pointer-events:none}
.film-toggle{position:absolute;top:16px;right:16px;z-index:5;border:1px solid rgba(244,241,234,.4);padding:8px 14px;background:rgba(10,10,10,.35);backdrop-filter:blur(8px);font-size:12px;min-height:44px}
.film-toggle:hover{background:rgba(10,10,10,.65)}
.service-number,.eyebrow{color:var(--accent)}
.language button.active{border-color:var(--accent)}
.cta-link:hover .circle{background:var(--accent);border-color:var(--accent)}
.cinema{height:auto;min-height:0;padding:90px var(--pad);display:grid;grid-template-columns:1.1fr .8fr;gap:10vw;align-items:center}
.cinema:after{display:none}
.cinema>.parallax-image{position:relative;top:auto;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;grid-column:2;grid-row:1}
.cinema-caption{position:relative;inset:auto;grid-column:1;grid-row:1;display:block}
.cinema-caption h2{font-size:clamp(38px,4.8vw,82px)}
.cinema-caption p{max-width:310px;margin-top:34px;color:var(--muted);font-size:16px}
.stay-card .photo-frame,.stay-card:nth-child(2) .photo-frame{aspect-ratio:9/16}
.collage figure:nth-child(1),.collage figure:nth-child(3){aspect-ratio:9/16}
.collage figure:nth-child(2){aspect-ratio:9/16}
.gallery-section{padding-block:80px}
.gallery-section .section-head{margin-bottom:30px}
.gallery-section .section-title{font-size:clamp(45px,5vw,80px)}
.gallery-card{width:calc(50svh * 9 / 16);max-width:none}
.gallery-card:nth-child(even){width:calc(45svh * 9 / 16)}
.gallery-card .photo-frame,.gallery-card:nth-child(even) .photo-frame{height:auto;min-height:0;aspect-ratio:9/16}
.gallery-card:nth-child(even) .photo-frame{margin-top:5svh}
.story-preview{aspect-ratio:9/16}
.contact-photo{width:min(500px,calc(100% - 2 * var(--pad)));padding-inline:0;aspect-ratio:9/16;margin-inline:auto}
@media(max-width:1100px) and (min-width:801px){.hero-film .hero-content{width:50%}.hero-film h1{font-size:8.2vw}.hero-film .hero-bottom p{max-width:250px}}
@media(max-width:800px){
 .hero-film{min-height:700px;height:100svh}
 .hero-film .hero-media{inset:0;width:100%;height:100%;aspect-ratio:auto;background:#0a0a0a}
 .hero-film .hero-media:after{background:linear-gradient(180deg,rgba(0,0,0,.38),transparent 30%,rgba(0,0,0,.28) 55%,rgba(0,0,0,.88))}
 .hero-film .hero-content{inset:auto var(--pad) 38px;width:auto;max-width:none}
 .hero-film h1{font-size:clamp(62px,11.5vw,98px);line-height:1.03;max-width:600px}
 .hero-film .hero-topline{margin-bottom:25px}
 .hero-film .hero-bottom{display:flex;gap:22px;align-items:center;justify-content:space-between;margin-top:28px}
 .hero-film .hero-bottom p{font-size:14px;color:var(--text);max-width:290px}
 .film-toggle{top:110px;right:var(--pad)}
 .film-caption{display:none}
 .cinema{padding-block:75px;gap:6vw}
 .cinema-caption p{display:block}
 .gallery-card,.gallery-card:nth-child(even){width:100%}
 .gallery-card .photo-frame,.gallery-card:nth-child(even) .photo-frame{margin:0;aspect-ratio:9/16}
 .gallery-track{width:100%}
 .contact-photo{margin-bottom:65px}
}
@media(max-width:540px){
 .hero-film{min-height:690px}
 .hero-film h1{font-size:clamp(48px,13vw,72px);line-height:1.1}
 .hero-film .hero-content{bottom:30px}
 .hero-film .hero-topline{margin-bottom:20px}
 .hero-film .hero-bottom{display:grid;gap:22px;margin-top:24px}
 .hero-film .hero-bottom p{max-width:260px}
 .cinema{grid-template-columns:1fr;padding-block:70px;gap:35px}
 .cinema-caption{grid-column:1;grid-row:1}
 .cinema>.parallax-image{grid-column:1;grid-row:2;max-width:85%;margin-left:auto}
 .cinema-caption h2{font-size:42px}
 .cinema-caption p{margin-top:20px}
 .collage figure:nth-child(2){aspect-ratio:9/16}
 .story-preview{aspect-ratio:9/16;max-width:82%;margin-left:auto}
}
@media(prefers-reduced-motion:reduce) and (min-width:801px){.gallery-track{display:grid;grid-template-columns:repeat(3,1fr)}.gallery-card,.gallery-card:nth-child(even){width:auto}.gallery-card .photo-frame,.gallery-card:nth-child(even) .photo-frame{aspect-ratio:9/16;margin:0}}
