﻿        :root {
            --bg: #12100f;
            --card: #1b1816;
            --gold: #c7a15a;
            --text: #f5f2ec;
            --muted: #b5aa9a;
            --line: rgba(255, 255, 255, .08);
            --error: #d4846b;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: Inter, sans-serif;
            background: linear-gradient(180deg, #11100f 0%, #181513 100%);
            color: var(--text);
            min-height: 100vh;
            padding: 20px 0;
            overflow-x: hidden;
        }

        .wrapper {
            max-width: 720px;
            margin: 0 auto;
            padding: 0 16px 80px;
        }

        /* HERO CARD */
        .hero-card {
            position: relative;
            overflow: hidden;
            padding: 36px 26px;
        }
        .hero-bg-image {
            position: absolute;
            inset: 0;
            background-image: url('../images/flow_living_redesigned.jpeg');
            background-size: cover;
            background-position: center 30%;
            filter: blur(5px) brightness(0.18) saturate(0.7);
            transform: scale(1.1);
            z-index: 0;
        }
        .hero-content {
            position: relative;
            z-index: 1;
        }

        .panel {
            display: none;
            animation: fadeUp .35s ease;
        }

        .panel.active {
            display: block;
        }

        @keyframes fadeUp {
            from {
                opacity: 0;
                transform: translateY(10px);
            }

            to {
                opacity: 1;
                transform: none;
            }
        }

        .card {
            background: rgba(255, 255, 255, .02);
            border: 1px solid var(--line);
            box-shadow: 0 14px 30px rgba(0, 0, 0, .25);
            border-radius: 22px;
            padding: 26px;
        }

        .title {
            font-family: "Cormorant Garamond", serif;
            font-size: 2rem;
            line-height: 1.05;
            margin-bottom: 14px;
        }

        .copy {
            font-size: .97rem;
            line-height: 1.6;
            color: var(--muted);
        }

        .mini-label {
            text-transform: uppercase;
            font-size: 0.65rem;
            font-weight: 800;
            letter-spacing: 1.5px;
            color: var(--gold);
            margin-bottom: 12px;
            display: block;
        }

        .btn {
            margin-top: 24px;
            width: 100%;
            border: none;
            background: var(--gold);
            color: #1a140b;
            padding: 16px;
            font-weight: 700;
            font-size: .95rem;
            border-radius: 14px;
            cursor: pointer;
            transition: .22s ease;
        }

        .btn:hover {
            transform: translateY(-1px);
        }

        .btn:disabled {
            opacity: 0.7;
            cursor: not-allowed;
            filter: grayscale(0.5);
        }

        .btn-ghost {
            margin-top: 12px;
            width: 100%;
            border: 1px solid var(--line);
            background: transparent;
            color: var(--muted);
            padding: 14px;
            font-weight: 500;
            font-size: .88rem;
            border-radius: 14px;
            cursor: pointer;
            transition: .22s ease;
        }

        .btn-ghost:hover {
            border-color: var(--gold);
            color: var(--gold);
        }

        /* VISUAL OPTIONS (Q1-Q3: Image Overlap) */
        .visual-options {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
            margin-top: 22px;
        }

        .visual-option {
            border-radius: 16px;
            overflow: hidden;
            border: 2px solid var(--line);
            cursor: pointer;
            transition: .2s ease;
            aspect-ratio: 4/3;
            position: relative;
        }

        .visual-option img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .4s ease;
            display: block;
        }

        .visual-option:hover {
            border-color: rgba(199, 161, 90, .55);
            transform: translateY(-2px);
        }

        .visual-option:hover img {
            transform: scale(1.03);
        }

        /* SELECTION CHECKMARK */
        .visual-option::after {
            content: '\2713';
            position: absolute;
            top: 8px;
            right: 8px;
            width: 22px;
            height: 22px;
            background: var(--gold);
            color: #1a140b;
            border-radius: 50%;
            font-size: 12px;
            font-weight: 800;
            line-height: 22px;
            text-align: center;
            opacity: 0;
            transform: scale(0);
            transition: opacity 0.12s ease, transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
            z-index: 10;
            pointer-events: none;
        }
        .visual-option.selected::after {
            opacity: 1;
            transform: scale(1);
        }

        .visual-option.selected {
            border-color: var(--gold);
            transform: scale(.985);
        }

        .visual-label {
            position: absolute;
            bottom: 12px;
            left: 0;
            width: 100%;
            text-align: center;
            font-size: 0.8rem;
            font-weight: 600;
            color: #fff;
            pointer-events: none;
            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
        }

        .visual-option.selected .visual-label {
            color: var(--gold);
        }

        /* EXTENDED GRIDS (Q4 & Q6: Compact Logic) */
        .grid-6 {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 12px;
            margin-top: 20px;
        }

        @media (max-width: 640px) {
            .grid-6 {
                grid-template-columns: repeat(2, 1fr);
                gap: 10px;
            }
        }

        .grid-6 .visual-option {
            height: auto;
            aspect-ratio: auto;
            display: flex;
            flex-direction: column;
            background: rgba(255, 255, 255, 0.01);
            border: 1px solid var(--line);
            border-radius: 10px;
        }

        .grid-6 .visual-option img {
            width: 100%;
            aspect-ratio: 1 / 1;
            height: auto;
            object-fit: cover;
            border-bottom: 1px solid var(--line);
            border-radius: 9px 9px 0 0;
        }

        .grid-6 .visual-label {
            position: static;
            margin-top: 6px;
            padding: 0 4px;
            font-size: 0.65rem;
            font-weight: 700;
            color: #fff;
            text-shadow: none;
            text-align: center;
            line-height: 1.1;
        }

        .grid-6 .visual-subtext {
            text-align: center;
            font-size: 0.58rem;
            color: var(--muted);
            margin-top: 1px;
            padding-bottom: 10px;
            font-style: normal;
            opacity: 0.6;
            line-height: 1.1;
            display: -webkit-box;
            -webkit-line-clamp: 1;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .grid-6 .visual-option:hover {
            border-color: var(--gold);
            background: rgba(199, 161, 90, 0.05);
        }

        .grid-6 .visual-option.selected {
            background: rgba(199, 161, 90, 0.1);
            border-color: var(--gold);
        }

        @media (max-width: 480px) {
            .grid-6 {
                grid-template-columns: 1fr 1fr; /* 2 columns on very small phones */
                gap: 8px;
            }
        }

        /* Always 2 columns for EQ4/EQ6 — never 3, cards get too small */

        /* PROGRESS */
        .progress-wrap {
            display: none;
            margin-bottom: 20px;
        }

        .progress-meta {
            display: flex;
            justify-content: space-between;
            font-size: .78rem;
            color: var(--muted);
            margin-bottom: 8px;
        }

        .progress {
            height: 4px;
            background: #2a2622;
            border-radius: 99px;
            overflow: hidden;
        }

        .progress span {
            display: block;
            height: 100%;
            width: 0%;
            background: var(--gold);
            transition: .3s ease;
        }

        .step-desc {
            font-size: 0.75rem;
            color: var(--gold);
            margin-top: 8px;
            font-weight: 600;
            letter-spacing: 0.5px;
            opacity: 0.8;
            text-align: center;
        }

        /* LOADER */
        .loader {
            margin-top: 22px;
        }

        .loader-line {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 0;
            font-size: .92rem;
            color: var(--muted);
            animation: revealLine .6s ease forwards;
            opacity: 0;
        }

        .loader-line:nth-child(2) {
            animation-delay: .5s;
        }

        .loader-line:nth-child(3) {
            animation-delay: 1s;
        }

        .loader-line:nth-child(4) {
            animation-delay: 1.5s;
        }

        .loader-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--gold);
            flex-shrink: 0;
        }

        @keyframes revealLine {
            from {
                opacity: 0;
                transform: translateX(-6px);
            }

            to {
                opacity: 1;
                transform: none;
            }
        }

        /* RESULT TYPOGRAPHY */
        .badge {
            display: inline-block;
            padding: 8px 12px;
            border-radius: 999px;
            border: 1px solid rgba(199, 161, 90, .35);
            font-size: .72rem;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 16px;
        }

        .persona {
            font-family: "Cormorant Garamond", serif;
            font-size: 2.4rem;
            line-height: 1.1;
            margin-bottom: 12px;
        }

        .brutal-observation {
            font-size: 1.1rem;
            line-height: 1.5;
            color: #fff;
            font-weight: 600;
            padding: 18px 20px;
            background: rgba(199, 161, 90, .08);
            border-left: 3px solid var(--gold);
            border-radius: 0 12px 12px 0;
            margin-bottom: 24px;
            font-style: italic;
        }

        /* EMAIL GATE */
        .email-box {
            display: grid;
            gap: 12px;
            margin-top: 24px;
        }

        input[type=email] {
            width: 100%;
            padding: 16px;
            border-radius: 14px;
            border: 1px solid var(--line);
            background: #141210;
            color: #fff;
            font-size: 16px;
            outline: none;
            transition: .2s ease;
        }

        input[type=email]:focus {
            border-color: var(--gold);
        }

        input[type=email].error {
            border-color: var(--error);
            background: rgba(212, 132, 107, .05);
        }

        .error-msg {
            display: none;
            font-size: .78rem;
            color: var(--error);
            margin-top: -6px;
        }

        /* PERSONA NOTES (after extended quiz) */
        .persona-notes {
            margin-top: 24px;
            display: grid;
            gap: 12px;
        }

        .persona-note {
            padding: 16px;
            border-radius: 12px;
            background: #161412;
            border: 1px solid rgba(255, 255, 255, .05);
        }

        .persona-note strong {
            display: block;
            font-size: .85rem;
            letter-spacing: 1px;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 6px;
        }

        .persona-note p {
            font-size: .9rem;
            color: var(--text);
            line-height: 1.6;
        }

        .rules {
            display: grid;
            gap: 12px;
            margin-top: 24px;
        }

        .rule {
            padding: 18px;
            border-radius: 16px;
            background: #181513;
            border: 1px solid var(--line);
        }

        .rule small {
            display: block;
            font-size: .72rem;
            letter-spacing: 1.4px;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 6px;
        }

        .rule strong {
            display: block;
            margin-bottom: 8px;
            font-size: .95rem;
            color: #fff;
        }

        .rule p {
            font-size: .86rem;
            line-height: 1.5;
            color: var(--muted);
        }

        /* GATE PANEL REDESIGN */
        .gate-card {
            position: relative;
            overflow: hidden;
            padding: 34px 26px;
        }
        .gate-blur-bg {
            position: absolute;
            inset: 0;
            background-image: url('images/flow_living_redesigned.jpeg');
            background-size: cover;
            background-position: center;
            filter: blur(4px) brightness(0.35) saturate(0.8);
            z-index: 0;
            transform: scale(1.08);
        }
        .gate-content {
            position: relative;
            z-index: 1;
        }

        /* Q5 FEELING OPTIONS */
        .feeling-option {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            padding: 16px 18px;
            border: 1px solid var(--line);
            border-radius: 10px;
            cursor: pointer;
            font-size: 0.95rem;
            color: var(--text);
            transition: border-color 0.2s, background 0.2s;
            line-height: 1.4;
        }
        .feeling-option:hover {
            border-color: rgba(199,161,90,0.5);
            background: rgba(199,161,90,0.04);
        }
        .feeling-option.selected {
            border-color: var(--gold);
            background: rgba(199,161,90,0.1);
        }
        .feeling-dot {
            width: 16px;
            height: 16px;
            border-radius: 50%;
            border: 2px solid var(--gold);
            flex-shrink: 0;
            margin-top: 2px;
            transition: background 0.2s;
        }
        .feeling-option.selected .feeling-dot {
            background: var(--gold);
        }

        /* Q5 PLAN IMAGE STYLE — floor plans look better with contain */
        #eq5 .grid-6 .visual-option img {
            object-fit: contain;
            background: rgba(255, 255, 255, 0.04);
        }

        /* VISUAL PROOF ANIMATION */
        .visual-proof {
            position: relative;
            width: 100%;
            height: 220px;
            border-radius: 16px;
            overflow: hidden;
            border: 1px solid rgba(199, 161, 90, .3);
            margin-top: 16px;
            margin-bottom: 24px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, .5);
        }

        .vp-slide {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0;
            transition: opacity 1.2s ease-in-out;
        }

        .vp-slide.active {
            opacity: 1;
            z-index: 2;
        }

        .vp-label {
            position: absolute;
            bottom: 12px;
            left: 50%;
            transform: translateX(-50%);
            background: rgba(0, 0, 0, .8);
            border: 1px solid var(--gold);
            color: var(--gold);
            font-size: .7rem;
            padding: 6px 14px;
            border-radius: 20px;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            font-weight: 700;
            z-index: 3;
            animation: pop 0.5s ease;
        }

        @keyframes pop {
            0% {
                transform: translateX(-50%) scale(0.9);
                opacity: 0;
            }

            100% {
                transform: translateX(-50%) scale(1);
                opacity: 1;
            }
        }

        .social-proof {
            margin-top: 24px;
            text-align: center;
            font-size: .78rem;
            color: rgba(255, 255, 255, .25);
            line-height: 1.6;
        }

        /* TOAST */
        .toast {
            position: fixed;
            top: 20px;
            left: 50%;
            transform: translateX(-50%);
            background: #2a2622;
            border: 1px solid var(--gold);
            color: var(--text);
            padding: 10px 22px;
            border-radius: 30px;
            font-size: 0.85rem;
            font-weight: 500;
            z-index: 9999;
            box-shadow: 0 4px 20px rgba(0, 0, 0, .5);
            display: none;
            white-space: nowrap;
            transition: opacity 0.3s ease;
        }

        /* EXIT INTENT MODAL */
        .exit-intent-modal {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 9998;
            background: rgba(0, 0, 0, 0.88);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            align-items: center;
            justify-content: center;
            padding: 24px;
        }
        .exit-intent-modal.active {
            display: flex;
        }
        .exit-intent-inner {
            background: var(--card);
            border: 1px solid rgba(199, 161, 90, 0.45);
            border-radius: 22px;
            padding: 36px 28px;
            max-width: 380px;
            width: 100%;
            text-align: center;
            box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
            animation: fadeUp 0.3s ease;
        }
        .exit-intent-pct {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.9rem;
            line-height: 1.2;
            color: #fff;
            margin-bottom: 12px;
        }
        .exit-intent-inner .btn {
            margin-top: 20px;
        }
        .btn-ghost-exit {
            margin-top: 10px;
            width: 100%;
            padding: 12px;
            background: transparent;
            color: rgba(255,255,255,0.25);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 12px;
            font-size: 0.8rem;
            cursor: pointer;
            transition: 0.2s ease;
        }
        .btn-ghost-exit:hover {
            border-color: rgba(255,255,255,0.2);
            color: rgba(255,255,255,0.5);
        }

        /* SHARE BUTTON */
        .btn-share {
            margin-top: 12px;
            width: 100%;
            padding: 14px;
            background: transparent;
            border: 1px solid rgba(199,161,90,0.4);
            color: var(--gold);
            border-radius: 14px;
            font-size: 0.88rem;
            font-weight: 600;
            cursor: pointer;
            transition: 0.22s ease;
            letter-spacing: 0.03em;
        }
        .btn-share:hover {
            background: rgba(199, 161, 90, 0.08);
            border-color: var(--gold);
            transform: translateY(-1px);
        }

        /* ═══════════════════════════════════════════════════════════════
           REVEAL SCREEN — Profile Identity Before Email Gate
        ═══════════════════════════════════════════════════════════════ */

        /* Hero area */
        .reveal-hero {
            position: relative;
            height: 260px;
            overflow: hidden;
        }
        .reveal-hero img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: brightness(0.55) saturate(0.8);
            transition: transform 0.6s ease;
        }
        .reveal-hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(13,11,10,1) 0%, rgba(13,11,10,0.3) 50%, transparent 100%);
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 22px;
        }
        .reveal-badge {
            display: inline-block;
            font-size: 0.6rem;
            text-transform: uppercase;
            letter-spacing: 0.22em;
            color: var(--gold);
            font-weight: 700;
            border: 1px solid rgba(199,161,90,0.5);
            padding: 5px 14px;
            border-radius: 20px;
            background: rgba(0,0,0,0.45);
            backdrop-filter: blur(6px);
            margin-bottom: 10px;
            width: fit-content;
        }

        /* Identity block */
        .reveal-content {
            padding: 22px 22px 0;
        }
        .reveal-persona-label {
            font-size: 0.62rem;
            text-transform: uppercase;
            letter-spacing: 0.22em;
            color: var(--muted);
            margin-bottom: 5px;
        }
        .reveal-persona-name {
            font-family: 'Cormorant Garamond', serif;
            font-size: 2.6rem;
            font-weight: 700;
            line-height: 1.05;
            color: #fff;
            margin-bottom: 5px;
            letter-spacing: -0.01em;
        }
        .reveal-persona-sub {
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.18em;
            color: var(--gold);
            font-weight: 600;
            padding-bottom: 22px;
            border-bottom: 1px solid var(--line);
            margin-bottom: 22px;
        }

        /* Brutal observation */
        .reveal-brutal {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.3rem;
            line-height: 1.55;
            color: #fff;
            font-style: italic;
            border-left: 3px solid var(--gold);
            padding: 14px 18px;
            background: rgba(199,161,90,0.06);
            border-radius: 0 10px 10px 0;
            margin-bottom: 26px;
        }

        /* Section sub-label */
        .reveal-section-label {
            font-size: 0.6rem;
            text-transform: uppercase;
            letter-spacing: 0.18em;
            color: rgba(255,255,255,0.3);
            font-weight: 600;
            margin-bottom: 12px;
        }

        /* Symptoms */
        .reveal-symptoms {
            display: flex;
            flex-direction: column;
            gap: 9px;
            margin-bottom: 28px;
        }
        .reveal-symptom {
            display: flex;
            align-items: flex-start;
            gap: 11px;
            font-size: 0.88rem;
            color: var(--text);
            line-height: 1.5;
        }
        .reveal-symptom-dot {
            width: 5px;
            height: 5px;
            background: var(--gold);
            border-radius: 50%;
            flex-shrink: 0;
            margin-top: 8px;
        }

        /* Blurred friction preview */
        .reveal-friction-preview {
            display: flex;
            flex-direction: column;
            gap: 8px;
            margin-bottom: 30px;
        }
        .reveal-friction-card {
            background: rgba(255,255,255,0.025);
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: 10px;
            padding: 14px 16px;
        }
        .reveal-friction-title {
            font-size: 0.88rem;
            font-weight: 600;
            color: #fff;
            margin-bottom: 6px;
        }
        .reveal-friction-blur {
            font-size: 0.8rem;
            color: transparent;
            text-shadow: 0 0 7px rgba(255,255,255,0.35);
            user-select: none;
            letter-spacing: 0.04em;
            line-height: 1.5;
        }
        .reveal-lock-icon {
            font-size: 0.7rem;
            color: rgba(255,255,255,0.2);
            display: flex;
            align-items: center;
            gap: 5px;
            margin-top: 5px;
        }

        /* Share zone */
        .reveal-share-zone {
            background: rgba(199,161,90,0.05);
            border: 1px solid rgba(199,161,90,0.18);
            border-radius: 16px;
            padding: 22px 18px;
            text-align: center;
            margin-bottom: 18px;
        }
        .reveal-share-label {
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            color: var(--muted);
            margin-bottom: 14px;
        }
        .reveal-share-hint {
            font-size: 0.72rem;
            color: rgba(255,255,255,0.18);
            margin-top: 10px;
        }

        /* Unlock / Gate CTA block */
        .reveal-gate-block {
            background: linear-gradient(135deg, rgba(199,161,90,0.08) 0%, rgba(0,0,0,0) 100%);
            border: 1px solid rgba(199,161,90,0.2);
            border-radius: 18px;
            padding: 26px 22px;
            text-align: center;
            margin-bottom: 90px;
        }
        .reveal-gate-eyebrow {
            font-size: 0.62rem;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            color: var(--gold);
            font-weight: 700;
            margin-bottom: 12px;
        }
        .reveal-gate-headline {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.6rem;
            line-height: 1.25;
            color: #fff;
            margin-bottom: 10px;
        }
        .reveal-gate-sub {
            font-size: 0.84rem;
            color: var(--muted);
            line-height: 1.65;
            margin-bottom: 20px;
        }
        .reveal-unlock-btn {
            font-size: 1rem !important;
            padding: 18px !important;
        }
        .reveal-gate-reassure {
            font-size: 0.7rem;
            color: rgba(255,255,255,0.2);
            margin-top: 10px;
        }

        /* Sticky footer for reveal */
        .reveal-sticky {
            display: none;
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: rgba(13,11,10,0.97);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            border-top: 1px solid rgba(199,161,90,0.25);
            padding: 10px 16px;
            padding-bottom: calc(10px + env(safe-area-inset-bottom));
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            z-index: 100;
            box-shadow: 0 -6px 24px rgba(0,0,0,0.5);
        }
        #reveal.active ~ * .reveal-sticky,
        .reveal-sticky.active {
            display: flex;
        }
        .reveal-sticky-label {
            line-height: 1.3;
        }
        .reveal-sticky-label small {
            display: block;
            font-size: 0.65rem;
            color: var(--muted);
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }
        .reveal-sticky-label strong {
            font-size: 0.95rem;
            color: #fff;
        }
        .reveal-sticky .btn {
            margin: 0;
            padding: 12px 22px;
            width: auto;
            flex-shrink: 0;
            font-size: 0.88rem;
        }

        /* ═══════════════════════════════════════════════════════════════ */

        /* BACK BTN */

        .global-back {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #555;
            text-decoration: none;
            font-size: 0.65rem;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            transition: all .25s ease;
            padding: 5px 10px 5px 8px;
            border: 1px solid #2a2a2a;
            border-radius: 4px;
        }

        .global-back::before {
            content: '←';
            font-size: 0.75rem;
            color: var(--gold);
        }

        .global-back:hover {
            color: #eee;
            border-color: #444;
            background: rgba(255, 255, 255, .03);
        }

        /* ── STAGE 2: REVEAL ─────────────────────────── */
        .reveal-persona-subtitle {
            font-size: 1rem;
            line-height: 1.65;
            color: var(--muted);
            margin-bottom: 22px;
            font-style: italic;
        }

        .reveal-divider {
            display: flex;
            align-items: center;
            gap: 14px;
            margin: 22px 0;
            font-size: .65rem;
            letter-spacing: 2.5px;
            text-transform: uppercase;
            color: var(--gold);
        }

        .reveal-divider::before,
        .reveal-divider::after {
            content: '';
            flex: 1;
            height: 1px;
            background: rgba(199, 161, 90, .25);
        }

        .reveal-bridge {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.25rem;
            line-height: 1.6;
            color: #fff;
            margin-bottom: 24px;
        }

        .reveal-bridge em {
            color: var(--gold);
            font-style: normal;
        }

        /* ── STAGE 3: FRICTION PANELS ────────────────── */
        .panel-friction .card {
            background: rgba(255, 255, 255, .015);
            border-color: rgba(255, 255, 255, .04);
        }

        .panel-friction .visual-option {
            border-radius: 10px;
        }

        .panel-friction .visual-option img {
            filter: saturate(0.82) contrast(1.05);
        }

        .panel-friction .mini-label {
            display: block; /* Show step label for consistency */
        }

        /* ── STAGE 4: DIAGNOSIS SCREEN ───────────────── */
        .diag-hero {
            position: relative;
            width: 100%;
            height: 240px;
            overflow: hidden;
            border-radius: 22px 22px 0 0;
        }

        .diag-hero img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: brightness(0.72) saturate(0.9);
        }

        .diag-hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(18, 16, 15, .95) 0%, rgba(0, 0, 0, .1) 60%);
            display: flex;
            align-items: flex-end;
            padding: 20px 24px;
        }

        .diag-badge-hero {
            font-size: .65rem;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--gold);
            font-weight: 700;
            border: 1px solid rgba(199, 161, 90, .4);
            padding: 6px 14px;
            border-radius: 20px;
        }

        .brutal-line {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.5rem;
            line-height: 1.4;
            color: #fff;
            white-space: pre-line;
            margin-bottom: 28px;
        }

        .diag-section-label {
            font-size: .65rem;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--gold);
            font-weight: 700;
            margin: 24px 0 10px;
        }

        .before-after {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px;
            margin: 8px 0 4px;
            position: relative;
        }

        .ba-img {
            border-radius: 10px;
            overflow: hidden;
            aspect-ratio: 4/3;
            position: relative;
        }

        .ba-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .ba-label {
            position: absolute;
            bottom: 8px;
            background: rgba(0, 0, 0, .8);
            color: var(--muted);
            font-size: .6rem;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            padding: 4px 10px;
            border-radius: 4px;
        }

        .ba-label.left {
            left: 8px;
        }

        .ba-label.right {
            right: 8px;
        }

        .ba-caption {
            text-align: center;
            font-size: .72rem;
            color: rgba(255, 255, 255, .25);
            margin-top: 6px;
            font-style: italic;
        }

        .blueprint-priorities {
            margin-top: 4px;
            padding: 18px 20px;
            background: rgba(199, 161, 90, .05);
            border: 1px solid rgba(199, 161, 90, .18);
            border-radius: 14px;
        }

        .blueprint-priorities strong {
            display: block;
            font-size: .65rem;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 12px;
        }

        .priority-item {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 7px 0;
            font-size: .88rem;
            color: var(--text);
            border-bottom: 1px solid rgba(255, 255, 255, .04);
        }

        .priority-item:last-child {
            border-bottom: none;
        }

        .priority-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--gold);
            flex-shrink: 0;
        }

        /* ── Q5 TWO-STEP STYLES ────────────────────────── */
        .shape-opt {
            cursor: pointer;
            transition: all .3s ease;
            border: 1px solid var(--line);
            position: relative;
            overflow: hidden;
        }

        .shape-opt.selected {
            border-color: var(--gold);
            background: rgba(199, 161, 90, .05);
        }

        .shape-opt .visual-label {
            position: absolute;
            bottom: 10px;
            left: 0;
            width: 100%;
            text-align: center;
            font-size: 0.75rem;
            color: var(--muted);
            pointer-events: none;
        }

        .shape-opt.selected .visual-label {
            color: var(--gold);
            font-weight: 600;
        }

        .hidden {
            display: none;
        }

        .slider-wrap {
            margin-top: 10px;
            text-align: center;
        }

        .slider-value {
            font-family: 'Cormorant Garamond', serif;
            font-size: 2.5rem;
            color: var(--gold);
            font-weight: 700;
            margin-bottom: 4px;
        }

        .slider-hint {
            font-size: 0.85rem;
            color: var(--muted);
            margin-bottom: 24px;
            min-height: 1.2em;
            line-height: 1.4;
        }

        .slider-track {
            position: relative;
            width: 100%;
            margin-bottom: 12px;
        }

        input[type=range] {
            -webkit-appearance: none;
            width: 100%;
            height: 4px;
            background: #2a2622;
            border-radius: 2px;
            outline: none;
        }

        input[type=range]::-webkit-slider-thumb {
            -webkit-appearance: none;
            width: 22px;
            height: 22px;
            background: var(--gold);
            border-radius: 50%;
            cursor: pointer;
            border: 4px solid var(--bg);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
        }

        .slider-markers {
            display: flex;
            justify-content: space-between;
            padding: 0 2px;
        }

        .slider-markers span {
            font-size: 0.65rem;
            color: rgba(255, 255, 255, 0.2);
            letter-spacing: 1px;
        }

        #roomVisualizer {
            transition: width 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), height 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), clip-path 0.3s ease, border-color 0.3s ease;
        }

        @media(max-width:640px) {
            .card {
                padding: 22px 18px;
                border-radius: 20px;
            }

            .title {
                font-size: 1.72rem;
            }

            .persona {
                font-size: 2rem;
            }

            .btn,
            input[type=email] {
                min-height: 54px;
            }

            .visual-options {
                gap: 10px;
            }

            .diag-hero {
                height: 180px;
            }

            .brutal-line {
                font-size: 1.3rem;
            }
        }

        /* iOS safe-area support for sticky CTA */
        #stickyCtaBar {
            padding-bottom: max(10px, env(safe-area-inset-bottom));
        }
            .partial-diagnosis-box { margin-top:16px; margin-bottom:20px; padding:16px; background:rgba(0,0,0,0.75); border-left:4px solid var(--gold); border-radius:6px; text-align:left; font-size:0.9rem; line-height:1.5; }
            .pd-label { color:var(--gold); font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:6px; }
            .gate-desc { color:var(--text); font-weight:500; text-shadow:0 2px 4px rgba(0,0,0,0.8); margin-bottom:4px; }
            .gate-social { font-size:0.78rem; color:rgba(255,255,255,0.45); text-shadow:0 1px 2px rgba(0,0,0,0.8); margin-bottom:20px; }
            .gate-quote { margin-top:14px; font-size:0.8rem; color:rgba(199,161,90,0.8); text-shadow: 0 1px 2px rgba(0,0,0,0.8); }

        /* ===============================================================
           PERSONA CARD � Collector's Edition
        =============================================================== */
        /* Modal overlay */
        .persona-card-modal {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 9999;
            background: rgba(0,0,0,0.94);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            align-items: center;
            justify-content: flex-start;
            flex-direction: column;
            padding: 20px;
            gap: 18px;
            overflow-y: auto;
        }
        .persona-card-modal.active {
            display: flex;
            animation: fadeUp 0.3s ease;
        }
        .persona-card-modal-bg {
            position: fixed;
            inset: 0;
            cursor: pointer;
        }
        .persona-card-scene {
            margin: auto 0;
            perspective: 1100px;
            width: min(340px, calc(100vw - 32px));
            position: relative;
            z-index: 1;
            flex-shrink: 0;
        }
        .persona-card {
            --card-accent: #c7a15a;
            width: 100%;
            background: linear-gradient(160deg, #1e1b17 0%, #25201a 40%, #1c1814 70%, #211d18 100%);
            border-radius: 20px;
            border: 1.5px solid rgba(199,161,90,0.3);
            box-shadow: 0 0 0 0.5px rgba(255,255,255,0.04), 0 24px 70px rgba(0,0,0,0.85), 0 0 40px rgba(199,161,90,0.07), inset 0 1px 0 rgba(255,255,255,0.04);
            transform-style: preserve-3d;
            transition: box-shadow 0.15s ease, transform 0.08s ease;
            position: relative;
            overflow: hidden;
            cursor: grab;
            user-select: none;
        }
        .persona-card:active { cursor: grabbing; }
        .persona-card::before {
            content: '';
            position: absolute;
            inset: -60%;
            background: conic-gradient(from 0deg, transparent 0deg, rgba(199,161,90,0.04) 25deg, rgba(100,170,230,0.05) 55deg, rgba(170,100,220,0.05) 95deg, rgba(100,220,160,0.04) 125deg, rgba(230,180,80,0.05) 160deg, transparent 190deg, transparent 360deg);
            animation: holoConic 10s linear infinite;
            pointer-events: none;
            z-index: 0;
            will-change: transform;
        }
        @keyframes holoConic {
            from { transform: rotate(0deg); }
            to   { transform: rotate(360deg); }
        }
        .card-holo-shine, .card-holo-glare {
            position: absolute;
            inset: 0;
            border-radius: 20px;
            pointer-events: none;
            z-index: 8;
            opacity: 0;
            transition: opacity 0.25s ease;
        }
        .card-holo-glare { z-index: 9; mix-blend-mode: overlay; }
        .persona-card:hover .card-holo-shine,
        .persona-card:hover .card-holo-glare { opacity: 1; }
        .card-inner {
            position: relative;
            z-index: 5;
            padding: 16px 16px 14px;
        }
        .card-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 11px;
        }
        .card-header-label {
            font-size: 0.57rem;
            text-transform: uppercase;
            letter-spacing: 0.24em;
            color: rgba(255,255,255,0.22);
            font-weight: 600;
        }
        .card-id {
            font-size: 0.65rem;
            color: var(--card-accent);
            font-weight: 700;
            letter-spacing: 0.1em;
            font-family: 'Courier New', monospace;
            opacity: 0.8;
        }
        .card-image-strip {
            position: relative;
            height: 150px;
            border-radius: 12px;
            overflow: hidden;
            margin-bottom: 13px;
            border: 1px solid rgba(255,255,255,0.06);
        }
        .card-image-strip img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: saturate(0.65) brightness(0.6);
            transform: scale(1.03);
            transition: transform 6s ease;
        }
        .persona-card:hover .card-image-strip img { transform: scale(1.09); }
        .card-image-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(13,11,10,0.1) 0%, rgba(13,11,10,0.7) 100%);
        }
        .card-type-badges {
            display: flex;
            gap: 6px;
            margin-bottom: 10px;
            flex-wrap: wrap;
        }
        .card-badge {
            font-size: 0.58rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.13em;
            padding: 4px 11px;
            border-radius: 20px;
            border: 1px solid;
            line-height: 1;
        }
        .card-badge-persona {
            background: rgba(199,161,90,0.1);
            border-color: rgba(199,161,90,0.4);
            color: #c7a15a;
        }
        .card-badge-room {
            background: rgba(255,255,255,0.04);
            border-color: rgba(255,255,255,0.1);
            color: rgba(255,255,255,0.45);
        }
        .card-badge-size {
            background: rgba(255,255,255,0.02);
            border-color: rgba(255,255,255,0.07);
            color: rgba(255,255,255,0.28);
        }
        .card-name-block { margin-bottom: 9px; }
        .card-name {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.7rem;
            font-weight: 700;
            line-height: 1.05;
            letter-spacing: -0.01em;
            background: linear-gradient(115deg, #e8c97a 0%, #c7a15a 30%, #f5e0a0 55%, #c7a15a 75%, #e2b96a 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            background-size: 220% 100%;
            animation: cardGoldShimmer 5s ease-in-out infinite;
        }
        @keyframes cardGoldShimmer {
            0%   { background-position: 0% 50%; }
            50%  { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }
        .card-subtitle {
            font-size: 0.6rem;
            text-transform: uppercase;
            letter-spacing: 0.18em;
            color: var(--card-accent);
            font-weight: 600;
            margin-top: 3px;
            opacity: 0.65;
        }
        .card-divider {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 10px 0;
        }
        .card-divider::before, .card-divider::after {
            content: '';
            flex: 1;
            height: 1px;
            background: linear-gradient(to right, transparent, rgba(199,161,90,0.2), transparent);
        }
        .card-divider-diamond {
            font-size: 0.5rem;
            color: var(--card-accent);
            opacity: 0.5;
        }
        .card-quote {
            font-family: 'Cormorant Garamond', serif;
            font-size: 0.87rem;
            font-style: italic;
            color: rgba(255,255,255,0.58);
            line-height: 1.55;
            text-align: center;
            margin-bottom: 13px;
            padding: 0 2px;
        }
        .card-traits {
            display: flex;
            flex-direction: column;
            gap: 7px;
            margin-bottom: 13px;
        }
        .card-trait-header {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 3px;
        }
        .card-trait-name {
            font-size: 0.59rem;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255,255,255,0.35);
            font-weight: 600;
        }
        .card-trait-val {
            font-size: 0.6rem;
            color: var(--card-accent);
            font-weight: 700;
            font-family: 'Courier New', monospace;
            opacity: 0.85;
        }
        .card-trait-bar-track {
            height: 2.5px;
            background: rgba(255,255,255,0.06);
            border-radius: 2px;
            overflow: hidden;
        }
        .card-trait-bar-fill {
            height: 100%;
            border-radius: 2px;
            width: 0%;
            transition: width 0.9s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .card-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-top: 9px;
            border-top: 1px solid rgba(255,255,255,0.05);
        }
        .card-footer-url {
            font-size: 0.55rem;
            text-transform: uppercase;
            letter-spacing: 0.18em;
            color: rgba(255,255,255,0.18);
            font-weight: 600;
        }
        .card-footer-cta {
            font-size: 0.58rem;
            color: var(--card-accent);
            font-weight: 600;
            letter-spacing: 0.05em;
            opacity: 0.7;
        }
        .card-actions {
            position: relative;
            z-index: 1;
            display: flex;
            flex-direction: column;
            gap: 9px;
            width: min(340px, calc(100vw - 32px));
        }
        .card-share-btn { width: 100% !important; }
        .card-close-btn {
            width: 100%;
            padding: 11px;
            background: transparent;
            color: rgba(255,255,255,0.28);
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: 12px;
            font-size: 0.8rem;
            cursor: pointer;
            transition: 0.2s ease;
        }
        .card-close-btn:hover { color: rgba(255,255,255,0.5); border-color: rgba(255,255,255,0.14); }
        .card-screenshot-hint {
            font-size: 0.62rem;
            color: rgba(255,255,255,0.16);
            text-align: center;
            margin-top: 2px;
            letter-spacing: 0.03em;
        }

        /* CARD REDESIGN � Identity-First Layout */
        .card-hero-full {
            position: relative;
            height: 190px;
            overflow: hidden;
            border-radius: 20px 20px 0 0;
        }
        .card-hero-full img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: saturate(0.7) brightness(0.55);
            transform: scale(1.04);
            transition: transform 6s ease;
        }
        .persona-card:hover .card-hero-full img { transform: scale(1.10); }
        .card-hero-full-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(0,0,0,0.0) 0%, rgba(13,11,10,0.85) 100%);
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            padding: 14px 16px;
        }
        .card-eyebrow {
            font-size: 0.58rem;
            text-transform: uppercase;
            letter-spacing: 0.22em;
            color: rgba(255,255,255,0.3);
            font-weight: 600;
            margin-bottom: 4px;
        }
        .card-name {
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.9rem;
            font-weight: 700;
            line-height: 1.0;
            letter-spacing: -0.01em;
            background: linear-gradient(115deg, #e8c97a 0%, #c7a15a 30%, #f5e0a0 55%, #c7a15a 75%, #e2b96a 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            background-size: 220% 100%;
            animation: cardGoldShimmer 5s ease-in-out infinite;
            margin-bottom: 3px;
        }
        .card-quote {
            font-family: 'Cormorant Garamond', serif;
            font-size: 0.95rem;
            font-style: italic;
            color: rgba(255,255,255,0.65);
            line-height: 1.55;
            text-align: center;
            margin-bottom: 14px;
            padding: 10px 14px;
            background: rgba(255,255,255,0.03);
            border-radius: 8px;
            border-left: 2px solid var(--card-accent);
        }

        /* =======================================================
           Q3 � 8-CARD VARIANT GRID
        ======================================================= */
        .q3-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 9px;
            margin-top: 18px;
        }
        .q3-card {
            position: relative;
            border-radius: 11px;
            overflow: hidden;
            cursor: pointer;
            border: 1.5px solid rgba(255,255,255,0.07);
            transition: border-color 0.2s ease, transform 0.15s ease;
            aspect-ratio: 4 / 3;
            background: #1a1714;
        }
        .q3-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 0.4s ease, filter 0.3s ease;
        }
        .q3-card:hover { border-color: rgba(199,161,90,0.45); transform: translateY(-1px); }
        .q3-card:hover img { transform: scale(1.04); }
        .q3-card.selected { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold), 0 4px 20px rgba(199,161,90,0.2); }
        .q3-card.selected img { filter: brightness(0.85); }
        .q3-card-label {
            position: absolute;
            bottom: 0; left: 0; right: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, transparent 100%);
            padding: 22px 10px 8px;
            font-size: 0.75rem;
            font-weight: 700;
            color: #fff;
            letter-spacing: 0.01em;
        }
        .q3-card-label small {
            display: block;
            font-size: 0.58rem;
            color: var(--gold);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            margin-top: 1px;
            opacity: 0.85;
        }
        .q3-card.selected .q3-card-label small { opacity: 1; }
        .q3-selected-check {
            position: absolute;
            top: 8px; right: 8px;
            width: 22px; height: 22px;
            background: var(--gold);
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-size: 0.7rem;
            color: #000;
            font-weight: 900;
            opacity: 0;
            transform: scale(0.5);
            transition: opacity 0.2s ease, transform 0.2s ease;
        }
        .q3-card.selected .q3-selected-check { opacity: 1; transform: scale(1); }

        /* =======================================================
           REVEAL � SPATIAL DNA (Protocol Signals)
        ======================================================= */
        .spatial-dna-section {
            margin-top: 24px;
        }
        .spatial-dna-header {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 12px;
        }
        .spatial-dna-header::before,
        .spatial-dna-header::after {
            content: '';
            flex: 1;
            height: 1px;
            background: rgba(199,161,90,0.2);
        }
        .spatial-dna-label {
            font-size: 0.62rem;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            color: var(--gold);
            font-weight: 600;
            white-space: nowrap;
            opacity: 0.8;
        }
        .protocol-signals {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }
        .protocol-signal-card {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            padding: 12px 14px;
            background: rgba(199,161,90,0.04);
            border: 1px solid rgba(199,161,90,0.18);
            border-radius: 10px;
            transition: border-color 0.2s ease;
            animation: fadeUp 0.4s ease both;
        }
        .protocol-signal-card:nth-child(2) { animation-delay: 0.07s; }
        .protocol-signal-card:nth-child(3) { animation-delay: 0.14s; }
        .protocol-id-badge {
            flex-shrink: 0;
            background: rgba(199,161,90,0.12);
            border: 1px solid rgba(199,161,90,0.3);
            color: var(--gold);
            font-size: 0.6rem;
            font-weight: 800;
            padding: 4px 8px;
            border-radius: 6px;
            font-family: 'Courier New', monospace;
            letter-spacing: 0.05em;
            margin-top: 1px;
        }
        .protocol-info { flex: 1; }
        .protocol-name {
            font-size: 0.82rem;
            font-weight: 600;
            color: var(--text);
            margin-bottom: 2px;
        }
        .protocol-value {
            font-size: 0.73rem;
            color: var(--muted);
            line-height: 1.4;
        }
        .foundation-layer {
            margin-top: 10px;
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            align-items: center;
        }
        .foundation-layer-label {
            font-size: 0.58rem;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255,255,255,0.25);
            font-weight: 600;
            margin-right: 2px;
        }
        .foundation-tag {
            font-size: 0.6rem;
            padding: 3px 9px;
            border-radius: 20px;
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.08);
            color: rgba(255,255,255,0.3);
            font-family: 'Courier New', monospace;
            letter-spacing: 0.05em;
        }

        /* =======================================================
           PERSONA CARD V3 � Enhanced Identity (16personalities style)
        ======================================================= */

        /* Rarity badge � top-right of hero image */
        .card-rarity-badge {
            position: absolute;
            bottom: 10px; right: 10px;
            background: rgba(13,11,10,0.72);
            backdrop-filter: blur(6px);
            border: 1px solid rgba(199,161,90,0.45);
            border-radius: 20px;
            padding: 4px 11px;
            font-size: 0.56rem;
            font-weight: 700;
            color: var(--card-accent, #c7a15a);
            letter-spacing: 0.1em;
            text-transform: uppercase;
        }

        /* Tag pills row */
        .card-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
            margin: 7px 0 2px;
        }
        .card-tag {
            font-size: 0.56rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            padding: 3px 9px;
            border-radius: 20px;
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.09);
            color: rgba(255,255,255,0.38);
        }

        /* Hook quote � identity statement in user's voice */
        .card-hook {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-size: 0.88rem;
            font-style: italic;
            color: rgba(255,255,255,0.68);
            line-height: 1.6;
            text-align: center;
            padding: 8px 4px 10px;
        }

        /* Trait grid 2�3 */
        .card-trait-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 5px;
            margin-bottom: 8px;
        }
        .card-trait-cell {
            background: rgba(255,255,255,0.025);
            border: 1px solid rgba(255,255,255,0.055);
            border-radius: 8px;
            padding: 7px 9px 8px;
            transition: border-color 0.2s ease;
        }
        .card-trait-cell-label {
            font-size: 0.5rem;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: rgba(255,255,255,0.22);
            font-weight: 700;
            margin-bottom: 3px;
            line-height: 1.2;
        }
        .card-trait-cell-value {
            font-size: 0.74rem;
            font-weight: 700;
            color: var(--card-accent, #c7a15a);
            letter-spacing: 0.01em;
            line-height: 1.2;
        }

                /* Spatial Context row */
        .card-context-box {
            background: rgba(220, 90, 90, 0.06);
            border: 1px solid rgba(220, 90, 90, 0.22);
            border-radius: 8px;
            padding: 8px 10px;
            margin-bottom: 10px;
        }
        .card-context-header {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 4px;
        }
        .card-context-label {
            font-size: 0.5rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(220, 90, 90, 0.65);
        }
        .card-context-room {
            font-size: 0.5rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.4);
            background: rgba(255,255,255,0.05);
            padding: 2px 6px;
            border-radius: 10px;
        }
        .card-context-desc {
            font-size: 0.65rem;
            line-height: 1.35;
            color: rgba(255, 255, 255, 0.65);
        }
        .card-context-desc strong {
            color: var(--card-accent, #c7a15a);
            font-weight: 600;
        }
/* card-inner top padding tweak */
        .card-inner { padding-top: 12px; }



@media (max-height: 750px) {
    .persona-card-scene {
            margin: auto 0;
        transform: scale(0.85);
        transform-origin: center top;
        margin-top: 20px;
    }
}
@media (max-height: 650px) {
    .persona-card-scene {
            margin: auto 0;
        transform: scale(0.75);
        transform-origin: center top;
        margin-top: 10px;
    }
}


/* See My Profile Button inside Reveal Sticky */
.btn-profile-view {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--card-accent, #e5d3ab);
    background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
    border: 1px solid rgba(199,161,90,0.3);
    border-radius: 8px;
    padding: 12px 18px;
    margin: 0;
    cursor: pointer;
    transition: all 0.25s ease;
    text-transform: uppercase;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.06);
    flex: 1;
}
.btn-profile-view:hover {
    background: linear-gradient(135deg, rgba(255,255,255,0.12), rgba(255,255,255,0.04));
    border-color: rgba(199,161,90,0.6);
    box-shadow: 0 6px 16px rgba(0,0,0,0.3), 0 0 15px rgba(199,161,90,0.15), inset 0 1px 0 rgba(255,255,255,0.15);
    transform: translateY(-1px);
    color: #fff;
}
.btn-profile-view svg {
    color: inherit;
}
