:root {
    --brand: #e2d21e;
    --brand-strong: #cabb00;
    --ink: #111111;
    --ink-soft: #242424;
    --paper: #ffffff;
    --paper-warm: #f8f7ef;
    --muted: #6d6d65;
    --line: rgba(17, 17, 17, 0.12);
    --success: #20a05a;
    --container: 1280px;
    --radius-sm: 14px;
    --radius-md: 24px;
    --radius-lg: 38px;
    --shadow-sm: 0 10px 30px rgba(17, 17, 17, 0.08);
    --shadow-md: 0 24px 70px rgba(17, 17, 17, 0.16);
    --ease: cubic-bezier(.2, .7, .2, 1);
    --font-display: "Baloo 2", system-ui, sans-serif;
    --font-body: "Manrope", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    overflow-x: hidden;
}
body.is-menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
svg { display: block; }
::selection { color: var(--ink); background: var(--brand); }

h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 {
    font-family: var(--font-display);
    line-height: 1.05;
    letter-spacing: -0.02em;
}

.skip-link {
    position: fixed;
    left: 16px;
    top: -100px;
    z-index: 9999;
    padding: 10px 16px;
    border-radius: 10px;
    color: var(--paper);
    background: var(--ink);
    transition: top .2s ease;
}
.skip-link:focus { top: 16px; }
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
