/* ==========================================================================
   ALMU.EID — design tokens
   Palette sampled directly from the approved mockup illustration.
   ========================================================================== */
:root {
    --color-orange: #f2600f;
    --color-orange-dark: #d6510a;
    --color-crimson: #ae0b2a;
    --color-maroon: #73070e;
    --color-charcoal: #3f484b;
    --color-ink: #1c2022;
    --color-body: #5b6265;
    --color-bg: #ffffff;
    --color-bg-soft: #f6f6f6;
    --color-border: #e6e5e3;

    --font-display: "Baloo 2", "Inter", sans-serif;
    --font-body: "Inter", sans-serif;

    --radius-md: 10px;
    --radius-lg: 18px;
    --shell-width: 1180px;
    --shadow-card: 0 12px 30px rgba(28, 32, 34, 0.06);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

html, body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    margin: 0;
    font-family: var(--font-body);
    color: var(--color-ink);
    background: var(--color-bg);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
    font-family: var(--font-display);
    color: var(--color-ink);
    margin: 0;
    line-height: 1.15;
}

p { margin: 0; }

a { color: inherit; text-decoration: none; }

img { max-width: 100%; display: block; }

button { font-family: inherit; cursor: pointer; }

.shell {
    max-width: var(--shell-width);
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 24px);
}

.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.skip-link {
    position: absolute;
    left: -999px;
    top: 0;
    background: var(--color-ink);
    color: #fff;
    padding: 10px 16px;
    z-index: 200;
}
.skip-link:focus { left: 0; }

:focus-visible {
    outline: 3px solid var(--color-orange);
    outline-offset: 2px;
}

/* Respect reduced-motion preferences (applies site-wide) */
@media (prefers-reduced-motion: reduce) {
    * { transition: none !important; scroll-behavior: auto !important; }
}

@media (max-width: 768px) {
    .shell { padding-inline: 18px; }
}
