*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-canvas);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 var(--space-4)}
h1,h2,h3,h4,h5{margin:0 0 var(--space-4);color:var(--text-primary);font-family:var(--font-display);font-weight:600;text-wrap:balance;letter-spacing:-0.02em;line-height:1.12}
h1{font-size:var(--fs-h1);line-height:1.08}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-tile);letter-spacing:-0.005em}
h4{font-size:var(--fs-h4)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
main{overflow:hidden}
:where([id]){scroll-margin-top:96px}

.skip-link{position:absolute;left:var(--space-4);top:-80px;background:var(--accent);color:var(--text-on-accent);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);z-index:1000;font-size:var(--fs-small)}
.skip-link:focus{top:var(--space-4)}
:where(a,button,input,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}
::selection{background:var(--accent);color:var(--text-on-accent)}

@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
[data-reveal]{opacity:1!important;transform:none!important}
.marquee__track{animation:none!important}
}
@media print{
.site-header,.site-footer,.menu-toggle,.mobile-panel,.marquee,.toast,.skip-link,.breadcrumbs{display:none!important}
body{background:#fff;color:#000}
main{overflow:visible}
.section{padding:16px 0}
a{color:#000;text-decoration:underline}
*{box-shadow:none!important;animation:none!important}
}
