/* base.css — reset + typo + base */
*,*::before,*::after{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  scroll-padding-top:var(--header-h);
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
body.no-scroll{overflow:hidden;}

img,video,iframe,svg{max-width:100%;display:block;}
figure{margin:0;}
[hidden]{display:none !important;}

a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--primary);}

h1,h2,h3,h4,h5,h6{
  font-family:var(--ff-display);
  color:var(--text);
  font-weight:500;
  line-height:1.12;
  letter-spacing:-0.005em;
  margin:0 0 .6em;
}
h1{font-size:clamp(2.2rem,5.4vw,3.6rem);font-weight:500;}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:500;}
h3{font-size:clamp(1.25rem,2vw,1.55rem);font-weight:500;}
p{margin:0 0 1em;}

::selection{background:var(--accent);color:#fff;}
::-moz-selection{background:var(--accent);color:#fff;}

*{scrollbar-width:thin;scrollbar-color:var(--accent) var(--surface);}
::-webkit-scrollbar{width:8px;height:6px;}
::-webkit-scrollbar-track{background:var(--surface);}
::-webkit-scrollbar-thumb{background:var(--accent);border-radius:var(--r-pill);}

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:var(--r-sm);
}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 20px;
}
@media (min-width:768px){
  .container{padding:0 28px;}
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5em;
  font-family:var(--ff-ui);
  font-size:.74rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--accent);
  margin-bottom:.85em;
}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor;}

.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;}

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