/* ==========================================================================
   Hives HR — base: font, reset, document defaults
   ========================================================================== */

@layer base {
    @font-face {
        font-family: "Satoshi";
        src: url("../fonts/Satoshi-Variable.woff2") format("woff2");
        font-weight: 300 900;
        font-style: normal;
        font-display: swap;
    }

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

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

    body {
        margin: 0;
        min-height: 100dvh;
        font-family: var(--font);
        font-size: 14px;
        line-height: 1.45;
        color: var(--ink);
        background: var(--page-glow), var(--canvas);
        background-attachment: fixed;
        -webkit-font-smoothing: antialiased;
    }

    h1, h2, h3, h4, p, figure { margin: 0; }
    ul, ol { list-style: none; margin: 0; padding: 0; }
    img, svg { display: block; max-width: 100%; }
    a { color: inherit; }
    button, input, select, textarea { font: inherit; color: inherit; }
    button { cursor: pointer; }
    button:disabled { cursor: not-allowed; }
    table { border-collapse: collapse; }

    /* Ink, not amber: amber on cream is under the 3:1 needed for a visible focus ring. */
    :focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

    .skip-link {
        position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 16px;
        border-radius: var(--radius-pill); background: var(--ink); color: var(--white); font-weight: 600; text-decoration: none;
    }
    .skip-link:focus { top: 12px; }

    .num { font-variant-numeric: tabular-nums; }

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

    @view-transition { navigation: auto; }

    @media (prefers-reduced-motion: reduce) {
        *, *::before, *::after {
            animation: none !important;
            transition: none !important;
        }
    }
}
