@font-face{font-family:"Archivo Narrow";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/archivo-narrow-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/public-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Size-adjusted local fallbacks so the swap does not shift layout */
@font-face{font-family:"Archivo Narrow Fallback";font-weight:400 700;src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold"),local("Liberation Sans Bold");size-adjust:82%;ascent-override:126.2%;descent-override:38%;line-gap-override:0%}
@font-face{font-family:"Public Sans Fallback";font-weight:400 700;src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Liberation Sans");size-adjust:102.6%;ascent-override:92.6%;descent-override:21.9%;line-gap-override:0%}
:root{--navy:#102f3b;--teal:#0e76bd;--gold:#0e76bd;--gold2:#0b5f99;--ink:#1a1d1f;--mute:#56656c;--bg:#f3f1ec;--line:#d9d6cf}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.65 "Public Sans","Public Sans Fallback",Helvetica,Arial,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,dt{font-family:"Archivo Narrow","Archivo Narrow Fallback","Arial Narrow",sans-serif;font-weight:700;line-height:1.05;color:var(--navy);margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,6vw,4.6rem)}h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
a{color:var(--teal)}img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}.narrow{max-width:720px}
.todo{background:#fff4cc;border-bottom:1px dashed #b38b00;font-size:.88em;padding:0 4px}
.small{font-size:.85rem;color:var(--mute)}
header.nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:9}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:80px}
.logo{text-decoration:none;display:flex;align-items:flex-end;gap:10px}.logo img{height:60px;width:auto;display:block}
.logo small{font:600 .72rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding-bottom:3px}
nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;align-items:center}
nav a{text-decoration:none;color:var(--navy);font:600 1.02rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif}nav a[aria-current]{border-bottom:2px solid var(--gold)}
nav .phone a{color:var(--gold2)}
.btn{display:inline-block;background:var(--gold);color:#fff!important;padding:13px 22px;text-decoration:none;font:600 1.05rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif;border:0;cursor:pointer}.btn:hover{background:var(--gold2)}
.link{font:600 1.05rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif;text-decoration:none}.link.light{color:#fff;margin-left:18px}
section{padding:88px 0}
.hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;padding:0 0 70px;color:#fff;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:rgba(8,28,36,.55)}
.hero .wrap{position:relative;z-index:1;width:100%}.hero h1{color:#fff;max-width:900px}.hero p{max-width:560px;font-size:1.15rem}
.intro .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:start}
.lede{font-size:1.4rem;line-height:1.5;color:var(--navy)}
.feature{background:var(--bg);padding:0}.feature-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:center;max-width:none;padding:0}
.feature-grid img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}.feature-grid>div{padding:60px 40px 60px 0;max-width:480px}
.services-list dl{margin:30px 0 0;border-top:2px solid var(--navy)}
.services-list dl>div{display:grid;grid-template-columns:280px 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}
.services-list dt{font-size:1.6rem;margin:0}.services-list dt a{color:var(--navy);text-decoration:none}.services-list dd{margin:0;color:var(--mute);align-self:center}
.numbers{background:var(--navy);color:#cbd8dc;padding:56px 0}.numbers p{font:600 clamp(1.4rem,2.6vw,2rem)/1.3 "Archivo Narrow","Archivo Narrow Fallback",sans-serif;margin:0}.numbers b{color:#5aa9e0}.numbers .note{font:400 .85rem "Public Sans","Public Sans Fallback";margin-top:10px;color:#8fa6ad}
.listings .wrap{max-width:900px;margin-left:max(28px,calc((100vw - 1200px)/2 + 28px))}
.ph{background:#eceae4;border:1px dashed #b9b4a8;min-height:200px;display:flex;align-items:center;justify-content:center;color:var(--mute);text-align:center;padding:20px;margin-top:20px}.ph.tall{min-height:460px;margin:0}
.area{background:#fff}.area .wrap{max-width:820px;margin-left:auto;margin-right:max(28px,calc((100vw - 1200px)/2 + 28px))}
.cta{background:var(--navy);color:#cbd8dc}.cta h2{color:#fff}.cta .wrap{max-width:760px}
.page-head{padding:70px 0 30px;border-bottom:1px solid var(--line)}.page-head p{max-width:620px;font-size:1.15rem;color:var(--mute)}
.svc{scroll-margin-top:90px}.svc.alt{background:var(--bg)}
.cols{columns:2;column-gap:48px}.cols p{margin-top:0}
.svc-side{display:grid;grid-template-columns:2fr 1fr;gap:60px;align-items:center}.mark{width:100%;max-width:300px;justify-self:center}
.dev{background:var(--navy);color:#cbd8dc}.dev h2{color:#fff}
.gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:10px;margin-top:34px}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}.gallery .big{grid-row:1/3}
details{border-bottom:1px solid var(--line);padding:16px 0}summary{font:700 1.25rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif;color:var(--navy);cursor:pointer}
.about-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start}
form{display:grid;gap:14px}label{font-weight:600;font-size:.9rem;color:var(--navy)}input,select,textarea{width:100%;padding:12px;border:1px solid #bdb8ad;font:inherit;background:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
footer{background:#0b222b;color:#9fb6bc;padding:60px 0 28px;font-size:.92rem}footer a{color:#dbe6e8;text-decoration:none}
footer address{font-style:normal}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.legal{border-top:1px solid #1f3b46;margin-top:40px;padding-top:20px;font-size:.78rem}
@media(max-width:860px){section{padding:60px 0}.intro .wrap,.feature-grid,.svc-side,.about-grid,.contact-grid,.fgrid,.two{grid-template-columns:1fr}.feature-grid>div{padding:0 28px 50px}.feature-grid img{min-height:300px}.services-list dl>div{grid-template-columns:1fr;gap:4px}.cols{columns:1}.gallery{grid-template-columns:1fr;grid-template-rows:auto}.gallery .big{grid-row:auto}nav ul{gap:14px}nav .phone{display:none}.hero{min-height:520px}.listings .wrap,.area .wrap{margin:0 auto}}
.mark{height:auto}
.logo img{height:72px}header.nav .wrap{min-height:96px}
.cta{background:var(--bg);color:var(--ink);border-top:3px solid var(--teal)}.cta h2{color:var(--navy)}
@media(max-width:860px){.logo img{height:56px}header.nav .wrap{min-height:76px;flex-wrap:wrap;gap:6px;padding-top:8px;padding-bottom:8px}nav ul{gap:16px}}
.area .wrap{max-width:1200px;margin:0 auto}.tiers{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;margin-top:24px;border-top:2px solid var(--navy)}
.tiers>div{padding:22px 28px 0 0}.tiers>div+div{padding-left:28px;border-left:1px solid var(--line)}.tiers h3{font-size:1.5rem;margin-bottom:.3em}.tiers>div:first-child p{font-size:1.1rem;color:var(--navy)}
@media(max-width:860px){.tiers{grid-template-columns:1fr}.tiers>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.has-bg{position:relative;color:#e6eef1;overflow:hidden;background:var(--navy)}
.has-bg>.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.has-bg:before{content:"";position:absolute;inset:0;background:rgba(8,28,36,.74);z-index:1}
.has-bg>.wrap{position:relative;z-index:2}.has-bg h2,.has-bg h3{color:#fff}.has-bg a{color:#9fd0f2}
.area.has-bg .tiers{border-top-color:#fff}.area.has-bg .tiers>div+div{border-color:rgba(255,255,255,.25)}.area.has-bg .tiers>div:first-child p{color:#fff}
.has-bg .todo{color:var(--ink)}
.places{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.places figure{margin:0}.places img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.places figcaption{font:600 1rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif;color:var(--navy);margin-top:8px}
.credit{display:block;font:400 .72rem "Public Sans","Public Sans Fallback",sans-serif;color:var(--mute);margin-top:2px}.credit a{color:inherit}
.bgcredit{margin-top:24px;color:#a9bcc3}
@media(max-width:860px){.places{grid-template-columns:1fr}}
.dots{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 0}.dots li{white-space:nowrap}.dots li+li::before{content:"\00B7";padding:0 .6em;color:#6f8a92}
.fsites{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:32px;font-size:.85rem}
.legal p{margin:0 0 10px}.eho svg{vertical-align:-3px;margin-right:6px}.consent{max-width:60ch}
.prose h2{font-size:1.25rem;margin:28px 0 8px}
@media(max-width:600px){.legal .dots{flex-direction:column;gap:8px}.legal .dots li+li::before{content:none}}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;line-height:1.5;max-width:62ch}.consent input{width:18px;height:18px;margin-top:3px;flex:none}.consent label{font-weight:400}
.abd{margin-top:18px;color:#5b6b70}

/* Neutral backgrounds replacing unlicensed photos (launch 10/21/2026) */
.hero-plain{background:linear-gradient(135deg,#102f3b 0%,#0b2530 55%,#16465a 100%)}
.hero-plain:after{background:none}
.bg-plain{background:linear-gradient(160deg,#102f3b 0%,#0b2530 100%)}
.bg-plain:before{background:none}
.legal .fid{color:#e6eef1;font-size:.82rem}

/* ---- Structure build (CTO 10/22) ---- */
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:10px 14px;z-index:20}.skip:focus{left:8px;top:8px}
.feature a,.feature .link,.cta a:not(.btn),.alt a{color:var(--gold2)}
/* header */
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:0}
header.nav nav{margin-left:auto}
header.nav nav>ul{list-style:none;display:flex;gap:24px;margin:0;padding:0;align-items:center}
nav li{position:relative}
nav a{white-space:nowrap}
.has-sub{display:flex;align-items:center}
.sub-toggle{background:none;border:0;color:var(--navy);cursor:pointer;font-size:.8rem;padding:0;margin:0;line-height:1;inline-size:28px;block-size:28px;min-inline-size:28px;min-block-size:28px;display:inline-flex;align-items:center;justify-content:center}
.sub{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;left:0;min-width:260px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(0,0,0,.08);display:none;z-index:15}
.sub li a{display:block;padding:8px 16px;white-space:normal}
.has-sub.open>.sub{display:block}
@media(min-width:1001px){.has-sub:hover>.sub,.has-sub:focus-within>.sub{display:block}}
.hphone{margin-left:24px;color:var(--gold2);text-decoration:none;font:600 1.02rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif;white-space:nowrap}
header.nav .hcta{margin-left:24px;padding:10px 18px;font-size:1rem;white-space:nowrap}
.menu-toggle,.hbreak{display:none}
.menu-toggle{background:#fff;border:1px solid var(--line);color:var(--navy);font:600 1rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif;padding:7px 14px;cursor:pointer}
@media(max-width:1000px){
 header.nav .wrap{flex-wrap:wrap;min-height:0;padding-top:8px;padding-bottom:8px;row-gap:6px}
 .logo img{height:52px}
 header.nav .hcta{order:1;margin-left:auto;padding:9px 14px;font-size:.95rem}
 .hbreak{display:block;order:2;flex:0 0 100%;height:0}
 .js .menu-toggle{display:inline-block;order:3}
 .hphone{order:4;margin-left:auto}
 header.nav nav{order:5;flex:0 0 100%;margin-left:0}
 .js header.nav nav{display:none}.js header.nav nav.open{display:block;border-top:1px solid var(--line)}
 header.nav nav>ul{flex-direction:column;align-items:stretch;gap:0}
 nav li{border-bottom:1px solid var(--line)}
 nav>ul>li>a{display:block;padding:11px 0}
 .has-sub{flex-wrap:wrap}.has-sub>a{flex:1}.sub-toggle{padding:10px 14px}
 .sub{position:static;display:none;box-shadow:none;border:0;min-width:0;flex:0 0 100%;padding:0 0 8px 14px}
 .sub li{border:0}.sub li a{padding:7px 0}
}
/* breadcrumbs */
.crumbs{background:#fff;border-bottom:1px solid var(--line);font-size:.85rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:10px 0}
.crumbs li+li::before{content:"\203A";padding:0 .6em;color:var(--mute)}
.crumbs a{color:var(--gold2)}
/* content */
.prose{max-width:860px}.narrow.prose{max-width:860px}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:1.6em 0 .5em}.prose h2:first-child{margin-top:0}
.prose h2 a{color:var(--navy);text-decoration:none}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.prose th{background:var(--bg);color:var(--navy)}
.prose tr.tgroup th{background:var(--navy);color:#fff;font-family:"Archivo Narrow","Archivo Narrow Fallback",sans-serif;font-size:1.05rem;line-height:1.25;letter-spacing:.01em}
.tablewrap{overflow-x:auto;margin:1.2em 0}
@media(max-width:700px){.prose table.mgroups{font-size:.88rem}.prose table.mgroups th,.prose table.mgroups td{padding:8px 10px}}
.ctas{margin:1.6em 0}
.lede{font-size:1.3rem;line-height:1.5;color:var(--navy)}
.vdisc{font-size:1rem;color:var(--ink);border-left:3px solid var(--line);padding-left:14px}
.cards{list-style:none;padding:0;margin:1em 0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.cards li a{display:block;height:100%;padding:18px 20px;border:1px solid var(--line);text-decoration:none;color:var(--ink);background:#fff}
.cards li a:hover{border-color:var(--gold)}.cards strong{color:var(--navy);font:700 1.2rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif}
.pfig{margin:1.4em 0}.pfig img{width:100%;height:auto;display:block}.pfig figcaption{font-size:.9rem;color:var(--mute);margin-top:6px}.credit{display:block;font-size:.78rem}.credit a{color:inherit}
.places{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:1.4em}.places .pfig{margin:0}
section.blk{padding:56px 0}section.blk:nth-of-type(even){background:var(--bg)}section.intro{padding:56px 0 20px}
.hero p.ctas .btn{margin-right:6px}
.faq{background:var(--bg);padding:56px 0}.faq h2{margin-top:0}
.faq details p{margin:.6em 0 0}
.contact-grid{align-items:start}
.zform-fallback{border:1px solid var(--line);background:var(--bg);padding:22px}.zform-fallback p{margin:.3em 0}
.formnote{margin-top:12px}
.map-ph{margin-top:18px;border:1px solid var(--line);background:linear-gradient(160deg,#102f3b,#0b2530);color:#cbd8dc;padding:34px 22px;min-height:200px}.map-ph .small{color:#cbd8dc}.map-ph .link{color:#fff}
.map-ph iframe{border:0;width:100%;height:280px;display:block}
@media(max-width:860px){.cards,.places{grid-template-columns:1fr}}
.link{white-space:nowrap}
@media(max-width:700px){.hero{padding:44px 0 56px}.hero-plain h1{margin-top:0}}
.prose a:not(.btn),.crumbs a{color:var(--gold2)}.prose .cards li a{color:var(--ink)}.prose h2 a{color:var(--navy)}
.cards li.card-x{position:relative;padding:18px 20px;border:1px solid var(--line);background:#fff}.cards li.card-x:hover{border-color:var(--gold)}.cards li.card-x a{color:var(--ink);text-decoration:none}.cards li.card-x a::after{content:"";position:absolute;inset:0}
.pfig .ownerline{font-size:.9rem;margin:4px 0 0}.formnote a{color:var(--gold2)}.tcap{font-size:.9rem}
footer p a,footer .legal a{text-decoration:underline}

/* Privacy: section menu (sticky sidebar on desktop, stacked on mobile) */
.privacy-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start}
.privacy-text h2{scroll-margin-top:120px}
.toc{position:sticky;top:110px;max-height:calc(100vh - 130px);overflow:auto;background:var(--bg);border:1px solid var(--line);border-left:3px solid var(--navy);padding:18px 20px}
.toc-title{margin:0 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.toc ol{list-style:none;margin:0;padding:0}
.toc li{margin:0;border-top:1px solid var(--line)}.toc li:first-child{border-top:0}
.toc a{display:block;padding:7px 0;font-size:.92rem;line-height:1.35;color:var(--navy);text-decoration:none}
.toc a:hover,.toc a:focus-visible{color:var(--gold2);text-decoration:underline}
@media(max-width:1000px){.privacy-layout{grid-template-columns:1fr;gap:28px}.toc{position:static;max-height:none}.privacy-text h2{scroll-margin-top:150px}}
.formagree{font-size:1rem;margin:14px 0 6px;color:var(--ink)}.formagree a{color:var(--gold2)}

/* ===== Visual refresh v6 (CMO visual direction 10/24): heroes, bands, cards, credential band, CTA band ===== */
:root{--ov:11,37,48}
.eyebrow{font:600 .8rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif;text-transform:uppercase;letter-spacing:.18em;color:#9fd0f2;margin:0 0 14px}
/* A/B photo heroes */
.phero{position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden;padding:0;background:#102f3b}
.phero-a{min-height:max(600px,min(88vh,820px))}
.phero-b{min-height:clamp(380px,52vh,520px)}
.phero-img,.phero-img img{position:absolute;inset:0;width:100%;height:100%}
.phero-img img{object-fit:cover;display:block}
.op55-60{object-position:55% 60%}.op50-55{object-position:50% 55%}.op50-45{object-position:50% 45%}.op50-60{object-position:50% 60%}.op50-50{object-position:50% 50%}.op40-50{object-position:40% 50%}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(var(--ov),.55) 0%,rgba(var(--ov),0) 45%),linear-gradient(90deg,rgba(var(--ov),.88) 0%,rgba(var(--ov),.72) 45%,rgba(var(--ov),.30) 100%)}
.phero-text{position:relative;z-index:1;width:100%;padding-bottom:72px}
.phero-a .phero-text{max-width:1200px}.phero-a .phero-text>*{max-width:640px}
.phero h1{color:#fff;position:relative;padding-left:22px;max-width:18ch}
.phero h1::before,.dhead h1::before{content:"";position:absolute;left:0;top:.12em;width:3px;height:56px;background:#0e76bd}
.phero-a h1{font-size:clamp(2.75rem,5vw + .5rem,5rem);line-height:1.02;letter-spacing:-.015em}
.phero-b h1,.dhead h1{font-size:clamp(2.25rem,3.6vw + .5rem,3.5rem);line-height:1.05}
.phero .lead,.dhead .lead{font-size:1.2rem;line-height:1.5;color:rgba(255,255,255,.92);max-width:560px;margin:0}
.phero .ctas{margin:28px 0 0}.phero .link.light{color:#fff}
.capstrip{background:#fff;border-bottom:1px solid var(--line);padding:12px 0;font-size:.85rem;color:var(--mute)}
.capstrip .credit{display:inline;font-size:.85rem}.capstrip a{color:var(--gold2)}
/* C: navy contour head */
.dhead{position:relative;background:#102f3b url(/assets/img/contour.svg) right center/1200px auto no-repeat;color:#fff;padding:96px 0 64px}
.dhead h1{color:#fff;position:relative;padding-left:22px;max-width:22ch}
.dhead-short{padding:72px 0 48px}
/* sections */
section.plain,section.gsec{padding:96px 0}section.warm,section.gsec.warm{background:var(--bg)}
section.gsec+section.gsec{padding-top:72px}
section.intro{padding:96px 0 40px}
/* image/text band */
.band{padding:0;background:#fff}
.band-grid{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center}
.band-media .pfig{margin:0}.band-media .pfig img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}
.band-media figcaption,.band-media .ownerline{padding:0 28px}
.band-text{max-width:480px;padding:64px 28px 64px 0}
.band-rev{background:var(--bg)}.band-rev .band-grid{grid-template-columns:5fr 7fr}.band-rev .band-media{order:2}.band-rev .band-text:empty{display:none}.band-rev .band-grid:has(.band-text:empty){grid-template-columns:1fr;max-width:1200px;margin:0 auto;padding:64px 28px}
/* property cards with image tops */
.cards li.ptcard a{padding:0;display:flex;flex-direction:column;overflow:hidden}
.ctop{display:block;aspect-ratio:3/2;background:#102f3b;overflow:hidden;position:relative}
.ctop picture,.ctop img{display:block;width:100%;height:100%}
.ctop img{object-fit:cover;opacity:.35;mix-blend-mode:luminosity;transition:opacity .6s,transform .6s}
.ctop-none{position:absolute;inset:0;background:#102f3b url(/assets/img/contour.svg) center/600px auto}
.cards li.ptcard a:hover .ctop img,.cards li.ptcard a:focus-visible .ctop img{opacity:.55;transform:scale(1.03)}
.cbody{display:block;padding:18px 20px}.cline{display:block;margin-top:6px}
.cardsec .cards,.hubcards{grid-template-columns:repeat(4,1fr)}
.hubcards li a{display:block;height:100%;padding:18px 20px;border:1px solid var(--line);text-decoration:none;color:var(--ink);background:#fff}
.hubcards strong{display:block}
/* credential band */
.credband{background:#102f3b url(/assets/img/contour.svg) right center/1200px auto no-repeat;padding:72px 0}
.credband ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.credband li{font:600 1.35rem/1.25 "Archivo Narrow","Archivo Narrow Fallback",sans-serif;color:#fff;padding-top:18px;position:relative}
.credband li::before{content:"";position:absolute;top:0;left:0;width:40px;height:2px;background:#5aa9e0}
/* CTA band with photo */
.ctaband{position:relative;padding:112px 0;color:#fff;overflow:hidden;background:#102f3b;text-align:center}
.ctaband-img,.ctaband-img img{position:absolute;inset:0;width:100%;height:100%}.ctaband-img img{object-fit:cover}
.ctaband::after{content:"";position:absolute;inset:0;background:rgba(var(--ov),.82)}
.ctaband-text{position:relative;z-index:1;max-width:760px}
.ctaband h2,.ctaband p,.ctaband strong{color:#fff}.ctaband .small{color:rgba(255,255,255,.85)}
.ctaband-light{background:var(--bg);padding:64px 0;border-top:1px solid var(--line)}.ctaband-light .ctas{margin:0}
.faq{background:#fff;border-top:1px solid var(--line)}
footer{background:#0b222b url(/assets/img/contour.svg) right bottom/1200px auto no-repeat}
:focus-visible{outline:2px solid #0b5f99;outline-offset:2px}.phero :focus-visible,.dhead :focus-visible,.ctaband :focus-visible,.credband :focus-visible,footer :focus-visible{outline-color:#9fd0f2}
@media(max-width:1100px){.cardsec .cards,.hubcards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.band-grid,.band-rev .band-grid{grid-template-columns:1fr;gap:0}.band-rev .band-media{order:0}.band-media .pfig img{aspect-ratio:3/2}.band-text{max-width:none;padding:40px 28px 56px}.credband ul{grid-template-columns:1fr;gap:28px}}
@media(max-width:700px){.phero-a{min-height:max(520px,78svh)}.phero-b{min-height:clamp(320px,46svh,420px)}.phero-text{padding-bottom:48px}
 .phero::after{background:linear-gradient(0deg,rgba(var(--ov),.85) 0%,rgba(var(--ov),0) 45%),rgba(var(--ov),.70)}
 .dhead{padding:64px 0 44px}section.plain,section.gsec,section.intro{padding:64px 0}.ctaband{padding:72px 0}.cardsec .cards,.hubcards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ctop img{transition:none}.cards li.ptcard a:hover .ctop img{transform:none}}
section.intro .wrap{display:block}
.cardsec .wrap.prose,.gsec .wrap.prose:has(.hubcards){max-width:1200px}

/* ===== v7 (10/24): see-all link, sources, refs, EHO block on Multifamily ===== */
.seeall{margin:18px 0 0;font-size:.95rem}
sup.ref{font-size:.7em;line-height:0}sup.ref a{text-decoration:none}
section.sources{padding:40px 0 56px;border-top:1px solid var(--line)}
section.sources h2{font-size:1.15rem}
.srclist{font-size:.85rem;line-height:1.5;padding-left:1.4em;overflow-wrap:anywhere}
.srclist li{margin:0 0 8px}
.ehoblock{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:14px 16px;border:1px solid var(--line);background:#fff;max-width:60ch}
.eholine{display:inline-flex;align-items:center;gap:8px;color:var(--navy)}
/* 10/24 CCO: caption on the Industrial/flex card (Rob's affiliate building) */
.ccap{display:block;padding:0 20px 16px;font-size:.78rem;line-height:1.4;color:var(--mute)}

/* Contact form (10/26/2026): site's own form, posts to /api/lead/ */
form.lead fieldset{border:0;padding:0;margin:0 0 22px}form.lead legend{font:700 1.15rem "Archivo Narrow","Archivo Narrow Fallback",sans-serif;color:var(--navy);margin-bottom:4px}
form.lead label{display:block;font-weight:600;margin:12px 0 4px}
form.lead input[type=text],form.lead input[type=email],form.lead input[type=tel],form.lead select,form.lead textarea{width:100%;box-sizing:border-box;padding:11px;border:1px solid #b9b6ae;border-radius:3px;font:inherit;background:#fff;color:var(--ink)}
form.lead textarea{resize:vertical}
form.lead .check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:10px}form.lead .check input{margin-top:6px;flex:none}
form.lead .check a{color:var(--gold2)}
form.lead .hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
form.lead button[disabled]{opacity:.6;cursor:wait}
form.lead .notice{display:none;border:1px solid #b33;background:#fff4f4;padding:12px 14px;margin-top:12px}
form.lead input:focus,form.lead select:focus,form.lead textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
/* v11 (Rob 10/27): contact checkboxes. The global input{width:100%} rule stretched the checkbox and squeezed its text. */
form.lead .check{display:flex;gap:12px;align-items:flex-start;margin:8px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:3px;background:#fff;font-weight:400;line-height:1.55;cursor:pointer}
form.lead .check input[type=checkbox]{width:20px;height:20px;min-width:20px;flex:0 0 20px;margin:2px 0 0;padding:0;border:0;accent-color:var(--navy)}
form.lead .check span{flex:1 1 auto;min-width:0}
form.lead fieldset+fieldset{margin-top:6px}
@media(max-width:600px){form.lead .check{padding:12px;gap:10px}}
/* v11 (Rob 10/27): Disclosures section on the Privacy page; minimal footer legal line. */
.privacy-text .disclosures h3{font-size:1.05rem;margin:22px 0 6px}
.privacy-text .disclosures p{margin:0 0 10px}
.legal .fid a{color:#e6eef1}

/* a11y-fixes: WCAG 2.5.8 target size for nav controls */
.menu-toggle{min-inline-size:44px;min-block-size:44px}
nav#site-nav > ul > li > a{min-block-size:24px;display:inline-flex;align-items:center}
