/* Good Wishes — base element defaults + helpers.
   Light-touch: sets page paper, body serif, link colors, selection. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--surface-page);
  color:var(--text-body);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:var(--lh-relaxed);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1{
  font-family:var(--font-display);
  color:var(--text-strong);
  font-weight:var(--fw-display);
  line-height:var(--lh-snug);
  letter-spacing:var(--tracking-display);
  text-transform:uppercase;
  margin:0 0 .5em;
  text-wrap:balance;
}
h2,h3,h4{
  font-family:var(--font-accent);
  color:var(--text-strong);
  font-weight:var(--fw-display);
  line-height:var(--lh-snug);
  letter-spacing:var(--tracking-normal);
  text-transform:uppercase;
  margin:0 0 .5em;
  text-wrap:balance;
}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-h4)}
p{margin:0 0 1em;text-wrap:pretty}
a{color:var(--text-link);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px;transition:color var(--dur-fast) var(--ease)}
a:hover{color:var(--text-link-hover)}
::selection{background:var(--gw-ember);color:var(--gw-white)}
small{font-size:var(--fs-caption)}
hr{border:none;border-top:var(--border-hair);margin:var(--space-6) 0}

/* Utility: mono eyebrow label (the tape-label voice) */
.gw-eyebrow{
  font-family:var(--font-mono);
  font-size:var(--fs-eyebrow);
  letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:700;
}
