/* DEV product presentation: split hero, quiet surfaces, and a complete still frame. */
main.wrap{width:min(1520px,calc(100% - 96px))}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:6%;padding-block:66px 76px}
.hero-copy{margin:0;max-width:none;text-align:left}
.hero h1{font-size:clamp(44px,4.15vw,68px);line-height:1.09;letter-spacing:-.055em;max-width:15ch;margin:0 0 28px;text-wrap:balance}
.hero h1 em{color:var(--ink)}
.hero-description{font-size:clamp(19px,1.65vw,23px);line-height:1.65;max-width:44ch;margin:0 0 30px}
.hero .actions{justify-content:flex-start;gap:14px;align-items:center}
.hero .button,.hero .secondary-button{font-size:16px;min-height:56px;padding:15px 20px;border-radius:28px;gap:10px;white-space:nowrap}
.hero .secondary-button{border-color:var(--rule);background:transparent}
.hero .secondary-button:hover{border-color:var(--teal);background:var(--surface)}
.hero .actions svg{width:19px;height:19px;flex-shrink:0;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero .trust-strip{display:grid;grid-template-columns:.8fr 1.25fr 1fr;gap:20px;margin:34px 0 0;padding:26px 0 0;border-top:1px solid var(--rule);font-size:14px;line-height:1.5;justify-content:initial;align-items:start}
.hero .trust-strip li{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;min-width:0;position:relative;align-items:baseline}
.hero .trust-strip li+li:before{display:none}
.hero .trust-strip strong{font-size:17px;line-height:1.3;letter-spacing:-.025em;font-weight:600}
.hero .trust-strip li:first-child strong{font-size:28px;letter-spacing:-.04em;line-height:1}
.hero .trust-strip li>span{color:var(--muted)}
.hero .trust-strip li>svg{position:absolute;left:0;top:0;width:20px;height:20px}
.hero .trust-strip li:last-child{padding-left:25px}
.hero>.motion-story{margin:0;width:100%;max-width:none;padding:28px;border-radius:26px;background:var(--surface);border-color:var(--rule);box-shadow:0 24px 52px #0002}
.hero .motion-heading{margin-bottom:18px;gap:16px}
.preview-dots{display:flex;gap:6px}
.preview-dots i{width:7px;height:7px;border-radius:50%;background:var(--muted)}
.preview-dots i:first-child{background:var(--yellow)}
.preview-dots i:last-child{background:var(--teal)}
.hero .preview-mark{font-size:14px;font-weight:500;letter-spacing:0;color:var(--muted)}
.hero .portfolio-summary{gap:4px;line-height:1.4}
.hero .portfolio-summary>span:first-child{font-size:14px;color:var(--muted)}
.hero .portfolio-summary strong{font-size:clamp(36px,3.7vw,54px);letter-spacing:-.05em;font-weight:650;line-height:1.1}
.hero .period-label{display:none}
.hero .motion-accounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:0;padding:0;margin-top:22px}
.hero .motion-account{display:block;min-width:0;border:1px solid var(--rule);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,var(--teal) 8%);padding:12px;font-size:14px;line-height:1.4}
.hero .motion-account i{width:6px;height:6px;margin-right:4px}
.hero .motion-account strong{font-size:clamp(16px,1.4vw,21px);font-weight:600;margin-top:7px;white-space:nowrap}
.hero .portfolio-plot{border:1px solid var(--rule);border-radius:14px;padding:14px 12px 0;background:var(--paper);margin-top:18px}
.hero .portfolio-plot svg{height:160px;max-height:none}
.hero .plot-grid{stroke:var(--rule);stroke-dasharray:none;opacity:.45}
.hero .plot-line{stroke-width:2.5}
.hero .plot-area{fill-opacity:.055}
.hero .plot-curtain{background:var(--paper)}
.hero .plot-months{font-size:14px;margin:7px 0 18px;padding-inline:4px}
.preview-insight{display:flex;align-items:center;gap:12px;border:1px solid var(--rule);background:color-mix(in srgb,var(--surface) 88%,var(--teal) 12%);border-radius:12px;padding:13px 14px}
.preview-insight>svg{width:23px;height:23px;flex-shrink:0;stroke:var(--teal);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.preview-insight p{font-size:14px;line-height:1.5;margin:0;min-width:0}
.preview-insight strong{font-weight:600;color:var(--ink);display:block;margin-bottom:2px}
.preview-insight span{color:var(--muted)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.demo-invitation{padding:26px 30px;border-radius:18px;background:var(--surface);margin-bottom:10px}
.feature-showcase{gap:8%;padding-block:76px;min-height:460px}
.showcase-copy h2{font-size:clamp(34px,3.5vw,48px);font-weight:600;line-height:1.13;letter-spacing:-.045em;margin-bottom:22px;max-width:20ch}
.showcase-copy>p:not(.eyebrow){font-size:19px;line-height:1.7;max-width:42ch}
.showcase-copy .eyebrow{font-size:14px;margin-bottom:16px;letter-spacing:.12em}
.showcase-art,.feature-showcase .product-example{padding:32px;border-radius:24px;border-color:var(--rule);background:var(--surface);box-shadow:none}
.showcase-art figcaption,.feature-showcase figcaption{font-size:18px;font-weight:600}
.section-heading h2,.start-layout h2,.faq-layout h2{font-size:clamp(32px,3.1vw,44px);font-weight:600;max-width:23ch}
.recap-grid{gap:20px}
.recap-grid>li{padding:28px;border-radius:20px;background:var(--surface)}
.recap-grid h3{font-size:19px;font-weight:600}
.recap-grid p{font-size:17px;line-height:1.6}
.tool-sketch{height:185px;background:var(--surface);border-radius:20px;padding:24px}
.product-tools h3{font-size:20px;font-weight:600}
.product-tools article>p{font-size:17px}
.closing{padding:40px;border-radius:24px}
@media(min-width:1700px){main.wrap{width:calc(100% - 144px);max-width:1640px}.hero{gap:7%;padding-block:76px 90px}.hero h1{font-size:76px}.hero-description{font-size:24px}.hero>.motion-story{padding:28px}.hero .button,.hero .secondary-button{font-size:17px;padding-inline:25px}.hero .trust-strip{margin-top:40px;padding-top:30px}.feature-showcase{padding-block:88px}}
@media(max-width:1180px){main.wrap{width:calc(100% - 64px)}.hero{gap:4%;padding-block:48px 58px}.hero h1{font-size:clamp(39px,4.8vw,55px)}.hero-description{font-size:19px}.hero>.motion-story{padding:22px}.hero .button,.hero .secondary-button{font-size:15px;padding-inline:16px;min-height:52px}.hero .actions{gap:10px}.hero .trust-strip{gap:12px;grid-template-columns:.85fr 1.3fr 1fr}.hero .trust-strip strong{font-size:15px}.hero .trust-strip li:first-child strong{font-size:24px}.hero .motion-account{padding:12px 9px;font-size:14px}.hero .motion-account strong{font-size:17px}.feature-showcase{padding-block:60px;min-height:420px}.showcase-copy>p:not(.eyebrow){font-size:18px}.showcase-art,.feature-showcase .product-example{padding:28px}}
@media(max-width:950px){.hero{grid-template-columns:minmax(0,1fr);gap:38px;padding-block:42px 48px}.hero-copy{max-width:690px}.hero h1{max-width:18ch;font-size:clamp(42px,6.2vw,58px)}.hero-description{max-width:46ch;font-size:20px}.hero .trust-strip{max-width:620px;grid-template-columns:1fr 1.2fr 1fr}.hero .trust-strip strong{font-size:17px}.hero .trust-strip li:first-child strong{font-size:28px}.hero>.motion-story{max-width:680px;justify-self:center;padding:28px}.hero .portfolio-summary strong{font-size:48px}.hero .motion-account strong{font-size:21px}.hero .portfolio-plot svg{max-height:220px}.feature-showcase{grid-template-columns:minmax(0,1fr);gap:30px;padding-block:48px;min-height:0}.feature-showcase.is-reversed .showcase-copy,.feature-showcase.is-reversed>figure{order:initial}.showcase-copy h2{max-width:23ch}.showcase-copy>p:not(.eyebrow){max-width:50ch}.showcase-art,.feature-showcase .product-example{width:100%;max-width:680px;justify-self:center}.start-layout,.faq-layout{gap:5%}}
@media(max-width:680px){main.wrap{width:calc(100% - 36px)}.hero{padding-block:34px 36px;gap:30px}.hero h1{font-size:clamp(38px,8.5vw,52px);line-height:1.1;max-width:16ch;margin-bottom:22px}.hero-description{font-size:18px;line-height:1.65;margin-bottom:25px}.hero .actions{flex-direction:row;align-items:stretch;gap:10px}.hero .button,.hero .secondary-button{font-size:15px;min-height:52px;padding:14px 17px;justify-content:center}.hero .trust-strip{grid-template-columns:.85fr 1.2fr 1fr;gap:12px;margin-top:26px;padding-top:22px;font-size:14px}.hero .trust-strip strong{font-size:14px;line-height:1.45}.hero .trust-strip li:first-child strong{font-size:25px;line-height:1.1}.hero .trust-strip li:last-child{padding-left:0}.hero .trust-strip li>svg{display:none}.hero>.motion-story{padding:22px 18px;border-radius:22px}.hero .motion-heading{margin-bottom:22px}.hero .portfolio-summary strong{font-size:42px}.hero .motion-accounts{gap:8px;margin-top:20px}.hero .motion-account{font-size:14px;padding:11px 8px;border-radius:10px}.hero .motion-account i{display:none}.hero .motion-account strong{font-size:16px;margin-top:5px}.hero .portfolio-plot{padding:10px 8px 0}.hero .portfolio-plot svg{max-height:180px}.hero .plot-months{margin-bottom:16px}.preview-insight{padding:12px;gap:10px}.demo-invitation{padding:23px;border-radius:18px;gap:18px;margin-bottom:0}.demo-invitation h2{font-size:25px}.demo-invitation .button{width:100%}.feature-showcase{padding-block:40px;gap:25px}.showcase-copy h2{font-size:34px;margin-bottom:18px}.showcase-copy>p:not(.eyebrow){font-size:18px}.showcase-art,.feature-showcase .product-example{padding:24px 20px;border-radius:20px}.recap-grid>li{padding:24px}.closing{padding:28px 24px}.product-tools h3{font-size:20px}.section-heading h2,.start-layout h2,.faq-layout h2{font-size:32px}}
@media(max-width:380px){.hero .actions{flex-direction:column}.hero h1{font-size:37px}.hero .trust-strip{grid-template-columns:minmax(0,1fr);gap:14px}.hero .trust-strip li{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:4px 12px}.hero .trust-strip li:first-child strong{white-space:nowrap}.hero .motion-account{font-size:14px;padding-inline:7px}.hero .motion-account strong{font-size:15px}.hero>.motion-story{padding-inline:15px}}
@media(prefers-reduced-motion:reduce){.hero *{animation:none!important;transition:none!important}}

/* Recognizable product previews: real concepts, readable figures, no fake controls. */
.product-tools>article{display:flex;flex-direction:column}
.product-tools>article>.solution-inline-link{margin-top:auto;padding-top:14px}
.tool-sketch.product-preview{height:410px;min-width:0;margin:0;padding:22px;display:flex;flex-direction:column;gap:14px;text-align:left;color:var(--ink);font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums}
.product-tools .product-preview{flex-shrink:0;width:100%}
.product-preview figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;font-size:14px;line-height:1.4}
.product-preview figcaption strong{font-size:15px;font-weight:600;letter-spacing:-.02em}
.product-preview figcaption>span{color:var(--muted);font-size:13px;white-space:nowrap}
.product-preview dt,.product-preview dd{margin:0}
.preview-spending{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.preview-spending>span{color:var(--muted)}
.preview-spending>strong{font-size:29px;line-height:1.1;letter-spacing:-.04em;font-weight:600;white-space:nowrap}
.preview-categories{display:grid;gap:7px;margin:0}
.preview-categories>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}
.preview-categories>div:after{content:"";grid-column:1/-1;display:block;width:var(--category-share);height:5px;background:var(--teal);border-radius:3px}
.preview-categories>div:nth-child(2):after{background:var(--chart-gold,var(--yellow))}
.preview-categories>div:nth-child(3):after{background:var(--chart-blue,#94adc7)}
.preview-categories>div:nth-child(4):after{background:var(--chart-other,#809288)}
.preview-categories dt{color:var(--muted)}
.preview-categories dd{font-weight:550;white-space:nowrap}
.preview-contributions,.preview-learning-progress{margin-top:auto;border-top:1px solid var(--rule);padding-top:13px}
.preview-contributions>div:first-child,.preview-learning-progress>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px}
.preview-contributions strong,.preview-learning-progress strong{font-size:14px;font-weight:600;white-space:nowrap}
.preview-contributions strong>span{color:var(--muted);font-weight:400}
.preview-progress{height:5px;background:var(--rule);border-radius:5px;margin-top:10px;overflow:hidden}
.preview-progress>span{display:block;width:50%;height:100%;background:var(--teal);border-radius:inherit}
.preview-fire-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.preview-fire-inputs>div{border:1px solid var(--rule);border-radius:10px;padding:11px 12px;min-width:0;background:var(--paper)}
.preview-fire-inputs dt{color:var(--muted);font-size:13px;margin-bottom:6px}
.preview-fire-inputs dd{font-size:20px;letter-spacing:-.03em;font-weight:600;white-space:nowrap}
.preview-fire-target{display:flex;justify-content:space-between;align-items:center;gap:12px}
.preview-fire-target>span{font-weight:550}
.preview-fire-target small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:4px}
.preview-fire-target strong{font-size:29px;font-weight:600;letter-spacing:-.04em;white-space:nowrap}
.preview-fire-chart{min-height:0;flex:1;display:flex;flex-direction:column;justify-content:flex-end}
.preview-fire-chart svg{display:block;width:100%;height:85px;overflow:visible}
.preview-fire-chart path{stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.preview-fire-chart .preview-chart-grid{stroke:var(--rule);stroke-width:1}
.preview-fire-chart .preview-target-line{stroke:var(--chart-gold,var(--yellow));stroke-width:1.5;stroke-dasharray:4 5}
.preview-fire-chart .preview-scenario-low{stroke:var(--chart-blue,#94adc7)}
.preview-fire-chart .preview-scenario-high{stroke:var(--chart-other,#809288)}
.preview-fire-chart .preview-scenario-main{stroke:var(--teal);stroke-width:2.5}
.preview-fire-chart>div{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:7px}
.product-preview .preview-caption{font-size:12px;line-height:1.4;color:var(--muted);margin:0}
.preview-lesson{display:flex;align-items:center;gap:12px;min-width:0}
.preview-lesson-icon{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:44px;border-radius:9px;background:var(--icon-surface,var(--rule));color:var(--teal)}
.preview-lesson-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.preview-lesson>div{min-width:0}
.preview-lesson>div>span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.preview-lesson strong{display:block;font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.025em}
.preview-quiz{background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:14px 16px}
.preview-quiz>span{font-size:12px;color:var(--muted)}
.preview-quiz p{font-size:14px;line-height:1.45;margin:8px 0 12px}
.preview-quiz>div{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--teal)}
.preview-quiz strong{font-weight:550}
.preview-answer-check{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none}
.preview-answer-check svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.solution-visual .tool-sketch.product-preview{height:410px;max-width:560px;padding:24px;margin-inline:auto}
.solution-visual .product-preview figcaption{font-size:14px!important}
.solution-visual .product-preview figcaption>span{font-size:13px!important;margin:0}
@media(min-width:801px) and (max-width:1100px){.tool-sketch.product-preview{padding:18px;gap:14px;height:430px}.product-preview figcaption{align-items:flex-start;flex-direction:column;gap:4px}.preview-lesson strong{font-size:18px}.preview-fire-inputs{gap:8px}.preview-fire-inputs>div{padding:10px}.preview-fire-inputs dd{font-size:18px}.preview-contributions>div:first-child,.preview-learning-progress>div:first-child{flex-wrap:wrap;gap:4px 8px}}
@media(max-width:800px){.tool-sketch.product-preview{height:410px;max-width:560px;margin-inline:auto}.product-tools h3,.product-tools article>p,.product-tools article>.solution-inline-link{max-width:560px;margin-inline:auto}.product-tools h3,.product-tools article>p{width:100%}.product-tools article>.solution-inline-link{display:flex;width:max-content;margin-left:max(0px,calc((100% - 560px)/2))}}
@media(max-width:380px){.tool-sketch.product-preview,.solution-visual .tool-sketch.product-preview{padding:18px;gap:14px;height:430px}.product-preview figcaption{flex-direction:column;gap:3px}.preview-lesson strong{font-size:18px}.preview-fire-inputs{gap:8px}.preview-fire-inputs>div{padding:10px}.preview-fire-inputs dd{font-size:18px}.preview-contributions>div:first-child,.preview-learning-progress>div:first-child{flex-wrap:wrap;gap:4px 8px}}
/* Show the estimated payment for every illustrated month, not just a bar. */
.income-example .income-bars{height:168px;gap:clamp(8px,1.2vw,16px);margin-top:28px}
.income-example .income-amount{position:absolute;bottom:calc(var(--bar) + 8px);width:100%;text-align:center;white-space:nowrap;color:var(--ink);font-size:14px;font-weight:550;line-height:1.3;font-variant-numeric:tabular-nums}
.income-period-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-top:1px solid var(--rule);padding-top:18px;font-size:15px;color:var(--ink)}
.income-period-total strong{font-size:22px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.income-period-total+.income-next{padding-top:8px}
@media(max-width:480px){.income-example .income-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto;gap:42px 16px;border-bottom:0;margin-block:28px 32px}.income-example .income-bars>div{height:130px;border-bottom:1px solid var(--rule)}}
/* A single lightweight row; the second copy only joins the seamless animation. */
.asset-marquee{display:flex;align-items:center;gap:16px;position:relative;min-width:0;border-block:1px solid var(--rule);padding-block:18px;margin-bottom:40px}
.asset-marquee-symbols{position:absolute;width:0;height:0;overflow:hidden}
.asset-marquee-window{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-block:6px}
.asset-marquee-track{display:flex;width:max-content}
.asset-marquee-group{list-style:none;display:flex;align-items:center;flex-shrink:0;gap:12px;width:max-content;min-width:1680px;margin:0;padding:0 12px 0 0}
.asset-marquee-group[aria-hidden=true]{display:none}
.asset-marquee-group>li{display:flex;align-items:center;gap:10px;white-space:nowrap;padding:12px 22px;border:1px solid var(--rule);border-radius:999px;background:var(--surface);font-size:17px;font-weight:500;color:var(--ink)}
.asset-marquee-group>li>svg{width:21px;height:21px;flex:none;fill:none;stroke:var(--teal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.asset-marquee-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid var(--rule);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer}
.asset-marquee-toggle[hidden],.marquee-icon-play{display:none}
.asset-marquee-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.asset-marquee.is-paused .marquee-icon-pause{display:none}
.asset-marquee.is-paused .marquee-icon-play{display:block}
.asset-marquee-window:focus-visible,.asset-marquee-toggle:focus-visible{outline:2px solid var(--focus-ring,var(--teal));outline-offset:3px}
@keyframes asset-marquee-drift{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:no-preference){.asset-marquee.is-enhanced .asset-marquee-window{overflow:hidden}.asset-marquee.is-enhanced .asset-marquee-group[aria-hidden=true]{display:flex}.asset-marquee.is-enhanced .asset-marquee-track{animation:asset-marquee-drift 46s linear infinite;animation-play-state:paused}.asset-marquee.is-running .asset-marquee-track{animation-play-state:running}.asset-marquee-window:hover .asset-marquee-track,.asset-marquee-window:focus-within .asset-marquee-track{animation-play-state:paused}}
@media(max-width:680px){.asset-marquee{margin-bottom:28px;padding-block:12px;gap:10px}.asset-marquee-group>li{font-size:16px;padding:11px 18px}}
/* The account carousel belongs inside the dashboard preview, above its chart. */
/* The same dashboard preview is reused on the Accounts solution page. */
.asset-marquee--hero{border:0;padding:0;margin:22px 0 0;gap:10px}
.asset-marquee--hero .asset-marquee-window{padding-block:0;border-radius:14px}
.asset-marquee--hero .asset-marquee-group{min-width:0;gap:10px;padding-right:10px;align-items:stretch}
.asset-marquee--hero .asset-marquee-group>li{display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:1fr auto;align-items:start;gap:5px 8px;flex:none;width:180px;height:98px;padding:13px;border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,var(--teal) 8%);white-space:normal;font-size:14px;line-height:1.3}
.asset-marquee--hero .asset-account-label{color:var(--muted);min-width:0}
.asset-marquee--hero .asset-account-value{grid-column:1/-1;color:var(--ink);font-size:22px;font-weight:600;line-height:1.2;letter-spacing:-.025em;white-space:nowrap;font-variant-numeric:tabular-nums}
.asset-marquee--hero .asset-marquee-group>li>svg{width:18px;height:18px}
.asset-marquee--hero [data-debt]>svg{stroke:var(--chart-gold,var(--yellow))}
.asset-marquee--hero .asset-marquee-toggle{background:transparent;border-color:var(--rule)}
@media(max-width:680px){.asset-marquee--hero{margin-top:20px;gap:8px}.asset-marquee--hero .asset-marquee-group>li{width:160px;height:94px;padding:12px}.asset-marquee--hero .asset-account-value{font-size:20px}}
@media print{.asset-marquee-toggle,.asset-marquee-group[aria-hidden=true]{display:none!important}.asset-marquee-window{overflow:visible!important}.asset-marquee-track{animation:none!important;transform:none!important;width:100%}.asset-marquee-group{flex-wrap:wrap;min-width:0;width:100%}}
