/* A quieter expression of the existing navy, gold and warm-white identity. */
:root { --polish-line: rgba(0,51,102,.13); }
:focus-visible { outline: 3px solid var(--brand-gold-dark); outline-offset: 5px; }
[id] { scroll-margin-top: 125px; }
.header { border-bottom-width: 1px; }
.nav-top,.nav-bottom { padding-inline: max(28px,calc((100vw - 1280px)/2)); }
.nav-top { height: 48px; }
.nav-bottom { height: 58px; }
.nav-sep { display: none; }
.ni > a { font-size: 12px; padding: 12px 10px; opacity: 1; }
.nav-top-link { opacity: .85; }
.logo-main,.logo-accent { font-size: 23px; }
.mega { top: 100%; }
.ni:focus-within .mega { display: block; }
.ni:focus-within .mega-wide { display: grid; }
.mobile-toggle { border: 0; background: transparent; }
.hero { min-height: auto; padding-top: 106px; }
.hero-container { max-width: 1400px; margin: auto; min-height: 660px; grid-template-columns: 1.08fr 1fr; }
.hero-content { padding: 76px 55px 65px max(32px,calc((1400px - 1200px)/2)); }
.hero-title { font-size: clamp(2.65rem,4vw,3.75rem); line-height: 1.12; letter-spacing: -.045em; font-weight: 600; }
.hero-title em { color: #997821; font-style: normal; }
.hero-description { font-size: 1.05rem; max-width: 480px; }
.hero-content::before,.hero-image::before { display:none; }
.hero-image { margin: 40px 32px 40px 0; border-radius: 4px 64px 4px 4px; min-width: 0; }
.hero-image::after { width: 540px; height: 540px; top: 45px; right: -200px; border-color: rgba(212,175,53,.3); }
.hero-video-wrapper { height:auto; padding: 32px; }
.hero-video-wrapper iframe { display:block; border:0; border-radius: 4px; }
.hero-stats { gap:32px; padding-top:24px; }
.stat-value { font-size:1.5rem; }
.hero-footnote { font-size:11px; }
.hero-footnote a { color:var(--brand-blue); }
.trust-indicator { font-size:11px; }
.s2-title,.journey-title,.sec-title { font-weight:600; letter-spacing:-.035em; }
.services-new,.s3,.s-team,.testimonials { padding-block:88px; }
.section-eyebrow { color:#95741c; font-size:11px; }
.s2-header { gap:64px; margin-bottom:40px; }
.s2-desc { color:var(--text-secondary); }
.services-grid-new { grid-template-columns:repeat(2,minmax(0,1fr)); border:0; border-radius:0; gap:0 32px; margin-bottom:48px; }
.service-item { display:grid; grid-template-columns:26px 1fr 20px; align-items:center; gap:16px; padding:24px 8px; background:transparent; border:0; border-bottom:1px solid var(--polish-line); text-decoration:none; }
.service-num { margin:0; font-size:11px; }
.service-name { margin:0; min-height:0; font-size:15px; font-weight:600; }
.service-tag { display:none; }
.service-arrow { position:static; font-size:21px; }
.service-item:hover { background:var(--off-white); transform:none; }
.service-item:hover .service-name,.service-item:hover .service-arrow { color:var(--brand-blue); }
.recognition-band { grid-template-columns:1fr; gap:32px; padding:36px 40px; border-radius:8px; }
.rec-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
.rec-label { max-width:none; color:#d4deea; font-size:11px; }
.rec-sub { color:#d4deea; }
.rec-value { font-size:29px; font-weight:600; }
.rec-stat + .rec-stat::before { left:-12px; }
.audience-section { padding:80px 32px; background:white; border-bottom:1px solid var(--polish-line); }
.audience-inner { max-width:1200px; margin:auto; display:grid; grid-template-columns:1fr 1.2fr; gap:90px; }
.audience-heading h2 { font-size:clamp(1.8rem,3vw,2.5rem); font-weight:600; letter-spacing:-.035em; }
.audience-heading p { max-width:360px; }
.audience-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.audience-list a { display:flex; gap:12px; align-items:center; padding:20px 0; border-bottom:1px solid var(--polish-line); text-decoration:none; color:var(--brand-blue); font-size:14px; line-height:1.5; }
.audience-list a > :last-child { margin-left:auto; }
.audience-number { color:#95741c; font-size:10px; }
.text-link { color:var(--brand-blue); font-weight:600; text-underline-offset:5px; font-size:14px; }
.journey-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.journey-card { text-decoration:none; border-radius:6px; padding:28px; box-shadow:none; }
.journey-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px #00336608; }
.jc-title { font-weight:600; font-size:19px; }
.jc-arrow { display:block; }
.resource-card { border-radius:8px; }
.resource-trio { gap:20px; }
.rc-title { font-weight:600; }
.tmember,.tg-card,.tcard { border-radius:8px; }
.tcard-body { font-size:18px; }
.partners { padding-block:36px; border-block:1px solid var(--polish-line); }
.partners-logos { flex-wrap:wrap; }
.footer-top { gap:30px; }
.fd-main,.fd-note { line-height:1.8; }
.additional-services { max-width:1200px; margin:60px auto; padding:32px; }
.additional-services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.additional-services article { padding:24px 0; border-top:1px solid var(--polish-line); }
.additional-services h3 { font-size:20px; }
.privacy-quick-links { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 32px; padding:20px; background:var(--off-white); border:1px solid var(--polish-line); }
.privacy-quick-links a { font-size:14px; padding:6px; }
.form-status { color:var(--brand-blue); grid-column:1/-1; }
.email-draft { display:inline-block; padding:12px 18px; margin-top:12px; background:var(--brand-blue); color:white!important; border-radius:6px; text-decoration:none; }
.newsletter-signup .email-draft { background:var(--brand-gold); color:var(--brand-blue)!important; }
.search-toggle { border:0; background:transparent; color:var(--brand-blue); font-size:13px; cursor:pointer; padding:12px; }
.site-search { margin:auto; padding:32px; width:min(600px,calc(100% - 32px)); border:1px solid var(--polish-line); border-radius:12px; color:var(--brand-blue); }
.site-search::backdrop { background:#001c38a6; }
.search-close { float:right; background:none; border:0; color:var(--brand-blue); font-size:24px; cursor:pointer; }
.site-search input { width:100%; padding:14px; border:1px solid #9ca3af; border-radius:4px; font:inherit; margin:16px 0; }
.search-results { list-style:none; max-height:45vh; overflow:auto; }
.search-results a { display:block; padding:12px 0; color:var(--brand-blue); border-bottom:1px solid var(--polish-line); }
@media (max-width:1200px) {
 .nav-bottom { padding-inline:20px; } .ni > a { font-size:11px; padding-inline:7px; }
 .hero-content { padding:55px 32px; } .hero-stats { gap:24px; }
 .audience-inner { gap:40px; }
}
@media (max-width:1000px) {
 .nav-top { padding:16px 24px; height:60px; } .nav-top-right { display:none; }
 .nav-bottom { height:48px; } .mobile-toggle { display:flex; margin-left:auto; }
 .nav-main-links { display:none; position:absolute; top:108px; left:0; right:0; background:white; padding:16px 24px; max-height:calc(100dvh - 108px); overflow:auto; }
 .nav-main-links.active { display:flex; flex-direction:column; align-items:stretch; opacity:1; visibility:visible; transform:none; }
 .ni > a { font-size:14px; padding:13px 0; white-space:normal; } .ni { width:100%; }
 .mega,.mega-wide { position:static; box-shadow:none; min-width:0; border:0; padding:0 12px; }
 .mega a { white-space:normal; } .btn-get-started { display:block; }
 .hero-container { grid-template-columns:1fr 1fr; min-height:600px; } .hero-title { font-size:2.65rem; }
 .hero-image { margin:28px 24px 28px 0; } .hero-video-wrapper { padding:18px; }
 .hero-stats { flex-wrap:wrap; } .audience-inner { grid-template-columns:1fr; }
}
@media (max-width:640px) {
 .hero-container,.audience-list,.services-grid-new,.journey-grid,.team-grid,.team-groups,.additional-services-grid { grid-template-columns:1fr; }
 .hero-content { padding:48px 24px 32px; } .hero-title { font-size:2.6rem; } .hero-actions { margin-bottom:28px; }
 .hero-image { margin:0 24px 32px; min-height:270px; border-radius:4px 40px 4px 4px; }
 .hero-video-wrapper { padding:20px; } .trust-indicator { bottom:15px; }
 .hero-stats { gap:24px; flex-wrap:nowrap; } .stat-value { font-size:1.3rem; } .stat-label { font-size:11px; }
 .services-new,.s3,.s-team,.testimonials,.audience-section { padding:56px 24px; }
 .s2-header { gap:20px; } .service-item { padding-block:22px; } .recognition-band { padding:28px 22px; }
 .rec-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } .rec-stat { text-align:left; }
 .rec-stat + .rec-stat::before { display:none; } .rec-value { font-size:25px; }
 .team-hd { gap:20px; } .audience-inner { gap:24px; } .audience-list a { padding-block:16px; }
 .cta-left,.cta-right { padding:40px 24px; } .cta-right { min-height:0; }
 .footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); } .ft-brand { grid-column:1/-1; }
 .ft-col,.ft-links a { min-width:0; overflow-wrap:anywhere; } .search-toggle { text-align:left; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; }
}
.service-arrow { opacity:1; }
.service-num,.service-item:hover .service-num { color:#92721e; opacity:1; }
.trust-indicator { color:#d5deea; }
@media (min-width:1001px) and (max-width:1250px) {
 .ni > a { font-size:10px; padding-inline:5px; }
 .btn-get-started { padding-inline:14px; }
}
.map-mode { position:relative; display:flex; justify-content:center; gap:4px; padding:4px; background:white; border:1px solid var(--polish-line); border-radius:8px; margin:0 auto 24px; width:fit-content; z-index:6; }
.map-mode button { padding:10px 14px; color:var(--brand-blue); background:transparent; border:0; border-radius:5px; cursor:pointer; font:inherit; font-size:13px; }
.map-mode button[aria-pressed="true"] { color:white; background:var(--brand-blue); }
.education-pin .pin-dot { background:var(--brand-gold)!important; color:var(--brand-blue); }

/* Team directory. Deliberately compact; details expand only on request. */
.people-section { background:var(--brand-blue); color:#fff; padding:96px 32px; }
.people-container { max-width:1120px; margin:auto; }
.people-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:44px; }
.people-heading h2 { color:#fff; font-size:clamp(1.75rem,3vw,2.5rem); font-weight:600; letter-spacing:-.035em; line-height:1.2; margin:0 0 16px; }
.people-heading p { color:#e0e9f2; font-size:16px; line-height:1.6; margin:0; }
.people-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--brand-gold-light); font:500 14px var(--font-heading); text-decoration:none; white-space:nowrap; }
.people-link:hover { color:#fff; text-decoration:underline; text-underline-offset:5px; }
.people-link > span { font-size:19px; }
.people-directory { border-top:1px solid #487099; }
.people-row { border-bottom:1px solid #487099; }
.people-row-heading { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; column-gap:24px; padding:22px 0; margin:0; min-height:88px; }
.people-row-heading h3,.people-row-heading .people-name { color:#fff; font:500 21px var(--font-heading); letter-spacing:-.02em; line-height:1.4; margin:0; }
.people-row-heading p,.people-row-heading .people-role { color:#e0e9f2; font-size:16px; line-height:1.6; margin:0; }
.people-row-heading .people-link,.people-bio-toggle { min-width:95px; justify-content:space-between; }
.people-bio > summary { cursor:pointer; list-style:none; }
.people-bio > summary::-webkit-details-marker,.people-network summary::-webkit-details-marker { display:none; }
.people-bio-toggle { display:inline-flex; align-items:center; gap:12px; color:var(--brand-gold-light); font:500 14px var(--font-heading); min-height:44px; }
.people-plus { font-size:22px; line-height:1; }
.people-label-open { display:none; }
.people-bio[open] .people-label-open { display:inline; }
.people-bio[open] .people-label-closed { display:none; }
.people-bio[open] .people-plus { transform:rotate(45deg); }
.people-bio-layout { display:grid; grid-template-columns:88px minmax(0,1fr); gap:28px; align-items:start; }
.people-headshot { width:88px; height:112px; display:grid; place-items:center; border:1px solid #62809c; background:linear-gradient(145deg,#164d80,#082f5a); color:var(--brand-gold-light); font:500 25px Georgia,serif; letter-spacing:.04em; }
.people-biography-copy { max-width:780px; padding:0 0 22px; }
.people-biography-copy p { color:#e0e9f2; font-size:16px; line-height:1.8; margin:0 0 16px; }
.people-network { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; padding-top:22px; align-items:start; }
.people-network summary { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:44px; cursor:pointer; list-style:none; color:#fff; font:500 15px var(--font-heading); }
.people-network summary > span { color:var(--brand-gold-light); font-size:20px; }
.people-network details[open] summary > span { transform:rotate(45deg); }
.people-network p { color:#e0e9f2; font-size:15px; line-height:1.75; margin:12px 0 4px; }
.people-section :focus-visible { outline:2px solid var(--brand-gold-light); outline-offset:5px; }
@media(max-width:640px) {
 .people-section { padding:64px 24px; }
 .people-heading { align-items:start; flex-direction:column; gap:16px; margin-bottom:32px; }
 .people-row-heading { grid-template-columns:1fr auto; gap:3px 16px; padding:20px 0; }
 .people-row-heading h3,.people-row-heading .people-name { grid-column:1; font-size:20px; }
 .people-row-heading p,.people-row-heading .people-role { grid-column:1; grid-row:2; font-size:14px; }
 .people-row-heading .people-link,.people-bio-toggle { grid-column:2; grid-row:1 / span 2; min-width:80px; font-size:13px; }
 .people-network { grid-template-columns:1fr; gap:4px; padding-top:16px; }
 .people-network summary { min-height:48px; }
 .people-biography-copy p { font-size:15px; }
 .people-bio-layout { grid-template-columns:1fr; gap:18px; }
 .people-headshot { width:64px; height:76px; font-size:20px; }
}

/* Compact next step: two direct links, no oversized panels. */
.next-step { padding:96px 32px; background:#fff; }
.next-step-inner { max-width:1120px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.next-step-intro h2 { color:var(--brand-blue); font-size:clamp(1.75rem,3vw,2.5rem); font-weight:600; letter-spacing:-.035em; line-height:1.2; margin:0 0 16px; max-width:480px; }
.next-step-intro p { color:#43576b; font-size:16px; line-height:1.7; margin:0; max-width:370px; }
.next-step-actions { border-top:1px solid #c8d2dc; }
.next-step-actions a { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:19px 0; border-bottom:1px solid #c8d2dc; text-decoration:none; color:var(--brand-blue); }
.next-step-actions strong { display:block; font:500 18px var(--font-heading); line-height:1.5; }
.next-step-description { display:block; color:#43576b; font-size:14px; line-height:1.6; margin-top:4px; }
.next-step-arrow { font-size:24px; color:#95741c; flex-shrink:0; }
.next-step-actions a:hover strong { text-decoration:underline; text-underline-offset:5px; }
.next-step-actions a:focus-visible { outline:2px solid var(--brand-blue); outline-offset:5px; }
@media(max-width:640px) {
 .next-step { padding:64px 24px; }
 .next-step-inner { grid-template-columns:1fr; gap:24px; }
 .next-step-actions a { padding:17px 0; }
 .next-step-actions strong { font-size:17px; }
}

/* Match the Testimonials heading treatment, with contrast for the blue section. */
.people-heading .section-eyebrow { color:var(--brand-gold-light); }
.people-heading .section-eyebrow,.next-step-intro .section-eyebrow { margin-bottom:20px; }

/* Services and company figures are separate, full-width chapters. */
#services .services-grid-new { margin-bottom:0; }
#services::before { display:none; }
.company-glance { background:var(--brand-blue); padding:80px 60px; }
.glance-inner { max-width:1200px; margin:auto; }
.glance-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:44px; }
.glance-heading .journey-title { margin:0; color:#fff; }
.glance-heading .section-eyebrow { margin-bottom:18px; color:var(--brand-gold-light); }
.glance-link { display:inline-flex; align-items:center; gap:16px; color:#fff; font:500 14px var(--font-heading); text-decoration:none; min-height:44px; white-space:nowrap; }
.glance-link span { color:var(--brand-gold-light); font-size:21px; }
.glance-link:hover,.glance-disclosures:hover { text-decoration:underline; text-underline-offset:5px; }
.glance-figures { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px; margin:0; padding-top:32px; border-top:1px solid #527697; }
.glance-figures > div { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:0 20px 0 0; border-right:1px solid #39658f; }
.glance-figures dd { order:-1; margin:0 0 14px; font:500 clamp(30px,3vw,42px)/1.15 var(--font-heading); letter-spacing:-.045em; color:var(--brand-gold-light); white-space:nowrap; }
.glance-figures dd > span:not(.glance-of),.glance-figures sup { color:var(--brand-gold-light); }
.glance-figures > div:last-child { border-right:0; }
.glance-figures .glance-of { font-size:.46em; letter-spacing:0; }
.glance-figures sup { font-size:.4em; vertical-align:super; }
.glance-figures dt { color:#e0e9f2; font-size:14px; line-height:1.65; }
.glance-figures dt small { display:block; font-size:12px; margin-top:2px; }
.glance-disclosures { display:inline-flex; align-items:center; gap:8px; font-size:12px; color:#e0e9f2; text-decoration:none; margin-top:28px; min-height:32px; }
@media(max-width:800px) {
 .glance-figures { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
 .glance-heading { align-items:start; }
 .company-glance { padding:64px 40px; }
 .glance-figures > div { border-right:0; padding-right:0; }
}
@media(max-width:520px) {
 .company-glance { padding:56px 24px; }
 .glance-heading { flex-direction:column; gap:16px; margin-bottom:28px; }
 .glance-figures { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; }
 .glance-figures dd { font-size:34px; }
}

/* Client stories: open quotations and a separate regulatory note. */
.client-stories { background:#fff; padding:96px 32px; }
.client-stories-inner { max-width:1200px; margin:auto; }
.client-stories .testimonials-header { margin-bottom:44px; }
.client-quotes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px; }
.client-quote { display:flex; flex-direction:column; margin:0; padding:4px 0 4px 28px; border-left:2px solid var(--brand-gold); }
.client-quote blockquote { margin:0 0 28px; }
.client-quote blockquote p { margin:0; color:var(--brand-blue); font-size:clamp(21px,1.85vw,25px); font-weight:400; font-style:italic; line-height:1.65; max-width:510px; }
.client-quote figcaption { margin-top:auto; display:flex; flex-direction:column; gap:6px; }
.client-quote .client-name { font:600 15px var(--font-heading); color:var(--brand-blue); line-height:1.6; }
.client-quote figcaption a { align-self:flex-start; color:#82671f; font-size:14px; line-height:1.7; text-decoration:none; }
.client-quote figcaption a:hover { text-decoration:underline; text-underline-offset:4px; }
.client-regulation { display:grid; grid-template-columns:1fr 1.6fr auto; align-items:center; gap:32px; margin-top:48px; padding-top:26px; border-top:1px solid #c8d2dc; }
.client-regulation h3 { color:var(--brand-blue); font:600 15px/1.6 var(--font-heading); margin:0; }
.client-regulation p { color:#43576b; font-size:14px; line-height:1.75; margin:0; max-width:480px; }
.client-regulation a { color:var(--brand-blue); font-size:13px; line-height:1.7; text-underline-offset:5px; }
@media(max-width:800px) {
 .client-quotes { gap:32px; }
 .client-regulation { grid-template-columns:1fr 1.5fr; gap:16px 24px; }
 .client-regulation a { grid-column:2; }
}
@media(max-width:560px) {
 .client-stories { padding:64px 24px; }
 .client-stories .testimonials-header { margin-bottom:30px; }
 .client-quotes { grid-template-columns:1fr; gap:32px; }
 .client-quote { padding:2px 0 2px 20px; }
 .client-quote blockquote { margin-bottom:20px; }
 .client-regulation { grid-template-columns:1fr; gap:12px; margin-top:36px; }
 .client-regulation a { grid-column:auto; }
}
