/* base.css — reset, typography, layout primitives, focus/motion. */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3{color:var(--text);line-height:var(--lh-head);letter-spacing:-.01em;margin:0 0 var(--space-4);}
p{margin:0 0 var(--space-4);}
ul,ol{margin:0 0 var(--space-4);padding-left:1.2em;}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
.measure{max-width:var(--measure);}

.mono{font-family:var(--font-mono);}
.eyebrow,.label{
  font-family:var(--font-mono);
  font-size:var(--fs-mono-label);
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--faint);
  margin:0 0 var(--space-4);
}

.hero-head{font-size:var(--fs-hero);font-weight:700;letter-spacing:-.02em;line-height:var(--lh-tight);margin:0 0 var(--space-6);}
.page-title{font-size:var(--fs-h2);font-weight:700;margin:0 0 var(--space-4);}
.section-head{font-size:var(--fs-h2);font-weight:600;margin:0 0 var(--space-6);}
.lede{font-size:var(--fs-lede);color:var(--muted);}
.fine-print{font-size:var(--fs-small);color:var(--faint);}
.text-link{color:var(--accent);font-weight:600;}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--pill-bg);color:var(--pill-fg);
  padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);
}
.skip-link:focus{left:var(--space-4);top:var(--space-4);text-decoration:none;}

:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;border-radius:6px;
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

@media print{
  .site-header,.site-footer,.cta-band,.theme-toggle,.nav-toggle,.cta-row{display:none!important;}
  body{color:#000;background:#fff;}
  .price-card,.tier-item,.receipt{break-inside:avoid;}
}
