/* NOBLE SILENCE — base: reset + typography */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--bg);color:var(--fg);
  font-family:var(--font-sans);font-size:var(--t-body);line-height:var(--lh-body);
  font-weight:300;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  transition:background-color 900ms var(--ease-soft),color 900ms var(--ease-soft);
}
img,video,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit;color:inherit}
ul{list-style:none}
::selection{background:var(--ns-stone);color:var(--ns-ink)}

/* Typografie */
.display,.h1,.h2,.h3{font-family:var(--font-display);font-weight:400;letter-spacing:-0.01em}
.display-xl{font-family:var(--font-display);font-weight:400;font-size:var(--t-display-xl);line-height:var(--lh-display);letter-spacing:-0.015em}
.display{font-size:var(--t-display);line-height:var(--lh-display)}
.h1{font-size:var(--t-h1);line-height:1.05}
.h2{font-size:var(--t-h2);line-height:var(--lh-tight)}
.h3{font-size:var(--t-h3);line-height:1.25}
.lead{font-size:var(--t-lead);line-height:1.5;font-weight:300;max-width:var(--measure)}
.body{max-width:var(--measure-wide)}
.small{font-size:var(--t-small)}
.label{
  font-family:var(--font-sans);font-size:var(--t-label);font-weight:400;
  letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-soft)
}
.muted{color:var(--fg-muted)}
.soft{color:var(--fg-soft)}

/* Focus — Teil von Premium */
:focus-visible{outline:1px solid var(--fg);outline-offset:4px}
.skip{position:absolute;left:-999px;top:var(--s-3)}
.skip:focus{left:var(--s-3);z-index:100;background:var(--bg);padding:var(--s-2) var(--s-3)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
