:root{--ink:#102246;--blue:#1a50ef;--muted:#556176;--line:#dce2ed;--pale:#f3f6fc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;background:white}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #eea827;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}section[id]{scroll-margin-top:95px}.wrap{max-width:1240px;margin:0 auto;padding-left:40px;padding-right:40px}.skip{position:fixed;left:16px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:12px}.header{max-width:1440px;margin:auto;padding:25px 60px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:700;letter-spacing:-1px;line-height:1.05}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:39px;height:42px;background:var(--blue);color:#fff;font-size:32px;font-weight:800;letter-spacing:-3px;padding-right:3px;border-radius:3px}.brand-sub{display:block;font-size:11px;letter-spacing:4px;margin-top:5px}nav{display:flex;gap:35px;align-items:center;font-size:15px;font-weight:600}.nav-contact{background:var(--ink);color:#fff;padding:12px 23px;border-radius:3px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;padding-top:75px;padding-bottom:70px;align-items:center}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;color:var(--blue);display:flex;gap:12px;align-items:center;line-height:1.5}.small-line{height:2px;width:24px;background:var(--blue);flex-shrink:0}h1{font-size:clamp(45px,4.65vw,67px);margin:25px 0 26px;font-weight:750;line-height:1.06}h1 span{color:var(--blue)}.hero-description{font-size:18px;color:var(--muted);max-width:440px;line-height:1.7}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:31px}.button{display:inline-block;background:var(--blue);padding:14px 23px;border-radius:3px;color:#fff;font-size:15px;font-weight:600;transition:background .2s}.button:hover{background:#123ac0;text-decoration:none}.text-link{font-size:15px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:3px}.text-link:hover{text-decoration:none;color:var(--blue)}.location{font-size:11px;letter-spacing:1px;color:#64718a;margin-top:42px;line-height:1.8}.location span{margin:0 10px}.hero-panel{background:var(--ink);padding:32px 35px 25px;color:white;border-radius:5px;box-shadow:14px 14px 0 #edf2fe}.panel-top{display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1px;color:#b9c8e7;padding-bottom:30px}.hero-panel h2{font-size:40px;line-height:1.15;margin-bottom:27px;font-weight:500;letter-spacing:-1px}.hero-panel em{color:#a9bfff;font-style:normal}.approach-row{display:flex;gap:22px;padding:18px 0;border-top:1px solid #344566;align-items:flex-start}.number{font-size:13px;color:#a9bfff;padding-top:3px}.approach-row h3{font-size:18px;letter-spacing:-.3px;font-weight:500}.approach-row p{font-size:14px;color:#c1cbe0;margin-top:6px;line-height:1.5}.panel-bottom{font-size:10px;letter-spacing:1px;color:#b9c8e7;margin-top:17px}.credentials{background:var(--pale);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.credentials-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-top:27px;padding-bottom:27px}.credentials p{padding-left:30px;border-left:1px solid #ced7e7}.credentials p:first-child{padding-left:0;border:0}.credentials strong{display:block;font-size:18px;letter-spacing:-.4px}.credentials span{color:var(--muted);font-size:14px}.section{padding-top:88px;padding-bottom:88px}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:55px;margin-bottom:40px}.section-intro h2{font-size:39px;margin-top:16px}.section-intro>p{max-width:365px;color:var(--muted)}.section-intro>.text-link{flex-shrink:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:4px;overflow:hidden}.service{padding:32px 28px}.service+.service{border-left:1px solid var(--line)}.service-number{font-size:11px;color:var(--blue);font-weight:700;letter-spacing:1.2px}.service h3{font-size:26px;line-height:1.2;margin-top:25px;margin-bottom:20px}.service p{color:var(--muted);font-size:16px;line-height:1.65}.service>a{display:inline-block;font-size:14px;font-weight:600;margin-top:25px;text-decoration:underline;text-underline-offset:5px}.about{background:var(--blue);color:white}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:75px;padding-bottom:75px}.about .eyebrow{color:#d9e3ff}.about h2{font-size:40px;line-height:1.2;margin-top:20px}.about-copy p{font-size:17px;line-height:1.8}.about-copy p+p{margin-top:20px}.light-link{display:inline-block;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:6px;margin-top:25px}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.news-item{border-top:2px solid var(--ink);padding-top:24px}.news-item time{font-size:12px;letter-spacing:1px;color:var(--muted);font-weight:600}.news-item h3{font-size:26px;margin-top:18px;letter-spacing:-.7px}.news-item p{color:var(--muted);margin-top:18px;max-width:480px}.news-item a{display:inline-block;margin-top:20px;text-decoration:underline;text-underline-offset:5px;font-size:14px;font-weight:600}.contact{background:var(--ink);color:white}.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;padding-top:70px;padding-bottom:70px}.contact .eyebrow{color:#a9bfff}.contact h2{font-size:53px;margin:22px 0}.contact-inner>div>p:not(.eyebrow){max-width:430px;color:#c1cbe0}.button-white{background:white;color:var(--ink);margin-top:30px}.button-white:hover{background:#dce6ff}.contact-details{border-left:1px solid #344566;padding-left:55px;display:grid;gap:28px;align-content:center}.contact-details h3{font-size:14px;font-weight:600;letter-spacing:0;margin-bottom:9px;color:#a9bfff}.contact-details a{font-size:16px;overflow-wrap:anywhere}.contact-details address{font-size:16px;font-style:normal}.contact-details p{font-size:15px;color:#c1cbe0;margin-bottom:4px}.footer{padding-top:32px;padding-bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer .brand{font-size:21px}.footer .brand-mark{width:32px;height:36px;font-size:27px}.footer .brand-sub{font-size:10px;letter-spacing:3px}.footer p{font-size:12px;color:var(--muted);line-height:1.8}.footer>a:last-child{font-size:13px}
@media(min-width:1500px){.header{padding-left:100px;padding-right:100px}.hero{padding-top:95px;padding-bottom:90px}}
@media(max-width:1000px){.header{padding:22px 32px}.wrap{padding-left:32px;padding-right:32px}.hero{gap:35px}.hero-panel{padding:27px}.hero-panel h2{font-size:34px}.hero-actions{gap:18px}.section-intro{gap:30px}.section-intro h2,.about h2{font-size:33px}.service{padding:25px 20px}.service h3{font-size:23px}.about-inner,.contact-inner{gap:40px}.contact-details{padding-left:30px}.location{font-size:10px}.footer{flex-wrap:wrap}}
@media(max-width:760px){.header{padding:19px 22px;flex-wrap:wrap}.brand{font-size:23px}.wrap{padding-left:22px;padding-right:22px}.menu-toggle{display:block;font:600 14px Arial;background:white;border:1px solid var(--line);padding:10px 15px;border-radius:3px;color:var(--ink)}nav{display:none;width:100%;align-items:stretch;gap:0;padding-top:10px}nav.open{display:flex;flex-direction:column}nav a{padding:13px 8px}nav .nav-contact{text-align:center;margin-top:8px}.hero{grid-template-columns:1fr;padding-top:43px;padding-bottom:45px;gap:42px}h1{font-size:clamp(43px,8.5vw,60px);margin:22px 0}.hero-description{font-size:17px}.eyebrow{font-size:11px;letter-spacing:1.1px}.hero-actions{gap:22px}.location{margin-top:27px;font-size:10px}.hero-panel{padding:28px;box-shadow:8px 8px 0 #edf2fe}.hero-panel h2{font-size:38px}.credentials-inner{grid-template-columns:1fr;gap:18px;padding-top:26px;padding-bottom:26px}.credentials p,.credentials p:first-child{border-left:2px solid var(--blue);padding-left:15px}.credentials strong{font-size:17px}.section{padding-top:54px;padding-bottom:54px}.section-intro{display:block;margin-bottom:30px}.section-intro h2{font-size:32px}.section-intro>p{margin-top:22px}.section-intro>.text-link{display:inline-block;margin-top:25px}.services-grid{grid-template-columns:1fr}.service{padding:28px}.service+.service{border-left:0;border-top:1px solid var(--line)}.service h3{font-size:26px;margin-top:18px}.about-inner{grid-template-columns:1fr;gap:27px;padding-top:50px;padding-bottom:50px}.about h2{font-size:33px}.about-copy p{font-size:16px}.news-grid{grid-template-columns:1fr;gap:33px}.news-item h3{font-size:25px}.contact-inner{grid-template-columns:1fr;gap:40px;padding-top:50px;padding-bottom:50px}.contact h2{font-size:44px}.contact-details{border-left:0;border-top:1px solid #344566;padding:30px 0 0;gap:25px}.footer{flex-direction:column;align-items:flex-start;gap:22px;padding-top:30px;padding-bottom:30px}}
:root{--gold:#d9b66d;--gold-ink:#8b641f}
.small-line{background:var(--gold)}
.brand-mark{box-shadow:inset 0 -3px 0 var(--gold)}
.hero-panel{border-top:3px solid var(--gold)}
.number,.panel-top>span:last-child,.contact-details h3{color:var(--gold)}
.service-number{color:var(--gold-ink)}
.news-item{border-top-color:var(--gold)}
.text-link{border-bottom-color:var(--gold)}
.service>a,.news-item a,.light-link{text-decoration-color:var(--gold)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Desktop composition; the established mobile layout stays intact. */
@media (min-width: 1024px) {
  .wrap { max-width: 1280px; padding-left: 64px; padding-right: 64px; }
  .header { max-width: 1280px; padding: 30px 64px; border-bottom: 0; }
  nav { gap: 38px; }
  nav > a:not(.nav-contact) { color: var(--muted); }
  .nav-contact { background: transparent; color: var(--ink); border: 1px solid var(--line); padding: 10px 22px; }
  .hero { grid-template-columns: minmax(0, 1.45fr) minmax(0, .85fr); gap: 72px; padding-top: 74px; padding-bottom: 96px; align-items: center; }
  .hero-copy { min-width: 0; }
  .hero .eyebrow { font-size: 12px; letter-spacing: 1.35px; }
  h1 { font-size: clamp(46px, 4.6vw, 64px); line-height: 1.09; letter-spacing: -.055em; margin: 28px 0; }
  h1 span { color: var(--ink); }
  .hero-description { max-width: 470px; font-size: 18px; line-height: 1.8; }
  .hero-actions { gap: 28px; margin-top: 34px; }
  .button { padding: 15px 24px; }
  .location { max-width: 480px; font-size: 11px; letter-spacing: .65px; margin-top: 38px; }
  .hero-panel { position: relative; padding: 32px; border-radius: 0; border-top: 3px solid var(--gold); box-shadow: none; }
  .panel-top { font-size: 11px; letter-spacing: .6px; padding-bottom: 28px; }
  .hero-panel h2 { font-size: 32px; line-height: 1.2; margin-bottom: 28px; }
  .hero-panel em { color: var(--gold); }
  .approach-row { gap: 19px; padding: 20px 0; }
  .approach-row h3 { font-size: 18px; }
  .approach-row p { max-width: 235px; font-size: 14px; line-height: 1.65; }
  .panel-bottom { font-size: 10px; line-height: 1.7; letter-spacing: .7px; margin-top: 18px; }
  .credentials { background: #fff; border-bottom: 1px solid var(--line); }
  .credentials-inner { padding-top: 32px; padding-bottom: 32px; gap: 32px; }
  .credentials p { padding-left: 32px; }
  .credentials strong { font-size: 17px; margin-bottom: 3px; }
  .credentials span { font-size: 14px; }
  .section { padding-top: 108px; padding-bottom: 112px; }
  .section-intro { gap: 64px; align-items: flex-end; margin-bottom: 56px; }
  .section-intro h2 { font-size: 40px; line-height: 1.2; margin-top: 18px; }
  .section-intro > p { max-width: 340px; font-size: 16px; line-height: 1.8; }
  .services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px; border: 0; border-radius: 0; overflow: visible; }
  .service { display: flex; flex-direction: column; padding: 26px 0 0; border-top: 1px solid var(--line); }
  .service + .service { border-left: 0; }
  .service-number { font-size: 12px; letter-spacing: 1px; }
  .service h3 { font-size: 27px; line-height: 1.25; margin: 24px 0 18px; letter-spacing: -.035em; }
  .service p { font-size: 16px; line-height: 1.8; margin-bottom: 28px; }
  .service > a { margin-top: auto; font-size: 14px; }
  .about { background: var(--ink); }
  .about-inner { grid-template-columns: 1fr 1fr; gap: 90px; padding-top: 88px; padding-bottom: 88px; }
  .about .eyebrow { color: var(--gold); }
  .about h2 { font-size: 39px; line-height: 1.25; margin-top: 20px; }
  .about-copy { padding-top: 3px; }
  .about-copy p { color: #d3dced; font-size: 17px; line-height: 1.85; }
  .news-grid { gap: 60px; }
  .news-item { border-top-width: 1px; padding-top: 27px; }
  .news-item h3 { font-size: 26px; line-height: 1.3; max-width: 400px; margin-top: 18px; }
  .news-item p { font-size: 16px; line-height: 1.8; max-width: 460px; }
  .news-item a { margin-top: 24px; }
  .contact { background: var(--pale); color: var(--ink); border-top: 1px solid var(--line); }
  .contact-inner { grid-template-columns: 1.2fr 1fr; gap: 96px; padding-top: 88px; padding-bottom: 88px; }
  .contact .eyebrow { color: var(--gold-ink); }
  .contact h2 { font-size: 52px; line-height: 1.13; }
  .contact-inner > div > p:not(.eyebrow) { color: var(--muted); font-size: 17px; line-height: 1.8; }
  .button-white { background: var(--blue); color: white; }
  .button-white:hover { background: #123ac0; }
  .contact-details { border-left-color: #d3dce9; padding-left: 48px; gap: 32px; }
  .contact-details h3 { color: var(--gold-ink); font-size: 14px; }
  .contact-details p { color: var(--muted); }
  .footer { padding-top: 38px; padding-bottom: 38px; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .wrap { padding-left: 48px; padding-right: 48px; }
  .header { padding-left: 48px; padding-right: 48px; }
  .hero { gap: 40px; }
  .hero-panel { padding: 26px; }
  .hero-actions { gap: 20px; }
  .hero-actions .button { padding-left: 19px; padding-right: 19px; }
  .services-grid { gap: 30px; }
  .about-inner { gap: 48px; }
  .contact-inner { gap: 48px; }
}

/* Give the desktop services area a distinct, more expressive surface. */
.service-heading { display: contents; }
.service-icon { display: none; }
@media (min-width: 1024px) {
  .credentials { background: #f6f8fc; }
  .credentials-inner { padding-top: 25px; padding-bottom: 25px; }
  .credentials strong { display: flex; align-items: center; gap: 12px; }
  .credentials strong::before { content: ""; width: 7px; height: 7px; background: var(--gold); border-radius: 1px; flex-shrink: 0; }
  .credentials span { display: block; padding-left: 19px; }
  #services { position: relative; padding-top: 78px; padding-bottom: 86px; }
  #services::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: calc((100% - 100vw) / 2); width: 100vw; background: linear-gradient(135deg, #f8faff 0%, #eff3fa 100%); }
  #services .section-intro { align-items: center; margin-bottom: 42px; gap: 54px; }
  #services .section-intro .eyebrow { color: var(--gold-ink); font-size: 14px; letter-spacing: 1.4px; }
  #services .section-intro h2 { font-size: clamp(34px, 3.1vw, 43px); line-height: 1.15; letter-spacing: -.045em; }
  #services .section-intro > p { border-left: 2px solid var(--gold); padding-left: 24px; max-width: 365px; }
  #services .services-grid { gap: 22px; }
  #services .service { position: relative; min-width: 0; padding: 32px 28px 30px; background: #fff; border: 1px solid #dce3ef; border-radius: 12px; box-shadow: 0 12px 30px -18px #10224635; transition: transform .2s ease, box-shadow .2s ease; }
  #services .service::before { content: ""; position: absolute; top: 0; left: 28px; width: 44px; height: 3px; background: var(--gold); }
  #services .service-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  #services .service-icon { display: grid; place-items: center; width: 58px; height: 58px; flex-shrink: 0; color: var(--blue); background: #eef3ff; border: 1px solid #e0e8f9; border-radius: 12px; }
  #services .service-icon svg { width: 32px; height: 32px; }
  #services .service-number { font-size: 12px; letter-spacing: .8px; }
  #services .service h3 { font-size: clamp(24px, 2vw, 28px); line-height: 1.22; margin: 28px 0 18px; }
  #services .service p { font-size: 16px; line-height: 1.75; margin-bottom: 28px; }
  #services .service > a { display: block; padding-top: 20px; border-top: 1px solid #e5eaf2; line-height: 1.55; text-decoration: none; font-size: 14px; }
  #services .service > a:hover { color: var(--blue); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
  #services .service:nth-child(2) { background: linear-gradient(145deg, #182f59, #102246); border-color: #233b62; color: #fff; box-shadow: 0 16px 34px -18px #10224680; }
  #services .service:nth-child(2) .service-icon { background: #ffffff0a; color: var(--gold); border-color: #ffffff20; }
  #services .service:nth-child(2) .service-number { color: var(--gold); }
  #services .service:nth-child(2) p { color: #d3dced; }
  #services .service:nth-child(2) > a { border-color: #ffffff25; color: #fff; }
  #services .service:nth-child(2) > a:hover { color: var(--gold); }
}
@media (min-width: 1024px) and (hover: hover) {
  #services .service:hover { transform: translateY(-5px); box-shadow: 0 20px 38px -20px #10224655; }
}
@media (prefers-reduced-motion: reduce) {
  #services .service:hover { transform: none; }
}

/* Connect the highlights and introduction with the services card language. */
.credentials-panel { display: contents; }
.credential-icon { display: none; }
@media (min-width: 1024px) {
  .credentials { background: linear-gradient(135deg, #f8faff 0%, #eff3fa 100%); border: 0; }
  .credentials-inner { display: block; padding-top: 34px; padding-bottom: 0; }
  .credentials-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 28px; border: 1px solid #dce3ef; border-radius: 12px; background: #fff; box-shadow: 0 12px 30px -22px #10224635; }
  .credentials-panel p, .credentials-panel p:first-child { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 16px; align-content: center; border: 0; padding: 0; }
  .credentials .credential-icon { display: grid; grid-row: span 2; place-items: center; width: 46px; height: 46px; background: #f0f4fc; border: 1px solid #e1e8f4; border-radius: 10px; color: var(--ink); font-style: normal; }
  .credential-icon svg { width: 24px; height: 24px; }
  .credentials strong { display: block; font-size: 17px; line-height: 1.4; letter-spacing: -.3px; margin-bottom: 5px; }
  .credentials strong::before { content: none; }
  .credentials span { padding-left: 0; font-size: 14px; line-height: 1.55; }
  #services { padding-top: 60px; }
  #services .section-intro { display: block; margin-bottom: 36px; }
  #services .section-intro h2 { max-width: 790px; }
  #services .section-intro > p { max-width: 680px; border: 0; padding: 0; margin-top: 20px; font-size: 17px; line-height: 1.75; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .credentials-panel { gap: 20px; padding: 24px; }
  .credentials-panel p, .credentials-panel p:first-child { column-gap: 12px; }
}

/* Official wordmark, framed to keep its original white margins out of the layout. */
.brand { position: relative; display: block; width: 196px; height: 62px; flex-shrink: 0; overflow: hidden; }
.brand img { display: block; position: absolute; width: 100%; height: auto; left: 0; top: 50%; transform: translateY(-50%); }
.footer .brand { width: 164px; height: 52px; }
@media (max-width: 760px) {
  .header .brand { width: 164px; height: 52px; }
}

/* News archive: clear year groups with the shared navy and gold palette. */
.archive-intro { padding-top: 28px; padding-bottom: 48px; }
.breadcrumb { display: flex; justify-content: flex-start; gap: 12px; font-size: 14px; font-weight: 400; color: var(--muted); margin-bottom: 38px; }
.breadcrumb a { color: var(--ink); }
.archive-intro .eyebrow { color: var(--gold-ink); font-size: 14px; }
.archive-intro h1 { font-size: clamp(42px, 5vw, 64px); margin: 18px 0; }
.archive-intro .archive-title-dot { color: var(--gold-ink); }
.archive-description { max-width: 580px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.archive-surface { background: #f3f6fc; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.archive-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 64px; padding-top: 48px; padding-bottom: 72px; align-items: start; }
.archive-sidebar { position: sticky; top: 30px; padding-top: 6px; }
.archive-nav-label { font-size: 12px; font-weight: 700; letter-spacing: 1.3px; color: var(--gold-ink); margin-bottom: 20px; }
.archive-year-nav { display: grid; gap: 0; }
.archive-year-nav a { display: block; padding: 16px 0; border-top: 1px solid #d9e1ef; font-size: 19px; font-weight: 600; line-height: 1.4; }
.archive-year-nav a span { display: block; font-size: 14px; color: var(--muted); font-weight: 400; margin-top: 4px; }
.archive-group + .archive-group { margin-top: 44px; }
.archive-group { scroll-margin-top: 26px; }
.archive-group > h2 { font-size: 28px; letter-spacing: -.03em; margin-bottom: 20px; display: flex; align-items: center; gap: 18px; }
.archive-group > h2::after { content: ''; height: 1px; flex: 1; background: #d9e1ef; }
.archive-card { scroll-margin-top: 26px; background: white; border: 1px solid #dce3ef; border-radius: 12px; padding: 30px 34px; box-shadow: 0 10px 28px -22px #10224635; }
.archive-card + .archive-card { margin-top: 18px; }
.archive-card .archive-date { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 16px; font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--gold-ink); }
.archive-place { font-weight: 400; color: var(--muted); }
.archive-card h3 { font-size: 25px; line-height: 1.3; letter-spacing: -.035em; margin-bottom: 16px; }
.archive-card > p:not(.archive-date) { font-size: 16px; line-height: 1.8; color: var(--muted); }
.archive-card > p + p:not(.archive-date) { margin-top: 14px; }
.header nav a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 8px; }
@media (max-width: 1000px) {
 .archive-layout { grid-template-columns: 170px minmax(0, 1fr); gap: 32px; }
 .archive-card { padding: 26px; }
}
@media (max-width: 760px) {
 .archive-intro { padding-top: 20px; padding-bottom: 34px; }
 .breadcrumb { display: flex; width: auto; padding: 0; margin-bottom: 28px; }
 .archive-description { font-size: 17px; }
 .archive-layout { grid-template-columns: 1fr; gap: 30px; padding-top: 28px; padding-bottom: 44px; }
 .archive-sidebar { position: static; }
 .archive-nav-label { margin-bottom: 12px; }
 .archive-year-nav { display: grid; padding: 0; width: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
 .archive-year-nav a { padding: 12px 14px; font-size: 17px; background: white; border: 1px solid #dce3ef; border-radius: 8px; }
 .archive-year-nav a span { font-size: 12px; }
 .archive-card { padding: 24px 22px; }
 .archive-card h3 { font-size: 23px; }
 .archive-group > h2 { font-size: 26px; }
}

/* Compact archive introduction, aligned with the announcement surfaces. */
.archive-page main { background: #f3f6fc; }
.archive-intro { padding-top: 16px; padding-bottom: 0; }
.archive-intro .breadcrumb { margin-bottom: 24px; }
.archive-heading-panel { display: flex; align-items: center; gap: 22px; padding: 28px 32px; background: #fff; border: 1px solid #dce3ef; border-top: 3px solid var(--gold); border-radius: 12px; box-shadow: 0 10px 28px -22px #10224635; }
.archive-heading-icon { display: grid; place-items: center; width: 60px; height: 60px; flex-shrink: 0; color: var(--ink); background: #eef3fb; border-radius: 12px; }
.archive-heading-icon svg { width: 32px; height: 32px; }
.archive-heading-copy { min-width: 0; max-width: 610px; }
.archive-intro .eyebrow { font-size: 12px; letter-spacing: 1.3px; }
.archive-intro h1 { font-size: 36px; line-height: 1.15; letter-spacing: -.035em; margin: 8px 0 10px; }
.archive-description { font-size: 16px; line-height: 1.65; max-width: 560px; }
.archive-summary { flex-shrink: 0; margin-left: auto; padding: 14px 18px; background: #f3f6fc; border-radius: 8px; text-align: right; line-height: 1.5; }
.archive-summary span { display: block; }
.archive-summary span:first-child { color: var(--ink); font-size: 18px; font-weight: 600; }
.archive-summary span:last-child { font-size: 14px; color: var(--muted); margin-top: 3px; }
.archive-surface { border-top: 0; }
.archive-layout { padding-top: 36px; }
@media (max-width: 1000px) {
 .archive-heading-panel { gap: 18px; padding: 24px; }
 .archive-heading-icon { width: 50px; height: 50px; }
 .archive-summary { padding: 12px; }
}
@media (max-width: 760px) {
 .archive-intro { padding-top: 16px; padding-bottom: 0; }
 .archive-intro .breadcrumb { margin-bottom: 20px; }
 .archive-heading-panel { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 16px 14px; align-items: start; padding: 22px 20px; }
 .archive-heading-icon { width: 42px; height: 42px; margin-top: 4px; border-radius: 9px; }
 .archive-heading-icon svg { width: 26px; height: 26px; }
 .archive-intro h1 { font-size: 30px; margin-top: 7px; }
 .archive-intro .eyebrow { font-size: 12px; }
 .archive-description { font-size: 16px; }
 .archive-summary { grid-column: 1 / -1; margin-left: 0; text-align: left; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 10px 14px; }
 .archive-summary span:first-child { font-size: 15px; }
 .archive-summary span:last-child { font-size: 14px; margin-top: 0; }
 .archive-layout { padding-top: 28px; }
}

/* Company background follows the compact page heading and service card theme. */
.background-content { padding-top: 44px; padding-bottom: 68px; }
.background-page .footer { background: white; }
.background-overview { display: grid; grid-template-columns: 1fr 1.3fr; gap: 64px; padding-bottom: 44px; }
.background-content .eyebrow { font-size: 12px; color: var(--gold-ink); letter-spacing: 1.3px; }
.background-content h2 { font-size: 30px; line-height: 1.25; letter-spacing: -.035em; }
.background-overview h2 { margin-top: 14px; }
.background-overview-copy p { font-size: 16px; line-height: 1.8; color: var(--muted); }
.background-overview-copy p + p { margin-top: 16px; }
.background-section-heading { margin-bottom: 22px; }
.background-section-heading h2 { margin-top: 12px; }
.background-capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.background-capability { position: relative; padding: 30px 32px; background: white; border: 1px solid #dce3ef; border-radius: 12px; box-shadow: 0 10px 28px -22px #10224635; }
.background-capability::before { content: ''; position: absolute; top: 0; left: 32px; height: 3px; width: 40px; background: var(--gold); }
.background-card-label { color: var(--gold-ink); font-size: 12px; font-weight: 700; letter-spacing: 1px; }
.background-capability h3 { font-size: 25px; line-height: 1.25; letter-spacing: -.035em; margin: 16px 0; }
.background-capability > p { color: var(--muted); font-size: 16px; line-height: 1.75; }
.background-capability-navy { display: flex; flex-direction: column; background: linear-gradient(145deg, #182f59, #102246); color: white; border-color: #233b62; }
.background-capability-navy .background-card-label { color: var(--gold); }
.background-capability-navy > p { color: #d3dced; }
.background-capability-navy .light-link { margin-top: auto; padding-top: 24px; }
.background-tech-list { margin: 24px 0 0; }
.background-tech-list > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; border-top: 1px solid #e5eaf2; padding: 12px 0; }
.background-tech-list > div:last-child { padding-bottom: 0; }
.background-tech-list dt { font-size: 14px; color: var(--ink); font-weight: 600; }
.background-tech-list dd { font-size: 14px; color: var(--muted); margin: 0; }
.background-method { margin-top: 44px; }
.background-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; padding: 28px 32px; margin: 0; background: #fff; border: 1px solid #dce3ef; border-radius: 12px; }
.background-steps li { min-width: 0; }
.background-steps li > span { display: grid; place-items: center; width: 34px; height: 34px; background: #eef3fb; color: var(--gold-ink); font-size: 13px; font-weight: 700; border-radius: 8px; margin-bottom: 16px; }
.background-steps h3 { font-size: 19px; line-height: 1.3; letter-spacing: -.02em; margin-bottom: 10px; }
.background-steps p { font-size: 16px; color: var(--muted); line-height: 1.7; }
@media (max-width: 1000px) {
 .background-overview { gap: 32px; }
 .background-capability { padding: 26px; }
 .background-tech-list > div { grid-template-columns: 1fr; gap: 3px; }
 .background-steps { gap: 22px; padding: 26px; }
}
@media (max-width: 760px) {
 .background-content { padding-top: 30px; padding-bottom: 44px; }
 .background-overview { grid-template-columns: 1fr; gap: 22px; padding-bottom: 34px; }
 .background-content h2 { font-size: 27px; }
 .background-capability-grid { grid-template-columns: 1fr; gap: 18px; }
 .background-capability { padding: 26px 22px; }
 .background-capability::before { left: 22px; }
 .background-capability h3 { font-size: 23px; }
 .background-capability-navy .light-link { margin-top: 0; }
 .background-method { margin-top: 34px; }
 .background-steps { grid-template-columns: 1fr; gap: 24px; padding: 24px 22px; }
 .background-steps li + li { padding-top: 24px; border-top: 1px solid #e5eaf2; }
 .background-steps li > span { margin-bottom: 12px; }
}

/* A unified company introduction with a navy title panel and readable overview. */
.background-feature { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); overflow: hidden; background: #fff; border: 1px solid #dce3ef; border-radius: 12px; box-shadow: 0 12px 30px -22px #10224635; }
.background-feature-title { display: flex; flex-direction: column; align-items: flex-start; padding: 34px 36px; background: linear-gradient(145deg, #182f59, #102246); border-top: 3px solid var(--gold); color: #fff; }
.background-feature-title .eyebrow { color: var(--gold); font-size: 12px; letter-spacing: 1.3px; }
.background-feature-title h1 { font-size: clamp(30px, 2.8vw, 36px); color: #fff; line-height: 1.16; letter-spacing: -.035em; margin: 16px 0 18px; }
.background-feature-tagline { font-size: 17px; line-height: 1.65; color: #d3dced; }
.background-location { margin-top: auto; padding-top: 32px; }
.background-location > span { color: var(--gold); font-size: 12px; font-weight: 600; letter-spacing: 1px; }
.background-location > p { font-size: 16px; margin-top: 5px; color: #fff; }
.background-feature-copy { padding: 34px 38px; }
.background-feature-copy .eyebrow { font-size: 12px; color: var(--gold-ink); letter-spacing: 1.3px; }
.background-feature-copy h2 { font-size: 28px; line-height: 1.25; letter-spacing: -.035em; margin: 14px 0 20px; }
.background-feature-copy > p:not(.eyebrow) { max-width: 580px; color: var(--muted); font-size: 16px; line-height: 1.8; }
.background-feature-copy > p + p:not(.eyebrow) { margin-top: 16px; }
.background-content { padding-top: 36px; }
@media (max-width: 1000px) {
 .background-feature-title { padding: 28px; }
 .background-feature-copy { padding: 28px; }
}
@media (max-width: 760px) {
 .background-feature { grid-template-columns: 1fr; }
 .background-feature-title, .background-feature-copy { padding: 26px 22px; }
 .background-feature-title h1 { font-size: 30px; margin-top: 12px; }
 .background-feature-tagline { font-size: 16px; }
 .background-location { padding-top: 22px; }
 .background-feature-copy h2 { font-size: 25px; margin-bottom: 16px; }
 .background-content { padding-top: 30px; }
}

/* Employment uses the shared navy introduction and compact white cards. */
.employment-content { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 24px; align-items: start; padding-top: 36px; padding-bottom: 68px; }
.employment-content .eyebrow { font-size: 12px; color: var(--gold-ink); letter-spacing: 1.3px; }
.employment-content h2 { font-size: 28px; line-height: 1.25; letter-spacing: -.035em; margin: 12px 0 16px; }
.employment-benefits, .employment-openings, .employment-apply { padding: 30px 32px; background: white; border: 1px solid #dce3ef; border-radius: 12px; box-shadow: 0 10px 28px -22px #10224635; }
.employment-content p:not(.eyebrow):not(.employment-status) { color: var(--muted); font-size: 16px; line-height: 1.75; }
.employment-benefit-list { padding: 0; margin: 24px 0 30px; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.employment-benefit-list li { display: flex; align-items: center; gap: 12px; background: #f3f6fc; border-radius: 8px; padding: 14px; font-size: 15px; line-height: 1.5; }
.employment-benefit-list li::before { content: '✓'; flex-shrink: 0; color: var(--gold-ink); font-size: 16px; font-weight: 700; }
.employment-equality { border-top: 1px solid #e5eaf2; padding-top: 24px; }
.employment-equality h3 { font-size: 19px; line-height: 1.4; letter-spacing: -.02em; margin-bottom: 10px; }
.employment-sidebar { display: grid; gap: 22px; }
.employment-status { background: #f3f6fc; border-left: 3px solid var(--gold); border-radius: 0 6px 6px 0; color: var(--ink); padding: 12px 16px; font-size: 16px; font-weight: 600; margin-bottom: 16px; }
.employment-apply .button { margin-top: 22px; }
.employment-email { display: block; width: fit-content; font-size: 15px; margin-top: 18px; overflow-wrap: anywhere; text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
.employment-content .employment-fax { font-size: 14px!important; margin-top: 16px; }
.employment-fax span { font-weight: 600; color: var(--ink); margin-right: 8px; }
@media (min-width: 761px) and (max-width: 1023px) {
 .header { padding-left: 24px; padding-right: 24px; gap: 20px; }
 .header .brand { width: 170px; height: 54px; }
 .header nav { gap: 18px; font-size: 14px; }
 .header .nav-contact { padding: 10px 16px; }
}
@media (max-width: 1000px) {
 .employment-content { gap: 20px; }
 .employment-benefits, .employment-openings, .employment-apply { padding: 26px; }
 .employment-benefit-list { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
 .employment-content { grid-template-columns: 1fr; padding-top: 30px; padding-bottom: 44px; }
 .employment-benefits, .employment-openings, .employment-apply { padding: 26px 22px; }
 .employment-content h2 { font-size: 25px; }
 .employment-benefit-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
 .employment-benefit-list li { align-items: flex-start; gap: 8px; padding: 12px; font-size: 14px; }
}
@media (max-width: 380px) {
 .employment-benefit-list { grid-template-columns: 1fr; }
}

/* Keep the two employment columns aligned while content determines their height. */
@media (min-width: 761px) {
  .employment-content { align-items: stretch; }
  .employment-benefits { display: flex; flex-direction: column; }
  .employment-benefits .employment-equality { margin-top: auto; }
  .employment-sidebar { grid-template-rows: auto 1fr; }
}

/* Two-line desktop headline; retain the stacked headline on small screens. */
@media (min-width: 1024px) {
  .hero h1 .hero-title-break { display: none; }
}
