@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:block}@font-face{font-family:'Source Sans 3';src:url('/assets/fonts/source-sans-3.woff2') format('woff2');font-weight:400 600;font-style:normal;font-display:block}
:root{--display:Manrope,Arial,sans-serif;--body:'Source Sans 3',Arial,sans-serif;--gold:#d2b579;--muted:#b4b5b7}body{font-family:var(--body);font-size:17px;line-height:1.65}button,input,textarea,select{font-family:var(--body)}h1,h2,h3,h4,legend{font-family:var(--display);font-weight:600}h1,.subhero h1{font-size:clamp(52px,6.2vw,84px);line-height:1.06;letter-spacing:-.045em}h2{font-size:46px;line-height:1.14;letter-spacing:-.035em}h3{font-size:26px;line-height:1.25;letter-spacing:-.025em}.heading-accent{font-family:var(--display)!important;font-style:normal;color:#d8bf88}.brand{font-family:var(--display);font-size:16px;letter-spacing:.5px;gap:13px}.brand img{width:55px;height:57px}.nav-wrap{min-height:88px}header{border-bottom:0;background:rgba(22,23,25,.97)}nav,.services-toggle{font-size:16px}.nav-cta{border:0;background:#2b2b2d;border-radius:8px;padding:12px 20px}.hero{gap:50px;padding-top:36px;padding-bottom:45px}.hero-copy{padding:0;justify-content:center}.hero h1{margin:0 0 28px}.hero-copy>p{font-size:19px;line-height:1.6;max-width:460px;margin-bottom:32px}.hero-media{min-height:545px;border-radius:18px}.hero-media:after{background:linear-gradient(transparent,#0004);inset:70% 0 0}.photo-index{font:15px/1.4 var(--body);letter-spacing:0;left:22px;bottom:20px;color:#faf8ee;background:#1119;padding:5px 10px;border-radius:5px}.button{font-size:16px;line-height:1.4;min-height:54px;padding:15px 21px;gap:24px;border-radius:8px;border:0;background:#d0b274;color:#171719}.button .ui-icon{width:21px;height:21px}.button:hover{background:#e0c68f;color:#161719}.button.light{color:#171719}.underlink{font-size:16px;border:0;display:inline-flex;align-items:center;gap:12px;padding:6px 0;color:#d0d0cb}.underlink:hover{color:#e0c68f}.ui-icon{width:22px;height:22px;display:inline-block;vertical-align:middle;flex-shrink:0}.nav-cta .ui-icon,.services-toggle .ui-icon{width:18px;height:18px}.menu-toggle .ui-icon{width:24px;height:24px}.section{padding-top:90px;padding-bottom:90px}.section-head{gap:45px;margin-bottom:36px}.section-head p{font-size:17px;line-height:1.7;max-width:370px}.audience-section{padding-top:62px}.audience-grid{gap:22px}.audience-grid>a{padding:30px;background:#202124;border:0;border-radius:16px}.audience-grid>a:hover{background:#292a2d;border:0}.audience-grid h3{font-size:25px;margin-top:28px;margin-bottom:14px}.audience-grid p{font-size:17px;line-height:1.6;max-width:270px;margin-bottom:32px}.audience-icon{width:50px;height:50px;display:grid;place-items:center;background:#d0b27410;border-radius:12px;color:#d0b274}.audience-icon .ui-icon{width:27px;height:27px}.audience-grid b{bottom:24px;right:28px}.audience-grid b>.ui-icon{width:24px;height:24px}.services{border:0;gap:22px}.service,.service+.service{border:0;border-radius:16px;background:#202124;padding:32px 30px}.service:hover{background:#292a2d}.service-top{margin-bottom:32px}.service-icon{height:52px;width:52px;display:grid;background:#d0b27410;border-radius:12px;place-items:center}.service-icon svg{width:30px;height:30px;stroke-width:1.6;stroke:#d2b579}.service h3,.service-deep h2{font-size:25px;line-height:1.3;letter-spacing:-.03em;margin-bottom:18px}.service p{font-size:17px;line-height:1.65;max-width:100%;margin-bottom:25px}.text-link{border:0;padding-top:0;font-size:16px;gap:15px}.service .text-link{color:#d7c18d}.dark-section{background:#0f1012}.editorial{gap:70px;padding-top:80px;padding-bottom:80px}.editorial-copy h2{font-size:52px;margin-top:0}.editorial-copy p{font-size:17px;line-height:1.75;max-width:425px}.work-photo,.about-photo img,.service-visual{border-radius:18px;overflow:hidden}.work-photo figcaption,.about-photo span,.service-visual figcaption{font-size:15px;letter-spacing:0;border-radius:5px;background:#111b;line-height:1.4;z-index:1;padding:5px 10px}.principles{gap:24px}.principles article{border:0;background:#202124;padding:30px;border-radius:16px}.principles h3{margin-top:0;font-size:25px}.principles p{font-size:17px;max-width:none;line-height:1.7;margin-bottom:0}.region{background:#1c1d20}.region-inner{gap:65px;padding-top:75px;padding-bottom:75px}.region-inner p{font-size:17px;max-width:430px;line-height:1.75}.region-choices{display:grid;gap:18px}.region-choices>a{display:grid;grid-template-columns:35px 1fr 24px;gap:0 16px;align-items:center;background:#28292c;border-radius:14px;padding:25px;transition:background .2s}.region-choices>a:hover{background:#303134}.region-choices>a>.ui-icon:first-child{color:#d2b579;width:26px;height:26px;grid-column:1;grid-row:1/3}.region-choices h3{grid-column:2;margin:0 0 8px;font-size:25px}.region-choices p{grid-column:2;grid-row:2;font-size:16px;line-height:1.5;margin:0}.region-choices>a>.ui-icon:last-child{grid-column:3;grid-row:1/3;color:#d2b579}.career-strip{padding-top:48px;padding-bottom:48px}.career-strip h3{font-size:28px;margin:0}.cta{border:0;background:#202124}.cta .wrap{padding-top:70px;padding-bottom:70px}.cta h2{font-size:70px;margin-top:0;line-height:1.06}.cta-phone{font-size:16px}.foot-top{grid-template-columns:1.7fr 1.1fr 1.2fr;gap:40px}.foot-top p,.foot-top>div>a:not(.footer-name){font-size:16px;line-height:1.7}.foot-top h4{font-family:var(--body);font-size:16px;letter-spacing:0;font-weight:600;color:#d2d3ce;margin-bottom:20px}.footer-name{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:-.5px}.footer-name span{font-size:16px;letter-spacing:0;font-weight:400;margin-top:8px}.foot-bottom{border:0;font-size:15px;gap:20px;flex-wrap:wrap;margin-top:35px;padding-top:20px}.footer-socials a{border:0;background:#27282b;border-radius:10px;height:44px;width:44px}.footer-socials a:hover{background:#cfb16c}.subhero{padding-top:35px;padding-bottom:55px}.subhero h1{margin-top:0;margin-bottom:28px}.subhero>p{font-size:19px;max-width:670px;line-height:1.65}.breadcrumbs{font-size:15px;gap:10px;padding-top:28px;padding-bottom:5px}.service-story h2{font-size:36px;margin-top:0}.service-story p,.audience-body p,.about-text p{font-size:18px;line-height:1.8}.service-overview{gap:65px}.scope-panel{border:0;border-radius:16px;background:#222326;padding:30px}.scope-panel h3{margin-top:0;font-size:28px}.scope-panel ul{font-size:16px}.scope-panel li{display:flex;gap:12px;align-items:flex-start;border:0;padding:9px 0}.scope-panel li>.ui-icon{color:#d2b579;width:18px;height:18px;margin-top:4px}.process-grid{gap:24px}.process-grid article{border:0;background:#202124;border-radius:16px;padding:30px}.process-icon{color:#d2b579;margin-bottom:26px}.process-icon .ui-icon{height:28px;width:28px}.process-grid h3{font-size:25px;margin-top:0}.process-grid p{font-size:17px;line-height:1.7}.related{gap:24px}.related>a{border:0;background:#232427;border-radius:12px;padding:22px 24px;font-size:19px}.related b .ui-icon{height:22px;width:22px}.faq-section{gap:65px}.faq-list{display:grid;gap:12px}.faq-list details,.faq-list details:last-child{border:0;border-radius:13px;background:#222326;padding:0 24px}.faq-list summary{font-size:18px;padding:22px 0;align-items:center}.faq-list summary .ui-icon{height:22px;width:22px}.faq-list p{font-size:17px;line-height:1.7;color:#bcbec1;margin-bottom:24px}.services-menu{width:340px;border:0;border-radius:14px;padding:14px;box-shadow:0 20px 55px #0006}.services-menu>a{border:0;border-radius:8px;padding:17px 15px}.services-menu>a:hover{background:#2c2d30}.services-menu b{font-size:17px;font-weight:500}.services-menu .supporting-text{display:block;font-size:15px;line-height:1.5;color:#b8babc;margin-top:5px}.services-menu .all-services{font-size:16px;padding:15px}.services-toggle{padding:15px 0}.policy article{display:block;border:0;background:#222326;border-radius:16px;padding:30px;margin-bottom:18px}.policy h2{font-size:30px}.policy p,.policy>p{font-size:17px;line-height:1.75}.career-content article{border:0;background:#222326;border-radius:16px}.career-content p{font-size:18px}.career-content h2{margin-top:0;font-size:40px}.career-content aside{padding-top:30px}.contact-info>div{border:0;padding:0 0 30px}.contact-info a:not(.underlink){font-family:var(--display);font-size:25px;font-weight:500;letter-spacing:-.5px}.contact-info p{font-size:20px}form{border:0;border-radius:18px;padding:34px;background:#222326}.form-heading{justify-content:flex-end}.form-heading>span:last-child{font-size:16px}.form-progress{font-size:16px;margin-top:15px;gap:12px}.form-progress li{border:0;border-radius:8px;padding:8px 12px;text-align:center;background:#18191b;color:#aeb0b3}.form-progress li[aria-current]{color:#e0c68f;background:#383124;border:0}.form-errors{font-size:16px;border-radius:10px}legend{font-size:28px;line-height:1.25;font-weight:600}form label{font-size:16px;margin-top:19px}.service-choices{gap:12px}.service-choices label>span{border:1px solid transparent;border-radius:10px;padding:18px;background:#18191b}.service-choices b{font-size:18px}.service-choices .supporting-text{display:block;font-size:16px;color:#b6b8bb;line-height:1.5;margin-top:5px}.service-choices input:checked+span{border-color:#bca062;background:#383124}.field-help,.form-note,form>p{font-size:16px;line-height:1.65;color:#b8babe}.file-drop{border:0;border-radius:12px;background:#191a1c;padding:22px}.file-drop .supporting-text{display:block;font-size:16px;color:#b8babe;margin:8px 0 15px}.file-drop input{font-size:15px}.file-drop input::file-selector-button{font-size:15px;border:0;border-radius:6px;padding:10px 14px}#file-list{font-size:16px}.quote-summary{border:0;background:#191a1c;border-radius:10px;font-size:16px;padding:20px}.consent{font-size:16px}.quote-success{border:0;border-radius:18px;padding:35px}.quote-success h2{font-size:38px}.quote-success p{font-size:18px}.back-button{font-size:16px;border:0;border-radius:8px;background:#323337;padding:15px 20px}.form-buttons{gap:15px}input,textarea,select{font-size:17px;border-color:#4b4d52;border-radius:8px;padding:12px 14px;color:#f0f0ec}input:focus,select:focus,textarea:focus{border-color:#d2b579}.service-choices input:focus-visible+span{outline-offset:3px}.consent input{padding:0;border-radius:3px}.form-errors ul{padding-left:20px}form noscript{font-size:16px}
@media(max-width:1100px){.hero{gap:35px}.hero h1{font-size:70px}.hero-copy>p{font-size:18px}.brand{font-size:14px}nav{gap:23px}.editorial-copy h2{font-size:45px}.audience-grid>a,.service,.service+.service{padding:27px 23px}.service h3,.service-deep h2,.audience-grid h3{font-size:23px}.service-overview,.faq-section{gap:40px}.region-inner{gap:40px}.contact-info a:not(.underlink){font-size:22px}}
@media(max-width:760px){.nav-wrap{min-height:76px}.brand{font-size:13px;gap:10px}.brand img{width:44px;height:47px}.menu-toggle{font-size:16px;padding-left:10px;gap:10px}.hero{gap:30px;padding-top:35px;padding-bottom:20px}.hero h1{font-size:54px;line-height:1.07;letter-spacing:-.045em;margin:0 0 23px}.hero-copy>p{font-size:18px;margin-bottom:26px}.hero-actions{gap:15px}.hero-media{min-height:365px;border-radius:14px}.photo-index{font-size:15px;left:16px;bottom:16px}.button{font-size:16px;padding:15px 18px;gap:20px;min-height:53px}.underlink{font-size:16px}.section{padding-top:62px;padding-bottom:62px}h2{font-size:35px;line-height:1.17}h3{font-size:25px}.section-head{margin-bottom:30px}.section-head p{font-size:17px;margin-top:23px}.audience-section{padding-top:48px}.audience-grid{gap:14px}.audience-grid>a{padding:26px}.audience-grid h3{font-size:25px;margin-top:22px}.audience-grid p{font-size:17px;margin-bottom:30px}.services{gap:14px}.service,.service+.service{padding:28px 26px}.service h3,.service-deep h2{font-size:26px}.service p{font-size:17px}.service-top{margin-bottom:28px}.text-link{font-size:16px}.editorial{gap:30px;padding-top:55px;padding-bottom:60px}.editorial-copy h2{font-size:39px}.editorial-copy p{font-size:17px}.work-photo{height:310px}.principles article{padding:26px}.principles h3{font-size:25px}.principles p{font-size:17px}.region-inner{gap:30px;padding-top:55px;padding-bottom:55px}.region-inner p{font-size:17px}.region-choices>a{padding:22px;grid-template-columns:28px 1fr 22px;gap:0 12px}.region-choices h3{font-size:25px}.region-choices p{font-size:16px}.career-strip{gap:25px;padding-top:40px;padding-bottom:40px}.career-strip h3{font-size:26px;line-height:1.3}.cta .wrap{padding-top:50px;padding-bottom:50px}.cta h2{font-size:54px}.cta-phone{font-size:16px}.foot-top{grid-template-columns:1fr;gap:30px}.foot-top>div:first-child{grid-column:auto}.footer-name{font-size:23px}.footer-name span,.foot-top p,.foot-top>div>a:not(.footer-name),.foot-top h4,.foot-bottom{font-size:16px}.foot-top p{margin-top:16px}.foot-top h4{margin-bottom:15px}.foot-bottom{display:flex;flex-direction:column;align-items:flex-start;margin-top:20px;padding-top:15px;gap:12px}.subhero{padding-top:30px;padding-bottom:38px}.subhero h1{font-size:46px;line-height:1.1;letter-spacing:-.04em;margin:0 0 24px}.subhero>p{font-size:18px;line-height:1.65}.breadcrumbs{font-size:15px;gap:8px;padding-top:23px;padding-bottom:0;line-height:1.6}.service-story h2{font-size:32px}.service-story p,.audience-body p,.about-text p{font-size:18px}.service-overview{gap:30px}.scope-panel{padding:26px}.scope-panel h3{font-size:27px}.scope-panel ul{font-size:17px}.process-grid{gap:16px}.process-grid article{padding:26px}.process-grid h3{font-size:25px}.process-grid p{font-size:17px}.related{gap:14px;padding-bottom:50px}.related>a{font-size:19px;padding:22px}.faq-section{gap:25px}.faq-list summary{font-size:18px;padding:21px 0}.faq-list details{padding:0 22px}.faq-list p{font-size:17px;margin-right:0}.service-visual{height:280px;border-radius:14px}.service-visual figcaption,.work-photo figcaption,.about-photo span{font-size:15px}.services-menu{padding:10px;border-radius:12px;margin-top:5px}.services-menu>a{padding:15px 12px}.services-menu b{font-size:17px}.services-menu .supporting-text{font-size:16px}.services-toggle{font-size:17px}.nav-disclosure{border:0}.nav.open>a{font-size:17px;border:0;padding:16px 12px}.nav.open{border:0;box-shadow:0 20px 40px #0008;max-height:calc(100dvh - 90px);padding:16px 20px}.nav.open>.nav-cta{margin-top:5px;padding:15px}.policy article{padding:26px}.policy h2{font-size:28px}.policy p,.policy>p{font-size:17px}.career-content article{padding:28px}.career-content h2{font-size:34px}.career-content p{font-size:18px}form{padding:25px;border-radius:16px}legend{font-size:26px}.form-progress{font-size:16px;gap:8px}.form-progress li{padding:8px}.form-heading>span:last-child{font-size:16px}.service-choices label>span{padding:17px 16px}.service-choices b{font-size:18px}.service-choices .supporting-text{font-size:16px}.contact-layout{gap:35px}.contact-info a:not(.underlink){font-size:24px;overflow-wrap:anywhere}.contact-info p{font-size:20px}.contact-info>div{padding-bottom:25px}.quote-success{padding:27px}.quote-success h2{font-size:34px}.quote-success p{font-size:18px}.back-button{font-size:16px;padding:15px}.form-buttons{gap:12px}.form-buttons .button{gap:12px}.file-drop{padding:18px}.file-drop input{font-size:15px}.file-drop .supporting-text{font-size:16px}.field-help,.form-note{font-size:16px}.about-photo img{height:300px}.services-overview{padding-top:10px}.audience-body h2{font-size:35px}}
.service{display:flex;flex-direction:column}.service .text-link{margin-top:auto}.service-top{flex-shrink:0}.contact-info a>.ui-icon{margin-right:10px;color:#d2b579;width:22px;height:22px}.service .text-link b{display:flex;align-items:center}
.brand-mark{position:relative;display:block;width:48px;height:48px;overflow:hidden;flex-shrink:0}.brand .brand-mark img{position:absolute;left:-7px;top:-4px;width:62px;height:62px;max-width:none}@media(max-width:760px){.brand-mark{width:40px;height:40px}.brand .brand-mark img{left:-6px;top:-3.5px;width:52px;height:52px}}
@media(min-width:761px) and (max-width:1100px){.hero h1{font-size:clamp(48px,6.8vw,70px)}}
@media(max-width:1100px){.brand{font-size:15px}}
.career-hero{padding-bottom:60px}.career-hero .button{margin-top:5px}.career-application{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start;padding-bottom:90px}.career-role h2{font-size:38px;margin-top:0}.career-role>p{font-size:18px;line-height:1.8;color:#b9bbbe;max-width:450px}.career-role h3{margin-top:44px;margin-bottom:20px}.role-facts{display:grid;gap:16px;margin:30px 0}.role-facts p{font-size:17px;color:#b4b6b9;margin:0}.role-facts strong,.role-facts a{font-weight:500;color:#eeeae0}.role-facts a{overflow-wrap:anywhere}.application-panel{scroll-margin-top:115px;min-width:0}.application-panel form>h2{font-size:32px;line-height:1.25;margin:0 0 16px}.application-panel form>p{font-size:17px;line-height:1.65}.application-panel .form-row{gap:16px}.cv-drop-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:500}.cv-drop-title .ui-icon{color:#d2b579;width:24px;height:24px}.cv-drop .supporting-text{display:block;margin-top:10px;font-size:16px;color:#b7b9bc}.cv-feedback{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-size:16px;margin:-4px 0 24px;color:#cfccc3;overflow-wrap:anywhere}.cv-feedback>span{min-width:0;max-width:100%}.remove-cv{background:#36373a;color:#e3e2dc;border:0;border-radius:7px;padding:8px 13px;font-size:15px}.application-submit{margin-top:10px}.application-panel .consent{line-height:1.65}.application-panel .quote-success{background:#24251f}.success-icon>.ui-icon{width:38px;height:38px;color:#d2b579;margin-bottom:20px}.application-submit:disabled{opacity:.6;cursor:wait}.inbox-tabs{display:flex;gap:15px;flex-wrap:wrap;margin:25px 0}.inbox-tabs a{font-size:16px;padding:10px 17px;border-radius:8px;background:#242528}.inbox-tabs a[aria-current=page]{color:#e0c68f;background:#383124}.application-files{margin:20px 0}.application-files .button{font-size:16px}.application-card h2{font-size:28px}.application-card p{font-size:17px}.application-card .inbox-actions{gap:15px}.application-card .confirm-delete p{font-size:16px}@media(max-width:1100px){.career-application{gap:40px;grid-template-columns:.8fr 1.2fr}.career-role h2{font-size:32px}.application-panel form{padding:28px}}@media(max-width:760px){.career-hero{padding-bottom:38px}.career-hero h1{font-size:42px}.career-application{grid-template-columns:1fr;gap:34px;padding-bottom:60px}.career-role h2{font-size:32px}.career-role h3{margin-top:30px}.career-role>p{font-size:18px}.role-facts{margin:25px 0}.application-panel form{padding:25px}.application-panel form>h2{font-size:28px}.application-panel .form-row{grid-template-columns:1fr;gap:0}.cv-feedback{align-items:flex-start}.application-panel{scroll-margin-top:90px}.application-submit{width:100%}}

/* One-page quotation form: all details and attachments available immediately. */
.quote-single-step fieldset + fieldset{margin-top:36px}
.quote-single-step .form-buttons{justify-content:flex-start;margin-top:28px}
.quote-single-step .submit-button{min-height:52px}
@media(max-width:760px){.quote-single-step fieldset + fieldset{margin-top:28px}.quote-single-step .submit-button{width:100%}}

/* Contact details above a full-width, compact quotation form. */
.contact-hero{padding-bottom:24px}
.contact-overview{padding-bottom:32px}
.contact-overview .contact-info{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:24px}
.contact-overview .contact-info>div{padding:0}
.contact-overview .contact-info p{margin:0 0 8px;line-height:1.5}
.contact-overview .contact-info a:not(.underlink){font-size:24px;letter-spacing:-.4px;overflow-wrap:anywhere}
.contact-notice{font-size:16px;line-height:1.65;color:#b8babe;margin:22px 0 0;max-width:950px}
.contact-layout.contact-wide{display:block;padding-bottom:70px}
.contact-wide .quote-single-step{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px 40px;padding:36px}
.contact-wide .quote-single-step>fieldset:first-of-type{grid-column:1/-1}
.contact-wide .quote-single-step>fieldset+fieldset{margin-top:0}
.contact-wide .quote-single-step>fieldset:first-of-type>label{max-width:480px}
.contact-wide .service-choices{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;margin-top:18px}
.contact-wide .service-choices label{margin-top:0;display:flex}
.contact-wide .service-choices label>span{width:100%;padding:16px}
.contact-wide .service-choices b{font-size:17px}
.contact-wide .service-choices .supporting-text{font-size:16px}
.contact-wide .quote-single-step>.form-errors,.contact-wide .quote-single-step>.consent,.contact-wide .quote-single-step>.form-buttons,.contact-wide .quote-single-step>.form-note,.contact-wide .quote-single-step>noscript{grid-column:1/-1;margin:0}
.contact-wide .quote-single-step>.form-note:empty{display:none}
.contact-wide .quote-single-step>.consent{margin-top:0}
.contact-wide .file-drop{margin-bottom:0}
@media(max-width:1000px){.contact-overview .contact-info{grid-template-columns:1fr 1fr;gap:20px}.contact-wide .service-choices{grid-template-columns:1fr 1fr}.contact-wide .quote-single-step{gap:26px;padding:28px}}
@media(max-width:760px){.contact-hero{padding-bottom:24px}.contact-overview{padding-bottom:26px}.contact-overview .contact-info{grid-template-columns:1fr;gap:18px}.contact-overview .contact-info>div{padding:0}.contact-overview .contact-info a:not(.underlink){font-size:21px}.contact-overview .contact-info p{font-size:18px}.contact-notice{margin-top:20px}.contact-layout.contact-wide{padding-bottom:50px}.contact-wide .quote-single-step{grid-template-columns:1fr;padding:24px;gap:28px}.contact-wide .service-choices{grid-template-columns:1fr}.contact-wide .quote-single-step>fieldset:first-of-type>label{max-width:none}.contact-wide .quote-single-step>.form-buttons{margin-top:0}}

/* Compact single-step inquiry with dropdown choices. */
.contact-layout.contact-wide{max-width:860px}
.contact-wide .quote-compact{display:block;padding:32px}
.quote-compact h2{font-size:28px;line-height:1.25;margin:0 0 8px;letter-spacing:-.7px}
.quote-compact .form-row{gap:20px}
.quote-compact label{margin-top:18px}
.quote-compact textarea{min-height:105px;resize:vertical}
.quote-compact .file-drop{padding:16px 18px;margin-top:18px}
.quote-compact .file-drop .supporting-text{margin:4px 0 10px}
.quote-compact #file-list:empty{display:none}
.contact-wide .quote-compact>.consent{margin:22px 0}
.contact-wide .quote-compact>.form-buttons{margin-top:20px}
@media(max-width:760px){.contact-wide .quote-compact{padding:24px}.quote-compact .form-row{gap:0}.quote-compact h2{font-size:26px}}

/* Service photography: dedicated crops for cards and full-width context. */
.service-photo{display:block;width:calc(100% + 60px);max-width:none;height:auto;aspect-ratio:3/2;object-fit:cover;margin:-32px -30px 26px;border-radius:0}
.service{overflow:hidden}.service-photo+ .service-top{margin-top:0}
.project-context-photo{margin-top:0;margin-bottom:42px}.project-context-photo img{display:block;width:100%;height:auto;max-height:540px;object-fit:cover;border-radius:12px}.project-context-photo figcaption{font-size:12px;color:#a7aaad;margin-top:10px}
@media(max-width:760px){.service-photo{width:calc(100% + 52px);margin:-28px -26px 24px}.project-context-photo{margin-bottom:28px}.project-context-photo img{aspect-ratio:3/2}}

/* Full-width photographic hero with a dark text-side fade. */
.hero.hero-background{position:relative;isolation:isolate;display:flex;align-items:center;min-height:660px;padding:84px 0 96px;gap:0;overflow:hidden;background:#161719}
.hero-background .hero-inner{position:relative;z-index:2;width:100%}
.hero-background .hero-copy{width:55%;max-width:680px;padding:0;min-height:440px;justify-content:center}
.hero-background .hero-media{position:absolute;inset:0;min-height:0;border-radius:0;z-index:0;background:#161719}
.hero-background .hero-media>img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.hero-background .hero-media:after{inset:0;background:linear-gradient(90deg,#161719 0%,rgba(22,23,25,.97) 20%,rgba(22,23,25,.88) 36%,rgba(22,23,25,.56) 53%,rgba(22,23,25,.12) 76%,rgba(22,23,25,.06) 100%)}
.hero-background h1{font-size:clamp(64px,6.5vw,96px);line-height:1.04;letter-spacing:-.055em}
.hero-background .hero-copy>p{color:#dededb;text-shadow:0 1px 12px #0003}
.hero-background .underlink{color:#eeede8}
@media(max-width:1000px){.hero.hero-background{min-height:610px;padding:72px 0}.hero-background .hero-copy{width:70%}.hero-background .hero-media>img{object-position:65% center}}
@media(max-width:760px){.hero.hero-background{min-height:650px;padding:64px 0 70px;align-items:flex-end}.hero-background .hero-copy{width:100%;max-width:500px;min-height:0}.hero-background h1{font-size:clamp(50px,11.5vw,76px)}.hero-background .hero-media>img{object-position:68% center}.hero-background .hero-media:after{background:linear-gradient(90deg,rgba(22,23,25,.83),rgba(22,23,25,.28)),linear-gradient(0deg,#161719 0%,rgba(22,23,25,.94) 20%,rgba(22,23,25,.72) 52%,rgba(22,23,25,.12) 100%)}.hero-background .hero-actions{gap:22px}.hero-background .hero-copy>p{color:#e0dfda;max-width:340px}}

/* Match the hero frame to the site's photographic surfaces. */
.hero.hero-background{border-radius:18px}
.hero-background .hero-media{border-radius:inherit}
@media(max-width:760px){.hero.hero-background{border-radius:14px}}

.footer-name.footer-logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer-logo img{display:block;width:176px;height:auto;max-width:100%}
.footer-name.footer-logo span{margin-top:0}
@media(max-width:760px){.footer-logo img{width:154px}}

/* Centered FAQ: balanced heading, compact cards and clear disclosure states. */
.section.wrap.faq-section{display:flex;flex-direction:column;align-items:center;gap:38px;padding-top:88px;padding-bottom:88px}
.faq-section>div:first-child{width:100%;text-align:center}
.faq-section h2{max-width:760px;margin:0 auto;font-size:clamp(32px,3.6vw,46px);line-height:1.16;text-wrap:balance}
.faq-section .faq-list{width:100%;max-width:820px;margin:0 auto;gap:14px}
.faq-list details,.faq-list details:last-child{padding:0 26px;border:1px solid transparent;border-radius:16px;background:#202123;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
.faq-list details:hover{background:#27282a}
.faq-list details[open]{background:#252628;border-color:#d2b57938;box-shadow:0 12px 28px #00000012}
.faq-list summary{min-height:78px;padding:20px 0;font-family:var(--display);font-size:17px;font-weight:500;line-height:1.5;gap:24px;color:#f0f0eb}
.faq-list summary>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#d2b5790d;color:#d2b579;transition:background .2s ease}
.faq-list details[open] summary>span{transform:none;background:#d2b57920}
.faq-list summary .ui-icon{width:18px;height:18px;stroke-width:1.7}
.faq-list details[open] summary .lucide-plus path:last-child{opacity:0}
.faq-list summary:focus-visible{outline:2px solid #d2b579;outline-offset:5px;border-radius:8px}
.faq-list details p{margin:0 54px 24px 0;font-size:17px;line-height:1.75;color:#c0c1c2;max-width:680px}
@media(max-width:760px){.section.wrap.faq-section{padding-top:60px;padding-bottom:60px;gap:28px}.faq-section .faq-list{gap:10px}.faq-list details,.faq-list details:last-child{padding:0 19px;border-radius:14px}.faq-list summary{min-height:76px;font-size:16px;gap:16px;padding:18px 0}.faq-list summary>span{flex-basis:30px;width:30px;height:30px}.faq-list details p{margin:0 0 22px;font-size:16px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){.faq-list details,.faq-list summary>span{transition:none}}

/* Center the introduction above the audience cards. */
.audience-section>.section-head{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;margin-bottom:38px}
.audience-section>.section-head>div{width:100%}
.audience-section>.section-head h2{margin:0 auto;text-wrap:balance}
.audience-section>.section-head>p{max-width:600px;margin:0 auto;text-align:center}
@media(max-width:760px){.audience-section>.section-head{gap:18px;margin-bottom:28px}.audience-section>.section-head>p{max-width:420px}}

/* Consistent stacks, restrained elevation and varied section rhythm. */
.hero-background .hero-inner.wrap{width:calc(100% - 112px)}
.hero-background .hero-copy{width:58%;max-width:700px}
.section-head{align-items:center}
.section-head h2,.editorial-copy h2,.region-inner h2{margin-top:0}
.editorial-copy>p,.region-inner>div>p{margin-top:22px;margin-bottom:28px}
.service-story h2{margin-bottom:20px;line-height:1.2}
.service-story p{margin:0 0 22px}
.service-overview{align-items:center}
.subhero p,.career-hero p{margin-top:0;margin-bottom:28px}
.audience-body{gap:64px}
.audience-body p:last-child,.about-text p:last-child{margin-bottom:0}
.about-text p+p{margin-top:20px}
.audience-grid>a,.service,.principles article,.region-choices>a,.related>a{box-shadow:0 8px 24px #00000015,inset 0 1px 0 #ffffff03}
.work-photo,.service-visual,.about-photo img,.project-context-photo img{box-shadow:0 18px 46px #00000025}
.audience-grid>a,.service,.region-choices>a,.related>a{transition:background .22s ease,box-shadow .22s ease,transform .22s ease}
@media(hover:hover) and (pointer:fine){.audience-grid>a:hover,.service:hover,.region-choices>a:hover,.related>a:hover{transform:translateY(-3px);box-shadow:0 16px 32px #00000028}}
.services-toggle.is-active,nav a[aria-current="page"]{color:#dfc58e}
.services-menu a[aria-current="page"]{background:#d2b5790b}
.career-strip{border-radius:16px;background:#1c1d1f;padding:32px 36px;margin-top:6px;margin-bottom:56px;box-shadow:0 12px 30px #00000014}
.cta>.wrap{display:grid;grid-template-columns:1fr auto;column-gap:44px;align-items:center}
.cta h2{grid-column:1;grid-row:1/3;margin:0;font-size:clamp(42px,4.7vw,68px)}
.cta .button{grid-column:2;grid-row:1;align-self:end;justify-self:start}
.cta .cta-phone{grid-column:2;grid-row:2;margin:14px 0 0;align-self:start;font-size:16px}
.js-motion .reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.22,.61,.36,1);transform:translateY(18px)}
.js-motion .reveal.visible{transform:none}
@media(prefers-reduced-motion:no-preference){.hero-copy>h1,.hero-copy>p,.hero-actions,.subhero h1,.subhero>p,.career-hero .button{animation:mp-enter .7s cubic-bezier(.22,.61,.36,1) both}.hero-copy>p,.subhero>p{animation-delay:.1s}.hero-actions,.career-hero .button{animation-delay:.18s}}
@keyframes mp-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.hero-background .hero-inner.wrap{width:calc(100% - 64px)}.hero-background .hero-copy{width:70%}.audience-body{gap:40px}.cta>.wrap{column-gap:28px}}
@media(max-width:760px){.hero-background .hero-inner.wrap{width:calc(100% - 40px)}.hero-background .hero-copy{width:100%}.section-head{align-items:start}.section-head p{margin-top:20px}.audience-body{gap:24px}.career-strip{padding:28px 24px;margin-bottom:36px;gap:22px}.cta>.wrap{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.cta h2{font-size:48px}.cta .cta-phone{margin:0}.cta .wrap{padding-top:46px;padding-bottom:46px}#nav.open{max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 18px 35px #0005}.service-story p{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.js-motion .reveal{opacity:1;transform:none;transition:none}.audience-grid>a,.service,.region-choices>a,.related>a{transition:none}.audience-grid>a:hover,.service:hover,.region-choices>a:hover,.related>a:hover{transform:none}}

/* Career page: concise introduction above a centered application. */
.career-intro{display:grid;grid-template-columns:1.15fr 1fr;align-items:start;gap:72px;padding-bottom:46px}
.career-intro .career-intro-copy h1{font-size:clamp(44px,5.2vw,68px);line-height:1.08;margin:0 0 24px}
.career-intro-copy>p{max-width:560px;font-size:19px;line-height:1.7;color:#b9bbbe;margin:0}
.career-context{padding-top:5px;min-width:0}
.career-context h2{font-size:26px;line-height:1.3;letter-spacing:-.025em;margin:0 0 14px}
.career-context>p{font-size:17px;line-height:1.75;color:#b9bbbe;margin:0 0 18px;max-width:480px}
.career-context .underlink{font-size:16px}
.career-context .role-facts{display:flex;flex-wrap:wrap;gap:20px 32px;margin:28px 0 0}
.career-context .role-facts>div{display:flex;flex-direction:column;gap:4px}
.career-context .role-facts span{font-size:15px;color:#aeb0b2}
.career-context .role-facts strong,.career-context .role-facts a{font-size:16px;font-weight:500}
.career-application.career-application-wide{display:block;max-width:1000px;padding-bottom:80px}
.career-application-wide .application-panel{width:100%;padding:36px 40px;border-radius:18px}

@media(max-width:1000px){.career-intro{gap:36px;grid-template-columns:1.1fr 1fr}.career-intro-copy>p{font-size:18px}}
@media(max-width:760px){.career-intro{grid-template-columns:1fr;gap:30px;padding-bottom:32px}.career-intro .career-intro-copy h1{font-size:clamp(40px,9vw,54px);margin-bottom:20px}.career-context{padding-top:0}.career-context h2{font-size:24px}.career-context .role-facts{margin-top:22px;gap:16px 28px}.career-application-wide .application-panel{padding:26px 22px;border-radius:14px}.career-application.career-application-wide{padding-bottom:55px}}

/* Keep heading, supporting copy and action together in one vertical stack. */
.section-head{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:22px;text-align:left}
.section-head>div{max-width:840px}
.section-head h2{margin:0}
.section-head>p{max-width:680px;margin:0;line-height:1.75}
.section-head>.underlink{margin:0}
.about-text{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.about-text>h2{max-width:820px;margin:0}
.about-text>div{max-width:780px}
.about-text p{margin:0 0 20px}
.about-text p:last-of-type{margin-bottom:26px}
.audience-body{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.audience-body>h2,.audience-body>div{max-width:800px}
.audience-body>h2{margin:0}
.cta>.wrap{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.cta h2{margin:0}
.cta .button{align-self:auto;margin:0}
.cta .cta-phone{margin:0}
@media(max-width:760px){.section-head{gap:18px}.section-head>p,.section-head>.underlink{margin:0}.about-text,.audience-body{gap:20px}.cta>.wrap{gap:22px}}

/* Career: align the introduction and the padded form to one reading column. */
.subhero.career-intro{display:flex;flex-direction:column;align-items:flex-start;gap:28px;max-width:1000px;padding-top:38px;padding-bottom:40px}
.career-intro .career-intro-copy h1{font-size:clamp(42px,5vw,64px);max-width:850px;margin:0 0 22px}
.career-intro-copy>p{max-width:740px;font-size:19px;line-height:1.7}
.career-intro .career-context{padding:0;width:100%}
.career-intro .role-facts{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:24px;margin:0;padding:24px 0 0;border-top:1px solid #ffffff0e}
.career-context .role-facts>div{min-width:0;gap:7px}
.career-context .role-facts a{overflow-wrap:anywhere}
.career-context .role-facts .underlink{gap:12px;align-self:flex-start}
.career-application-wide .application-panel{padding:0;background:transparent;border-radius:18px}
.career-application-wide #application-form{padding:40px 44px;background:#222326;border-radius:18px;box-shadow:0 16px 42px #0000001f}
#application-form>h2{margin-bottom:12px}
#application-form>p:first-of-type{margin:0 0 24px}
#application-form label{margin-top:18px}
#application-form input,#application-form select,#application-form textarea{max-width:100%;min-width:0}
#application-form .form-row>label{min-width:0}
#application-form .application-submit{margin-top:24px}
@media(max-width:760px){.subhero.career-intro{gap:24px;padding-top:28px;padding-bottom:30px}.career-intro .career-intro-copy h1{font-size:clamp(39px,9vw,52px)}.career-intro-copy>p{font-size:18px}.career-intro .role-facts{grid-template-columns:1fr;gap:20px;padding-top:22px}.career-application-wide #application-form{padding:28px 22px;border-radius:14px}.career-application-wide .application-panel{padding:0}.career-application-wide #application-form>h2{font-size:28px}#application-form .form-row{grid-template-columns:1fr;gap:0}}

/* Shared type scale: equal roles use equal sizes on every public page. */
:root{--mp-title:64px;--mp-section-title:36px;--mp-card-title:24px;--mp-form-title:30px;--mp-lead:18px;--mp-copy:17px}
main h1,main .subhero h1,main .hero-background h1,main .career-intro .career-intro-copy h1{font-size:var(--mp-title);line-height:1.08;letter-spacing:-.045em;font-weight:600}
main h2,main :is(.section-head,.editorial-copy,.region-inner,.about-text,.audience-body,.faq-section,.service-story) h2{font-size:var(--mp-section-title);line-height:1.2;letter-spacing:-.035em;font-weight:600}
main h3,main :is(.audience-grid,.principles,.process-grid,.region-choices,.scope-panel) h3,main .service h3,main .service-deep h2,main .career-context h2{font-size:var(--mp-card-title);line-height:1.3;letter-spacing:-.025em;font-weight:600}
main form h2,main .application-panel form>h2,main .career-application-wide #application-form>h2,main .quote-success h2{font-size:var(--mp-form-title);line-height:1.25;letter-spacing:-.03em}
main .policy h2{font-size:var(--mp-card-title);line-height:1.3}
main .hero-copy>p,main .subhero>p,main .career-intro-copy>p{font-size:var(--mp-lead);line-height:1.7}
main :is(.section-head,.editorial-copy,.region-inner,.service-story,.audience-body,.about-text,.principles,.process-grid,.service,.audience-grid) p{font-size:var(--mp-copy);line-height:1.75}
main .application-panel form>p,main form>p{font-size:var(--mp-copy);line-height:1.7}
@media(max-width:1000px){:root{--mp-title:56px}}
@media(max-width:760px){:root{--mp-title:44px;--mp-section-title:30px;--mp-card-title:22px;--mp-form-title:26px;--mp-lead:18px;--mp-copy:17px}}
@media(max-width:380px){:root{--mp-title:39px}}

/* Stable text metrics and only opacity for text already in the initial viewport. */
html{scrollbar-gutter:stable}
@media(prefers-reduced-motion:no-preference){
.hero-copy>h1,.hero-copy>p,.hero-actions,.subhero h1,.subhero>p,.career-hero .button{animation:none}
.js-motion .reveal{transition:opacity .45s ease,transform .45s ease;transform:translateY(12px)}
.js-motion .reveal.visible{transform:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ox-pitch *{animation:none!important;transition:none!important}}

/* Original certification artwork, kept crisp at its native size. */
.foot-top>div>a.footer-certification{display:inline-flex;align-items:center;margin-top:20px;width:139px;max-width:100%;border-radius:5px;overflow:hidden;transition:opacity .2s}
.footer-certification img{display:block;width:139px;height:64px;object-fit:contain}
.footer-certification:hover{opacity:.85}
main .section-head .certification-copy{max-width:640px;margin:20px 0 0;color:var(--muted);font-size:17px;line-height:1.75}

/* Quote page follows the careers page's reading column and form scale. */
.contact-hero,.contact-overview,.contact-layout.contact-wide{max-width:1000px}
.subhero.contact-hero{padding-top:38px;padding-bottom:28px}
.contact-hero h1{max-width:850px;margin:0 0 22px}
.contact-hero>p{max-width:740px;margin:0;font-size:var(--mp-lead);line-height:1.7}
.contact-overview{padding-bottom:40px}
.contact-overview .contact-info{grid-template-columns:1.1fr 1fr 1fr;gap:24px;padding-top:24px;border-top:1px solid #ffffff0e}
.contact-overview .contact-info a:not(.underlink),.contact-overview .contact-info p{font-family:var(--body);font-size:16px;line-height:1.7;font-weight:500;letter-spacing:normal}
.contact-layout.contact-wide{padding-bottom:80px}
.contact-wide #quote-form{padding:40px 44px;border-radius:18px;background:#222326;box-shadow:0 16px 42px #0000001f}
.contact-wide #quote-form>h2{margin:0 0 12px}
#quote-form .form-row{gap:16px}
#quote-form label{margin-top:18px;min-width:0}
#quote-form input,#quote-form select,#quote-form textarea{min-width:0;max-width:100%}
#quote-form textarea{min-height:0}
@media(max-width:760px){
 .subhero.contact-hero{padding-top:28px;padding-bottom:24px}
 .contact-overview{padding-bottom:30px}
 .contact-overview .contact-info{grid-template-columns:1fr;gap:20px;padding-top:22px}
 .contact-wide #quote-form{padding:28px 22px;border-radius:14px}
 #quote-form .form-row{grid-template-columns:1fr;gap:0}
 .contact-layout.contact-wide{padding-bottom:55px}
}

/* Motion is optional decoration; no scroll state can hide content. */
.reveal,.js-motion .reveal{opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){main *,footer *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Feather the photograph into the page, with a continuous fade behind the text. */
.hero-background .hero-media:after{background:
 linear-gradient(0deg,#161719 0%,rgba(22,23,25,.93) 4%,rgba(22,23,25,.66) 11%,rgba(22,23,25,.25) 23%,rgba(22,23,25,0) 42%),
 linear-gradient(180deg,#161719 0%,rgba(22,23,25,.6) 7%,rgba(22,23,25,0) 24%),
 linear-gradient(90deg,#161719 0%,rgba(22,23,25,.96) 12%,rgba(22,23,25,.87) 27%,rgba(22,23,25,.65) 42%,rgba(22,23,25,.32) 57%,rgba(22,23,25,.07) 74%,rgba(22,23,25,.08) 92%,rgba(22,23,25,.55) 100%)}
@media(max-width:760px){.hero-background .hero-media:after{background:
 linear-gradient(0deg,#161719 0%,rgba(22,23,25,.94) 9%,rgba(22,23,25,.73) 28%,rgba(22,23,25,.34) 55%,rgba(22,23,25,.1) 80%,rgba(22,23,25,.45) 100%),
 linear-gradient(90deg,rgba(22,23,25,.68) 0%,rgba(22,23,25,.43) 45%,rgba(22,23,25,.2) 100%)}}

/* Consistent inset chevron on both native form selects. */
:is(#quote-form,#application-form) select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23d1d2ce' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:16px 16px;background-position:right 16px center;padding-right:48px}
@media(forced-colors:active){:is(#quote-form,#application-form) select{appearance:auto;-webkit-appearance:auto;background-image:none}}

/* Wide, comfortable calls to action on mobile. */
@media(max-width:760px){
 main .button{display:flex;width:100%;max-width:none;min-width:0;min-height:56px;padding:16px 22px;justify-content:space-between;gap:24px}
 main .button>span{flex-shrink:0}
 main .hero-actions,main .form-buttons{width:100%}
}
