:root{
    --navy:#0F2438;
    --navy-2:#16324A;
    --slate:#3B5875;
    --teal:#5FA8AE;
    --teal-dark:#2E6E73;
    --bg:#F5F7FA;
    --card:#FFFFFF;
    --ink:#16232E;
    --muted:#5B6B78;
    --line:#E1E7EC;
}

*{margin:0;padding:0;box-sizing:border-box;}

section[id]{scroll-margin-top:90px;}

body{
    font-family:'Source Sans 3',system-ui,sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.6;
}

h1,h2,h3{
    font-family:'Source Serif 4',Georgia,serif;
    font-weight:600;
    color:var(--navy);
    line-height:1.2;
}

.wrap{width:min(1160px,92%);margin:0 auto;}

a{color:inherit;}

/* Header */
.site-header{
    background:var(--card);
    border-bottom:1px solid var(--line);
    position:sticky;
    top:0;
    z-index:50;
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 0;
}
.brand{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    font-weight:700;
    font-size:18px;
    color:var(--navy);
}
.brand em{
    font-style:normal;
    color:var(--teal-dark);
}
.main-nav{
    display:flex;
    align-items:center;
    gap:28px;
}
.main-nav a{
    text-decoration:none;
    font-weight:600;
    font-size:14.5px;
    color:var(--slate);
}
.nav-cta{
    background:var(--navy);
    color:#fff !important;
    padding:10px 18px;
    border-radius:8px;
}

/* Hero */
.hero{
    padding:70px 0 90px;
    background:linear-gradient(180deg,#EEF3F6 0%, var(--bg) 100%);
}
.hero-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:56px;
    align-items:start;
}
.eyebrow{
    display:inline-block;
    font-size:13px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--teal-dark);
    background:#E4F1F1;
    padding:6px 14px;
    border-radius:50px;
    margin-bottom:22px;
}
.hero h1{
    font-size:44px;
    margin-bottom:20px;
}
.lede{
    font-size:17.5px;
    color:var(--muted);
    max-width:52ch;
    margin-bottom:28px;
}
.trust-row{
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:22px;
}
.trust-row li{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13.5px;
    font-weight:600;
    color:var(--slate);
}

.hero-banner{display:none;}
.hero-form-panel{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 18px 50px rgba(15,36,56,.10);
    overflow:hidden;
}
.panel-head{
    background:var(--navy);
    color:#fff;
    padding:16px 20px;
    display:flex;
    align-items:baseline;
    justify-content:space-between;
}
.panel-head span{font-weight:700;font-size:15px;}
.panel-head small{opacity:.7;font-size:12px;}
.loan-form-box{
    padding:4px;
}
.form-disclaimer{
    font-size:11.5px;
    line-height:1.6;
    color:var(--muted);
    text-align:center;
    padding:0 20px 18px;
}
.form-disclaimer a{color:var(--teal-dark);}

/* Stats */
.stats{
    background:var(--navy);
    color:#fff;
    padding:44px 0;
}
.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    text-align:center;
}
.stat strong{
    display:block;
    font-family:'Source Serif 4',serif;
    font-size:19px;
    margin-bottom:6px;
    color:#EAF4F4;
}
.stat span{
    font-size:13.5px;
    font-weight:600;
    color:#C3D4DF;
}
.stat sup{font-size:.7em;}

/* How it works */
.how{padding:90px 0 70px;}
.how h2{
    font-size:32px;
    text-align:center;
    margin-bottom:48px;
}
.steps{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}
.step{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:14px;
    padding:26px 22px;
}
.step-no{
    font-family:'Source Serif 4',serif;
    font-size:26px;
    color:var(--teal-dark);
    margin-bottom:10px;
}
.step h3{
    font-size:17px;
    margin-bottom:8px;
}
.step p{
    font-size:14px;
    color:var(--muted);
}

/* Why */
.why{
    padding:70px 0 90px;
    background:#EEF3F6;
}
.why-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:50px;
    align-items:start;
}
.why-copy h2{font-size:28px;margin-bottom:14px;}
.why-copy p{color:var(--muted);font-size:15.5px;max-width:42ch;}
.why-cards{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}
.why-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:14px;
    padding:22px;
}
.why-card svg{margin-bottom:12px;}
.why-card h3{font-size:15.5px;margin-bottom:6px;}
.why-card p{font-size:13.5px;color:var(--muted);}

/* FAQ */
.faq{padding:90px 0;}
.faq h2{
    font-size:30px;
    text-align:center;
    margin-bottom:44px;
}
.faq-list{max-width:800px;margin:0 auto;}
.faq-group-label{
    font-family:'Source Sans 3',sans-serif;
    font-size:12.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--teal-dark);
    margin:28px 0 12px;
}
.faq-group-label:first-child{margin-top:0;}
.faq details{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:12px;
    margin-bottom:14px;
    padding:0 22px;
}
.faq summary{
    cursor:pointer;
    list-style:none;
    padding:19px 0;
    font-weight:600;
    font-size:15.5px;
    position:relative;
    padding-right:28px;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
    content:"+";
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    font-size:20px;
    color:var(--teal-dark);
}
.faq details[open] summary::after{content:"\2212";}
.faq details p{
    padding-bottom:20px;
    color:var(--muted);
    font-size:14.5px;
}

/* CTA */
.cta{
    background:var(--navy);
    color:#fff;
    text-align:center;
    padding:80px 0;
}
.cta h2{color:#fff;font-size:28px;margin-bottom:12px;}
.cta p{color:#A9BCCB;margin-bottom:26px;}
.btn-primary{
    display:inline-block;
    background:var(--teal-dark);
    color:#fff;
    padding:14px 30px;
    border-radius:8px;
    text-decoration:none;
    font-weight:700;
}

/* Footer */
.site-footer{
    background:#0B1C2C;
    color:#8296A6;
}
.footer-top{
    display:flex;
    justify-content:space-between;
    gap:40px;
    flex-wrap:wrap;
    padding:44px 0 32px;
    border-bottom:1px solid #1B3247;
}
.footer-brand-name{
    display:block;
    font-family:'Source Serif 4',serif;
    font-weight:600;
    font-size:18px;
    color:#EAF4F4;
    margin-bottom:6px;
}
.footer-brand p{font-size:13px;color:#6B8296;}
.footer-links{
    display:flex;
    gap:60px;
}
.footer-col h4{
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#5F7488;
    margin-bottom:14px;
}
.footer-col{display:flex;flex-direction:column;}
.footer-col a{
    display:block;
    font-size:13.5px;
    color:#A9BCCB;
    text-decoration:none;
    margin-bottom:10px;
}
.footer-col a:hover{color:#fff;}
.footer-bottom{padding:32px 0 40px;}
.legal{
    font-size:12.5px;
    line-height:1.8;
    max-width:960px;
    margin-bottom:16px;
}
.footnotes{
    font-size:11.5px;
    color:#8EA4B8;
    margin-bottom:16px;
}
.copyright{font-size:12px;color:#8EA4B8;}

/* Focus states */
a:focus-visible,
button:focus-visible,
summary:focus-visible{
    outline:2px solid var(--teal);
    outline-offset:3px;
    border-radius:4px;
}

@media (max-width:900px){
    .hero-grid,.why-grid{grid-template-columns:1fr;}
    .hero-banner{
        display:block;
        order:1;
        text-align:center;
        font-size:13px;
        font-weight:700;
        color:var(--teal-dark);
        background:#E4F1F1;
        padding:9px 16px;
        border-radius:50px;
        margin-bottom:4px;
    }
    .hero-form-panel{order:2;}
    .hero-copy{order:3;}
    .steps,.stats-grid{grid-template-columns:repeat(2,1fr);}
    .why-cards{grid-template-columns:1fr;}
    .main-nav a:not(.nav-cta){display:none;}
    .hero h1{font-size:34px;}
    .footer-top{flex-direction:column;gap:28px;}
    .footer-links{gap:40px;}
}

/* Legal pages */
.legal-page{padding:50px 0 90px;}
.legal-page .wrap{max-width:780px;}
.legal-back{
    display:inline-block;
    font-size:13.5px;
    font-weight:600;
    color:var(--teal-dark);
    text-decoration:none;
    margin-bottom:28px;
}
.legal-page h1{font-size:34px;margin-bottom:8px;}
.legal-updated{font-size:13px;color:var(--muted);margin-bottom:36px;}
.legal-page section{margin-bottom:30px;}
.legal-page h2{font-size:19px;margin-bottom:10px;}
.legal-page p, .legal-page li{font-size:14.5px;color:var(--muted);margin-bottom:12px;}
.legal-page ul, .legal-page ol{padding-left:22px;margin-bottom:12px;}
.legal-page a{color:var(--teal-dark);}
.legal-page table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13.5px;}
.legal-page th,.legal-page td{border:1px solid var(--line);padding:10px 12px;text-align:left;color:var(--muted);}
.legal-page th{background:#F5F7FA;color:var(--ink);}
.unsub-form{
    display:flex;
    gap:10px;
    max-width:420px;
    margin:18px 0 8px;
}
.unsub-form input{
    flex:1;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:8px;
    font-size:14px;
    font-family:inherit;
}
.unsub-form button{
    background:var(--navy);
    color:#fff;
    border:none;
    padding:12px 22px;
    border-radius:8px;
    font-weight:700;
    font-size:14px;
    cursor:pointer;
}

.container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1;
}
