*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 2rem);-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--font-body);font-size:1rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-feature-settings:"ss01" on,"cv05" on;
}
::selection{background:var(--accent);color:var(--on-dark)}
h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.08;text-wrap:balance}
h1{font-family:var(--font-display);font-size:clamp(3rem,8.4vw,7.1rem);letter-spacing:-.06em;line-height:.92}
h2{font-size:clamp(2.1rem,4.2vw,3.5rem);letter-spacing:-.045em;line-height:1.04}
h3{font-size:1.15rem;font-weight:600;letter-spacing:-.025em;line-height:1.25}
p{margin:0 0 1rem;overflow-wrap:break-word}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:1px}
img,svg{max-width:100%;display:block}

.label{
  display:flex;align-items:center;gap:.65rem;margin:0;
  font-size:.62rem;font-weight:600;letter-spacing:.16em;line-height:1.4;
  text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;
}
.label__no{color:var(--accent);letter-spacing:.08em}
.label--light{color:var(--on-dark-soft)}
.label--light .label__no{color:var(--on-dark)}

.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.skip-link{
  position:fixed;top:.9rem;left:.9rem;z-index:10001;
  padding:.75rem 1rem;background:var(--ink);color:var(--on-dark);
  font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;transform:translateY(-160%);
  transition:transform .3s var(--ease-out);
}
.skip-link:focus-visible{transform:none;outline-color:var(--on-dark);outline-offset:3px}

.link{
  text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:.22em;text-decoration-color:var(--line-strong);
  transition:text-decoration-color .25s ease,color .25s ease;
}
.link:hover{text-decoration-color:currentColor}
.link--arrow{
  display:inline-flex;align-items:center;gap:.45rem;position:relative;
  padding-bottom:3px;font-size:.88rem;font-weight:500;letter-spacing:-.01em;
  text-decoration:none;
}
.link--arrow::after{
  content:"";position:absolute;left:0;right:1.15rem;bottom:0;height:1px;
  background:var(--line-strong);transform-origin:left;
  transition:background .3s ease,transform .35s var(--ease-out);
}
.link--arrow:hover::after{background:var(--ink)}
.arrow-glyph{font-size:.92em;transition:transform .3s var(--ease-out)}
.link--arrow:hover .arrow-glyph{transform:translate(2px,-2px)}
