body { overflow-x: clip; }

:root {
            --clarity: 0;
        }

        /* ─── CHAOS SECTION ─────────────────────────── */
        .chaos-section {
            position: relative;
            height: 200vh;
            background: var(--darker-bg);
            z-index: 1;
        }

        .chaos-stage {
            position: sticky;
            top: 0;
            height: 100vh;
            width: 100%;
            overflow-x: clip;
            background: var(--darker-bg);
        }

        /* Dot-grid background, intensifies with clarity */
        .chaos-stage::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: radial-gradient(circle, rgba(201,176,55,0.11) 1px, transparent 1px);
            background-size: 32px 32px;
            opacity: calc(0.4 + 0.6 * var(--clarity, 0));
            pointer-events: none;
            z-index: 1;
        }

        /* Vignette darkens toward edges as clarity arrives, focusing attention center */
        .chaos-stage::after {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse at center, transparent 25%, rgba(5,8,16,0.85) 95%);
            opacity: calc(0.3 + 0.7 * var(--clarity, 0));
            pointer-events: none;
            z-index: 5;
        }

        /* ─── Chaos: ticker tapes ─────────── */
        .chaos-ticker {
            position: absolute;
            left: -10%;
            white-space: nowrap;
            font-family: 'SF Mono', Menlo, Monaco, 'Courier New', monospace;
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 0.04em;
            opacity: calc((1 - var(--clarity, 0)) * 0.9);
            filter: blur(calc(2.5px * (1 - var(--clarity, 0))));
            will-change: transform, opacity;
            pointer-events: none;
            z-index: 2;
        }

        .chaos-ticker-1 {
            top: 14%;
            color: rgba(255,90,90,0.65);
            animation: tickerScrollL 32s linear infinite;
        }
        .chaos-ticker-2 {
            top: 42%;
            color: rgba(100,220,120,0.65);
            animation: tickerScrollR 38s linear infinite;
        }
        .chaos-ticker-3 {
            top: 76%;
            color: rgba(201,176,55,0.55);
            animation: tickerScrollL 44s linear infinite;
        }

        @keyframes tickerScrollL {
            from { transform: translateX(0); }
            to   { transform: translateX(-50%); }
        }
        @keyframes tickerScrollR {
            from { transform: translateX(-50%); }
            to   { transform: translateX(0); }
        }

        /* ─── Chaos: clickbait headlines ───── */
        .chaos-headline {
            position: absolute;
            font-style: italic;
            font-weight: 500;
            font-size: 1.05rem;
            line-height: 1.3;
            max-width: 280px;
            opacity: calc(1 - var(--clarity, 0));
            filter: blur(calc(1.5px * (1 - var(--clarity, 0))));
            pointer-events: none;
            will-change: opacity, transform, filter;
            z-index: 3;
        }

        .chaos-headline-1 {
            top: 7%; left: 4%;
            font-size: 1.18rem;
            color: rgba(255,80,80,0.7);
            animation: pulseFloat 4.2s ease-in-out infinite;
        }
        .chaos-headline-2 {
            top: 23%; right: 4%;
            color: rgba(100,220,120,0.7);
            animation: pulseFloat 5.5s ease-in-out infinite 0.8s;
            text-align: right;
        }
        .chaos-headline-3 {
            top: 56%; left: 5%;
            color: rgba(255,200,80,0.7);
            animation: pulseFloat 4.8s ease-in-out infinite 1.5s;
        }
        .chaos-headline-4 {
            bottom: 14%; right: 7%;
            color: rgba(180,120,255,0.65);
            animation: pulseFloat 5.2s ease-in-out infinite 0.4s;
            text-align: right;
        }
        .chaos-headline-5 {
            top: 38%; left: 34%;
            font-size: 0.95rem;
            color: rgba(255,255,255,0.45);
            animation: pulseFloat 6s ease-in-out infinite 2.2s;
        }

        @keyframes pulseFloat {
            0%, 100% { opacity: 0.35; transform: translateY(0); }
            50%      { opacity: 1;    transform: translateY(-6px); }
        }

        /* ─── Chaos: chart fragments (SVG) ────── */
        .chaos-chart {
            position: absolute;
            opacity: calc((1 - var(--clarity, 0)) * 0.7);
            filter: blur(calc(1.5px * (1 - var(--clarity, 0))));
            pointer-events: none;
            will-change: transform, opacity;
            z-index: 2;
        }

        .chaos-chart-1 {
            top: 18%; left: 22%;
            width: 320px; height: 130px;
            transform: rotate(calc(-9deg * (1 - var(--clarity, 0))));
        }
        .chaos-chart-2 {
            bottom: 22%; right: 22%;
            width: 280px; height: 120px;
            transform: rotate(calc(11deg * (1 - var(--clarity, 0))));
        }
        .chaos-chart-3 {
            top: 50%; left: 56%;
            width: 220px; height: 100px;
            transform: rotate(calc(-22deg * (1 - var(--clarity, 0))));
        }

        /* ─── Chaos: flickering price tags ───── */
        .chaos-price {
            position: absolute;
            font-family: 'SF Mono', Menlo, Monaco, monospace;
            font-weight: 600;
            font-size: 0.9rem;
            opacity: calc((1 - var(--clarity, 0)) * 0.75);
            pointer-events: none;
            will-change: opacity;
            animation: flicker 2.1s ease-in-out infinite;
            z-index: 3;
        }
        .chaos-price-up   { color: rgba(120,235,140,0.9); }
        .chaos-price-down { color: rgba(255,100,100,0.9); }
        .chaos-price-1 { top: 11%; left: 38%; animation-delay: 0s; }
        .chaos-price-2 { top: 30%; left: 18%; animation-delay: 0.4s; }
        .chaos-price-3 { top: 48%; right: 30%; animation-delay: 0.8s; }
        .chaos-price-4 { top: 64%; left: 28%; animation-delay: 1.2s; }
        .chaos-price-5 { bottom: 26%; left: 48%; animation-delay: 0.2s; }
        .chaos-price-6 { top: 18%; right: 35%; animation-delay: 1s; }
        .chaos-price-7 { bottom: 20%; left: 16%; animation-delay: 1.6s; }

        @keyframes flicker {
            0%, 100% { opacity: 0.5; }
            25%      { opacity: 1; }
            55%      { opacity: 0.55; }
            80%      { opacity: 0.92; }
        }

        /* ─── Clarity message (emerges from chaos) ─── */
        .clarity-message {
            position: absolute;
            inset: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 0 2rem;
            pointer-events: none;
            z-index: 10;
        }

        .clarity-label {
            font-size: 0.72rem;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            font-weight: 700;
            color: var(--primary-gold);
            margin-bottom: 1.5rem;
            opacity: calc(max(0, var(--clarity, 0) * 2 - 0.3));
            transform: translateY(calc(14px * (1 - var(--clarity, 0))));
        }

        .clarity-rule {
            width: 36px;
            height: 1px;
            background: var(--primary-gold);
            margin: 0 auto 2rem;
            opacity: calc(max(0, var(--clarity, 0) * 2 - 0.3));
            transform-origin: center;
            transform: scaleX(calc(var(--clarity, 0)));
        }

        .clarity-message h1 {
            font-size: clamp(2.4rem, 6vw, 4.8rem);
            font-weight: 800;
            line-height: 1.08;
            color: var(--light-text);
            max-width: 920px;
            margin: 0 0 2.5rem;
            letter-spacing: -0.015em;
        }
        .clarity-line-1 {
            display: block;
            opacity: calc(max(0, var(--clarity, 0) * 2 - 0.3));
            transform: translateY(calc(28px * (1 - var(--clarity, 0))));
        }

        .clarity-line-2 {
            display: block;
            font-style: italic;
            font-weight: 700;
            background: linear-gradient(135deg, var(--primary-gold), var(--secondary-gold));
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            opacity: calc(max(0, var(--clarity, 0) * 2.2 - 1.1));
            transform: translateY(calc(28px * (1 - var(--clarity, 0))));
        }

        .clarity-scroll-hint {
            position: absolute;
            bottom: 2.5rem;
            left: 50%;
            transform: translateX(-50%);
            color: var(--primary-gold);
            font-size: 0.7rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            font-weight: 600;
            opacity: calc(max(0, var(--clarity, 0) * 2.5 - 1.5));
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.4rem;
            pointer-events: none;
        }

        .clarity-scroll-hint .arrow {
            animation: scrollNudge 1.8s ease-in-out infinite;
        }

        @keyframes scrollNudge {
            0%, 100% { transform: translateY(0); opacity: 0.6; }
            50%      { transform: translateY(5px); opacity: 1; }
        }

        /* ─── POST-CLARITY SECTIONS ──────────────── */
        .quiet-section {
            background: var(--darker-bg);
            padding: 8rem 2rem;
            position: relative;
            z-index: 2;
        }

        .quiet-inner {
            max-width: 1100px;
            margin: 0 auto;
        }

        .section-label {
            display: inline-block;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: var(--primary-gold);
            margin-bottom: 1.75rem;
        }

        .quiet-section h2 {
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 800;
            line-height: 1.15;
            color: var(--light-text);
            margin-bottom: 1.75rem;
            max-width: 820px;
            letter-spacing: -0.015em;
        }

        .quiet-section h2 em {
            font-style: italic;
            background: linear-gradient(135deg, var(--primary-gold), var(--secondary-gold));
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .quiet-section .lead {
            font-size: 1.12rem;
            color: var(--gray-text);
            line-height: 1.8;
            max-width: 660px;
        }

        /* ─── Mission ───────────────────────────── */
        .mission {
            padding-top: 9rem;
            padding-bottom: 9rem;
        }

        /* ─── Timeline ──────────────────────────── */
        .timeline {
            border-top: 1px solid rgba(201,176,55,0.08);
        }

        .timeline-list {
            margin-top: 3.5rem;
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 1.5rem;
            position: relative;
        }

        .timeline-list::before {
            content: '';
            position: absolute;
            top: 6px;
            left: 6px;
            right: 6px;
            height: 1px;
            background: rgba(201,176,55,0.25);
        }

        .timeline-entry {
            padding-top: 1.75rem;
            position: relative;
        }

        .timeline-entry::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 13px;
            height: 13px;
            border-radius: 50%;
            background: var(--primary-gold);
            box-shadow: 0 0 0 4px rgba(201,176,55,0.15);
        }

        .timeline-entry .year {
            display: block;
            color: var(--primary-gold);
            font-size: 1.5rem;
            font-weight: 800;
            margin-bottom: 0.5rem;
            letter-spacing: -0.01em;
            font-feature-settings: "tnum";
        }

        .timeline-entry h3 {
            font-size: 1rem;
            color: var(--light-text);
            font-weight: 700;
            margin-bottom: 0.65rem;
            line-height: 1.3;
        }

        .timeline-entry p {
            font-size: 0.875rem;
            color: var(--gray-text);
            line-height: 1.65;
        }

        /* ─── Values (manifesto rows) ───────────── */
        .values {
            border-top: 1px solid rgba(201,176,55,0.08);
        }

        .values-list {
            margin-top: 3.5rem;
            border-top: 1px solid rgba(201,176,55,0.12);
        }

        .value-row {
            display: grid;
            grid-template-columns: 120px 1fr;
            gap: 2rem;
            padding: 2.5rem 0;
            border-bottom: 1px solid rgba(201,176,55,0.12);
            align-items: baseline;
            transition: background 0.3s, padding 0.3s;
        }

        .value-row:hover {
            background: rgba(201,176,55,0.025);
            padding-left: 1rem;
        }

        .value-num {
            font-size: 2.2rem;
            font-weight: 900;
            color: var(--primary-gold);
            opacity: 0.5;
            letter-spacing: -0.02em;
            font-feature-settings: "tnum";
        }

        .value-content h3 {
            font-size: 1.45rem;
            font-weight: 700;
            color: var(--light-text);
            margin-bottom: 0.65rem;
            letter-spacing: -0.01em;
        }

        .value-content p {
            font-size: 1.02rem;
            color: var(--gray-text);
            line-height: 1.7;
            max-width: 640px;
        }

        /* ─── Founder tease ──────────────────────── */
        .founder-tease {
            padding: 7rem 2rem;
            border-top: 1px solid rgba(201,176,55,0.08);
            border-bottom: 1px solid rgba(201,176,55,0.08);
            background: rgba(201,176,55,0.025);
            position: relative;
            z-index: 2;
            overflow-x: clip;
        }

        .founder-tease::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 28%;
            transform: translate(-50%, -50%);
            width: 600px;
            height: 600px;
            background: radial-gradient(circle, rgba(201,176,55,0.10), transparent 60%);
            pointer-events: none;
            z-index: 0;
        }

        .founder-tease-inner {
            max-width: 920px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 200px 1fr;
            gap: 3.5rem;
            align-items: center;
            position: relative;
            z-index: 1;
        }

        .founder-tease-portrait {
            width: 200px;
            height: 200px;
            border-radius: 50%;
            overflow-x: clip;
            position: relative;
            border: 2px solid rgba(201,176,55,0.45);
            box-shadow: 0 0 0 8px rgba(201,176,55,0.08),
                        0 14px 36px rgba(0,0,0,0.45);
        }

        .founder-tease-portrait img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center top;
            display: block;
            /* Clip the image itself to a circle. overflow-x:clip on the wrapper
               only clips the x-axis, so the square corners showed through. */
            border-radius: 50%;
        }

        .founder-tease-content {
            max-width: 540px;
        }

        .founder-tease-content .section-label {
            display: block;
            margin-bottom: 1rem;
        }

        .founder-tease-rule {
            width: 32px;
            height: 1px;
            background: var(--primary-gold);
            margin-bottom: 1.4rem;
        }

        .founder-tease-name {
            font-size: 2rem;
            font-weight: 800;
            color: var(--light-text);
            line-height: 1.1;
            margin: 0 0 0.4rem;
            letter-spacing: -0.015em;
        }

        .founder-tease-role {
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--primary-gold);
            margin: 0 0 1.5rem;
        }

        .founder-tease-body {
            color: var(--gray-text);
            font-size: 1.02rem;
            line-height: 1.7;
            margin: 0 0 1.75rem;
        }

        .founder-tease-link {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            color: var(--primary-gold);
            font-weight: 700;
            font-size: 0.92rem;
            text-decoration: none;
            letter-spacing: 0.02em;
            transition: gap 0.25s;
        }

        .founder-tease-link:hover {
            gap: 0.75rem;
        }

        /* ─── Closing CTA ────────────────────────── */
        .closing-cta {
            padding: 9rem 2rem 8rem;
            text-align: center;
            position: relative;
            z-index: 2;
            overflow-x: clip;
        }

        /* dot grid backdrop, callback to the chaos stage */
        .closing-cta::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: radial-gradient(circle, rgba(201,176,55,0.09) 1px, transparent 1px);
            background-size: 32px 32px;
            opacity: 0.45;
            pointer-events: none;
            z-index: 0;
        }

        /* radial gold halo behind the heading */
        .closing-cta::after {
            content: '';
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 820px;
            max-width: 100%;
            height: 100%;
            background: radial-gradient(ellipse at 50% 35%, rgba(201,176,55,0.10) 0%, transparent 55%);
            pointer-events: none;
            z-index: 0;
        }

        .closing-cta-inner {
            max-width: 820px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        .closing-cta .section-label {
            display: block;
            margin-bottom: 1.5rem;
            color: var(--primary-gold);
        }

        .closing-cta-rule {
            width: 36px;
            height: 1px;
            background: var(--primary-gold);
            margin: 0 auto 2rem;
        }

        .closing-cta h2 {
            font-size: clamp(2.2rem, 4.5vw, 3.4rem);
            font-weight: 800;
            line-height: 1.1;
            margin: 0 auto 1.5rem;
            max-width: 720px;
            color: var(--light-text);
            letter-spacing: -0.015em;
        }

        .closing-cta h2 em {
            font-style: italic;
            background: linear-gradient(135deg, var(--primary-gold), var(--secondary-gold));
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .closing-cta p {
            font-size: 1.1rem;
            color: var(--gray-text);
            margin: 0 auto 2.75rem;
            line-height: 1.7;
            max-width: 560px;
        }

        .closing-cta-actions {
            display: flex;
            justify-content: center;
            gap: 1rem;
            flex-wrap: wrap;
            margin-bottom: 3rem;
        }

        .closing-cta-meta {
            display: inline-flex;
            align-items: center;
            gap: 1.25rem;
            flex-wrap: wrap;
            justify-content: center;
            font-size: 0.78rem;
            font-weight: 600;
            letter-spacing: 0.04em;
            color: rgba(255,255,255,0.45);
        }

        .closing-cta-meta i {
            color: var(--primary-gold);
            margin-right: 0.4rem;
            font-size: 0.7rem;
        }

        .closing-cta-meta span {
            display: inline-flex;
            align-items: center;
        }

        .closing-cta-meta .sep {
            width: 3px;
            height: 3px;
            background: rgba(201,176,55,0.4);
            border-radius: 50%;
            margin: 0;
        }

        .btn-primary {
            background: linear-gradient(135deg, var(--primary-gold), var(--secondary-gold));
            color: var(--darker-bg);
            border: none;
            border-radius: 50px;
            padding: 0.95rem 2.4rem;
            font-size: 0.95rem;
            font-weight: 700;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            transition: transform 0.2s, box-shadow 0.2s;
            letter-spacing: 0.01em;
        }
        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(201,176,55,0.35);
        }

        .btn-outline {
            background: none;
            color: var(--primary-gold);
            border: 1.5px solid rgba(201,176,55,0.4);
            border-radius: 50px;
            padding: 0.95rem 2.4rem;
            font-size: 0.95rem;
            font-weight: 600;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            transition: border-color 0.2s, background 0.2s, transform 0.2s;
        }
        .btn-outline:hover {
            border-color: var(--primary-gold);
            background: rgba(201,176,55,0.06);
            transform: translateY(-2px);
        }

        /* ─── Reveal animation ──────────────────── */
        .reveal {
            opacity: 0;
            transform: translateY(24px);
            transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1),
                        transform 0.7s cubic-bezier(0.22,1,0.36,1);
        }
        .reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* ─── Mobile ─────────────────────────────── */
        @media (max-width: 900px) {
            .chaos-section { height: 180vh; }
            .chaos-ticker { font-size: 0.72rem; }
            .chaos-headline { font-size: 0.92rem; max-width: 200px; }
            .chaos-headline-1, .chaos-headline-3 { font-size: 0.98rem; }
            .chaos-chart-3 { display: none; }
            .chaos-chart-1 { width: 220px; height: 90px; }
            .chaos-chart-2 { width: 200px; height: 85px; }
            .clarity-message h1 { font-size: clamp(2rem, 9vw, 3rem); }
            .clarity-message { padding: 0 1.25rem; }

            .timeline-list {
                grid-template-columns: 1fr;
                gap: 0;
            }
            .timeline-list::before { display: none; }
            .timeline-entry {
                padding: 1.75rem 0 1.75rem 2.2rem;
                border-left: 1px solid rgba(201,176,55,0.2);
            }
            .timeline-entry:last-child { border-left: 1px solid transparent; padding-bottom: 0; }
            .timeline-entry::before {
                top: 1.75rem;
                left: -7px;
            }

            .value-row {
                grid-template-columns: 1fr;
                gap: 0.5rem;
                padding: 2rem 0;
            }
            .value-row:hover { padding-left: 0; }
            .value-num { font-size: 1.5rem; }

            .quiet-section { padding: 5rem 1.5rem; }
            .mission { padding: 6rem 1.5rem; }
            .closing-cta { padding: 6rem 1.5rem 5rem; }
            .founder-tease { padding: 5rem 1.5rem; }

            .founder-tease-inner {
                grid-template-columns: 1fr;
                gap: 2rem;
                text-align: center;
                justify-items: center;
            }
            .founder-tease-portrait {
                width: 160px;
                height: 160px;
            }
            .founder-tease-rule {
                margin-left: auto;
                margin-right: auto;
            }
            .founder-tease-content {
                max-width: 460px;
            }
        }

        @media (max-width: 600px) {
            .chaos-headline-5 { display: none; }
            .chaos-price-3, .chaos-price-6 { display: none; }
            .chaos-chart-2 { display: none; }
        }

        /* ─── Reduced motion ─────────────────────── */
        @media (prefers-reduced-motion: reduce) {
            .chaos-ticker, .chaos-price, .chaos-headline,
            .clarity-scroll-hint .arrow {
                animation: none !important;
            }
            :root { --clarity: 1; }
            .chaos-section { height: 100vh; }
        }
