:root{--navy:#0f2444;--navy-2:#16345f;--blue:#005ea2;--gold:#ffbe2e;--ink:#1b1b1b;--muted:#565c65;--line:#dfe1e2;--line-2:#c9ced4;--bg:#fff;--bg-alt:#f7f9fa;--bg-band:#eef1f4;--aero:#005ea2;--tech:#c05600;--life:#2e8540;--mfg:#4a5568;--food:#8a5a2b}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Public Sans',system-ui,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}a{color:var(--blue)}
.gov-strip{background:var(--navy);color:#dce4ef;font-size:12.5px}.gov-strip .wrap{display:flex;align-items:center;gap:10px;padding:7px 24px}.gov-strip .star{color:var(--gold);font-size:13px;line-height:1}.gov-strip b{color:#fff;font-weight:600}
.mast{background:var(--bg);border-bottom:1px solid var(--line)}.mast .wrap{padding:52px 24px 42px}
.eyebrow{color:var(--blue);font-weight:700;letter-spacing:.09em;text-transform:uppercase;font-size:13px;display:flex;align-items:center;gap:10px}.eyebrow::before{content:"";width:26px;height:3px;background:var(--gold);display:inline-block}
h1{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(38px,6.6vw,76px);line-height:1.02;letter-spacing:-.01em;color:var(--navy);margin:.28em 0 .22em}
.sub{font-size:clamp(17px,2vw,20px);color:#33383d;max-width:60ch;line-height:1.5}.sub b{color:var(--ink);font-weight:700}
/* ---- hero ---- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:var(--hero);background-size:cover;background-position:center;opacity:.45}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,20,40,.35),rgba(11,20,40,.82)),linear-gradient(90deg,rgba(11,20,40,.78),rgba(11,20,40,.18) 70%)}
.hero-inner{position:relative;z-index:2;padding:92px 24px 128px}
.hero .eyebrow.light{color:var(--gold)}.hero .eyebrow.light::before{background:var(--gold)}
.hero h1{color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.95;font-size:clamp(48px,9vw,104px);margin:.2em 0 .14em;text-shadow:0 2px 40px rgba(0,0,0,.28)}
.tagline{font-family:'Archivo',sans-serif;font-weight:700;font-size:clamp(19px,3vw,30px);color:var(--gold);line-height:1.12;letter-spacing:-.01em;margin-bottom:.55em}
.hero-sub{font-size:clamp(16px,1.9vw,20px);max-width:58ch;color:#e7ecf3;line-height:1.55}
.hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.btn-primary{font-family:'Archivo',sans-serif;background:var(--gold);color:var(--navy);font-weight:800;text-transform:uppercase;letter-spacing:.02em;padding:15px 28px;border-radius:4px;text-decoration:none;font-size:15px;transition:.15s}.btn-primary:hover{background:#ffd15e;transform:translateY(-1px)}
.btn-ghost{border:2px solid rgba(255,255,255,.6);color:#fff;font-weight:700;padding:13px 24px;border-radius:4px;text-decoration:none;font-size:16px;transition:.15s}.btn-ghost:hover{background:rgba(255,255,255,.13);border-color:#fff}
/* ---- intent router ---- */
.router{position:relative;z-index:5}.router .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-76px;padding-bottom:6px}
.rcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 22px 20px;text-decoration:none;color:inherit;box-shadow:0 22px 45px -26px rgba(11,20,40,.55);transition:.17s;position:relative;display:block}
.rcard:hover{transform:translateY(-3px);box-shadow:0 26px 50px -24px rgba(11,20,40,.6)}
.rnum{font-family:'Archivo',sans-serif;font-weight:900;font-size:13px;letter-spacing:.14em;color:var(--gold)}
.rcard .rk{font-family:'Archivo',sans-serif;font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:-.005em;color:var(--navy);margin:8px 0 6px}
.rcard .rv{font-size:14px;color:#4a5057;line-height:1.45}
.rcard .rarrow{position:absolute;top:22px;right:22px;color:var(--muted);font-size:18px;transition:.17s}.rcard:hover .rarrow{color:var(--navy);transform:translateX(3px)}
@media(max-width:820px){.router .wrap{grid-template-columns:1fr;margin-top:24px;gap:12px}.hero-inner{padding:64px 24px 40px}}
.band{background:var(--navy);color:#fff}.band .wrap{display:flex;flex-wrap:wrap;gap:8px 0;padding:0}
.stat{flex:1;min-width:150px;padding:20px 24px;border-left:1px solid #ffffff1f}.stat:first-child{border-left:none}
.stat .n{font-family:'Archivo',sans-serif;font-weight:700;font-size:34px;line-height:1;color:var(--gold)}.stat .l{font-size:13px;color:#c4cddb;margin-top:6px}
.controls{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}.controls.stuck{box-shadow:0 4px 12px -8px #16233340}
.controls .wrap{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:14px 24px;flex-wrap:wrap}
.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{font-family:inherit;font-size:14px;font-weight:600;border:1.5px solid var(--line-2);background:#fff;color:var(--muted);padding:8px 15px;border-radius:6px;cursor:pointer;transition:.15s;display:flex;align-items:center;gap:8px}
.seg button .dot{width:9px;height:9px;border-radius:2px;background:currentColor;opacity:.9}.seg button:hover{border-color:var(--navy);color:var(--navy)}
.seg button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}.seg button.aero[aria-pressed="true"]{background:var(--aero);border-color:var(--aero)}.seg button.tech[aria-pressed="true"]{background:var(--tech);border-color:var(--tech)}.seg button.life[aria-pressed="true"]{background:var(--life);border-color:var(--life)}
.right{display:flex;align-items:center;gap:16px}.count{color:var(--muted);font-size:13.5px;font-weight:600;white-space:nowrap}
.search{position:relative}.search input{font-family:inherit;font-size:15px;border:1.5px solid var(--line-2);border-radius:6px;padding:9px 14px 9px 36px;width:150px;transition:.15s}.search input:focus{outline:2px solid var(--blue);border-color:var(--blue)}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.5}
.fsel{font-family:inherit;font-size:13.5px;font-weight:600;color:var(--muted);border:1.5px solid var(--line-2);background:#fff;border-radius:6px;padding:9px 28px 9px 12px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23565c65' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}.fsel:focus{outline:2px solid var(--blue);border-color:var(--blue);color:var(--ink)}
.section-head{padding:36px 0 4px;display:flex;align-items:baseline;gap:14px}.section-head h2{font-family:'Archivo',sans-serif;font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--navy);text-transform:uppercase}.section-head .rule{flex:1;height:1px;background:var(--line)}.section-head .c{color:var(--muted);font-size:13px;font-weight:600}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:18px 0 0}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid{grid-template-columns:1fr}.count{display:none}}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px 20px 18px;cursor:pointer;display:flex;flex-direction:column;gap:14px;transition:border-color .16s,box-shadow .16s,transform .16s;text-decoration:none;color:inherit}
.card:hover{border-color:var(--line-2);box-shadow:0 10px 26px -16px rgba(20,22,26,.30);transform:translateY(-2px)}
.card .logo{height:26px;display:flex;align-items:center;margin-bottom:-5px}.card .logo img{max-height:26px;max-width:168px;object-fit:contain;object-position:left center}
.card .cname{font-family:'Archivo',sans-serif;font-weight:800;font-size:18.5px;line-height:1.12;letter-spacing:-.01em;color:var(--navy)}
.card .blurb{color:#3a3f45;font-size:14.5px;line-height:1.45;flex:1}.card .foot{display:flex;align-items:center;justify-content:space-between;margin-top:2px;padding-top:12px;border-top:1px solid var(--bg-band)}
.card .tag{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.card .tag .dot{width:8px;height:8px;border-radius:2px}
.dot.s-aero{background:var(--aero)}.dot.s-tech{background:var(--tech)}.dot.s-life{background:var(--life)}
.card .town{color:var(--muted);font-size:12.5px;font-weight:600}
footer{background:var(--navy);color:#c7d0dd;margin-top:64px}footer .wrap{padding:40px 24px;display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}footer .disc{max-width:58ch;font-size:13.5px;line-height:1.6}footer .disc strong{color:#fff}footer a{color:var(--gold)}footer .meta{font-size:12.5px;color:#8f9cb0;text-align:right}
/* ---- company page ---- */
.topnav{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.topnav .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 24px}
.topnav .back{color:var(--navy);font-weight:700;text-decoration:none;font-size:15px}.topnav .back:hover{color:var(--blue)}
.topnav .navtag{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.topnav .navtag .dot{width:9px;height:9px;border-radius:2px}
.cp-hero{height:340px;background:var(--bg-alt) center/cover no-repeat;border-bottom:1px solid var(--line)}
.cp-hero-plain{height:200px}.cp-hero-plain.s-aero{background:linear-gradient(120deg,#0b3d5c,#005ea2)}.cp-hero-plain.s-tech{background:linear-gradient(120deg,#7a3300,#c05600)}.cp-hero-plain.s-life{background:linear-gradient(120deg,#1c4a2b,#2e8540)}
.cp-wrap{max-width:760px;margin:0 auto;padding:38px 24px 20px}
.cp-logo{height:52px;display:flex;align-items:center;margin-bottom:20px}.cp-logo img{max-height:52px;max-width:240px;object-fit:contain;object-position:left center}.cp-logo .textlogo{font-family:'Public Sans';font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--navy)}
.cp-tag{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.cp-tag .dot{width:9px;height:9px;border-radius:2px}
.cp-name{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(34px,5.5vw,54px);line-height:1.04;color:var(--navy);margin:12px 0 6px}
.cp-town{color:var(--tech);font-weight:600;font-size:15px}
.cp-story{font-size:18.5px;line-height:1.7;color:#2b2f34;margin:28px 0}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:26px 0}.facts div{background:#fff;padding:15px 18px}.facts .k{color:var(--muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.facts .v{font-size:16px;font-weight:600;color:var(--navy)}
.visit{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;text-decoration:none;padding:13px 24px;border-radius:6px;font-weight:700;font-size:15px;transition:background .15s}.visit:hover{background:var(--navy-2)}
.sources{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.sources .k{font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11.5px}.sources a{color:var(--muted);word-break:break-all;display:block;margin-bottom:4px}
.cp-more{margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}.cp-more .k{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;color:var(--muted);margin-bottom:12px}
.cp-more-row{display:flex;flex-wrap:wrap;gap:10px}.cp-chip{border:1.5px solid var(--line-2);border-radius:999px;padding:8px 15px;font-size:14px;font-weight:600;color:var(--navy);text-decoration:none;transition:.15s}.cp-chip:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.cp-back{display:inline-block;margin:34px 0 10px;color:var(--blue);font-weight:700;text-decoration:none}.cp-back:hover{text-decoration:underline}
.dot.s-mfg{background:var(--mfg)}.dot.s-food{background:var(--food)}
.seg button.mfg[aria-pressed="true"]{background:var(--mfg);border-color:var(--mfg)}.seg button.food[aria-pressed="true"]{background:var(--food);border-color:var(--food)}
.cp-hero-plain.s-mfg{background:linear-gradient(120deg,#2b3240,#4a5568)}.cp-hero-plain.s-food{background:linear-gradient(120deg,#4d3213,#8a5a2b)}
.why{border-bottom:1px solid var(--line);background:var(--bg-alt)}.why .wrap{padding:42px 24px;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}
.why-head h2{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(24px,3vw,32px);color:var(--navy);line-height:1.1;margin:8px 0 10px}
.why-head p{font-size:16px;line-height:1.6;color:#33383d;max-width:54ch}.why-head a{font-weight:700;white-space:nowrap}
.why-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wstat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.wstat .wn{font-family:'Archivo',sans-serif;font-weight:900;font-size:30px;color:var(--tech);line-height:1}
.wstat .wl{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.35}
@media(max-width:820px){.why .wrap{grid-template-columns:1fr;gap:24px}}
.why-page{max-width:820px;margin:0 auto;padding:38px 24px 20px}
.why-lede{font-size:20px;line-height:1.6;color:#2b2f34;margin:14px 0 8px}
.why-page h2{font-family:'Archivo',sans-serif;font-weight:700;font-size:22px;color:var(--navy);margin:34px 0 8px}
.why-page p{font-size:17px;line-height:1.7;color:#2b2f34;margin-bottom:12px}
.why-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 8px}
.why-facts .wf{background:var(--bg-alt);border:1px solid var(--line);border-radius:8px;padding:16px 16px 14px}
.why-facts .wf b{display:block;font-family:'Archivo',sans-serif;font-weight:900;font-size:25px;color:var(--tech);line-height:1.05;margin-bottom:6px}
.why-facts .wf span{font-size:13px;color:#3a3f45;line-height:1.35}
.why-facts .wf a{font-size:11px;color:var(--muted);display:block;margin-top:7px;word-break:break-all}
@media(max-width:700px){.why-facts{grid-template-columns:1fr}}
@media(max-width:760px){
.controls .wrap{gap:10px;padding:11px 16px}
.seg{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:1px;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 92%,transparent)}
.seg::-webkit-scrollbar{display:none}
.seg button{flex:0 0 auto;white-space:nowrap;font-size:13px;padding:7px 13px}
.right{width:100%;gap:8px;flex-wrap:wrap}.count{display:none}.fsel{flex:1;min-width:118px}.search{flex:1 1 100%}.search input{width:100%}
}
@media(max-width:600px){.cp-hero{height:200px}.facts{grid-template-columns:1fr 1fr}}