:root{
  --navy:#0B1F3A; --navy-700:#12305A; --signal:#D1372E; --signal-dark:#A82A23;
  --paper:#FCFBF8; --field:#FFFFFF; --ink:#14181F; --ink-soft:#44505F;
  --line:#DCE1E8; --line-strong:#B8C1CD;
  --font-display:"Söhne","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:"Tiempos Text","Georgia",ui-serif,serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",monospace;
  --radius:4px;
}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--font-display);line-height:1.1;letter-spacing:-0.015em;margin:0;}
a{color:inherit;}
.wrap{width:min(1140px,92vw);margin-inline:auto;}
.skip{position:absolute;left:-999px;}.skip:focus{left:8px;top:8px;background:var(--navy);color:#fff;padding:.6em 1em;z-index:99;}
:focus-visible{outline:3px solid var(--signal);outline-offset:2px;}

/* Masthead */
.masthead{background:var(--navy);color:#fff;border-bottom:3px solid var(--signal);}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;gap:1rem;}
.brand{display:flex;align-items:baseline;gap:.55rem;text-decoration:none;color:#fff;}
.brand strong{font-family:var(--font-display);font-size:1.3rem;letter-spacing:-0.02em;}
.brand span{font-family:var(--font-mono);font-size:.72rem;color:#9DB2CC;text-transform:uppercase;letter-spacing:.08em;}
.masthead .tel{font-family:var(--font-mono);font-size:.82rem;color:#C7D4E5;text-decoration:none;}
.masthead .tel:hover{color:#fff;}

/* Hero */
.hero{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-700) 100%);color:#fff;padding:3.2rem 0 2.6rem;}
.hero .eyebrow{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#E8B0AC;margin-bottom:1rem;}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);max-width:16ch;margin-bottom:.6rem;}
.hero p{font-size:clamp(1.05rem,2vw,1.3rem);color:#C7D4E5;max-width:52ch;margin:0;}

/* Two boxes */
.choose{padding:2.6rem 0 1rem;}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
.box{background:var(--field);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(11,31,58,.05),0 10px 30px rgba(11,31,58,.05);}
.box .tag{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--signal-dark);margin-bottom:.8rem;}
.box h2{font-size:1.55rem;margin-bottom:.5rem;}
.box p{color:var(--ink-soft);margin:0 0 1.2rem;}
.box ul{margin:0 0 1.4rem;padding-left:1.1em;color:var(--ink-soft);}
.box li{margin:.25em 0;}
.box .spacer{flex:1;}
.btn{display:inline-block;text-align:center;background:var(--signal);color:#fff;font-family:var(--font-display);font-weight:600;text-decoration:none;padding:.9rem 1.5rem;border-radius:var(--radius);font-size:1rem;transition:background .15s,transform .15s;}
.btn:hover{background:var(--signal-dark);transform:translateY(-1px);}
.btn.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line-strong);}
.btn.ghost:hover{border-color:var(--signal);color:var(--signal-dark);transform:none;}
.subline{margin-top:.9rem;font-size:.88rem;color:var(--ink-soft);}
.subline a{color:var(--signal-dark);}

/* Trust strip */
.trust{padding:2.4rem 0;}
.trust .inner{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.6rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem;}
.trust h3{font-size:.8rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:.3rem;}
.trust p{margin:0;font-size:.95rem;color:var(--ink);}

/* Lead form */
.lead{padding:1rem 0 3rem;}
.leadcard{background:var(--navy);color:#fff;border-radius:var(--radius);padding:2.2rem;display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center;}
.leadcard h2{font-size:1.6rem;margin-bottom:.5rem;}
.leadcard p{color:#C7D4E5;margin:0;}
.formbox{background:var(--field);border-radius:var(--radius);padding:1.4rem;}
.formbox label{display:block;font-size:.78rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:.6rem 0 .2rem;}
.formbox input,.formbox select{width:100%;padding:.6rem .7rem;border:1px solid var(--line-strong);border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;}
.formbox .btn{width:100%;margin-top:1rem;border:0;cursor:pointer;}
.formnote{font-size:.72rem;color:var(--ink-soft);margin-top:.7rem;}

/* Footer */
.sitefoot{background:var(--navy);color:#9DB2CC;font-size:.85rem;padding:2rem 0;}
.sitefoot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;}
.sitefoot a{color:#C7D4E5;}
.disclosure{max-width:52ch;font-size:.76rem;line-height:1.5;}

@media(max-width:820px){
  .grid{grid-template-columns:1fr;}
  .leadcard{grid-template-columns:1fr;}
  .masthead .tel{display:none;}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;}}

/* ===== /homes and interior pages ===== */
.section{padding:2.6rem 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem;}
.section-head h2{font-size:1.7rem;}
.section-head .more{font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--signal-dark);text-decoration:none;}
.section-head .more:hover{color:var(--signal);}
.eyebrow-s{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--signal-dark);margin-bottom:.4rem;}

/* Card grids */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem;}
.card{background:var(--field);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;}
.card .media{aspect-ratio:16/10;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-700) 100%);display:flex;align-items:center;justify-content:center;color:#6E86A6;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;}
.card .body{padding:1.1rem 1.2rem;display:flex;flex-direction:column;flex:1;}
.card h3{font-size:1.15rem;margin-bottom:.25rem;}
.card .meta{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-soft);margin-bottom:.6rem;}
.card p{font-size:.92rem;color:var(--ink-soft);margin:0 0 1rem;}
.card .spacer{flex:1;}
.badge{display:inline-block;background:#FBE9E7;color:var(--signal-dark);font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:3px;margin-bottom:.5rem;align-self:flex-start;}
.badge.incentive{background:#FFF4D6;color:#8A6D0B;}
.badge.qmi{background:#E4F0E6;color:#2E6B3A;}

/* Placeholder / slot state (honest empty state for unfilled builder slots) */
.card.slot .media{background:repeating-linear-gradient(135deg,#EEF1F5,#EEF1F5 12px,#E6EAEF 12px,#E6EAEF 24px);color:#8A97A6;}
.card.slot .body{opacity:.85;}
.slot-note{font-size:.85rem;color:var(--ink-soft);font-style:italic;}

/* Filter chips (non-functional visual placeholder for now) */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem;}
.chip{font-family:var(--font-mono);font-size:.78rem;padding:.45rem .8rem;border:1px solid var(--line-strong);border-radius:100px;color:var(--ink-soft);text-decoration:none;background:var(--field);}
.chip:hover,.chip[aria-current="true"]{border-color:var(--signal);color:var(--signal-dark);}

/* Split promo */
.split{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:stretch;}
.split .panel{background:var(--field);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;}
.split .panel.dark{background:var(--navy);color:#fff;}
.split .panel.dark p{color:#C7D4E5;}
.split .panel h3{font-size:1.3rem;margin-bottom:.4rem;}

/* Builder logo row */
.logorow{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.logorow div{background:var(--field);aspect-ratio:2/1;display:flex;align-items:center;justify-content:center;color:#98A4B2;font-family:var(--font-mono);font-size:.7rem;text-align:center;padding:.5rem;}

@media(max-width:820px){.split{grid-template-columns:1fr;}}

/* ===== Nav menu ===== */
.masthead .wrap{flex-wrap:wrap;}
.mainnav{display:flex;gap:1.3rem;align-items:center;font-family:var(--font-display);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;}
.mainnav a{color:#C7D4E5;text-decoration:none;white-space:nowrap;}
.mainnav a:hover,.mainnav a[aria-current="page"]{color:#fff;}
.mainnav a.ext::after{content:"↗";font-size:.7em;margin-left:.15em;opacity:.7;}
.navtoggle{display:none;background:none;border:1px solid #33507A;color:#fff;border-radius:4px;padding:.4rem .6rem;cursor:pointer;font-family:var(--font-mono);}
@media(max-width:900px){
  .navtoggle{display:inline-block;border:1px solid #33507A;}
  .mainnav{display:none;flex-direction:column;width:100%;gap:.2rem;padding:.6rem 0;}
  .mainnav.open{display:flex;}
  .mainnav a{padding:.5rem 0;width:100%;}
}

/* ===== State grid ===== */
.states{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;}
.states a{display:flex;align-items:center;justify-content:space-between;background:var(--field);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .9rem;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-size:.92rem;transition:border-color .12s,color .12s;}
.states a:hover{border-color:var(--signal);color:var(--signal-dark);}
.states a::after{content:"→";color:var(--line-strong);}
.states a:hover::after{color:var(--signal);}
.region-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:1.6rem 0 .7rem;}

/* Community card: make CTA always present so no card looks dead */
.card .body .btn.ghost{margin-top:auto;}

/* ============================================================
   OVERRIDES v2 — sleek header, platform footer, GHL form
   ============================================================ */
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.75rem 0;flex-wrap:nowrap;}
.brand-block{display:flex;align-items:center;gap:.9rem;flex-shrink:0;}
.brand{display:flex;align-items:baseline;text-decoration:none;color:#fff;}
.brand strong{font-family:var(--font-display);font-size:1.15rem;letter-spacing:-0.02em;font-weight:600;line-height:1;}
.brand .tld{color:var(--signal);font-weight:600;}
.brand-tel{font-family:var(--font-mono);font-size:.8rem;color:#9DB2CC;text-decoration:none;white-space:nowrap;}
.brand-tel:hover{color:#fff;}
.mainnav{display:flex;gap:1.15rem;align-items:center;font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;flex-wrap:nowrap;}
.mainnav a{color:#C7D4E5;text-decoration:none;white-space:nowrap;}
.mainnav a:hover,.mainnav a[aria-current="page"]{color:#fff;}
.mainnav a.ext{color:#E8B0AC;}
.mainnav a.ext:hover{color:#fff;}
.mainnav a.ext::after{content:" ↗";font-size:.85em;opacity:.8;}
.navtoggle{display:none;background:none;border:1px solid #33507A;color:#fff;border-radius:4px;padding:.4rem .7rem;cursor:pointer;font-family:var(--font-mono);font-size:.8rem;}
@media(max-width:960px){
  .navtoggle{display:inline-block;}
  .masthead .wrap{flex-wrap:wrap;}
  .mainnav{display:none;flex-direction:column;width:100%;gap:.1rem;padding:.5rem 0 0;align-items:flex-start;}
  .mainnav.open{display:flex;}
  .mainnav a{padding:.55rem 0;width:100%;border-bottom:1px solid #1B3350;}
}

/* geo rail */
.geo-rail{background:#fff;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:.78rem;}
.geo-rail .wrap{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;overflow-x:auto;flex-wrap:wrap;}
.geo-rail a{color:var(--navy-500);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;}
.geo-rail a:hover{color:var(--signal);}
.geo-rail .sep{color:var(--line-strong);}
.geo-rail .here{color:var(--ink);}

/* footer platform layout */
.sitefoot{background:var(--navy);color:#9DB2CC;font-size:.82rem;padding:2.2rem 0;line-height:1.55;}
.sitefoot .wrap{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:2rem;}
.sitefoot a{color:#C7D4E5;}
.foot-brand strong{color:#fff;font-family:var(--font-display);font-size:1rem;}
.foot-legal{font-size:.76rem;color:#8A9BB2;max-width:70ch;}
@media(max-width:820px){.sitefoot .wrap{grid-template-columns:1fr;}}

/* GHL form container */
.ghlform{background:var(--field);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem;overflow:hidden;}
.leadcard{grid-template-columns:1fr 1.1fr;}
@media(max-width:820px){.leadcard{grid-template-columns:1fr;}}

/* ============================================================
   OVERRIDES v3 — sleeker hero, minimal footer, builder cards
   ============================================================ */
/* Smaller, sleeker eyebrow so more of the page shows */
.hero .eyebrow{font-size:.68rem;letter-spacing:.14em;margin-bottom:.6rem;opacity:.9;}
.hero{padding:2.2rem 0 1.8rem;}
.hero h1{font-size:clamp(1.8rem,4vw,2.9rem);white-space:normal;}
.hero h1.nowrap{white-space:nowrap;}
.hero p.lede,.hero>.wrap>p{font-size:clamp(1rem,1.8vw,1.18rem);}

/* Minimal single-row footer */
.sitefoot{background:var(--navy);color:#9DB2CC;font-size:.8rem;padding:1.3rem 0;line-height:1.5;}
.sitefoot .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;justify-content:center;text-align:center;}
.sitefoot a{color:#C7D4E5;text-decoration:none;}
.sitefoot a:hover{color:#fff;}
.foot-name{color:#fff;font-family:var(--font-display);font-weight:600;}
.foot-sep{color:#3A5578;opacity:.5;}
.foot-copy{color:#6E86A6;width:100%;text-align:center;margin-top:.3rem;font-size:.74rem;}

/* Builder cards (3 across, name + slogan, whole card is a link) */
.builder-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.bcard{display:flex;flex-direction:column;justify-content:center;background:var(--field);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.2rem;text-decoration:none;transition:border-color .12s,transform .12s,box-shadow .12s;min-height:120px;}
.bcard:hover{border-color:var(--signal);transform:translateY(-2px);box-shadow:0 8px 24px rgba(11,31,58,.08);}
.bcard .bname{font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--navy);}
.bcard .bslogan{font-size:.85rem;color:var(--ink-soft);margin-top:.25rem;}
.bcard .bgo{margin-top:.7rem;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--signal-dark);}
.bcard:hover .bgo{color:var(--signal);}
@media(max-width:720px){.builder-cards{grid-template-columns:1fr;}}

/* Slim full-width sell strip */
.sellstrip{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-700) 100%);color:#fff;border-radius:var(--radius);padding:1.5rem 1.8rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin:1.6rem 0;}
.sellstrip .txt{flex:1;min-width:260px;}
.sellstrip h3{font-size:1.2rem;margin:0 0 .3rem;color:#fff;}
.sellstrip p{margin:0;color:#C7D4E5;font-size:.92rem;max-width:70ch;}
.sellstrip .btn{flex-shrink:0;}

/* Tease cards on home right side / regions */
.tease{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.2rem;}
.tease a{background:var(--field);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;text-decoration:none;color:var(--ink);transition:border-color .12s,transform .12s;}
.tease a:hover{border-color:var(--signal);transform:translateY(-2px);color:var(--signal-dark);}
.tease .tt{font-family:var(--font-display);font-weight:600;font-size:.98rem;}
.tease .ts{font-size:.8rem;color:var(--ink-soft);margin-top:.2rem;}
@media(max-width:720px){.tease{grid-template-columns:1fr 1fr;}}

/* Builders page split headings */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin:1.6rem 0;}
.dual .col{background:var(--field);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;}
.dual .col.b{background:var(--navy);color:#fff;}
.dual .col.b p{color:#C7D4E5;}
.dual .col h2{font-size:1.3rem;margin:.2rem 0 .6rem;}
@media(max-width:720px){.dual{grid-template-columns:1fr;}}

/* ============================================================
   Advertiser directory
   ============================================================ */
.adv-cat{margin:2rem 0;}
.adv-cat h2{font-size:1.35rem;margin:0 0 .3rem;}
.adv-cat .cat-note{font-size:.88rem;color:var(--ink-soft);margin:0 0 1rem;}
.adv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.7rem;}
.adv-slot{background:var(--field);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color .12s,background .12s;}
.adv-slot:hover{border-color:var(--signal);background:#fff;}
.adv-slot .an{font-family:var(--font-display);font-weight:600;font-size:.98rem;color:var(--navy);}
.adv-slot .aa{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:#8A6D0B;background:#FFF4D6;align-self:flex-start;padding:.15rem .45rem;border-radius:3px;}
.adv-slot .al{margin-top:.2rem;font-size:.8rem;}
.adv-slot .al a{color:var(--signal-dark);text-decoration:none;}
.adv-slot .al a:hover{color:var(--signal);}
.adv-cta-bar{background:var(--navy);color:#fff;border-radius:var(--radius);padding:1.4rem 1.8rem;display:flex;align-items:center;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;margin:1.4rem 0 2rem;}
.adv-cta-bar p{margin:0;color:#C7D4E5;max-width:60ch;}
.adv-cta-bar .actions{display:flex;gap:.6rem;flex-wrap:wrap;}

/* footer sub-links */
.foot-sub{font-size:.74rem;color:#8A9BB2;}
.foot-sub a{color:#9DB2CC;}
.foot-sub a:hover{color:#fff;}

/* about page section anchors offset so heading isn't hidden under nothing */
#privacy,#terms,#fair-housing,#disclosures,#usa-houses-llc,#scott-brown{scroll-margin-top:1.5rem;}
