:root { --ink:#123b45; --muted:#59737b; --teal:#009eaa; --aqua:#66dce2; --orange:#ff7a2f; --pale:#effafb; --line:#d3ecee; --white:#fff; --shadow:0 18px 45px rgba(13,83,92,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fbffff; font-family:ui-rounded, "Avenir Next", Avenir, "Segoe UI", sans-serif; line-height:1.55; }
button,a { font:inherit; } a { color:inherit; } button { cursor:pointer; }
.skip-link { position:fixed; left:1rem; top:-4rem; z-index:20; background:var(--ink); color:#fff; padding:.65rem 1rem; border-radius:.5rem; }.skip-link:focus { top:1rem; }
.site-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:2rem; max-width:1200px; margin:auto; padding:1rem 2rem; background:rgba(251,255,255,.88); backdrop-filter:blur(16px); }
.brand { display:inline-flex; align-items:center; gap:.65rem; text-decoration:none; font-weight:800; letter-spacing:-.02em; }.brand img { width:42px; height:42px; border-radius:12px; box-shadow:0 5px 13px rgba(0,122,132,.18); }.site-nav { display:flex; gap:.35rem; align-items:center; }.site-nav a,.site-nav button,.footer-links a,.footer-links button { border:0; background:none; text-decoration:none; color:var(--muted); padding:.55rem .75rem; font-size:.92rem; }.site-nav a:hover,.site-nav a.is-active,.site-nav button:hover,.footer-links a:hover,.footer-links button:hover { color:var(--teal); }.menu-toggle { display:none; border:0; background:none; padding:.5rem; }.menu-toggle span:not(.sr-only) { display:block; width:24px; height:2px; margin:5px; background:var(--ink); }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hero { min-height:650px; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:3rem; max-width:1200px; padding:5rem 2rem 6rem; margin:auto; }.hero h1,.section-heading h2 { margin:.25rem 0 1rem; line-height:1.09; letter-spacing:-.052em; }.hero h1 { max-width:650px; font-size:clamp(3rem,6vw,5.6rem); }.eyebrow { margin:0 0:.65rem; color:var(--teal); font-size:.78rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.hero-text { max-width:570px; color:var(--muted); font-size:1.15rem; }.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.35rem; margin-top:2rem; }.button { display:inline-block; padding:.85rem 1.3rem; border-radius:999px; color:#fff; font-weight:800; text-decoration:none; }.button-primary { background:linear-gradient(120deg,#ff963f,var(--orange)); box-shadow:0 9px 20px rgba(255,122,47,.27); }.text-link { color:var(--teal); font-weight:800; text-decoration:none; }.text-link span { padding-left:.25rem; }
.hero-art { position:relative; align-self:center; width:min(375px,100%); height:720px; justify-self:center; overflow:hidden; border-radius:28px; background:#f2f7f8; box-shadow:0 24px 50px rgba(11,80,90,.2); }.hero-app-preview { display:block; width:100%; height:auto; }
.section { max-width:1200px; margin:auto; padding:5.8rem 2rem; }.section-heading { max-width:670px; }.section-heading h2 { font-size:clamp(2.1rem,4vw,3.45rem); }.section-heading > p:not(.eyebrow) { color:var(--muted); max-width:620px; }.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2.3rem; }.benefit-card { min-height:230px; padding:1.65rem; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 7px 18px rgba(13,83,92,.04); }.benefit-number { color:#6bcbd2; font-weight:900; }.benefit-card h3 { margin:2.5rem 0 .5rem; font-size:1.2rem; }.benefit-card p { color:var(--muted); margin:0; font-size:.94rem; }.how { max-width:none; padding-left:max(2rem,calc((100% - 1200px) / 2 + 2rem)); padding-right:max(2rem,calc((100% - 1200px) / 2 + 2rem)); background:var(--pale); }.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:2.3rem; padding:0; margin:2.5rem 0 0; list-style:none; }.steps li { display:flex; gap:1rem; }.steps li > span { display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:50%; color:#fff; background:var(--teal); font-weight:900; }.steps h3 { margin:.25rem 0 .25rem; }.steps p { margin:0; color:var(--muted); }.lender { padding-bottom:3rem; }.provider-card,.contact-card { display:grid; grid-template-columns:auto 1fr; gap:1.5rem; align-items:start; margin-top:2.2rem; padding:2rem; border-radius:26px; background:linear-gradient(135deg,#f2feff,#fff); border:1px solid var(--line); box-shadow:var(--shadow); }.provider-mark { display:grid; place-items:center; width:54px; height:54px; border-radius:16px; color:#fff; background:var(--teal); font-size:1.4rem; font-weight:900; }.provider-label { margin:0; color:var(--teal); font-weight:800; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; }.provider-card h3,.contact-card h3 { margin:.15rem 0 1.35rem; font-size:1.5rem; } dl { display:grid; grid-template-columns:1fr 1fr; gap:1rem 2rem; margin:0; } dl .wide { grid-column:1 / -1; } dt { color:var(--muted); font-size:.82rem; } dd { margin:.12rem 0 0; font-weight:700; } dd a { color:var(--teal); }.contact { padding-top:3rem; }.contact-card { grid-template-columns:1.25fr .75fr; }.copy-email { margin-left:.45rem; border:1px solid #bde5e7; border-radius:999px; background:#fff; color:var(--teal); font-size:.72rem; font-weight:800; padding:.22rem .55rem; }.contact-aside { padding:1.6rem; border-radius:20px; color:#fff; background:linear-gradient(145deg,#0d9eaa,#167785); }.contact-aside > span { font-weight:900; }.contact-aside p { margin:1.3rem 0; color:#d4ffff; }.contact-aside a { color:#fff; font-weight:800; text-decoration:none; }.site-footer { display:grid; grid-template-columns:1fr auto; gap:1.5rem; max-width:1200px; margin:auto; padding:3.2rem 2rem 2rem; border-top:1px solid var(--line); }.footer-brand img { width:32px; height:32px; border-radius:9px; }.site-footer p { margin:.75rem 0 0; color:var(--muted); font-size:.86rem; }.footer-links { display:flex; align-items:flex-start; flex-wrap:wrap; justify-content:flex-end; }.copyright { grid-column:1/-1; padding-top:1.5rem; border-top:1px solid var(--line); }.back-to-top { position:fixed; right:1.5rem; bottom:1.5rem; z-index:5; width:44px; height:44px; border:0; border-radius:50%; color:#fff; background:var(--teal); box-shadow:0 8px 18px rgba(0,102,112,.25); opacity:0; pointer-events:none; transform:translateY(10px); transition:.2s; }.back-to-top.is-visible { opacity:1; pointer-events:auto; transform:none; }
.commitment { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }.commitment h2 { margin:.25rem 0 1rem; font-size:clamp(2rem,3.7vw,3.2rem); line-height:1.1; letter-spacing:-.045em; }.commitment-copy > p:not(.eyebrow) { color:var(--muted); }.commitment-points { display:grid; gap:.9rem; }.commitment-points div { display:flex; gap:.85rem; padding:1rem; border-radius:16px; background:var(--pale); }.commitment-points span { display:grid; place-items:center; flex:0 0 27px; height:27px; border-radius:50%; color:#fff; background:var(--teal); font-size:.8rem; }.commitment-points p { margin:0; color:var(--muted); font-size:.9rem; }.commitment-points b { display:block; color:var(--ink); }.faq { padding-top:2rem; }.faq-list { max-width:800px; margin-top:2rem; }.faq-list details { padding:1.15rem 0; border-bottom:1px solid var(--line); }.faq-list summary { cursor:pointer; color:var(--ink); font-weight:800; }.faq-list p { max-width:700px; margin:.75rem 0 0; color:var(--muted); }.faq-list a { color:var(--teal); }
.policy-modal { width:min(590px,calc(100% - 2rem)); padding:2.25rem; border:0; border-radius:24px; color:var(--ink); box-shadow:0 24px 70px rgba(0,0,0,.25); }.policy-modal::backdrop { background:rgba(7,38,44,.62); backdrop-filter:blur(4px); }.policy-modal h2 { margin:.25rem 0 1rem; font-size:2rem; }.policy-modal p:not(.eyebrow) { color:var(--muted); }.modal-close { position:absolute; top:1rem; right:1rem; width:36px; height:36px; border:0; border-radius:50%; color:var(--ink); background:#edf7f8; font-size:1.65rem; line-height:1; }.toast { position:fixed; z-index:30; left:50%; bottom:1.5rem; padding:.65rem 1rem; border-radius:999px; color:#fff; background:var(--ink); opacity:0; transform:translate(-50%,15px); transition:.2s; pointer-events:none; }.toast.is-visible { opacity:1; transform:translate(-50%,0); }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease,transform .55s ease; }.reveal.is-visible { opacity:1; transform:none; }
@media (max-width:760px) { .site-header { padding:.8rem 1.1rem; }.menu-toggle { display:block; }.site-nav { position:absolute; right:1rem; top:calc(100% + .4rem); display:none; width:min(280px,calc(100vw - 2rem)); padding:.6rem; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); }.site-nav.is-open { display:grid; }.site-nav a,.site-nav button { width:100%; text-align:left; }.hero { grid-template-columns:1fr; padding:3.5rem 1.35rem 4rem; gap:1.5rem; }.hero-art { width:min(350px,100%); height:min(720px,185vw); }.section { padding:4rem 1.35rem; }.benefit-grid,.steps,.contact-card { grid-template-columns:1fr; }.steps { gap:1.6rem; }.provider-card { padding:1.35rem; grid-template-columns:1fr; }.contact-card { padding:1.35rem; } dl { grid-template-columns:1fr; gap:.8rem; } dl .wide { grid-column:auto; }.site-footer { grid-template-columns:1fr; padding:2.5rem 1.35rem 1.5rem; }.footer-links { justify-content:flex-start; margin-left:-.75rem; }.hero h1 { font-size:3.25rem; }.policy-modal { padding:2rem 1.35rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; } }
@media (max-width:760px) { .commitment { grid-template-columns:1fr; } }
