        :root {
            --blue:      #1C1DAA;
            --blue-dark: #080940;
            --gold:      #C5A059;
            --cream:     #FAF8F5;
        }

        *, *::before, *::after { box-sizing: border-box; }
        html { scroll-behavior: auto; overflow-x: hidden; }
        a:focus-visible, button:focus-visible {
            outline: 1px solid var(--gold);
            outline-offset: 4px;
            border-radius: 2px;
        }
        a:focus:not(:focus-visible), button:focus:not(:focus-visible) { outline: none; }
        body {
            font-family: 'Prompt', sans-serif;
            background-color: var(--cream);
            color: #1a1a1a;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }


        /* ── SCROLLBAR ── */
        ::-webkit-scrollbar { width: 0; }


        /* ── SHARED ── */
        section { padding: 80px 20px; scroll-margin-top: var(--nav-h, 90px); }
        @media (min-width: 640px) { section { padding: 120px 40px; } }
        @media (min-width: 1024px) { section { padding: 200px 96px; } }

        .section-label, .sec-tag {
            font-family: 'Cormorant Garamond', serif;
            font-size: 9px; letter-spacing: 0.5em;
            text-transform: uppercase; display: block;
            margin-bottom: 40px;
        }
        @media (min-width: 768px) { .section-label { margin-bottom: 56px; } }
        .section-label-light { color: rgba(255,255,255,0.2); }
        .section-label-dark  { color: rgba(0,0,0,0.22); }

        .cr  { overflow: hidden; }
        .cri { display: block; transform: translateY(108%); }
        .fu  { opacity: 0; transform: translateY(24px); }
        .gline { display: block; height: 1px; background: var(--gold); margin-bottom: 24px; width: 0; }

