img{max-width:100%;height:auto}
:root{--ink:#10233f;--blue:#2f4f9e;--bone:#f4f1ea;--paper:#fbf9f4;--set:#ffb81c;--text:#1d2a3a}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Work Sans',sans-serif;color:var(--text);background:var(--paper);font-size:1.02rem;line-height:1.65}
h1,h2,h3,.navbar-brand{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:1}
h2{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:700;margin-bottom:1.2rem;color:var(--ink)}
h3{font-weight:600}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--set);margin-bottom:.9rem}
.eyebrow.dark{color:var(--blue)}
.utility{background:var(--ink);color:#c9d3e4;font-size:.82rem;padding:.4rem 0}
.utility a{color:#fff;text-decoration:none;margin-left:1.4rem}
.util-phone{font-weight:600;color:var(--set)!important}
.navbar{background:var(--paper);border-bottom:3px solid var(--ink);padding:.6rem 0}
.navbar-brand{font-size:1.7rem;font-weight:700;color:var(--blue);display:flex;align-items:center;gap:.55rem}
.navbar-brand span{color:var(--ink)}
.brand-mark{width:22px;height:22px;background:var(--blue);box-shadow:inset 0 -9px 0 var(--ink);display:inline-block}
.brand-mark+*{margin-left:0}
.navbar-brand span:not(.brand-mark){font-weight:500}
.nav-link{font-size:.9rem;font-weight:500;color:var(--ink)!important;padding:.5rem .6rem!important}
.nav-link:hover{color:var(--blue)!important}
.btn-set{background:var(--set);color:var(--ink);border:2px solid var(--ink);border-radius:0;font-weight:600;box-shadow:4px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.btn-set:hover{background:var(--set);color:var(--ink);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn-ghost{border:2px solid #fff;color:#fff;border-radius:0;font-weight:600}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px}
.hero-panel{background:var(--ink);color:#fff;display:flex;align-items:center;padding:4rem 3rem 4rem max(1.5rem,calc((100vw - 1320px)/2 + 12px))}
.hero-inner{max-width:560px}
.hero h1{font-size:clamp(3.2rem,7.2vw,6rem);font-weight:700;margin-bottom:1.4rem}
.hero h1 em{font-style:normal;color:var(--set)}
.lead-copy{font-size:1.15rem;color:#d6deec;margin-bottom:1.8rem}
.badge-line{margin-top:2rem;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#9fb0cf}
.hero-photo{position:relative;overflow:hidden;background:var(--blue)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.dim{position:absolute;left:8%;right:8%;bottom:7%;border-top:2px solid var(--set);text-align:center}
.dim:before,.dim:after{content:"";position:absolute;top:-9px;width:2px;height:16px;background:var(--set)}
.dim:before{left:0}.dim:after{right:0}
.dim span{display:inline-block;transform:translateY(-.8rem);background:var(--ink);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .7rem}
.ticker{background:var(--set);border-block:3px solid var(--ink);overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-flex;animation:tick 40s linear infinite}
.ticker span{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:1.25rem;padding:.55rem 1.6rem;color:var(--ink)}
.ticker span:after{content:"\2192";margin-left:3.2rem}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}
.section{padding:6rem 0}.section.tight{padding:4.5rem 0}
.sticky-lg{position:sticky;top:110px}
.index-list{list-style:none;padding:0;margin:0;counter-reset:none}
.index-list li{border-top:2px solid var(--ink);padding:1.2rem 0 1.4rem}
.index-list li:last-child{border-bottom:2px solid var(--ink)}
.index-list h3{font-size:2rem;color:var(--blue);margin-bottom:.5rem}
.index-list p{margin:0}
.band-blue{background:var(--blue);color:#fff}
.band-blue h2,.band-ink h2{color:#fff}
.band-blue a{color:var(--set)}
.band-blue a.btn-set,.band-blue a.btn-set:hover{color:var(--ink)}
.band-blue a.btn-ghost{color:#fff}
.band-blue a.btn-ghost:hover{color:var(--ink)}
.band-ink{background:var(--ink);color:#d6deec}
.band-bone{background:var(--bone)}
.band-lead{max-width:760px;font-size:1.12rem;color:#e0e8f7}
.style-grid{list-style:none;padding:0;margin:2.2rem 0 1.5rem;display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid #fff;border-left:2px solid #fff}
.style-grid li{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:700;font-size:1.9rem;line-height:1.05;padding:1.7rem 1.1rem;border-right:2px solid #fff;border-bottom:2px solid #fff;min-height:110px;display:flex;align-items:flex-end}
.style-grid li:hover{background:var(--set);color:var(--ink)}
.band-note{color:#dbe4f5}
.photo-pair{display:grid;gap:1rem}
.photo-pair img,.video img{width:100%;height:auto;display:block;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--set)}
.photo-pair img:nth-child(2){width:80%;margin-left:auto}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:1rem;margin-top:2rem}
.mosaic figure{margin:0;position:relative;overflow:hidden;border:3px solid var(--ink)}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mosaic figure:hover img{transform:scale(1.04)}
.mosaic .w2{grid-column:span 2}.mosaic .tall{grid-row:span 2}
.mosaic figcaption{position:absolute;left:0;bottom:0;background:var(--ink);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .7rem}
.area-card{border:2px solid #fff;padding:2rem}
.area-card h3{font-size:2rem;color:var(--set)}
.towns{font-size:.88rem;color:#9fb0cf;margin:0}
.video{display:block}
blockquote{margin:0;height:100%;background:var(--paper);border:2px solid var(--ink);padding:1.8rem;box-shadow:6px 6px 0 var(--blue)}
blockquote p{font-size:1.02rem}
cite{font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.small-note{font-size:.9rem;color:#4a586b}
.lenders h3{font-size:1.7rem;color:var(--blue);margin:0 0 .6rem}
.lenders ul{list-style:none;padding:0;margin:0 0 2rem}
.lenders li{padding:.55rem 0;border-bottom:1px solid rgba(16,35,63,.25);font-size:.95rem}
.lenders a{color:var(--blue);font-weight:600;white-space:nowrap;margin-left:.3rem}
.people article{border-left:5px solid var(--set);padding-left:1.4rem;margin-bottom:2rem}
.people h3{font-size:2.1rem;color:var(--ink);margin:0}
.role{font-family:'IBM Plex Mono',monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);margin:.3rem 0 .7rem}
.narrow{max-width:860px}
.accordion-item{border:0;border-top:2px solid var(--ink);border-radius:0;background:transparent}
.accordion-item:last-child{border-bottom:2px solid var(--ink)}
.accordion-button{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-weight:700;font-size:1.5rem;background:transparent;color:var(--ink);padding:1.2rem 0;box-shadow:none!important}
.accordion-button:not(.collapsed){background:transparent;color:var(--blue)}
.accordion-body{padding:0 0 1.4rem}
.contact address{font-size:1.2rem;margin-bottom:1rem}
.big-link{font-family:'Barlow Condensed',sans-serif;font-size:3rem;font-weight:700;text-decoration:none;line-height:1.1}
.contact iframe{width:100%;height:100%;min-height:420px;border:3px solid #fff}
.footer{background:var(--bone);padding:3rem 0;border-top:3px solid var(--ink);font-size:.9rem}
.foot-logo{margin-bottom:1rem;height:auto}
.powered a{color:var(--blue);font-weight:600}
@media (max-width:991px){
 .hero{grid-template-columns:1fr}
 .hero-panel{padding:3rem 1.5rem}
 .hero-photo{height:340px}
 .section{padding:4rem 0}
 .style-grid{grid-template-columns:repeat(2,1fr)}
 .style-grid li{font-size:1.5rem;min-height:90px}
 .mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
 .mosaic .w2{grid-column:span 2}
 .sticky-lg{position:static}
 .navbar-collapse{padding:1rem 0}
}
@media (max-width:575px){.navbar-brand{font-size:1.35rem}.big-link{font-size:2.4rem}.dim span{font-size:.6rem}}
