
:root{--blue:#0d4f79;--navy:#12364d;--ink:#17303f;--yellow:#f2b632;--sky:#eaf1f4;--paper:#fbfbf8;--muted:#61727b;--line:#d5dde0;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.topbar{height:36px;background:#12476c;color:#d9e7ee;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;font-size:11px}.header{height:88px;background:#fff;border-bottom:1px solid #dce2e4;display:flex;align-items:center;padding:0 5vw;position:sticky;top:0;z-index:20}.logo{width:180px}.nav{margin-left:auto;display:flex;align-items:center;gap:27px;font-size:13px;color:#39586a}.nav a:hover{color:var(--blue)}.portal{background:var(--blue);color:#fff;padding:14px 20px}.hamb{display:none;margin-left:auto;background:none;border:0;font-size:26px;color:var(--blue)}
.hero{min-height:680px;display:grid;grid-template-columns:55% 45%;background:#174e72;color:#fff;overflow:hidden}.hero-copy{padding:100px 6vw 90px 9vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(120deg,#0e486e,#1c5b80)}.eyebrow{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;font-weight:800}.hero h1{font-family:Georgia,serif;font-size:clamp(55px,6.5vw,92px);line-height:.98;font-weight:400;letter-spacing:-2px;margin:25px 0}.hero p{font-size:18px;color:#dbe8ee;max-width:610px}.hero-art{background:center/cover url('../assets/hero.svg');min-height:680px;position:relative}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#174e72 0%,transparent 22%)}.actions{display:flex;gap:12px;margin-top:25px}.btn{display:inline-flex;border:0;background:var(--yellow);color:#17303f;padding:14px 21px;font-weight:800;font-size:13px;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0b3f5c33}.btn.alt{background:#fff;color:var(--blue)}
.service-search{background:#fff;box-shadow:0 8px 30px #153b4d14;margin:-65px auto 0;position:relative;z-index:5;max-width:1030px;padding:27px}.searchline{display:flex;gap:10px}.searchline input{flex:1;padding:16px;border:1px solid #ccd7db}.quick{display:flex;gap:0;margin-top:18px;border-top:1px solid var(--line)}.quick a{flex:1;padding:13px;border-right:1px solid var(--line);font-size:12px;color:#31596e}.quick a:last-child{border:0}.quick a:hover{color:var(--blue);background:#f4f7f8}
.section{padding:95px 6vw}.container{max-width:var(--max);margin:auto}.sectionhead{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}.sectionhead h2{font-family:Georgia,serif;font-size:49px;line-height:1.03;font-weight:400;margin:8px 0}.sectionhead p{max-width:530px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.card{background:#fff;padding:30px;min-height:250px}.card .num{color:var(--yellow);font-weight:900;font-size:12px}.card h3{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:22px 0 8px}.card p{font-size:14px;color:var(--muted)}.card a{display:inline-block;margin-top:16px;color:var(--blue);font-size:12px;font-weight:800}
.feature{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff}.feature-art{min-height:570px;background:center/cover url('../assets/civic.svg')}.feature-copy{padding:90px 8vw}.feature-copy h2{font-family:Georgia,serif;font-size:58px;line-height:1.02;font-weight:400;margin:18px 0}.feature-copy p{color:#c4d1d7}.list{padding:0;margin:30px 0;list-style:none}.list li{padding:14px 0;border-top:1px solid #456171}.list li:before{content:"→";color:var(--yellow);margin-right:12px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#e7edef}.metric{padding:42px 5vw;border-right:1px solid #cfdadd}.metric strong{font-family:Georgia,serif;font-size:52px;font-weight:400;display:block}.metric span{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#60717a}
.pagehead{background:var(--blue);color:#fff;padding:115px 7vw 75px}.pagehead h1{font-family:Georgia,serif;font-weight:400;font-size:70px;line-height:1;margin:15px 0}.pagehead p{max-width:650px;color:#d9e7ed;font-size:17px}
.departments{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}.dept{background:#fff;padding:35px;min-height:300px}.dept:nth-child(2n){background:#f0f4f5}.dept h3{font-family:Georgia,serif;font-size:30px;font-weight:400}.dept p{color:var(--muted)}.dept a{color:var(--blue);font-size:12px;font-weight:800}
.form-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.contact-box{background:var(--navy);color:#fff;padding:34px}.contact-box h3{font-family:Georgia,serif;font-size:28px;font-weight:400}.contact-box p{color:#c5d2d7}.form{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;font-weight:800}.field input,.field select,.field textarea{border:1px solid #cbd5d8;padding:14px;background:#fff}.field textarea{min-height:145px}.success{display:none;margin-top:15px;background:#e8f5ed;border-left:4px solid #2d8968;padding:14px}.success.show{display:block}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}.person{background:#fff;padding:32px}.person .avatar{height:160px;background:#dce7ea;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:48px;color:var(--blue);margin-bottom:23px}.person h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:5px 0}.person small{color:var(--blue);font-weight:800;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.person p{color:var(--muted);font-size:14px}.person-email{display:block;margin-top:10px;font-size:13px;color:var(--blue);font-weight:700;text-decoration:none}.person-email:hover{text-decoration:underline}
.footer{background:#102f42;color:#b7c8d0;padding:60px 6vw 22px}.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.footer h4{color:#fff;margin:0 0 14px}.footer a{display:block;font-size:12px;margin:8px 0}.footer p{font-size:12px}.footbottom{border-top:1px solid #315063;margin-top:40px;padding-top:18px;font-size:10px;display:flex;justify-content:space-between;gap:20px}.footbottom a{display:inline;color:#b7c8d0;text-decoration:underline;margin:0}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:950px){.nav{display:none}.nav.open{display:flex;position:absolute;top:124px;left:0;right:0;background:#fff;padding:22px 7vw;flex-direction:column;align-items:flex-start;box-shadow:0 12px 30px #0001}.hamb{display:block}.hero{grid-template-columns:1fr}.hero-art{min-height:420px}.feature,.form-layout{grid-template-columns:1fr}.feature-art{min-height:420px}.cards{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.departments,.people{grid-template-columns:1fr 1fr}.footgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar{padding:0 4vw}.header{padding:0 4vw}.hero-copy{padding:75px 7vw}.hero h1{font-size:54px}.pagehead h1{font-size:52px}.section{padding:70px 6vw}.cards,.departments,.people,.metrics,.form{grid-template-columns:1fr}.searchline{flex-direction:column}.quick{flex-wrap:wrap}.quick a{flex:1 1 50%}.sectionhead{display:block}.feature-copy{padding:65px 7vw}.footgrid{grid-template-columns:1fr}.footbottom{flex-direction:column}}
