/* Minimal base layer — resets + primitives consumers can rely on. No component styling here. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:var(--type-body-size);line-height:var(--lh-normal);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5{font-family:var(--font-heading);color:var(--text-strong);margin:0;line-height:var(--lh-heading);letter-spacing:var(--ls-tight);text-wrap:balance}
h1{font-size:var(--type-h1-size);font-weight:var(--type-h1-weight)}
h2{font-size:var(--type-h2-size);font-weight:var(--type-h2-weight)}
h3{font-size:var(--type-h3-size);font-weight:var(--type-h3-weight)}
h4{font-size:var(--type-h4-size);font-weight:var(--type-h4-weight);letter-spacing:var(--ls-normal)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:var(--transition-color)}
a:hover{color:var(--text-link-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring-w) solid var(--border-focus);outline-offset:var(--focus-ring-offset)}
img{display:block;max-width:100%}
hr{border:0;height:1px;background:var(--border-default);margin:var(--space-6) 0}
::selection{background:var(--teal-100);color:var(--teal-900)}

/* Utility primitives used across cards and kits */
.hn-eyebrow{font-family:var(--font-eyebrow);font-size:var(--type-eyebrow-size);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-muted)}
.hn-rule{height:3px;width:56px;background:var(--gradient-brand-rule);border-radius:var(--radius-pill)}
.hn-container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}
.hn-data{font-family:var(--font-data);font-variant-numeric:tabular-nums;letter-spacing:-.005em}
/* Photo placeholder — the client's real imagery lives on the Wasi CDN and is not bundled here. */
.hn-photo-placeholder{position:relative;background:repeating-linear-gradient(135deg,var(--neutral-100) 0 12px,var(--neutral-50) 12px 24px);display:grid;place-items:center;color:var(--neutral-400);font-family:var(--font-eyebrow);font-size:var(--fs-2xs);letter-spacing:var(--ls-wider);text-transform:uppercase}
