        /* Ivy Presto Headline Fonts */
        @font-face {
            font-family: 'IvyPresto Headline';
            src: url('../fonts/ivy-presto-headline-thin.woff2') format('woff2');
            font-weight: 100;
            font-style: normal;
            font-display: swap;
        }

        /* IvyPresto Body Fonts */
        @font-face {
            font-family: 'IvyPresto';
            src: url('../fonts/ivy-presto-text-light.woff2') format('woff2');
            font-weight: 300; 
            font-style: normal;
            font-display: swap;
        }

        /* Oakes Font */
        @font-face {
            font-family: 'Oakes';
            src: url('../fonts/oakes-grotesk-light.woff2') format('woff2');
            font-weight: 300; 
            font-style: normal;
            font-display: swap;
        }

        :root {
            --brand-green: #4a5d23;
            --brand-cream: #f4f1e8; /* Tan background */
            --brand-tan-dark: #d4c9a8; /* Darker tan for menu */
            --brand-gold: #A57C00;
            --brand-dark: #1a1a1a;
            --brand-navy: #162a4d; 
            --brand-secondary-green: #3a4b1c;
            --circuit-trace: #A57C00; /* Gold trace color */
        }

        body {
            font-family: 'DM Sans', sans-serif;
            background-color: var(--brand-cream);
            color: var(--brand-navy);
        }

        h1, h2, h3, .serif {
            font-family: 'Playfair Display', serif;
        }

        /* Cormorant Garamond Light for name and main headers */
        .font-cormorant {
            font-family: 'Cormorant Garamond', serif;
            font-weight: 300;
        }

        /* IvyPresto Headline Thin for name and main headers */
        .font-ivy-hd-thin {
            font-family: 'IvyPresto Headline', serif;
            font-weight: 100;
        }

        /* IvyPresto Text Light for subheaders */
        .font-ivy-txt-lgt {
            font-family: 'IvyPresto', serif;
            font-weight: 300;
        }

        /* Oakes Grotesk Light for subheaders */
        .font-oakes-lgt {
            font-family: 'Oakes', serif;
            font-weight: 300;
        }

        /* Subtle shading for legibility */
        .text-shading {
            text-shadow: 0px 2px 4px rgba(22, 42, 77, 0.12);
        }

        .bg-brand-green { background-color: var(--brand-green); }
        .text-brand-green { color: var(--brand-green); }
        .text-brand-gold { color: var(--brand-gold); }
        .text-brand-navy { color: var(--brand-navy); }
        .bg-brand-cream { background-color: var(--brand-cream); }
        .bg-brand-navy { background-color: var(--brand-navy); }
        .bg-brand-gold { background-color: var(--brand-gold); }
        .bg-brand-tan-dark { background-color: var(--brand-tan-dark); }
        .border-brand-gold { border-color: var(--brand-gold); }
        .border-brand-navy { border-color: var(--brand-navy); }
        
        /* Smooth scrolling */
        html { scroll-behavior: smooth; }

        /* Custom Placeholder Styling */
        .img-placeholder {
            background: linear-gradient(135deg, #e2e2e2 25%, #d1d1d1 50%, #e2e2e2 75%);
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px dashed var(--brand-gold);
            color: var(--brand-gold);
            font-family: 'Playfair Display', serif;
            font-style: italic;
        }

        /* Circuit Board Background Pattern mirroring the reference image with gold traces */
        .circuit-pattern {
            background-color: var(--brand-cream);
            background-image: url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23A57C00' stroke-width='0.8' stroke-opacity='0.2'%3E%3Cpath d='M20 0v40l10 10v60l-10 10v80'/%3E%3Cpath d='M60 0v70l-20 20v110'/%3E%3Cpath d='M100 0v20l20 20v100l-20 20v40'/%3E%3Cpath d='M140 0v110l20 20v70'/%3E%3Cpath d='M180 0v50l-10 10v140'/%3E%3Cpath d='M0 40h10l10 10'/%3E%3Cpath d='M200 130h-30l-10 10'/%3E%3Ccircle cx='20' cy='40' r='2' fill='%23A57C00' fill-opacity='0.3'/%3E%3Ccircle cx='30' cy='110' r='2' fill='%23A57C00' fill-opacity='0.3'/%3E%3Ccircle cx='60' cy='70' r='2' fill='%23A57C00' fill-opacity='0.3'/%3E%3Ccircle cx='100' cy='20' r='2' fill='%23A57C00' fill-opacity='0.3'/%3E%3Ccircle cx='120' cy='140' r='2' fill='%23A57C00' fill-opacity='0.3'/%3E%3Ccircle cx='140' cy='110' r='2' fill='%23A57C00' fill-opacity='0.3'/%3E%3Ccircle cx='180' cy='50' r='2' fill='%23A57C00' fill-opacity='0.3'/%3E%3C/g%3E%3C/svg%3E");
            background-size: 300px 300px;
        }

        /* Carousel Animation */
        @keyframes scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .marquee-container {
            overflow: hidden;
            white-space: nowrap;
            position: relative;
        }

        .marquee-content {
            display: inline-flex;
            animation: scroll 30s linear infinite;
            width: max-content;
        }

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

        /* Sticky nav styling to transition on scroll */
        nav.is-sticky {
            background-color: var(--brand-cream) !important;
            box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
        }

        /* Custom Scrollbar Hiding for Native Carousel */
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }
        .no-scrollbar {
            -ms-overflow-style: none;  /* IE and Edge */
            scrollbar-width: none;  /* Firefox */
        }

        /* Sticky nav styling to transition on scroll */
        nav.is-sticky {
            background-color: var(--brand-cream) !important;
            box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
        }
        