/* Reset, document defaults, type scale, layout primitives.
   Consumes tokens.css. Declares no brand values of its own. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--da-black);
  color:var(--da-white);
  font-family:var(--font-body);
  font-size:var(--t-base);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:var(--da-cyan);text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--da-cyan);outline-offset:2px;border-radius:2px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* Headings */
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.15}
h1{font-size:clamp(var(--t-3xl),5vw,var(--t-4xl))}
h2{font-size:var(--t-2xl)}
h3{font-size:var(--t-xl);font-weight:600}
h4{font-size:var(--t-lg);font-weight:600}

/* Layout primitives */
.da-wrap{max-width:var(--da-maxw);margin-inline:auto;padding:var(--s4) var(--s3)}
.da-flow > * + *{margin-top:var(--s2)}
.da-mono{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.08em}
.da-muted{color:var(--da-muted)}

/* Accessibility */
.da-skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--da-cyan);color:var(--da-black);
  padding:10px 16px;font-family:var(--font-display);font-weight:600;
}
.da-skip:focus{left:0}
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;
  overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;
}
