:root{
  --bg:#ffffff;
  --text:#12253b;
  --muted:#405a73;
  --navy:#083b75;
  --navy-deep:#052c59;
  --teal:#0b7f80;
  --teal-logo:#169fa0;
  --steel:#58799d;
  --surface:#f3f7fa;
  --surface-teal:#eaf4f6;
  --border:#b9c8d5;
  --focus:#ffbf47;
  --max:74rem
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:1.06rem/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--navy);text-decoration-thickness:.12em;text-underline-offset:.16em}
a:hover{text-decoration-thickness:.18em}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:.22rem solid var(--focus);outline-offset:.2rem}
.skip-link{position:absolute;left:.75rem;top:-5rem;background:#000;color:#fff;padding:.75rem 1rem;z-index:9999;border-radius:.25rem}
.skip-link:focus{top:.75rem}
.wrap{width:min(calc(100% - 2rem),var(--max));margin:auto}
.site-header{border-bottom:1px solid var(--border);background:#fff;box-shadow:0 2px 10px rgba(8,59,117,.06)}
.site-header::after{content:"";display:block;height:.28rem;background:linear-gradient(90deg,var(--navy) 0 58%,var(--teal-logo) 58% 76%,var(--steel) 76%)}
.masthead{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:.75rem 0}
.brand{display:block;flex:0 1 23rem;text-decoration:none;line-height:0}
.brand img{display:block;width:min(100%,23rem);height:auto}
.menu-button{display:none;border:2px solid var(--navy);background:white;color:var(--navy);padding:.55rem .8rem;border-radius:.35rem;font-weight:750}
.nav-list{display:flex;gap:.2rem;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}
.nav-list a{display:block;padding:.65rem .65rem;color:var(--text);font-weight:680;text-decoration:none;border-radius:.25rem}
.nav-list a:hover,.nav-list a[aria-current="page"]{background:var(--surface-teal);text-decoration:underline;text-decoration-color:var(--teal);text-decoration-thickness:.14em}
.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#eef4fa 0%,#f8fbfc 58%,#eaf4f6 100%);padding:4.8rem 0 4.1rem;border-bottom:1px solid var(--border)}
.hero::after{content:"";position:absolute;right:-8rem;top:-10rem;width:31rem;height:31rem;border:3.2rem solid rgba(8,59,117,.055);border-radius:50%;pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(17rem,.6fr);gap:3rem;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--teal);font-size:.86rem}
.hero h1{font-size:clamp(2.35rem,6vw,4.65rem);line-height:1.04;letter-spacing:-.035em;margin:.3rem 0 1.2rem;max-width:14ch;color:var(--navy-deep)}
.hero p{font-size:1.24rem;max-width:50rem;color:var(--muted)}
.hero-card{background:var(--navy);color:white;padding:2rem;border-radius:.7rem;border-top:.4rem solid var(--teal-logo);box-shadow:0 14px 35px rgba(8,59,117,.14)}
.hero-card h2{margin-top:0;color:white}.hero-card p{color:white;font-size:1.06rem}.hero-card a{color:white}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.button{display:inline-block;background:var(--navy);color:white!important;text-decoration:none;padding:.78rem 1.08rem;border:2px solid var(--navy);border-radius:.35rem;font-weight:760}
.button:hover{background:var(--navy-deep);border-color:var(--navy-deep)}
.button.secondary{background:white;color:var(--navy)!important}.button.secondary:hover{background:var(--surface-teal)}
.section{padding:4rem 0}.section.alt{background:var(--surface)}
.section h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15;margin:0 0 1rem;color:var(--navy-deep)}
.lede{font-size:1.2rem;color:var(--muted);max-width:52rem}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;margin-top:2rem}
.card{position:relative;border:1px solid var(--border);border-radius:.55rem;padding:1.45rem;background:#fff;box-shadow:0 5px 16px rgba(18,37,59,.04)}
.card::before{content:"";display:block;position:absolute;left:-1px;right:-1px;top:-1px;height:.28rem;background:linear-gradient(90deg,var(--navy),var(--teal-logo));border-radius:.55rem .55rem 0 0}
.card h3{margin-top:.25rem;font-size:1.3rem;color:var(--navy-deep)}.card p{color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.callout{border-left:.42rem solid var(--teal);padding:1.1rem 1.3rem;background:#fff;box-shadow:0 5px 16px rgba(18,37,59,.04)}
.quote{font-size:1.35rem;font-weight:650;line-height:1.45;color:var(--navy-deep)}
.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}
.tag-list li{background:var(--surface-teal);border:1px solid #c8dfe1;border-radius:999px;padding:.3rem .7rem;font-size:.95rem;color:var(--navy-deep)}
.breadcrumb{font-size:.92rem;padding:1rem 0}.breadcrumb ol{display:flex;gap:.5rem;list-style:none;padding:0;margin:0}
.page-head{padding:3rem 0 2.25rem;background:linear-gradient(120deg,var(--surface) 0%,var(--surface-teal) 100%);border-bottom:1px solid var(--border)}
.page-head h1{font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.05;margin:.3rem 0;color:var(--navy-deep)}
.prose{max-width:52rem}.prose h2{margin-top:2.5rem;color:var(--navy-deep)}.prose h3{color:var(--navy-deep)}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.service-list section{border-top:4px solid var(--teal);padding:1.25rem;background:var(--surface)}
.resource-list{display:grid;gap:1rem}.resource{border:1px solid var(--border);border-left:.32rem solid var(--teal);padding:1.2rem;border-radius:.45rem;background:#fff}
.meta{font-size:.92rem;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-row{margin-bottom:1rem}label{display:block;font-weight:750;margin-bottom:.3rem}
input,textarea,select{width:100%;font:inherit;border:2px solid #587086;padding:.65rem;border-radius:.25rem;background:#fff;color:var(--text)}textarea{min-height:9rem}.help{font-size:.92rem;color:var(--muted)}
.site-footer{background:var(--navy-deep);color:#fff;padding:3rem 0 1.5rem;border-top:.4rem solid var(--teal-logo)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.site-footer a{color:#fff}.site-footer ul{list-style:none;padding:0}.site-footer small{display:block;border-top:1px solid #7087a0;padding-top:1.2rem;margin-top:2rem}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:980px){.masthead{align-items:flex-start}.brand{flex-basis:19rem}.brand img{width:min(100%,19rem)}.nav-list a{padding:.55rem .5rem;font-size:.97rem}}
@media(max-width:850px){.hero-grid,.two-col,.contact-layout,.footer-grid{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-button{display:block;margin-left:auto}.nav-list{display:none;flex-direction:column;width:100%;padding-bottom:1rem}.nav-list.open{display:flex}.masthead{flex-wrap:wrap;align-items:center}.site-nav{width:100%}.brand{flex-basis:min(19rem,calc(100% - 6rem))}.brand img{width:100%}}
@media(max-width:560px){body{font-size:1rem}.grid,.service-list{grid-template-columns:1fr}.hero{padding:3.2rem 0}.hero h1{font-size:2.6rem}.actions{align-items:stretch;flex-direction:column}.button{text-align:center}.brand{flex-basis:min(16rem,calc(100% - 5.5rem))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.site-nav,.menu-button,.actions,.site-footer{display:none}.hero,.page-head{background:white}.hero::after,.site-header::after,.card::before{display:none}.wrap{width:100%}a{color:#000}.brand img{max-width:20rem}}
