/* Actual Kiryu footage leads; white space separates it from the still image. */
.hero{--hero-ink:#f8fcf8;--hero-muted:#e1eee8;background:#204e4c;color:var(--hero-ink)}
.hero-media{position:absolute;inset:0;overflow:hidden;z-index:-1;background:#305957}
.hero-poster,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero-video{opacity:0;transition:opacity 1.2s ease}
.video-ready .hero-video{opacity:1}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,47,45,.83) 0%,rgba(19,55,52,.63) 39%,rgba(22,52,48,.23) 74%,rgba(20,43,39,.17)),linear-gradient(0deg,rgba(10,33,30,.5),transparent 26%)}
html[data-theme=dark] .hero-shade{background:linear-gradient(90deg,rgba(22,74,68,.9),rgba(24,76,69,.61) 43%,rgba(22,61,54,.28)),linear-gradient(0deg,rgba(9,40,35,.52),transparent 26%)}
html[data-theme=navy] .hero-shade{background:linear-gradient(90deg,rgba(8,34,35,.94),rgba(12,39,40,.7) 43%,rgba(10,32,33,.34)),linear-gradient(0deg,rgba(5,22,23,.55),transparent 26%)}
.hero-content{padding-top:clamp(80px,11vh,150px);text-shadow:0 1px 18px rgba(8,36,29,.13)}
.hero .eyebrow{color:#d7e7df}
.hero-description{color:#e1eee8}
.hero-bottom{color:#e4eee8}
.hero .round-arrow{border-color:rgba(238,250,243,.6)}
.hero .text-link:focus-visible,.hero-bottom a:focus-visible,.video-toggle:focus-visible{outline-color:#fff}
.video-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:106px;min-height:38px;border:1px solid rgba(240,250,245,.5);border-radius:30px;background:rgba(12,42,38,.13);color:#f8fcf9;font:inherit;font-size:9px;letter-spacing:.05em;cursor:pointer;backdrop-filter:blur(5px);padding:9px 14px}
.video-toggle[hidden]{display:none}
.video-toggle:hover{background:rgba(240,250,245,.12)}
.video-toggle:disabled{cursor:default;opacity:.7}
.video-toggle-icon{font-size:11px;min-width:12px;letter-spacing:-2px}
.project-visual{aspect-ratio:1.95;background:#315b56}
.project-visual::after{display:none}
.project-visual .project-media{object-position:50% 64%}
.photo-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(10,41,35,.47),transparent 30%)}
.project-visual .visual-bottom{color:#fff;z-index:1;text-shadow:0 1px 5px rgba(0,0,0,.35)}
@media(min-width:721px){.hero h1{font-size:clamp(47px,5.1vw,82px)}.hero-bottom{bottom:24px}}
@media(max-width:1000px) and (min-width:721px){.hero-bottom .video-toggle{display:inline-flex}.hero h1{font-size:54px}}
@media(max-width:720px){
 .hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;color:var(--ink);background:var(--page)}
 .hero-content{order:1;padding:43px 6% 32px;text-shadow:none;background:var(--page)}
 .hero .eyebrow{color:var(--accent);margin-bottom:26px}
 .hero h1{font-size:clamp(28px,8.8vw,54px);line-height:1.58;margin-bottom:20px}
 .hero-description{color:var(--muted);font-size:12px;margin-bottom:22px}
 .hero .round-arrow{border-color:var(--border)}
 .hero .text-link:focus-visible{outline-color:var(--accent)}
 .hero-media{order:2;position:relative;inset:auto;z-index:0;width:100%;aspect-ratio:16/10}
 .hero-shade,html[data-theme=dark] .hero-shade,html[data-theme=navy] .hero-shade{background:linear-gradient(0deg,rgba(10,40,35,.22),transparent 33%)}
 .hero-bottom{order:3;position:relative;left:auto;right:auto;bottom:auto;padding:12px 4%;background:#2b5b57;color:#edf6ef;gap:8px;font-size:6px}
 .hero-bottom>a{display:none}
 .hero-bottom .video-toggle{font-size:8px;min-height:32px;min-width:98px;padding:7px 10px}
 .project-visual{aspect-ratio:1.18}
 .project-visual .project-media{object-position:58% 63%}
 .project-visual .visual-bottom{left:20px;right:20px;font-size:6px;bottom:20px}
 .about{padding-top:74px}
}
@media(prefers-reduced-motion:reduce){.hero-video{transition:none}.hero .hero-bottom a>span{animation:none}}
