/* APEX Free Tools — quiet editorial Investment Mode experience. All colors from APEX tokens. */
/* Main now ships its approved public-site tokens without landing-v2.css.
   Bridge the existing tools selectors locally; no stylesheet reaches the SPA
   or changes newsletter markup, submission code, or availability. */
:where(.ft-workbench,.ft-hub,.ft-letter,.ft-pagehero){--lp-line:var(--border);--lp-ink:var(--dark);--lp-ink-2:var(--body);--lp-accent:var(--indigo);--lp-accent-fill:var(--indigo);--lp-accent-soft:var(--light-indigo);--lp-accent-line:var(--border);--lp-surface:white;--lp-canvas:var(--pale);--lp-on-accent:white;--lp-max:1200px;--lp-gutter:clamp(20px,5vw,72px);--font-body:var(--font);--font-display:var(--font);--font-num:var(--font)}
.ap-site .ft-pagehero{padding:40px 0 12px}
.ap-site .ft-pagehero h1{max-width:24ch;font-size:clamp(32px,4vw,52px);letter-spacing:-.045em}
.ap-site .ft-pagehero .lead{margin:18px 0 0;font-size:18px;max-width:55ch}
.ft-workbench,.ft-hub,.ft-letter{--ft-border:var(--lp-line);--ft-fg:var(--lp-ink);--ft-muted:var(--lp-ink-2);--ft-accent:var(--lp-accent);--ft-surface:var(--lp-surface);--ft-bg:var(--lp-canvas);color:var(--ft-fg);font-family:var(--font-body)}
.ft-workbench-wrap,.ft-hub-wrap,.ft-letter-wrap{width:min(var(--lp-max),100%);padding:42px var(--lp-gutter) 100px;margin:auto;box-sizing:border-box}
.ft-overline,.ft-section-label,.ft-insight-kicker,.ft-understanding-label{font-size:11px;font-weight:720;letter-spacing:.13em;text-transform:uppercase;color:var(--ft-muted)}
.ft-overline{display:flex;align-items:center;gap:10px}
.ft-pin{width:7px;height:7px;background:var(--ft-accent);border-radius:50%;display:inline-block}
.ft-trust{display:flex;gap:9px 22px;flex-wrap:wrap;font-size:12px;color:var(--ft-muted)}
.ft-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.ft-field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:640;color:var(--ft-fg);min-width:0}
.ft-field input,.ft-field select,.ft-newsletter input[type=email]{font:500 15px var(--font-body);min-width:0;width:100%;box-sizing:border-box;padding:14px 13px;border:1px solid var(--ft-border);background:var(--ft-bg);color:var(--ft-fg);border-radius:9px;min-height:48px;transition:border-color .18s,box-shadow .18s}
.ft-field input:focus,.ft-field select:focus,.ft-newsletter input[type=email]:focus{outline:0;border-color:var(--ft-accent);box-shadow:0 0 0 3px var(--lp-accent-soft)}
.ft-field input:invalid:not(:focus):not(:placeholder-shown){box-shadow:none}
.ft-field small,.ft-note{font-size:12px;color:var(--ft-muted);line-height:1.55}
.ft-action{border:0;background:var(--lp-accent-fill);color:var(--lp-on-accent);padding:15px 23px;min-height:48px;font:700 14px var(--font-body);border-radius:10px;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}
.ft-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 9px 24px color-mix(in srgb,var(--lp-accent) 20%,transparent)}
.ft-action:active:not(:disabled){transform:translateY(0)}
.ft-action:disabled{opacity:.55;cursor:not-allowed}
.ft-reset,.ft-secondary,.ft-copy-btn{border:1px solid var(--ft-border);background:transparent;color:var(--ft-muted);font:600 13px var(--font-body);border-radius:8px;min-height:40px;padding:8px 13px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.ft-reset{border:0;padding-left:0}.ft-reset:hover,.ft-secondary:hover,.ft-copy-btn:hover{color:var(--ft-fg);background:var(--lp-accent-soft)}
.ft-copy-btn:disabled{opacity:.4;cursor:not-allowed}
.ft-hub-lead{max-width:820px}.ft-hub-lead h2{font-family:var(--font-display);font-size:clamp(31px,5.1vw,64px);line-height:1.08;letter-spacing:-.055em;max-width:840px;margin:16px 0 20px}
.ft-hub-lead>p:last-of-type{max-width:620px;line-height:1.7;color:var(--ft-muted);font-size:16px}
.ft-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:46px}
.ft-hub-card{position:relative;display:flex;min-height:235px;flex-direction:column;padding:29px;border:1px solid var(--ft-border);border-radius:15px;background:var(--ft-surface);color:var(--ft-fg);text-decoration:none;overflow:hidden;transition:border-color .25s,transform .3s,box-shadow .3s}
.ft-hub-card:hover{transform:translateY(-5px);border-color:var(--lp-accent-line);box-shadow:0 16px 40px color-mix(in srgb,var(--lp-ink) 8%,transparent)}
.ft-hub-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.ft-hub-icon{display:grid;place-items:center;width:43px;height:43px;background:var(--lp-accent-soft);color:var(--ft-accent);border-radius:10px;font:700 21px var(--font-num)}
.ft-hub-num{color:var(--ft-muted);font:600 12px var(--font-num)}
.ft-hub-card h3{font-size:clamp(19px,2.3vw,27px);font-family:var(--font-display);letter-spacing:-.04em;margin:26px 0 8px}
.ft-hub-card p{color:var(--ft-muted);font-size:14px;line-height:1.65;max-width:45ch;margin:0 0 28px}
.ft-hub-link{margin-top:auto;font-size:13px;font-weight:700;color:var(--ft-accent)}
.ft-hub-note{border-top:1px solid var(--ft-border);margin-top:55px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;color:var(--ft-muted);font-size:13px;line-height:1.7}
.ft-letter-wrap{max-width:1050px}.ft-letter-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:32px;align-items:start}
.ft-letter-intro h2{font-family:var(--font-display);font-size:clamp(31px,4.3vw,52px);letter-spacing:-.055em;line-height:1.1;margin:18px 0 22px}
.ft-letter-intro p{line-height:1.75;color:var(--ft-muted);max-width:54ch}
.ft-letter-sample{border:1px solid var(--ft-border);background:var(--ft-surface);border-radius:14px;padding:32px;box-shadow:0 14px 55px color-mix(in srgb,var(--ft-fg) 5%,transparent)}
.ft-letter-sample h3{font-size:27px;letter-spacing:-.035em;line-height:1.2;margin:17px 0 24px}
.ft-letter-sample p{line-height:1.65;color:var(--ft-muted);font-size:14px}
.ft-letter-sample ul{padding-left:18px;line-height:2;font-size:14px}
.ft-letter-sample li{padding:5px 0;border-bottom:1px solid var(--ft-border)}
.ft-newsletter{display:grid;gap:16px;padding:30px;border:1px solid var(--ft-border);background:var(--ft-surface);border-radius:14px;margin-top:40px}
.ft-newsletter h2{font-size:23px;margin:0}
.ft-newsletter>label:not(.ft-field){display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.6}
.ft-newsletter input[type=checkbox]{margin-top:5px;accent-color:var(--ft-accent)}
.ft-newsletter [role=status]{min-height:20px;font-size:13px;color:var(--ft-muted);line-height:1.6}
.ft-privacy{font-size:12px;line-height:1.6;color:var(--ft-muted);margin:0}
.ft-newsletter .ft-action{justify-self:start}
.ft-copy{color:var(--ft-muted);line-height:1.65;margin:0}
.ft-hub,.ft-letter{min-height:65vh}
@media(max-width:960px){.ft-letter-grid{grid-template-columns:1fr}}
@media(max-width:630px){.ft-hub-grid{grid-template-columns:1fr}.ft-hub-card{min-height:210px}.ft-hub-note{flex-direction:column}.ft-workbench-wrap,.ft-hub-wrap,.ft-letter-wrap{padding-top:22px;padding-bottom:68px}}
@media(prefers-reduced-motion:reduce){.ft-hub-card,.ft-action{transition:none}}

/* Calculator workspace: one question, immediate result, optional depth. */
.lp-page:has(.ft-workbench) .lp-pagehero{padding:28px 0 24px;background:var(--lp-canvas)}
.lp-page:has(.ft-workbench) .lp-pagehero-title{max-width:1000px;font-size:clamp(28px,3.2vw,46px);line-height:1.1;letter-spacing:-.045em;margin:10px 0 12px}
.lp-page:has(.ft-workbench) .lp-eyebrow{display:none}
.lp-page:has(.ft-workbench) .lp-lede{font-size:20px;margin:0;line-height:1.4}
.ft-workbench-wrap{padding-top:0}
.ft-workbench-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px;align-items:start}
.ft-panel,.ft-result-shell{min-width:0;padding:clamp(18px,2.4vw,30px);border:1px solid var(--ft-border);border-radius:16px;background:var(--ft-surface)}
.ft-result-shell{border-top:3px solid var(--ft-accent)}
.ft-stephead{margin-bottom:20px}
.ft-stephead h2{font-size:19px;line-height:1.25;margin:0 0 8px;letter-spacing:-.025em}
.ft-stephead p{font-size:13px;line-height:1.5;color:var(--ft-muted);margin:0}
.ft-form{display:grid;gap:16px}
.ft-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ft-workbench .ft-field input,.ft-workbench .ft-field select{background:var(--ft-surface);font-variant-numeric:tabular-nums;font-size:16px;padding:12px;min-height:46px}
.ft-workbench .ft-field small{font-weight:400}
.ft-workbench :is(button,a,summary,input,select):focus-visible{outline:2px solid var(--ft-accent);outline-offset:3px}
.ft-workbench :is(button,summary){min-height:44px}
.ft-options{padding:14px 0;border-top:1px solid var(--ft-border);font-size:14px}
.ft-options summary,.ft-row-options summary,.ft-chart-details summary,.ft-edu-details summary{cursor:pointer;color:var(--ft-accent);font-weight:600;padding:8px 0;line-height:1.45}
.ft-options .ft-field{margin-top:14px}
.ft-row-options{grid-column:1/-1;font-size:12px}
.ft-row-options .ft-field{max-width:200px}
.ft-form-error{font-size:13px;line-height:1.5;color:var(--ft-fg);margin:0}
.ft-form-error:empty{display:none}
.ft-workbench [aria-invalid=true]{border-color:#b83e52}
.ft-result-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;color:var(--ft-muted);padding:9px 0;border-bottom:1px solid var(--ft-border)}
.ft-result-item strong{font:650 19px var(--font-num);font-variant-numeric:tabular-nums;color:var(--ft-fg);text-align:right;overflow-wrap:anywhere}
.ft-result-item:first-child{display:block;padding:0 0 18px;margin-bottom:5px}
.ft-result-item:first-child span{display:block;margin-bottom:8px}
.ft-result-item:first-child strong{display:block;font-size:clamp(30px,3.6vw,50px);letter-spacing:-.05em;text-align:left;line-height:1.12}
.ft-result.is-updating .ft-result-item:first-child strong{animation:ft-value-in .18s ease-out}
.ft-result-insight{margin-top:18px;padding-left:14px;border-left:2px solid var(--ft-accent)}
.ft-result-insight p{font-size:13px;line-height:1.65;margin:0;color:var(--ft-muted)}
.ft-result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px;font-size:12px}
.ft-copy-btn:disabled{opacity:.5;cursor:not-allowed}
.ft-purchases{display:grid;gap:14px}
.ft-purchase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 44px;gap:8px;align-items:end;padding-bottom:10px;border-bottom:1px solid var(--ft-border)}
.ft-purchase .ft-row-options{grid-row:2}
.ft-purchase .ft-secondary{grid-column:3;grid-row:1}
.ft-term-presets{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;align-items:center;color:var(--ft-muted)}
.ft-term-presets>div{display:flex;flex-wrap:wrap;gap:4px}
.ft-term-presets button{font:600 12px var(--font-body);padding:8px 10px;border:1px solid var(--ft-border);border-radius:8px;background:var(--ft-surface);color:var(--ft-fg);cursor:pointer}
.ft-term-presets button[aria-pressed=true]{background:var(--ft-accent);color:var(--lp-on-accent)}
.ft-chart-section{padding-top:20px}
.ft-chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ft-muted)}
.ft-chart-legend span{display:flex;align-items:center;gap:7px}
.ft-chart-dot{display:inline-block;width:16px;height:3px;background:var(--ft-accent)}
.ft-chart-dot.is-muted{background:var(--ft-muted)}
.ft-chart-canvas{margin:12px 0 0;max-width:100%}
.ft-chart-canvas svg{display:block;width:100%;height:auto;touch-action:pan-y}
.ft-chart-tooltip{font:500 12px/1.5 var(--font-num);min-height:18px}
.ft-chart-reading,.ft-chart-milestone{font-size:12px;line-height:1.6;color:var(--ft-muted);margin:8px 0}
.ft-chart-details,.ft-edu-details{font-size:13px}
.ft-table-scroll{overflow-x:auto;max-width:100%;margin:12px 0}
.ft-table-scroll table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}
.ft-table-scroll th,.ft-table-scroll td{padding:9px 6px;border-bottom:1px solid var(--ft-border);text-align:left}
.ft-signature-content{padding-top:22px;min-width:0}
.ft-viz-head{margin-bottom:18px}
.ft-viz-head h3{font-size:17px;letter-spacing:-.02em;margin:0 0 6px}
.ft-viz-head p,.ft-viz-note{font-size:12px;line-height:1.6;color:var(--ft-muted);margin:8px 0}
.ft-cost-track{position:relative;height:125px;margin:35px 12px 0;border-bottom:2px solid var(--ft-border);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),var(--ft-border) calc(25% - 1px),var(--ft-border) 25%)}
.ft-cost-point{position:absolute;width:16px;height:16px;border:2px solid var(--ft-accent);background:var(--lp-accent-soft);border-radius:50%;transform:translateX(-50%)}
.ft-cost-average{position:absolute;top:-15px;bottom:0;border-left:2px dashed var(--ft-accent)}
.ft-cost-average span{position:absolute;top:-12px;right:0;background:var(--ft-surface);font-size:12px;white-space:nowrap;padding:3px 5px}
.ft-cost-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--ft-muted);padding:10px 0}
.ft-whatif{margin-top:12px;padding:12px 0;border-top:1px solid var(--ft-border)}
.ft-whatif summary{font-size:14px;font-weight:600;color:var(--ft-accent);cursor:pointer;padding:8px 0}
.ft-whatif-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.ft-vstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.ft-vstat{display:flex;flex-direction:column;gap:6px;min-width:0}
.ft-vstat span{font-size:12px;line-height:1.5;color:var(--ft-muted)}
.ft-vstat strong{font:650 18px var(--font-num);overflow-wrap:anywhere}
.ft-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;align-items:end;margin:18px 0}
.ft-month{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.ft-month-meter{height:95px;width:100%;background:var(--lp-accent-soft);border-radius:5px 5px 0 0;display:flex;align-items:end;overflow:hidden}
.ft-month-fill{width:100%;background:var(--ft-border)}
.ft-month.is-payment .ft-month-fill{background:var(--ft-accent)}
.ft-month-name{font-size:12px;color:var(--ft-muted)}
.ft-dividend-track{height:9px;display:flex;overflow:hidden;border-radius:9px;margin:16px 0}
.ft-dividend-net{background:var(--ft-accent)}
.ft-dividend-withheld{background:var(--ft-border)}
.ft-risk-track{position:relative;margin:28px 12px 42px;height:110px}
.ft-risk-line{position:absolute;top:45px;left:0;right:0;height:8px;border:1px solid var(--ft-border);background:var(--lp-accent-soft);border-radius:8px}
.ft-risk-level{position:absolute;top:50px;transform:translateX(-50%);border-left:2px solid var(--ft-fg);height:40px;padding-left:6px;display:flex;flex-direction:column;gap:5px}
.ft-risk-level-name{font-size:12px;color:var(--ft-muted);white-space:nowrap}
.ft-risk-level strong{font:600 13px var(--font-num);white-space:nowrap}
.ft-risk-level.is-stop{border-color:#b83e52}
.ft-risk-level.is-target{border-color:#26745b}
.ft-risk-level.is-entry{top:0;height:45px;border-color:var(--ft-accent)}
.ft-risk-level[style*="left: 100%"]{transform:translateX(-100%);align-items:end;padding-right:6px;padding-left:0}
.ft-risk-level[style*="left: 0%"]{transform:translateX(0)}
.ft-payoff{height:10px;display:flex;justify-content:center;margin:18px 0}
.ft-payoff-loss{background:#b83e52;border-radius:6px 0 0 6px}
.ft-payoff-reward{background:#26745b;border-radius:0 6px 6px 0}
.ft-payoff-reward.is-negative{background:#b83e52}
.ft-assets{margin-top:28px}
.ft-asset-picker-area{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:18px 0}
.ft-asset-left,.ft-asset-evidence,.ft-asset-takeaway{min-width:0}
.ft-asset-takeaway{grid-column:1/-1}
.ft-asset-kicker{font-size:12px;color:var(--ft-muted)}
.ft-asset-evidence>strong{display:block;font-size:13px;margin:8px 0 16px}
.ft-asset-metrics{display:flex;flex-direction:column;gap:12px;font-size:13px}
.ft-asset-metrics strong{display:block;font:650 24px var(--font-num);margin-top:8px}
.ft-asset-chips{display:flex;flex-wrap:wrap;gap:7px}
.ft-asset-chips button{font:600 12px var(--font-body);padding:8px 12px;border:1px solid var(--ft-border);background:var(--ft-surface);border-radius:8px;cursor:pointer;color:var(--ft-fg)}
.ft-asset-chips button[aria-pressed=true]{background:var(--lp-accent-soft);border-color:var(--ft-accent)}
.ft-asset-spark svg{width:100%;height:auto;max-height:140px}
.ft-assets p,.ft-asset-source{font-size:13px;line-height:1.65;color:var(--ft-muted)}
.ft-asset-takeaway details{margin-top:16px;font-size:13px}
.ft-education,.ft-understanding{padding:36px 0;border-bottom:1px solid var(--ft-border)}
.ft-education h2,.ft-understanding h2{font:650 25px/1.25 var(--font-display);letter-spacing:-.03em;margin:0 0 14px}
.ft-education h3{font-size:16px}
.ft-education p,.ft-understanding p{font-size:14px;line-height:1.75;color:var(--ft-muted);max-width:80ch}
.ft-edu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ft-understanding-stack{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ft-understanding-label{font-size:12px;font-weight:600;color:var(--ft-muted)}
.ft-more{padding:30px 0}
.ft-more h2{font-size:17px;margin:0 0 16px}
.ft-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ft-related-link{padding:14px;border:1px solid var(--ft-border);border-radius:10px;color:var(--ft-fg);font-size:13px;text-decoration:none;display:flex;justify-content:space-between;gap:10px}
.ft-back{display:inline-block;margin-top:20px;font-size:13px;color:var(--ft-muted)}
.ft-nextstep{padding:18px 0;border-top:1px solid var(--ft-border)}
.ft-next-link{font-size:13px;color:var(--ft-muted);text-decoration:underline}
.ft-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Content stays visible when JS or an observer fails. */
[data-ft-reveal]{opacity:1;transform:none}
@keyframes ft-value-in{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:850px){.ft-workbench-grid{grid-template-columns:1fr}.ft-edu-grid,.ft-understanding-stack{grid-template-columns:1fr}}
@media(max-width:520px){.ft-workbench-wrap{padding-top:0}.ft-panel,.ft-result-shell{padding:18px}.ft-fields{gap:12px}.ft-field{font-size:12px}.ft-whatif-fields,.ft-asset-picker-area,.ft-related{grid-template-columns:1fr}.ft-asset-takeaway{grid-column:auto}.ft-purchase{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.ft-vstats{gap:8px}.ft-vstat strong{font-size:15px}.ft-months{gap:3px}.ft-month-name{font-size:12px}.ft-cost-average span{font-size:12px}.ft-result-item{flex-wrap:wrap}.ft-cost-track{margin-left:3px;margin-right:3px}}
@media(prefers-reduced-motion:reduce){.ft-workbench *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
