/* ==========================================================
   BASE — resets, typography, shared layout utilities.
   Clean enterprise-grotesk system: one type family (Inter),
   tight letter-spacing on headlines, generous white space.
   ========================================================== */
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Inter',sans-serif;
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.1;
  color:var(--ink);
}
p{color:var(--gray-700);}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
::selection{background:var(--crimson); color:var(--white);}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}

.section{padding:104px 0;}
.section.tight{padding:72px 0;}
.section.bg-alt{background:var(--bg-alt);}
.section.bg-dark{background:var(--bg-dark); color:var(--white);}
.section.bg-dark p{color:rgba(255,255,255,0.65);}
.section.bg-dark h2, .section.bg-dark h3{color:var(--white);}

.section-head{max-width:640px; margin-bottom:56px;}
.section-head h2{font-size:clamp(28px,3.4vw,42px); margin-bottom:16px;}
.section-head p{font-size:17px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

.eyebrow{
  font-size:13px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase;
  color:var(--crimson); margin-bottom:14px; display:inline-block;
}

.check-list{list-style:none; display:flex; flex-direction:column; gap:14px;}
.check-list li{display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:var(--gray-700);}
.check-list li svg{flex-shrink:0; margin-top:2px; color:var(--crimson);}

.pill-tag{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--crimson-tint); color:var(--crimson-dark);
  font-size:12.5px; font-weight:700; letter-spacing:0.02em;
  padding:6px 14px; border-radius:var(--radius-pill);
}
