/* The original brand, expressed through blue, light and restrained typography. */
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond-italic.ttf') format('truetype');font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--paper:#f7f9fb;--ink:#152a43;--navy:#102c4b;--muted:#526579;--line:#d4dee7;--ice:#b9d8ef;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--soft:#eaf0f5}
html{scroll-padding-top:116px}
body{font-family:var(--sans);font-weight:400}
h1,h2{letter-spacing:-.032em;font-weight:500}
h2{font-size:clamp(40px,4vw,60px);line-height:1.06}
h1 em,h2 em{color:#547b9d;font-weight:400}
.eyebrow,.principle h3,.stats-grid h3,.contact-link small,.contact-link>span:last-child{font-family:var(--sans)}
.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:500}
.text-link,.button{font-size:12px;font-weight:500}
.button{border-radius:0}
.fine-line{background:#668daf}
:focus-visible{outline-color:#43b7ee}
.site-header{position:fixed;inset:0 0 auto;z-index:70;background:rgba(10,27,48,.27);color:#f6faff;border-bottom:1px solid #ffffff24;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transition:background .25s}
.site-header.is-scrolled,.inner-page .site-header{background:rgba(10,27,48,.62)}
.header-inner{height:96px;gap:32px}
.brand img,.footer-main .brand img{width:226px;height:auto;object-fit:contain}
.site-header .brand{display:flex;align-items:center;gap:7px}
.site-header .brand img.brand-symbol{width:36px;height:auto}
.site-header .brand img.brand-wordmark{width:166px;height:auto}
@media(max-width:1100px){.site-header .brand img.brand-symbol{width:32px}.site-header .brand img.brand-wordmark{width:150px}}
.desktop-nav{font-size:11px;gap:27px}
.desktop-nav a:after{background:#a7d8f7}
.site-header .header-cta{background:transparent;border-color:#ffffff70;padding:12px 18px}
.site-header .header-cta:hover{background:#ffffff14;border-color:#fff}
.menu-toggle{border-color:#ffffff50}
.menu-toggle span{background:#fff}
.mobile-nav{background:rgba(10,27,48,.98);border-color:#ffffff25;max-height:calc(100svh - 80px);overflow-y:auto}
.mobile-nav a{border-color:#ffffff25}
.inner-page{padding-top:96px}
.page-intro{padding-top:76px;padding-bottom:66px}
.page-intro h1{font-size:clamp(48px,5.3vw,76px);line-height:1.04}
.intro-aside p{font-size:14px;line-height:1.8}
.home-page{isolation:isolate;background:#10243e;color:#f6f9fc}
.site-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#10243e;pointer-events:none}
.site-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
.site-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,23,42,.80),rgba(10,30,54,.52) 65%,rgba(10,30,54,.54)),linear-gradient(0deg,rgba(9,28,49,.62),transparent 65%)}
.home-hero{height:100svh;min-height:740px;max-height:1080px;padding:0;background:none;color:#fff}
.hero-image,.hero-shade{display:none}
.hero-frame{height:100%;min-height:100%;border:0;background:none;padding:clamp(185px,23vh,260px) clamp(24px,5.2vw,80px) 42px}
.hero-title-row{grid-template-columns:minmax(0,1fr) 230px;gap:45px;margin-top:32px;align-items:end}
.hero-title-row h1{font-size:clamp(60px,6.3vw,96px);font-weight:400;line-height:1.02;letter-spacing:-.034em}
.hero-title-row h1 em{color:#b9d8ef}
.hero-aside{padding:0 0 7px}
.hero-aside p{font-size:14px;line-height:1.85;color:#f1f6fb}
.hero-aside .text-link{margin-top:22px;border-color:#ffffff75;color:#fff}
.home-hero .eyebrow{font-size:10px;color:#c5e2f4}
.hero-bottom{font-size:10px;letter-spacing:.05em;border-top:1px solid #ffffff30;padding-top:21px;color:#d8e7f2}
.home-page main>.wrap{position:relative}
.home-page .split-intro,.home-page .expertise-section,.home-page .footprint-preview{background:rgba(11,31,52,.73)}
.home-page .split-intro{padding-top:115px;padding-bottom:95px}
.home-page .expertise-section{padding-bottom:112px}
.home-page h2 em{color:#b9d8ef}
.home-page p,.home-page .eyebrow,.home-page .row-number,.home-page .row-arrow,.home-page .city-list span{color:#c1d2e0}
.home-page .lead{color:#dce7ee;font-size:17px;line-height:1.85}
.home-page .service-rows,.home-page .service-row,.home-page .city-list>div{border-color:#ffffff29}
.home-page .service-row:hover{background:#ffffff08}
.home-page .service-row h3{font-size:31px}
.home-page .text-link{border-color:#ffffff65}
.home-page .text-link:hover{color:#fff;border-color:#fff}
.home-page .approach-panel{background:rgba(225,237,247,.95);color:#152a43}
.home-page .approach-content p,.home-page .approach-content .eyebrow{color:#526579}
.home-page .approach-content h2 em{color:#547b9d}
.home-page .approach-content .text-link{border-color:#8fa9be}
.home-page .approach-content .text-link:hover{color:#143b62}
.home-page .insights-preview{background:rgba(232,241,248,.96);color:#152a43}
.home-page .insights-preview h2 em{color:#547b9d}
.home-page .insights-preview .eyebrow{color:#526579}
.home-page .insights-preview .text-link{border-color:#8fa9be}
.home-page .insights-preview .text-link:hover{color:#143b62}
.home-page .insight-teaser{border-color:#a7bdcf}
.home-page .closing{background:rgba(10,31,53,.83)}
.closing h2{font-weight:400}
.closing h2 em{color:#b9d8ef}
.site-footer{background:#0c2038;color:#edf4fa}
.site-footer p,.site-footer .eyebrow,.footer-bottom{color:#acc0d0}
.site-footer .footer-bottom{border-color:#ffffff24}
.footer-main .brand img{width:205px}
.footer-main a:hover{color:#b9d8ef}
.service-row h3{font-size:29px}
.person h2{font-size:35px}
.person .role{font-size:11px;line-height:1.6}
.people-grid{gap:38px}
.portrait{position:relative;height:auto;aspect-ratio:1;overflow:hidden;background:#e5ebf0}
.portrait img{position:absolute;height:auto;max-width:none;object-fit:initial}
.portrait-type{padding:30px}
.portrait-type p{font-size:40px}
.portrait-type>span{font-size:95px}
.news-article,.market-card{scroll-margin-top:116px}
@media(min-width:1441px){.home-page main>.wrap{max-width:none;padding-inline:max(80px,calc((100vw - 1280px)/2))}.home-page .approach-panel{max-width:none;grid-template-columns:1fr 1fr}}
@media(max-width:1100px){.brand img{width:200px}.header-inner{gap:20px}.desktop-nav{gap:18px;font-size:10px}.hero-title-row{grid-template-columns:minmax(0,1fr) 200px;gap:28px}.hero-title-row h1{font-size:clamp(60px,6.3vw,80px)}.people-grid{gap:25px}}
@media(max-width:900px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.header-inner{height:80px}.inner-page{padding-top:80px}.hero-title-row{display:block;max-width:790px}.hero-title-row h1{font-size:clamp(56px,8.2vw,76px)}.hero-aside{max-width:325px;margin-top:30px}.hero-frame{padding-top:175px}.home-hero{min-height:790px}.hero-bottom{margin-top:50px}.people-grid{gap:25px}.portrait-type p{font-size:33px}}
@media(max-width:800px){.brand img{width:213px}.home-page .split-intro{padding-block:80px 65px}.home-page .expertise-section{padding-bottom:80px}.page-intro h1{font-size:54px}.portrait{height:auto}.person:last-child .portrait{height:auto}.footer-main .brand img{width:190px}.home-page .service-row h3{font-size:29px}}
@media(max-width:520px){html{scroll-padding-top:100px}.brand img{width:202px}.home-hero{height:100svh;min-height:790px;max-height:none}.hero-frame{padding:160px 24px 26px}.hero-title-row{margin-top:29px}.hero-title-row h1{font-size:56px;line-height:1.03;max-width:350px}.hero-top .eyebrow{font-size:8px;letter-spacing:.13em;gap:10px}.hero-aside{max-width:295px;margin-top:29px}.hero-aside p{font-size:13px}.hero-aside .text-link{margin-top:13px}.hero-bottom{font-size:10px;margin-top:42px;padding-top:18px}.site-backdrop img{object-position:44% center}.site-backdrop:after{background:linear-gradient(90deg,rgba(6,23,42,.77),rgba(10,30,54,.44)),linear-gradient(0deg,rgba(9,28,49,.62),transparent)}.home-page .lead{font-size:15px}.home-page .service-row h3{font-size:27px}.home-page .service-row p{font-size:12px}.page-intro{padding-block:52px 43px}.page-intro h1{font-size:48px}.people-grid{gap:45px}.portrait,.person:last-child .portrait{height:auto;aspect-ratio:1}.person h2{font-size:36px;margin-top:21px}.portrait-type p{font-size:43px}.closing h2{font-size:50px}.news-article,.market-card{scroll-margin-top:100px}.footer-main .brand img{width:205px}}
