body{
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
}
h1,h2,h3,h4{
  font-family:var(--disp);
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--ink);
}
.wrap{max-width:var(--max-w); margin:0 auto; padding:0 28px;}

.eyebrow{
  font-family:var(--mono); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:10px; color:var(--blue-deep); font-weight:500;
}
.eyebrow::before{content:""; width:20px; height:1px; background:var(--blue-deep);}
.eyebrow.on-dark{color:var(--green-bright); font-weight:600;}
.eyebrow.on-dark::before{background:var(--green-bright);}

.btn{
  font-family:var(--body); font-weight:600; font-size:14.5px; text-decoration:none;
  padding:13px 24px; border-radius:var(--radius-sm); display:inline-flex; align-items:center; gap:8px;
  transition:transform .15s, background .2s; border:none; cursor:pointer;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--green); color:#0b1826;}
.btn-primary:hover{background:#6cc456;}
.btn-primary.on-light{background:var(--ink); color:#fff;}
.btn-primary.on-light:hover{background:var(--blue-deep);}
.btn-ghost{border:1px solid var(--line); color:#fff; background:transparent;}
.btn-ghost:hover{background:rgba(255,255,255,0.06);}
.btn-ghost.on-light{border-color:var(--line-dark); color:var(--ink);}

section{padding:80px 0;}
.section-head{max-width:640px; margin-bottom:44px;}
.section-head h2{font-size:28px; margin-top:14px; line-height:1.2;}
.section-head p{color:#5b6b85; font-size:15.5px; margin-top:14px;}

.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;}
