:root{
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-sans);overflow-x:hidden}
body.is-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{display:block;max-width:100%}
.container{width:min(1240px,calc(100% - 40px));margin-inline:auto}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .78s var(--ease),transform .78s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}
.page-wipe{position:fixed;inset:0;z-index:9999;pointer-events:none;display:grid;grid-template-columns:repeat(8,1fr)}
.page-wipe i{background:#e10600;transform:translateY(-102%)}
.page-wipe.is-active i{animation:wipeDown .7s var(--ease) forwards}
.page-wipe i:nth-child(2){animation-delay:.035s}.page-wipe i:nth-child(3){animation-delay:.07s}.page-wipe i:nth-child(4){animation-delay:.105s}.page-wipe i:nth-child(5){animation-delay:.14s}.page-wipe i:nth-child(6){animation-delay:.175s}.page-wipe i:nth-child(7){animation-delay:.21s}.page-wipe i:nth-child(8){animation-delay:.245s}
@keyframes wipeDown{to{transform:translateY(0)}}
.back-home{position:fixed;left:20px;top:20px;z-index:80;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;backdrop-filter:blur(16px);font-weight:800;font-size:13px;letter-spacing:.04em}
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:0;z-index:200;transition:width .08s linear}
.magnetic{will-change:transform}
@media(max-width:760px){.container{width:min(100% - 26px,1240px)}.back-home{left:12px;top:12px;padding:10px 13px;font-size:12px}.page-wipe{grid-template-columns:repeat(5,1fr)}.page-wipe i:nth-child(n+6){display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
/* Readability / keyboard accessibility pass */
body{line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p{max-width:72ch}
button,a,input,select,textarea{touch-action:manipulation}
button{cursor:pointer}
:focus-visible{outline:3px solid #fb3640!important;outline-offset:3px!important}
input,select,textarea{min-height:42px}
@media(max-width:760px){body{font-size:16px}p{line-height:1.7}}
/* Keep the fixed return button below page navigation instead of over the logo. */
.back-home{top:92px}
@media(max-width:760px){.back-home{top:78px}}
/* V6 general readability pass */
h1,h2,h3{max-width:100%;text-wrap:balance;overflow-wrap:break-word}
p{max-width:72ch;text-wrap:pretty}
section[id]{scroll-margin-top:92px}
button,select,input,textarea{font-size:max(16px,1em)}
@media(min-width:761px){button,select,input,textarea{font-size:inherit}}
