/* Full-frame entry film; shared site typography and colours remain in site.css. */
@font-face{font-family:'DM Serif Display';src:url('fonts/DMSerifDisplay-Regular-latin.f273cf2c9c.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
.site-header{position:fixed;inset:0 0 auto;background:transparent;border-bottom-color:transparent;transition:background .2s,border-color .2s}
.site-header.is-solid,.site-header.menu-open{background:var(--paper);border-bottom-color:#2c323e}
.nav-inquiry{justify-content:center;gap:0;padding:.55rem 1.5rem;border:1px solid var(--ink);border-radius:4px;line-height:1.4}
.nav-inquiry:hover{background:#f2eee414}
.hero{position:relative;padding:0;scroll-margin-top:0}
.hero-stage{position:relative;isolation:isolate;height:100svh;min-height:640px;background:var(--paper);overflow:hidden}
.hero-film,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-film{object-fit:cover;object-position:62% center;z-index:-3}
.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(15,18,24,.85),rgba(15,18,24,.74) 28%,rgba(15,18,24,.60) 50%,rgba(15,18,24,.20) 68%,rgba(15,18,24,.08)),linear-gradient(0deg,rgba(15,18,24,.60),transparent 28%,transparent 78%,rgba(15,18,24,.25));pointer-events:none}
.hero-content{height:100%;display:flex;align-items:center;padding-top:var(--header-height);padding-bottom:5.5rem}
.hero-message{width:100%;max-width:45rem}
.hero .eyebrow{color:var(--ink);font-size:var(--type-note);font-weight:400;margin-bottom:1.5rem}
.hero h1{display:table;width:max-content;max-width:100%;margin:0;padding:.04em .04em .16em 0;font-family:'DM Serif Display',Georgia,serif;font-size:clamp(3.25rem,4.97vw,4.6rem);font-weight:400;line-height:1.08;letter-spacing:-.0068em;text-wrap:initial;opacity:.94;color:var(--ink);overflow:visible}
.hero h1 span{white-space:nowrap}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
 .hero h1{color:transparent;background:linear-gradient(110deg,#F2EEE4 0%,#F2EEE4 35%,#F2E3CD 70%,#E3C08F 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
}
.hero .lead-sentence{display:block}
.hero .lead{max-width:31rem;color:var(--ink);font-size:var(--type-body);line-height:1.7;margin-top:1.75rem}
.hero .button-row{justify-content:flex-start;gap:1.75rem;margin-top:1.5rem}
.hero .button-primary{border-radius:4px;min-width:10.5rem;justify-content:center;background:var(--ink);border-color:var(--ink);color:var(--paper);padding-inline:2.5rem}
.hero .button-primary:hover{background:#fff;border-color:#fff}
.hero .text-link{color:var(--ink)}
.hero .text-link:hover{color:var(--accent)}
.hero-footer{position:absolute;bottom:1.5rem;left:0;right:0;display:flex;align-items:center;justify-content:flex-end}
.hero-play{display:grid;place-items:center;width:44px;height:44px;min-height:44px;min-width:44px;padding:0;border:1px solid #f2eee47a;border-radius:50%;color:var(--ink);background:#0f1218a6;flex:0 0 auto}
.hero-play svg{display:none;width:22px;height:22px;pointer-events:none}
.hero-play[data-state=play] [data-film-icon=play],.hero-play[data-state=pause] [data-film-icon=pause],.hero-play[data-state=replay] [data-film-icon=replay],.hero-play[data-state=loading] [data-film-icon=loading]{display:block}
.hero-play:hover{background:var(--paper);border-color:var(--ink)}
.hero-play:disabled{cursor:wait;opacity:.8}


.hero-status{margin-top:1rem;color:var(--ink);font-size:var(--type-caption);line-height:1.65;letter-spacing:0}
@media(max-width:1100px){.hero h1{font-size:clamp(3.25rem,5.72vw,4.32rem)}.hero-message{max-width:42rem}}
@media(max-width:768px){
 .nav-inquiry{padding-inline:1rem}
 .hero-stage{height:min(100svh,170vw);min-height:620px}
 .hero-film{object-position:63.5% center}
 .hero-shade{background:linear-gradient(0deg,rgba(15,18,24,.91),rgba(15,18,24,.72) 32%,rgba(15,18,24,.15) 76%,rgba(15,18,24,.4)),linear-gradient(90deg,rgba(15,18,24,.32),transparent 80%)}
 .hero-content{align-items:flex-end;padding-top:calc(var(--header-height) + 1.5rem);padding-bottom:6rem}
 .hero-message{max-width:36rem}
 .hero .eyebrow{margin-bottom:1rem;font-size:var(--type-note)}
 .hero h1{font-size:clamp(1.825rem,7.99vw,3.78rem);line-height:1.12;letter-spacing:-.0068em}
 .hero .lead{font-size:var(--type-body);line-height:1.7;max-width:29rem;margin-top:1.25rem}
 .hero .button-row{margin-top:1.5rem;gap:1.25rem}
 .hero .button{min-height:48px;padding:.75rem 2rem}
 .hero .button-primary{min-width:9.5rem}
 .hero .text-link{font-size:var(--type-body);gap:.8rem}
 .hero-footer{bottom:1.25rem}
}
@media(max-width:600px){
 .hero h1{font-size:clamp(1.825rem,7.99vw,2.97rem)}
 .hero .lead{margin-top:1rem}
 .hero .lead-sentence{display:inline}
 .hero .eyebrow{margin-bottom:.75rem}
 .hero .button-row{margin-top:1.25rem;gap:.8rem 1.25rem}
 .hero-footer{bottom:1rem}
}
@media(max-width:360px){
 :root{--gutter:1.25rem}
 .wordmark{width:96px}.nav-wrap{gap:.75rem}.nav-actions{gap:.75rem}
 .nav-inquiry{padding-inline:.65rem;white-space:nowrap}.menu-toggle{white-space:nowrap}
 .hero-stage{height:100svh;min-height:720px}
 .hero-content{padding-bottom:5.5rem}
 .hero .button-row{gap:.6rem 1rem;margin-top:1rem}
 .hero .text-link{gap:.5rem}
 .hero .button{padding-inline:1.25rem}
 .hero .button-primary{min-width:8rem}
}
@media(max-height:600px) and (min-width:769px){
 .hero-stage{height:100svh;min-height:540px}
 .hero h1{font-size:3.25rem}.hero .eyebrow{margin-bottom:1rem}.hero .lead{margin-top:1rem}.hero .lead-sentence{display:inline}.hero-status{margin-top:.75rem}.hero .button-row{margin-top:1rem}
}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}
@media(forced-colors:active){.hero h1{opacity:1;color:CanvasText;background:none;-webkit-text-fill-color:CanvasText}.hero h1 span{color:inherit}}
