:root {
    --v2-paper: #fbf7ef;
    --v2-ink: #28221d;
    --v2-muted: #74695e;
    --v2-line: #ddd3c3;
    --v2-white: #fffdf8;
    --v2-blue: #2f91d0;
    --v2-blue-dark: #3159aa;
    --v2-cyan: #6cc8e8;
    --v2-yellow: #ffdf43;
    --v2-orange: #f78b3d;
    --v2-red: #d80000;
    --v2-purple: #8e5bd1;
    --v2-green: #4caf50;
    --v2-tube: #70543e;
}

body.v2 {
    background: var(--v2-paper);
    color: var(--v2-ink);
}

.v2 .lum-header {
    border-bottom-color: rgba(40,34,29,.09);
    background: rgba(251,247,239,.9);
}

.v2-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: 8px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(49,89,170,.1);
    color: var(--v2-blue-dark);
    font: 700 .6rem "DM Mono", monospace;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.v2-hero {
    min-height: 890px;
    position: relative;
    overflow: hidden;
    display: grid;
    align-items: center;
    border-bottom: 1px solid var(--v2-line);
    background:
        radial-gradient(circle at 77% 22%, rgba(108,200,232,.32), transparent 28%),
        radial-gradient(circle at 88% 72%, rgba(255,223,67,.2), transparent 24%),
        linear-gradient(115deg, var(--v2-paper) 42%, #f1eadf);
}

.v2-hero::after {
    content: "";
    position: absolute;
    inset: auto -130px -340px auto;
    width: 680px;
    height: 680px;
    border: 1px solid rgba(49,89,170,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 80px rgba(49,89,170,.035), 0 0 0 160px rgba(49,89,170,.02);
}

.v2-hero-grid {
    display: grid;
    grid-template-columns: minmax(390px,.78fr) minmax(590px,1.22fr);
    gap: 46px;
    align-items: center;
    padding: 76px 0 88px;
    position: relative;
    z-index: 2;
}

.v2-hero h1 {
    max-width: 7.8ch;
    margin: 20px 0 25px;
    font: 700 clamp(4.1rem,6.5vw,7rem)/.88 "Playfair Display", serif;
    letter-spacing: -.058em;
}

.v2-hero h1 em {
    color: var(--v2-blue-dark);
    font-weight: 500;
}

.v2-hero .lum-lede {
    max-width: 500px;
    font-size: clamp(1.15rem,1.8vw,1.42rem);
}

.demo-shell {
    display: grid;
    grid-template-columns: minmax(430px,1fr) 164px;
    gap: 22px;
    align-items: center;
    min-height: 720px;
}

.demo-stage {
    min-height: 700px;
    display: grid;
    place-items: center;
    position: relative;
}

.demo-stage::before {
    content: "";
    position: absolute;
    width: 490px;
    height: 490px;
    border-radius: 50%;
    background: rgba(255,255,255,.42);
    border: 1px solid rgba(49,89,170,.11);
}

.demo-phone {
    width: 350px;
    height: 716px;
    position: relative;
    overflow: hidden;
    border: 9px solid #171411;
    border-radius: 54px;
    background: var(--v2-paper);
    box-shadow: 0 36px 80px rgba(40,34,29,.23);
    transform: rotate(-1.2deg);
}

.demo-phone::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 50%;
    translate: -50% 0;
    z-index: 30;
    width: 104px;
    height: 28px;
    border-radius: 20px;
    background: #171411;
}

.demo-screen {
    position: absolute;
    inset: 0;
    padding: 54px 18px 76px;
    background: var(--v2-paper);
    transition: opacity .48s ease, transform .55s cubic-bezier(.2,.8,.2,1);
}

.demo-screen.insights-screen {
    opacity: 0;
    transform: translateX(34px);
    overflow: hidden;
}

.demo-phone[data-scene="insights"] .timeline-screen,
.demo-phone[data-scene="ask"] .timeline-screen {
    opacity: 0;
    transform: translateX(-34px);
}

.demo-phone[data-scene="insights"] .insights-screen,
.demo-phone[data-scene="ask"] .insights-screen {
    opacity: 1;
    transform: translateX(0);
}

.demo-status {
    display: flex;
    justify-content: space-between;
    color: var(--v2-muted);
    font-size: 8px;
    font-weight: 700;
}

.demo-date {
    margin: 14px 0 10px;
    font: 700 25px/1 "Playfair Display", serif;
}

.demo-map {
    height: 176px;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--v2-line);
    border-radius: 16px;
    background:
        linear-gradient(32deg, transparent 43%, rgba(255,255,255,.8) 43.5% 47%, transparent 47.5%),
        linear-gradient(112deg, transparent 56%, rgba(255,255,255,.8) 56.5% 60%, transparent 60.5%),
        repeating-linear-gradient(90deg, transparent 0 39px, rgba(116,105,94,.1) 39px 40px),
        repeating-linear-gradient(0deg, transparent 0 34px, rgba(116,105,94,.1) 34px 35px),
        #e9e6df;
}

.demo-map svg { width: 100%; height: 100%; display: block; }
.demo-map .demo-route {
    fill: none;
    stroke: var(--v2-green);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-dasharray: 360;
    stroke-dashoffset: 360;
}

.demo-phone[data-scene="timeline"] .demo-route {
    animation: draw-demo-route 3.1s ease-in-out forwards;
}

.demo-phone[data-scene="edit"] .demo-route,
.demo-phone[data-scene="confirm"] .demo-route {
    stroke-dashoffset: 0;
}

.demo-rider {
    offset-path: path("M22 140 C58 102 72 128 105 92 S166 104 198 62 S260 73 309 30");
    offset-distance: 0%;
    position: absolute;
    left: 0;
    top: 0;
    width: 14px;
    height: 14px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--v2-green);
    opacity: 0;
    box-shadow: 0 3px 8px rgba(0,0,0,.22);
}

.demo-phone[data-scene="timeline"] .demo-rider {
    animation: demo-ride 3.1s ease-in-out forwards;
}

@keyframes draw-demo-route { to { stroke-dashoffset: 0; } }
@keyframes demo-ride {
    0% { opacity: 1; offset-distance: 0%; }
    100% { opacity: 1; offset-distance: 100%; }
}

.demo-summary {
    margin: 10px 0 8px;
    padding: 9px 10px;
    border: 1px solid var(--v2-line);
    border-radius: 12px;
    background: rgba(255,255,255,.75);
}

.demo-summary-head,
.demo-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

.demo-eyebrow {
    color: var(--v2-muted);
    font: 700 6.5px "DM Mono", monospace;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.demo-summary-head strong { font: 700 10px "Playfair Display", serif; }
.demo-chips { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; margin-top: 7px; }
.demo-chip {
    min-width: 0;
    padding: 5px 1px;
    border-radius: 99px;
    text-align: center;
    font-size: 6px;
    font-weight: 700;
    transform: translateY(8px) scale(.82);
    opacity: 0;
}

.demo-phone[data-scene="confirm"] .demo-chip,
.demo-phone[data-scene="insights"] .demo-chip,
.demo-phone[data-scene="ask"] .demo-chip {
    animation: chip-land .38s cubic-bezier(.2,.9,.2,1.3) forwards;
}

.demo-chip:nth-child(2) { animation-delay: .12s !important; }
.demo-chip:nth-child(3) { animation-delay: .24s !important; }
.demo-chip:nth-child(4) { animation-delay: .36s !important; }
@keyframes chip-land { to { opacity: 1; transform: translateY(0) scale(1); } }

.demo-feed {
    display: grid;
    gap: 2px;
    margin-top: 6px;
    transition: transform .65s cubic-bezier(.2,.8,.2,1);
}

.demo-row {
    display: grid;
    grid-template-columns: 31px 13px 1fr;
    gap: 7px;
    min-height: 57px;
    opacity: 0;
    transform: translateY(15px);
}

.demo-phone[data-scene="timeline"] .demo-row {
    animation: row-arrive .55s ease forwards;
}

.demo-row:nth-child(2) { animation-delay: .6s !important; }
.demo-row:nth-child(3) { animation-delay: 1.25s !important; }
.demo-row:nth-child(4) { animation-delay: 1.9s !important; }
.demo-phone:not([data-scene="timeline"]) .demo-row { opacity: 1; transform: none; }
@keyframes row-arrive { to { opacity: 1; transform: translateY(0); } }

.demo-times {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 3px 0 9px;
    color: var(--v2-muted);
    font-size: 6px;
    text-align: right;
}

.demo-spine { display: flex; flex-direction: column; align-items: center; }
.demo-spine i { flex: 1; width: 2px; opacity: .43; }
.demo-spine b { flex: none; width: 9px; height: 9px; margin: 3px 0; border-radius: 50%; }
.demo-row-main { padding: 4px 0 7px; border-bottom: 1px solid rgba(221,211,195,.7); }
.demo-row-title { display: flex; justify-content: space-between; gap: 6px; font-size: 8.2px; font-weight: 700; }
.demo-row-title small { color: var(--v2-muted); font-weight: 500; }
.demo-row .demo-chips { margin-top: 5px; }

.demo-edit-trigger {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    position: absolute;
    right: 17px;
    top: 445px;
    z-index: 8;
    border: 1px solid var(--v2-line);
    border-radius: 50%;
    background: #fff;
    color: var(--v2-muted);
    font-size: 9px;
}

.demo-pointer {
    width: 22px;
    height: 22px;
    position: absolute;
    z-index: 40;
    left: 70%;
    top: 60%;
    border: 2px solid rgba(255,255,255,.95);
    border-radius: 50%;
    background: rgba(40,34,29,.8);
    box-shadow: 0 5px 15px rgba(40,34,29,.25);
    opacity: 0;
    pointer-events: none;
}

.demo-phone[data-scene="edit"] .demo-pointer {
    animation: pointer-edit 1.2s ease forwards;
}

.demo-phone[data-scene="confirm"] .demo-pointer {
    animation: pointer-confirm 1.1s ease forwards;
}

@keyframes pointer-edit {
    0% { opacity: 0; left: 55%; top: 66%; }
    45% { opacity: 1; left: 82%; top: 61%; transform: scale(1); }
    70% { opacity: 1; transform: scale(.72); }
    100% { opacity: 0; transform: scale(1); }
}

@keyframes pointer-confirm {
    0% { opacity: 0; left: 55%; top: 69%; }
    45% { opacity: 1; left: 77%; top: 82%; transform: scale(1); }
    70% { opacity: 1; transform: scale(.72); }
    100% { opacity: 0; transform: scale(1); }
}

.edit-sheet {
    position: absolute;
    z-index: 20;
    left: 8px;
    right: 8px;
    bottom: -340px;
    min-height: 306px;
    padding: 15px 16px 17px;
    border: 1px solid var(--v2-line);
    border-radius: 25px 25px 0 0;
    background: rgba(255,253,248,.98);
    box-shadow: 0 -18px 50px rgba(40,34,29,.16);
    transition: bottom .58s cubic-bezier(.2,.85,.2,1);
}

.demo-phone[data-scene="edit"] .edit-sheet { bottom: 0; }
.sheet-handle { width: 35px; height: 4px; margin: 0 auto 13px; border-radius: 3px; background: var(--v2-line); }
.edit-sheet h3 { font: 700 19px "Playfair Display", serif; }
.edit-sheet p { margin-top: 3px; color: var(--v2-muted); font-size: 8px; }
.mode-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin: 14px 0; }
.mode-option { padding: 10px 3px; border: 1px solid var(--v2-line); border-radius: 11px; text-align: center; color: var(--v2-muted); font-size: 7px; }
.mode-option.selected { color: #fff; border-color: var(--v2-green); background: var(--v2-green); }
.sheet-place { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--v2-line); border-radius: 11px; font-size: 8px; }
.sheet-place span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; color: var(--v2-purple); background: rgba(142,91,209,.1); }
.sheet-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 13px; }
.sheet-button { padding: 10px; border: 1px solid var(--v2-line); border-radius: 99px; text-align: center; font-size: 7px; font-weight: 700; }
.sheet-button.save { color: #fff; border-color: var(--v2-blue-dark); background: var(--v2-blue-dark); }

.demo-toast {
    position: absolute;
    z-index: 22;
    left: 50%;
    bottom: 85px;
    translate: -50% 12px;
    min-width: 185px;
    padding: 10px 13px;
    border-radius: 99px;
    background: var(--v2-ink);
    color: #fff;
    text-align: center;
    font-size: 8px;
    opacity: 0;
}

.demo-phone[data-scene="confirm"] .demo-toast {
    animation: toast-in 2.2s ease both;
}
@keyframes toast-in {
    0%,100% { opacity: 0; translate: -50% 12px; }
    20%,78% { opacity: 1; translate: -50% 0; }
}

.demo-tabbar {
    position: absolute;
    z-index: 25;
    left: 0;
    right: 0;
    bottom: 0;
    height: 69px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    align-items: center;
    border-top: 1px solid var(--v2-line);
    background: rgba(255,253,248,.95);
    backdrop-filter: blur(10px);
}

.demo-tab { text-align: center; color: var(--v2-muted); font-size: 7px; }
.demo-tab b { display: block; margin-bottom: 2px; font-size: 14px; line-height: 1; }
.timeline-screen .demo-tab:first-child,
.insights-screen .demo-tab:last-child { color: var(--v2-blue-dark); font-weight: 700; }

.insights-scroll {
    transition: transform 2.5s cubic-bezier(.25,.7,.25,1);
}

.demo-phone[data-scene="insights"] .insights-scroll { transform: translateY(-178px); transition-delay: .8s; }
.demo-phone[data-scene="ask"] .insights-scroll { transform: translateY(-226px); }

.metric-switch {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 10px 0;
    padding: 3px;
    border: 1px solid var(--v2-line);
    border-radius: 99px;
}

.metric-switch button {
    padding: 6px;
    border: 0;
    border-radius: 99px;
    background: transparent;
    color: var(--v2-muted);
    text-align: center;
    font: 700 7px "DM Sans",sans-serif;
    cursor: pointer;
}
.metric-switch .active { color: #fff; background: var(--v2-blue-dark); }

.insight-stat-row { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 9px 0 14px; }
.insight-stat { padding: 10px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; }
.insight-stat strong { display: block; font: 700 22px "Playfair Display",serif; }
.insight-stat small { color: var(--v2-muted); font-size: 6px; }
.insight-ledger { display: grid; gap: 4px; margin-top: 8px; }
.insight-ledger-row { display: grid; grid-template-columns: 22px 1fr auto; gap: 7px; align-items: center; padding: 7px 0; border-bottom: 1px solid var(--v2-line); }
.insight-ledger-row i { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #fff; font-style: normal; font-size: 7px; font-weight: 700; }
.insight-ledger-row b { display: block; font-size: 8px; }
.insight-ledger-row small { display: block; color: var(--v2-muted); font-size: 6px; }
.insight-ledger-row strong { font: 700 14px "Playfair Display",serif; }

.extreme-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 9px; }
.extreme-card { overflow: hidden; border-radius: 12px; color: #fff; background: var(--card); }
.extreme-map { height: 60px; background: rgba(255,255,255,.88); }
.extreme-map svg { width: 100%; height: 100%; }
.extreme-copy { padding: 9px; }
.extreme-copy span { font: 700 5.5px "DM Mono",monospace; letter-spacing: .1em; text-transform: uppercase; opacity: .78; }
.extreme-copy b { display: block; min-height: 24px; margin: 3px 0; font: 700 10px/1.1 "Playfair Display",serif; }
.extreme-copy strong { font: 700 18px "Playfair Display",serif; }
.extreme-copy small { font-size: 5.5px; }

.ask-panel {
    position: absolute;
    z-index: 15;
    inset: 45px 8px 8px;
    padding: 20px 13px 72px;
    border-radius: 24px;
    background: var(--v2-paper);
    opacity: 0;
    transform: translateY(34px);
    pointer-events: none;
    transition: opacity .45s ease, transform .55s cubic-bezier(.2,.8,.2,1);
}

.demo-phone[data-scene="ask"] .ask-panel {
    opacity: 1;
    transform: translateY(0);
}

.ask-panel h3 { text-align: center; font: 700 24px "Playfair Display",serif; }
.ask-panel .ask-sub { text-align: center; color: var(--v2-muted); font-size: 7px; }
.ask-bubbles { display: flex; flex-direction: column; gap: 10px; margin-top: 17px; }
.ask-bubble { max-width: 86%; padding: 10px 11px; border-radius: 14px; font-size: 8px; line-height: 1.4; }
.ask-bubble.user { align-self: flex-end; color: #fff; border-bottom-right-radius: 3px; background: var(--v2-ink); font-family: "Playfair Display",serif; font-style: italic; }
.ask-bubble.answer { align-self: flex-start; padding: 0; overflow: hidden; border: 1px solid var(--v2-line); border-bottom-left-radius: 3px; background: #fff; opacity: 0; transform: translateY(10px); }
.demo-phone[data-scene="ask"] .ask-bubble.answer { animation: answer-arrive .55s .8s ease forwards; }
@keyframes answer-arrive { to { opacity: 1; transform: translateY(0); } }
.answer-map { height: 92px; background: #eee9df; }
.answer-map svg { width: 100%; height: 100%; }
.answer-copy { padding: 11px; }
.answer-copy span { color: var(--v2-red); font: 700 6px "DM Mono",monospace; letter-spacing: .1em; text-transform: uppercase; }
.answer-copy b { display: block; margin: 4px 0; font: 700 14px "Playfair Display",serif; }
.answer-calc { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--v2-line); color: var(--v2-muted); font: 500 6.5px "DM Mono",monospace; }
.ask-input { position: absolute; left: 13px; right: 13px; bottom: 13px; padding: 11px 13px; border: 1px solid var(--v2-line); border-radius: 99px; background: #fff; color: var(--v2-muted); font-size: 7px; }

.demo-steps {
    display: grid;
    gap: 8px;
}

.demo-step {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 8px;
    align-items: center;
    min-height: 54px;
    padding: 9px;
    border: 1px solid rgba(40,34,29,.1);
    border-radius: 14px;
    background: rgba(255,255,255,.48);
    color: var(--v2-muted);
    font-size: 8px;
    transition: background .25s ease, transform .25s ease, color .25s ease;
}

.demo-step i {
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(49,89,170,.08);
    color: var(--v2-blue-dark);
    font: 500 7px "DM Mono",monospace;
}

.demo-step.active {
    color: var(--v2-ink);
    background: #fff;
    transform: translateX(-5px);
    box-shadow: 0 12px 25px rgba(40,34,29,.09);
}

.demo-controls {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 13px;
}

.demo-control {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 1px solid var(--v2-line);
    border-radius: 50%;
    background: rgba(255,255,255,.64);
    color: var(--v2-ink);
    cursor: pointer;
    font: 700 9px "DM Mono",monospace;
}

.demo-progress { height: 2px; overflow: hidden; margin-top: 10px; border-radius: 2px; background: rgba(40,34,29,.11); }
.demo-progress i { display: block; height: 100%; width: 0; background: var(--v2-blue-dark); }
.demo-progress.running i { animation: demo-progress var(--scene-duration,4s) linear forwards; }
@keyframes demo-progress { to { width: 100%; } }

.v2-band {
    color: var(--v2-paper);
    background: var(--v2-ink);
    overflow: hidden;
}

.v2-marquee {
    display: flex;
    width: max-content;
    animation: marquee 30s linear infinite;
}

.v2-marquee span {
    padding: 23px 38px;
    color: rgba(251,247,239,.72);
    font: 600 1rem "Playfair Display",serif;
    white-space: nowrap;
}

.v2-marquee span::after { content: "✦"; margin-left: 38px; color: var(--v2-cyan); font-size: .7em; }
@keyframes marquee { to { transform: translateX(-50%); } }

.v2-section {
    padding: clamp(86px,10vw,142px) 0;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--v2-line);
}

.v2-section.white { background: var(--v2-white); }
.v2-section.dark { color: var(--v2-paper); background: var(--v2-ink); }

.v2-intro {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 64px;
    margin-bottom: 68px;
}

.v2-index { color: var(--v2-blue-dark); font: 500 .72rem "DM Mono",monospace; letter-spacing: .12em; }
.v2-section.dark .v2-index { color: var(--v2-cyan); }
.v2-intro h2,
.v2-research-hero h1 {
    max-width: 850px;
    font: 700 clamp(3rem,5vw,5.1rem)/.96 "Playfair Display",serif;
    letter-spacing: -.048em;
}
.v2-intro p { max-width: 680px; margin-top: 22px; color: var(--v2-muted); font-size: 1.08rem; }
.v2-section.dark .v2-intro p { color: rgba(251,247,239,.62); }

.chunk-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.chunk-card {
    min-height: 350px;
    display: flex;
    flex-direction: column;
    padding: 29px;
    border: 1px solid var(--v2-line);
    border-radius: 23px;
    background: rgba(255,255,255,.68);
}
.chunk-card.accent { color: #fff; border-color: var(--v2-blue-dark); background: var(--v2-blue-dark); }
.chunk-no { color: var(--v2-blue-dark); font: 500 .7rem "DM Mono",monospace; }
.chunk-card.accent .chunk-no { color: var(--v2-cyan); }
.chunk-card h3 { margin-top: auto; font: 700 clamp(2rem,3vw,2.8rem)/.96 "Playfair Display",serif; letter-spacing: -.035em; }
.chunk-card p { margin-top: 16px; color: var(--v2-muted); font-size: 1rem; line-height: 1.5; }
.chunk-card.accent p { color: rgba(255,255,255,.72); }

.living-day {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 28px;
    align-items: stretch;
}

.living-map,
.living-feed {
    min-height: 590px;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--v2-line);
    border-radius: 26px;
    background: #ece8df;
}

.living-map {
    background:
        repeating-linear-gradient(90deg,transparent 0 58px,rgba(116,105,94,.1) 58px 59px),
        repeating-linear-gradient(0deg,transparent 0 51px,rgba(116,105,94,.1) 51px 52px),
        #e7e6df;
}
.living-map svg { width: 100%; height: 100%; }
.living-route { fill:none; stroke:var(--v2-green); stroke-width:7; stroke-linecap:round; stroke-dasharray:980; stroke-dashoffset:980; }
.is-visible .living-route { animation: living-draw 5.4s .3s ease-in-out forwards; }
@keyframes living-draw { to { stroke-dashoffset:0; } }
.living-pin { opacity:0; transform-box:fill-box; transform-origin:center; transform:scale(.4); }
.is-visible .living-pin { animation: pin-pop .35s ease forwards; }
.living-pin.p2 { animation-delay:2.4s !important; }
.living-pin.p3 { animation-delay:4.8s !important; }
@keyframes pin-pop { to { opacity:1; transform:scale(1); } }
.living-caption { position:absolute; left:24px; top:23px; padding:9px 13px; border-radius:99px; background:rgba(255,255,255,.86); color:var(--v2-muted); font:700 .68rem "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }

.living-feed { padding: 30px 25px; background: var(--v2-paper); }
.living-feed h3 { font:700 2rem "Playfair Display",serif; }
.living-feed > p { color:var(--v2-muted); font-size:.82rem; }
.living-row { display:grid; grid-template-columns:43px 16px 1fr; gap:10px; min-height:95px; margin-top:10px; opacity:0; transform:translateY(18px); }
.is-visible .living-row { animation:living-row-in .55s ease forwards; }
.living-row.r2 { animation-delay:2.2s !important; }
.living-row.r3 { animation-delay:4.3s !important; }
@keyframes living-row-in { to { opacity:1; transform:translateY(0); } }
.living-row-time { display:flex; flex-direction:column; justify-content:space-between; padding:4px 0 12px; color:var(--v2-muted); font-size:.65rem; text-align:right; }
.living-row-spine { display:flex; flex-direction:column; align-items:center; }
.living-row-spine i { width:3px; flex:1; opacity:.45; }
.living-row-spine b { width:12px; height:12px; margin:5px 0; border-radius:50%; }
.living-row-main { padding:6px 0 13px; border-bottom:1px solid var(--v2-line); }
.living-row-title { display:flex; justify-content:space-between; font-weight:700; }
.living-row-title small { color:var(--v2-muted); font-weight:500; }
.living-row .demo-chips { margin-top:10px; }
.is-visible .living-row .demo-chip { animation:chip-land .38s ease forwards; animation-delay:var(--delay,1.3s); }

.v2-insights-layout {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:56px;
    align-items:center;
}
.v2-insights-copy h2 { font:700 clamp(3rem,5vw,5rem)/.96 "Playfair Display",serif; letter-spacing:-.045em; }
.v2-insights-copy p { margin:22px 0 26px; color:var(--v2-muted); font-size:1.08rem; }
.v2-insights-copy ul { display:grid; gap:11px; }
.v2-insights-copy li { list-style:none; color:var(--v2-muted); }
.v2-insights-copy li::before { content:"—"; margin-right:10px; color:var(--v2-blue-dark); }

.v2-insight-canvas {
    padding:26px;
    border:1px solid var(--v2-line);
    border-radius:28px;
    background:var(--v2-paper);
    box-shadow:0 28px 75px rgba(40,34,29,.12);
}
.v2-insight-head { display:flex; justify-content:space-between; align-items:end; }
.v2-insight-head h3 { font:700 2.3rem "Playfair Display",serif; }
.v2-insight-head span { color:var(--v2-muted); font-size:.75rem; }
.v2-highlow { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-top:20px; }
.v2-extreme { overflow:hidden; border-radius:19px; color:#fff; background:var(--card); box-shadow:0 12px 30px rgba(40,34,29,.14); transition:transform .25s ease; }
.v2-extreme:hover { transform:translateY(-5px) rotate(-.4deg); }
.v2-extreme-map { height:145px; background:#eeebe4; }
.v2-extreme-map svg { width:100%; height:100%; }
.v2-extreme-copy { padding:17px; }
.v2-extreme-copy span { font:700 .65rem "DM Mono",monospace; letter-spacing:.13em; text-transform:uppercase; opacity:.78; }
.v2-extreme-copy h4 { margin:6px 0; font:700 1.35rem/1.05 "Playfair Display",serif; }
.v2-extreme-copy strong { font:700 2.2rem "Playfair Display",serif; }
.v2-extreme-copy small { font-size:.68rem; }
.v2-extreme-copy footer { display:flex; justify-content:space-between; margin-top:12px; padding-top:10px; border-top:1px solid rgba(255,255,255,.25); font-size:.67rem; }

.answer-evolution {
    display:grid;
    grid-template-columns:.8fr auto 1.2fr;
    gap:22px;
    align-items:center;
    margin-top:62px;
}
.plain-answer { padding:25px; border:1px dashed var(--v2-line); border-radius:18px; color:var(--v2-muted); background:rgba(255,255,255,.4); }
.plain-answer strong { display:block; color:var(--v2-ink); font:700 1.3rem "Playfair Display",serif; margin-bottom:8px; }
.evolution-arrow { color:var(--v2-blue-dark); font-size:2rem; }
.rich-answer { overflow:hidden; border:1px solid var(--v2-line); border-radius:20px; background:#fff; box-shadow:0 18px 45px rgba(40,34,29,.12); }
.rich-answer-map { height:150px; background:#ece9e2; }
.rich-answer-map svg { width:100%; height:100%; }
.rich-answer-copy { padding:20px; }
.rich-answer-copy span { color:var(--v2-red); font:700 .66rem "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.rich-answer-copy h4 { margin:6px 0; font:700 1.75rem "Playfair Display",serif; }
.rich-answer-calc { margin-top:12px; padding:10px 12px; border-radius:10px; background:var(--v2-paper); color:var(--v2-muted); font:500 .7rem "DM Mono",monospace; }

.reveal {
    opacity:0;
    transform:translateY(34px);
    transition:opacity .8s ease, transform .85s cubic-bezier(.2,.8,.2,1);
}
.reveal.is-visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.12s; }
.reveal-delay-2 { transition-delay:.24s; }

/* Research V2 */
.v2-research-hero {
    min-height:850px;
    display:grid;
    align-items:center;
    position:relative;
    overflow:hidden;
    border-bottom:1px solid var(--v2-line);
    background:
        radial-gradient(circle at 79% 27%,rgba(108,200,232,.28),transparent 25%),
        linear-gradient(110deg,var(--v2-paper) 52%,#ede7dc);
}
.v2-research-grid { display:grid; grid-template-columns:minmax(390px,.8fr) minmax(0,1.2fr); gap:38px; align-items:center; padding:90px 0; }
.v2-research-hero h1 { margin:21px 0 26px; font-size:clamp(4rem,6.3vw,6.5rem); }
.v2-research-hero h1 em { color:var(--v2-blue-dark); font-weight:500; }
.v2-research-hero .lum-lede { font-size:1.24rem; }

.research-city-wrap {
    width:106%;
    margin-left:-1%;
}

.research-city-demo {
    aspect-ratio:1.04;
    width:100%;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:1px solid rgba(49,89,170,.14);
    border-radius:36px;
    background:
        radial-gradient(circle at 50% 45%,rgba(255,255,255,.96),rgba(244,239,229,.74) 58%,rgba(108,200,232,.16));
    box-shadow:0 34px 80px rgba(40,34,29,.13);
}

.research-city-demo::before {
    content:"";
    position:absolute;
    inset:-30%;
    z-index:-1;
    background:conic-gradient(from 180deg at 50% 50%,transparent,rgba(108,200,232,.17),transparent 32%,rgba(255,223,67,.13),transparent 64%);
    animation:city-ambient-spin 24s linear infinite;
}

@keyframes city-ambient-spin { to { transform:rotate(360deg); } }

.city-demo-phases {
    position:absolute;
    z-index:30;
    left:22px;
    top:20px;
    width:350px;
    height:42px;
}

.city-demo-phase {
    display:flex;
    align-items:center;
    gap:8px;
    position:absolute;
    inset:0 auto auto 0;
    padding:9px 15px 9px 10px;
    border:1px solid rgba(49,89,170,.12);
    border-radius:99px;
    background:rgba(255,253,248,.88);
    color:var(--v2-muted);
    font:700 .72rem "DM Mono",monospace;
    letter-spacing:.04em;
    opacity:0;
    transform:translateY(5px);
    backdrop-filter:blur(10px);
    animation:city-phase 16s ease-in-out infinite;
}

.city-demo-phase b {
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--v2-blue-dark);
    color:#fff;
    font-size:.62rem;
}

.city-demo-phase.phase-two { animation-delay:5s; }
.city-demo-phase.phase-three { animation-delay:9.3s; }

@keyframes city-phase {
    0%,3% { opacity:0; transform:translateY(5px); }
    7%,27% { opacity:1; transform:translateY(0); }
    31%,100% { opacity:0; transform:translateY(-4px); }
}

.city-origin-phone {
    width:256px;
    height:490px;
    position:absolute;
    z-index:20;
    left:50%;
    top:51%;
    overflow:hidden;
    padding:48px 15px 18px;
    border:7px solid #171411;
    border-radius:39px;
    background:var(--v2-paper);
    box-shadow:0 28px 60px rgba(40,34,29,.24);
    transform:translate(-50%,-50%) scale(.88);
    animation:city-phone-fall 16s cubic-bezier(.65,.05,.22,1) infinite;
}

.city-phone-island {
    position:absolute;
    top:11px;
    left:50%;
    width:78px;
    height:22px;
    border-radius:99px;
    background:#171411;
    transform:translateX(-50%);
}

.city-phone-head { display:flex; justify-content:space-between; color:var(--v2-muted); font:700 5px "DM Sans",sans-serif; }
.city-origin-phone h3 { margin:10px 0 8px; font:700 24px "Playfair Display",serif; }
.city-phone-map {
    height:104px;
    padding:10px;
    overflow:hidden;
    border:1px solid var(--v2-line);
    border-radius:13px;
    background:
        linear-gradient(38deg,transparent 40%,rgba(255,255,255,.85) 40.5% 46%,transparent 46.5%),
        linear-gradient(115deg,transparent 57%,rgba(255,255,255,.85) 57.5% 64%,transparent 64.5%),
        repeating-linear-gradient(90deg,transparent 0 30px,rgba(49,89,170,.07) 30px 31px),
        #e9e6df;
}
.city-phone-map svg { width:100%; height:100%; }
.city-phone-timeline { margin-top:10px; }
.city-phone-row {
    display:grid;
    grid-template-columns:31px 12px 1fr;
    gap:7px;
    align-items:center;
    min-height:57px;
    border-bottom:1px solid var(--v2-line);
    opacity:0;
    transform:translateY(13px);
    animation:city-row-build 16s ease infinite;
}
.city-phone-row.row-two { animation-delay:.8s; }
.city-phone-row.row-three { animation-delay:1.6s; }
.city-phone-row.row-four { animation-delay:2.4s; }
.city-phone-row time { color:var(--v2-muted); font:500 6px "DM Mono",monospace; }
.city-phone-row > i { width:10px; height:10px; position:relative; border-radius:50%; background:var(--c); }
.city-phone-row > i::before,.city-phone-row > i::after { content:""; position:absolute; left:4px; width:2px; height:23px; background:var(--c); opacity:.38; }
.city-phone-row > i::before { bottom:9px; }
.city-phone-row > i::after { top:9px; }
.city-phone-row span { display:flex; justify-content:space-between; gap:5px; font-size:7px; }
.city-phone-row small { color:var(--v2-muted); }

@keyframes city-row-build {
    0%,4% { opacity:0; transform:translateY(13px); }
    8%,30% { opacity:1; transform:translateY(0); }
    35%,100% { opacity:1; transform:translateY(0); }
}

@keyframes city-phone-fall {
    0%,23% {
        left:50%;
        top:51%;
        opacity:1;
        transform:translate(-50%,-50%) scale(.88) rotate(0);
        box-shadow:0 28px 60px rgba(40,34,29,.24);
    }
    34% {
        left:5%;
        top:91%;
        opacity:1;
        transform:translate(-50%,-50%) scale(.065) rotate(-3deg);
        box-shadow:0 12px 30px rgba(40,34,29,.16);
    }
    48% {
        left:27%;
        top:56%;
        opacity:1;
        transform:translate(-50%,-50%) scale(.065) rotate(4deg);
        box-shadow:0 8px 22px rgba(40,34,29,.14);
    }
    63% {
        left:52%;
        top:56%;
        opacity:1;
        transform:translate(-50%,-50%) scale(.065) rotate(-2deg);
    }
    77% {
        left:52%;
        top:30%;
        opacity:1;
        transform:translate(-50%,-50%) scale(.065) rotate(3deg);
    }
    88%,92% {
        left:86%;
        top:20%;
        opacity:1;
        transform:translate(-50%,-50%) scale(.065) rotate(-2deg);
        box-shadow:0 8px 22px rgba(40,34,29,.14);
    }
    100% {
        left:50%;
        top:51%;
        opacity:1;
        transform:translate(-50%,-50%) scale(.88) rotate(0);
        box-shadow:0 28px 60px rgba(40,34,29,.24);
    }
}

.city-map-world {
    position:absolute;
    inset:18px;
    z-index:4;
    overflow:hidden;
    border:1px solid rgba(49,89,170,.13);
    border-radius:27px;
    background:rgba(250,247,239,.94);
    opacity:0;
    transform:perspective(900px) rotateX(29deg) scale(.72) translateY(90px);
    transform-origin:center 75%;
    animation:city-world-arrive 16s cubic-bezier(.2,.8,.2,1) infinite;
}

@keyframes city-world-arrive {
    0%,24% { opacity:0; transform:perspective(900px) rotateX(29deg) scale(.72) translateY(90px); }
    35%,90% { opacity:1; transform:perspective(900px) rotateX(0) scale(1) translateY(0); }
    100% { opacity:0; transform:perspective(900px) rotateX(0) scale(1.03) translateY(0); }
}

.city-map-art { width:100%; height:100%; display:block; }
.city-blocks rect { fill:rgba(49,89,170,.055); stroke:rgba(49,89,170,.09); stroke-width:1; }
.city-parks path,.city-parks circle { fill:rgba(76,175,80,.11); stroke:rgba(76,175,80,.18); }
.city-river { fill:none; stroke:rgba(49,149,210,.2); stroke-width:38; stroke-linecap:round; }
.city-river-shine { fill:none; stroke:rgba(255,255,255,.7); stroke-width:2; stroke-linecap:round; stroke-dasharray:7 12; }
.city-route {
    fill:none;
    stroke-width:4;
    stroke-linecap:round;
    stroke-dasharray:820;
    stroke-dashoffset:820;
    animation:city-route-draw 16s ease infinite;
}
.route-blue { stroke:#3195d2; }
.route-green { stroke:#4caf50; animation-delay:.35s; }
.route-orange { stroke:#f78b3d; animation-delay:.7s; }
.route-purple { stroke:#8e5bd1; animation-delay:1.05s; }
@keyframes city-route-draw {
    0%,29% { stroke-dashoffset:820; opacity:0; }
    36% { opacity:.68; }
    62%,88% { stroke-dashoffset:0; opacity:.68; }
    94%,100% { stroke-dashoffset:0; opacity:0; }
}

.city-data-network path {
    fill:none;
    stroke:var(--v2-blue-dark);
    stroke-width:1.3;
    stroke-dasharray:3 8;
    opacity:0;
    animation:city-network 16s ease infinite;
}
.city-hub { fill:var(--v2-blue-dark); opacity:0; animation:city-network 16s ease infinite; }
@keyframes city-network {
    0%,53% { opacity:0; }
    60%,88% { opacity:.36; }
    94%,100% { opacity:0; }
}

.city-agent {
    width:18px;
    height:28px;
    position:absolute;
    z-index:10;
    left:0;
    top:0;
    border:2px solid #171411;
    border-radius:5px;
    background:var(--v2-paper);
    box-shadow:0 4px 10px rgba(40,34,29,.18);
    opacity:0;
    transform:translate(-50%,-50%);
    animation-duration:16s;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}

.city-agent::before {
    content:"";
    position:absolute;
    left:4px;
    right:4px;
    top:6px;
    height:2px;
    border-radius:2px;
    background:var(--c);
    box-shadow:0 5px 0 var(--c),0 10px 0 var(--c);
}

.city-agent i {
    position:absolute;
    z-index:-1;
    left:50%;
    top:50%;
    width:13px;
    height:13px;
    border:2px solid var(--c);
    border-radius:50%;
    transform:translate(-50%,-50%) scale(.2);
    animation:city-signal 16s ease-out infinite;
}

.city-agent.agent-b { animation-name:city-agent-green; }
.city-agent.agent-c { animation-name:city-agent-orange; }
.city-agent.agent-d { animation-name:city-agent-purple; }
.city-agent.agent-e { animation-name:city-agent-blue-trail; }
.city-agent.agent-f { animation-name:city-agent-green-trail; }
.city-agent.agent-b i,.city-agent.agent-e i { animation-delay:.45s; }
.city-agent.agent-c i,.city-agent.agent-f i { animation-delay:.9s; }
.city-agent.agent-d i { animation-delay:1.25s; }

@keyframes city-agent-green {
    0%,30% { left:27%;top:4%;opacity:0; }
    36% { left:27%;top:4%;opacity:1; }
    47% { left:27%;top:30%;opacity:1; }
    58% { left:52%;top:30%;opacity:1; }
    69% { left:52%;top:56%;opacity:1; }
    80% { left:76%;top:56%;opacity:1; }
    90% { left:76%;top:88%;opacity:1; }
    100% { left:96%;top:88%;opacity:0; }
}
@keyframes city-agent-orange {
    0%,30% { left:3%;top:30%;opacity:0; }
    36% { left:3%;top:30%;opacity:1; }
    47% { left:27%;top:30%;opacity:1; }
    58% { left:27%;top:56%;opacity:1; }
    69% { left:52%;top:56%;opacity:1; }
    80% { left:52%;top:88%;opacity:1; }
    90% { left:76%;top:88%;opacity:1; }
    100% { left:96%;top:84%;opacity:0; }
}
@keyframes city-agent-purple {
    0%,30% { left:4%;top:56%;opacity:0; }
    36% { left:4%;top:56%;opacity:1; }
    47% { left:27%;top:56%;opacity:1; }
    58% { left:27%;top:88%;opacity:1; }
    69% { left:52%;top:88%;opacity:1; }
    79% { left:52%;top:56%;opacity:1; }
    89% { left:76%;top:56%;opacity:1; }
    100% { left:96%;top:30%;opacity:0; }
}
@keyframes city-agent-blue-trail {
    0%,39% { left:4%;top:91%;opacity:0; }
    45% { left:4%;top:91%;opacity:1; }
    58% { left:27%;top:56%;opacity:1; }
    72% { left:52%;top:56%;opacity:1; }
    84% { left:52%;top:30%;opacity:1; }
    94% { left:86%;top:20%;opacity:1; }
    100% { left:86%;top:20%;opacity:0; }
}
@keyframes city-agent-green-trail {
    0%,42% { left:27%;top:4%;opacity:0; }
    48% { left:27%;top:4%;opacity:1; }
    61% { left:27%;top:30%;opacity:1; }
    74% { left:52%;top:30%;opacity:1; }
    87% { left:52%;top:56%;opacity:1; }
    96% { left:76%;top:56%;opacity:1; }
    100% { left:76%;top:56%;opacity:0; }
}

@keyframes city-signal {
    0%,42% { opacity:0; transform:translate(-50%,-50%) scale(.2); }
    47% { opacity:.68; }
    57% { opacity:0; transform:translate(-50%,-50%) scale(4.4); }
    58%,65% { opacity:0; transform:translate(-50%,-50%) scale(.2); }
    69% { opacity:.58; }
    80%,100% { opacity:0; transform:translate(-50%,-50%) scale(4.4); }
}

.city-insight-card {
    width:244px;
    position:absolute;
    z-index:14;
    right:17px;
    top:17px;
    padding:17px;
    border:1px solid rgba(49,89,170,.13);
    border-radius:15px;
    background:rgba(255,253,248,.94);
    box-shadow:0 16px 36px rgba(40,34,29,.12);
    opacity:0;
    transform:translateY(-9px);
    animation:city-insight-arrive 16s ease infinite;
}

.city-insight-card > span { color:var(--v2-blue-dark); font:700 .59rem "DM Mono",monospace; letter-spacing:.11em; }
.city-insight-card > strong { display:block; margin:6px 0 11px; font:700 1.25rem "Playfair Display",serif; }
.city-insight-card div { display:grid; grid-template-columns:1fr auto; gap:2px 8px; align-items:center; margin-top:7px; }
.city-insight-card div i { grid-column:1/-1; width:var(--w); height:3px; border-radius:4px; background:var(--c); transform:scaleX(0); transform-origin:left; animation:city-insight-bar 16s ease infinite; }
.city-insight-card small { color:var(--v2-muted); font-size:.6rem; }
.city-insight-card b { font-size:.64rem; }
@keyframes city-insight-arrive {
    0%,59% { opacity:0; transform:translateY(-9px); }
    66%,88% { opacity:1; transform:translateY(0); }
    94%,100% { opacity:0; transform:translateY(0); }
}
@keyframes city-insight-bar {
    0%,64% { transform:scaleX(0); }
    72%,90% { transform:scaleX(1); }
    96%,100% { transform:scaleX(0); }
}

.research-demo-timer {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px 14px;
    margin:15px 18px 0;
    color:var(--v2-muted);
    font:700 .58rem "DM Mono",monospace;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.research-demo-timer i {
    grid-column:1/-1;
    height:3px;
    overflow:hidden;
    position:relative;
    border-radius:3px;
    background:rgba(49,89,170,.13);
}
.research-demo-timer i::after {
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:var(--v2-blue-dark);
    transform:scaleX(0);
    transform-origin:left;
    animation:research-timer 16s linear infinite;
}
.research-demo-timer span:nth-of-type(2) { text-align:center; }
.research-demo-timer span:nth-of-type(3) { text-align:right; }
@keyframes research-timer { to { transform:scaleX(1); } }

.sensor-mention { display:grid; grid-template-columns:.55fr 1.45fr; gap:64px; align-items:start; padding:34px; border:1px solid var(--v2-line); border-radius:24px; background:rgba(255,255,255,.58); }
.sensor-mention h3 { font:700 2rem "Playfair Display",serif; }
.sensor-mention p { color:var(--v2-muted); font-size:1rem; }

.scale-visual { min-height:580px; position:relative; border:1px solid var(--v2-line); border-radius:28px; overflow:hidden; background:var(--v2-ink); }
.scale-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:44px 44px; }
.scale-path { fill:none; stroke:var(--v2-cyan); stroke-width:3; stroke-linecap:round; stroke-dasharray:1200; stroke-dashoffset:1200; }
.is-visible .scale-path { animation:scale-path 4.5s .4s ease forwards; }
@keyframes scale-path { to { stroke-dashoffset:0; } }
.scale-day { fill:rgba(255,255,255,.1); stroke:rgba(255,255,255,.18); }
.scale-node { opacity:0; }
.is-visible .scale-node { animation:scale-node .4s ease forwards; animation-delay:var(--d); }
@keyframes scale-node { to { opacity:1; } }
.scale-label { fill:rgba(255,255,255,.7); font:500 12px "DM Mono",monospace; }

.research-motion-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.research-motion-card { min-height:400px; padding:30px; overflow:hidden; position:relative; border:1px solid var(--v2-line); border-radius:24px; background:rgba(255,255,255,.67); }
.research-motion-card h3 { margin-top:50px; font:700 2.2rem/1 "Playfair Display",serif; }
.research-motion-card p { margin-top:14px; color:var(--v2-muted); }
.research-motion-card.wide { grid-column:1/-1; min-height:430px; display:grid; grid-template-columns:.75fr 1.25fr; gap:46px; }
.sampling-bars { height:135px; display:flex; align-items:end; gap:5px; margin-top:26px; }
.sampling-bars i { flex:1; height:var(--h); border-radius:5px 5px 0 0; background:var(--c,var(--v2-blue)); transform:scaleY(.15); transform-origin:bottom; animation:sampling 2.4s ease-in-out infinite alternate; animation-delay:var(--d); }
@keyframes sampling { to { transform:scaleY(1); } }
.histogram { display:flex; align-items:end; gap:4px; height:120px; margin-top:30px; }
.histogram i { flex:1; height:var(--h); background:rgba(142,91,209,.5); border-radius:4px 4px 0 0; transform-origin:bottom; animation:hist-pulse 3s ease-in-out infinite; animation-delay:var(--d); }
@keyframes hist-pulse { 50% { transform:scaleY(.7); opacity:.65; } }
.power-tiers { display:grid; gap:12px; align-content:center; }
.power-tier { display:grid; grid-template-columns:60px 1fr; gap:14px; padding:18px; border-left:4px solid var(--c); background:var(--v2-paper); }
.power-tier b { font:700 .68rem "DM Mono",monospace; color:var(--c); }
.power-tier strong { display:block; font-family:"Playfair Display",serif; }
.power-tier span { color:var(--v2-muted); font-size:.78rem; }

.longitudinal { display:grid; gap:10px; margin-top:60px; }
.long-row { display:grid; grid-template-columns:150px 1fr auto; gap:16px; align-items:center; }
.long-row > span { font-weight:700; }
.long-track { height:24px; overflow:hidden; border-radius:99px; background:rgba(40,34,29,.07); }
.long-track i { display:block; width:var(--w); height:100%; border-radius:99px; background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 40%,white)); transform:scaleX(0); transform-origin:left; }
.is-visible .long-track i { animation:long-grow 1.5s ease forwards; animation-delay:var(--d); }
@keyframes long-grow { to { transform:scaleX(1); } }
.long-row small { color:var(--v2-muted); font:500 .7rem "DM Mono",monospace; }

.study-question-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.study-question { min-height:330px; padding:28px; border:1px solid var(--v2-line); border-radius:22px; background:var(--v2-white); }
.study-question span { color:var(--v2-blue-dark); font:500 .68rem "DM Mono",monospace; }
.study-question h3 { margin:66px 0 14px; font:700 2rem/1 "Playfair Display",serif; }
.study-question p { color:var(--v2-muted); }

/* Research V3 narrative sections */
.campaign-visual {
    padding:34px;
    border:1px solid var(--v2-line);
    border-radius:28px;
    background:var(--v2-ink);
    color:var(--v2-paper);
    box-shadow:0 28px 70px rgba(40,34,29,.13);
}
.campaign-head { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.campaign-head > div { padding:19px 21px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.045); }
.campaign-head span { display:block; color:var(--v2-cyan); font:700 .62rem "DM Mono",monospace; letter-spacing:.11em; }
.campaign-head strong { display:block; margin-top:6px; font:700 1.42rem "Playfair Display",serif; }
.campaign-axis { display:grid; grid-template-columns:repeat(4,1fr); margin:34px 0 10px 70px; color:rgba(251,247,239,.48); font:600 .58rem "DM Mono",monospace; }
.campaign-axis span:last-child { text-align:right; }
.campaign-lanes { display:grid; gap:9px; }
.campaign-lane { display:grid; grid-template-columns:52px repeat(5,1fr); gap:7px; align-items:center; }
.campaign-lane b { color:rgba(251,247,239,.6); font:600 .62rem "DM Mono",monospace; }
.campaign-lane > i { height:31px; display:block; border-radius:7px; background:rgba(255,255,255,.07); transform:scaleX(.05); transform-origin:left; }
.campaign-visual.is-visible .campaign-lane > i { animation:campaign-cell .65s ease forwards; animation-delay:calc(var(--lane-delay,0s) + .15s); }
.campaign-lane:nth-child(2) { --lane-delay:.15s; }.campaign-lane:nth-child(3) { --lane-delay:.3s; }.campaign-lane:nth-child(4) { --lane-delay:.45s; }.campaign-lane:nth-child(5) { --lane-delay:.6s; }
.campaign-lane i.commute,.campaign-legend i.commute { background:#3195d2; }
.campaign-lane i.season,.campaign-legend i.season { background:#ffdf43; }
.campaign-lane i.life,.campaign-legend i.life { background:#8e5bd1; }
.campaign-lane i.change,.campaign-legend i.change { background:#f78b3d; }
.campaign-lane i.sustain,.campaign-legend i.sustain { background:#4caf50; }
@keyframes campaign-cell { to { transform:scaleX(1); } }
.campaign-legend { display:flex; flex-wrap:wrap; gap:10px 22px; margin:25px 0 0 70px; color:rgba(251,247,239,.65); font-size:.7rem; }
.campaign-legend span { display:flex; align-items:center; gap:7px; }
.campaign-legend i { width:9px; height:9px; border-radius:3px; }

.research-pipeline-v2 { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.pipeline-card {
    min-height:430px;
    display:flex;
    flex-direction:column;
    padding:24px 21px;
    border:1px solid color-mix(in srgb,var(--accent) 24%,var(--v2-line));
    border-radius:21px;
    background:var(--v2-white);
}
.pipeline-icon {
    width:86px;
    height:86px;
    display:grid;
    place-items:center;
    margin-bottom:38px;
    border-radius:25px;
    background:color-mix(in srgb,var(--accent) 12%,white);
    color:var(--accent);
}
.pipeline-icon svg { width:58px; height:58px; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.pipeline-card > b { color:var(--accent); font:700 .64rem "DM Mono",monospace; letter-spacing:.09em; }
.pipeline-card h3 { margin:16px 0 13px; font:700 1.75rem/1 "Playfair Display",serif; }
.pipeline-card p { margin-top:auto; color:var(--v2-muted); font-size:.92rem; line-height:1.48; }

.complete-day-panel {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:50px;
    align-items:center;
    margin-top:18px;
    padding:42px;
    border-radius:25px;
    color:#fff;
    background:var(--v2-blue-dark);
}
.complete-day-panel h3 { margin:15px 0; font:700 3rem/1 "Playfair Display",serif; }
.complete-day-panel p { color:rgba(255,255,255,.74); }
.complete-day-panel ul { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.complete-day-panel li { list-style:none; padding:8px 11px; border:1px solid rgba(255,255,255,.2); border-radius:99px; font-size:.72rem; }
.complete-day-panel .v2-index { color:var(--v2-cyan); }
.complete-day-visual { display:grid; grid-template-columns:auto repeat(5,1fr) auto; gap:5px; align-items:center; }
.complete-day-visual > span { font:600 .58rem "DM Mono",monospace; color:rgba(255,255,255,.55); }
.complete-day-visual i { min-height:190px; display:flex; align-items:end; justify-content:center; padding:13px 5px; border-radius:13px; color:#fff; font:700 .64rem "DM Sans",sans-serif; font-style:normal; writing-mode:vertical-rl; transform:scaleY(.1); transform-origin:bottom; }
.complete-day-panel.is-visible .complete-day-visual i { animation:day-column .8s ease forwards; }
.complete-day-visual .home { height:86%; background:#8e5bd1; }.complete-day-visual .walk { height:33%; background:#4caf50; animation-delay:.12s!important; }.complete-day-visual .work { height:100%; background:#8e5bd1; animation-delay:.24s!important; }.complete-day-visual .tube { height:45%; background:#70543e; animation-delay:.36s!important; }.complete-day-visual .home2 { height:68%; background:#8e5bd1; animation-delay:.48s!important; }
@keyframes day-column { to { transform:scaleY(1); } }

.participant-demo-stage {
    min-height:660px;
    display:grid;
    place-items:center;
    position:relative;
    overflow:hidden;
    border:1px solid var(--v2-line);
    border-radius:27px;
    background:radial-gradient(circle at 50% 35%,rgba(108,200,232,.25),transparent 42%),#eee8dd;
}
.participant-phone {
    width:320px;
    height:640px;
    position:relative;
    overflow:hidden;
    border:8px solid #171411;
    border-radius:48px;
    background:var(--v2-paper);
    box-shadow:0 28px 65px rgba(40,34,29,.24);
}
.participant-island { position:absolute; z-index:20; top:11px; left:50%; translate:-50% 0; width:90px; height:25px; border-radius:99px; background:#171411; }
.participant-screen { position:absolute; inset:0; padding:56px 18px 25px; background:var(--v2-paper); opacity:0; }
.participant-kicker { color:var(--v2-blue-dark); font:700 .58rem "DM Mono",monospace; letter-spacing:.1em; }
.participant-screen h4 { margin:9px 0 14px; font:700 1.75rem "Playfair Display",serif; }
.participant-timeline { animation:participant-screen-one 15s ease infinite; }
.participant-insights { animation:participant-screen-two 15s ease infinite; }
.participant-answer { animation:participant-screen-three 15s ease infinite; }
@keyframes participant-screen-one { 0%,29%{opacity:1;transform:translateX(0)} 34%,100%{opacity:0;transform:translateX(-25px)} }
@keyframes participant-screen-two { 0%,28%{opacity:0;transform:translateX(25px)} 35%,61%{opacity:1;transform:translateX(0)} 67%,100%{opacity:0;transform:translateX(-25px)} }
@keyframes participant-screen-three { 0%,61%{opacity:0;transform:translateX(25px)} 68%,94%{opacity:1;transform:translateX(0)} 100%{opacity:0;transform:translateX(25px)} }
.participant-map { height:145px; padding:10px; border:1px solid var(--v2-line); border-radius:16px; background:repeating-linear-gradient(90deg,transparent 0 35px,rgba(49,89,170,.07) 35px 36px),#e8e5de; }
.participant-map svg,.participant-answer-map svg { width:100%; height:100%; }
.participant-feed { margin-top:12px; }
.participant-feed p { display:grid; grid-template-columns:14px 1fr auto; gap:9px; align-items:center; margin:0; padding:15px 0; border-bottom:1px solid var(--v2-line); font-size:.72rem; }
.participant-feed i { width:12px; height:12px; border-radius:50%; background:var(--c); }
.participant-feed small { color:var(--v2-muted); }
.participant-extreme { min-height:205px; margin-top:12px; padding:19px; border-radius:18px; color:#fff; }
.participant-extreme.high { background:#d80000; }.participant-extreme.low { background:#3195d2; }
.participant-extreme span { font:700 .57rem "DM Mono",monospace; letter-spacing:.1em; opacity:.72; }
.participant-extreme b { display:block; margin:13px 0 28px; font:700 1.35rem "Playfair Display",serif; }
.participant-extreme strong { font:700 3rem "Playfair Display",serif; }.participant-extreme small { margin-left:5px; }
.participant-answer h4 { font-size:1.4rem; }
.participant-answer-map { height:205px; margin:12px 0 18px; padding:12px; border-radius:17px; background:#e8e5de; }
.participant-answer > b,.participant-answer > strong { display:block; }.participant-answer > b { font:700 1.2rem "Playfair Display",serif; }.participant-answer > strong { margin:9px 0; color:var(--v2-red); font:700 2.1rem "Playfair Display",serif; }
.participant-answer code { display:block; padding:11px; border-radius:9px; background:#fff; color:var(--v2-muted); font-size:.63rem; }
.participant-demo-steps { position:absolute; z-index:30; left:19px; right:19px; bottom:16px; display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.participant-demo-steps span { padding:8px 4px; border-radius:99px; background:rgba(255,255,255,.85); text-align:center; color:var(--v2-muted); font:700 .54rem "DM Mono",monospace; }

.intervention-compare { display:grid; grid-template-columns:1fr 120px 1fr; gap:18px; align-items:center; }
.intervention-period { padding:27px; border:1px solid var(--v2-line); border-radius:23px; background:var(--v2-white); }
.intervention-period > span { color:var(--v2-muted); font:700 .64rem "DM Mono",monospace; letter-spacing:.1em; }
.intervention-period h3 { margin:8px 0 15px; font:700 2rem "Playfair Display",serif; }
.intervention-period svg { width:100%; height:155px; border-radius:15px; background:#ece9e2; }
.intervention-period .comparison-route { fill:none; stroke-width:7; stroke-linecap:round; }
.intervention-period.before .comparison-route,.intervention-period.before circle { stroke:#d80000; fill:#d80000; }
.intervention-period.after .comparison-route,.intervention-period.after circle { stroke:#4caf50; fill:#4caf50; }
.intervention-period > div { display:grid; grid-template-columns:auto 1fr auto 1fr; gap:7px; align-items:end; margin-top:17px; }
.intervention-period strong { font:700 2rem "Playfair Display",serif; }.intervention-period small { color:var(--v2-muted); font-size:.68rem; }
.intervention-moment { text-align:center; }
.intervention-moment i { width:58px; height:58px; display:grid; place-items:center; margin:auto; border-radius:50%; background:var(--v2-blue-dark); color:#fff; font-size:1.7rem; font-style:normal; }
.intervention-moment span { display:block; margin-top:11px; color:var(--v2-blue-dark); font:700 .58rem/1.4 "DM Mono",monospace; }

.visual-study-grid { gap:18px; }
.visual-study-grid .study-question { min-height:455px; padding:25px; border-color:color-mix(in srgb,var(--accent) 26%,var(--v2-line)); background:var(--tint); }
.study-visual { height:115px; display:grid; place-items:center; margin-bottom:24px; border-radius:17px; background:color-mix(in srgb,var(--accent) 11%,white); color:var(--accent); }
.study-visual svg { width:90px; height:70px; fill:none; stroke:currentColor; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.visual-study-grid .study-question span { color:var(--accent); font-weight:700; }
.visual-study-grid .study-question h3 { margin:18px 0 15px; font-size:2.05rem; }
.visual-study-grid .study-question p { font-size:1rem; line-height:1.5; }

.expansion-blue { color:#fff; background:#3159aa; }
.expansion-blue .v2-index { color:#9ee4ff; }
.expansion-blue .v2-intro p { color:rgba(255,255,255,.72); }
.expansion-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.expansion-card { min-height:500px; padding:25px; border:1px solid rgba(255,255,255,.19); border-radius:24px; background:rgba(255,255,255,.1); }
.expansion-art { height:190px; display:grid; place-items:center; margin-bottom:30px; border-radius:18px; background:rgba(255,255,255,.1); }
.expansion-art svg { width:180px; height:120px; fill:none; stroke:#fff; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.expansion-card > span { color:#9ee4ff; font:700 .68rem "DM Mono",monospace; letter-spacing:.1em; }
.expansion-card h3 { margin:18px 0 15px; font:700 2.25rem/1 "Playfair Display",serif; }
.expansion-card p { color:rgba(255,255,255,.72); font-size:1rem; }

.erg-science-panel { display:grid; grid-template-columns:.7fr 1.3fr; overflow:hidden; border:1px solid var(--v2-line); border-radius:27px; background:var(--v2-white); box-shadow:0 28px 70px rgba(40,34,29,.1); }
.erg-mark { min-height:500px; display:flex; flex-direction:column; justify-content:center; padding:44px; color:#fff; background:var(--v2-blue-dark); }
.erg-mark > strong { font:700 clamp(5rem,10vw,9rem)/.75 "Playfair Display",serif; letter-spacing:-.08em; }
.erg-mark > span { margin-top:28px; color:#9ee4ff; font:700 .78rem/1.5 "DM Mono",monospace; letter-spacing:.12em; }
.erg-mark > div { display:flex; flex-wrap:wrap; gap:8px; margin-top:35px; }
.erg-mark i { padding:8px 11px; border-radius:99px; background:var(--c); font:700 .65rem "DM Mono",monospace; font-style:normal; }
.erg-principles { display:grid; align-content:center; padding:25px 38px; }
.erg-principles article { display:grid; grid-template-columns:38px 1fr; gap:8px 16px; padding:27px 0; border-bottom:1px solid var(--v2-line); }
.erg-principles article:last-child { border-bottom:0; }
.erg-principles b { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--v2-blue-dark); font:700 .62rem "DM Mono",monospace; }
.erg-principles h3 { font:700 1.65rem "Playfair Display",serif; }
.erg-principles p { color:var(--v2-muted); font-size:.9rem; }

/* Consumer V3 motion stories */
.v2-hero-grid { grid-template-columns:minmax(350px,.68fr) minmax(700px,1.32fr); gap:34px; }
.demo-shell { grid-template-columns:minmax(430px,1fr) 225px; gap:25px; }
.demo-phone { transform:none; }
.demo-step { grid-template-columns:38px 1fr; gap:12px; min-height:86px; padding:14px; border-radius:18px; font-size:.78rem; line-height:1.25; }
.demo-step i { width:38px; height:38px; font-size:.68rem; }
.demo-step.active { transform:translateX(-8px); }
.demo-map .demo-route { stroke-dasharray:250; stroke-dashoffset:250; }
.demo-map .demo-route.walk { stroke:var(--v2-green); }
.demo-map .demo-route.transit { stroke:#2c569e; }
.demo-phone[data-scene="timeline"] .demo-route.walk { animation:draw-demo-route 1.55s .1s ease-in-out forwards; }
.demo-phone[data-scene="timeline"] .demo-route.transit { animation:draw-demo-route 1.55s 1.5s ease-in-out forwards; }
.demo-phone[data-scene="timeline"] .demo-rider { animation:demo-ride-v3 3.1s ease-in-out forwards; }
@keyframes demo-ride-v3 {
    0% { opacity:1; offset-distance:0%; background:var(--v2-green); }
    49% { background:var(--v2-green); }
    52%,100% { opacity:1; background:#2c569e; }
    100% { offset-distance:100%; }
}

.living-map { background:#e9e7df; }
.living-water { fill:none; stroke:#b9e2ee; stroke-width:72; opacity:.75; }
.living-roads { fill:none; stroke:#fff; stroke-width:17; stroke-linecap:round; opacity:.86; }
.living-roads path { filter:drop-shadow(0 1px 0 rgba(40,34,29,.13)); }
.living-mode-route { fill:none; stroke-width:8; stroke-linecap:round; stroke-dasharray:440; stroke-dashoffset:440; }
.living-walk { stroke:#4caf50; }
.living-bus { stroke:#2c569e; }
.living-cycle { stroke:#80ccff; }
.is-visible .living-walk { animation:living-draw 1.65s .35s ease-in-out forwards; }
.is-visible .living-bus { animation:living-draw 1.55s 2s ease-in-out forwards; }
.is-visible .living-cycle { animation:living-draw 2s 3.55s ease-in-out forwards; }
.living-pin.p2 { animation-delay:1.85s !important; }
.living-pin.p3 { animation-delay:3.4s !important; }
.living-pin.p4 { animation-delay:5.25s !important; }
.living-row.r2 { animation-delay:1.75s !important; }
.living-row.r3 { animation-delay:3.25s !important; }
.living-row.r4 { animation-delay:5s !important; }
.living-row.r5 { animation-delay:5.75s !important; }
.living-feed { padding:25px 23px; }
.living-row { min-height:72px; }
.diary-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px; }
.diary-feature { min-height:440px; padding:25px; border:1px solid color-mix(in srgb,var(--accent) 25%,var(--v2-line)); border-radius:25px; background:color-mix(in srgb,var(--accent) 6%,white); }
.diary-feature > div { height:180px; display:grid; place-items:center; margin-bottom:26px; border-radius:19px; background:color-mix(in srgb,var(--accent) 12%,white); color:var(--accent); }
.diary-feature svg { width:150px; height:110px; fill:none; stroke:currentColor; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.diary-feature > span { color:var(--accent); font:700 .66rem "DM Mono",monospace; letter-spacing:.1em; }
.diary-feature h3 { margin:17px 0 13px; font:700 2rem/1 "Playfair Display",serif; letter-spacing:-.03em; }
.diary-feature p { color:var(--v2-muted); font-size:.98rem; }

.exposure-section { background:#eaf5f9; }
.exposure-story { display:grid; grid-template-columns:.82fr 1.18fr; gap:25px; align-items:stretch; }
.exposure-calendar,.exposure-day-demo { min-height:670px; padding:29px; border:1px solid rgba(49,89,170,.14); border-radius:27px; background:rgba(255,255,255,.85); box-shadow:0 24px 60px rgba(40,34,29,.08); }
.exposure-calendar-head,.exposure-day-head { display:flex; justify-content:space-between; align-items:flex-start; }
.exposure-calendar-head span,.exposure-day-head span { color:var(--v2-blue-dark); font:700 .62rem "DM Mono",monospace; letter-spacing:.12em; }
.exposure-calendar-head h3,.exposure-day-head h3 { margin-top:4px; font:700 2.6rem "Playfair Display",serif; }
.exposure-calendar-head strong { max-width:100px; color:var(--v2-muted); font-size:.72rem; text-align:right; }
.calendar-weekdays,.calendar-days { display:grid; grid-template-columns:repeat(7,1fr); gap:7px; }
.calendar-weekdays { margin:31px 0 9px; }
.calendar-weekdays span { color:var(--v2-muted); font:700 .61rem "DM Mono",monospace; text-align:center; }
.calendar-days i { aspect-ratio:1; display:grid; place-items:center; border-radius:11px; color:var(--v2-muted); background:#f2f0eb; font:.76rem "DM Sans",sans-serif; font-style:normal; }
.calendar-days i:empty { opacity:0; }
.calendar-days .settled { opacity:0; transform:scale(.55); color:var(--v2-ink); }
.calendar-days .blue { background:#b8d7ff; }.calendar-days .cyan { background:#b8edf5; }.calendar-days .yellow { background:#ffe889; }.calendar-days .orange { background:#ffc08d; }
.calendar-days .today { outline:3px solid var(--v2-blue-dark); outline-offset:-3px; color:var(--v2-blue-dark); background:#fff; font-weight:700; }
.is-visible .calendar-days .settled { animation:calendar-day-land .48s cubic-bezier(.2,.9,.2,1.25) forwards; }
.calendar-days .settled:nth-child(4n+1) { animation-delay:.25s !important; }.calendar-days .settled:nth-child(4n+2) { animation-delay:.5s !important; }.calendar-days .settled:nth-child(4n+3) { animation-delay:.75s !important; }.calendar-days .settled:nth-child(4n) { animation-delay:1s !important; }
@keyframes calendar-day-land { to { opacity:1; transform:scale(1); } }
.calendar-message { margin-top:27px; padding:19px; border-radius:16px; color:#fff; background:var(--v2-blue-dark); }
.calendar-message b,.calendar-message span { display:block; }.calendar-message b { font:700 1.13rem "Playfair Display",serif; }.calendar-message span { margin-top:6px; color:rgba(255,255,255,.72); font-size:.76rem; }
.exposure-toggle,.insights-live-toggle { width:212px; height:42px; position:relative; display:grid; grid-template-columns:1fr 1fr; padding:4px; border:1px solid var(--v2-line); border-radius:99px; background:#fff; }
.exposure-toggle b,.insights-live-toggle b { z-index:2; display:grid; place-items:center; color:var(--v2-muted); font-size:.66rem; font-weight:700; }
.exposure-toggle i,.insights-live-toggle i { position:absolute; z-index:1; left:4px; top:4px; width:calc(50% - 4px); height:32px; border-radius:99px; background:var(--v2-blue-dark); animation:metric-pill-switch 8s ease infinite; }
.exposure-toggle b:first-child,.insights-live-toggle b:first-child { animation:metric-label-one 8s ease infinite; }.exposure-toggle b:nth-child(2),.insights-live-toggle b:nth-child(2) { animation:metric-label-two 8s ease infinite; }
@keyframes metric-pill-switch { 0%,44%{transform:translateX(0)} 52%,94%{transform:translateX(100%)} 100%{transform:translateX(0)} }
@keyframes metric-label-one { 0%,44%,100%{color:#fff} 52%,94%{color:var(--v2-muted)} }
@keyframes metric-label-two { 0%,44%,100%{color:var(--v2-muted)} 52%,94%{color:#fff} }
.exposure-mini-map { height:185px; margin:23px 0 15px; overflow:hidden; border-radius:18px; background:repeating-linear-gradient(90deg,transparent 0 48px,rgba(49,89,170,.08) 48px 49px),repeating-linear-gradient(0deg,transparent 0 43px,rgba(49,89,170,.08) 43px 44px),#ebe9e2; }
.exposure-mini-map svg { width:100%; height:100%; }.exposure-mini-map circle { fill:var(--v2-purple); stroke:#fff; stroke-width:4; }
.exposure-map-route { fill:none; stroke-linecap:round; transition:opacity .4s ease; }
.route-one { stroke:#3195d2; stroke-width:8; animation:exposure-route-one 8s ease infinite; }
.route-two { stroke:#d80000; stroke-width:13; stroke-dasharray:30 18; animation:exposure-route-two 8s ease infinite; }
@keyframes exposure-route-one { 0%,44%,100%{opacity:1} 52%,94%{opacity:.16} }
@keyframes exposure-route-two { 0%,44%,100%{opacity:.08} 52%,94%{opacity:.92} }
.exposure-timeline article { display:grid; grid-template-columns:14px 1fr 55px; gap:12px; align-items:center; min-height:70px; border-bottom:1px solid var(--v2-line); }
.exposure-timeline article > i { width:13px; height:13px; border-radius:50%; background:var(--c); box-shadow:0 0 0 5px color-mix(in srgb,var(--c) 15%,white); }
.exposure-timeline b,.exposure-timeline span { display:block; }.exposure-timeline b { font-size:.88rem; }.exposure-timeline span { color:var(--v2-muted); font-size:.68rem; }
.exposure-timeline strong { position:relative; height:30px; color:var(--v2-blue-dark); font:700 1.45rem "Playfair Display",serif; text-align:right; }
.avg-value,.dose-value { position:absolute; inset:0; font-style:normal; animation:metric-value-one 8s ease infinite; }
.dose-value { animation-name:metric-value-two; }
@keyframes metric-value-one { 0%,44%,100%{opacity:1;transform:translateY(0)} 48%,96%{opacity:0;transform:translateY(-6px)} 52%,94%{opacity:0} }
@keyframes metric-value-two { 0%,44%,100%{opacity:0;transform:translateY(6px)} 52%,94%{opacity:1;transform:translateY(0)} }
.exposure-unit { position:relative; height:22px; margin-top:14px; color:var(--v2-muted); font:.62rem "DM Mono",monospace; }

.insights-v3-layout { grid-template-columns:.65fr 1.35fr; }
.insights-live-panel { height:735px; overflow:hidden; border:1px solid var(--v2-line); border-radius:28px; background:var(--v2-paper); box-shadow:0 28px 75px rgba(40,34,29,.12); }
.insights-live-head { z-index:3; position:relative; height:105px; display:flex; justify-content:space-between; align-items:center; padding:22px 25px; border-bottom:1px solid var(--v2-line); background:rgba(251,247,239,.96); }
.insights-live-head span { color:var(--v2-blue-dark); font:700 .58rem "DM Mono",monospace; letter-spacing:.1em; }.insights-live-head h3 { margin-top:4px; font:700 2rem "Playfair Display",serif; }
.insights-live-scroll { padding:21px; animation:insights-story-scroll 13s ease-in-out infinite; }
@keyframes insights-story-scroll { 0%,20%{transform:translateY(0)} 44%,62%{transform:translateY(-215px)} 82%,94%{transform:translateY(-390px)} 100%{transform:translateY(0)} }
.insights-overview { padding:22px; border-radius:19px; background:#e8f5ea; }
.insights-overview > strong { float:left; margin-right:13px; color:var(--v2-green); font:700 3rem/1 "Playfair Display",serif; }.insights-overview > span { display:block; max-width:210px; color:var(--v2-muted); font-size:.78rem; }
.insights-overview > div { clear:both; display:flex; flex-wrap:wrap; gap:7px; padding-top:18px; }.insights-overview i { padding:7px 10px; border-radius:99px; color:#fff; background:var(--c); font-size:.66rem; font-style:normal; }
.insights-ledgers { display:grid; grid-template-columns:1.12fr .88fr; gap:12px; margin-top:15px; }
.insights-ledgers section { padding:17px; border:1px solid var(--v2-line); border-radius:18px; background:#fff; }
.insights-ledgers h4 { margin-bottom:8px; font:700 1.4rem "Playfair Display",serif; }
.insights-ledgers p { display:grid; grid-template-columns:29px 1fr auto; gap:2px 9px; align-items:center; margin:0; padding:10px 0; border-bottom:1px solid var(--v2-line); }
.insights-ledgers p > i { grid-row:1/3; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--c); font-size:.65rem; font-style:normal; }
.insights-ledgers p b { font-size:.77rem; }.insights-ledgers p small { grid-column:2; color:var(--v2-muted); font-size:.62rem; }
.insights-ledgers p strong { grid-column:3; grid-row:1/3; width:38px; height:25px; position:relative; color:var(--v2-blue-dark); font:700 .88rem "Playfair Display",serif; text-align:right; }
.insights-ledgers p strong em { position:absolute; inset:3px 0 auto; font-style:normal; animation:metric-value-one 8s ease infinite; }.insights-ledgers p strong em:nth-child(2) { animation-name:metric-value-two; }
.insights-highlow { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px; }
.insights-highlow article { min-height:155px; padding:19px; border-radius:18px; color:#fff; }.insights-highlow .high { background:#d80000; }.insights-highlow .low { background:#3195d2; }
.insights-highlow span { font:700 .58rem "DM Mono",monospace; letter-spacing:.1em; opacity:.74; }.insights-highlow b { display:block; margin:13px 0 20px; font:700 1.25rem "Playfair Display",serif; }.insights-highlow strong { font:700 2.6rem "Playfair Display",serif; }

.ask-live-demo { display:grid; grid-template-columns:280px 1fr; min-height:750px; overflow:hidden; border:1px solid var(--v2-line); border-radius:28px; background:#fff; box-shadow:0 28px 75px rgba(40,34,29,.11); }
.ask-live-sidebar { display:flex; flex-direction:column; gap:11px; padding:29px 22px; color:#fff; background:var(--v2-blue-dark); }
.ask-live-sidebar > span { margin-bottom:14px; color:#9ee4ff; font:700 .62rem "DM Mono",monospace; letter-spacing:.1em; }
.ask-live-sidebar > b { padding:15px; border-radius:14px; background:rgba(255,255,255,.1); font:700 .92rem/1.3 "Playfair Display",serif; }
.ask-live-sidebar > b:first-of-type { color:var(--v2-ink); background:#fff; }
.ask-live-sidebar small { margin-top:auto; color:rgba(255,255,255,.62); font-size:.76rem; }
.ask-live-chat { min-width:0; position:relative; padding:24px 29px 85px; background:#f8f6f1; }
.ask-live-top { display:flex; gap:13px; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--v2-line); }
.ask-live-top > span { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--v2-purple); font-size:1.1rem; }.ask-live-top h3 { font:700 1.6rem "Playfair Display",serif; }.ask-live-top p { color:var(--v2-muted); font-size:.7rem; }
.ask-live-thread { min-height:570px; position:relative; padding-top:21px; }
.ask-live-bubble { width:max-content; max-width:72%; margin-left:auto; padding:13px 17px; border-radius:18px 18px 3px 18px; color:#fff; background:var(--v2-ink); font:italic 700 1rem "Playfair Display",serif; opacity:0; }
.ask-live-bubble.q1 { animation:ask-q1 14s ease infinite; }.ask-live-bubble.q2 { position:absolute; right:0; top:21px; animation:ask-q2 14s ease infinite; }
.ask-info-card { max-width:610px; display:grid; grid-template-columns:.85fr 1.15fr; overflow:hidden; margin-top:17px; border:1px solid var(--v2-line); border-radius:20px; background:#fff; box-shadow:0 16px 35px rgba(40,34,29,.09); opacity:0; transform:translateY(18px); }
.ask-info-card.a1 { animation:ask-a1 14s ease infinite; }.ask-info-card.a2 { position:absolute; left:0; top:82px; right:0; animation:ask-a2 14s ease infinite; }
.ask-card-map { min-height:230px; position:relative; padding:16px; background:#e9e6de; }.ask-card-map svg { width:100%; height:100%; }.ask-card-map rect { fill:#e9e6de; }.ask-card-map path { fill:none; stroke:#70543e; stroke-width:8; stroke-linecap:round; }.ask-card-map circle { fill:var(--v2-purple); stroke:#fff; stroke-width:4; }.ask-card-map span { position:absolute; left:17px; bottom:14px; padding:7px 10px; border-radius:99px; background:#fff; font-size:.64rem; }
.ask-card-copy { padding:21px; }.ask-card-copy > span,.ask-info-card.comparison span { color:var(--v2-red); font:700 .61rem "DM Mono",monospace; letter-spacing:.1em; }.ask-card-copy h4 { margin:10px 0; font:700 1.7rem/1 "Playfair Display",serif; }.ask-card-copy strong { font:700 2.7rem "Playfair Display",serif; }.ask-card-copy strong small { color:var(--v2-muted); font:500 .8rem "DM Sans",sans-serif; }.ask-card-copy p { color:var(--v2-muted); font-size:.72rem; }.ask-card-copy code { display:block; margin-top:12px; padding-top:11px; border-top:1px solid var(--v2-line); color:var(--v2-muted); font-size:.59rem; }
.ask-info-card.comparison { display:block; padding:26px; }.ask-info-card.comparison h4 { margin:9px 0; font:700 1.9rem "Playfair Display",serif; }.ask-info-card.comparison strong { color:var(--v2-green); font:700 3.5rem "Playfair Display",serif; }.ask-info-card.comparison p { color:var(--v2-muted); }
.ask-bars { display:grid; gap:13px; margin:21px 0; }.ask-bars i { width:var(--w); height:38px; display:flex; align-items:center; padding-left:13px; border-radius:9px; background:#b8d7ff; font-style:normal; transform-origin:left; animation:ask-bar-grow 14s ease infinite; }.ask-bars i:nth-child(2) { background:#4caf50; }.ask-bars b { font-size:.68rem; }
@keyframes ask-q1 { 0%{opacity:0;transform:translateY(9px)} 5%,44%{opacity:1;transform:none} 49%,100%{opacity:0;transform:translateY(-6px)} }
@keyframes ask-a1 { 0%,8%{opacity:0;transform:translateY(18px)} 14%,44%{opacity:1;transform:none} 49%,100%{opacity:0;transform:translateY(-9px)} }
@keyframes ask-q2 { 0%,49%{opacity:0;transform:translateY(9px)} 55%,94%{opacity:1;transform:none} 100%{opacity:0} }
@keyframes ask-a2 { 0%,58%{opacity:0;transform:translateY(18px)} 64%,94%{opacity:1;transform:none} 100%{opacity:0} }
@keyframes ask-bar-grow { 0%,61%{transform:scaleX(0)} 70%,94%{transform:scaleX(1)} 100%{transform:scaleX(0)} }
.ask-live-input { position:absolute; left:29px; right:29px; bottom:24px; display:flex; justify-content:space-between; align-items:center; padding:13px 15px; border:1px solid var(--v2-line); border-radius:99px; background:#fff; color:var(--v2-muted); font-size:.75rem; }.ask-live-input b { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--v2-blue-dark); }

.underhood-light { background:#e9efff; }
.underhood-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.underhood-card { min-height:465px; padding:25px; border:1px solid color-mix(in srgb,var(--accent) 23%,var(--v2-line)); border-radius:25px; background:rgba(255,255,255,.78); }
.underhood-card > div { height:190px; display:grid; place-items:center; margin-bottom:27px; border-radius:19px; color:var(--accent); background:color-mix(in srgb,var(--accent) 9%,white); }
.underhood-card svg { width:130px; height:130px; fill:none; stroke:currentColor; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.underhood-card > span { color:var(--accent); font:700 .68rem "DM Mono",monospace; letter-spacing:.1em; }.underhood-card h3 { margin:18px 0 14px; font:700 2rem/1 "Playfair Display",serif; }.underhood-card p { color:var(--v2-muted); font-size:.96rem; }

.research-bridge { padding:110px 0; color:#fff; background:#3159aa; }
.research-bridge-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:45px; align-items:center; }
.research-bridge-copy .v2-index { color:#9ee4ff; }.research-bridge-copy h2 { margin:21px 0; font:700 clamp(3rem,5vw,5rem)/.95 "Playfair Display",serif; letter-spacing:-.045em; }.research-bridge-copy > p:not(.v2-index) { max-width:590px; color:rgba(255,255,255,.74); font-size:1.08rem; }.research-bridge-copy .lum-actions { margin-top:33px; }.research-bridge .lum-button.secondary { color:#fff; border-color:rgba(255,255,255,.35); }
.research-city-teaser { aspect-ratio:1.25; position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.22); border-radius:30px; background:#dce7ee; box-shadow:0 34px 80px rgba(15,37,92,.28); }
.teaser-city-map { width:100%; height:100%; }.teaser-river { fill:none; stroke:#8ed5ea; stroke-width:78; opacity:.88; }.teaser-roads { fill:none; stroke:#fff; stroke-width:19; opacity:.85; }.teaser-blocks rect { fill:#d0c9bc; stroke:#b9b0a2; stroke-width:3; rx:10; }.teaser-park { fill:#b7d7ad; }.teaser-route { fill:none; stroke-width:8; stroke-linecap:round; stroke-dasharray:1050; stroke-dashoffset:1050; animation:teaser-route-draw 12s ease infinite; }.teaser-route.green { stroke:#4caf50; }.teaser-route.blue { stroke:#2c569e; animation-delay:1.5s; }
@keyframes teaser-route-draw { 0%,8%{stroke-dashoffset:1050} 38%,88%{stroke-dashoffset:0} 100%{stroke-dashoffset:-1050} }
.teaser-phone { width:34px; height:51px; position:absolute; z-index:4; display:grid; place-items:center; border:4px solid #171411; border-radius:8px; color:#fff; background:var(--v2-purple); font:700 11px "DM Mono",monospace; offset-rotate:0deg; animation:teaser-phone-move 12s linear infinite; }
.teaser-phone.tp1 { offset-path:path("M36 438 C150 374 192 403 282 334 S431 272 493 211 S595 149 677 92"); }.teaser-phone.tp2 { offset-path:path("M48 112 C171 174 244 220 334 262 S525 352 658 436"); animation-delay:-3s; background:#3195d2; }.teaser-phone.tp3 { offset-path:path("M677 92 C595 149 555 150 493 211 S431 272 334 318 S150 374 36 438"); animation-delay:-6s; background:#f78b3d; }.teaser-phone.tp4 { offset-path:path("M658 436 C525 352 424 304 334 262 S171 174 48 112"); animation-delay:-9s; background:#4caf50; }
@keyframes teaser-phone-move { 0%{offset-distance:0%} 100%{offset-distance:100%} }
.teaser-signal { width:15px; height:15px; position:absolute; z-index:3; border:2px solid var(--v2-blue-dark); border-radius:50%; animation:teaser-signal 2.2s ease-out infinite; }.teaser-signal.s1{left:23%;top:71%}.teaser-signal.s2{left:46%;top:49%;animation-delay:.5s}.teaser-signal.s3{left:68%;top:37%;animation-delay:1s}.teaser-signal.s4{left:84%;top:75%;animation-delay:1.5s}
@keyframes teaser-signal { 0%{opacity:.75;transform:scale(.4)} 100%{opacity:0;transform:scale(5)} }
.teaser-insight { width:260px; position:absolute; z-index:6; right:18px; top:18px; padding:18px; border-radius:18px; background:rgba(255,255,255,.94); color:var(--v2-ink); box-shadow:0 18px 40px rgba(40,34,29,.16); animation:teaser-insight-in 12s ease infinite; }
.teaser-insight > span { color:var(--v2-blue-dark); font:700 .55rem "DM Mono",monospace; letter-spacing:.1em; }.teaser-insight h3 { margin:8px 0 13px; font:700 1.3rem/1 "Playfair Display",serif; }.teaser-insight div { display:grid; gap:5px; }.teaser-insight i { width:var(--w); height:7px; border-radius:5px; background:#3195d2; transform-origin:left; animation:teaser-bar 12s ease infinite; }.teaser-insight strong { display:block; margin-top:11px; color:var(--v2-muted); font-size:.65rem; }
@keyframes teaser-insight-in { 0%,47%{opacity:0;transform:translateY(-12px)} 55%,92%{opacity:1;transform:none} 100%{opacity:0} } @keyframes teaser-bar { 0%,54%{transform:scaleX(0)} 64%,92%{transform:scaleX(1)} 100%{transform:scaleX(0)} }

/* Research V4: organic cohort, scale-to-insight and faithful app views */
.city-demo-phases { width:390px; height:56px; left:18px; top:18px; }
.city-demo-phase { gap:11px; padding:12px 19px 12px 12px; font-size:.86rem; background:rgba(255,253,248,.95); box-shadow:0 9px 24px rgba(40,34,29,.1); animation-duration:24s; }
.city-demo-phase b { width:36px; height:36px; font-size:.72rem; }
.city-demo-phase.phase-two { animation-delay:7.4s; }
.city-demo-phase.phase-three { animation-delay:14.2s; }
.city-origin-phone,.city-map-world,.city-phone-row,.city-route,.city-data-network path,.city-hub,.city-insight-card,.city-insight-card div i,.research-demo-timer i::after { animation-duration:24s; }
.city-origin-phone { animation-name:city-phone-fall-v4; }
@keyframes city-phone-fall-v4 {
    0%,23%{left:50%;top:51%;opacity:1;transform:translate(-50%,-50%) scale(.88);box-shadow:0 28px 60px rgba(40,34,29,.24)}
    34%{left:5%;top:93%;opacity:1;transform:translate(-50%,-50%) scale(.065);box-shadow:0 8px 22px rgba(40,34,29,.14)}
    48%{left:27%;top:70%;opacity:1;transform:translate(-50%,-50%) scale(.065)}
    62%{left:39%;top:47%;opacity:1;transform:translate(-50%,-50%) scale(.065)}
    75%{left:63%;top:34%;opacity:1;transform:translate(-50%,-50%) scale(.065)}
    88%,92%{left:91%;top:13%;opacity:1;transform:translate(-50%,-50%) scale(.065)}
    100%{left:50%;top:51%;opacity:1;transform:translate(-50%,-50%) scale(.88);box-shadow:0 28px 60px rgba(40,34,29,.24)}
}
.city-map-world { background:#f2efe7; }
.city-blocks path,.city-blocks rect,.city-blocks circle,.city-blocks ellipse { fill:rgba(49,89,170,.065); stroke:rgba(49,89,170,.12); stroke-width:2; }
.city-route { stroke-width:5; stroke-dasharray:900; stroke-dashoffset:900; }
@keyframes city-route-draw { 0%,29%{stroke-dashoffset:900;opacity:0} 36%{opacity:.68} 62%,88%{stroke-dashoffset:0;opacity:.68} 94%,100%{stroke-dashoffset:0;opacity:0} }
.route-yellow { stroke:#e0a318; animation-delay:1.4s; }
.city-svg-agent { opacity:0; animation:city-svg-agent-presence 24s ease infinite; }
.city-svg-agent rect { fill:#fffdf8; stroke:#171411; stroke-width:2.5; }
.city-svg-agent > path { fill:none; stroke-width:2.2; stroke-linecap:round; }
.city-svg-agent.agent-blue > path,.city-svg-agent.agent-blue .city-svg-signal { stroke:#3195d2; }
.city-svg-agent.agent-green > path,.city-svg-agent.agent-green .city-svg-signal { stroke:#4caf50; }
.city-svg-agent.agent-orange > path,.city-svg-agent.agent-orange .city-svg-signal { stroke:#f78b3d; }
.city-svg-agent.agent-purple > path,.city-svg-agent.agent-purple .city-svg-signal { stroke:#8e5bd1; }
.city-svg-agent.agent-yellow > path,.city-svg-agent.agent-yellow .city-svg-signal { stroke:#e0a318; }
.city-svg-signal { fill:none; stroke-width:2; transform-box:fill-box; transform-origin:center; animation:city-svg-signal-pulse 3.4s ease-out infinite; }
.city-svg-agent:nth-of-type(2) .city-svg-signal { animation-delay:.7s; }.city-svg-agent:nth-of-type(3) .city-svg-signal { animation-delay:1.4s; }.city-svg-agent:nth-of-type(4) .city-svg-signal { animation-delay:2.1s; }
@keyframes city-svg-agent-presence { 0%,30%{opacity:0} 36%,91%{opacity:1} 96%,100%{opacity:0} }
@keyframes city-svg-signal-pulse { 0%{opacity:.7;transform:scale(.5)} 70%,100%{opacity:0;transform:scale(4)} }
.city-insight-card { width:290px; right:16px; top:16px; z-index:35; padding:21px; border-radius:19px; }
.city-insight-card > span { font-size:.7rem; }.city-insight-card > strong { margin:8px 0 15px; font-size:1.55rem; }.city-insight-card small { font-size:.72rem; }.city-insight-card b { font-size:.76rem; }.city-insight-card div i { height:5px; }
.research-demo-timer { margin-top:18px; font-size:.68rem; }

.scale-insight-visual { display:grid; grid-template-columns:1fr 155px 1fr; gap:20px; align-items:stretch; padding:25px; border:1px solid var(--v2-line); border-radius:30px; background:#201d1a; color:#fff; box-shadow:0 30px 75px rgba(40,34,29,.15); }
.scale-cohort-panel,.scale-findings { min-height:610px; padding:24px; border-radius:22px; background:#f4f0e8; color:var(--v2-ink); }
.scale-panel-head span,.scale-findings-head span { color:var(--v2-blue-dark); font:700 .62rem "DM Mono",monospace; letter-spacing:.11em; }
.scale-panel-head strong,.scale-findings-head strong { display:block; margin-top:7px; font:700 1.65rem/1.05 "Playfair Display",serif; }
.scale-cohort-panel svg { width:100%; height:410px; margin-top:15px; border-radius:18px; background:#e8e5dc; }
.cohort-river { fill:none; stroke:#a8ddec; stroke-width:56; opacity:.8; }
.cohort-streets { fill:none; stroke:#fff; stroke-width:14; opacity:.86; }
.cohort-observations circle { fill:#3195d2; stroke:#fff; stroke-width:3; opacity:0; transform-box:fill-box; transform-origin:center; }
.cohort-observations circle:nth-child(3n+2){fill:#4caf50}.cohort-observations circle:nth-child(3n){fill:#8e5bd1}
.scale-insight-visual.is-visible .cohort-observations circle { animation:cohort-dot-in .42s cubic-bezier(.2,.9,.2,1.3) forwards; }
.cohort-observations circle:nth-child(4n+1){animation-delay:.2s!important}.cohort-observations circle:nth-child(4n+2){animation-delay:.45s!important}.cohort-observations circle:nth-child(4n+3){animation-delay:.7s!important}.cohort-observations circle:nth-child(4n){animation-delay:.95s!important}
@keyframes cohort-dot-in { from{opacity:0;transform:scale(.2)} to{opacity:1;transform:scale(1)} }
.cohort-hotspots circle { fill:rgba(216,0,0,.12); stroke:rgba(216,0,0,.4); stroke-width:2; transform-box:fill-box; transform-origin:center; animation:cohort-hotspot 3s ease-in-out infinite; }
.cohort-hotspots circle:nth-child(2){animation-delay:1s}.cohort-hotspots circle:nth-child(3){animation-delay:2s}
@keyframes cohort-hotspot { 0%,100%{opacity:.35;transform:scale(.75)} 50%{opacity:1;transform:scale(1.15)} }
.scale-time-ribbon { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; gap:7px; align-items:center; margin-top:17px; color:var(--v2-muted); font:700 .55rem "DM Mono",monospace; }.scale-time-ribbon i { height:3px; border-radius:3px; background:linear-gradient(90deg,#3195d2,#8e5bd1); }
.scale-evidence-core { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; text-align:center; }
.scale-evidence-core span { color:rgba(255,255,255,.66); font:700 .68rem/1.5 "DM Mono",monospace; letter-spacing:.08em; }.scale-evidence-core strong { width:76px; height:76px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:#9ee4ff; font:400 3rem "Playfair Display",serif; }.scale-evidence-core i { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--v2-ink); font-size:1.7rem; font-style:normal; }
.scale-findings { display:flex; flex-direction:column; gap:13px; }
.scale-findings-head { margin-bottom:5px; }
.scale-findings article { display:grid; grid-template-columns:110px 1fr; gap:17px; align-items:center; flex:1; padding:15px; border:1px solid var(--v2-line); border-radius:17px; background:#fff; }
.scale-findings article p { color:var(--v2-muted); font-size:.82rem; }.scale-findings article p b { display:block; margin-bottom:6px; color:var(--v2-ink); font:700 .62rem "DM Mono",monospace; letter-spacing:.1em; }
.finding-clock { width:100px; height:100px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#d80000; font:700 1.7rem "Playfair Display",serif; box-shadow:inset 0 0 0 9px rgba(255,255,255,.22); }
.finding-map { width:110px; height:100px; position:relative; overflow:hidden; border-radius:14px; background:linear-gradient(30deg,transparent 46%,#fff 47% 52%,transparent 53%),linear-gradient(120deg,transparent 46%,#fff 47% 52%,transparent 53%),#dfe8df; }.finding-map i { position:absolute; width:25px; height:25px; border-radius:50%; background:rgba(76,175,80,.3); border:5px solid rgba(76,175,80,.65); }.finding-map i:nth-child(1){left:13px;top:55px}.finding-map i:nth-child(2){left:45px;top:28px}.finding-map i:nth-child(3){right:9px;top:12px}
.finding-change { display:grid; grid-template-columns:auto 1fr; gap:7px; width:110px; }.finding-change span { font:700 .5rem "DM Mono",monospace; }.finding-change i { height:18px; border-radius:5px; background:#d80000; }.finding-change i:last-child { width:59%; background:#4caf50; }

.research-day-timeline { overflow:hidden; border-radius:19px; background:#fff; color:var(--v2-ink); box-shadow:0 22px 50px rgba(10,31,82,.23); }
.research-day-head { display:flex; justify-content:space-between; align-items:center; padding:18px 20px; border-bottom:1px solid var(--v2-line); }.research-day-head span { color:var(--v2-blue-dark); font:700 .61rem "DM Mono",monospace; letter-spacing:.1em; }.research-day-head strong { font-size:.7rem; }
.research-day-timeline article { display:grid; grid-template-columns:53px 15px 1fr; gap:11px; min-height:76px; padding:0 18px; }
.research-day-timeline time { display:flex; flex-direction:column; justify-content:space-between; padding:15px 0 10px; color:var(--v2-muted); font-size:.62rem; text-align:right; }.research-day-timeline time small { font-size:.58rem; }
.research-day-timeline article > i { width:13px; position:relative; }.research-day-timeline article > i::before { content:""; width:12px; height:12px; position:absolute; left:1px; top:50%; border-radius:50%; background:var(--mode); transform:translateY(-50%); }.research-day-timeline article > i::after { content:""; width:3px; position:absolute; left:5px; top:0; bottom:0; background:var(--mode); opacity:.35; }
.research-day-timeline article > div { display:grid; grid-template-columns:1fr auto; align-content:center; padding:11px 0; border-bottom:1px solid var(--v2-line); }.research-day-timeline article b { font-size:.78rem; }.research-day-timeline article div > small { color:var(--v2-muted); font-size:.65rem; }.research-day-timeline article p { grid-column:1/-1; display:flex; gap:6px; margin-top:7px; }.research-day-timeline article p span { padding:5px 8px; border-radius:99px; background:#c3e8f4; font-size:.58rem; }.research-day-timeline article p .warm { background:#ffc08d; }

.participant-lab { background:#e9efff; }
.participant-view-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.participant-view-card { min-width:0; padding:18px 18px 24px; border:1px solid rgba(49,89,170,.14); border-radius:27px; background:rgba(255,255,255,.58); }
.view-label { display:flex; align-items:center; gap:10px; margin-bottom:17px; color:var(--v2-blue-dark); font:700 .67rem "DM Mono",monospace; letter-spacing:.07em; }.view-label b { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--v2-blue-dark); }
.research-app-phone { width:min(100%,320px); height:630px; position:relative; overflow:hidden; margin:auto; padding:49px 15px 18px; border:7px solid #171411; border-radius:42px; background:var(--v2-paper); box-shadow:0 25px 55px rgba(40,34,29,.18); }
.research-phone-island { width:82px; height:22px; position:absolute; left:50%; top:10px; border-radius:99px; background:#171411; transform:translateX(-50%); }
.research-phone-status { display:flex; justify-content:space-between; color:var(--v2-muted); font-size:.5rem; font-weight:700; }.research-app-phone > h3 { margin:10px 0 9px; font:700 1.55rem "Playfair Display",serif; }
.research-phone-map { height:128px; padding:10px; overflow:hidden; border:1px solid var(--v2-line); border-radius:13px; background:linear-gradient(38deg,transparent 40%,rgba(255,255,255,.88) 40.5% 46%,transparent 46.5%),linear-gradient(115deg,transparent 57%,rgba(255,255,255,.88) 57.5% 64%,transparent 64.5%),repeating-linear-gradient(90deg,transparent 0 38px,rgba(49,89,170,.07) 38px 39px),#e9e6df; }.research-phone-map svg { width:100%; height:100%; }.phone-route { fill:none; stroke:#4caf50; stroke-width:5; stroke-linecap:round; }.research-phone-map circle { fill:#8e5bd1; stroke:#fff; stroke-width:3; }
.research-phone-summary { margin-top:9px; padding:10px; border:1px solid var(--v2-line); border-radius:11px; }.research-phone-summary > span { color:var(--v2-muted); font:700 .48rem "DM Mono",monospace; }.research-phone-summary > b { float:right; font-size:.6rem; }.research-phone-summary p,.research-insight-chips { display:flex; gap:4px; margin-top:7px; }.research-phone-summary i,.research-insight-chips i { flex:1; padding:5px 2px; border-radius:99px; background:#c3e8f4; font-size:.47rem; text-align:center; font-style:normal; }
.research-phone-feed p { display:grid; grid-template-columns:13px 1fr auto; gap:7px; align-items:center; min-height:58px; margin:0; border-bottom:1px solid var(--v2-line); }.research-phone-feed p > i { width:11px; height:11px; border-radius:50%; background:var(--c); }.research-phone-feed b { font-size:.67rem; }.research-phone-feed small { color:var(--v2-muted); font-size:.57rem; }
.research-metric-toggle { display:grid; grid-template-columns:1fr 1fr; padding:3px; border:1px solid var(--v2-line); border-radius:99px; text-align:center; font-size:.58rem; }.research-metric-toggle b { padding:6px; border-radius:99px; color:#fff; background:var(--v2-blue-dark); }.research-metric-toggle span { padding:6px; color:var(--v2-muted); }
.research-insight-chips { margin:10px 0; }.research-insight-chips i:nth-child(2n) { background:#ffec80; }
.research-insight-stat { display:flex; align-items:center; gap:9px; padding:13px; border-radius:12px; background:#e8f5ea; }.research-insight-stat strong { color:#4caf50; font:700 2rem "Playfair Display",serif; }.research-insight-stat span { color:var(--v2-muted); font-size:.6rem; }.research-app-phone > h4 { margin:13px 0 5px; font:700 1rem "Playfair Display",serif; }
.research-insight-ledger p { display:grid; grid-template-columns:26px 1fr auto; gap:7px; align-items:center; min-height:44px; margin:0; border-bottom:1px solid var(--v2-line); }.research-insight-ledger i { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--c); font-size:.55rem; font-style:normal; }.research-insight-ledger b { font-size:.64rem; }.research-insight-ledger small { color:var(--v2-blue-dark); font-weight:700; }
.research-highlow { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:10px; }.research-highlow article { min-height:92px; padding:10px; border-radius:12px; color:#fff; background:#d80000; }.research-highlow article:last-child { background:#3195d2; }.research-highlow span { font:700 .47rem "DM Mono",monospace; opacity:.75; }.research-highlow b { display:block; margin:7px 0 8px; font:700 .72rem "Playfair Display",serif; }.research-highlow strong { font:700 1.5rem "Playfair Display",serif; }
.research-chat-user { max-width:87%; margin:20px 0 15px auto; padding:12px; border-radius:15px 15px 3px 15px; color:#fff; background:var(--v2-ink); font:italic 700 .75rem/1.35 "Playfair Display",serif; }
.research-chat-card { overflow:hidden; border:1px solid var(--v2-line); border-radius:16px; background:#fff; box-shadow:0 12px 28px rgba(40,34,29,.09); }.research-chat-card > div { height:150px; padding:10px; background:#e9e6df; }.research-chat-card svg { width:100%; height:100%; }.research-chat-card path { fill:none; stroke:#70543e; stroke-width:6; stroke-linecap:round; }.research-chat-card circle { fill:#8e5bd1; stroke:#fff; stroke-width:3; }.research-chat-card > span,.research-chat-card > h4,.research-chat-card > strong,.research-chat-card > p,.research-chat-card > code { margin-left:14px; margin-right:14px; }.research-chat-card > span { display:block; margin-top:13px; color:#d80000; font:700 .5rem "DM Mono",monospace; letter-spacing:.08em; }.research-chat-card h4 { margin-top:5px; font:700 1.2rem "Playfair Display",serif; }.research-chat-card strong { display:block; margin-top:7px; font:700 2rem "Playfair Display",serif; }.research-chat-card strong small { color:var(--v2-muted); font:500 .65rem "DM Sans",sans-serif; }.research-chat-card p { color:var(--v2-muted); font-size:.58rem; }.research-chat-card code { display:block; margin-top:9px; padding:9px 0 13px; border-top:1px solid var(--v2-line); color:var(--v2-muted); font-size:.5rem; }
.research-chat-input { position:absolute; left:15px; right:15px; bottom:17px; display:flex; justify-content:space-between; align-items:center; padding:10px 12px; border:1px solid var(--v2-line); border-radius:99px; background:#fff; color:var(--v2-muted); font-size:.58rem; }.research-chat-input b { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--v2-blue-dark); }
.participant-view-note { display:grid; grid-template-columns:auto 1fr auto 1fr; gap:12px 20px; align-items:center; margin-top:19px; padding:22px 25px; border-radius:18px; background:var(--v2-blue-dark); color:#fff; }.participant-view-note span { color:#9ee4ff; font:700 .62rem "DM Mono",monospace; letter-spacing:.09em; }.participant-view-note p { color:rgba(255,255,255,.72); font-size:.78rem; }

.intervention-period { padding:25px; background:#fff; box-shadow:0 20px 50px rgba(40,34,29,.07); }.intervention-period h3 { font-size:2.15rem; }
.commute-map { position:relative; overflow:hidden; border-radius:17px; background:#e8e5de; }.commute-map svg { height:230px; border-radius:0; background:transparent; }.commute-map .comparison-route { fill:none!important; stroke-width:9; }.commute-streets { fill:none; stroke:#fff; stroke-width:15; opacity:.88; }.commute-park { fill:#b8dcae; stroke:none!important; }.commute-map > b { position:absolute; left:13px; bottom:12px; padding:7px 10px; border-radius:99px; color:#fff; background:rgba(40,34,29,.82); font:700 .58rem "DM Mono",monospace; letter-spacing:.07em; }
.commute-result { display:block!important; margin-top:17px!important; padding:17px; border-radius:15px; background:#fff1ef; }.after .commute-result { background:#eff9ef; }.commute-result > span { color:var(--v2-muted); font:700 .58rem "DM Mono",monospace; letter-spacing:.09em; }.commute-result strong { display:block; margin:5px 0; color:#d80000; font-size:2.7rem; }.after .commute-result strong { color:#218a3c; }.commute-result strong small { color:var(--v2-muted); font:500 .72rem "DM Sans",sans-serif; }.commute-result p { color:var(--v2-muted); font-size:.76rem; }
.research-questions-heading { max-width:860px; margin:105px 0 45px; }.research-questions-heading span { color:var(--v2-blue-dark); font:700 .68rem "DM Mono",monospace; letter-spacing:.11em; }.research-questions-heading h2 { margin-top:14px; font:700 clamp(3rem,5vw,5.2rem)/.95 "Playfair Display",serif; letter-spacing:-.045em; }
.visual-study-grid { margin-top:0!important; }

.expansion-future { background:#f3eee7; }
.expansion-future .v2-intro p { color:var(--v2-muted); }
.expansion-future .expansion-card { border-color:color-mix(in srgb,var(--accent) 25%,var(--v2-line)); background:rgba(255,255,255,.75); color:var(--v2-ink); }
.expansion-future .expansion-art { color:var(--accent); background:color-mix(in srgb,var(--accent) 9%,white); }
.expansion-future .expansion-art svg { stroke:currentColor; }
.expansion-future .expansion-card > span { color:var(--accent); }
.expansion-future .expansion-card p { color:var(--v2-muted); }

.science-section-v2 { background:#eef3f2; }
.science-foundation-v2 { display:grid; grid-template-columns:1fr 1fr; gap:23px; }
.science-evidence-wheel,.science-principles-v2 { min-height:650px; border:1px solid rgba(49,89,170,.14); border-radius:28px; background:#fff; box-shadow:0 24px 65px rgba(40,34,29,.08); }
.science-evidence-wheel { display:grid; place-items:center; padding:25px; background:radial-gradient(circle at 50% 44%,rgba(108,200,232,.18),transparent 45%),#fff; }.science-evidence-wheel svg { width:min(100%,520px); }.science-orbit { fill:none; stroke:rgba(49,89,170,.18); stroke-width:2; stroke-dasharray:6 9; }.science-orbit.inner { stroke:rgba(142,91,209,.24); }.science-connection { fill:none; stroke:rgba(49,89,170,.09); stroke-width:2; }.science-node circle { fill:#fff; stroke:#3159aa; stroke-width:3; }.science-node text { fill:#3159aa; font:700 11px "DM Mono",monospace; text-anchor:middle; }.science-core { fill:#3159aa; }.science-core-label { fill:#fff; font:700 54px "Playfair Display",serif; text-anchor:middle; }.science-core-sub { fill:#9ee4ff; font:700 11px "DM Mono",monospace; letter-spacing:1px; text-anchor:middle; }.science-evidence-wheel > div { display:flex; gap:7px; margin-top:-55px; }.science-evidence-wheel i { padding:8px 11px; border-radius:99px; color:#fff; background:var(--c); font:700 .62rem "DM Mono",monospace; font-style:normal; }
.science-principles-v2 { display:grid; align-content:center; padding:27px 35px; }.science-principles-v2 article { display:grid; grid-template-columns:55px 1fr; gap:17px; padding:27px 0; border-bottom:1px solid var(--v2-line); }.science-principles-v2 article:last-child { border-bottom:0; }.science-principles-v2 article > b { width:50px; height:50px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--v2-blue-dark); font:700 .65rem "DM Mono",monospace; }.science-principles-v2 span { color:var(--v2-blue-dark); font:700 .59rem "DM Mono",monospace; letter-spacing:.1em; }.science-principles-v2 h3 { margin:8px 0 10px; font:700 1.65rem/1.05 "Playfair Display",serif; }.science-principles-v2 p { color:var(--v2-muted); font-size:.84rem; }

/* Marketing V4 refinements */
.insights-scroll { transition:transform 2.5s cubic-bezier(.25,.7,.25,1),opacity .28s ease; }
.demo-phone[data-scene="ask"] .insights-scroll { opacity:0; }

.living-map,.living-feed { min-height:675px; }
.living-feed { padding:31px 26px; }
.living-row { min-height:86px; margin-top:13px; grid-template-columns:46px 17px 1fr; gap:12px; }

.calendar-days i { position:relative; }
.calendar-selected-primary::after,.calendar-selected-secondary::after { content:""; position:absolute; inset:0; border:3px solid transparent; border-radius:inherit; pointer-events:none; }
.calendar-days .today { outline-color:transparent; }
.calendar-selected-primary::after { animation:calendar-select-primary 16s ease infinite; }
.calendar-selected-secondary::after { animation:calendar-select-secondary 16s ease infinite; }
@keyframes calendar-select-primary { 0%,48%,94%,100%{border-color:var(--v2-blue-dark);box-shadow:0 5px 14px rgba(49,89,170,.18)} 53%,90%{border-color:transparent;box-shadow:none} }
@keyframes calendar-select-secondary { 0%,48%,94%,100%{border-color:transparent;box-shadow:none} 53%,90%{border-color:var(--v2-blue-dark);box-shadow:0 5px 14px rgba(49,89,170,.18)} }

.exposure-day-head h3 { width:260px; height:48px; position:relative; overflow:hidden; }
.exposure-day-head h3 i { position:absolute; inset:0; font-style:normal; animation:exposure-date-primary 16s ease infinite; }
.exposure-day-head h3 i:nth-child(2) { animation-name:exposure-date-secondary; }
@keyframes exposure-date-primary { 0%,48%,94%,100%{opacity:1;transform:none} 53%,90%{opacity:0;transform:translateY(-10px)} }
@keyframes exposure-date-secondary { 0%,48%,94%,100%{opacity:0;transform:translateY(10px)} 53%,90%{opacity:1;transform:none} }
.exposure-day-demo .exposure-toggle i { animation:exposure-metric-pill 16s ease infinite; }
.exposure-day-demo .exposure-toggle b:first-child { animation:exposure-metric-label-one 16s ease infinite; }
.exposure-day-demo .exposure-toggle b:nth-child(2) { animation:exposure-metric-label-two 16s ease infinite; }
@keyframes exposure-metric-pill { 0%,25%,94%,100%{transform:translateX(0)} 32%,90%{transform:translateX(100%)} }
@keyframes exposure-metric-label-one { 0%,25%,94%,100%{color:#fff} 32%,90%{color:var(--v2-muted)} }
@keyframes exposure-metric-label-two { 0%,25%,94%,100%{color:var(--v2-muted)} 32%,90%{color:#fff} }

.exposure-day-demo .route-one { animation:exposure-primary-concentration 16s ease infinite; }
.exposure-day-demo .route-two { animation:exposure-primary-dose 16s ease infinite; }
.route-day-two { stroke:#d80000; stroke-width:12; stroke-dasharray:24 15; opacity:0; animation:exposure-secondary-route 16s ease infinite; }
@keyframes exposure-primary-concentration { 0%,25%{opacity:1} 32%,48%{opacity:.16} 53%,90%{opacity:0} 94%,100%{opacity:1} }
@keyframes exposure-primary-dose { 0%,25%,94%,100%{opacity:.06} 32%,48%{opacity:.92} 53%,90%{opacity:0} }
@keyframes exposure-secondary-route { 0%,48%,94%,100%{opacity:0} 53%,90%{opacity:.92} }

.exposure-timeline-stage { height:300px; position:relative; }
.exposure-timeline { position:absolute; inset:0; }
.exposure-day-primary { animation:exposure-day-primary 16s ease infinite; }
.exposure-day-secondary { animation:exposure-day-secondary 16s ease infinite; }
@keyframes exposure-day-primary { 0%,48%,94%,100%{opacity:1;transform:none} 53%,90%{opacity:0;transform:translateX(-15px)} }
@keyframes exposure-day-secondary { 0%,48%,94%,100%{opacity:0;transform:translateX(15px)} 53%,90%{opacity:1;transform:none} }
.exposure-timeline-stage::after { content:"Loading Tuesday 15 July…"; position:absolute; z-index:5; inset:0; display:grid; place-items:center; border-radius:16px; color:var(--v2-blue-dark); background:rgba(255,255,255,.9); font:700 .7rem "DM Mono",monospace; letter-spacing:.06em; opacity:0; pointer-events:none; animation:exposure-day-loading 16s ease infinite; }
@keyframes exposure-day-loading { 0%,47%,56%,100%{opacity:0} 50%,53%{opacity:1} }
.exposure-timeline article > div { min-width:0; }
.exposure-timeline article u { height:7px; position:relative; display:block; overflow:hidden; margin-top:7px; border-radius:99px; background:#e8e4dc; text-decoration:none; }
.exposure-timeline article u i { position:absolute; inset:0 auto 0 0; width:var(--w); border-radius:inherit; background:var(--c); transform-origin:left; animation:exposure-bar-average 16s ease infinite; }
.exposure-timeline article u .dose-bar { background:linear-gradient(90deg,#ffb42d,#d80000); animation-name:exposure-bar-dose; }
@keyframes exposure-bar-average { 0%,25%,94%,100%{opacity:1;transform:scaleX(1)} 32%,90%{opacity:0;transform:scaleX(.4)} }
@keyframes exposure-bar-dose { 0%,25%,94%,100%{opacity:0;transform:scaleX(.35)} 32%,90%{opacity:1;transform:scaleX(1)} }
.exposure-day-demo .avg-value { animation:exposure-value-average 16s ease infinite; }
.exposure-day-demo .dose-value { animation:exposure-value-dose 16s ease infinite; }
@keyframes exposure-value-average { 0%,25%,94%,100%{opacity:1;transform:translateY(0)} 30%,90%{opacity:0;transform:translateY(-6px)} }
@keyframes exposure-value-dose { 0%,25%,94%,100%{opacity:0;transform:translateY(6px)} 32%,90%{opacity:1;transform:translateY(0)} }

.teaser-route { animation-duration:24s; }
.teaser-route.blue { animation-delay:-4s; }
.teaser-route.orange { stroke:#f78b3d; animation-delay:-8s; }
.teaser-route.purple { stroke:#8e5bd1; animation-delay:-12s; }
.teaser-route.yellow { stroke:#e0a318; animation-delay:-16s; }
@keyframes teaser-route-draw { 0%,9%{stroke-dashoffset:1050;opacity:.18} 52%,88%{stroke-dashoffset:0;opacity:.9} 100%{stroke-dashoffset:-1050;opacity:.18} }
.teaser-phone { animation-duration:24s; }
.teaser-phone.tp5 { offset-path:path("M70 482 C119 396 205 448 267 376 S383 335 439 269 S563 227 650 131"); animation-delay:-5s; background:#8e5bd1; }
.teaser-phone.tp6 { offset-path:path("M20 286 C115 257 159 303 239 278 S366 182 452 196 S595 270 696 235"); animation-delay:-15s; background:#e0a318; }
.teaser-signal { animation-duration:3.4s; }
.teaser-insight,.teaser-insight i { animation-duration:24s; }

/* Research V5 timed questions */
.research-question-demo { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:19px; padding:20px; border:1px solid var(--v2-line); border-radius:30px; background:#201d1a; box-shadow:0 30px 75px rgba(40,34,29,.15); }
.research-map-stage { min-height:650px; position:relative; overflow:hidden; border-radius:22px; background:#e8e5dc; }
.research-map-head { height:86px; position:relative; z-index:20; padding:20px 23px; border-bottom:1px solid rgba(40,34,29,.1); background:rgba(255,253,248,.94); }.research-map-head span { color:var(--v2-blue-dark); font:700 .61rem "DM Mono",monospace; letter-spacing:.1em; }.research-map-head strong { display:block; margin-top:5px; font:700 1.4rem "Playfair Display",serif; }
.research-map-scene { position:absolute; inset:86px 0 0; overflow:hidden; opacity:0; animation:research-scene-one 21s ease-in-out infinite; }
.research-map-scene svg { width:100%; height:100%; display:block; }.heat-scene { animation-name:research-scene-two; }.change-scene { animation-name:research-scene-three; }
@keyframes research-scene-one { 0%,28%{opacity:1;transform:translateX(0)} 32%,96%{opacity:0;transform:translateX(-18px)} 100%{opacity:1;transform:translateX(0)} }
@keyframes research-scene-two { 0%,29%{opacity:0;transform:translateX(18px)} 34%,62%{opacity:1;transform:translateX(0)} 66%,100%{opacity:0;transform:translateX(-18px)} }
@keyframes research-scene-three { 0%,63%{opacity:0;transform:translateX(18px)} 68%,96%{opacity:1;transform:translateX(0)} 100%{opacity:0;transform:translateX(18px)} }
.scene-river { fill:none; stroke:#a8ddec; stroke-width:63; opacity:.72; }.scene-roads { fill:none; stroke:#fff; stroke-width:18; opacity:.88; }
.commute-route,.change-route { fill:none; stroke-width:9; stroke-linecap:round; stroke-dasharray:950; stroke-dashoffset:950; animation:rq-route-draw 21s ease infinite; }.commute-route.walk { stroke:#4caf50; }.commute-route.bus { stroke:#2c569e; animation-delay:.4s; }.commute-route.rail { stroke:#70543e; animation-delay:.8s; }.before-route { stroke:#d80000; }.after-route { stroke:#4caf50; animation-delay:14.6s; }
@keyframes rq-route-draw { 0%,3%{stroke-dashoffset:950} 17%,28%{stroke-dashoffset:0} 32%,100%{stroke-dashoffset:950} }
.commute-agent { stroke:#fff; stroke-width:4; animation:commute-agent-pulse 2.4s ease-in-out infinite; }.commute-agent.a1{fill:#4caf50}.commute-agent.a2{fill:#2c569e;animation-delay:.7s}.commute-agent.a3{fill:#70543e;animation-delay:1.4s}
@keyframes commute-agent-pulse { 0%,100%{r:8;opacity:.65} 50%{r:13;opacity:1} }
.commute-peak { position:absolute; min-width:185px; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 13px 30px rgba(40,34,29,.13); opacity:0; animation:commute-peak-in 21s ease infinite; }.commute-peak span { color:var(--v2-red); font:700 .54rem "DM Mono",monospace; letter-spacing:.08em; }.commute-peak b,.commute-peak strong { display:block; }.commute-peak b { margin-top:4px; font:700 .85rem "Playfair Display",serif; }.commute-peak strong { margin-top:3px; color:var(--v2-muted); font-size:.6rem; }.peak-am{left:7%;top:17%}.peak-pm{right:7%;top:20%;animation-delay:.7s}.peak-active{left:39%;bottom:8%;animation-delay:1.4s}
@keyframes commute-peak-in { 0%,7%{opacity:0;transform:translateY(8px)} 13%,28%{opacity:1;transform:none} 32%,100%{opacity:0} }
.heat-cells circle { opacity:.3; filter:blur(2px); animation:heat-cell-pulse 3.2s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }.heat-cells .low{fill:#4caf50}.heat-cells .medium{fill:#ffb42d;animation-delay:.7s}.heat-cells .high{fill:#d80000;animation-delay:1.4s}.heat-observations circle { fill:#fff; stroke:#3159aa; stroke-width:3; }
@keyframes heat-cell-pulse { 0%,100%{opacity:.18;transform:scale(.84)} 50%{opacity:.5;transform:scale(1.08)} }
.heat-legend { position:absolute; left:20px; bottom:18px; display:flex; align-items:center; gap:7px; padding:9px 12px; border-radius:99px; background:rgba(255,255,255,.93); font:700 .52rem "DM Mono",monospace; }.heat-legend i { width:18px; height:8px; border-radius:7px; background:#4caf50; }.heat-legend i:nth-of-type(2){background:#ffb42d}.heat-legend i:nth-of-type(3){background:#d80000}.heat-stat { position:absolute; right:21px; top:20px; width:165px; padding:15px; border-radius:16px; color:#fff; background:var(--v2-blue-dark); }.heat-stat strong { display:block; font:700 3.1rem/1 "Playfair Display",serif; }.heat-stat span { font-size:.65rem; }
.change-scene { background:#e8e5dc; }.change-scene .before-route { animation:change-route-before 21s ease infinite; }.change-scene .after-route { animation:change-route-after 21s ease infinite; }
@keyframes change-route-before { 0%,66%{stroke-dashoffset:950;opacity:0} 72%,81%{stroke-dashoffset:0;opacity:.9} 88%,100%{stroke-dashoffset:0;opacity:.18} }
@keyframes change-route-after { 0%,76%{stroke-dashoffset:950;opacity:0} 84%,96%{stroke-dashoffset:0;opacity:1} 100%{opacity:0} }
.change-period { position:absolute; top:20px; width:195px; padding:14px; border-radius:15px; background:rgba(255,255,255,.94); box-shadow:0 13px 30px rgba(40,34,29,.12); }.change-period.before { left:20px; }.change-period.after { right:20px; }.change-period span { color:var(--v2-muted); font:700 .52rem "DM Mono",monospace; }.change-period b,.change-period strong { display:block; }.change-period b { margin-top:4px; font:700 1rem "Playfair Display",serif; }.change-period strong { margin-top:4px; font-size:.61rem; }.change-period.before strong{color:#d80000}.change-period.after strong{color:#218a3c}
.change-chart { position:absolute; left:50%; bottom:17px; width:285px; padding:15px; border-radius:16px; background:rgba(255,255,255,.95); transform:translateX(-50%); }.change-chart > span { color:var(--v2-blue-dark); font:700 .55rem "DM Mono",monospace; }.change-chart > div { height:75px; display:flex; gap:8px; align-items:end; margin:8px 0; }.change-chart i { flex:1; height:var(--h); border-radius:5px 5px 2px 2px; background:linear-gradient(#80ccff,#3159aa); transform:scaleY(0); transform-origin:bottom; animation:change-bar-grow 21s ease infinite; }.change-chart i:nth-child(2){animation-delay:.15s}.change-chart i:nth-child(3){animation-delay:.3s}.change-chart i:nth-child(4){animation-delay:.45s}.change-chart i:nth-child(5){animation-delay:.6s}.change-chart i:nth-child(6){animation-delay:.75s}.change-chart strong { color:#218a3c; font-size:.64rem; }
@keyframes change-bar-grow { 0%,72%{transform:scaleY(0)} 83%,96%{transform:scaleY(1)} 100%{transform:scaleY(0)} }
.research-question-rail { display:flex; flex-direction:column; min-width:0; }
.research-question-steps { display:grid; gap:10px; }
.rq-step { min-height:168px; display:grid; grid-template-columns:38px 1fr; gap:7px 11px; align-content:center; padding:18px; border:1px solid rgba(255,255,255,.14); border-radius:19px; color:rgba(255,255,255,.64); background:rgba(255,255,255,.06); animation:rq-step-one 21s ease infinite; }.rq-step.step-two{animation-name:rq-step-two}.rq-step.step-three{animation-name:rq-step-three}
.rq-step b { grid-row:1/3; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.12); font:700 .66rem "DM Mono",monospace; }.rq-step span { font:700 1.15rem/1.07 "Playfair Display",serif; }.rq-step small { grid-column:2; font-size:.62rem; }
@keyframes rq-step-one { 0%,28%,100%{color:#fff;border-color:#3159aa;background:#3159aa;transform:translateX(-5px)} 33%,96%{color:rgba(255,255,255,.64);border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);transform:none} }
@keyframes rq-step-two { 0%,29%,66%,100%{color:rgba(255,255,255,.64);border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);transform:none} 34%,62%{color:#fff;border-color:#3159aa;background:#3159aa;transform:translateX(-5px)} }
@keyframes rq-step-three { 0%,63%,100%{color:rgba(255,255,255,.64);border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);transform:none} 68%,96%{color:#fff;border-color:#3159aa;background:#3159aa;transform:translateX(-5px)} }
.research-question-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:auto; padding:19px 4px 3px; color:rgba(255,255,255,.48); font:700 .52rem "DM Mono",monospace; text-align:center; }.research-question-progress i { grid-column:1/-1; height:4px; position:relative; overflow:hidden; border-radius:5px; background:rgba(255,255,255,.14); }.research-question-progress i::after { content:""; position:absolute; inset:0; background:#80ccff; transform:scaleX(0); transform-origin:left; animation:rq-progress 21s linear infinite; }
@keyframes rq-progress { to{transform:scaleX(1)} }

.pipeline-card:nth-child(1) .pipeline-icon svg { animation:pipeline-sense 3.4s ease-in-out infinite; }
.pipeline-card:nth-child(2) .pipeline-icon svg { animation:pipeline-segment 4s ease-in-out infinite; }
.pipeline-card:nth-child(3) .pipeline-icon svg { animation:pipeline-pin 3.2s ease-in-out infinite; }
.pipeline-card:nth-child(4) .pipeline-icon svg { animation:pipeline-model 3.8s ease-in-out infinite; }
.pipeline-card:nth-child(5) .pipeline-icon svg { animation:pipeline-explain 4.2s ease-in-out infinite; }
@keyframes pipeline-sense { 0%,100%{transform:scale(.94);opacity:.72} 50%{transform:scale(1.08);opacity:1} }
@keyframes pipeline-segment { 0%,100%{transform:translateX(-3px)} 50%{transform:translateX(4px)} }
@keyframes pipeline-pin { 0%,100%{transform:translateY(2px)} 50%{transform:translateY(-5px)} }
@keyframes pipeline-model { 0%,100%{transform:rotate(-1deg) scale(.98)} 50%{transform:rotate(1deg) scale(1.05)} }
@keyframes pipeline-explain { 0%,100%{transform:skewY(0)} 50%{transform:skewY(-2deg) translateY(-2px)} }

.research-day-overall { margin:12px 17px 4px; padding:11px 13px; border:1px solid var(--v2-line); border-radius:12px; background:#f8f6f1; }
.research-day-overall > span { color:var(--v2-muted); font:700 .52rem "DM Mono",monospace; letter-spacing:.08em; }.research-day-overall > strong { float:right; font-size:.62rem; }.research-day-overall p { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; clear:both; padding-top:8px; }.research-day-overall i { padding:5px 3px; border-radius:99px; background:#c3e8f4; font-size:.52rem; text-align:center; font-style:normal; }.research-day-overall i:nth-child(2){background:#ffec80}
.research-day-timeline article { opacity:0; transform:translateY(13px); }
.complete-day-panel.is-visible .research-day-timeline article { animation:research-day-row-in .48s ease forwards; animation-delay:var(--row-delay); }
.research-day-timeline article em { display:inline-grid; place-items:center; width:15px; height:15px; margin-left:3px; border-radius:50%; color:#fff; background:var(--mode); font-size:.48rem; font-style:normal; opacity:0; transform:scale(.3); }
.complete-day-panel.is-visible .research-day-timeline article em { animation:research-day-confirm .3s ease forwards; animation-delay:calc(var(--row-delay) + .35s); }
.research-day-timeline article p span { opacity:0; transform:translateY(4px) scale(.8); }
.complete-day-panel.is-visible .research-day-timeline article p span { animation:research-day-chip .32s ease forwards; animation-delay:calc(var(--row-delay) + .55s); }
.complete-day-panel.is-visible .research-day-timeline article p span:nth-child(2){animation-delay:calc(var(--row-delay) + .65s)}.complete-day-panel.is-visible .research-day-timeline article p span:nth-child(3){animation-delay:calc(var(--row-delay) + .75s)}.complete-day-panel.is-visible .research-day-timeline article p span:nth-child(4){animation-delay:calc(var(--row-delay) + .85s)}
@keyframes research-day-row-in { to{opacity:1;transform:none} } @keyframes research-day-confirm { to{opacity:1;transform:scale(1)} } @keyframes research-day-chip { to{opacity:1;transform:none} }

.participant-view-grid .participant-view-card { opacity:0; transform:translateY(38px) scale(.97); }
.participant-view-grid.is-visible .participant-view-card { animation:participant-view-arrive .68s cubic-bezier(.2,.8,.2,1) forwards; }
.participant-view-grid.is-visible .participant-view-card:nth-child(2){animation-delay:.2s}.participant-view-grid.is-visible .participant-view-card:nth-child(3){animation-delay:.4s}
@keyframes participant-view-arrive { to{opacity:1;transform:none} }

.erg-expertise-v2 { display:grid; grid-template-columns:300px 1fr; gap:20px; }
.erg-core-strip { min-height:650px; display:flex; flex-direction:column; justify-content:flex-end; padding:35px; border-radius:28px; color:#fff; background:radial-gradient(circle at 50% 20%,rgba(128,204,255,.55),transparent 32%),linear-gradient(155deg,#3159aa,#17356f); box-shadow:0 25px 65px rgba(49,89,170,.18); }.erg-core-strip::before { content:"ERG"; display:grid; place-items:center; width:150px; height:150px; margin:auto; border:1px solid rgba(255,255,255,.35); border-radius:50%; box-shadow:0 0 0 24px rgba(255,255,255,.05),0 0 0 48px rgba(255,255,255,.03); font:700 3.5rem "Playfair Display",serif; }.erg-core-strip span { color:#aee6ff; font:700 .6rem "DM Mono",monospace; letter-spacing:.1em; }.erg-core-strip strong { display:block; margin:10px 0; font:700 2rem/1 "Playfair Display",serif; }.erg-core-strip p { color:rgba(255,255,255,.74); font-size:.78rem; }
.erg-expertise-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.erg-expertise-grid article { min-height:315px; padding:27px; border:1px solid color-mix(in srgb,var(--accent) 22%,var(--v2-line)); border-radius:26px; background:#fff; box-shadow:0 20px 45px rgba(40,34,29,.06); }.erg-expertise-icon { width:92px; height:92px; display:grid; place-items:center; margin-bottom:22px; border-radius:25px; color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,white); }.erg-expertise-icon svg { width:72px; height:72px; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }.erg-expertise-grid span { color:var(--accent); font:700 .57rem "DM Mono",monospace; letter-spacing:.08em; }.erg-expertise-grid h3 { margin:9px 0 10px; font:700 1.65rem/1.03 "Playfair Display",serif; }.erg-expertise-grid p { color:var(--v2-muted); font-size:.76rem; }
.erg-expertise-v2.is-visible .erg-expertise-grid article { animation:erg-card-in .65s ease both; }.erg-expertise-v2.is-visible .erg-expertise-grid article:nth-child(2){animation-delay:.12s}.erg-expertise-v2.is-visible .erg-expertise-grid article:nth-child(3){animation-delay:.24s}.erg-expertise-v2.is-visible .erg-expertise-grid article:nth-child(4){animation-delay:.36s}
@keyframes erg-card-in { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }

@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
    .reveal { opacity:1; transform:none; }
    .demo-route,.living-route,.living-mode-route,.scale-path,.teaser-route { stroke-dashoffset:0 !important; }
    .demo-row,.living-row,.demo-chip,.living-pin,.scale-node { opacity:1 !important; transform:none !important; }
    .calendar-days .settled,.ask-live-bubble,.ask-info-card { opacity:1 !important; transform:none !important; }
    .ask-live-bubble.q2,.ask-info-card.a2 { display:none; }
    .insights-live-scroll { transform:translateY(-190px); }
    .teaser-insight { opacity:1; transform:none; }
    .teaser-insight i,.ask-bars i { transform:scaleX(1); }
    .city-origin-phone { display:none; }
    .city-map-world { opacity:1; transform:none; }
    .city-route { opacity:.68; stroke-dashoffset:0; }
    .city-svg-agent { opacity:1; }
    .city-data-network path,.city-hub { opacity:.36; }
    .city-agent { opacity:1; transform:none; }
    .city-agent i { display:none; }
    .city-insight-card { opacity:1; transform:none; }
    .city-insight-card div i { transform:scaleX(1); }
    .city-demo-phase { display:none; }
    .city-demo-phase.phase-three { display:flex; opacity:1; transform:none; }
    .participant-timeline { opacity:1; transform:none; }
    .participant-insights,.participant-answer { display:none; }
}

@media (max-width:1080px) {
    .v2-hero-grid { grid-template-columns:1fr; }
    .v2-hero-copy { max-width:720px; }
    .v2-hero h1 { max-width:9ch; }
    .demo-shell { width:min(680px,100%); margin-inline:auto; }
    .research-bridge-grid { grid-template-columns:1fr; }
    .research-bridge-copy { max-width:760px; }
    .research-city-teaser { width:min(850px,100%); }
    .v2-research-grid { grid-template-columns:1fr; }
    .research-city-wrap { width:min(760px,100%); margin-inline:auto; }
    .research-city-demo { width:100%; }
    .scale-insight-visual { grid-template-columns:1fr 115px 1fr; }
    .scale-cohort-panel,.scale-findings { padding:19px; }
    .participant-view-grid { gap:10px; }
    .participant-view-card { padding:12px 10px 18px; }
    .research-pipeline-v2 { grid-template-columns:repeat(3,1fr); }
    .pipeline-card:nth-child(4),.pipeline-card:nth-child(5) { min-height:360px; }
}

@media (max-width:820px) {
    .demo-shell { grid-template-columns:1fr; }
    .demo-steps { grid-template-columns:repeat(5,1fr); gap:5px; }
    .demo-step { display:block; min-height:0; padding:8px 4px; text-align:center; font-size:0; }
    .demo-step i { margin:auto; }
    .demo-step.active { transform:translateY(-3px); }
    .demo-controls { margin-top:8px; }
    .v2-intro,.living-day,.v2-insights-layout,.sensor-mention { grid-template-columns:1fr; gap:30px; }
    .diary-feature-grid,.underhood-grid { grid-template-columns:1fr; }
    .diary-feature,.underhood-card { min-height:0; display:grid; grid-template-columns:190px 1fr; gap:3px 24px; align-items:start; }
    .diary-feature > div,.underhood-card > div { grid-row:1/5; height:220px; margin:0; }
    .exposure-story { grid-template-columns:1fr; }
    .exposure-calendar,.exposure-day-demo { min-height:0; }
    .ask-live-demo { grid-template-columns:220px 1fr; }
    .ask-info-card { grid-template-columns:1fr; }
    .ask-card-map { min-height:165px; }
    .scale-insight-visual { grid-template-columns:1fr; }
    .scale-evidence-core { min-height:150px; flex-direction:row; }
    .scale-evidence-core i { rotate:90deg; }
    .participant-view-grid,.science-foundation-v2 { grid-template-columns:1fr; }
    .participant-view-card { padding:18px; }
    .participant-view-note { grid-template-columns:auto 1fr; }
    .science-evidence-wheel,.science-principles-v2 { min-height:0; }
    .science-evidence-wheel { min-height:600px; }
    .chunk-grid,.study-question-grid { grid-template-columns:1fr 1fr; }
    .living-map,.living-feed { min-height:520px; }
    .answer-evolution { grid-template-columns:1fr; }
    .evolution-arrow { rotate:90deg; justify-self:center; }
    .research-motion-card.wide { grid-template-columns:1fr; }
    .research-pipeline-v2 { grid-template-columns:1fr 1fr; }
    .complete-day-panel,.erg-science-panel { grid-template-columns:1fr; }
    .intervention-compare { grid-template-columns:1fr; }
    .intervention-moment i { rotate:90deg; }
    .expansion-grid { grid-template-columns:1fr; }
    .expansion-card { min-height:0; display:grid; grid-template-columns:220px 1fr; gap:4px 26px; align-items:start; }
    .expansion-art { grid-row:1/4; margin:0; }
    .erg-mark { min-height:360px; }
    .research-question-demo { grid-template-columns:1fr; }
    .research-question-steps { grid-template-columns:repeat(3,1fr); }
    .rq-step { min-height:150px; grid-template-columns:34px 1fr; padding:14px; }.rq-step b { width:34px; height:34px; }.rq-step span { font-size:1rem; }
    .erg-expertise-v2 { grid-template-columns:1fr; }
    .erg-core-strip { min-height:430px; }
}

@media (max-width:620px) {
    .v2-badge { display:none; }
    .v2-hero-grid,
    .v2-hero-copy,
    .demo-shell { min-width:0; }
    .v2-hero { min-height:auto; }
    .v2-hero-grid { padding:58px 0 70px; }
    .v2-hero h1,.v2-research-hero h1 { font-size:clamp(3.4rem,16vw,5.3rem); }
    .v2-hero .lum-actions,
    .v2-research-hero .lum-actions { align-items:stretch; flex-direction:column; }
    .v2-hero .lum-button,
    .v2-research-hero .lum-button { width:100%; }
    .v2-hero .lum-lede,
    .v2-research-hero .lum-lede { max-width:100%; }
    .demo-stage { min-height:585px; }
    .demo-stage::before { width:360px; height:360px; }
    .demo-phone { width:286px; height:585px; border-width:7px; border-radius:44px; transform:scale(1); transform-origin:top center; }
    .demo-phone::before { width:82px; height:23px; top:9px; }
    .demo-screen { padding:42px 14px 64px; }
    .demo-map { height:137px; }
    .demo-date { font-size:20px; margin:10px 0 8px; }
    .demo-row { min-height:46px; grid-template-columns:26px 10px 1fr; }
    .demo-edit-trigger { top:360px; }
    .edit-sheet { min-height:260px; }
    .demo-tabbar { height:58px; }
    .insights-scroll { scale:.88; transform-origin:top left; width:113%; }
    .demo-phone[data-scene="insights"] .insights-scroll { transform:translateY(-135px); }
    .demo-phone[data-scene="ask"] .insights-scroll { transform:translateY(-180px); }
    .chunk-grid,.study-question-grid,.research-motion-grid { grid-template-columns:1fr; }
    .chunk-card { min-height:280px; }
    .living-map,.living-feed { min-height:460px; }
    .living-feed { padding:24px 17px; }
    .diary-feature,.underhood-card { display:block; padding:20px; }
    .diary-feature > div,.underhood-card > div { height:170px; margin-bottom:23px; }
    .exposure-calendar,.exposure-day-demo { padding:20px 15px; border-radius:22px; }
    .calendar-days { gap:4px; }
    .calendar-days i { border-radius:8px; font-size:.68rem; }
    .exposure-calendar-head h3,.exposure-day-head h3 { font-size:2.1rem; }
    .exposure-day-head { display:grid; gap:16px; }
    .exposure-toggle { width:100%; }
    .insights-live-panel { height:680px; border-radius:22px; }
    .insights-live-head { height:auto; display:grid; gap:14px; padding:18px; }
    .insights-live-toggle { width:100%; }
    .insights-live-scroll { padding:13px; }
    @keyframes insights-story-scroll { 0%,20%{transform:translateY(0)} 44%,62%{transform:translateY(-270px)} 82%,94%{transform:translateY(-500px)} 100%{transform:translateY(0)} }
    .insights-ledgers { grid-template-columns:1fr; }
    .ask-live-demo { grid-template-columns:1fr; min-height:850px; }
    .ask-live-sidebar { display:none; }
    .ask-live-chat { padding:18px 14px 78px; }
    .ask-live-thread { min-height:665px; }
    .ask-live-bubble { max-width:88%; font-size:.88rem; }
    .ask-card-map { min-height:150px; }
    .ask-card-copy { padding:17px; }
    .ask-card-copy h4 { font-size:1.45rem; }
    .ask-live-input { left:14px; right:14px; bottom:18px; }
    .research-bridge { padding:78px 0; }
    .research-city-teaser { aspect-ratio:.96; border-radius:23px; }
    .teaser-insight { width:210px; right:9px; top:9px; padding:13px; scale:.82; transform-origin:top right; }
    .teaser-phone { scale:.78; }
    .city-demo-phases { width:350px; }
    .city-insight-card { width:270px; }
    .scale-insight-visual { padding:12px; border-radius:23px; }
    .scale-cohort-panel,.scale-findings { min-height:0; padding:17px; }
    .scale-cohort-panel svg { height:300px; }
    .scale-findings article { grid-template-columns:88px 1fr; }
    .finding-clock { width:78px; height:78px; font-size:1.35rem; }
    .finding-map,.finding-change { width:82px; }
    .scale-evidence-core { min-height:120px; gap:10px; }
    .scale-evidence-core strong { width:58px; height:58px; }
    .research-day-timeline article { grid-template-columns:43px 13px 1fr; padding:0 10px; }
    .research-day-head { display:grid; gap:5px; padding:15px; }
    .participant-view-card { padding:12px 8px 18px; }
    .research-app-phone { height:610px; border-width:6px; }
    .participant-view-note { padding:18px; }
    .commute-map svg { height:190px; }
    .research-questions-heading { margin-top:75px; }
    .science-evidence-wheel { min-height:430px; padding:12px; }
    .science-evidence-wheel > div { margin-top:-30px; }
    .science-principles-v2 { padding:16px 20px; }
    .science-principles-v2 article { grid-template-columns:43px 1fr; gap:12px; }
    .science-principles-v2 article > b { width:40px; height:40px; }
    .v2-highlow { grid-template-columns:1fr; }
    .research-motion-card.wide { grid-column:auto; }
    .long-row { grid-template-columns:90px 1fr; }
    .long-row small { grid-column:2; }
    .v2-research-hero { min-height:auto; }
    .v2-research-grid { padding:62px 0 72px; }
    .research-city-demo { border-radius:24px; }
    .city-demo-phases { left:12px; top:12px; width:300px; transform:scale(.8); transform-origin:top left; }
    .city-map-world { inset:9px; border-radius:19px; }
    .city-insight-card { right:9px; top:9px; transform-origin:top right; scale:.72; }
    .city-origin-phone { scale:.78; }
    .research-demo-timer { margin-inline:5px; font-size:.48rem; }
    .campaign-visual { padding:20px 15px; }
    .campaign-head,.research-pipeline-v2 { grid-template-columns:1fr; }
    .campaign-axis { margin-left:39px; }
    .campaign-lane { grid-template-columns:32px repeat(5,1fr); }
    .campaign-legend { margin-left:39px; }
    .pipeline-card { min-height:330px; }
    .complete-day-panel { padding:27px 20px; }
    .complete-day-panel h3 { font-size:2.35rem; }
    .complete-day-visual { grid-template-columns:auto repeat(5,1fr) auto; }
    .complete-day-visual i { min-height:145px; }
    .participant-demo-stage { min-height:600px; }
    .participant-phone { width:278px; height:558px; scale:.92; }
    .participant-screen { padding:50px 15px 20px; }
    .participant-extreme { min-height:170px; }
    .visual-study-grid .study-question { min-height:400px; }
    .expansion-card { display:block; }
    .expansion-art { margin-bottom:25px; }
    .erg-mark { min-height:320px; padding:32px; }
    .erg-principles { padding:15px 23px; }
    .research-question-demo { padding:10px; border-radius:23px; }
    .research-map-stage { min-height:560px; border-radius:17px; }
    .research-map-head { height:92px; padding:17px; }.research-map-head strong { font-size:1.15rem; }
    .research-map-scene { inset:92px 0 0; }
    .research-question-steps { grid-template-columns:1fr; }
    .rq-step { min-height:112px; }.rq-step span { font-size:1.12rem; }
    .commute-peak { min-width:150px; padding:10px; scale:.82; }.peak-am{left:-1%;top:13%}.peak-pm{right:-2%;top:22%}.peak-active{left:25%;bottom:7%}
    .heat-stat { right:10px; top:10px; scale:.82; transform-origin:top right; }
    .heat-legend { left:10px; bottom:10px; scale:.76; transform-origin:bottom left; }
    .change-period { width:165px; scale:.78; transform-origin:top left; }.change-period.after{transform-origin:top right}
    .change-chart { width:240px; scale:.85; transform:translateX(-59%); }
    .erg-expertise-grid { grid-template-columns:1fr; }
    .erg-core-strip { min-height:390px; padding:28px; }
    .erg-expertise-grid article { min-height:0; }
    .research-day-timeline article p { gap:4px; }.research-day-timeline article p span { padding:4px 5px; font-size:.49rem; }
}

/* Research V2 refinement — app exposure scale, deliberate timeline motion and mode outcomes */
.heat-cells .exposure-blue { fill:#80ccff; }
.heat-cells .exposure-yellow { fill:#ffec80; animation-delay:.45s; }
.heat-cells .exposure-orange { fill:#ffc08d; animation-delay:.9s; }
.heat-cells .exposure-red { fill:#ff8f86; animation-delay:1.35s; }
.heat-legend i { background:#80ccff; }
.heat-legend i:nth-of-type(2) { background:#ffec80; }
.heat-legend i:nth-of-type(3) { background:#ffc08d; }
.heat-legend i:nth-of-type(4) { background:#ff8f86; }
.heat-stat { width:270px; }
.heat-stat > span { display:block; color:#aee6ff; font:700 .53rem "DM Mono",monospace; letter-spacing:.08em; }
.heat-pollutant-chips { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin:11px 0 9px; }
.heat-pollutant-chips i { padding:7px 4px; border-radius:99px; color:var(--v2-ink); background:#80ccff; font:600 .52rem "DM Sans",sans-serif; text-align:center; font-style:normal; }
.heat-pollutant-chips i:nth-child(2) { background:#ffec80; }
.heat-pollutant-chips i:nth-child(3) { background:#ffc08d; }
.heat-pollutant-chips i:nth-child(4) { background:#ff8f86; }
.heat-pollutant-chips b { font-weight:800; }
.heat-stat small { color:rgba(255,255,255,.72); font-size:.58rem; }

.change-chart i { background:#3159aa; }
.pipeline-card .pipeline-icon svg { animation:none !important; transform:none !important; }

.research-day-timeline article { min-height:116px; }
.research-day-timeline article > div { padding:18px 0; }
.complete-day-panel.is-visible .research-day-timeline:not(.sequence-visible) article,
.complete-day-panel.is-visible .research-day-timeline:not(.sequence-visible) article em,
.complete-day-panel.is-visible .research-day-timeline:not(.sequence-visible) article p span { animation:none; }
.research-day-timeline.sequence-visible article { animation:research-day-row-in .62s cubic-bezier(.2,.75,.2,1) forwards; animation-delay:var(--row-delay); }
.research-day-timeline.sequence-visible article em { animation:research-day-confirm .34s cubic-bezier(.2,.9,.25,1.25) forwards; animation-delay:calc(var(--row-delay) + .42s); }
.research-day-timeline.sequence-visible article p span { animation:research-day-chip .36s ease forwards; animation-delay:calc(var(--row-delay) + .68s); }
.research-day-timeline.sequence-visible article p span:nth-child(2) { animation-delay:calc(var(--row-delay) + .8s); }
.research-day-timeline.sequence-visible article p span:nth-child(3) { animation-delay:calc(var(--row-delay) + .92s); }
.research-day-timeline.sequence-visible article p span:nth-child(4) { animation-delay:calc(var(--row-delay) + 1.04s); }

.intervention-compare { align-items:stretch; }
.intervention-period.mode-comparison { min-width:0; min-height:720px; display:flex; flex-direction:column; }
.mode-comparison h3 { margin-bottom:8px; }
.mode-card-lede { min-height:44px; color:var(--v2-muted); font-size:.76rem; line-height:1.45; }
.intervention-period.mode-comparison > .mode-comparison-list {
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    align-items:stretch;
    margin-top:19px;
}
.mode-row { min-width:0; display:grid; grid-template-columns:125px minmax(110px,1fr); gap:7px 12px; align-items:center; padding:11px 12px; border:1px solid var(--v2-line); border-radius:13px; background:#fbfaf7; }
.mode-row > b { padding-left:11px; border-left:4px solid var(--mode); font:700 .78rem "DM Sans",sans-serif; }
.mode-exposure { min-width:0; display:grid; grid-template-columns:1fr 24px; gap:7px; align-items:center; }
.mode-exposure::before { content:""; height:9px; grid-column:1; grid-row:1; border-radius:99px; background:#e8e5de; }
.mode-exposure i { height:9px; grid-column:1; grid-row:1; width:var(--bar); border-radius:99px; background:var(--mode); transform:scaleX(0); transform-origin:left; }
.mode-exposure em { grid-column:2; grid-row:1; color:var(--v2-muted); font:700 .61rem "DM Mono",monospace; text-align:right; font-style:normal; }
.mode-row > small { grid-column:1/-1; color:var(--v2-muted); font-size:.58rem; letter-spacing:.01em; }
.mode-row > small strong { color:var(--v2-ink); font:700 .62rem "DM Sans",sans-serif; }
.intervention-compare.bars-visible .mode-exposure i { animation:mode-exposure-grow .75s cubic-bezier(.2,.78,.2,1) forwards; animation-delay:var(--delay); }
@keyframes mode-exposure-grow { to { transform:scaleX(1); } }
.mode-comparison footer { display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:15px; color:var(--v2-muted); font:700 .5rem "DM Mono",monospace; letter-spacing:.06em; }
.mode-comparison.after { border-color:rgba(76,175,80,.28); }
.mode-comparison.after .mode-row { background:#f8fbf6; }

@media (max-width:1080px) and (min-width:821px) {
    .intervention-compare { grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr); gap:12px; }
    .intervention-period.mode-comparison { padding:20px; }
    .mode-row { grid-template-columns:105px minmax(90px,1fr); }
}

@media (max-width:820px) {
    .intervention-period.mode-comparison { min-height:0; }
    .mode-card-lede { min-height:0; }
    .intervention-moment { display:flex; align-items:center; justify-content:center; gap:12px; padding:8px 0; }
    .intervention-moment i { margin:0; }
    .intervention-moment span { width:auto; margin:0; }
}

@media (max-width:620px) {
    .heat-stat { width:258px; }
    .research-day-timeline article { min-height:104px; }
    .research-day-timeline article > div { padding:15px 0; }
    .mode-comparison h3 { font-size:1.8rem; }
    .mode-row { grid-template-columns:94px minmax(90px,1fr); padding:10px; }
    .mode-row > b { font-size:.68rem; }
    .mode-comparison footer { display:grid; }
}

@media (prefers-reduced-motion: reduce) {
    .research-day-timeline article,
    .research-day-timeline article em,
    .research-day-timeline article p span { opacity:1 !important; transform:none !important; }
    .mode-exposure i { transform:scaleX(1) !important; }
}

/* Marketing V5 — interactive calendar, measures and periods */
.calendar-days button,.calendar-days > span {
    aspect-ratio:1;
    display:grid;
    place-items:center;
    position:relative;
    border:0;
    border-radius:11px;
    color:var(--v2-muted);
    background:#f2f0eb;
    font:.76rem "DM Sans",sans-serif;
}
.calendar-days button { cursor:pointer; -webkit-appearance:none; appearance:none; }
.calendar-days button:hover { filter:saturate(1.12) brightness(.98); transform:translateY(-1px); }
.calendar-days button:focus-visible { outline:3px solid var(--v2-blue-dark); outline-offset:2px; }
.calendar-days button.is-selected { color:var(--v2-blue-dark); font-weight:800; box-shadow:inset 0 0 0 3px var(--v2-blue-dark),0 7px 18px rgba(49,89,170,.2); transform:translateY(-2px); }
.calendar-days button.is-selected::after { content:""; position:absolute; inset:-5px; border:1px solid rgba(49,89,170,.28); border-radius:15px; }
.calendar-days > span:empty { visibility:hidden; }

.exposure-day-head h3 { width:auto; min-width:260px; height:auto; overflow:visible; }
.exposure-toggle { grid-template-columns:1fr 1fr; }
.exposure-toggle button {
    z-index:2;
    border:0;
    border-radius:99px;
    color:var(--v2-muted);
    background:transparent;
    font:700 .66rem "DM Sans",sans-serif;
    cursor:pointer;
}
.exposure-toggle button:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
.exposure-toggle button.is-active { color:#fff; }
.exposure-day-demo .exposure-toggle i { animation:none; transition:transform .36s cubic-bezier(.2,.75,.2,1); }
.exposure-story.is-dose .exposure-toggle i { transform:translateX(100%); }
.exposure-timeline-stage { height:300px; }
.exposure-timeline-stage::after { display:none; animation:none; }
.exposure-timeline { position:relative; inset:auto; }
.exposure-timeline article { animation:marketing-timeline-row .46s cubic-bezier(.2,.75,.2,1) both; }
.exposure-timeline article:nth-child(2) { animation-delay:.06s; }
.exposure-timeline article:nth-child(3) { animation-delay:.12s; }
.exposure-timeline article:nth-child(4) { animation-delay:.18s; }
@keyframes marketing-timeline-row { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
.exposure-timeline article u i { width:var(--w); animation:none; transform:none; opacity:1; transition:width .45s cubic-bezier(.2,.75,.2,1),background .35s ease; }
.exposure-story.is-dose .exposure-timeline article u i { background:linear-gradient(90deg,#ffb42d,#d80000); }
.exposure-timeline strong { line-height:30px; }
.exposure-unit { position:static; height:22px; }
.exposure-dynamic-route { stroke:#3195d2; stroke-width:8; stroke-dasharray:none; opacity:1; transition:stroke .35s ease,stroke-width .35s ease,stroke-dasharray .35s ease; }
.exposure-story.is-dose .exposure-dynamic-route { stroke:#d80000; stroke-width:12; stroke-dasharray:24 15; }

.insights-period-selector {
    width:390px;
    height:44px;
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    padding:4px;
    border:1px solid var(--v2-line);
    border-radius:99px;
    background:#fff;
}
.insights-period-selector button {
    z-index:2;
    min-width:0;
    padding:0 8px;
    border:0;
    border-radius:99px;
    color:var(--v2-muted);
    background:transparent;
    font:700 .62rem "DM Sans",sans-serif;
    white-space:nowrap;
    cursor:pointer;
}
.insights-period-selector button.is-active { color:#fff; }
.insights-period-selector button:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
.insights-period-selector > i {
    width:calc((100% - 8px)/3);
    height:34px;
    position:absolute;
    z-index:1;
    left:4px;
    top:4px;
    border-radius:99px;
    background:var(--v2-blue-dark);
    transition:transform .42s cubic-bezier(.2,.75,.2,1);
}
[data-insights-story][data-period="30"] .insights-period-selector > i { transform:translateX(100%); }
[data-insights-story][data-period="custom"] .insights-period-selector > i { transform:translateX(200%); }
.insights-overview,.insights-ledgers,.insights-highlow { transition:opacity .25s ease,transform .25s ease; }
.insights-ledgers p { grid-template-columns:29px minmax(0,1fr) 46px; grid-template-rows:auto auto auto; }
.insights-ledgers p strong { grid-column:3; grid-row:1/3; width:auto; height:auto; position:static; align-self:center; font-size:.9rem; }
.insights-ledgers p u {
    height:7px;
    grid-column:2/4;
    grid-row:3;
    position:relative;
    overflow:hidden;
    margin-top:6px;
    border-radius:99px;
    background:#e8e5de;
    text-decoration:none;
}
.insights-ledgers p u i {
    width:var(--w);
    height:100%;
    display:block;
    border-radius:inherit;
    background:var(--c);
    transform-origin:left;
    animation:insights-period-bar .55s cubic-bezier(.2,.75,.2,1) both;
}
@keyframes insights-period-bar { from{transform:scaleX(.12);opacity:.35} to{transform:scaleX(1);opacity:1} }
.insights-highlow article { animation:insights-period-card .45s ease both; }
.insights-highlow article:nth-child(2) { animation-delay:.08s; }
@keyframes insights-period-card { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }

@media (max-width:820px) {
    .insights-period-selector { width:100%; }
}

@media (max-width:620px) {
    .calendar-days button,.calendar-days > span { border-radius:8px; font-size:.68rem; }
    .exposure-day-head h3 { min-width:0; font-size:1.85rem; }
    .insights-period-selector { height:42px; }
    .insights-period-selector button { padding:0 3px; font-size:.53rem; }
    .insights-period-selector > i { height:32px; }
}

@media (prefers-reduced-motion: reduce) {
    .exposure-timeline article,.insights-ledgers p u i,.insights-highlow article { animation:none !important; opacity:1 !important; transform:none !important; }
}

/* Research V2 — July 2026 scroll choreography */
.research-v3-page [data-pipeline-sequence] .pipeline-card {
    opacity:0;
    transform:translateX(clamp(54px,8vw,128px));
    transition:opacity .62s ease,transform .82s cubic-bezier(.18,.78,.18,1);
    transition-delay:calc((var(--pipeline-order,0) * .13s));
}
.research-v3-page [data-pipeline-sequence] .pipeline-card:nth-child(1) { --pipeline-order:0; }
.research-v3-page [data-pipeline-sequence] .pipeline-card:nth-child(2) { --pipeline-order:1; }
.research-v3-page [data-pipeline-sequence] .pipeline-card:nth-child(3) { --pipeline-order:2; }
.research-v3-page [data-pipeline-sequence] .pipeline-card:nth-child(4) { --pipeline-order:3; }
.research-v3-page [data-pipeline-sequence] .pipeline-card:nth-child(5) { --pipeline-order:4; }
.research-v3-page [data-pipeline-sequence].pipeline-visible .pipeline-card {
    opacity:1;
    transform:none;
}

.research-v3-page .complete-day-panel {
    max-width:1120px;
    grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);
    gap:34px;
    margin:26px auto 0;
    padding:30px 34px;
}
.research-v3-page .complete-day-panel h3 { font-size:clamp(2.25rem,3.6vw,3rem); }
.research-v3-page .complete-day-panel p { max-width:48ch; }
.research-v3-page .research-day-timeline article {
    min-height:79px;
    opacity:0;
    transform:translateX(24px);
    transition:opacity .42s ease,transform .58s cubic-bezier(.2,.78,.2,1);
}
.research-v3-page .research-day-timeline article > div { padding:12px 0; }
.research-v3-page .research-day-timeline article,
.research-v3-page .research-day-timeline article em,
.research-v3-page .research-day-timeline article p span { animation:none !important; }
.research-v3-page .research-day-timeline article.timeline-row-visible {
    opacity:1;
    transform:none;
}
.research-v3-page .research-day-timeline article em {
    opacity:0;
    transform:scale(.25);
    transition:opacity .22s ease,transform .34s cubic-bezier(.2,.9,.25,1.3);
}
.research-v3-page .research-day-timeline article.timeline-confirmed em {
    opacity:1;
    transform:scale(1);
}
.research-v3-page .research-day-timeline article p span {
    opacity:0;
    transform:translateY(7px) scale(.82);
    transition:opacity .25s ease,transform .34s cubic-bezier(.2,.8,.2,1);
}
.research-v3-page .research-day-timeline article.timeline-chips-visible p span {
    opacity:1;
    transform:none;
}
.research-v3-page .research-day-timeline article.timeline-chips-visible p span:nth-child(2) { transition-delay:.08s; }
.research-v3-page .research-day-timeline article.timeline-chips-visible p span:nth-child(3) { transition-delay:.16s; }
.research-v3-page .research-day-timeline article.timeline-chips-visible p span:nth-child(4) { transition-delay:.24s; }
.research-v3-page [data-timeline-stage] {
    padding:5px 9px;
    border-radius:99px;
    color:var(--v2-blue-dark);
    background:#dff2fb;
    transition:background .25s ease,color .25s ease;
}
.research-v3-page .timeline-phase-confirm [data-timeline-stage] { color:#fff; background:#8e5bd1; }
.research-v3-page .timeline-phase-exposure [data-timeline-stage] { color:#4d351d; background:#ffdf43; }

.research-v3-page .participant-view-grid .participant-view-card {
    opacity:0;
    transition:opacity .68s ease,transform .9s cubic-bezier(.18,.78,.18,1);
}
.research-v3-page .participant-view-grid .participant-view-card:nth-child(1) { transform:translateX(-88px) rotate(-2.2deg) scale(.96); }
.research-v3-page .participant-view-grid .participant-view-card:nth-child(2) { transform:translateY(34px) scale(.96); transition-delay:.1s; }
.research-v3-page .participant-view-grid .participant-view-card:nth-child(3) { transform:translateX(88px) rotate(2.2deg) scale(.96); transition-delay:.2s; }
.research-v3-page .participant-view-grid.is-visible .participant-view-card {
    animation:none;
    opacity:1;
    transform:none;
}

.research-v3-page .mode-unit-label {
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-top:13px;
    padding:8px 11px;
    border-radius:9px;
    color:var(--v2-blue-dark);
    background:#edf5ff;
    font:700 .55rem "DM Mono",monospace;
    letter-spacing:.045em;
    text-transform:uppercase;
}
.research-v3-page .mode-unit-label strong { font:inherit; }
.research-v3-page .mode-exposure { grid-template-columns:minmax(48px,1fr) 72px; }
.research-v3-page .mode-exposure em { width:72px; color:var(--v2-ink); }
.research-v3-page .mode-exposure em small { display:block; color:var(--v2-muted); font:500 .43rem "DM Mono",monospace; white-space:nowrap; }
.research-v3-page .mode-comparison.after { border-width:2px; box-shadow:0 22px 55px rgba(76,175,80,.11); }
.research-v3-page .mode-comparison.after .mode-unit-label { color:#176b2e; background:#e6f5e7; }

.research-v3-page .visual-study-grid .study-question {
    transition-delay:calc((var(--question-order,0) * .11s));
}
.research-v3-page .visual-study-grid .study-question:nth-child(1) { --question-order:0; }
.research-v3-page .visual-study-grid .study-question:nth-child(2) { --question-order:1; }
.research-v3-page .visual-study-grid .study-question:nth-child(3) { --question-order:2; }
.research-v3-page .visual-study-grid .study-question:nth-child(4) { --question-order:3; }
.research-v3-page .visual-study-grid .study-question:nth-child(5) { --question-order:4; }
.research-v3-page .visual-study-grid .study-question:nth-child(6) { --question-order:5; }

@media (max-width:820px) {
    .research-v3-page .complete-day-panel { grid-template-columns:1fr; padding:27px 24px; }
    .research-v3-page .participant-view-grid .participant-view-card:nth-child(1) { transform:translateX(-46px) rotate(-1deg) scale(.97); }
    .research-v3-page .participant-view-grid .participant-view-card:nth-child(2) { transform:translateX(46px) rotate(1deg) scale(.97); }
    .research-v3-page .participant-view-grid .participant-view-card:nth-child(3) { transform:translateX(-46px) rotate(-1deg) scale(.97); }
    .research-v3-page .participant-view-grid.is-visible .participant-view-card { transform:none; }
}

@media (max-width:620px) {
    .research-v3-page .complete-day-panel { padding:24px 15px; }
    .research-v3-page .research-day-timeline article { min-height:88px; }
    .research-v3-page .research-day-timeline article > div { padding:14px 0; }
    .research-v3-page .mode-row { grid-template-columns:84px minmax(0,1fr); }
    .research-v3-page .mode-exposure { grid-template-columns:minmax(36px,1fr) 64px; }
    .research-v3-page .mode-exposure em { width:64px; font-size:.56rem; }
}

@media (prefers-reduced-motion: reduce) {
    .research-v3-page [data-pipeline-sequence] .pipeline-card,
    .research-v3-page .participant-view-grid .participant-view-card,
    .research-v3-page .research-day-timeline article,
    .research-v3-page .research-day-timeline article em,
    .research-v3-page .research-day-timeline article p span {
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
}

/* Research V3 feedback — legible exposure chips and scroll-led outcomes */
.research-v3-page .research-day-overall {
    padding:13px 15px;
}
.research-v3-page .research-day-overall p {
    gap:7px;
    padding-top:10px;
}
.research-v3-page .research-day-overall i,
.research-v3-page .research-day-timeline article p span {
    color:#15344a;
    border:1px solid rgba(21,52,74,.1);
    font-family:"DM Sans",sans-serif;
    font-style:normal;
    font-weight:750;
    letter-spacing:-.01em;
    line-height:1.15;
    white-space:nowrap;
}
.research-v3-page .research-day-overall i {
    padding:7px 6px;
    font-size:.66rem;
}
.research-v3-page .research-day-timeline article {
    min-height:88px;
}
.research-v3-page .research-day-timeline article p {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    width:100%;
    margin-top:9px;
}
.research-v3-page .research-day-timeline article p span {
    min-width:0;
    padding:7px 6px;
    font-size:.67rem;
    text-align:center;
}
.research-v3-page .research-day-timeline article p .warm {
    color:#4d2613;
    border-color:rgba(77,38,19,.12);
}

.research-v3-page [data-expansion-sequence] {
    overflow:clip;
}
.research-v3-page [data-expansion-sequence] .expansion-card {
    opacity:0;
    transform:translateX(clamp(58px,9vw,132px));
    transition:opacity .6s ease,transform .82s cubic-bezier(.18,.78,.18,1);
    transition-delay:calc(var(--expansion-order,0) * .13s);
}
.research-v3-page [data-expansion-sequence] .expansion-card:nth-child(1) { --expansion-order:0; }
.research-v3-page [data-expansion-sequence] .expansion-card:nth-child(2) { --expansion-order:1; }
.research-v3-page [data-expansion-sequence] .expansion-card:nth-child(3) { --expansion-order:2; }
.research-v3-page [data-expansion-sequence].expansion-visible .expansion-card {
    opacity:1;
    transform:none;
}

@media (max-width:620px) {
    .research-v3-page .research-day-overall p {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .research-v3-page .research-day-overall i {
        padding:8px 7px;
        font-size:.71rem;
    }
    .research-v3-page .research-day-timeline article {
        min-height:128px;
    }
    .research-v3-page .research-day-timeline article p {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px;
    }
    .research-v3-page .research-day-timeline article p span {
        padding:7px 5px;
        font-size:.68rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .research-v3-page [data-expansion-sequence] .expansion-card {
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
    .research-v3-page .intervention-compare .mode-exposure i {
        animation:none !important;
        transform:scaleX(1) !important;
    }
}
