/* Brand-guide preview: corporate colours; Barlow / Nunito Sans alternatives. */
:root{--brand-indigo:#3c3a90;--brand-green:#21a135;--brand-grey:#5e5a5c;--brand-tint:#eeedf6}
h1,h2,h3{font-family:'Barlow',Arial,sans-serif;letter-spacing:-.025em;font-weight:500}
h1 em,h2 em{font-family:inherit;font-style:italic;letter-spacing:inherit}
.home-hero h1{font-size:clamp(70px,7.1vw,110px);letter-spacing:-.035em}
.home-hero h1 em{font-size:1.04em;line-height:1.05}
.portfolio-head h2,.intro h2,.home-news h2,.prose h2,.prose h3,.tech h3,.team h3,.offices h3,.contact-grid h2,.portfolio-intro h2,.story-title h2,.journey-heading h2{color:var(--brand-indigo)}
.eyebrow{color:var(--brand-grey)}.eyebrow:before{background:var(--brand-green)}
.hero .eyebrow,.mega-menu .eyebrow,.mobile-navigation .eyebrow{color:inherit}
.market-badge{background:var(--brand-tint);border-left:3px solid var(--brand-green);color:var(--brand-indigo)}
.cta{background:var(--brand-indigo);color:white}.cta h2 em{color:inherit}.cta .btn{background:white;color:var(--brand-indigo)}.cta .btn:hover{background:var(--brand-tint)}
.inside .project-stats .stat b{color:white}.inside .project-stats .stat{border-color:#ffffff30}
.experience-section .stat b{color:var(--brand-indigo)}
.footer{background:#24233d}.footer h4{color:#c9c7dd}.footer-bottom{border-color:#ffffff30}
.journey-legend>.government,.journey-legend>.infinitum{color:var(--brand-grey)}
@media(max-width:760px){.home-hero h1{font-size:clamp(58px,15.5vw,88px);line-height:1.02;letter-spacing:-.035em}.home-hero h1 em{font-size:1.04em}}
/* Keep navigation legible and Contact text clear in every header state. */
.site-header .header nav{font-size:15px;font-weight:600;gap:28px}
.site-header .header nav>a.nav-contact:hover,
.site-header .header nav>a.nav-contact:focus-visible{background:var(--brand-indigo);border-color:var(--brand-indigo);color:#fff;opacity:1}
@media(min-width:761px) and (max-width:1100px){.site-header .header nav{font-size:14px;gap:18px}.site-header .nav-contact{padding:11px 14px;gap:18px}}
@media(max-width:760px){.site-header .menu{font-size:14px}}
/* Balance the visible gap after the Projects dropdown chevron. */
@media(min-width:761px){.site-header .nav-projects{margin-inline-end:-7px}}

/* Projects text and chevron share one dropdown control. */
.site-header .projects-menu-trigger{display:flex;align-items:center;gap:8px;width:auto;height:44px;padding:0 7px 0 0;font:inherit;text-align:left}
.site-header .projects-menu-trigger:hover{opacity:.7}.site-header .projects-menu-trigger.active>span{border-bottom:1px solid currentColor}

@media(max-width:760px){.mobile-menu-brand{position:absolute;left:0;top:calc(17px + env(safe-area-inset-top));display:block;width:clamp(125px,38vw,145px);height:56px}.mobile-menu-brand img{width:100%;height:100%;object-fit:contain;object-position:left center}.mobile-dialog{padding-top:calc(100px + env(safe-area-inset-top))}.mobile-close{top:calc(24px + env(safe-area-inset-top))}}

/* Match the supplied logos' visible footprint to the existing padded artwork. */
.partner-group img.partner-logo-added{width:105px;height:55px}
.project-stage{display:inline-flex;align-items:center;max-width:100%;padding:7px 11px;border:1px solid #3c3a9030;background:var(--brand-tint);color:var(--brand-indigo);font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.02em}
.featured-detail .featured-stage{margin:12px 0 17px}.story-title>.project-stage{margin:15px 0 0;justify-self:start}
.hero .hero-content>.project-stage{margin:20px 0 0;background:#ffffffed;color:var(--brand-indigo);border-color:transparent;font-size:12px}
.project-office-note{margin-top:38px;padding-top:25px;border-top:1px solid var(--line);font-size:15px;color:var(--muted);line-height:1.8}.project-office-note strong{font-weight:600;color:var(--brand-indigo)}
@media(max-width:760px){.story-title>.project-stage{margin:0 0 18px}.project-office-note{font-size:14px}}
@media(min-width:761px) and (max-width:1100px){.story-title>.project-stage{grid-column:1/-1;grid-row:3}.story-title>.story-primary{grid-column:2;grid-row:2}}

/* Agency credit sits on a separate line below the copyright row. */
.footer .footer-credit{margin:14px 0 0;font-size:10px;line-height:1.7;color:inherit;opacity:.75}
@media(max-width:760px){.footer .footer-credit{font-size:9px}}

/* Identify the first office without changing its order on smaller screens. */
.office-label{display:inline-block;margin:0 0 14px;padding:5px 9px;background:var(--brand-tint);border-left:3px solid var(--brand-green);color:var(--brand-indigo);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
