*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--text);
  background:var(--bg);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{
  font-family:var(--ff-display);
  font-weight:500;
  color:var(--text);
  line-height:1.15;
  letter-spacing:-0.01em;
  margin:0 0 0.6em 0;
}
h1{font-size:clamp(2.4rem,7vw,4.6rem);font-weight:500;letter-spacing:-0.02em}
h2{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:500}
h3{font-size:clamp(1.35rem,2.6vw,1.8rem);font-weight:500}
h4{font-size:clamp(1.05rem,1.8vw,1.2rem);font-weight:600;font-family:var(--ff-body);letter-spacing:0.02em;text-transform:uppercase;color:var(--accent)}
p{margin:0 0 1em 0;color:var(--text-2)}
a{color:var(--accent);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--accent-2)}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit;cursor:pointer}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 1.25rem}
.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 1.25rem}
.eyebrow{
  font-family:var(--ff-body);
  font-size:.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.18em;
  color:var(--accent);
  margin:0 0 1.1rem 0;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
}
.eyebrow::before{
  content:"";
  width:24px;
  height:1px;
  background:var(--accent);
}
.lead{font-size:clamp(1.05rem,1.8vw,1.18rem);color:var(--text-2);line-height:1.55;max-width:60ch}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}
