: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.78;
                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 {
                max-width: var(--wide-width);
                margin: 0 auto;
                padding: 0 var(--s5);
                display: flex;
                align-items: center;
                justify-content: space-between;
                height: 52px;
                gap: var(--s4);
            }

            .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(--earn);
            }

            .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);
            }

            /* ── HERO ── */
            .hero {
                border-bottom: 1px solid var(--border);
                background: var(--paper);
                padding: var(--s8) 0 var(--s7);
            }

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

            .hero-inner {
                max-width: var(--content-width);
            }

            .eyebrow {
                font-family: var(--font-mono);
                font-size: 0.6875rem;
                font-weight: 600;
                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, 6vw, 4.25rem);
                font-weight: 900;
                line-height: 1.06;
                letter-spacing: -0.04em;
                max-width: 760px;
                margin-bottom: var(--s5);
            }

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

            .hero-accent {
                color: var(--earn);
            }

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

            .hero-actions {
                display: flex;
                gap: var(--s3);
                flex-wrap: wrap;
                align-items: center;
                margin-bottom: var(--s5);
            }

            .btn-primary {
                display: inline-block;
                background: var(--ink);
                color: var(--paper);
                padding: 0.875rem 2rem;
                border-radius: var(--radius);
                font-size: 1rem;
                font-weight: 700;
                text-decoration: none;
                transition: opacity 0.15s;
            }

            .btn-primary:hover {
                opacity: 0.88;
                color: var(--paper);
            }

            .btn-ghost {
                display: inline-block;
                background: transparent;
                color: var(--ink-muted);
                padding: 0.625rem 1.25rem;
                border-radius: var(--radius);
                border: 1px solid var(--border-mid);
                font-size: 0.875rem;
                font-weight: 500;
                text-decoration: none;
                transition: border-color 0.15s, color 0.15s;
            }

            .btn-ghost:hover {
                color: var(--ink);
                border-color: var(--ink);
            }

            .hero-byline {
                display: flex;
                align-items: center;
                gap: var(--s3);
                font-size: 0.8125rem;
                color: var(--ink-muted);
                padding-top: var(--s5);
                border-top: 1px solid var(--border);
            }

            .hero-byline img {
                width: 28px;
                height: 28px;
                border-radius: 50%;
                object-fit: cover;
            }

            .hero-byline strong {
                color: var(--ink-light);
                font-weight: 500;
            }

            /* ── PAGE BODY / SECTION GROUPS ── */
            .page-body {
                padding-top: var(--s7);
                padding-bottom: var(--s9);
            }

            .intro {
                max-width: var(--content-width);
                margin-bottom: var(--s9);
            }

            .intro h2 {
                font-family: var(--font-display);
                font-size: 1.75rem;
                font-weight: 700;
                letter-spacing: -0.03em;
                margin-bottom: var(--s3);
            }

            .intro p {
                color: var(--ink-light);
                margin-bottom: var(--s3);
            }

            /* Purpose section */
            .tool-section {
                margin-bottom: var(--s8);
            }

            .tool-section:last-child {
                margin-bottom: 0;
            }

            .section-header {
                display: flex;
                align-items: center;
                gap: var(--s3);
                margin-bottom: var(--s4);
                padding-bottom: var(--s3);
                border-bottom: 1px solid var(--border);
            }

            .section-dot {
                width: 10px;
                height: 10px;
                border-radius: 50%;
                flex-shrink: 0;
            }

            .section-dot.build { background: var(--build); }
            .section-dot.park { background: var(--park); }
            .section-dot.earn { background: var(--earn); }
            .section-dot.risk { background: var(--dare); }
            .section-dot.debt { background: var(--ink-muted); }

            .section-header h2 {
                font-family: var(--font-display);
                font-size: 1.5rem;
                font-weight: 700;
                letter-spacing: -0.02em;
            }

            .section-header p {
                font-size: 0.9375rem;
                color: var(--ink-muted);
                margin-left: auto;
            }

            /* Tool cards grid per section */
            .tool-section-grid {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: var(--s4);
            }

            .tool-card {
                border: 1px solid var(--border);
                border-radius: var(--radius-lg);
                padding: var(--s5);
                background: var(--paper-warm);
                text-decoration: none;
                color: var(--ink);
                transition: transform 0.15s, border-color 0.15s, background 0.15s;
                display: flex;
                flex-direction: column;
            }

            .tool-card:hover {
                transform: translateY(-1px);
                border-color: var(--border-mid);
                background: var(--paper-mid);
            }

            .tool-tag {
                display: inline-flex;
                align-items: center;
                gap: var(--s2);
                font-family: var(--font-mono);
                font-size: 0.625rem;
                font-weight: 500;
                letter-spacing: 0.1em;
                text-transform: uppercase;
                margin-bottom: var(--s3);
            }

            .tool-tag::before {
                content: "";
                width: 14px;
                height: 1px;
                background: currentColor;
                display: inline-block;
            }

            .tool-tag.park { color: var(--park); }
            .tool-tag.earn { color: var(--earn); }
            .tool-tag.build { color: var(--build); }
            .tool-tag.risk { color: var(--dare); }
            .tool-tag.debt { color: var(--ink-muted); }

            .tool-card h3 {
                font-family: var(--font-display);
                font-size: 1.25rem;
                font-weight: 700;
                line-height: 1.2;
                margin-bottom: var(--s3);
            }

            .tool-card p {
                color: var(--ink-light);
                font-size: 0.9375rem;
                line-height: 1.6;
                margin-bottom: var(--s4);
                flex-grow: 1;
            }

            .tool-card .cta {
                font-family: var(--font-mono);
                font-size: 0.75rem;
                letter-spacing: 0.08em;
                text-transform: uppercase;
                color: var(--ink);
                border-bottom: 2px solid var(--border-mid);
                padding-bottom: 1px;
                display: inline-block;
            }

            /* ── FOOTER (shared styles — kept for standalone rendering) ── */
            .site-footer {
                margin-top: 0;
                border-top: 1px solid var(--border);
                background: var(--paper-warm);
                padding: var(--s7) 0 var(--s6);
            }

            .footer-grid {
                display: grid;
                grid-template-columns: 2fr 1fr 1fr 1fr;
                gap: var(--s6);
                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(--earn);
            }

            .footer-brand p {
                color: var(--ink-muted);
                max-width: 220px;
                font-size: 0.875rem;
                line-height: 1.6;
            }

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

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

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

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

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

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

            .footer-disclaimer {
                color: var(--ink-muted);
                font-size: 0.75rem;
                line-height: 1.5;
                max-width: 500px;
            }

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

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

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

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

                .hero {
                    padding: var(--s7) 0 var(--s6);
                }

                .tool-section-grid,
                .footer-grid {
                    grid-template-columns: 1fr;
                }

                .section-header p {
                    display: none;
                }

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