/* New Jersey Mortgages — site-specific styles. Loaded after base.css. */

@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:optional;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHpv4kjgoGqM7E_DMs5.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:optional;src:url(https://fonts.gstatic.com/s/barlow/v13/7cHqv4kjgoGqM7E30-8s51os.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:optional;src:url(https://fonts.gstatic.com/s/barlowcondensed/v13/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2z3bWuQ.woff2) format("woff2")}

body{font-size:1.0625rem}
h1,h2,h3{font-weight:700;letter-spacing:-.005em}
h1{font-size:clamp(2.6rem,1.6rem + 4.2vw,4.6rem);line-height:1}
h2{font-size:clamp(1.9rem,1.4rem + 2vw,2.8rem)}
.h3{font-size:var(--fs-xl);margin-bottom:var(--s-3)}
.h3 a{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent)}
.h3 a:hover{color:var(--brand)}
.btn{font-weight:600;letter-spacing:.01em}
.lede{color:var(--ink-2)}

/* Header */
.site-header{background:#fff;backdrop-filter:none}
.brand img{height:30px;width:auto}
.head-call{display:none;padding:.6em .9em;min-height:44px}
@media(max-width:860px){
  .head-call{display:inline-flex;margin-left:auto}
  .brand img{height:24px}
  .nav-toggle{min-width:44px;min-height:44px}
}
@media(max-width:360px){.head-call span{display:none}}
.nav a:not(.btn){min-height:44px;display:inline-flex;align-items:center}

/* Hero */
.hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(3rem,6vw,5rem);border-bottom:6px solid var(--accent)}
.hero-grid{display:grid;gap:var(--s-7);align-items:start}
@media(min-width:960px){.hero-grid{grid-template-columns:1.15fr .85fr;gap:var(--s-8)}}
.hero h1{max-width:13ch;margin-bottom:var(--s-5)}
.hero .lede{max-width:52ch}
.hero .actions{margin-top:var(--s-5)}
.hero .btn-lg{min-height:52px}
.hero-note{margin-top:var(--s-5);font-size:var(--fs-sm);color:var(--ink-3);max-width:52ch}

/* Deal sheet — the memorable element */
.deal{background:var(--bg-alt);border:1px solid var(--line);border-top:4px solid var(--brand);padding:var(--s-6) var(--s-6) var(--s-5);position:relative}
.deal-tab{position:absolute;top:-4px;right:var(--s-5);transform:translateY(-100%);margin:0;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:var(--fs-sm);padding:.3em .8em}
.deal-title{font-size:var(--fs-xl);line-height:1.15;margin-bottom:var(--s-5);max-width:22ch}
.deal dl{margin:0}
.deal-sum>div,.deal-terms>div{display:grid;grid-template-columns:1fr auto;gap:var(--s-4);align-items:baseline;padding:.55em 0;border-bottom:1px solid var(--line)}
.deal dt{color:var(--ink-2)}
.deal dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.deal-sum dd{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);line-height:1}
.deal-sum .deal-total{border-bottom:2px solid var(--ink)}
.deal-sum .deal-total dt{color:var(--ink);font-weight:600}
.deal-sum .deal-total dd{font-size:clamp(2.2rem,1.6rem + 2.4vw,3.2rem);color:var(--brand)}
.deal-terms{margin-top:var(--s-4)!important;font-size:var(--fs-sm)}
.deal-terms dd{font-weight:600}
.deal-foot{margin-top:var(--s-4);font-size:var(--fs-xs);color:var(--ink-3)}

/* Ledger: programs by how you earn */
.ledger{border-top:2px solid var(--ink)}
.ledger-row{display:grid;gap:.35em var(--s-5);padding:var(--s-4) 0;border-bottom:1px solid var(--line)}
@media(min-width:820px){.ledger-row{grid-template-columns:1.3fr 1.2fr .7fr;align-items:baseline}}
.ledger-head{display:none;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);padding-block:var(--s-3)}
@media(min-width:820px){.ledger-head{display:grid}}
.ledger-row>span:first-child{font-weight:600}
.ledger-row>span:nth-child(2){color:var(--ink-2)}
@media(max-width:819px){.ledger-row:not(.ledger-head)>span:nth-child(2)::before{content:"You qualify with: ";font-weight:600;color:var(--ink)}}
.ledger .prog{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg)}
.ledger .prog a{text-decoration:none}
.ledger .prog a:hover{text-decoration:underline}
@media(min-width:820px){.ledger .prog{text-align:right}}
.ledger-more{margin-top:var(--s-5)}

/* Range statement + three ways */
.range{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,1.3rem + 3vw,3.6rem);line-height:1.02;max-width:22ch;margin-bottom:var(--s-4)}
.range-sub{color:var(--ink-2);margin-bottom:var(--s-7)}
.three{display:grid;gap:var(--s-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.three p{color:var(--ink-2)}

/* About */
.about{display:grid;gap:var(--s-7)}
@media(min-width:900px){.about{grid-template-columns:1.2fr .8fr;align-items:start}}
.facts{margin:0;border-top:2px solid var(--ink)}
.facts>div{padding:var(--s-3) 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:var(--fs-sm);color:var(--ink-2)}
.facts dd{margin:0;font-weight:600}

/* Contact band */
.contact-band{background:var(--ink);color:#fff}
.contact-band h2{color:#fff;max-width:20ch}
.contact-band .lede{color:#c9d0d9}
.big-phone{font-family:var(--font-display);font-weight:700;font-size:clamp(3rem,2rem + 5vw,6rem);line-height:1;margin:var(--s-6) 0}
.big-phone a{color:var(--accent);text-decoration:none}
.big-phone a:hover{text-decoration:underline;text-decoration-thickness:3px}
.contact-lines p{margin-bottom:var(--s-3);color:#c9d0d9}
.contact-lines a:not(.btn){color:#fff}
.contact-band .btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:none}

/* Inner pages */
.page-head{padding-block:clamp(2.5rem,5vw,4rem) clamp(2rem,4vw,3rem);border-bottom:6px solid var(--accent)}
.page-head h1{font-size:clamp(2.3rem,1.5rem + 3.4vw,3.8rem);max-width:18ch}
.prose{max-width:70ch}
.prose h2{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.2rem);margin-top:var(--s-7)}
.prose h2:first-child{margin-top:0}
.prose ul{margin:0 0 var(--s-5);padding-left:1.1em}
.prose li{margin-bottom:.35em}
.terms{margin:0 0 var(--s-6);border-top:2px solid var(--ink);max-width:70ch}
.terms>div{display:grid;grid-template-columns:1fr;gap:.2em;padding:var(--s-3) 0;border-bottom:1px solid var(--line)}
@media(min-width:640px){.terms>div{grid-template-columns:16ch 1fr;gap:var(--s-5)}}
.terms dt{color:var(--ink-2);font-size:var(--fs-sm)}
.terms dd{margin:0;font-weight:600}
.prog-list{border-top:2px solid var(--ink)}
.prog-list section{padding:var(--s-5) 0;border-bottom:1px solid var(--line);display:grid;gap:var(--s-2)}
@media(min-width:820px){.prog-list section{grid-template-columns:18ch 1fr;gap:var(--s-6)}}
.prog-list h2{font-size:var(--fs-xl);margin:0}
.prog-list p{margin:0;color:var(--ink-2)}
.side-call{background:var(--bg-alt);border-top:4px solid var(--brand);padding:var(--s-6)}
.side-call .big{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,1.5rem + 2vw,2.8rem);line-height:1}
.side-call .big a{text-decoration:none}
.with-side{display:grid;gap:var(--s-7)}
@media(min-width:960px){.with-side{grid-template-columns:1fr 320px;align-items:start}.with-side>aside{position:sticky;top:calc(var(--header-h) + 1rem)}}
.map{aspect-ratio:16/10}

/* Footer */
.site-footer{background:#0b0e12}
.foot-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);color:#fff;margin-bottom:var(--s-3)}
.foot-h{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;color:#fff;margin-bottom:var(--s-3);letter-spacing:0}
.footer-bottom{flex-direction:column}
.footer-bottom p{max-width:none;margin:0}
