:root {
            --wp--preset--spacing--30: 1.5rem;
            --wp--preset--spacing--40: 2rem;
            --wp--preset--spacing--50: 3rem;
            --wp--preset--spacing--60: 4rem;
            --wp--preset--spacing--70: 5.6rem;
            --additional-brown: #462a08;
            --background-cream: #fff8f2;
            --coptic-gold: #D4AF37;
        }

        * { box-sizing: border-box; scroll-behavior: smooth; }

        body {
            background-color: var(--background-cream);
            margin: 0;
            font-family: 'DM Sans', sans-serif;
            color: #2D3748;
            line-height: 1.7;
        }

        h1, h2, h3, h4, .serif {
            font-family: 'EB Garamond', serif;
            color: #000;
            margin: 0;
        }

        .btn-terravan {
            background-color: var(--additional-brown);
            color: #fff8f2;
            padding: 0.8rem 2rem;
            border-radius: 37px;
            font-weight: 500;
            font-size: 1rem;
            transition: all 0.3s ease;
            display: inline-block;
            text-decoration: none;
        }

        .btn-terravan:hover {
            opacity: 0.9;
            transform: translateY(-2px);
        }

        .split-hero-card {
            background-color: #fff;
            border-radius: 26px;
            padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
        }

        .info-card {
            background-color: #fff;
            border-radius: 18px;
            padding: var(--wp--preset--spacing--30);
            box-shadow: 0 4px 12px rgba(0,0,0,0.02);
            border: 1px solid rgba(0,0,0,0.03);
            height: 100%;
        }

        section {
            padding: var(--wp--preset--spacing--70) 0;
        }

        .content-container {
            max-width: 100vw;
            margin: 0 auto;
            padding: 0 var(--wp--preset--spacing--30);
        }

        .uppercase-tag {
            text-transform: uppercase;
            letter-spacing: 0.15em;
            font-weight: 500;
            font-size: 0.8rem;
            color: var(--additional-brown);
            margin-bottom: 1rem;
            display: block;
        }

        .heading-xl {
            font-size: 4.5rem;
            line-height: 1.05;
            margin-bottom: var(--wp--preset--spacing--40);
        }

        .image-gen-box {
            background-color: #f0ebe4;
            border-radius: 26px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 0;
            height: 100%;
            position: relative;
        }

        .spinner {
            border: 3px solid rgba(70, 42, 8, 0.1);
            width: 32px;
            height: 32px;
            border-radius: 50%;
            border-left-color: var(--additional-brown);
            animation: spin 1s linear infinite;
        }

        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

        mark { background-color: transparent; color: var(--additional-brown); font-weight: bold; }

        @media (max-width: 100vw) {
            .heading-xl { font-size: 2.5rem; }
        }
