:root {
                --ink: #0f0f0f;
                --ink-light: #3a3a3a;
                --ink-muted: #6b6b6b;
                --paper: #fafaf7;
                --paper-warm: #f4f2ec;
                --paper-mid: #ede9e0;
                --border: #ddd9ce;
                --border-mid: #c8c3b5;
                --park: #2d6a4f;
                --earn: #b5541a;
                --build: #1a3a6b;
                --roam: #5c3d8f;
                --dare: #8b1a1a;
                --park-tint: #eef5f1;
                --earn-tint: #fdf0e8;
                --build-tint: #edf1f8;
                --roam-tint: #f2eefa;
                --dare-tint: #f8eded;
                --font-display: "Playfair Display", Georgia, serif;
                --font-body: "DM Sans", system-ui, sans-serif;
                --font-mono: "DM Mono", "Courier New", monospace;
                --s1: 0.25rem;
                --s2: 0.5rem;
                --s3: 0.75rem;
                --s4: 1rem;
                --s5: 1.5rem;
                --s6: 2rem;
                --s7: 3rem;
                --s8: 4rem;
                --s9: 6rem;
                --content-width: 740px;
                --wide-width: 960px;
                --radius: 4px;
                --radius-lg: 8px;
            }

            *,
            *::before,
            *::after {
                box-sizing: border-box;
                margin: 0;
                padding: 0;
            }

            html {
                scroll-behavior: smooth;
                font-size: 16px;
            }

            body {
                font-family: var(--font-body);
                font-size: 1.0625rem;
                line-height: 1.72;
                color: var(--ink);
                background: var(--paper);
                -webkit-font-smoothing: antialiased;
            }

            a {
                color: var(--ink);
            }

            .site-nav {
                border-bottom: 1px solid var(--border);
                background: var(--paper);
                position: sticky;
                top: 0;
                z-index: 100;
            }

            .nav-inner,
            .hero-inner,
            .page-body,
            .footer-inner {
                max-width: var(--wide-width);
                margin: 0 auto;
                padding: 0 var(--s5);
            }

            .nav-inner {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: var(--s4);
                min-height: 52px;
            }

            .nav-logo {
                font-family: var(--font-display);
                font-size: 1.25rem;
                font-weight: 900;
                letter-spacing: -0.02em;
                text-decoration: none;
            }

            .nav-logo span {
                color: var(--dare);
            }

            .nav-links {
                display: flex;
                flex-wrap: wrap;
                gap: var(--s4);
                list-style: none;
                font-size: 0.8125rem;
                font-weight: 500;
                letter-spacing: 0.04em;
                text-transform: uppercase;
            }

            .nav-links a {
                text-decoration: none;
                color: var(--ink-muted);
                transition: color 0.15s;
            }

            .nav-links a:hover {
                color: var(--ink);
            }

            .nav-links .slot-link {
                position: relative;
            }

            .nav-links .slot-link::after {
                content: "";
                position: absolute;
                left: 0;
                right: 0;
                bottom: -2px;
                height: 2px;
                border-radius: 1px;
                opacity: 0;
                transition: opacity 0.15s;
            }

            .nav-links .slot-link:hover::after {
                opacity: 1;
            }

            .nav-links .park-link::after { background: var(--park); }
            .nav-links .earn-link::after { background: var(--earn); }
            .nav-links .build-link::after { background: var(--build); }
            .nav-links .roam-link::after { background: var(--roam); }
            .nav-links .dare-link::after { background: var(--dare); }

            .hero {
                border-bottom: 1px solid var(--border);
                background: var(--paper);
            }

            .hero-inner {
                padding-top: var(--s8);
                padding-bottom: var(--s7);
            }

            .eyebrow {
                font-family: var(--font-mono);
                font-size: 0.6875rem;
                font-weight: 500;
                letter-spacing: 0.14em;
                text-transform: uppercase;
                color: var(--ink-muted);
                margin-bottom: var(--s4);
                display: flex;
                align-items: center;
                gap: var(--s3);
            }

            .eyebrow::before {
                content: "";
                width: 24px;
                height: 1px;
                background: var(--ink-muted);
                display: inline-block;
            }

            h1 {
                font-family: var(--font-display);
                font-size: clamp(2.75rem, 7vw, 4.75rem);
                font-weight: 900;
                line-height: 1.04;
                letter-spacing: -0.04em;
                max-width: 760px;
                margin-bottom: var(--s5);
            }

            h1 em {
                font-style: italic;
                color: var(--dare);
            }

            .hero-sub {
                font-size: 1.125rem;
                color: var(--ink-light);
                max-width: 620px;
                line-height: 1.65;
            }

            .page-body {
                padding-top: var(--s7);
                padding-bottom: var(--s9);
            }

            .layout {
                display: grid;
                grid-template-columns: 1.2fr 0.8fr;
                gap: var(--s6);
                align-items: start;
            }

            .panel {
                border: 1px solid var(--border);
                border-radius: var(--radius-lg);
                background: var(--paper-warm);
                padding: var(--s6);
            }

            .panel h2,
            .panel h3 {
                font-family: var(--font-display);
                letter-spacing: -0.03em;
            }

            .panel h2 {
                font-size: 1.75rem;
                margin-bottom: var(--s3);
            }

            .panel h3 {
                font-size: 1.25rem;
                margin-bottom: var(--s3);
            }

            .panel p {
                color: var(--ink-light);
                margin-bottom: var(--s4);
            }

            .calculator {
                display: grid;
                gap: var(--s4);
            }

            .field {
                display: grid;
                gap: var(--s2);
            }

            label {
                font-family: var(--font-mono);
                font-size: 0.6875rem;
                letter-spacing: 0.12em;
                text-transform: uppercase;
                color: var(--ink-muted);
            }

            input {
                width: 100%;
                border: 1px solid var(--border-mid);
                border-radius: var(--radius);
                background: var(--paper);
                color: var(--ink);
                padding: 0.85rem 0.95rem;
                font: inherit;
            }

            input:focus {
                outline: 2px solid color-mix(in srgb, var(--dare) 30%, transparent);
                outline-offset: 1px;
                border-color: var(--dare);
            }

            .actions {
                display: flex;
                flex-wrap: wrap;
                gap: var(--s3);
                margin-top: var(--s2);
            }

            .btn {
                appearance: none;
                border: 1px solid var(--border-mid);
                background: var(--paper-mid);
                color: var(--ink);
                border-radius: 999px;
                padding: 0.8rem 1rem;
                font: inherit;
                font-weight: 600;
                cursor: pointer;
            }

            .btn.primary {
                background: var(--dare);
                color: white;
                border-color: var(--dare);
            }

            .result-card {
                background: var(--dare-tint);
                border: 1px solid var(--dare);
                border-radius: var(--radius-lg);
                padding: var(--s5);
                margin-top: var(--s5);
            }

            .result-card .label {
                font-family: var(--font-mono);
                font-size: 0.6875rem;
                letter-spacing: 0.12em;
                text-transform: uppercase;
                color: var(--dare);
                margin-bottom: var(--s2);
            }

            .result-value {
                font-family: var(--font-display);
                font-size: clamp(2rem, 5vw, 3rem);
                font-weight: 900;
                letter-spacing: -0.04em;
                line-height: 1;
                margin-bottom: var(--s2);
            }

            .result-note {
                font-size: 0.9375rem;
                color: var(--ink-light);
            }

            .comparison {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: var(--s4);
                margin-top: var(--s4);
                padding-top: var(--s4);
                border-top: 1px solid color-mix(in srgb, var(--dare) 20%, transparent);
            }

            .comparison-card {
                padding: var(--s3) var(--s4);
                border-radius: var(--radius);
                background: var(--paper);
            }

            .comparison-card h4 {
                font-family: var(--font-mono);
                font-size: 0.6875rem;
                letter-spacing: 0.1em;
                text-transform: uppercase;
                color: var(--ink-muted);
                margin-bottom: var(--s2);
            }

            .comparison-card .months {
                font-family: var(--font-display);
                font-size: 1.5rem;
                font-weight: 900;
                letter-spacing: -0.02em;
            }

            .comparison-card .interest {
                font-size: 0.9375rem;
                color: var(--ink-light);
            }

            .comparison-card.snowball { border-left: 3px solid var(--earn); }
            .comparison-card.avalanche { border-left: 3px solid var(--park); }

            .savings-badge {
                display: inline-block;
                margin-top: var(--s3);
                padding: var(--s1) var(--s3);
                background: color-mix(in srgb, var(--park) 12%, transparent);
                border-radius: var(--radius);
                font-family: var(--font-mono);
                font-size: 0.75rem;
                color: var(--park);
                font-weight: 600;
            }

            .formula,
            .notes,
            .links-card {
                margin-top: var(--s5);
            }

            .formula code {
                display: block;
                border-radius: var(--radius);
                padding: var(--s4);
                background: var(--paper);
                border: 1px solid var(--border);
                font-family: var(--font-mono);
                font-size: 0.875rem;
                color: var(--ink-light);
            }

            .mini-list {
                list-style: none;
            }

            .mini-list li + li {
                margin-top: var(--s3);
            }

            .mini-list a {
                text-decoration: none;
                color: var(--ink);
            }

            .mini-list a:hover {
                text-decoration: underline;
            }

            .site-footer {
                margin-top: 0;
                border-top: 1px solid var(--border);
                background: var(--paper);
                padding: var(--s7) 0 var(--s6);
            }

            .footer-grid {
                display: grid;
                grid-template-columns: 2fr 1fr 1fr 1fr;
                gap: var(--s5);
                margin-bottom: var(--s7);
            }

            .footer-brand .brand-name {
                font-family: var(--font-display);
                font-size: 1.25rem;
                font-weight: 900;
                letter-spacing: -0.02em;
                margin-bottom: var(--s3);
            }

            .footer-brand .brand-name span {
                color: var(--dare);
            }

            .footer-brand p {
                color: var(--ink-light);
                max-width: 260px;
                font-size: 0.9375rem;
            }

            .footer-col h4 {
                font-family: var(--font-mono);
                font-size: 0.6875rem;
                letter-spacing: 0.14em;
                text-transform: uppercase;
                color: var(--ink-muted);
                margin-bottom: var(--s3);
            }

            .footer-col ul {
                list-style: none;
            }

            .footer-col li + li {
                margin-top: var(--s2);
            }

            .footer-col a {
                color: var(--ink);
                text-decoration: none;
                font-size: 0.9375rem;
            }

            .footer-col a:hover {
                text-decoration: underline;
            }

            .footer-bottom {
                display: flex;
                align-items: flex-end;
                justify-content: space-between;
                gap: var(--s5);
                padding-top: var(--s5);
                border-top: 1px solid var(--border);
            }

            .footer-disclaimer {
                color: var(--ink-muted);
                font-size: 0.875rem;
                line-height: 1.55;
                max-width: 720px;
            }

            .footer-links {
                display: flex;
                flex-wrap: wrap;
                gap: var(--s4);
                font-size: 0.875rem;
            }

            .footer-links a {
                color: var(--ink-muted);
                text-decoration: none;
            }

            .footer-links a:hover {
                color: var(--ink);
            }

            @media (max-width: 900px) {
                .layout,
                .footer-grid {
                    grid-template-columns: 1fr;
                }

                .comparison {
                    grid-template-columns: 1fr;
                }
            }

            @media (max-width: 800px) {
                .nav-inner {
                    height: auto;
                    padding-top: var(--s3);
                    padding-bottom: var(--s3);
                    flex-direction: column;
                    align-items: flex-start;
                }

                .hero-inner {
                    padding-top: var(--s7);
                    padding-bottom: var(--s6);
                }

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