body {
            background-color: #F7F4EE;
            color: #151412;
            font-family: 'Montserrat', sans-serif;
            overflow-x: hidden;
            background-image: radial-gradient(rgba(184, 146, 44, 0.07) 1px, transparent 0);
            background-size: 32px 32px;
        }

        h1,
        h2,
        h3,
        h4,
        .font-serif {
            font-family: 'Cormorant Garamond', Georgia, serif;
        }

        .font-cinzel {
            font-family: 'Cinzel', serif;
        }

        .gold-foil-text {
            background: linear-gradient(135deg, #FCF7E8 0%, #D4AF37 35%, #F4E7BF 65%, #9B7826 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .gold-border-double {
            border: 1px solid rgba(212, 175, 55, 0.45);
            outline: 1px solid rgba(212, 175, 55, 0.22);
            outline-offset: -5px;
        }

        .wax-seal {
            background: radial-gradient(circle at 35% 35%, #7B1C28, #5E141E 60%, #20050A 100%);
            box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.3), inset 0 -3px 6px rgba(0, 0, 0, 0.7), 0 8px 18px rgba(13, 27, 19, 0.45);
        }

        .weave-pattern-front {
            background-color: #5E141E;
            background-image: repeating-linear-gradient(45deg, rgba(212, 175, 55, 0.22) 0px, rgba(212, 175, 55, 0.22) 2px, transparent 2px, transparent 6px), repeating-linear-gradient(-45deg, rgba(212, 175, 55, 0.18) 0px, rgba(212, 175, 55, 0.18) 2px, transparent 2px, transparent 6px);
        }

        .weave-pattern-kadwa-reverse {
            background-color: #3D0A12;
            background-image: repeating-linear-gradient(90deg, rgba(212, 175, 55, 0.35) 0px, rgba(212, 175, 55, 0.35) 1px, transparent 1px, transparent 3px), repeating-linear-gradient(0deg, rgba(13, 27, 19, 0.4) 0px, rgba(13, 27, 19, 0.4) 1px, transparent 1px, transparent 3px);
        }

        @keyframes marquee {
            0% {
                transform: translateX(0%);
            }

            100% {
                transform: translateX(-50%);
            }
        }

        .animate-marquee {
            display: flex;
            width: max-content;
            animation: marquee 36s linear infinite;
        }

        .animate-marquee:hover {
            animation-play-state: paused;
        }

        /* Seamless SPA Page Transitions */
        .page-view {
            display: none;
            animation: fadeInPage 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        .page-view.active {
            display: block;
        }

        @keyframes fadeInPage {
            from {
                opacity: 0;
                transform: translateY(6px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        ::-webkit-scrollbar {
            width: 6px;
        }

        ::-webkit-scrollbar-track {
            background: #070F0A;
        }

        ::-webkit-scrollbar-thumb {
            background: #B8922C;
        }
    
        /* Responsive hardening */
        *, *::before, *::after { box-sizing: border-box; }
        html { -webkit-text-size-adjust: 100%; scroll-padding-top: 6rem; }
        body { min-width: 320px; }
        img, svg, video, canvas { max-width: 100%; }
        button, input, select, textarea { font: inherit; }
        button, a, select { -webkit-tap-highlight-color: transparent; }
        button { touch-action: manipulation; }
        input, select, textarea { max-width: 100%; }
        :focus-visible { outline: 2px solid #D4AF37; outline-offset: 3px; }
        @media (max-width: 640px) {
            .tracking-widest, .tracking-[0.28em], .tracking-[0.3em], .tracking-[0.34em] { letter-spacing: .12em; }
            #archive-weaves-grid { grid-template-columns: minmax(0, 1fr); }
            #contact-commission-form input, #contact-commission-form select,
            #contact-commission-form textarea { min-height: 44px; }
            #contact-commission-form textarea { min-height: 120px; }
            .animate-marquee { animation-duration: 52s; }
        }
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important;
                animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
        }

        /* Consistent forest-green / antique-gold navigation and controls */
        header, header nav, header button, header a { color-scheme: dark; }
        header { background-color: rgba(13, 27, 19, 0.98) !important; color: #F7F4EE; }
        header .nav-link {
            color: rgba(239, 233, 222, 0.82) !important;
            background: transparent !important;
            border-top: 0 !important;
            border-left: 0 !important;
            border-right: 0 !important;
        }
        header .nav-link:hover,
        header .nav-link:focus-visible { color: #E5C378 !important; }
        header .nav-link.border-gold-400,
        header .nav-link.text-gold-300 { color: #E5C378 !important; }
        #ambient-audio-btn { background: #0D1B13 !important; color: #D4AF37 !important; }
        #ambient-audio-btn:hover, #ambient-audio-btn:focus-visible {
            background: #172E21 !important; color: #F4E7BF !important;
        }
        #currency-selector { background-color: #070F0A !important; color: #E5C378 !important; }
        @media (max-width: 639px) {
            header .font-serif { overflow-wrap: anywhere; }
            #ambient-audio-btn, #currency-selector { min-height: 40px; }
        }

        /* Archive collection heading: high-contrast brand colors on parchment. */
        #archive-collection-section { background-color: #F7F4EE; }
        #archive-collection-section .archive-section-kicker {
            color: #5E141E !important;
            -webkit-text-fill-color: #5E141E !important;
            background: none !important;
            opacity: 1 !important;
            font-weight: 700 !important;
            text-shadow: none !important;
        }
        #archive-collection-section .archive-section-title {
            color: #0D1B13 !important;
            -webkit-text-fill-color: #0D1B13 !important;
            background: none !important;
            opacity: 1 !important;
            text-shadow: none !important;
            font-weight: 500 !important;
        }
        #archive-collection-section .archive-section-title::selection,
        #archive-collection-section .archive-section-kicker::selection {
            background: #0D1B13;
            color: #F7F4EE;
            -webkit-text-fill-color: #F7F4EE;
        }
