:root{
  --ink:#1D3A6E;--ink-2:#152C55;--night:#0B1A33;--night-2:#10244A;
  --paper:#EEF3FA;--paper-2:#F7FAFD;--white:#FFFFFF;
  --mint:#2BB38A;--mint-hi:#5FD4AE;--mint-deep:#177A5C;--mint-soft:#DDF3EB;
  --text:#16213A;--muted:#56627A;--line:#D8E2F0;--line-dark:rgba(255,255,255,.12);
  --r:14px;--r-lg:24px;
  --serif:"DM Serif Display",Georgia,"Times New Roman",serif;
  --sans:"Work Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --shadow:0 1px 1px rgba(14,31,61,.04),0 8px 24px -8px rgba(14,31,61,.12),0 32px 64px -32px rgba(14,31,61,.22);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper-2);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--mint-deep)}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:6px}
::selection{background:var(--mint-soft);color:var(--ink)}
.wrap{width:min(1200px,100% - 48px);margin-inline:auto}
.narrow{width:min(760px,100% - 48px);margin-inline:auto}
.grain{position:absolute;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* progress */
.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--mint),var(--mint-hi));z-index:100}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}
.site-header.scrolled{background:rgba(11,26,51,.72);-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);box-shadow:0 1px 0 var(--line-dark)}
.logo{font-family:var(--serif);font-size:1.45rem;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:10px;letter-spacing:.005em}
.logo:hover{color:var(--white)}
.logo-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.22);display:grid;place-items:center}
.nav{display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line-dark)}
.nav a{text-decoration:none;font-weight:500;font-size:.92rem;color:#D9E3F3;padding:8px 14px;border-radius:999px;transition:background .2s,color .2s}
.nav a:hover{color:var(--white);background:rgba(255,255,255,.08)}
.nav a[aria-current="page"]{color:var(--white);background:rgba(43,179,138,.22)}
.nav a.btn{color:var(--white);padding:9px 18px;margin-left:4px}
.menu-btn{display:none;background:rgba(255,255,255,.08);border:1px solid var(--line-dark);border-radius:999px;padding:9px 16px;font:inherit;font-size:.92rem;color:var(--white);cursor:pointer}

/* buttons */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#1E9471,var(--mint-deep));color:var(--white)!important;text-decoration:none;font-weight:600;letter-spacing:.005em;padding:15px 28px;border-radius:999px;border:0;font-size:1rem;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 24px -10px rgba(23,122,92,.7);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 16px 32px -12px rgba(23,122,92,.8)}
.btn:hover::after{transform:translateX(120%)}
.btn .arrow{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;transition:transform .25s var(--ease)}
.btn:hover .arrow{transform:translateX(3px)}
.btn-sm{padding:10px 18px;font-size:.92rem}
.btn-glass{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-glass:hover{background:rgba(255,255,255,.14);box-shadow:none}

/* dark surfaces */
.dark{position:relative;background:var(--night);color:var(--white);overflow:hidden}
.aurora{position:absolute;inset:-20%;pointer-events:none;filter:blur(70px);opacity:.75}
.aurora i{position:absolute;border-radius:50%;animation:drift 18s var(--ease) infinite alternate}
.aurora i:nth-child(1){width:46vw;height:46vw;left:8%;top:6%;background:radial-gradient(circle,rgba(43,179,138,.55),transparent 65%)}
.aurora i:nth-child(2){width:40vw;height:40vw;right:4%;top:0;background:radial-gradient(circle,rgba(47,96,178,.75),transparent 65%);animation-delay:-6s}
.aurora i:nth-child(3){width:34vw;height:34vw;left:38%;top:34%;background:radial-gradient(circle,rgba(95,212,174,.35),transparent 65%);animation-delay:-12s}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(4vw,3vw,0) scale(1.08)}100%{transform:translate3d(-3vw,5vw,0) scale(.95)}}
.gridlines{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%)}

/* home hero */
.hero{padding:150px 0 120px;text-align:center;border-radius:0 0 40px 40px}
.hero .wrap{position:relative;z-index:2}
.pill{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 8px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line-dark);font-size:.9rem;color:#D9E3F3;margin-bottom:26px}
.pill b{white-space:nowrap;background:var(--mint);color:var(--night);font-size:.78rem;padding:3px 10px;border-radius:999px;font-weight:700}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.6rem,11vw,8.6rem);line-height:.92;letter-spacing:-.025em;margin:0 0 26px;color:#fff}
.hero p.lede{max-width:600px;margin:0 auto 36px;font-size:1.18rem;color:#BBCBE3}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:72px}

/* calculator stage */
.stage{position:relative;max-width:860px;margin:0 auto;perspective:1400px}
.slip{position:relative;z-index:2;background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.18);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);box-shadow:0 40px 80px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.2);text-align:left;color:var(--white);transform-style:preserve-3d;transition:transform .5s var(--ease)}
.slip-head{display:flex;justify-content:space-between;align-items:center;padding:26px 32px 0}
.slip-head h2{font-family:var(--serif);font-weight:400;font-size:1.6rem;margin:0}
.slip-head span{font-size:.85rem;color:#A9BBD6}
.slip-body{display:grid;grid-template-columns:1.15fr .85fr;gap:0}
.controls{padding:24px 32px 30px;display:grid;gap:22px}
.ctrl label{display:flex;justify-content:space-between;font-size:.88rem;color:#BBCBE3;margin-bottom:10px;font-weight:500}
.ctrl output{color:var(--white);font-weight:600;font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;margin:-11px 0;background:linear-gradient(90deg,var(--mint) var(--p,50%),rgba(255,255,255,.16) var(--p,50%)) center/100% 6px no-repeat;outline:none;cursor:pointer;touch-action:pan-y}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--white);border:5px solid var(--mint);box-shadow:0 0 0 6px rgba(43,179,138,.2);transition:box-shadow .2s}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--white);border:5px solid var(--mint)}
input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 8px rgba(43,179,138,.4)}
.result{border-left:1px solid var(--line-dark);padding:24px 32px 30px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;background:linear-gradient(180deg,rgba(43,179,138,.12),transparent)}
.result small{display:block;font-size:.85rem;color:#BBCBE3}
.result .amount{font-family:var(--serif);font-size:clamp(3rem,6vw,4.2rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.result .amount sup{font-size:.45em;vertical-align:.9em;margin-right:2px;color:var(--mint-hi)}
.result .per{font-size:.95rem;color:#BBCBE3}
.result p{font-size:.8rem;color:#98A9C6;margin:0}
.result .btn{width:100%}
.chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:16px;background:rgba(255,255,255,.95);color:var(--text);box-shadow:0 20px 40px -18px rgba(0,0,0,.55);font-size:.86rem;font-weight:600;white-space:nowrap;animation:float 6s ease-in-out infinite}
.chip i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--mint-soft);color:var(--mint-deep);font-style:normal;font-weight:700}
.chip span{display:block;font-weight:400;font-size:.76rem;color:var(--muted)}
.chip.c1{right:calc(100% + 28px);top:70px}
.chip.c2{left:calc(100% + 28px);top:24px;animation-delay:-1.5s}
.chip.c3{right:calc(100% + 28px);bottom:60px;animation-delay:-3s}
.chip.c4{left:calc(100% + 28px);bottom:110px;animation-delay:-4.5s}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}
.hero-fade{height:120px;margin-top:70px;background:linear-gradient(180deg,transparent,var(--paper-2));position:relative;z-index:1}

/* marquee */
.marquee{overflow:hidden;padding:26px 0;margin-top:36px;border-block:1px solid var(--line);background:var(--white);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;gap:56px;width:max-content;animation:marq 28s linear infinite}
.marquee span{font-family:var(--serif);font-size:1.6rem;color:var(--ink);white-space:nowrap;display:flex;align-items:center;gap:56px}
.marquee span::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--mint)}
@keyframes marq{to{transform:translateX(-50%)}}

/* sections */
section{padding:110px 0;position:relative}
.sec-head{max-width:720px;margin-bottom:52px}
.sec-head h2,.display{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.04;letter-spacing:-.018em;color:var(--ink);margin:0 0 16px}
.sec-head p{font-size:1.12rem;color:var(--muted);margin:0}
.dark .sec-head h2{color:var(--white)}
.dark .sec-head p{color:#BBCBE3}

/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.card{position:relative;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--shadow);transition:transform .4s var(--ease),border-color .3s}
.card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(43,179,138,.14),transparent 45%)}
.card:hover{transform:translateY(-4px);border-color:#BFD9CE}
.card:hover::before{opacity:1}
.b-2{grid-column:span 2}.b-3{grid-column:span 3}.b-4{grid-column:span 4}
.stat{font-family:var(--serif);font-size:clamp(3rem,5.5vw,4.6rem);line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.card h3{font-family:var(--serif);font-weight:400;font-size:1.55rem;line-height:1.15;color:var(--ink);margin:14px 0 8px}
.card p{margin:0;color:var(--muted)}
.card.feature{background:linear-gradient(150deg,var(--ink),var(--night));color:var(--white);border-color:transparent}
.card.feature .stat,.card.feature h3{color:var(--white)}
.card.feature p{color:#BBCBE3}
.card.feature::before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(95,212,174,.25),transparent 45%)}
.meter{margin-top:22px;height:10px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.meter i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--mint),var(--mint-hi));transition:width 1.6s var(--ease)}
.in .meter i{width:99%}
.months{display:flex;gap:6px;margin-top:20px;flex-wrap:wrap}
.months b{font-size:.8rem;font-weight:600;padding:5px 10px;border-radius:99px;background:var(--mint-soft);color:var(--mint-deep)}
a.card{text-decoration:none;color:inherit;display:flex;flex-direction:column}
a.card .go{margin-top:auto;padding-top:22px;display:flex;align-items:center;gap:8px;font-weight:600;color:var(--mint-deep);font-size:.95rem}
a.card .go svg{transition:transform .25s var(--ease)}
a.card:hover .go svg{transform:translateX(4px)}
.icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--mint-soft);color:var(--mint-deep)}

/* prose / article */
.content h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.1;letter-spacing:-.012em;color:var(--ink);margin:64px 0 16px;scroll-margin-top:100px}
.content h2:first-child{margin-top:0}
.content h3{font-size:1.15rem;margin:28px 0 8px;color:var(--ink)}
.content p,.content li{max-width:68ch}
.content ul{padding-left:0;list-style:none}
.content ul li{position:relative;padding-left:30px;margin-bottom:10px}
.content ul li::before{content:"";position:absolute;left:0;top:.5em;width:16px;height:16px;border-radius:50%;background:var(--mint-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23177A5C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.answer{position:relative;background:var(--white);border:1px solid var(--line);padding:26px 28px 26px 32px;border-radius:var(--r-lg);font-size:1.12rem;line-height:1.6;margin:0 0 32px;box-shadow:var(--shadow);max-width:none!important}
.answer::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--mint),var(--ink))}
.table-wrap{overflow-x:auto;margin:24px 0 8px;background:var(--white);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.95rem}
th,td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--night);color:var(--white);font-weight:600;font-size:.9rem}
tbody th{color:var(--ink);font-weight:600;background:var(--paper-2);width:40%}
tbody tr{transition:background .2s}
.table-wrap.pay th,.table-wrap.pay td{padding:12px 12px;font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.table-wrap.pay table{min-width:0}
tbody tr:hover{background:#F2F8F5}
tr:last-child td,tr:last-child th{border-bottom:0}
.article{padding-top:80px}
.article-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:72px;align-items:start}
.toc{position:sticky;top:110px;font-size:.92rem}
.toc p{font-weight:600;color:var(--ink);margin:0 0 12px}
.toc ol{list-style:none;margin:0 0 24px;padding:0;border-left:1px solid var(--line)}
.toc ol a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;transition:color .2s,border-color .2s}
.toc ol a:hover{color:var(--ink)}
.toc ol a.on{color:var(--ink);border-left-color:var(--mint);font-weight:600}
.toc .btn{width:100%}
.prose{max-width:760px}

/* split + steps */
.split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:64px;align-items:start}
.aside-box{background:var(--white);border-radius:var(--r-lg);padding:30px;border:1px solid var(--line);position:sticky;top:110px;box-shadow:var(--shadow)}
.aside-box h3{font-family:var(--serif);font-weight:400;font-size:1.6rem;margin:0 0 14px;color:var(--ink)}
.aside-box ul{margin:0 0 24px}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:14px;margin:20px 0}
.steps li{counter-increment:s;background:var(--white);border-radius:18px;padding:20px 22px 20px 78px;position:relative;border:1px solid var(--line);max-width:none!important;box-shadow:var(--shadow)}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:20px;top:18px;width:40px;height:40px;border-radius:12px;background:linear-gradient(150deg,var(--ink),var(--night));color:var(--white);font-family:var(--serif);font-size:1.05rem;display:grid;place-items:center}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:t;list-style:none;padding:0;margin:0;position:relative}
.timeline::before{content:"";position:absolute;left:0;right:0;top:28px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}
.timeline li{counter-increment:t;position:relative;padding-top:76px}
.timeline li::before{content:counter(t);position:absolute;top:0;left:0;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.5rem;background:var(--night-2);border:1px solid rgba(95,212,174,.5);color:var(--mint-hi);box-shadow:0 0 0 8px var(--night),0 0 30px rgba(43,179,138,.35)}
.timeline h3{font-family:var(--serif);font-weight:400;font-size:1.45rem;margin:0 0 8px;color:var(--white)}
.timeline p{margin:0;color:#BBCBE3;font-size:.98rem}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}
.quote{background:var(--white);border-radius:var(--r-lg);padding:26px;border:1px solid var(--line);box-shadow:var(--shadow);max-width:none}
.quote::before{content:"\201C";display:block;font-family:var(--serif);font-size:3.4rem;line-height:.6;color:var(--mint);margin-bottom:10px}
.quote p{margin:0 0 12px;max-width:none}
.quote .who{font-size:.86rem;color:var(--muted);font-weight:600}

/* faq */
.faq details{background:var(--white);border:1px solid var(--line);border-radius:18px;margin-bottom:12px;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.faq details[open]{border-color:#BFD9CE;box-shadow:var(--shadow)}
.faq summary{cursor:pointer;padding:20px 64px 20px 24px;font-weight:600;font-size:1.05rem;color:var(--ink);list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:20px;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;background:var(--mint-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3v10M3 8h10' stroke='%23177A5C' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq .faq-a{overflow:hidden}
.faq .faq-a p{margin:0;padding:0 24px 22px;max-width:none;color:var(--muted)}

/* page hero */
.page-hero{padding:160px 0 90px}
.page-hero .wrap{position:relative;z-index:2}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,7vw,5.4rem);line-height:.98;letter-spacing:-.022em;margin:0 0 20px;max-width:900px;color:#fff}
.page-hero p:not(.updated){max-width:640px;color:#BBCBE3;font-size:1.18rem;margin:0 0 32px}
.crumbs{font-size:.88rem;margin-bottom:26px;color:#98A9C6;display:flex;gap:8px;align-items:center}
.crumbs a{color:#D9E3F3;text-decoration:none}
.crumbs a:hover{color:var(--white)}
.orb{position:absolute;right:-6%;top:50%;width:min(520px,48vw);aspect-ratio:1;transform:translateY(-45%);pointer-events:none;z-index:1;opacity:.9}
.orb circle{fill:none;stroke:rgba(255,255,255,.12)}
.orb .spin{transform-origin:260px 260px;animation:spin 40s linear infinite}
.orb .spin2{transform-origin:260px 260px;animation:spin 28s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}

/* cta band */
.cta-band{padding:0 0 110px;background:var(--paper-2)}
.cta-card{position:relative;overflow:hidden;border-radius:32px;padding:80px 64px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;background:var(--night);color:var(--white)}
.cta-card>*{position:relative;z-index:2}
.cta-card h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.02;letter-spacing:-.018em;margin:0 0 12px;max-width:620px}
.cta-card p{margin:0;color:#BBCBE3;font-size:1.1rem}
.cta-card .aurora{opacity:.6}

/* apply */
#apply-form{scroll-margin-top:80px;isolation:isolate;position:relative;padding-top:0;margin-top:-56px;z-index:5}
.form-shell{background:var(--white);border-radius:var(--r-lg);padding:32px;border:1px solid var(--line);isolation:isolate;min-height:460px;box-shadow:var(--shadow)}
.trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.trust span{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:#D9E3F3;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line-dark)}
.trust span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mint)}

/* footer */
.site-footer{position:relative;overflow:hidden;background:var(--night);color:#98A9C6;padding:90px 0 36px;font-size:.93rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:56px;position:relative;z-index:2}
.site-footer h4{color:var(--white);margin:0 0 16px;font-size:.95rem;font-weight:600}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:10px}
.site-footer a{color:#BBCBE3;text-decoration:none;transition:color .2s}
.site-footer a:hover{color:var(--mint-hi)}
.site-footer .logo:hover{color:var(--white)}
.wordmark{font-family:var(--serif);font-size:clamp(2.2rem,12.5vw,13rem);line-height:.8;letter-spacing:-.03em;white-space:nowrap;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 28px;user-select:none;position:relative;z-index:1}
.disclosure{border-top:1px solid var(--line-dark);padding-top:22px;font-size:.8rem;color:#7F90AE;position:relative;z-index:2}

/* reveal */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}
.js .rv.now{transition:none}
.js .line{display:block;overflow:hidden;padding-bottom:.08em}
.hero h1 .line>span,.page-hero h1 .line>span{background:linear-gradient(180deg,#FFFFFF 35%,#A9C3E6);-webkit-background-clip:text;background-clip:text;color:transparent}
.js .line>span{display:inline-block;transform:translateY(105%);animation:up 1s var(--ease) forwards;animation-delay:var(--d,0ms)}
@keyframes up{to{transform:none}}
.js .fade-in{opacity:0;animation:fi 1s var(--ease) forwards;animation-delay:var(--d,0ms)}
@keyframes fi{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media (max-width:1300px){
  .chip{display:none}
  .chip.c2{display:flex;position:static;margin:0 auto 18px;width:max-content;animation:none}
}
@media (max-width:1180px){
  .article-grid{grid-template-columns:200px minmax(0,1fr);gap:44px}
}
@media (max-width:999px){
  .article-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .toc{display:none}
  .prose{width:100%;max-width:760px;margin-inline:auto}
}
@media (max-width:1080px){
  .timeline{grid-template-columns:1fr 1fr;row-gap:40px}
  .timeline::before{display:none}
}
@media (max-width:900px){
  .split{grid-template-columns:minmax(0,1fr)}
  .aside-box{position:static}
  .bento{grid-template-columns:repeat(2,1fr)}
  .b-2,.b-3,.b-4{grid-column:span 2}
  .bento .half{grid-column:span 1}
  .foot-grid{grid-template-columns:1fr 1fr}
  .orb{opacity:.35}
}
@media (max-width:980px){
  .site-header .wrap{height:66px}
  .site-header{background:rgba(11,26,51,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:66px;left:12px;right:12px;flex-direction:column;align-items:stretch;gap:2px;padding:10px;border-radius:20px;background:#0B1A33;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
  .nav.open{display:flex}
  .nav a{padding:13px 16px;border-radius:12px}
  .nav a.btn{margin:8px 0 0}
  .nav{left:auto;width:min(360px,calc(100% - 24px))}
}
@media (max-width:760px){
  .nav{left:12px;width:auto}
  body{font-size:16px}
  .wrap,.narrow{width:min(100% - 36px,1200px)}
  section{padding:72px 0}
  .hero{padding-top:118px;padding-bottom:72px;border-radius:0 0 28px 28px}
  .hero-actions{margin-bottom:48px}
  .hero-actions .btn{width:100%}
  .slip-head{padding:22px 22px 0}
  .slip-head span{display:none}
  .pill{font-size:.82rem;text-align:left}
  .slip-body{grid-template-columns:1fr}
  .controls{padding:20px 22px 24px}
  .result{border-left:0;border-top:1px solid var(--line-dark);padding:22px}
  .bento .half{grid-column:span 2}
  .card{padding:24px}
  .timeline{grid-template-columns:1fr}
  .quotes{grid-template-columns:1fr}
  .page-hero{padding:120px 0 72px}
  .article{padding-top:56px}
  .cta-card{padding:48px 26px;border-radius:24px}
  .cta-card .btn{width:100%}
  .cta-band{padding-bottom:72px}
  .foot-grid{grid-template-columns:1fr}
  #apply-form{margin-top:-36px}
  .form-shell{padding:18px}
  table{min-width:0;font-size:.86rem}
  th,td{padding:12px 10px}
  .table-wrap.pay table{min-width:560px}
  .table-wrap.pay th,.table-wrap.pay td{padding:10px 9px;font-size:.84rem}
  tbody th{width:auto}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv,.js .fade-in{opacity:1;transform:none}
  .js .line>span{transform:none}
  .in .meter i,.meter i{width:99%}
}

/* v5 additions */
.updated{max-width:none!important;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.86rem;color:#98A9C6;margin:-12px 0 26px}
.updated span{display:inline-flex;align-items:center;gap:8px}
.updated span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint)}
.hero .updated{margin:-18px 0 30px}
.content ul.sources li::before{background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 4h6v6M12 4l-7 7' fill='none' stroke='%231D3A6E' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/10px no-repeat;border:1px solid var(--line)}
.content ul.sources a{font-size:.95rem}
.foot-grid.four{grid-template-columns:1.3fr 1fr 1fr 1fr}
@media (max-width:900px){.foot-grid.four{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
  .foot-grid.four{grid-template-columns:1fr 1fr}
  .foot-grid.four>div:first-child{grid-column:1/-1}
  .aurora{filter:blur(48px);opacity:.6}
  .aurora i{animation:none}
  .aurora i:nth-child(3){display:none}
  .grain{display:none}
  .slip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
}
.nw{white-space:nowrap}
.photo{margin:0 0 36px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);background:#E3EBF6;aspect-ratio:3/2}
.photo img{width:100%;height:100%;object-fit:cover}
.aside-box .photo{margin:0 0 22px;border-radius:16px}

/* v8: key facts */
.keyfacts{background:linear-gradient(160deg,#F2F8F5,#fff);border:1px solid #CFE6DC;border-radius:var(--r-lg);padding:24px 26px 14px;margin:0 0 32px}
.content .keyfacts h2{font-family:var(--sans);font-size:.95rem;font-weight:700;letter-spacing:.01em;color:var(--mint-deep);margin:0 0 12px}
.keyfacts ul{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 26px}
.content .keyfacts li{max-width:none;font-size:.97rem}
@media (max-width:760px){.keyfacts ul{grid-template-columns:1fr}.keyfacts{padding:20px 18px 8px}}

/* v8: sticky mobile CTA */
.m-cta{display:none}
@media (max-width:980px){
  .m-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:max(10px,calc(50% - 300px));right:max(10px,calc(50% - 300px));bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;padding:10px 10px 10px 18px;border-radius:18px;background:rgba(11,26,51,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;box-shadow:0 18px 40px -12px rgba(0,0,0,.55);transform:translateY(140%);transition:transform .35s var(--ease)}
  .m-cta.show{transform:none}
  .m-cta b{display:block;font-size:.95rem}
  .m-cta span{display:block;font-size:.78rem;color:#BBCBE3}
  .m-cta .btn{flex:none}
}
@media (prefers-reduced-motion:reduce){.m-cta{transition:none}}

/* v8: how-it-works sequence */
.seq{margin:24px 0 28px;padding:22px 18px 16px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);position:relative;
  background-image:linear-gradient(var(--line),var(--line)),linear-gradient(var(--line),var(--line)),linear-gradient(var(--line),var(--line));
  background-size:2px calc(100% - 150px);background-repeat:no-repeat;background-position:calc(16.666% + 3px) 110px,50% 110px,calc(83.333% - 3px) 110px}
.seq-nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px;position:relative;z-index:1}
.node{text-align:center;padding:12px 6px;border-radius:16px;background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.node svg{margin:0 auto 6px}
.node b{display:block;font-size:.95rem}
.node small{display:block;font-size:.76rem;color:var(--muted);line-height:1.3}
.node.hfd{background:var(--ink);border-color:var(--ink);color:#fff}
.node.hfd small{color:#BBCBE3}
.content .seq-msgs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);row-gap:6px;counter-reset:m;position:relative;z-index:1}
.content .seq-msgs li{max-width:none;margin:0;padding:0 calc(16.666% / 1) 0;counter-increment:m}
.content .seq-msgs li::before{display:none}
.msg{display:flex;flex-direction:column;align-items:center;padding:6px 0 4px!important}
.msg .lab{text-align:center;line-height:1.25;background:var(--white);padding:0 8px;position:relative;z-index:1}
.msg .lab b{display:block;font-size:.9rem;color:var(--text)}
.msg .lab b::before{content:counter(m) ". ";color:var(--mint-deep)}
.msg .lab small{display:block;font-size:.76rem;color:var(--muted)}
.msg .arr{display:block;height:2px;width:calc(100% - 33.333% / 1);margin:7px auto 0;background:var(--mint);position:relative}
.msg[style*="1 / 4"] .arr{width:66.666%}
.msg[style*="/ 3"] .arr,.msg[style*="2 / 4"] .arr{width:50%}
.msg .arr::after{content:"";position:absolute;top:-4px;border:5px solid transparent}
.msg.r .arr::after{right:-2px;border-left:8px solid var(--mint);border-right:0}
.msg.l .arr::after{left:-2px;border-right:8px solid var(--mint);border-left:0}
.seq figcaption{text-align:center;font-size:.8rem;color:var(--muted);margin-top:10px}
@media (max-width:760px){.seq{padding:16px 10px 12px}.node b{font-size:.84rem}.node small{display:none}.msg .lab b{font-size:.8rem}.msg .lab small{font-size:.75rem}}

/* v8: credit score checker */
.scoretool{background:linear-gradient(160deg,var(--ink),var(--night));color:#fff;border-radius:var(--r-lg);padding:26px 26px 24px;margin:20px 0 12px;box-shadow:var(--shadow)}
.st-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.st-head label{font-weight:600;color:#D9E3F3}
.st-head output{font-family:var(--serif);font-size:2.6rem;line-height:1;font-variant-numeric:tabular-nums}
.st-scale{position:relative;display:flex;margin:10px 0 26px;font-size:.72rem;color:#98A9C6;gap:2px}
.st-scale span{border-top:4px solid rgba(255,255,255,.22);padding-top:6px;text-align:center;white-space:nowrap}
.st-scale span:last-of-type{text-align:right}
.st-scale span:nth-child(3),.st-scale span:nth-child(4),.st-scale span:nth-child(5){border-top-color:rgba(95,212,174,.6)}
.st-scale .cut{position:absolute;top:-8px;width:2px;height:14px;background:#fff;font-style:normal}
.st-scale .cut em{position:absolute;top:28px;left:-10px;font-style:normal;font-size:.7rem;color:#fff;font-weight:600}
.st-res{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.st-res div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 14px}
.st-res dt{font-size:.78rem;color:#98A9C6;margin-bottom:2px}
.st-res dd{margin:0;font-weight:600;font-size:1rem}
.content .scoretool p.st-note{font-size:.82rem;color:#BBCBE3;margin:0 0 16px;max-width:none}
@media (max-width:760px){.st-res{grid-template-columns:1fr}.scoretool{padding:22px 18px}.st-scale span:nth-child(4),.st-scale span:nth-child(5){font-size:0}}

/* v9: touch targets */
@media (max-width:1024px){
  .site-footer li{margin-bottom:2px}
  .site-footer li a{display:inline-block;padding:9px 0}
  .crumbs a{display:inline-block;padding:8px 0}
}
