.home .site-header {
background: transparent;
border-bottom-color: transparent;
transition: background .45s var(--ease), border-color .45s var(--ease);
}
.home .site-header::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
pointer-events: none;
opacity: var(--veil, 0);
background: linear-gradient(180deg, rgba(8, 10, 16, .82), rgba(8, 10, 16, 0));
}
.home .site-header.is-stuck {
background: transparent;
border-bottom-color: var(--hairline);
}
.home .site-header.is-stuck::after {
background: rgba(12, 14, 19, .86);
backdrop-filter: blur(14px);
opacity: 1;
}
.home .site-header.is-stuck::before { opacity: 0; }
.home .site-header.is-stuck.over-hero {
background: transparent;
border-bottom-color: transparent;
}
.home .site-header.is-stuck.over-hero::after { opacity: 0; }
.home .site-header.is-stuck.over-hero::before { opacity: var(--veil, 0); }
.hero-scrub {
position: relative;

height: 155vh;
margin: 0;

margin-top: calc(-1 * var(--header-h, 74px));
background: var(--canvas);
}
.hero-scrub__stage {
position: sticky;
top: 0;
height: 100vh;
overflow: hidden;
background: var(--canvas);
}
.hero-scrub__poster,
.hero-scrub__video {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.hero-scrub__poster {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.hero-scrub__video {
opacity: 0;
transition: opacity .6s var(--ease-soft);

will-change: transform;
transform: translateZ(0);
}
.hero-scrub__stage.video-ready .hero-scrub__video { opacity: 1; }
.hero-scrub__stage.video-failed .hero-scrub__video { display: none; }
.hero-scrub__scrim {
position: absolute;
inset: 0;
pointer-events: none;
background:
radial-gradient(ellipse 120% 90% at 50% 45%,
rgba(8, 10, 16, 0) 35%,
rgba(8, 10, 16, .55) 100%),
linear-gradient(rgba(8, 10, 16, .26), rgba(8, 10, 16, .26));
}
.hero-scrub__ring-wrap {
position: absolute;
left: 50%;
bottom: 12vh;
transform: translateX(-50%);
color: var(--text-secondary);
pointer-events: none;
}
.hero-scrub__ring {
width: 48px;
height: 48px;
transform: rotate(-90deg);
}
.hero-scrub__ring circle {
transition: stroke-dashoffset .18s linear;
}
.hero-scrub__bands {
position: absolute;
inset: 0;
display: grid;
place-items: center;
pointer-events: none;
}
.band {
position: absolute;
inset: 0;
display: grid;
align-content: center;
padding: 0 var(--gutter);
opacity: 0;
visibility: hidden;

text-shadow: var(--tshadow);
}
.band .btn { text-shadow: none; }
:root {
--tshadow-hero:
0 1px 2px rgba(4, 6, 11, .98),
0 2px 5px rgba(4, 6, 11, .92),
0 4px 14px rgba(4, 6, 11, .88),
0 8px 30px rgba(4, 6, 11, .80),
0 16px 60px rgba(4, 6, 11, .70);
}
.band__text,
.band__sub,
.band__chip {
text-shadow: var(--tshadow-hero);
}
.band__inner {
position: relative;
max-width: var(--container);
margin: 0 auto;
width: 100%;
}
.band--left  .band__inner { text-align: left; }
.band--right .band__inner { text-align: right; }
.band--settle .band__inner { text-align: center; }
.band__text {

font-family: var(--font-display);
font-weight: 800;
font-size: clamp(2rem, 5.2vw, 4.2rem);
line-height: 1.04;
letter-spacing: -.02em;
color: var(--text-primary);
max-width: 15ch;
margin: 0;
}
.band--right .band__text { margin-left: auto; }
.band--settle .band__text { max-width: 18ch; margin-inline: auto; }
.band__sub {
font-family: var(--font-body);
font-size: clamp(1rem, 1.5vw, 1.2rem);
color: var(--text-primary);
max-width: 46ch;
margin: 1.1rem auto 0;
opacity: var(--ks, 0);
}
.band__cta {
margin-top: 1.8rem;
opacity: var(--kb, 0);
transform: translateY(calc((1 - var(--kb, 0)) * 12px));
}
.band__chip {
display: inline-flex;
align-items: center;
gap: .6rem;
margin-top: 1.1rem;
padding: .5rem .9rem;
font-family: var(--font-mono);
font-size: .78rem;
letter-spacing: .04em;
color: var(--text-primary);
background: rgba(8, 10, 16, .55);
border: 1px solid rgba(96, 100, 126, .3);
border-radius: 10px;
backdrop-filter: blur(10px);
text-shadow: 0 1px 3px rgba(4, 6, 11, .85);
opacity: var(--kb, 0);
}
.band__vis { display: inline; }
.w { display: inline-block; white-space: pre; }
.c { display: inline-block; will-change: transform; }
.band--scatter .c {
--kc: clamp(0, (var(--k, 0) - var(--th, 0)) * 2.6, 1);
opacity: var(--kc);
transform:
translate(calc((1 - var(--kc)) * var(--jx, 0px)), calc((1 - var(--kc)) * var(--jy, 0px)))
rotate(calc((1 - var(--kc)) * var(--jr, 0deg)));
}
.band--drift .w {
--kc: clamp(0, (var(--k, 0) - var(--th, 0)) * 2.8, 1);
opacity: var(--kc);
transform: translateY(calc((1 - var(--kc)) * -26px));
}
.band--punch .w {
--kc: clamp(0, (var(--k, 0) - var(--th, 0)) * 3, 1);
--ks2: clamp(0, (var(--k, 0) - var(--th, 0) - var(--sd, .1)) * var(--ss, 3.2), 1);
opacity: var(--kc);
transform: scale(calc(0.6 + (0.4 + var(--ov, .12)) * var(--kc) - var(--ov, .12) * var(--ks2)));
}
.band--punch .w.em { --ov: .24; --sd: .16; --ss: 2.6; }
.band--rise .w {
--kc: clamp(0, (var(--k, 0) - var(--th, 0)) * 2.6, 1);
opacity: var(--kc);
transform: translateY(calc((1 - var(--kc)) * 22px));
}
.band--rise { --ks: clamp(0, (var(--k, 0) - .66) * 4, 1); --kb: clamp(0, (var(--k, 0) - .78) * 5, 1); }
.hero-static { display: none; }
.hero-static__media {
position: absolute;
inset: 0;
background-size: cover;
background-position: center 78%;
}
@media (prefers-reduced-motion: reduce) {

.home .site-header::before { opacity: 1; }
.hero-scrub { height: auto; }
.hero-scrub__stage { position: relative; height: min(100svh, 720px); }
.hero-scrub__video,
.hero-scrub__ring-wrap,
.hero-scrub__bands { display: none; }

.hero-static {
display: block;
position: absolute;
inset: 0;
}

.hero-static__inner { padding-top: var(--header-h, 74px); }
}
@media (max-height: 560px) {
.hero-scrub__ring-wrap { display: none; }
.band__chip { display: none; }
}
@media (prefers-reduced-motion: reduce) {
.hero-scrub__video,
.hero-scrub__poster { transition: none; }
.band, .band::before, .band::after,
.w, .c {
animation: none !important;
transition: none !important;
transition-delay: 0s !important;
}
.band--scatter .c,
.band--drift .w,
.band--punch .w,
.band--rise .w {
opacity: 1;
transform: none;
}
.band__sub, .band__cta, .band__chip { opacity: 1; transform: none; }
}
body.is-pinned .band--scatter .c,
body.is-pinned .band--drift .w,
body.is-pinned .band--punch .w,
body.is-pinned .band--rise .w { opacity: 1; transform: none; }
body.is-pinned .band__sub,
body.is-pinned .band__cta,
body.is-pinned .band__chip { opacity: 1; transform: none; }
.band--close {
align-content: end;
padding-bottom: 16vh;
}
.band--close .band__cta a,
.band--close .btn {
pointer-events: auto;
}
.band--close .band__text {
font-size: clamp(1.9rem, 4vw, 3.4rem);
max-width: 24ch;
}
.band--close .band__sub {
font-size: clamp(1.02rem, 1.5vw, 1.3rem);
max-width: 64ch;
}
.band--close .band__cta { margin-top: 1.7rem; }
.band--close .btn--lg {
--ctl-h-lg: 64px;
--ctl-px-lg: 38px;
--ctl-fs-lg: 1.04rem;
}
@media (max-width: 720px) {
.band--close { padding-bottom: 13vh; }
.band--close .band__text { font-size: clamp(1.6rem, 7.6vw, 2.3rem); max-width: 18ch; }
.band--close .band__sub { font-size: 1rem; max-width: 30ch; }

.band--close .btn--lg { --ctl-h-lg: 58px; --ctl-px-lg: 30px; --ctl-fs-lg: 1rem; }
}
@media (pointer: coarse) {
.band--close .btn {
min-height: max(48px, var(--ctl-h-lg));
display: inline-flex;
align-items: center;
justify-content: center;
}
}
@media (max-width: 720px) {
.hero-scrub { height: 190vh; }
.hero-scrub__video,
.hero-scrub__poster { object-fit: cover; object-position: center 55%; }
.hero-scrub__poster { background-position: center 55%; }
}
@media (orientation: portrait) and (max-width: 1024px) {
.hero-scrub { height: 200vh; }
}
html { scrollbar-gutter: stable; }
html.hero-locking,
html.hero-locking body {
overflow: hidden;
overscroll-behavior: none;
}
html.hero-locking .hero-scrub__ring-wrap {
opacity: 1;
transform: translateX(-50%) scale(1.15);
}
.hero-scrub__ring-wrap {
opacity: .75;
transition: opacity .3s var(--ease), transform .4s var(--ease-soft);
}
.hero-scrub__video { transition: opacity .25s var(--ease-soft); }
html { scroll-behavior: auto; }