/* Design tokens and base styles of the public site. */

:root {
    --c-sand: #EFE6DA;          /* page background */
    --c-ivory: #FAF6F0;
    --c-card: #FBF8F4;
    --c-white: #FFFFFF;
    --c-ink: #1A1A1A;
    --c-ink-2: #4B3F40;
    --c-ink-soft: #3B3333;
    --c-accent: #6E1423;        /* burgundy */
    --c-accent-hover: #560F1B;
    --c-cream: #F4E9DC;         /* text on burgundy */
    --c-cream-2: rgba(244, 233, 220, .86);
    --c-gold: #D9B88F;
    --c-line: rgba(110, 20, 35, .28);
    --c-frame: rgba(110, 20, 35, .5);

    --font-serif: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
    --font-sans: "Jost", "Helvetica Neue", Arial, system-ui, sans-serif;
    /* handwritten, for the hero title */
    --font-script: "Great Vibes", "Cormorant Garamond", Georgia, cursive;

    --gutter: clamp(16px, 4vw, 56px);
    --shadow-btn: 0 10px 22px -12px rgba(110, 20, 35, .6);
}

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

html {
    background: var(--c-sand);
    scroll-behavior: smooth;
}

body {
    margin: 0;
    overflow-x: hidden;
    overflow-x: clip;
    background: var(--c-sand);
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-weight: 400;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

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

/* hidden means hidden, even on elements whose class sets a display */
[hidden] { display: none !important; }

a { color: inherit; }

[id] { scroll-margin-top: 24px; }

:where(a, button, [tabindex]):focus-visible {
    outline: 2px solid var(--c-accent);
    outline-offset: 3px;
}

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

    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        transition-delay: 0s !important;
    }
}
