*{box-sizing:border-box}
html,body{margin:0}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--body);overflow-x:hidden;position:relative}
.stack{position:fixed;inset:0;z-index:0;overflow:hidden;background:var(--bg)}
.stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 35%);opacity:0;filter:var(--grade,none);animation:var(--fade) var(--cycle) linear infinite,drift calc(var(--cycle)/var(--n)*2) ease-in-out infinite alternate;animation-delay:calc(var(--cycle)*(var(--i)/var(--n) - .06)),0s}
.stack.one img{animation:drift 40s ease-in-out infinite alternate;opacity:1}
.scrim{position:fixed;inset:0;z-index:1;pointer-events:none;background:var(--scrim)}
.fx{position:fixed;inset:0;z-index:2;pointer-events:none}
main{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.5rem,6vw,5rem) clamp(1.25rem,6vw,5rem) clamp(1rem,3vw,2rem);max-width:64rem}
.eyebrow{margin:0 0 .6rem;font-family:var(--mono,var(--body));font-size:clamp(.8rem,2.2vw,.95rem);letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}
h1{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(2.6rem,10.5vw,7rem);line-height:1;letter-spacing:var(--h1-ls,.02em);text-transform:var(--h1-case,none);color:#fff}
.lede{margin:1.1rem 0 0;max-width:36ch;font-size:clamp(1.1rem,3.2vw,1.55rem);line-height:1.55;color:var(--text)}
.rule{display:block;width:min(14rem,45%);height:3px;margin:1.3rem 0 0;background:var(--accent)}
footer{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:.2rem .8rem;align-items:center;padding:.9rem clamp(1.25rem,6vw,5rem) 1.3rem;font-family:var(--mono,var(--body));font-size:.95rem;color:var(--muted)}
footer .url{color:#fff;letter-spacing:.06em}
footer a{color:var(--text);text-underline-offset:3px}
a:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.5rem 1rem;z-index:9}
.skip:focus{left:0}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.06)}}
@media (max-width:700px){main{max-width:none}}
@media (max-height:480px){h1{font-size:clamp(2rem,9vh,3.4rem)}.lede{margin-top:.5rem;font-size:1rem}.eyebrow{display:none}}
@media (prefers-reduced-motion:reduce){.stack img,.fx,.fx *{animation:none!important}.stack img{opacity:0}.stack img:first-child{opacity:1}.stack img:not(:first-child){display:none}}
@media (forced-colors:active){.scrim{background:Canvas;opacity:.85}}
