.home-intro[hidden],.home-intro [hidden]{display:none!important}
@font-face{font-family:"Noto Sans SC";src:url("/fonts/noto-sans-sc-intro-v7.woff2") format("woff2");font-style:normal;font-weight:400 500;font-display:swap}
.home-page #main:focus{outline:none}
.home-page{--home-frame-height:100vh;--home-frame-height:100svh;--home-media-position:50% 50%}
html.intro-open,html.intro-open body{overflow:hidden;overscroll-behavior:none}
.home-intro{position:fixed;inset:0 auto auto 0;z-index:10000;width:100vw;height:var(--home-frame-height);background:#080c12;opacity:1;transition:opacity 1200ms ease-in-out;isolation:isolate}
.home-intro.is-fading{opacity:0;pointer-events:none}
.home-intro__poster,.home-intro__video,.home-intro__last,.hero-static-image{position:absolute;inset:0 auto auto 0;width:100vw;height:var(--home-frame-height);object-fit:cover;object-position:var(--home-media-position);transform:translateZ(0);backface-visibility:hidden}
.home-intro__poster{z-index:0}
.home-intro__video{z-index:1;opacity:0;background:transparent}
.home-intro.has-video .home-intro__video{opacity:1}
.home-intro__last{z-index:2;visibility:hidden}
/* The settled state exposes the existing Hero painting, never a second crop. */
.home-intro.at-last{background:transparent}
.home-intro.at-last .home-intro__poster,.home-intro.at-last .home-intro__video,.home-intro.at-last .home-intro__last{visibility:hidden}
.home-intro.at-last .home-intro__skip,.home-intro.is-fading .home-intro__skip{display:none!important;visibility:hidden}
.hero.hero-photo{position:relative;isolation:isolate;overflow:hidden;height:var(--home-frame-height);min-height:0;padding-bottom:0;background:#080c12}
.hero-static-image{z-index:-1}
.hero-photo .hero-content{display:flex;align-items:center;justify-content:space-between;gap:32px;width:calc(100% + 40px);margin-top:auto;padding:24px max(32px,calc((100vw - 1280px)/2));background:#080c12;text-align:left}
.hero-photo .hero-copy{width:auto;min-width:0;max-width:760px;margin:0;padding:0;background:transparent}
.hero-photo .hero-bottom{flex:0 0 360px;width:auto;margin-top:0}
.hero-photo .hero-actions{flex-direction:row;max-width:none}
.hero-photo .hero-subtitle{margin:12px 0 0}
.hero-photo h1{margin-top:8px;font-weight:800;font-synthesis:weight;font-size:clamp(30px,3.2vw,48px)}
.hero-photo .button{min-height:48px}
.home-page .section-number{color:var(--secondary)}
.home-page .header-basket [data-inquiry-count]{min-width:18px;line-height:18px;text-align:center;background:#171a20;color:#fff;border-radius:2px}
.home-page .header-basket,.home-page .menu-toggle{min-width:44px;min-height:44px}
.home-intro__skip,.home-intro__play{position:absolute;z-index:3;min-width:96px;min-height:48px;padding:12px 20px;border:1px solid #fff;border-radius:4px;background:#fff;color:#171a20;font:inherit;font-size:14px;line-height:1.4;cursor:pointer;box-shadow:none}
.home-intro__skip{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right))}
.home-intro__play{left:50%;top:50%;transform:translate(-50%,-50%)}
.home-intro__skip:focus-visible,.home-intro__play:focus-visible{outline:2px solid #3e6ae1;outline-offset:4px}
/* A finite entrance establishes hierarchy after the photograph settles. */
.intro-open .site-header,.intro-open .hero-copy>*,.intro-open .hero-bottom{opacity:0}
.intro-open .hero-content{background:transparent}
.intro-arrived .site-header{animation:intro-nav 600ms both}
.intro-arrived .hero-eyebrow{animation:intro-quiet 600ms 150ms both}
.intro-arrived .hero-photo h1{animation:intro-title 650ms 150ms both}
.intro-arrived .hero-subtitle{animation:intro-quiet 600ms 300ms both}
.intro-arrived .hero-bottom{animation:intro-quiet 600ms 450ms both}
@keyframes intro-nav{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-title{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-quiet{from{opacity:0}to{opacity:1}}
@media(max-width:900px){
  .hero-photo .hero-content{flex-direction:column;align-items:stretch;gap:20px;padding:24px 20px max(24px,env(safe-area-inset-bottom))}
  .hero-photo .hero-bottom{flex:auto;width:100%}
  .hero-photo .hero-copy{width:100%}
}
@media(max-width:640px){
  .home-page{--home-media-position:40% 50%}
  html.home-intro-page{scrollbar-width:none}
  html.home-intro-page::-webkit-scrollbar{width:0;height:0}
  .home-intro__skip{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));font-size:16px}
  .hero-photo{padding-top:calc(var(--header-height) + 36px)}
  .hero-photo .hero-subtitle{max-width:30ch}
}
@media(prefers-reduced-motion:reduce){.home-intro{transition-duration:1ms}.intro-arrived .site-header,.intro-arrived .hero-content,.intro-arrived .hero-copy>*,.intro-arrived .hero-photo h1,.intro-arrived .hero-bottom{animation:none}}
