:root { --ink:#102b38; --paper:#f8f7f2; --blue:#247fe8; --mint:#22c7a5; --green:#075e35; --line:rgba(16,43,56,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.site-header { align-items:center; background:rgba(248,247,242,.94); border-bottom:1px solid var(--line); display:flex; justify-content:space-between; min-height:78px; padding:0 clamp(24px,5vw,80px); position:sticky; top:0; z-index:20; backdrop-filter:blur(10px); }
.brand { align-items:center; display:inline-flex; font-family:"DM Mono",monospace; font-size:11px; font-weight:500; gap:11px; letter-spacing:.08em; line-height:1.12; }
.brand-mark { display:flex; gap:3px; height:22px; align-items:flex-end; }
.brand-mark i { background:var(--ink); display:block; width:4px; }
.brand-mark i:nth-child(1) { height:9px; }.brand-mark i:nth-child(2) { height:16px; }.brand-mark i:nth-child(3) { height:22px; }
.main-nav { display:flex; gap:clamp(16px,2.8vw,42px); font-size:13px; font-weight:700; }
.main-nav a:hover, .site-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.menu-toggle { background:transparent; border:0; color:var(--ink); cursor:pointer; display:none; font:700 12px Manrope,sans-serif; padding:10px 0; text-transform:uppercase; }
.hero { align-items:end; background:#d9ecff; display:flex; justify-content:space-between; min-height:590px; overflow:hidden; padding:clamp(70px,10vw,146px) clamp(24px,9vw,150px) clamp(64px,8vw,120px); }
.hero-copy { align-self:center; max-width:570px; position:relative; z-index:2; }
.eyebrow, .product-kicker { font-family:"DM Mono",monospace; font-size:12px; font-weight:500; letter-spacing:.1em; margin:0 0 19px; }
.hero h1, h2, h3, p { margin-top:0; }.hero h1, h2 { font-weight:800; letter-spacing:0; line-height:1.03; }
.hero h1 { font-size:clamp(48px,5.4vw,88px); margin-bottom:27px; }
.hero-intro { font-size:18px; max-width:460px; margin-bottom:34px; }
.button { align-items:center; border:1px solid currentColor; display:inline-flex; font-size:13px; font-weight:800; gap:22px; justify-content:space-between; min-height:50px; padding:0 18px; transition:transform .2s, background .2s; }.button:hover { transform:translateY(-2px); }.button span { font-size:20px; line-height:1; }
.button-dark { background:var(--ink); color:#fff; }.button-light { background:#fff; color:var(--ink); }
.hero-side-note { border-top:1px solid var(--ink); font:500 13px/1.55 "DM Mono",monospace; margin:0 0 9px; max-width:265px; padding-top:15px; }
.products-intro { display:flex; justify-content:space-between; gap:40px; padding:clamp(80px,11vw,160px) clamp(24px,9vw,150px) clamp(50px,7vw,104px); }.products-intro h2 { font-size:clamp(38px,4.7vw,70px); margin:0; }.products-intro > p { align-self:end; font-size:18px; max-width:460px; margin:0 0 6px; }
.product-picker { align-items:end; background:var(--ink); color:#fff; display:flex; gap:34px; justify-content:space-between; padding:38px clamp(24px,9vw,150px); }.product-picker label { font:500 12px "DM Mono",monospace; letter-spacing:.1em; padding-bottom:16px; }.select-wrap { border-bottom:1px solid rgba(255,255,255,.75); max-width:560px; position:relative; width:100%; }.select-wrap:after { content:"↓"; font-size:22px; pointer-events:none; position:absolute; right:1px; top:10px; }.select-wrap select { appearance:none; background:transparent; border:0; border-radius:0; color:#fff; cursor:pointer; font:700 clamp(20px,2.4vw,31px) Manrope,Arial,sans-serif; letter-spacing:0; outline:0; padding:4px 38px 16px 0; width:100%; }.select-wrap option { background:var(--ink); color:#fff; font-size:16px; }.product-strip { display:none; }
.app-section { display:grid; grid-template-columns:minmax(320px,1fr) minmax(280px,.82fr); gap:clamp(42px,8vw,140px); padding:clamp(88px,11vw,160px) clamp(24px,9vw,150px); }.app-panel { animation:panel-in .35s ease both; }.loanwise { background:var(--blue); color:#fff; }.tracker { background:#c4f2e6; }.cleaner { background:var(--green); color:#fff; }.section-heading { max-width:630px; }.product-kicker { margin-bottom:28px; }.product-kicker span { border:1px solid currentColor; display:inline-grid; height:25px; margin-right:11px; place-items:center; width:25px; }.section-heading h2 { font-size:clamp(46px,5.2vw,82px); margin-bottom:25px; }.section-lede { font-size:19px; max-width:490px; margin-bottom:34px; }.app-visual { align-self:start; justify-self:center; max-width:330px; position:relative; }.app-visual:before { border:1px solid currentColor; content:""; inset:-13px 13px 13px -13px; opacity:.42; position:absolute; }.app-visual img { border:8px solid #102b38; box-shadow:16px 16px 0 rgba(16,43,56,.22); position:relative; width:100%; }.visual-cleaner img { border-color:#d7fbe4; box-shadow:16px 16px 0 rgba(0,0,0,.2); }
@keyframes panel-in { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
.feature-list { border-top:1px solid currentColor; grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); margin-top:50px; }.feature-list article { border-right:1px solid currentColor; padding:26px clamp(18px,2.5vw,36px) 0 0; margin-right:clamp(18px,2.5vw,36px); }.feature-list article:last-child { border:0; margin:0; }.feature-list span { font-family:"DM Mono",monospace; font-size:12px; }.feature-list h3 { font-size:21px; letter-spacing:0; margin:35px 0 10px; }.feature-list p { font-size:14px; margin:0; max-width:300px; }
.screen-row { display:grid; gap:clamp(14px,2vw,32px); grid-column:1/-1; grid-template-columns:repeat(3,1fr); margin-top:60px; }.screen-row figure { margin:0; }.screen-row img { border:6px solid var(--ink); width:100%; }.loanwise .screen-row img { border-color:#fff; }.cleaner .screen-row img { border-color:#a6e7b7; }.screen-row figcaption { font-family:"DM Mono",monospace; font-size:12px; margin-top:12px; }.product-note { border-top:1px solid currentColor; font-size:13px; grid-column:1/-1; margin:60px 0 0; padding-top:22px; }
.privacy { background:#f2c94c; padding:clamp(82px,10vw,145px) clamp(24px,9vw,150px); }.privacy h2 { font-size:clamp(42px,5vw,76px); margin:0 0 70px; }.privacy-grid { border-top:1px solid var(--ink); display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,4vw,72px); padding-top:25px; }.privacy-grid p { font-size:15px; margin:0; }.privacy-grid strong { display:block; font-size:18px; margin-bottom:12px; }.privacy-grid a { text-decoration:underline; text-underline-offset:4px; word-break:break-word; }
.site-footer { align-items:end; background:var(--ink); color:#fff; display:grid; gap:30px; grid-template-columns:1fr 1fr auto; padding:42px clamp(24px,5vw,80px); }.brand-footer .brand-mark i { background:#f2c94c; }.site-footer p { font-size:13px; margin:0; }.site-footer > a:last-child { font:500 12px "DM Mono",monospace; }
@media (max-width:860px) { .site-header { min-height:65px; padding:0 22px; }.menu-toggle { display:block; }.main-nav { background:var(--paper); border-bottom:1px solid var(--line); display:none; flex-direction:column; gap:0; left:0; padding:9px 22px 20px; position:absolute; right:0; top:64px; }.main-nav.open { display:flex; }.main-nav a { padding:12px 0; }.hero { display:block; min-height:unset; padding:80px 24px 55px; }.hero-copy { padding-bottom:42px; }.hero-intro { font-size:16px; }.hero-side-note { max-width:265px; }.products-intro { display:block; padding:86px 24px 48px; }.products-intro > p { font-size:16px; margin-top:30px; }.product-picker { align-items:stretch; display:block; padding:29px 24px 34px; }.product-picker label { display:block; padding:0 0 18px; }.select-wrap { max-width:none; }.select-wrap select { font-size:20px; }.app-section { display:block; padding:86px 24px; }.section-heading h2 { font-size:49px; }.section-lede { font-size:17px; }.app-visual { margin:55px auto 0; max-width:290px; }.feature-list { display:block; margin-top:65px; }.feature-list article { border-bottom:1px solid currentColor; border-right:0; margin:0; padding:24px 0; }.feature-list h3 { margin:18px 0 8px; }.screen-row { gap:35px; grid-template-columns:1fr; margin-top:56px; }.screen-row figure { max-width:300px; }.product-note { margin-top:55px; }.privacy { padding:80px 24px; }.privacy h2 { margin-bottom:50px; }.privacy-grid { display:block; }.privacy-grid p { border-bottom:1px solid var(--ink); padding:0 0 24px; margin-bottom:24px; }.privacy-grid p:last-child { border:0; margin:0; padding:0; }.site-footer { align-items:start; grid-template-columns:1fr; padding:38px 24px; }.site-footer > a:last-child { margin-top:10px; } }

/* Single-product showcase: only the current app is present in the document flow. */
.app-panel[hidden] { display:none !important; }
.hero { background:#fff; border-bottom:1px solid var(--line); min-height:440px; }
.hero-side-note { color:#4d626c; }
.products-intro { border-bottom:1px solid var(--line); padding-bottom:clamp(42px,5vw,70px); padding-top:clamp(62px,7vw,96px); }
.product-picker { background:#102b38; }
.loanwise { --product-accent:#247fe8; }
.tracker { --product-accent:#0d9f87; }
.cleaner { --product-accent:#075e35; }
.app-section { background:#fff !important; color:var(--ink) !important; grid-template-columns:minmax(290px,.9fr) minmax(220px,.52fr) minmax(260px,.78fr); gap:clamp(36px,5vw,86px); padding-bottom:clamp(72px,8vw,112px); padding-top:clamp(72px,8vw,112px); position:relative; }
.app-section:before { background:var(--product-accent); content:""; height:5px; left:clamp(24px,9vw,150px); position:absolute; top:0; width:88px; }
.app-section .product-kicker { color:var(--product-accent); }
.app-section .section-heading { align-self:center; }
.app-section .section-heading h2 { font-size:clamp(42px,4.6vw,70px); }
.app-section .button { background:var(--product-accent); border-color:var(--product-accent); color:#fff; }
.app-section .app-visual { align-self:center; grid-column:2; grid-row:1; max-width:265px; }
.app-section .feature-list { align-self:center; border-top:0; display:block; grid-column:3; grid-row:1; margin:0; }
.app-section .feature-list article { border-bottom:1px solid var(--line); border-right:0; margin:0; padding:19px 0; }
.app-section .feature-list article:first-child { border-top:1px solid var(--line); }
.app-section .feature-list h3 { font-size:18px; margin:12px 0 5px; }
.app-section .feature-list p { font-size:13px; }
.app-section .screen-row { border-top:1px solid var(--line); gap:18px; margin-top:18px; padding-top:32px; }
.app-section .screen-row { grid-template-columns:repeat(5, minmax(0, 1fr)); }
.app-section .screen-row figure { max-width:180px; }
.app-section .screen-row img { border-color:var(--ink); height:auto; margin:0; max-height:none; object-fit:contain; width:100%; }
.app-section .screen-row figcaption { color:#4d626c; }
.app-section .product-note { border-color:var(--line); color:#4d626c; margin-top:16px; }
.app-section img { cursor:zoom-in; }
.image-dialog { background:#fff; border:0; box-shadow:0 24px 70px rgba(0,0,0,.32); inset:50% auto auto 50%; margin:0; max-height:calc(100dvh - 48px); max-width:min(92vw,720px); padding:16px; position:fixed; transform:translate(-50%,-50%); width:fit-content; }
.image-dialog::backdrop { background:rgba(16,43,56,.76); }
.image-dialog img { display:block; max-height:calc(100dvh - 116px); max-width:100%; object-fit:contain; width:auto; }
.image-dialog p { color:var(--ink); font:500 12px "DM Mono",monospace; margin:12px 0 0; padding-right:38px; }
.image-dialog-close { align-items:center; background:var(--ink); border:0; color:#fff; cursor:pointer; display:grid; font:500 22px/1 Arial,sans-serif; height:34px; justify-content:center; position:absolute; right:16px; top:16px; width:34px; z-index:1; }
.image-dialog-close:hover { background:#247fe8; }
@media (max-width:980px) { .app-section { grid-template-columns:1fr 280px; }.app-section .feature-list { grid-column:1/-1; grid-row:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.app-section .feature-list article { border-top:1px solid var(--line); }.app-section .app-visual { grid-column:2; }.app-section .screen-row { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (max-width:860px) { .hero { min-height:unset; }.app-section { display:block; padding-bottom:76px; padding-top:76px; }.app-section:before { left:24px; }.app-section .app-visual { margin:45px auto; }.app-section .feature-list { display:block; }.app-section .feature-list article { border-top:0; }.app-section .feature-list article:first-child { border-top:1px solid var(--line); }.app-section .screen-row { padding-top:26px; }.app-section .screen-row img { max-height:none; } }
