*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F8F7F4;--text: #1C1B19;--muted: #888480;--accent: #2D5A4B;--border: #E2DED8}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}#root{width:100%}.fpmt-page{padding-top:80px;max-width:720px;margin:0 auto;padding-left:2rem;padding-right:2rem}.fpmt-hero{padding:5rem 0 3.5rem;border-bottom:1px solid var(--border)}.fpmt-eyebrow{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}.fpmt-hero h1{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.15;letter-spacing:-.01em;color:var(--text);margin-bottom:1.25rem}.fpmt-hero h1 em{font-style:italic;color:var(--accent)}.fpmt-sub{font-size:.9rem;line-height:1.7;color:var(--muted);max-width:52ch}.fpmt-body{padding-bottom:6rem}.fpmt-section{padding:3.5rem 0}.fpmt-section h2{font-family:Cormorant Garamond,serif;font-weight:400;font-size:1.35rem;letter-spacing:.01em;color:var(--text);margin-bottom:1.25rem}.fpmt-section p{font-size:.85rem;line-height:1.75;color:var(--muted);max-width:60ch;margin-bottom:1rem}.fpmt-section p:last-of-type{margin-bottom:0}.fpmt-section p em{color:var(--text);font-style:italic}.fpmt-divider{border-top:1px solid var(--border)}.fpmt-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--border);margin-top:2rem}.fpmt-input-card{padding:1.5rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.fpmt-input-card:nth-child(2n){border-right:none}.fpmt-input-card:nth-child(3),.fpmt-input-card:nth-child(4){border-bottom:none}.fpmt-input-label{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text);font-weight:500}.fpmt-input-ext{font-family:ui-monospace,SF Mono,monospace;font-size:.65rem;color:var(--accent);letter-spacing:.05em}.fpmt-input-card p{font-size:.78rem;line-height:1.65;color:var(--muted);margin:0;max-width:none}.fpmt-outputs{margin:1.75rem 0;display:flex;flex-direction:column;gap:0;border:1px solid var(--border)}.fpmt-output-row{display:grid;grid-template-columns:160px 1fr;gap:1.5rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);align-items:baseline}.fpmt-output-row:last-child{border-bottom:none}.fpmt-output-term{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text);font-weight:500;flex-shrink:0}.fpmt-output-def{font-size:.82rem;line-height:1.65;color:var(--muted)}.fpmt-cta-row{display:flex;gap:.75rem;align-items:center;margin-bottom:2rem}@media (max-width: 560px){.fpmt-inputs{grid-template-columns:1fr}.fpmt-input-card{border-right:none;border-bottom:1px solid var(--border)}.fpmt-input-card:last-child{border-bottom:none}.fpmt-output-row{grid-template-columns:1fr;gap:.4rem}}.mission-page{padding-top:80px;max-width:720px;margin:0 auto;padding-left:2rem;padding-right:2rem}.mission-hero{padding:5rem 0 3.5rem;border-bottom:1px solid var(--border)}.mission-eyebrow{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}.mission-hero h1{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.15;letter-spacing:-.01em;color:var(--text);margin-bottom:1.25rem}.mission-hero h1 em{font-style:italic;color:var(--accent)}.mission-sub{font-size:.9rem;line-height:1.7;color:var(--muted);max-width:52ch}.mission-body{padding-bottom:6rem}.mission-section{padding:3.5rem 0}.mission-section--tight{padding-bottom:1.5rem}.mission-section h2{font-family:Cormorant Garamond,serif;font-weight:400;font-size:1.35rem;letter-spacing:.01em;color:var(--text);margin-bottom:1.25rem}.mission-section p{font-size:.85rem;line-height:1.75;color:var(--muted);max-width:60ch;margin-bottom:1rem}.mission-section p:last-of-type{margin-bottom:0}.mission-section p em{color:var(--text);font-style:italic}.mission-section p strong{color:var(--text);font-weight:500}.mission-divider{border-top:1px solid var(--border)}.mission-cta-row{display:flex;gap:.75rem;align-items:center}.mdp{background:#080f1a;border:1px solid #1a2d45;border-radius:10px;overflow:hidden;margin:0}.mdp-topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #1a2d45}.mdp-topbar-name{font-size:.7rem;font-weight:600;color:#e2e8f0;letter-spacing:.04em}.mdp-topbar-meta{font-size:.6rem;color:#4d6480;text-transform:uppercase;letter-spacing:.1em}.mdp-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#1a2d45;border-bottom:1px solid #1a2d45}.mdp-sc{background:#111e30;padding:14px 14px 12px;position:relative;overflow:hidden}.mdp-sc-accent{position:absolute;top:0;left:0;right:0;height:2px}.mdp-sc--risk .mdp-sc-accent{background:linear-gradient(90deg,#ef4444,#f97316)}.mdp-sc--load .mdp-sc-accent{background:linear-gradient(90deg,#f59e0b,#eab308)}.mdp-sc--asym .mdp-sc-accent{background:linear-gradient(90deg,#8b5cf6,#6366f1)}.mdp-sc--ready .mdp-sc-accent{background:linear-gradient(90deg,#10b981,#06b6d4)}.mdp-sc-val{display:block;font-size:1.6rem;font-weight:800;line-height:1;margin-top:2px}.mdp-sc--risk .mdp-sc-val{color:#f87171}.mdp-sc--load .mdp-sc-val{color:#fbbf24}.mdp-sc--asym .mdp-sc-val{color:#a78bfa}.mdp-sc--ready .mdp-sc-val{color:#34d399}.mdp-sc-lbl{display:block;font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;color:#4d6480;margin-top:5px}.mdp-sc-note{display:block;font-size:.55rem;color:#4d6480;margin-top:4px;line-height:1.3}.mdp-table-wrap{border-bottom:1px solid #1a2d45}.mdp-thead{display:grid;grid-template-columns:1fr 100px 100px 100px;padding:6px 14px;border-bottom:1px solid #1a2d45;background:#0d1424}.mdp-th{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#4d6480;text-align:center}.mdp-th--name{text-align:left}.mdp-row{display:grid;grid-template-columns:1fr 100px 100px 100px;padding:6px 14px;border-bottom:1px solid rgba(26,45,69,.5);align-items:center;transition:background .1s}.mdp-row:last-child{border-bottom:none}.mdp-row--breaking{background:#ef44440a}.mdp-td{font-size:.65rem;color:#94a3b8;text-align:center}.mdp-td--name{display:flex;align-items:center;gap:7px;text-align:left;color:#e2e8f0;font-size:.65rem;font-weight:500}.mdp-badge{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:3px;font-size:.5rem;font-weight:700;flex-shrink:0}.mdp-badge--r{background:#1e3a8a;color:#93c5fd}.mdp-badge--l{background:#4c1d95;color:#c4b5fd}.mdp-pill{display:inline-block;padding:2px 7px;border-radius:99px;font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.mdp-pill--breaking{background:#ef444426;color:#fca5a5}.mdp-pill--building{background:#f59e0b1f;color:#fcd34d}.mdp-pill--recovering{background:#10b9811a;color:#6ee7b7}.mdp-trend{font-weight:700;font-size:.7rem!important}.mdp-trend--breaking{color:#f87171!important}.mdp-trend--building{color:#fbbf24!important}.mdp-trend--recovering{color:#34d399!important}.mdp-load{color:#4d6480!important}.mdp-flag{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:#ef44440f;border-top:1px solid rgba(239,68,68,.2)}.mdp-flag-dot{width:6px;height:6px;border-radius:50%;background:#ef4444;flex-shrink:0;margin-top:5px}.mdp-flag-text{font-size:.62rem;line-height:1.55;color:#fca5a5}.mdp-flag-text strong{color:#fff;font-weight:600}@media (max-width: 560px){.mdp-scores{grid-template-columns:1fr 1fr}.mdp-thead,.mdp-row{grid-template-columns:1fr 80px 60px}.mdp-td:nth-child(4),.mdp-th:nth-child(4){display:none}}nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2.5rem;background:#f8f7f4eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .25s}nav.scrolled{border-bottom-color:var(--border)}.logo{font-family:Cormorant Garamond,serif;font-weight:400;font-size:1.1rem;letter-spacing:.06em;color:var(--text);text-decoration:none}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text)}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.menu-toggle span{display:block;width:20px;height:1.5px;background:var(--text);transition:transform .2s}.menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.open span:nth-child(2){transform:translateY(-6px) rotate(-45deg)}@media (max-width: 640px){.menu-toggle{display:flex}.nav-links{display:none;position:fixed;top:60px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--border);padding:1rem 2.5rem}.nav-links.open{display:flex}.nav-links a{padding:.6rem 0;font-size:.8rem}}.hero{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:5rem 2rem 2rem}.hero-inner{display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:360px;width:100%}.hero-canvas-wrap{display:flex;flex-direction:column;align-items:center;gap:.75rem}.viz-inputs{display:flex;gap:.5rem;justify-content:center;margin-bottom:.75rem}.file-chip{font-family:ui-monospace,SF Mono,monospace;font-size:.62rem;color:var(--muted);border:1px solid var(--border);border-radius:2px;padding:.2rem .55rem;letter-spacing:.01em}.chip-plus{font-size:.62rem;color:var(--muted);opacity:.45;align-self:center}.viz-toggle{display:flex;align-items:center;gap:.45rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-track{width:28px;height:15px;border-radius:99px;border:1px solid var(--border);background:transparent;position:relative;transition:background .2s,border-color .2s}.toggle-thumb{position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:var(--muted);opacity:.45;transition:transform .2s,background .2s,opacity .2s}.toggle-track.on{background:var(--accent);border-color:var(--accent)}.toggle-track.on .toggle-thumb{transform:translate(13px);background:#fff;opacity:1}.toggle-label{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:color .2s}.toggle-label.on{color:var(--accent)}.viz-meta{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);opacity:.45}.hero-text{text-align:center}.hero-text h1{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(1.55rem,4vw,2.1rem);line-height:1.18;letter-spacing:-.01em;color:var(--text);margin-bottom:.75rem}.hero-text h1 em{font-style:italic;color:var(--accent)}.hero-body{font-size:.82rem;line-height:1.65;color:var(--muted);max-width:28ch;margin:0 auto 1.25rem}.fpmt-link{color:var(--text);font-weight:500;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:1px;transition:color .2s,border-color .2s}.fpmt-link:hover{color:var(--accent)}.ctas{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:.65rem 1.25rem;border-radius:2px;transition:opacity .2s,background .2s;white-space:nowrap}.btn svg{width:13px;height:13px;flex-shrink:0}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.88}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.divider{border:none;border-top:1px solid var(--border);margin:0}.section-label{padding:1.5rem 2rem 0;max-width:680px;margin:0 auto}.section-label span{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);opacity:.45}.finding{max-width:560px;margin:0 auto;padding:5rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.finding p{font-size:.88rem;line-height:1.75;color:var(--muted)}.finding strong{color:var(--text);font-weight:500}.footer-cta{text-align:center;padding:5rem 2rem;border-top:1px solid var(--border)}.footer-cta h2{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.22;color:var(--text);margin-bottom:2rem}.footer-cta h2 em{font-style:italic;color:var(--accent)}footer{padding:2rem 2.5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}footer p{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.5}
