.sus-table-wrapper { border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; overflow-x: auto; margin-top: 2rem; }
        .sus-table { width: 100%; border-collapse: collapse; text-align: left; white-space: nowrap; font-family: 'Inter', sans-serif; }
        .sus-table th { padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,0.08); font-weight: 600; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,0.35); }
        .sus-table td { padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.85rem; vertical-align: middle; color: rgba(255,255,255,0.75); }
        .sus-table tbody tr:hover td { background: rgba(255,255,255,0.03); }
        .sus-table tbody tr:last-child td { border-bottom: none; }
        .participant-col { font-weight: 600; color: #fff; }
        .sus-table .avg-row td { border-top: 1px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.4); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; }
        .sus-table .avg-row .final-score { color: #FF5C8D; font-size: 1rem; font-weight: 700; }
        .score-block { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 3px; font-size: 0.8rem; font-weight: 600; }
        .heat-5 { background: #FF5C8D; color: #111; }
        .heat-4 { background: rgba(255,255,255,0.65); color: #111; }
        .heat-3 { background: rgba(255,255,255,0.3); color: #fff; }
        .heat-2 { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.6); }
        .heat-1 { background: transparent; color: rgba(255,255,255,0.3); border: 1px solid rgba(255,255,255,0.12); box-sizing: border-box; }
        .final-score { font-weight: 600; color: #fff; }
        @keyframes fadeSlideUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
        .fade-in-row { opacity: 0; animation: fadeSlideUp 0.35s ease-out forwards; }
    
        /* ── Larger, more open text ── */
        .chapter-intro .intro-text {
            font-size: 1.18rem !important;
            line-height: 1.85 !important;
            color: rgba(255,255,255,0.72) !important;
            max-width: 860px !important;
        }
        .experiment-description p {
            font-size: 1.05rem !important;
            line-height: 1.88 !important;
            color: rgba(255,255,255,0.65) !important;
            margin-bottom: 1.4rem !important;
        }
        .experiment-detail-title {
            font-size: clamp(2rem, 5vw, 4rem) !important;
            letter-spacing: -0.03em !important;
        }
        .experiment-description strong {
            color: rgba(255,255,255,0.95) !important;
            font-weight: 600 !important;
        }
        .chapter-title {
            font-size: clamp(4rem, 14vw, 10rem) !important;
            letter-spacing: -0.04em !important;
        }
        .experiment-section { padding-top: 6rem !important; padding-bottom: 2rem !important; }
        /* ── Editorial split layout ── */
        .proto-editorial {
            padding: 4.5rem clamp(2rem, 6vw, 8rem);
            max-width: 1100px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
            border-top: 1px solid rgba(255,255,255,0.07);
        }
        .proto-editorial.flip .proto-editorial-text { order: 2; }
        .proto-editorial.flip .proto-editorial-image { order: 1; }
        .proto-editorial-label {
            font-size: 0.58rem;
            text-transform: uppercase;
            letter-spacing: 0.22em;
            color: rgba(255,255,255,0.28);
            font-weight: 600;
            display: block;
            margin-bottom: 1.2rem;
        }
        .proto-editorial-text p {
            font-size: 1.05rem;
            line-height: 1.82;
            color: rgba(255,255,255,0.6);
            margin: 0 0 1.1rem;
        }
        .proto-editorial-text p:last-child { margin-bottom: 0; }
        .proto-editorial-text strong {
            color: rgba(255,255,255,0.9);
            font-weight: 600;
        }
        .proto-editorial-image img {
            width: 100%;
            display: block;
            border: 1px solid rgba(255,255,255,0.06);
        }
        @media (max-width: 720px) {
            .proto-editorial { grid-template-columns: 1fr; gap: 2rem; }
            .proto-editorial.flip .proto-editorial-text,
            .proto-editorial.flip .proto-editorial-image { order: unset; }
        }

        /* ── Clean proto layout ── */
        .proto-quote-section {
            padding: 5rem clamp(2rem, 6vw, 8rem) 4rem;
            max-width: 860px;
            margin: 0 auto;
        }
        .proto-pull-quote {
            font-size: clamp(1.35rem, 3vw, 2rem);
            font-style: italic;
            font-family: 'DM Serif Display', Georgia, serif;
            color: rgba(255,255,255,0.85);
            line-height: 1.5;
            margin: 0;
            padding-left: 1.5rem;
            border-left: 2px solid rgba(255,255,255,0.25);
            letter-spacing: -0.01em;
        }
        .proto-details-section {
            padding: 0 clamp(2rem, 6vw, 8rem) 5rem;
            max-width: 1100px;
            margin: 0 auto;
        }
        .proto-details-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: 4px;
            overflow: hidden;
        }
        .proto-detail {
            padding: 1.5rem 1.75rem;
            border-right: 1px solid rgba(255,255,255,0.07);
            border-bottom: 1px solid rgba(255,255,255,0.07);
            display: flex;
            flex-direction: column;
            gap: 0.4rem;
        }
        .proto-detail-label {
            font-size: 0.58rem;
            text-transform: uppercase;
            letter-spacing: 0.22em;
            color: rgba(255,255,255,0.28);
            font-weight: 600;
        }
        .proto-detail-value {
            font-size: 0.9rem;
            color: rgba(255,255,255,0.8);
            line-height: 1.45;
        }
        .proto-sus-hero {
            padding: 4rem clamp(2rem, 6vw, 8rem) 1rem;
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            align-items: flex-end;
            gap: 2.5rem;
            border-top: 1px solid rgba(255,255,255,0.07);
            flex-wrap: wrap;
        }
        .proto-sus-number {
            font-size: clamp(5rem, 14vw, 9rem);
            font-weight: 700;
            color: #FF5C8D;
            line-height: 1;
            letter-spacing: -0.04em;
            font-family: 'Inter', sans-serif;
        }
        .proto-sus-meta { padding-bottom: 0.75rem; }
        .proto-sus-meta-label {
            font-size: 0.58rem;
            text-transform: uppercase;
            letter-spacing: 0.22em;
            color: rgba(255,255,255,0.28);
            margin-bottom: 0.4rem;
        }
        .proto-sus-meta-tag {
            font-size: 1rem;
            color: rgba(255,255,255,0.75);
            font-weight: 500;
            margin-bottom: 0.6rem;
        }
        .proto-sus-meta-note {
            font-size: 0.82rem;
            color: rgba(255,255,255,0.38);
            line-height: 1.6;
            max-width: 420px;
            margin: 0;
        }
        /* ── 3D Model Viewer ── */
        .proto-model-section {
            padding: 0 clamp(2rem, 6vw, 8rem) 3rem;
            max-width: 1100px;
            margin: 0 auto;
        }
        .proto-model-viewer {
            width: 100%;
            height: 520px;
            background: rgba(255,255,255,0.02);
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: 4px;
            --poster-color: transparent;
            display: block;
        }
        .proto-model-variants {
            display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
            margin-top: 1rem;
        }
        .proto-variant-btn {
            font-size: 0.58rem;
            text-transform: uppercase;
            letter-spacing: 0.18em;
            padding: 0.4rem 0.9rem;
            border: 1px solid rgba(255,255,255,0.15);
            background: transparent;
            color: rgba(255,255,255,0.45);
            cursor: pointer;
            border-radius: 2px;
            transition: all 0.2s;
        }
        .proto-variant-btn:hover,
        .proto-variant-btn.active { border-color: #FF5C8D; color: #FF5C8D; }

        /* ── Proto Video Section ── */
        .proto-video-section {
            padding: 4rem clamp(2rem, 6vw, 8rem);
            max-width: 1100px;
            margin: 0 auto;
            border-top: 1px solid rgba(255,255,255,0.07);
        }
        .proto-video-label {
            display: block;
            font-size: 0.58rem; font-weight: 600;
            letter-spacing: 0.22em; text-transform: uppercase;
            color: rgba(255,255,255,0.28); margin-bottom: 0.75rem;
        }
        .proto-video-title {
            font-size: clamp(1.4rem, 3vw, 2.2rem);
            font-weight: 300; font-style: italic;
            font-family: 'DM Serif Display', Georgia, serif;
            color: #fff; margin-bottom: 2rem; letter-spacing: -0.01em;
        }
        .proto-video-wrapper {
            position: relative; width: 100%;
            aspect-ratio: 16/9;
            background: #111; overflow: hidden;
            border: 1px solid rgba(255,255,255,0.08);
        }
        .proto-vid-player-div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
        .proto-vid-player-div iframe {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            border: none;
            transform: scale(1.22);
            transform-origin: center bottom;
            pointer-events: none;
        }
        .proto-vid-overlay { position: absolute; inset: 0; z-index: 10; background: transparent; }
        .proto-vid-sound-btn {
            position: absolute; bottom: 1rem; right: 1rem; z-index: 20;
            background: rgba(5,5,5,0.72);
            border: 1px solid rgba(255,255,255,0.18);
            color: #fff; width: 2.6rem; height: 2.6rem;
            border-radius: 50%; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            font-size: 1rem; transition: all 0.25s; backdrop-filter: blur(10px);
        }
        .proto-vid-sound-btn:hover { border-color: rgba(255,255,255,0.5); }
        .proto-vid-sound-btn.unmuted { border-color: #FF5C8D; color: #FF5C8D; }

        /* ── p5.js Embed ── */
        .proto-p5-section {
            padding: 4rem clamp(2rem, 6vw, 8rem);
            max-width: 1100px;
            margin: 0 auto;
            border-top: 1px solid rgba(255,255,255,0.07);
        }
        .proto-p5-label {
            display: block;
            font-size: 0.58rem; font-weight: 600;
            letter-spacing: 0.22em; text-transform: uppercase;
            color: rgba(255,255,255,0.28); margin-bottom: 0.75rem;
        }
        .proto-p5-title {
            font-size: clamp(1.4rem, 3vw, 2.2rem);
            font-weight: 300; font-style: italic;
            font-family: 'DM Serif Display', Georgia, serif;
            color: #fff; margin-bottom: 2rem; letter-spacing: -0.01em;
        }
        .proto-p5-frame-wrap {
            position: relative; width: 100%;
            aspect-ratio: 16/9;
            background: #111; border: 1px solid rgba(255,255,255,0.08); overflow: hidden;
        }
        .proto-p5-frame-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
        .proto-p5-open {
            display: inline-block; margin-top: 1rem;
            font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.18em;
            color: rgba(255,255,255,0.4); text-decoration: none;
            border-bottom: 1px solid rgba(255,255,255,0.15); padding-bottom: 2px;
            transition: all 0.2s;
        }
        .proto-p5-open:hover { color: #FF5C8D; border-color: #FF5C8D; }

        .proto-sus-table-section {
            padding: 2.5rem clamp(2rem, 6vw, 8rem) 7rem;
            max-width: 1100px;
            margin: 0 auto;
        }
        .proto-sus-table-label {
            font-size: 0.58rem;
            text-transform: uppercase;
            letter-spacing: 0.22em;
            color: rgba(255,255,255,0.28);
            margin-bottom: 1rem;
            font-weight: 600;
            display: block;
        }
