@font-face { font-family:"Barlow";src:url("fonts/Barlow-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap; }
@font-face { font-family:"Barlow";src:url("fonts/Barlow-SemiBold.ttf") format("truetype");font-style:normal;font-weight:600 700;font-display:swap; }
@font-face { font-family:"Barlow Condensed";src:url("fonts/BarlowCondensed-SemiBold.ttf") format("truetype");font-style:normal;font-weight:500 600;font-display:swap; }
@font-face { font-family:"Barlow Condensed";src:url("fonts/BarlowCondensed-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap; }
@font-face { font-family:"IBM Plex Mono";src:url("fonts/IBMPlexMono-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap; }
@font-face { font-family:"IBM Plex Mono";src:url("fonts/IBMPlexMono-Medium.ttf") format("truetype");font-style:normal;font-weight:500 600;font-display:swap; }
:root {
  color-scheme: light;
  --paper:#f2f4f1;
  --panel:#fff;
  --ink:#151823;
  --muted:#48525c;
  --line:#d6dcda;
  --line-soft:#e8ece9;
  --blue:#0f6493;
  --blue-dark:#0a4a6d;
  --blue-soft:#f0f7fc;
  --teal:#1e8175;
  --teal-soft:#dcefeb;
  --plum:#6c5aa8;
  --plum-soft:#e8e4f5;
  --gold:#c08a2e;
  --danger:#bc5548;
  --ease-settle:cubic-bezier(.19,.82,.28,1);
  --ease-reveal:cubic-bezier(.22,.61,.36,1);
  --dur-reveal:620ms;
  --dur-settle:900ms;
  --stagger:70ms;
  font-family:"Barlow",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--paper);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0;padding:24px 24px 64px;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.55; }
a { color:var(--blue);text-underline-offset:4px; }
a:focus-visible,button:focus-visible { outline:3px solid var(--teal);outline-offset:4px; }
.skip { position:absolute;left:16px;top:-100px;z-index:100;background:#fff;padding:12px; }
.skip:focus { top:12px; }
.marketing-page { width:100%;max-width:1472px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px #1518230a,0 20px 38px -24px #15182380;overflow:visible; }
.marketing-header { position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 56px;border-bottom:1px solid var(--line-soft);border-radius:17px 17px 0 0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px); }
.marketing-brand { display:flex;align-items:center;color:var(--ink);text-decoration:none; }
.marketing-brand-art { display:inline-flex;align-items:center;flex:none; }
.marketing-brand-lockup { display:block;width:auto;height:50px; }
.marketing-brand-mark { display:none;width:46px;height:46px;object-fit:contain; }
.marketing-nav { display:flex;align-items:center;gap:28px; }
.marketing-nav .marketing-link { position:relative;min-height:44px;padding:10px 0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:15px;font-weight:400;text-decoration:none;cursor:pointer;transition:color .18s ease; }
.marketing-nav .marketing-link:visited { color:var(--muted); }
.marketing-nav .marketing-link[aria-current="page"],.marketing-nav .marketing-link[aria-current="location"] { color:var(--blue);font-weight:600; }
.marketing-nav .marketing-link[aria-current="location"]::after { content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:var(--blue); }
.marketing-open { display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 24px;border:0;border-radius:999px;background:var(--blue);box-shadow:0 16px 34px -18px #0f6493d9;color:#fff;text-decoration:none;font:inherit;font-size:15px;font-weight:650;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease; }
.marketing-open:hover { transform:translateY(-2px);background:var(--blue-dark);box-shadow:0 20px 38px -17px #0f6493ed; }
.marketing-open:active { transform:translateY(0);box-shadow:0 10px 24px -17px #0f6493ed; }
.marketing-footer { display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:26px 48px;border-top:1px solid var(--line);border-radius:0 0 17px 17px;background:var(--panel);color:#596773;font-size:13px; }
.marketing-disclaimer { flex-basis:100%;line-height:1.6; }
.marketing-footer-home { font-weight:650; }
.marketing-footer a[aria-current="page"] { color:var(--ink);font-weight:650;text-decoration:none; }

.landing-main h1,.landing-main h2,.landing-main h3 { font-family:"Barlow Condensed",system-ui,sans-serif;text-wrap:balance; }
.landing-hero { position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:62px 56px 104px;background:linear-gradient(180deg,#f3faf8 0%,#fff 42%,#fff 100%); }
.landing-hero-copy { position:relative;max-width:850px;margin:0 auto; }
.landing-trust-pill { display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid #dbe6e1;border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 1px 2px #15182310;color:var(--muted);font-size:11px; }
.landing-trust-status { display:inline-flex;width:20px;height:20px;border-radius:50%;background:var(--teal-soft);align-items:center;justify-content:center; }
.landing-trust-dot { width:7px;height:7px;border-radius:50%;background:var(--teal);animation:status-pulse 2.4s ease-in-out infinite; }
@keyframes status-pulse { 0%,100% { opacity:1;transform:scale(1); } 50% { opacity:.42;transform:scale(.75); } }
.landing-hero h1 { margin:26px 0 0;font-size:clamp(54px,6.4vw,86px);font-weight:700;line-height:.9;letter-spacing:-.045em; }
.landing-gradient-title { background:linear-gradient(96deg,#1b6f9b 0%,#1e8175 52%,#c08a2e 100%);-webkit-background-clip:text;background-clip:text;color:transparent; }
.landing-lead { max-width:720px;margin:24px auto 0;color:var(--muted);font-size:16px;line-height:1.65; }
.landing-actions { display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px; }
.landing-action { display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 30px;border:1px solid var(--line);border-radius:999px;background:var(--panel);box-shadow:0 1px 2px #15182310;color:var(--ink);font-size:16px;font-weight:650;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease; }
.landing-action:hover { transform:translateY(-2px);box-shadow:0 14px 28px -18px #151823b8; }
.landing-action.primary { border-color:var(--blue);background:var(--blue);box-shadow:0 16px 34px -18px #0f6493d9;color:#fff; }
.landing-action.primary:hover { background:var(--blue-dark); }
.landing-hero-meta { display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:18px;color:#596773;font-size:11px; }
.landing-product-stage { position:relative;width:min(1120px,94%);margin:54px auto 0;padding-bottom:88px; }
.landing-desktop-shot { margin:0;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 34px 70px -42px rgba(15,100,147,.58);overflow:hidden; }
.landing-desktop-shot img,.landing-phone-shot img { display:block;width:100%;height:auto; }
.shot-parallax-phone { position:absolute;right:-1.5%;bottom:-16px;width:23%;min-width:150px; }
.landing-phone-shot { width:100%;margin:0;border:8px solid #252c3b;border-radius:30px;background:#252c3b;box-shadow:0 28px 48px -24px rgba(21,24,35,.58);overflow:hidden; }
.landing-phone-shot img { border-radius:20px; }
.landing-section { padding:108px 56px;border-bottom:1px solid var(--line-soft);scroll-margin-top:86px; }
.landing-section h2 { margin:18px 0 0;font-size:38px;font-weight:700;line-height:1.05;letter-spacing:-.025em; }
.landing-section-copy { margin:20px 0 0;color:var(--muted);font-size:17px; }
.eyebrow { display:inline-flex;align-items:center;gap:10px;color:var(--eyebrow,var(--blue));font-family:"Barlow Condensed",system-ui,sans-serif;font-size:14px;font-weight:700;letter-spacing:.2em;text-transform:uppercase; }
.eyebrow::before { content:"";width:26px;height:2px;background:currentColor; }
.gap-section { background:#151823;color:#eceff3; }
.gap-section h2 { max-width:18em;color:#eceff3;font-size:42px; }
.gap-section .landing-section-copy { max-width:42em;color:#aab4c0; }
.gap-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:48px; }
.gap-card { padding:28px 26px 30px;border-top:3px solid var(--card-color);background:#232a3d; }
.gap-card-label { color:#9aa4b0;font-family:"Barlow Condensed",system-ui,sans-serif;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase; }
.gap-card-value { margin-top:12px;color:var(--card-color);font-family:"Barlow Condensed",system-ui,sans-serif;font-size:40px;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums; }
.gap-card-copy { margin-top:10px;color:#c4ccd6;font-size:14.5px; }
.location-section,.trust-section { display:grid;grid-template-columns:1fr 1fr;gap:64px; }
.location-note { margin-top:28px;padding:22px 26px;border-left:3px solid var(--teal);background:var(--teal-soft);color:var(--muted);font-size:16px; }
.location-table { min-width:0; }
.location-row { display:grid;grid-template-columns:86px minmax(0,1fr) 96px 112px;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line-soft); }
.location-row.head { padding-top:0;color:#596773;font-family:"Barlow Condensed",system-ui,sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase; }
.location-row .right { text-align:right; }
.location-row strong { font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px; }
.location-row .value { color:var(--row-color,var(--muted));font-weight:650;font-variant-numeric:tabular-nums; }
.location-caption { margin-top:16px;color:#596773;font-size:14px; }
.ritual-section { background:linear-gradient(145deg,var(--blue-soft),var(--panel)); }
.ritual-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:44px; }
.ritual-card { padding:28px 28px 30px;border:1px solid var(--line);border-top:3px solid var(--card-color);border-radius:14px;background:var(--panel);box-shadow:0 14px 30px -26px #15182373; }
.ritual-number { color:var(--card-color);font-family:"Barlow Condensed",system-ui,sans-serif;font-size:32px;font-weight:700;line-height:1; }
.ritual-card h3 { margin:14px 0 0;font-size:24px;letter-spacing:.03em; }
.ritual-card p { margin:10px 0 0;color:var(--muted); }
.outlook-section { padding:108px 56px;border-bottom:1px solid var(--line-soft);scroll-margin-top:86px; }
.outlook-intro { display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start; }
.outlook-intro h2 { margin:18px 0;font-size:42px;line-height:1.05; }
.outlook-intro p { color:var(--muted);font-size:17px; }
.scenario-prompts { display:grid;gap:12px; }
.scenario-prompt { padding:16px 18px;border-left:3px solid var(--plum);background:#f7f9f7;color:var(--muted); }
.outlook-cards { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:38px; }
.outlook-card { display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid var(--line);border-top:3px solid var(--card-color);border-radius:14px;background:var(--panel);box-shadow:0 14px 30px -26px #15182373; }
.outlook-card h3 { margin:14px 0 8px;font-size:27px; }
.outlook-card p { margin:0 0 24px;color:var(--muted); }
.outlook-card .landing-action { margin-top:auto; }
.simulation-note { color:var(--muted);font-size:13px;line-height:1.65; }
.trust-section { background:linear-gradient(168deg,#fbfaf5 0%,var(--panel) 46%,#f6faf9 100%); }
.trust-list { display:grid;gap:14px;margin-top:28px; }
.trust-item { display:flex;align-items:center;gap:14px;padding:18px 22px;border-left:3px solid var(--card-color);border-radius:0 12px 12px 0;background:var(--card-tint,#f7f9f7);color:var(--ink);font-size:15.5px;font-weight:700; }
.trust-item::before { content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--card-color); }
.privacy-card { margin-top:26px;padding:24px;border:1px solid #cfe3de;border-top:3px solid var(--teal);border-radius:14px;background:linear-gradient(165deg,var(--teal-soft),#f5faf8); }
.privacy-card h3 { margin:0;font-size:20px; }
.closing-cta { display:flex;align-items:center;gap:36px;padding:76px 48px;background:linear-gradient(105deg,#0f6493 0%,#196d63 100%);color:#fff;flex-wrap:wrap; }
.closing-cta h2 { max-width:13em;margin:0;color:#fff;font-size:38px;line-height:1.05; }
.closing-cta p { max-width:38em;margin:12px 0 0;color:rgba(255,255,255,.86); }
.closing-actions { display:flex;flex:none;gap:14px;flex-wrap:wrap;margin-left:auto; }
.closing-actions .landing-action.secondary-inverse { border-color:rgba(255,255,255,.55);background:transparent;color:#fff; }
.dialog-open { overflow:hidden; }
.marketing-dialog-backdrop { position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(21,24,35,.56);backdrop-filter:blur(7px); }
.marketing-dialog-backdrop[hidden] { display:none; }
.marketing-dialog { position:relative;width:min(680px,100%);max-height:min(88vh,760px);overflow:auto;padding:38px;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:18px;background:#fff;box-shadow:0 28px 80px -30px rgba(21,24,35,.72); }
.marketing-dialog h2 { margin:16px 0 12px;font-family:"Barlow Condensed",system-ui,sans-serif;font-size:34px;line-height:1.08; }
.marketing-dialog p { color:var(--muted); }
.marketing-dialog-close { position:absolute;top:14px;right:14px;width:40px;height:40px;border:0;border-radius:50%;background:#f2f4f1;color:var(--muted);font-size:25px;line-height:1;cursor:pointer; }
.start-dialog-eyebrow { display:flex;align-items:center;gap:10px;color:var(--blue);font-family:"Barlow Condensed",system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase; }
.start-dialog-eyebrow::before { content:"";width:26px;height:2px;background:var(--blue); }
.start-dialog-intro { margin:0; }
.start-dialog-steps { margin:14px 0 0;padding-left:24px;color:var(--muted);line-height:1.55; }
.start-dialog-steps li { padding-left:4px;margin:7px 0; }
.start-dialog-steps strong { color:var(--ink); }
.start-dialog-warning { margin-top:18px;padding:14px 16px;border-left:3px solid var(--gold);background:#fff4df;color:#68440f;font-size:13px;line-height:1.55; }
.marketing-dialog-actions { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px; }
.marketing-dialog-actions .landing-action { width:100%; }
.marketing-dialog-open-file { grid-column:1/-1;text-align:center;font-weight:650; }

/* Analytical hero field: a fixed measuring grid with one slow light pass. */
.hero-field { position:absolute;left:0;right:0;top:0;height:clamp(200px,56vw,820px);z-index:-1;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 96%);mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 96%); }
.hero-field::before { content:"";position:absolute;inset:-10%;background-image:linear-gradient(to right,rgba(21,24,35,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(21,24,35,.045) 1px,transparent 1px);background-size:96px 96px; }
.hero-field-pass { position:absolute;left:-40%;top:-40%;width:80%;height:180%;background:radial-gradient(closest-side,rgba(30,129,117,.16),rgba(15,100,147,.07) 46%,transparent 72%); }
.hero-field-wash { position:absolute;inset:0;background:radial-gradient(58% 62% at 50% 34%,rgba(255,255,255,.94),rgba(255,255,255,.55) 44%,rgba(255,255,255,0) 100%); }
.qm-motion .hero-field-pass { will-change:transform;animation:qm-grid-pass 64s ease-in-out infinite alternate; }
@keyframes qm-grid-pass { from { transform:translate3d(0,0,0); } to { transform:translate3d(180%,6%,0); } }

/* Screenshot entry and parallax use separate elements so transforms never compete. */
.shot-parallax { transform:translate3d(0,0,0); }
.qm-motion .shot-parallax { transform:translate3d(0,calc(var(--parallax,0) * 1px),0); }
.qm-motion .landing-desktop-shot,.qm-motion .landing-phone-shot { opacity:0;transform:translate3d(0,var(--shot-y,44px),0) scale(var(--shot-s,.982));transition:opacity 1000ms var(--ease-settle),transform 1000ms var(--ease-settle); }
.qm-motion .landing-phone-shot { --shot-y:64px;--shot-s:.966; }
.qm-motion .landing-desktop-shot { transition-delay:180ms; }
.qm-motion .landing-phone-shot { transition-delay:340ms; }
.qm-motion .landing-desktop-shot.is-in,.qm-motion .landing-phone-shot.is-in { opacity:1;transform:translate3d(0,0,0) scale(1); }
.qm-motion .landing-phone-shot.is-in { animation:qm-phone-float 9s ease-in-out 1400ms infinite; }
@keyframes qm-phone-float {
  0%,100% { transform:translate3d(0,0,0) scale(1); }
  50% { transform:translate3d(0,-10px,0) scale(1); }
}

/* A single, one-shot reveal grammar for the sections below the hero. */
.qm-motion [data-reveal] { opacity:0;transform:translate3d(0,var(--reveal-y,18px),0);transition:opacity var(--dur-reveal) var(--ease-reveal),transform calc(var(--dur-reveal) + 100ms) var(--ease-reveal);transition-delay:calc(var(--i,0) * var(--stagger)); }
.qm-motion [data-reveal].is-in { opacity:1;transform:none; }
.qm-motion [data-reveal] .eyebrow::before { width:0;transition:width 520ms var(--ease-reveal) calc(var(--i,0) * var(--stagger) + 120ms); }
.qm-motion [data-reveal].is-in .eyebrow::before { width:26px; }
.qm-motion .location-row[data-reveal] { --reveal-y:10px; }
.qm-motion .gap-card[data-reveal],.qm-motion .ritual-card[data-reveal],.qm-motion .outlook-card[data-reveal] { --reveal-y:24px; }

/* Landing v3: one illustrative household, four outcome-led chapters. */
.landing-main { overflow:hidden; }
.landing-main h1,.landing-main h2,.landing-main h3,.landing-main strong { text-wrap:balance; }
.landing-hero { padding:clamp(64px,8vw,112px) clamp(18px,4vw,56px) clamp(54px,7vw,92px);background:
  radial-gradient(36% 50% at 12% -8%,rgba(15,100,147,.12),transparent 72%),
  radial-gradient(32% 48% at 92% 4%,rgba(30,129,117,.13),transparent 74%),
  linear-gradient(180deg,#f7fbfa 0%,#fff 70%); }
.landing-hero-copy { max-width:1000px; }
.landing-audience { display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.86);box-shadow:0 1px 2px #1518230a;color:var(--muted);font-size:12px;font-weight:600; }
.landing-audience span,.landing-local > span { width:8px;height:8px;flex:none;border-radius:50%;background:var(--teal);box-shadow:0 0 0 5px rgba(30,129,117,.11); }
.qm-motion .landing-audience span { animation:status-pulse 2.4s ease-in-out infinite; }
.landing-hero h1 { margin:28px 0 0;font-size:clamp(50px,8.2vw,104px);line-height:.94;letter-spacing:-.015em; }
.landing-lead { max-width:36em;margin-top:26px;font-size:clamp(17px,1.5vw,21px);line-height:1.58; }
.landing-local { display:flex;align-items:center;justify-content:center;gap:9px;margin:20px auto 0;color:#596773;font-size:12px; }
.landing-local a { margin-left:2px; }
.value-strip { position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(20px,3vw,36px);max-width:1180px;margin:clamp(54px,7vw,86px) auto 0;text-align:left; }
.value-signpost { --signpost:var(--blue);position:relative;top:0;display:grid;min-height:145px;align-content:start;gap:9px;padding:18px 2px 0;border-top:3px solid var(--signpost);color:var(--ink);text-decoration:none;transition:top 460ms cubic-bezier(.22,.8,.3,1.12); }
.value-signpost:hover { top:-9px; }
.value-signpost-title { display:flex;align-items:baseline;gap:12px; }
.value-signpost .value-number { flex:none;color:var(--signpost);font-family:"Barlow Condensed",system-ui,sans-serif;font-size:17px;font-weight:700;letter-spacing:.1em; }
.value-signpost strong { font-family:"Barlow Condensed",system-ui,sans-serif;font-size:25px;line-height:1.05; }
.value-signpost small { color:var(--muted);font-size:15px;line-height:1.5; }
.signpost-teal { --signpost:var(--teal); }.signpost-plum { --signpost:var(--plum); }.signpost-gold { --signpost:#96590b; }

.story-section,.privacy-section { padding:clamp(56px,7vw,92px) clamp(18px,4vw,56px);scroll-margin-top:86px; }
.story-heading { max-width:1180px;margin:0 auto 44px;text-align:left; }
.story-heading-line { display:flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:wrap; }
.story-heading h2,.privacy-section h2 { max-width:18em;margin:18px 0 0;font-size:clamp(36px,5vw,62px);font-weight:700;line-height:1.02;letter-spacing:-.025em; }
.story-heading h2 em { color:var(--blue);font-style:normal; }
.sample-chip { display:inline-flex;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#596773;font-size:11px; }

.whole-section { background:var(--paper); }
.whole-layout { display:flex;max-width:1180px;margin:0 auto;gap:clamp(28px,4vw,54px);align-items:center;flex-wrap:wrap; }
.app-window { flex:3 1 560px;min-width:0;border:1px solid #cdd4d2;border-radius:14px;background:#fff;box-shadow:0 26px 52px -34px rgba(21,24,35,.45);overflow:hidden; }
.window-bar { display:flex;align-items:center;gap:6px;height:38px;padding:0 13px;border-bottom:1px solid var(--line-soft);background:#fafbfa;color:#6a747d;font:11px "IBM Plex Mono",ui-monospace,monospace; }
.window-bar i { width:8px;height:8px;border-radius:50%;background:#c9cecc; }.window-bar i:nth-child(2){background:#d8c8a8}.window-bar i:nth-child(3){background:#a9cec7}.window-bar span{margin-left:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.focus-stage { position:relative; }
.focus-stage img { display:block;width:100%;height:auto; }
.focus-ring { position:absolute;border:3px solid var(--ring,var(--blue));border-radius:14px;box-shadow:0 0 0 7px color-mix(in srgb,var(--ring,var(--blue)) 16%,transparent);opacity:.2;transition:opacity .6s cubic-bezier(.2,.6,.2,1);pointer-events:none; }
.focus-ring.is-active { opacity:1; }
.focus-ring b { position:absolute;left:-13px;top:-13px;display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:var(--ring,var(--blue));color:#fff;font:600 12px "IBM Plex Mono",ui-monospace,monospace; }
.focus-one { left:2.2%;top:35.3%;width:24.7%;height:12.6%; }.focus-two { --ring:#96590b;left:55.2%;top:59.3%;width:41.6%;height:20%; }
.whole-callouts { flex:1 1 260px;display:grid;gap:16px; }
.metric-callout { --callout:var(--blue);--callout-glow:rgba(15,100,147,.16);padding:20px 22px;border:1px solid var(--line);border-left:3px solid var(--callout);border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(21,24,35,.04),0 14px 30px -26px rgba(21,24,35,.45);transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease; }
.metric-callout.drift-callout { --callout:#96590b;--callout-glow:rgba(150,89,11,.15); }
.metric-callout:hover,.metric-callout:focus-within { border-color:var(--callout);box-shadow:0 0 0 6px var(--callout-glow),0 24px 44px -28px rgba(21,24,35,.55);transform:translateY(-2px); }
.metric-kicker { display:flex;align-items:center;gap:10px; }.metric-kicker > span { display:grid;width:22px;height:22px;flex:none;place-items:center;border-radius:50%;background:var(--callout);color:#fff;font:700 13px "Barlow Condensed",system-ui,sans-serif; }
.metric-callout small,.goal-metrics small,.tax-flow small,.tax-result small,.decision-columns small { display:block;color:#68737d;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase; }
.metric-callout strong { display:block;margin-top:8px;font:700 clamp(28px,3vw,39px)/1 "Barlow Condensed",system-ui,sans-serif; }
.metric-callout p { margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.5; }
.drift-values { display:grid;gap:5px;margin-top:12px; }
.drift-values strong { margin:0;color:#96590b;font-size:clamp(25px,2.4vw,34px);font-variant-numeric:tabular-nums; }
.drift-values strong span { display:inline-block;min-width:2.8em;color:var(--ink);font-size:.58em;letter-spacing:.02em;text-transform:uppercase; }
.text-link { justify-self:start;margin-top:6px;font-weight:700;text-decoration:none; }

.tax-section { background:#151823;color:#edf2f3; }
.tax-section .eyebrow { --eyebrow:#45bfae; }.tax-section .story-heading h2 em { color:#45bfae; }
.dark-chip { border-color:#2b3140;background:#1c2030;color:#aab4c0; }
.tax-flow { display:flex;max-width:1180px;margin:clamp(36px,5vw,64px) auto 0;align-items:stretch; }
.tax-flow article { flex:1 1 0;display:grid;min-width:0;min-height:164px;align-content:start;gap:8px;padding:24px 24px 26px;border:1px solid #2b3140;border-top:3px solid #a99be0;border-radius:18px;background:#1c2030; }
.tax-flow .account-card { border-top-color:#e5ae4c; }
.tax-flow small { color:#7b8694; }.tax-flow strong { margin:0;color:#fff;font:700 clamp(26px,2.6vw,34px)/1.1 "Barlow Condensed",system-ui,sans-serif; }.tax-flow .holding-card strong { font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:500; }.tax-flow span,.tax-flow p { margin:0;color:#aab4c0;font-size:14.5px;line-height:1.5; }
.tax-flow .tax-cost { background:#33191a;border-color:#5a2a26;border-top-color:#e3826f; }.tax-flow .tax-cost small { color:#e3826f; }.tax-flow .tax-cost strong { color:#e3826f;font-size:clamp(34px,3.2vw,46px);line-height:1;font-variant-numeric:tabular-nums; }.tax-flow .tax-cost strong span { margin-left:6px;color:#eceff3;font:700 .5em "Barlow Condensed",system-ui,sans-serif; }
.tax-connector { position:relative;align-self:center;width:54px;height:2px;flex:none;background:#5a6370;transform-origin:left; }.tax-connector::after { content:"";position:absolute;right:-1px;top:-4px;width:8px;height:8px;border-top:2px solid #5a6370;border-right:2px solid #5a6370;transform:rotate(45deg); }
.qm-motion .tax-connector { transform:scaleX(0);transition:transform 700ms var(--ease-reveal); }.qm-motion .tax-section.is-story-active .tax-connector { transform:scaleX(1); }.qm-motion .tax-section.is-story-active .connector-one { transition-delay:100ms; }.qm-motion .tax-section.is-story-active .connector-two { transition-delay:500ms; }
.tax-lower { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(16px,2vw,28px);max-width:1180px;margin:clamp(20px,2.4vw,28px) auto 0;align-items:stretch; }
.tax-result { display:flex;padding:22px 26px;border:1px solid #1d4a38;border-radius:18px;background:#0f2c21;align-items:center;gap:18px; }
.tax-result-arrow { color:#4fc894;font:700 34px/1 "Barlow Condensed",system-ui,sans-serif; }.tax-result small { color:#4fc894; }.tax-result strong { display:block;margin-top:5px;color:#fff;font:700 26px/1.1 "Barlow Condensed",system-ui,sans-serif; }.tax-result strong b { color:#4fc894;font-size:20px; }.tax-result p { margin:6px 0 0;color:#aab4c0;font-size:14px;line-height:1.5; }
.tax-next { display:flex;flex-direction:column;justify-content:center;gap:14px; }.tax-actions { display:flex;align-items:center;gap:12px;flex-wrap:wrap; }.tax-primary { border-color:#57acdc!important;background:#57acdc!important;color:#08131b!important; }.tax-link { padding:14px 22px;border:1px solid #2b3140;border-radius:999px;background:#1c2030;color:#eceff3;font-weight:700;text-decoration:none;transition:transform .18s ease,border-color .18s ease; }.tax-link:hover { transform:translateY(-2px);border-color:#45bfae; }
.fine-print { max-width:900px;margin:20px auto 0;color:#8e99a4;font-size:11.5px;line-height:1.6;text-align:center; }.tax-next .fine-print { margin:0;text-align:left; }

.goals-section { background:linear-gradient(145deg,var(--plum-soft),#fff 65%); }
.goals-section .eyebrow { --eyebrow:var(--plum); }.goals-section .story-heading h2 em { color:var(--plum); }
.goal-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1180px;margin:0 auto; }
.goal-card { padding:28px;border:1px solid var(--line);border-top:3px solid var(--plum);border-radius:14px;background:#fff;box-shadow:0 18px 38px -34px #151823; }
.college-goal { border-top-color:var(--teal); }.goal-card-top { display:flex;justify-content:space-between;gap:16px;align-items:center; }.goal-card-top > span { font:700 26px "Barlow Condensed",system-ui,sans-serif; }.goal-card-top small { color:#6b7580;font-size:11px; }
.goal-metrics { display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:26px; }.goal-metrics > div+div { padding-left:18px;border-left:1px solid var(--line-soft); }.goal-metrics strong { display:block;margin-top:7px;font:700 clamp(26px,3vw,39px)/1 "Barlow Condensed",system-ui,sans-serif; }.retirement-goal .goal-metrics strong { color:var(--plum); }.college-goal .goal-metrics strong { color:var(--teal); }
.range-bar,.college-bar { position:relative;height:11px;margin-top:30px;border-radius:999px;background:#e7e4ed; }.range-fill { position:absolute;inset:0 32% 0 8%;border-radius:inherit;background:linear-gradient(90deg,#d9d2ef,var(--plum)); }.range-low,.range-median { position:absolute;top:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;border:3px solid #807099; }.range-low{left:25%}.range-median{left:68%;border-color:var(--plum)}
.range-labels { display:flex;justify-content:space-between;margin-top:12px;color:#68737d;font-size:11px; }.range-labels span:last-child{text-align:right}.range-labels b{color:var(--ink)}
.college-bar { overflow:hidden;background:repeating-linear-gradient(135deg,#f3e6c9 0,#f3e6c9 6px,#ead8b0 6px,#ead8b0 10px); }.college-bar span { position:absolute;inset:0 72% 0 0;background:var(--teal); }.college-bar i { position:absolute;inset:0 13% 0 28%;background:#74b8ae; }
.goal-card > p { margin:14px 0 0;color:#68737d;font-size:12px; }
.goals-action { display:flex;justify-content:flex-start;align-items:center;gap:18px;flex-wrap:wrap;max-width:1180px;margin:28px auto 0; }.goals-primary { border-color:var(--plum)!important;background:var(--plum)!important;color:#fff!important; }.coming-soon { display:inline-flex;width:min(560px,100%);align-items:center;gap:8px;color:var(--muted);font-size:13px; }.coming-soon b { display:inline-block;flex:none;padding:3px 7px;border-radius:999px;background:#f3e3c2;color:#7f4c0a;font-size:10px;letter-spacing:.08em;text-transform:uppercase; }
.goals-section .fine-print { max-width:1180px;margin:18px auto 0;color:#68737d;text-align:left; }

.decisions-section { background:#f7f8f6; }.decisions-section .eyebrow { --eyebrow:#96590b; }.decisions-section .story-heading h2 em { color:#96590b; }
.cadence-steps { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,16px);max-width:1180px;margin:0 auto; }.cadence-steps div { --step:var(--blue);display:flex;min-width:0;align-items:center;gap:14px;padding:20px 22px;border:1px solid var(--line);border-top:3px solid var(--step);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(21,24,35,.04),0 14px 30px -26px rgba(21,24,35,.45); }.cadence-steps div:nth-child(2){--step:var(--teal)}.cadence-steps div:nth-child(3){--step:var(--plum)}.cadence-steps div:nth-child(4){--step:#c08a2e}.cadence-steps b { display:grid;width:40px;height:40px;flex:none;place-items:center;border-radius:50%;background:var(--step);color:#fff;font:700 17px "Barlow Condensed",system-ui,sans-serif; }.cadence-steps strong { font:700 25px/1.05 "Barlow Condensed",system-ui,sans-serif; }.cadence-steps i { margin-left:auto;color:#7a8590;font-size:20px;font-style:normal; }
.decision-record { max-width:1180px;margin:clamp(20px,2.4vw,28px) auto 0;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 22px 46px -34px rgba(21,24,35,.5);overflow:hidden; }.decision-record-head { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line-soft);background:#fff; }.decision-record-head span { color:#68737d;font:600 11.5px "Barlow Condensed",system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase; }.decision-record-head small{color:#68737d;font-size:13.5px}.decision-columns { display:grid;grid-template-columns:repeat(3,1fr); }.decision-columns > div { padding:20px 22px; }.decision-columns > div+div { border-left:1px solid var(--line-soft); }.decision-columns > div:nth-child(1) small { color:var(--blue); }.decision-columns > div:nth-child(2) small { color:var(--teal); }.decision-columns > div:nth-child(3) small { color:#96590b; }.decision-columns p { margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.55; }.decision-columns p strong { color:var(--ink); }

.privacy-section { background:#fff; }.privacy-inner { display:grid;grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr);gap:clamp(36px,5vw,72px);max-width:1180px;margin:0 auto;align-items:center; }.privacy-copy h2 { margin-top:17px; }.privacy-copy > p { max-width:46em;color:var(--muted);font-size:16px; }.privacy-copy details { margin-top:24px;padding:17px 20px;border:1px solid var(--line);border-radius:12px;background:#f8faf8; }.privacy-copy summary { cursor:pointer;font-weight:700; }.privacy-copy li { margin:7px 0;color:var(--muted); }.privacy-proof { font-size:12px!important;font-weight:700; }
.privacy-visuals { position:relative;min-height:430px;isolation:isolate; }.privacy-visuals figure { margin:0;background:#fff;box-shadow:0 26px 50px -34px #151823;overflow:hidden; }.privacy-visuals img { display:block;width:100%;height:auto; }.history-detail { position:absolute;left:0;top:32px;z-index:1;width:82%;border:1px solid var(--line);border-radius:14px; }.phone-detail { position:absolute;right:0;top:0;z-index:2;width:27%;border:7px solid #252c3b;border-radius:28px; }.phone-detail img { border-radius:20px; }

.start-dialog-warning.protected { border-left-color:var(--teal);background:#e9f5f1;color:#245d54; }

.qm-motion .value-signpost[data-reveal] { --reveal-y:22px;transition:opacity var(--dur-reveal) var(--ease-reveal) calc(var(--i,0) * var(--stagger)),transform calc(var(--dur-reveal) + 100ms) var(--ease-reveal) calc(var(--i,0) * var(--stagger)),top 460ms cubic-bezier(.22,.8,.3,1.12); }

@media (hover:hover) and (pointer:fine) {
  .ritual-card,.outlook-card,.privacy-card { transition:transform 220ms var(--ease-reveal),box-shadow 220ms var(--ease-reveal); }
  .ritual-card:hover,.outlook-card:hover { transform:translateY(-3px);box-shadow:0 22px 40px -28px #15182399; }
  .gap-card { transition:background-color 220ms var(--ease-reveal),transform 220ms var(--ease-reveal); }
  .gap-card:hover { transform:translateY(-2px);background:#283049; }
  .trust-item,.scenario-prompt { transition:transform 200ms var(--ease-reveal),background-color 200ms var(--ease-reveal); }
  .trust-item:hover,.scenario-prompt:hover { transform:translateX(3px);background:#f2f5f2; }
}

@media(max-width:1000px) {
  .marketing-header { padding:14px 24px; }
  .marketing-nav { gap:12px 18px; }
  .marketing-nav .marketing-link { font-size:13px; }
  .gap-grid,.ritual-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .location-section,.trust-section,.outlook-intro { grid-template-columns:1fr;gap:36px; }
  .tax-connector { width:28px; }
  .privacy-inner { grid-template-columns:1fr; }
  .privacy-copy { max-width:720px; }
  .privacy-visuals { width:min(760px,100%);margin:0 auto; }
}
@media(max-width:1180px) and (min-width:701px) {
  .marketing-nav .marketing-link:nth-child(4),.marketing-nav .marketing-link:nth-child(5) { display:none; }
}
@media(max-width:700px) {
  body { padding:12px 12px 32px; }
  .marketing-header { padding:10px 18px;flex-wrap:nowrap; }
  .marketing-brand-lockup { display:none; }
  .marketing-brand-mark { display:block; }
  .marketing-nav { width:auto;margin-left:auto;display:flex;grid-template-columns:none;gap:8px;flex-wrap:nowrap; }
  .marketing-nav .marketing-link { display:none; }
  .marketing-open { white-space:nowrap;padding-inline:20px; }
  .marketing-footer { align-items:flex-start;padding:24px 22px;flex-direction:column;gap:12px; }
  .landing-hero { padding:42px 18px 62px; }
  .landing-hero h1 { font-size:46px; }
  .landing-product-stage { width:100%;margin-top:36px;padding-bottom:52px; }
  .shot-parallax-phone { right:-2%;bottom:-8px;width:30%;min-width:105px; }
  .landing-section,.outlook-section { padding:72px 24px; }
  .gap-grid,.ritual-grid,.outlook-cards { grid-template-columns:1fr; }
  .location-table { overflow-x:auto; }
  .location-row { min-width:520px; }
  .closing-cta { padding:44px 24px; }
  .closing-actions { width:100%;margin-left:0; }
  .marketing-dialog { padding:32px 22px; }
  .marketing-dialog-actions { grid-template-columns:1fr; }
  .marketing-dialog-open-file { grid-column:auto; }
  .qm-motion [data-reveal] { --reveal-y:12px;transition-delay:calc(var(--i,0) * 45ms); }
  .qm-motion .gap-card[data-reveal],.qm-motion .ritual-card[data-reveal],.qm-motion .outlook-card[data-reveal] { --reveal-y:14px; }
  .qm-motion .landing-desktop-shot { --shot-y:26px;--shot-s:.99; }
  .qm-motion .landing-phone-shot { --shot-y:34px;--shot-s:.985; }
  .hero-field::before { background-size:72px 72px; }
  .hero-field-pass { opacity:.8; }
  .landing-hero { padding:54px 20px 48px; }
  .landing-hero h1 { font-size:clamp(48px,15vw,66px); }
  .landing-local { align-items:flex-start;line-height:1.45; }
  .landing-local > span { margin-top:4px; }
  .value-strip { grid-template-columns:1fr 1fr;gap:20px 14px;margin-top:52px; }
  .value-signpost { min-height:0;padding-top:14px; }
  .value-signpost strong { font-size:21px; }
  .value-signpost small { font-size:12px; }
  .story-heading { margin-bottom:32px;text-align:left; }
  .story-heading-line { justify-content:flex-start; }
  .story-heading h2,.privacy-section h2 { font-size:38px; }
  .whole-layout { display:block; }
  .whole-callouts { margin-top:24px; }
  .focus-ring { opacity:.92; }
  .goal-cards { grid-template-columns:1fr; }
  .goal-metrics { grid-template-columns:1fr 1fr; }
  .tax-flow { display:grid;gap:12px; }
  .tax-flow article,.tax-flow article:first-child,.tax-flow article:last-child { border-radius:12px; }
  .tax-connector { width:2px;height:22px;margin:0 0 0 34px;transform-origin:top; }.tax-connector::after { right:-3px;top:auto;bottom:-1px;transform:rotate(135deg); }
  .qm-motion .tax-connector { transform:scaleY(0); }.qm-motion .tax-section.is-story-active .tax-connector { transform:scaleY(1); }
  .tax-result { align-items:flex-start; }
  .tax-actions { justify-content:flex-start; }
  .fine-print { text-align:left; }
  .goals-action { align-items:flex-start;justify-content:flex-start;flex-direction:column; }
  .cadence-steps { grid-template-columns:1fr 1fr; }
  .decision-record-head { flex-direction:column;gap:4px; }.decision-columns { grid-template-columns:1fr; }.decision-columns > div+div { border-left:0;border-top:1px solid var(--line-soft); }
  .privacy-inner { display:block; }.privacy-visuals { min-height:300px;margin-top:34px; }.history-detail { position:relative;top:20px;width:88%; }.phone-detail { width:30%; }
}
@media(max-width:480px) {
  .cadence-steps { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .landing-trust-dot { animation:none; }
  .marketing-open,.landing-action { transition:none; }
  .marketing-open:hover,.landing-action:hover { transform:none; }
  .value-signpost:hover { top:0; }
  .hero-field-pass { transform:translate3d(60%,2%,0); }
  .shot-parallax { transform:none !important; }
  .focus-ring { opacity:1; }
  .tax-connector { transform:none!important; }
  * ,*::before,*::after { animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important; }
}

.landing-cost-panels { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 28px; }
.landing-cost-panels article { padding:24px;border:1px solid currentColor;border-radius:14px;background:rgba(255,255,255,.04); }
.landing-cost-panels h3 { margin:12px 0;font-size:24px; }
.landing-cost-panels p { margin:0;line-height:1.6; }
@media(max-width:640px){.landing-cost-panels{grid-template-columns:1fr;}}

/* Keep both planning calls to action aligned, with a distinct simulator invitation. */
.goals-buttons { display:flex;flex-direction:row;align-items:stretch;gap:12px;max-width:100%; }
.goals-buttons .landing-action { display:flex;flex:1;align-items:center;box-sizing:border-box;margin:0;text-align:center;justify-content:center;white-space:normal; }
.goals-buttons .goals-simulator { display:flex;flex-direction:row;gap:8px;padding:15px 22px;background:linear-gradient(120deg,#086c82,#156f64);border-color:#086c82;color:#fff; }
.goals-simulator > span { font-size:12px;font-weight:500; }
.goals-simulator strong { font-size:14px;line-height:1.5; }
.goals-buttons .goals-simulator:hover { background:linear-gradient(120deg,#07566a,#10564d);color:#fff; }
.goals-simulator:focus-visible { outline:3px solid var(--plum);outline-offset:4px; }

.marketing-nav .marketing-calculator-link,
.marketing-nav .marketing-calculator-link:visited,
.marketing-nav .marketing-calculator-link[aria-current="page"] { color:#086c72;font-weight:650;background:#e5f3ef;border-radius:8px;padding:10px 12px; }
.marketing-nav .marketing-calculator-link:hover { color:#064e54;background:#d3ebe4; }
.marketing-calculator-link:focus-visible { outline:3px solid #086c72;outline-offset:3px; }
