        :root {
            --bg: #f4efe6;
            --bg-accent: #dcecb8;
            --surface: rgba(255, 252, 245, 0.82);
            --surface-strong: rgba(255, 255, 255, 0.96);
            --text: #152514;
            --muted: #4b5f4c;
            --border: rgba(21, 37, 20, 0.12);
            --shadow: 0 24px 80px rgba(45, 69, 28, 0.14);
            --button: #152514;
            --button-text: #f9f7f1;
            --chip: rgba(21, 37, 20, 0.06);
            --hero-glow: radial-gradient(circle at top left, rgba(197, 231, 84, 0.65), transparent 46%);
        }

        [data-theme="dark"] {
            --bg: #0c140f;
            --bg-accent: #1b2a1d;
            --surface: rgba(16, 24, 19, 0.8);
            --surface-strong: rgba(15, 22, 18, 0.96);
            --text: #eef5df;
            --muted: #a6b89d;
            --border: rgba(238, 245, 223, 0.12);
            --shadow: 0 24px 80px rgba(0, 0, 0, 0.42);
            --button: #d9ef72;
            --button-text: #132015;
            --chip: rgba(217, 239, 114, 0.1);
            --hero-glow: radial-gradient(circle at top left, rgba(174, 233, 80, 0.18), transparent 52%);
        }

        * {
            box-sizing: border-box;
        }

        html {
            min-height: 100%;
            background:
                var(--hero-glow),
                linear-gradient(180deg, var(--bg) 0%, var(--bg-accent) 100%);
            color: var(--text);
        }

        body {
            margin: 0;
            min-height: 100vh;
            font-family: "Segoe UI", "Helvetica Neue", sans-serif;
            color: var(--text);
            background: transparent;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        .page {
            width: min(1120px, calc(100vw - 32px));
            margin: 0 auto;
            padding: 20px 0 32px;
        }

        .shell {
            min-height: calc(100vh - 52px);
            display: grid;
            grid-template-rows: auto 1fr auto;
            gap: 20px;
            padding: clamp(16px, 3vw, 28px);
            border: 1px solid var(--border);
            border-radius: 28px;
            background: var(--surface);
            backdrop-filter: blur(20px);
            box-shadow: var(--shadow);
        }

        .topbar,
        .footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
        }

        .brand {
            display: inline-flex;
            align-items: center;
            gap: 14px;
            min-width: 0;
        }

        .brand img {
            width: clamp(52px, 7vw, 72px);
            height: auto;
            display: block;
        }

        .brand-name {
            font-size: 0.95rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .controls {
            display: inline-flex;
            align-items: center;
            justify-content: flex-end;
        }

        .utility-dock {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 6px;
            border-radius: 999px;
            border: 1px solid var(--border);
            background: color-mix(in srgb, var(--surface-strong) 92%, transparent);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
        }

        .utility-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            min-height: 42px;
            padding: 0 14px;
            border-radius: 999px;
            border: 1px solid transparent;
            background: var(--surface-strong);
            color: var(--text);
            font: inherit;
            font-weight: 600;
            font-size: 0.95rem;
            letter-spacing: 0.01em;
            line-height: 1;
            cursor: pointer;
            box-shadow: 0 10px 24px rgba(21, 37, 20, 0.08);
            transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
        }

        .utility-button:hover,
        .utility-button:focus-visible {
            border-color: var(--border);
            transform: translateY(-1px);
        }

        .icon {
            width: 18px;
            height: 18px;
            display: block;
            flex: 0 0 auto;
        }

        .dock-separator {
            width: 1px;
            height: 26px;
            background: var(--border);
        }

        .toggle-button {
            min-width: 58px;
        }

        .theme-button {
            min-width: 52px;
        }

        .hero {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
            gap: clamp(24px, 5vw, 56px);
            align-items: center;
            padding: clamp(16px, 2vw, 8px) 0;
        }

        .copy {
            max-width: 640px;
        }

        .eyebrow {
            display: inline-flex;
            margin: 0 0 18px;
            padding: 8px 14px;
            border-radius: 999px;
            background: var(--chip);
            color: var(--muted);
            font-size: 0.78rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        h1 {
            margin: 0;
            font-size: clamp(2.8rem, 8vw, 5.8rem);
            line-height: 0.95;
            letter-spacing: -0.05em;
        }

        .lead {
            margin: 22px 0 0;
            max-width: 56ch;
            font-size: clamp(1rem, 2vw, 1.15rem);
            line-height: 1.65;
            color: var(--muted);
        }

        .pills {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin: 28px 0 0;
            padding: 0;
            list-style: none;
        }

        .pills li {
            padding: 12px 16px;
            border-radius: 999px;
            background: var(--surface-strong);
            border: 1px solid var(--border);
            font-size: 0.95rem;
            font-weight: 600;
        }

        .panel {
            position: relative;
            overflow: hidden;
            padding: clamp(22px, 4vw, 34px);
            border-radius: 28px;
            border: 1px solid var(--border);
            background:
                linear-gradient(145deg, rgba(255, 255, 255, 0.1), transparent),
                var(--surface-strong);
            min-height: 320px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
        }

        .panel::before {
            content: "";
            position: absolute;
            inset: auto -12% 58% auto;
            width: 220px;
            aspect-ratio: 1;
            border-radius: 50%;
            background: rgba(174, 233, 80, 0.24);
            filter: blur(8px);
        }

        .panel img {
            position: absolute;
            top: 26px;
            right: 26px;
            width: min(58%, 300px);
            height: auto;
        }

        .panel h2 {
            margin: 0 0 10px;
            font-size: clamp(1.35rem, 3vw, 1.9rem);
            line-height: 1.1;
        }

        .panel p {
            margin: 0;
            color: var(--muted);
            line-height: 1.6;
            max-width: 34ch;
        }

        .footer {
            color: var(--muted);
            font-size: 0.92rem;
        }

        .modal {
            width: min(560px, calc(100vw - 32px));
            padding: 0;
            border: 1px solid var(--border);
            border-radius: 24px;
            background: var(--surface-strong);
            color: var(--text);
            box-shadow: 0 30px 120px rgba(0, 0, 0, 0.32);
        }

        .modal::backdrop {
            background: rgba(8, 14, 10, 0.55);
            backdrop-filter: blur(8px);
        }

        .modal-body {
            padding: 24px;
        }

        .modal-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 18px;
        }

        .modal-head h2 {
            margin: 0;
            font-size: 1.35rem;
        }

        .modal-head p {
            margin: 6px 0 0;
            color: var(--muted);
        }

        .modal-close {
            flex: 0 0 auto;
        }

        .legal-list {
            display: grid;
            gap: 14px;
            margin: 0;
        }

        .legal-row {
            display: grid;
            grid-template-columns: 120px 1fr;
            gap: 12px;
            padding-top: 14px;
            border-top: 1px solid var(--border);
        }

        .legal-row dt {
            margin: 0;
            color: var(--muted);
            font-weight: 600;
        }

        .legal-row dd {
            margin: 0;
            line-height: 1.6;
            white-space: pre-line;
        }

        .footer span:last-child {
            white-space: nowrap;
        }

        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        @media (max-width: 860px) {
            .hero {
                grid-template-columns: 1fr;
            }

            .panel {
                min-height: 280px;
            }
        }

        @media (max-width: 640px) {
            .page {
                width: min(100vw - 16px, 1120px);
                padding: 8px 0 16px;
            }

            .shell {
                min-height: calc(100vh - 24px);
                border-radius: 22px;
            }

            .topbar,
            .footer {
                align-items: flex-start;
                flex-direction: column;
            }

            .controls {
                width: 100%;
                justify-content: flex-start;
            }

            .utility-dock {
                width: 100%;
                justify-content: space-between;
                border-radius: 22px;
            }

            .dock-separator {
                display: none;
            }

            .utility-button {
                padding-inline: 14px;
            }

            .brand-name {
                white-space: normal;
            }

            h1 {
                font-size: clamp(2.4rem, 15vw, 4rem);
            }

            .panel img {
                width: min(54%, 200px);
                top: 20px;
                right: 20px;
            }

            .legal-row {
                grid-template-columns: 1fr;
                gap: 6px;
            }
        }
