*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);font-size:var(--text-body-size);line-height:var(--leading-relaxed);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);margin:0 0 var(--space-4)}
h1{font-size:var(--display-page);line-height:var(--leading-tight);font-weight:var(--weight-bold)}
h2{font-size:var(--display-2);font-weight:var(--weight-bold)}
h3{font-size:var(--display-3);font-weight:var(--weight-semibold)}
h4{font-size:var(--text-xl);font-weight:var(--weight-semibold)}
p{margin:0 0 var(--space-4);text-wrap:pretty}
a{color:var(--text-link);text-decoration-color:color-mix(in oklab,var(--mint-400) 55%,transparent);text-underline-offset:3px;transition:color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover)}
code,kbd{font-family:var(--font-mono);font-size:.92em}
::selection{background:var(--mint-200);color:var(--ink-900)}
:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--radius-sm)}
.skip-link{position:absolute;top:var(--space-3);left:var(--space-3);z-index:100;padding:var(--space-3) var(--space-4);background:var(--ink-900);color:var(--white);font-weight:var(--weight-semibold);font-size:var(--text-sm);border-radius:var(--radius-md);text-decoration:none;transform:translateY(-200%);transition:transform var(--duration-base) var(--ease-out)}
.skip-link:focus{transform:translateY(0)}
