:root{
    --ink:#17212b;
    --deep:#132238;
    --forest:#235347;
    --accent:#d85f45;
    --gold:#f0b84d;
    --sage:#edf4ef;
    --paper:#fffdf8;
    --panel:#ffffff;
    --line:#d9e2dc;
    --muted:#65736f;
    --shadow:0 22px 48px rgba(19,34,56,.12);
}

*{letter-spacing:0}

body{
    margin:0;
    color:var(--ink);
    background:var(--paper);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

a{
    color:var(--forest);
    text-decoration:none;
}

a:hover{color:var(--accent)}

.top-strip{
    background:var(--deep);
    color:#fff;
    font-size:.9rem;
}

.site-header{
    position:sticky;
    top:0;
    z-index:1030;
    background:#fff;
    border-bottom:1px solid var(--line);
    box-shadow:0 8px 24px rgba(19,34,56,.06);
}

.navbar{padding:.85rem 0}

.navbar-brand{
    color:var(--deep);
    max-width:360px;
}

.brand-mark{
    width:42px;
    height:42px;
    border-radius:8px;
    display:grid;
    place-items:center;
    background:var(--forest);
    color:#fff;
    font-weight:850;
}

.nav-link{
    font-weight:750;
    color:var(--deep);
    padding:.55rem .8rem;
    border-radius:8px;
}

.nav-link:hover,
.nav-link:focus,
.nav-link.active{
    color:var(--accent);
    background:#fff4ee;
}

.dropdown-menu{
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:var(--shadow);
}

.dropdown-item{
    font-weight:650;
    color:var(--deep);
}

.dropdown-item:hover{background:var(--sage);color:var(--forest)}

.btn{
    border-radius:8px;
    box-shadow:none;
}

.btn-primary{
    --bs-btn-bg:var(--forest);
    --bs-btn-border-color:var(--forest);
    --bs-btn-hover-bg:var(--deep);
    --bs-btn-hover-border-color:var(--deep);
}

.btn-warning{
    --bs-btn-bg:var(--gold);
    --bs-btn-border-color:var(--gold);
    --bs-btn-color:#17212b;
    --bs-btn-hover-bg:#e3a934;
    --bs-btn-hover-border-color:#e3a934;
}

.hero{
    min-height:74vh;
    display:grid;
    align-items:center;
    padding:6rem 0 4rem;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(19,34,56,.96),rgba(19,34,56,.78) 48%,rgba(35,83,71,.24)),
        url("https://images.unsplash.com/photo-1605276374104-dee2a0ed3cd6?auto=format&fit=crop&w=1800&q=82&fm=webp") center/cover;
}

.hero-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(250px,330px);
    gap:1.25rem 2rem;
    max-width:1040px;
}

.hero h1{
    grid-column:1;
    font-size:45px;
    line-height:1.08;
    font-weight:850;
    max-width:720px;
    margin:0;
}

.hero-copy{
    grid-column:1;
    font-size:1.15rem;
    line-height:1.75;
    max-width:720px;
    color:rgba(255,255,255,.9);
}

.hero-panel{
    grid-column:1;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.24);
    border-left:6px solid var(--gold);
    border-radius:8px;
    padding:1rem;
    backdrop-filter:blur(10px);
}

.hero-stats{
    grid-column:2;
    grid-row:1 / span 5;
    align-self:center;
    display:grid;
    gap:.9rem;
}

.glass-card{
    min-height:105px;
    display:flex;
    align-items:end;
    background:rgba(255,255,255,.92);
    color:var(--deep);
    border:1px solid rgba(255,255,255,.42);
    border-radius:8px;
    padding:1rem;
    font-weight:800;
    box-shadow:0 18px 40px rgba(0,0,0,.15);
}

.actions{grid-column:1}

.section-pad{padding:5rem 0}

.eyebrow{
    color:var(--accent);
    font-size:.78rem;
    text-transform:uppercase;
    font-weight:850;
}

.section-title{
    font-size:clamp(2rem,4vw,30px);
    line-height:1.2;
    font-weight:800;
}

.muted{color:var(--muted)}

.alt-band{
    background:var(--sage);
    border-block:1px solid var(--line);
}

.dark-band{
    background:var(--deep);
    color:#fff;
}

.dark-band .muted{color:rgba(255,255,255,.76)}

.feature-panel,
.program-card,
.blog-card,
.calc-shell,
.toc-box,
.article-cta{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:8px;
    padding:1.35rem;
    box-shadow:0 12px 28px rgba(19,34,56,.06);
}

.program-card,
.blog-card{
    height:100%;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}

.program-card:hover,
.blog-card:hover{
    transform:translateY(-3px);
    border-color:rgba(216,95,69,.45);
    box-shadow:var(--shadow);
}

.program-card::before{
    content:"";
    display:block;
    width:52px;
    height:5px;
    margin-bottom:1rem;
    background:var(--accent);
    border-radius:8px;
}

.result-box{
    background:var(--sage);
    border:1px solid var(--line);
    border-radius:8px;
    padding:1rem;
}

.link-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
}

.link-grid a{
    display:block;
    padding:.85rem 1rem;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    font-weight:750;
}

.page-hero{
    padding:6rem 0 4rem;
    background:
        linear-gradient(90deg,rgba(19,34,56,.96),rgba(35,83,71,.86)),
        url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=82&fm=webp") center/cover;
    color:#fff;
}

.page-hero h1{
    font-size:45px!important;
    line-height:1.12;
}

.article-wrap{max-width:920px}

.article-wrap h2,
.article-wrap h3{margin-top:2rem}

.article-cta{
    background:var(--sage);
    margin:1.5rem 0;
}

.site-footer{
    background:#111b29;
    color:rgba(255,255,255,.78);
}

.site-footer a{color:rgba(255,255,255,.86)}

.sticky-mobile-cta{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1040;
    display:none;
    background:#fff;
    border-top:1px solid var(--line);
    padding:.65rem;
    box-shadow:0 -12px 34px rgba(19,34,56,.13);
}

.columns-list{columns:2}

.redesigned-hero{
    min-height:76vh;
    align-items:center;
    padding:6.5rem 0;
    background:
        linear-gradient(90deg,rgba(19,34,56,.98),rgba(19,34,56,.82) 47%,rgba(216,95,69,.2)),
        url("https://images.unsplash.com/photo-1605276374104-dee2a0ed3cd6?auto=format&fit=crop&w=1800&q=82&fm=webp") center/cover;
}

.home-hero-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,390px);
    gap:2.5rem;
    align-items:center;
}

.home-hero-copy h1{
    font-size:45px;
    line-height:1.08;
    font-weight:850;
    max-width:760px;
}

.home-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    margin-top:1.75rem;
}

.approval-board{
    display:grid;
    gap:.85rem;
}

.approval-board div{
    background:rgba(255,255,255,.94);
    color:var(--deep);
    border:1px solid rgba(255,255,255,.55);
    border-radius:8px;
    padding:1.1rem;
    box-shadow:0 18px 40px rgba(0,0,0,.16);
}

.approval-board span{
    display:block;
    color:var(--accent);
    font-weight:850;
    font-size:.78rem;
    margin-bottom:.35rem;
}

.approval-board strong{display:block;font-size:1.05rem}

.approval-board p{margin:.35rem 0 0;color:var(--muted)}

.planning-strip{
    background:#fff;
    border-bottom:1px solid var(--line);
}

.planning-grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:3rem;
    align-items:start;
}

.planning-intro{
    position:sticky;
    top:110px;
}

.planning-list{
    display:grid;
    border-top:1px solid var(--line);
}

.planning-list a{
    display:grid;
    grid-template-columns:155px minmax(0,1fr);
    gap:1rem;
    padding:1.15rem 0;
    border-bottom:1px solid var(--line);
}

.planning-list strong{
    color:var(--deep);
    font-size:1.05rem;
}

.planning-list span{color:var(--muted)}

.loan-studio{
    background:var(--sage);
    border-block:1px solid var(--line);
}

.studio-header{
    max-width:760px;
    margin-bottom:2rem;
}

.studio-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:1rem;
}

.studio-feature{
    min-height:250px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    padding:1.35rem;
    box-shadow:0 12px 28px rgba(19,34,56,.06);
}

.studio-feature h3{
    font-size:1.4rem;
    margin-bottom:.85rem;
}

.studio-feature p{color:var(--muted)}

.studio-feature a{font-weight:850}

.studio-feature.accent{
    background:#fff6ef;
    border-color:#f2c7b7;
}

.studio-feature.dark{
    background:var(--deep);
    color:#fff;
}

.studio-feature.dark p{color:rgba(255,255,255,.75)}

.studio-feature.dark a{color:#fff}

.calculator-band{
    background:
        linear-gradient(90deg,#fff 0,#fff 56%,var(--sage) 56%,var(--sage) 100%);
}

.calculator-layout{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);
    gap:3rem;
    align-items:center;
}

.check-list{
    display:grid;
    gap:.7rem;
    padding:0;
    margin:1.5rem 0 0;
    list-style:none;
}

.check-list li{
    position:relative;
    padding-left:1.6rem;
    color:var(--deep);
}

.check-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:.42rem;
    width:.72rem;
    height:.72rem;
    border-radius:50%;
    background:var(--accent);
}

.local-map-section{background:#fff}

.local-map-layout{
    display:grid;
    grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);
    gap:3rem;
    align-items:center;
}

.local-photo{
    min-height:460px;
    border-radius:8px;
    background:
        linear-gradient(180deg,rgba(19,34,56,.08),rgba(19,34,56,.34)),
        url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1200&q=82&fm=webp") center/cover;
    box-shadow:var(--shadow);
}

.faq-split{
    background:var(--sage);
    border-top:1px solid var(--line);
}

.faq-layout{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:3rem;
    align-items:start;
}

.final-cta-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:2rem;
    align-items:center;
}

@media(max-width:1199.98px){
    .navbar-brand span:last-child{white-space:normal}
}

@media(max-width:991.98px){
    .hero{
        min-height:auto;
        padding:5rem 0 3rem;
    }

    .hero-inner{
        grid-template-columns:1fr;
    }

    .hero h1,
    .hero-copy,
    .hero-panel,
    .actions,
    .hero-stats{
        grid-column:1;
        grid-row:auto;
    }

    .hero-stats{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .section-pad{padding:3.5rem 0}

    .home-hero-layout,
    .planning-grid,
    .calculator-layout,
    .local-map-layout,
    .faq-layout,
    .final-cta-layout{
        grid-template-columns:1fr;
    }

    .planning-intro{position:static}

    .studio-grid{grid-template-columns:1fr 1fr}

    .calculator-band{background:#fff}

    .local-photo{min-height:320px}
}

@media(max-width:767.98px){
    body{padding-bottom:76px}
    .sticky-mobile-cta{display:block}
    .hero h1,
    .page-hero h1{font-size:45px!important}
    .hero-stats,
    .link-grid{grid-template-columns:1fr}
    .columns-list{columns:1}
    .redesigned-hero{padding:4.5rem 0 3rem}
    .home-hero-copy h1{font-size:45px}
    .approval-board div{padding:1rem}
    .planning-list a{grid-template-columns:1fr;gap:.35rem}
    .studio-grid{grid-template-columns:1fr}
    .studio-feature{min-height:210px}
    .final-cta-layout .d-flex{justify-content:start!important}
}
