/* Approved abstract-beacon identity. Public presentation only. */
:root{--ink:#20262d;--navy:#102640;--muted:#52606b;--paper:#fff;--white:#fff;--soft:#f7f5f0;--tint:#f1eee8;--line:#d6d0c5;--stone:#d6d0c5;--slate:#667c89;--brass:#aa8d62}
body{font-family:Arial,Helvetica,sans-serif}
.brand{display:inline-flex;align-items:center;flex-shrink:0;max-width:100%}
.brand .brand-wordmark{display:block;width:252px;height:auto;max-width:100%;aspect-ratio:350/83}
.header,.site-header{background:#fff;gap:30px;padding-top:25px;padding-bottom:25px}
.header nav,.site-header nav{flex-wrap:wrap;gap:16px 24px}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.028em}
h3{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.015em}
.button,.nav-pill{border-radius:5px}
.button:hover{background:#253d58}
.button.light:hover{background:var(--soft)}
.home-hero{display:block;padding-top:92px;padding-bottom:88px;max-width:1440px}
.home-hero .hero-copy{max-width:1030px}
.home-hero h1{font-size:clamp(48px,5.8vw,82px);font-weight:400;line-height:1.09;letter-spacing:-.036em;max-width:1000px}
.home-hero h1 em{color:var(--navy)}
.home-hero .lead{max-width:720px;font-size:21px;line-height:1.65}
.home-hero .hero-note{max-width:730px;margin-top:30px}
.hero .eyebrow:before{display:none}
.audience-strip{background:var(--soft)}
.section{padding-top:100px;padding-bottom:100px}
.solution,.broker-note,.form-card,.career-card,.opportunity-note{border-radius:8px}
.solution{background:var(--soft);padding:36px 30px}
.solution h3{font-weight:600}
.app-visual{background:var(--soft);border-radius:8px}
.audiences,.company{background:var(--soft)}
.audience-list article{border-color:var(--line)}
.jim-portrait img,.bio-hero img{border-radius:8px}
.regional{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}
.regional h2{font-size:clamp(32px,3.3vw,48px)}
.regional .intro{max-width:620px}
.regional-photo{margin:0;min-width:0}
.regional-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:3px}
.region-footprint{font-size:13px;color:var(--muted);line-height:1.85;max-width:600px;margin-top:26px}
.region-secondary{font-size:13px;margin-top:22px}
.regional-story{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center}
.regional-story .regional-photo img{aspect-ratio:1.15;object-position:38% 50%}
.regional-story p{font-size:17px;color:var(--muted);line-height:1.8}
.regional-story h2{margin-bottom:24px}
.street-story{max-width:1320px;margin:0 auto;padding:60px 5% 90px;display:grid;grid-template-columns:.85fr 1fr;gap:8%;align-items:center}
.street-story img{width:100%;max-height:410px;aspect-ratio:4/3;object-fit:cover;object-position:35% 65%;border-radius:3px}
.street-story p{color:var(--muted);font-size:16px}
.contact h2{font-weight:400}
.service-hero h1,.career-hero h1,.career-detail h1{font-weight:400;letter-spacing:-.035em}
.hero-picture{border-radius:8px}
.site-footer{border-color:var(--line)}
.footer-bottom{line-height:1.65}
@media(min-width:1600px){.regional-story,.street-story{padding-left:5%;padding-right:5%}}
@media(max-width:1100px){.header,.site-header{flex-wrap:wrap}.header nav,.site-header nav{justify-content:flex-start}}
@media(max-width:760px){
 .brand .brand-wordmark{width:225px}.header,.site-header{padding:22px 6%;gap:22px}
 .header nav,.site-header nav{width:100%;gap:14px 18px;font-size:12px;align-items:center;justify-content:flex-start}
 .header nav .button,.site-header nav .nav-pill{margin-left:0;white-space:normal}
 .home-hero{padding:52px 6% 58px}.home-hero h1{font-size:clamp(43px,10.5vw,62px);line-height:1.1;max-width:620px}
 .home-hero .lead{font-size:18px}.home-hero .eyebrow{line-height:1.8;max-width:320px}.home-hero .actions{gap:20px}
 .section{padding:64px 6%}.regional,.regional-story,.street-story{grid-template-columns:1fr;gap:30px}
 .regional-story .regional-photo{order:2}.regional-story .regional-photo img{aspect-ratio:4/3}
 .regional-story p{font-size:16px}.street-story{padding:30px 6% 65px}.street-story img{max-height:330px}
 .service-hero h1{font-size:clamp(38px,9.5vw,60px)}.service-hero{padding-top:50px}
 .solution{padding:30px 26px}.button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
