/* The Legacy Mandate — brand tokens shared by both versions.
   Palette from the brand board: Royal Navy 60%, White 30%, Sky Blue 10%.
   Type: Playfair Display (headlines), Montserrat (labels, accents), Inter (body). */
:root {
    --navy: #0f2b5b;
    --navy-deep: #081c40;
    --navy-ink: #040e26;
    --sky: #3bafda;
    --sky-soft: #9bd8ef;
    --sky-wash: #e8f5fb;
    --white: #ffffff;
    --mist: #f3f6fa;
    --ink: #0f2b5b;
    --muted: rgba(15, 43, 91, 0.66);
    --line: rgba(15, 43, 91, 0.14);

    --display: 'Playfair Display', 'Times New Roman', Georgia, serif;
    --label: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
    --body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

    --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

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

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

body {
    margin: 0;
    font-family: var(--body);
    color: var(--ink);
    background: var(--white);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

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

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

button {
    font: inherit;
    color: inherit;
}

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

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
