.v2 .product-demo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.v2 .product-demo-card { min-width:0; overflow:hidden; background:#fff; color:var(--v2-ink); border:1px solid var(--v2-line); border-radius:12px; box-shadow:var(--v2-shadow-sm); font:400 14px/1.5 'Inter',sans-serif; }
.v2 .product-demo-card>header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; min-height:66px; padding:14px 20px; border-bottom:1px solid var(--v2-line-soft); }
.v2 .product-demo-card h3 { margin:0; font:600 16px/1.4 'Inter',sans-serif; letter-spacing:0; }
.v2 .product-demo-body { padding:20px; }
.v2 .demo-headline { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; margin-bottom:20px; }
.v2 .demo-headline>strong { font:600 28px/1.2 'Inter',sans-serif; letter-spacing:-.025em; }
.v2 .demo-headline>span,.v2 .demo-chart-axis,.v2 .demo-foot { color:var(--v2-muted); font-size:12px; }
.v2 .demo-positive { color:#258359!important; }
.v2 .demo-chart-axis { display:flex; justify-content:space-between; margin-top:8px; }
.v2 .product-demo-card svg { display:block; max-width:100%; }
.v2 .demo-chart-sweep { animation:demo-chart-reveal 1200ms ease-out both; }
@keyframes demo-chart-reveal { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0 0 0 0); } }
.v2 .demo-segmented { display:inline-flex; flex-wrap:wrap; align-items:center; gap:2px; padding:3px; background:var(--v2-bg-alt); border:1px solid var(--v2-line-soft); border-radius:8px; }
.v2 .demo-segmented button,.v2 .demo-button { min-height:32px; padding:5px 10px; border:1px solid transparent; border-radius:6px; background:transparent; color:var(--v2-muted); font:500 12px/1.4 'Inter',sans-serif; cursor:pointer; }
.v2 .demo-segmented button[aria-pressed=true] { background:#fff; border-color:var(--v2-line); color:var(--v2-ink); box-shadow:var(--v2-shadow-sm); }
.v2 .demo-button { background:#fff; border-color:var(--v2-line); color:var(--v2-ink); white-space:nowrap; }
.v2 .demo-button[aria-pressed=true] { color:var(--v2-emerald); background:#eef7f2; }
.v2 .product-demo-card button:active { transform:scale(.97); }
.v2 .demo-progress-row { padding:14px 0; border-top:1px solid var(--v2-line-soft); }
.v2 .demo-progress-row>div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; font-size:12px; }
.v2 .demo-progress-row>div:first-child { margin-bottom:10px; }
.v2 .demo-progress-row progress { display:block; width:100%; height:7px; border:0; border-radius:10px; appearance:none; background:#ecebe8; accent-color:#36a47b; margin:0 0 10px; }
.v2 .demo-progress-row progress::-webkit-progress-bar { background:#ecebe8; border-radius:10px; }
.v2 .demo-progress-row progress::-webkit-progress-value { background:#36a47b; border-radius:10px; }
.v2 .demo-progress-row progress::-moz-progress-bar { background:#36a47b; border-radius:10px; }
.v2 .demo-list { border-top:1px solid var(--v2-line-soft); }
.v2 .demo-list-row { display:flex; gap:12px; align-items:center; min-height:74px; padding:14px 0; border-bottom:1px solid var(--v2-line-soft); }
.v2 .demo-list-row>span:not(.demo-merchant-icon) { flex:1; min-width:0; }
.v2 .demo-list-row strong { font-weight:500; }
.v2 .demo-list-row small,.v2 .demo-itinerary small,.v2 .demo-watch-toggle small { display:block; margin-top:3px; color:var(--v2-muted); font-size:12px; }
.v2 .demo-foot { display:flex; flex-wrap:wrap; gap:8px 16px; margin:16px 0 0; line-height:1.6; }
.v2 .demo-merchant-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#eaf3ef; color:#266a50; flex-shrink:0; }
.v2 .demo-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; margin-top:12px; color:var(--v2-emerald); text-decoration:none; }
.v2 .demo-link svg { border:1px solid transparent; border-radius:50%; box-sizing:content-box; padding:4px; }
.v2 .demo-link:hover svg { border-color:currentColor; }
.v2 .demo-trip-title { display:grid; gap:4px; margin-bottom:18px; }
.v2 .demo-trip-title>strong { font-weight:600; font-size:16px; }
.v2 .demo-trip-title>span { color:var(--v2-muted); font-size:12px; }
.v2 .demo-breakdown { margin:16px 0; }
.v2 .demo-breakdown>div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--v2-line-soft); }
.v2 .demo-breakdown dt { color:var(--v2-muted); }
.v2 .demo-breakdown dd { margin:0; font-weight:500; }
.v2 .demo-itinerary { display:flex; gap:12px; align-items:center; margin-top:20px; }
.v2 .demo-itinerary>span { display:grid; place-items:center; width:28px; height:28px; background:#eaf3ef; color:var(--v2-emerald); border-radius:50%; }
.v2 .demo-watch-toggle { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:16px; padding-top:16px; border-top:1px solid var(--v2-line-soft); }
.v2 [data-demo-watch] { position:relative; display:flex; align-items:center; width:44px; height:44px; padding:3px; border:0; background:transparent; flex-shrink:0; cursor:pointer; }
.v2 [data-demo-watch]::before { content:''; position:absolute; inset:9px 0; border-radius:20px; background:#d4d8d3; }
.v2 [data-demo-watch] span { position:relative; width:20px; height:20px; border-radius:50%; background:#fff; transition:transform 180ms ease-in-out; }
.v2 [data-demo-watch][aria-checked=true]::before { background:var(--v2-emerald); }
.v2 [data-demo-watch][aria-checked=true] span { transform:translateX(18px); }
.v2 .demo-cash-bars { display:flex; align-items:end; height:170px; gap:14px; }
.v2 .demo-cash-bars button { flex:1; display:grid; grid-template-rows:140px auto; gap:8px; padding:0; background:none; border:0; color:var(--v2-muted); font:400 12px 'Inter',sans-serif; cursor:pointer; }
.v2 .demo-bar-pair { display:flex; gap:4px; align-items:end; padding:0 6px; }
.v2 .demo-bar-pair :is(i,b) { flex:1; height:var(--bar); background:#48a079; border-radius:3px 3px 0 0; transform-origin:bottom; animation:preview-bar-grow 700ms ease-out both; }
.v2 .demo-bar-pair b { background:#e69999; }
.v2 .demo-cash-bars button:hover .demo-bar-pair { opacity:1; }
.v2 [data-count-to] { font-variant-numeric:tabular-nums; }
.v2 [data-product-preview=highlights] .product-demo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.v2 [data-product-preview=highlights] [data-demo-chart] svg { width:100%; height:180px; }
.v2 .dashboard-clip { margin:0; min-width:0; }
.v2 .dashboard-clip-frame { position:relative; border:1px solid var(--v2-line); border-radius:20px; overflow:hidden; background:#fff; box-shadow:var(--v2-shadow-sm); }
.v2 .dashboard-clip video { display:block; width:100%; height:auto; aspect-ratio:16 / 9; object-fit:contain; }
.v2 .dashboard-clip [data-video-toggle] { display:block; width:100%; padding:0; cursor:pointer; }
.v2 .dashboard-clip video { border-radius:19px; }
.v2 .product-full-screens { margin-top:32px; border-top:1px solid var(--v2-line); padding-top:20px; }
.v2 .product-full-screens summary { min-height:44px; cursor:pointer; font-weight:500; }
.v2 .product-full-screens .shot-grid { margin-top:20px; }
.v2 .travel-planning-summary { padding:32px; background:#fff; border:1px solid var(--v2-line); border-radius:12px; }
.v2 .travel-planning-summary h3 { font:500 26px/1.3 'Fraunces',serif; margin:12px 0; }
@media(max-width:1000px) { .v2 [data-product-preview=highlights] .product-demo-grid { grid-template-columns:minmax(0,1fr); } }
.v2 .hero-product-demo { min-width:0; }
.v2 [data-product-preview=travel] .product-demo-grid { grid-template-columns:minmax(0,1fr); }
.v2 .hero-product-demo .product-demo-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
.v2 .hero-product-demo .product-demo-body { padding:16px 20px; }
.v2 .hero-product-demo .demo-headline { margin-bottom:12px; }
.v2 .hero-product-demo .demo-progress-row { padding:10px 0; }
.v2 .hero-product-demo [data-demo-kind=networth] [data-demo-chart] { max-height:150px; overflow:hidden; }
@media(max-width:700px) {
 .v2 .product-demo-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .v2 .product-demo-card>header,.v2 .product-demo-body { padding:16px; }
 .v2 .demo-segmented button,.v2 .demo-button { min-height:44px; }
 .v2 .demo-list-row { flex-wrap:wrap; }
 .v2 .demo-list-row .demo-button { margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) { .v2 .demo-chart-line { stroke-dashoffset:0; } }
@media(pointer:coarse) { .v2 .demo-segmented button,.v2 .demo-button { min-height:44px; } }
@media(max-width:380px) {
 .v2 .demo-list-row:has(.demo-button) { display:grid; grid-template-columns:minmax(0,1fr) auto; }
 .v2 .demo-list-row .demo-button { grid-column:1 / -1; justify-self:start; margin-left:0; }
}

/* A short inline loop keeps the page quiet; the full player preserves every screen edge. */
.v2 .product-tour-dialog { width:min(1152px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:16px; border:1px solid var(--v2-line); border-radius:20px; background:var(--v2-cream,#faf9f5); color:var(--v2-ink); overflow:auto; box-shadow:0 24px 100px #001d16aa; }
.v2 .product-tour-dialog::backdrop { background:rgba(4,28,22,.72); }
.v2 .product-tour-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.v2 .product-tour-heading h2 { margin:0; font-family:inherit; font-size:18px; font-weight:600; line-height:1.4; }
.v2 .product-tour-heading button { min-height:44px; flex-shrink:0; }
.v2 .product-tour-dialog video { display:block; width:100%; height:auto; max-height:calc(100dvh - 180px); border-radius:8px; object-fit:contain; background:#fff; }
.v2 .product-tour-dialog > p { font-size:12px; color:var(--v2-muted); margin:12px 0 0; }
.v2 .home-questions { padding-block:56px; }
.v2 .home-questions .container { max-width:850px; }
.v2 .home-questions h2 { font-size:32px; margin:0 0 24px; }
.v2 .home-questions details { border-top:1px solid var(--v2-line); padding:18px 0; }
.v2 .home-questions summary { cursor:pointer; font-weight:600; line-height:1.6; }
.v2 .home-questions details p { color:var(--v2-ink-soft); line-height:1.7; max-width:70ch; margin:12px 0 0; }
@media(max-width:600px) { .v2 .product-tour-dialog { padding:12px; } .v2 .product-tour-heading h2 { font-size:15px; } }

/* Details follow the dashboard: a point cursor and compact dark tooltip. */
.v2 [data-demo-chart] { position:relative; min-width:0; }
.v2 [data-demo-chart] svg { width:100%; height:180px; cursor:crosshair; touch-action:pan-y; }
.v2 [data-chart-marker][hidden] { display:none; }
.v2 .demo-chart-tooltip { position:absolute; top:8px; z-index:1; width:210px; max-width:100%; box-sizing:border-box; padding:12px 14px; border-radius:10px; color:#fff; background:#242624; box-shadow:0 6px 18px #16231c24; pointer-events:none; font-size:12px; line-height:1.5; animation:demo-tip-enter 180ms ease-out; }
.v2 .demo-chart-tooltip[hidden] { display:none; }
.v2 .demo-chart-tip-heading,.v2 .demo-chart-tip-value { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.v2 .demo-chart-tip-heading { min-height:24px; }
.v2 .demo-chart-tip-value { margin-top:6px; font-variant-numeric:tabular-nums; }
.v2 [data-chart-close] { pointer-events:auto; flex-shrink:0; width:44px; height:44px; margin:-8px -10px -8px 0; padding:0; border:0; border-radius:50%; background:transparent; color:#fff; font:400 22px/1 'Inter',sans-serif; cursor:pointer; }
.v2 [data-chart-close]:hover { background:#ffffff1f; }
.v2 [data-demo-benefit-status]:empty { display:none; }
.v2 .product-demo-card :is(button,progress,dd,strong) { font-variant-numeric:tabular-nums; }
.v2 .product-demo-card button:active { transition-duration:0ms; }
.v2 :is(h1,h2,h3) { text-wrap:balance; }
.v2 p { text-wrap:pretty; }
.v2 .product-tour-dialog[open] { animation:demo-dialog-enter 250ms ease-out; }
.v2 .product-tour-dialog[open]::backdrop { animation:demo-backdrop-enter 200ms ease-out; }
@keyframes demo-tip-enter { from { opacity:0; transform:translateY(4px) scale(.95); } to { opacity:1; transform:none; } }
@keyframes demo-dialog-enter { from { opacity:0; transform:translateY(8px) scale(.96); } to { opacity:1; transform:none; } }
@keyframes demo-backdrop-enter { from { opacity:0; } to { opacity:1; } }

.v2 .demo-chart-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

.v2 .fins-hero h1 { font-size:clamp(2.5rem,3.8vw,3.5rem); }
@media(min-width:1001px) { .v2 [data-product-preview=highlights] .product-demo-card>header { min-height:70px; } }

/* Each feature carries one focused example; extra tools and detail stay optional. */
.v2 .feature-section .product-story { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; }
.v2 .feature-reversed .product-story { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
.v2 .feature-reversed .feature-example { grid-column:1; grid-row:1; }
.v2 .feature-reversed .feature-copy { grid-column:2; grid-row:1; }
.v2 .feature-stacked .product-story { grid-template-columns:minmax(0,1fr); gap:32px; }
.v2 .feature-stacked .feature-copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:64px; align-items:start; }
.v2 .feature-stacked .feature-copy h2 { grid-column:1; grid-row:1; }
.v2 .feature-stacked .feature-copy>p { grid-column:1; grid-row:2; margin:0; }
.v2 .feature-stacked .feature-copy .feature-list { grid-column:2; grid-row:1 / 3; margin-top:0; }
.v2 .feature-stacked .feature-example { width:100%; max-width:800px; justify-self:center; }
.v2 .feature-copy h2 { margin-top:0; }
.v2 .feature-copy .feature-list { margin-bottom:0; }
.v2 .feature-example { min-width:0; }
.v2 .feature-example .product-demo-grid { grid-template-columns:minmax(0,1fr); }
.v2 .feature-example-tabs { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:16px; }
.v2 .feature-example-tabs button { min-height:44px; padding:8px 14px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--v2-muted); font:500 13px/1.4 'Inter',sans-serif; cursor:pointer; }
.v2 .feature-example-tabs button[aria-selected=true] { background:#fff; color:var(--v2-ink); border-color:var(--v2-line); box-shadow:var(--v2-shadow-sm); }
.v2 .feature-example-tabs button:active { transform:scale(.97); }
.v2 .feature-details { margin-top:32px; padding-top:16px; border-top:1px solid var(--v2-line); }
.v2 .feature-details summary { display:flex; align-items:center; gap:6px; width:fit-content; min-height:44px; cursor:pointer; color:var(--v2-emerald-d); font-weight:500; list-style:none; }
.v2 .feature-details summary::-webkit-details-marker { display:none; }
.v2 .feature-details summary svg { padding:4px; box-sizing:content-box; border:1px solid transparent; border-radius:50%; transition:transform 180ms ease-out; }
.v2 .feature-details summary:hover svg { border-color:currentColor; }
.v2 .feature-details[open] summary svg { transform:rotate(180deg); }
.v2 .feature-details .grid-3 { margin-top:20px; }
.v2 .feature-anchor { scroll-margin-top:100px; }
.v2 .page-hero .product-plan-line { margin:20px auto 0; max-width:70ch; }
.v2 .demo-assumptions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 24px; font-size:12px; }
.v2 .demo-assumptions dt { color:var(--v2-muted); margin-bottom:4px; }
.v2 .demo-assumptions dd { margin:0; font-weight:500; }
.v2 .demo-slider-label { display:flex; justify-content:space-between; gap:12px; font-weight:500; }
.v2 .demo-slider { display:block; width:100%; min-height:44px; margin:4px 0 16px; accent-color:var(--v2-emerald); cursor:pointer; }
.v2 [data-forecast-chart] svg { width:100%; height:150px; }
.v2 .demo-detail-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 12px; margin-top:20px; font-size:13px; }
.v2 .demo-detail-heading>span { font-size:12px; color:var(--v2-muted); }
.v2 .demo-allocation-rows { display:grid; gap:8px; }
.v2 .demo-allocation-rows button { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:10px 12px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--v2-ink); text-align:left; font:400 13px/1.4 'Inter',sans-serif; cursor:pointer; }
.v2 .demo-allocation-rows button>i { position:absolute; z-index:-1; inset:0 auto 0 0; width:var(--asset-width); background:var(--asset-color); opacity:.16; border-radius:7px; }
.v2 .demo-allocation-rows button>span { display:flex; align-items:center; gap:8px; }
.v2 .demo-allocation-rows b,.v2 .demo-report-legend i { display:inline-block; width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.v2 .demo-report-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:20px; }
.v2 .demo-report-donut { width:100%; height:auto; overflow:visible; }
.v2 .demo-report-donut text { font:400 11px 'Inter',sans-serif; fill:var(--v2-muted); pointer-events:none; }
.v2 .demo-report-donut .demo-donut-total { font-size:16px; font-weight:600; fill:var(--v2-ink); }
.v2 .demo-report-legend { display:grid; gap:4px; }
.v2 .demo-report-legend button { display:flex; align-items:center; gap:8px; min-height:44px; padding:6px 8px; background:transparent; color:var(--v2-ink); border:1px solid transparent; border-radius:8px; text-align:left; font:400 12px/1.4 'Inter',sans-serif; cursor:pointer; }
.v2 .demo-report-legend strong { display:block; margin-top:2px; font-weight:500; }
.v2 .demo-checkup-score { position:relative; display:grid; grid-template-columns:90px 1fr; align-items:center; gap:20px; }
.v2 .demo-checkup-score svg { width:90px; height:90px; }
.v2 .demo-checkup-score>strong { position:absolute; left:0; top:26px; width:90px; text-align:center; font-size:26px; font-weight:600; }
.v2 .demo-checkup-score>div { display:grid; gap:4px; }
.v2 .demo-checkup-score span { color:var(--v2-muted); font-size:12px; }
.v2 .demo-checkup-priorities { margin-top:20px; }
.v2 .demo-checkup-priorities details { border-top:1px solid var(--v2-line-soft); }
.v2 .demo-checkup-priorities summary { display:list-item; padding:14px 0; min-height:44px; cursor:pointer; font-size:13px; }
.v2 .demo-checkup-priorities summary strong { float:right; font-weight:500; margin-left:8px; }
.v2 .demo-checkup-priorities p { margin:0 0 8px; font-size:13px; color:var(--v2-muted); }
.v2 .demo-checkup-priorities .demo-link { margin-top:0; font-size:13px; }
@media(max-width:980px) {
 .v2 .feature-section .product-story { grid-template-columns:minmax(0,1fr); gap:28px; }
 .v2 .feature-reversed :is(.feature-example,.feature-copy) { grid-column:auto; grid-row:auto; }
 .v2 .feature-stacked .feature-copy { display:block; }
 .v2 .feature-stacked .feature-copy .feature-list { margin-top:20px; }
}
@media(max-width:600px) { .v2 .demo-assumptions { grid-template-columns:repeat(2,minmax(0,1fr)); } .v2 .demo-report-layout { gap:12px; } .v2 .feature-example-tabs button { padding-inline:12px; } }
.v2 .demo-report-donut circle { animation:feature-slice-in 700ms ease-out both; }
.v2 .demo-allocation-rows button>i { transform-origin:left; animation:preview-width-grow 700ms ease-out both; }
.v2 .demo-checkup-score svg circle:last-child { animation:feature-score-in 700ms ease-out both; }
@keyframes feature-slice-in { from { stroke-dasharray:0 100; } to { stroke-dasharray:var(--slice-dash); } }
@keyframes feature-score-in { from { stroke-dasharray:0 100; } to { stroke-dasharray:78 100; } }

.v2 .demo-chart-hint { color:var(--v2-muted); font-size:12px; margin:12px 0 0; }
.v2 :is([data-demo-report-details],[data-demo-holdings]) { min-height:132px; }
.v2 .product-demo-card :focus:not(:focus-visible) { outline:none; }
