/* ==========================================================================
   poste.cc · BASE
   Minimal reset + element defaults wired to tokens. Consumers get sensible
   typography, theme-aware colors, and good number rendering for free.
   ========================================================================== */

*, *::before, *::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; }

body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font:var(--text-body);
    font-feature-settings:var(--num);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

h1, h2, h3, h4, h5, h6{ margin:0; color:var(--text); }
h1{ font:var(--text-h1); letter-spacing:var(--ls-tight); }
h2{ font:var(--text-h2); letter-spacing:var(--ls-snug); }
h3{ font:var(--text-h3); }
p{ margin:0; }

a{ color:var(--brand-ink); text-decoration:none; }
a:hover{ color:var(--brand-hover); text-decoration:underline; }

button{ font-family:inherit; }

/* Tabular, lining numerals for any data element */
.tnum, table, time, .num, [data-num]{
    font-variant-numeric:tabular-nums lining-nums;
}

:focus-visible{
    outline:2px solid var(--brand-ink);
    outline-offset:2px;
}

::selection{ background:var(--brand-weak-2); color:var(--text); }

/* Utility eyebrow label used across foundations + components */
.eyebrow{
    font:var(--text-caption);
    text-transform:uppercase;
    letter-spacing:var(--ls-caps);
    color:var(--text-muted);
}
