@font-face{font-family:Editorial;src:url('/assets/fonts/editorial-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Editorial;src:url('/assets/fonts/editorial-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:MigrifySans;src:url('/assets/fonts/sans-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:MigrifySans;src:url('/assets/fonts/sans-semibold.woff') format('woff');font-style:normal;font-weight:600 800;font-display:swap}

:root{
  --ivory:#f5f1e9;--paper:#eae3d7;--ink:#292820;--muted:#68665d;
  --bronze:#80613b;--light-bronze:#cfb88e;--green:#17241f;--line:#d9d0c0;
  --focus:#80613b;--serif:Editorial,Georgia,serif;--sans:MigrifySans,Arial,sans-serif;
  --gutter:clamp(30px,7.4vw,124px)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:116px}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{border:0;background:none;color:inherit;cursor:pointer}
button:disabled{cursor:default}
/* Focus applies only to the focused element. Never outline whole rows on load. */
:where(button,a,input,textarea,select):focus-visible{outline:2px solid var(--focus);outline-offset:4px}
:where(button,a,input,textarea,select,summary):focus:not(:focus-visible){outline:none}
img{display:block;max-width:100%;height:auto}
p,h1,h2,h3,figure{margin:0}
p{line-height:1.85}
h1,h2,h3,em{font-weight:400}
h1,h2,h3{font-family:var(--serif)}
h1,h2{letter-spacing:-.035em}
h2{font-size:clamp(46px,4.7vw,76px);line-height:1.04;text-wrap:balance}
h2 em{color:var(--bronze)}
svg{display:block}
.icon{display:block;width:21px;height:21px;flex-shrink:0}
[aria-hidden=true]:has(>.icon){display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:fixed;left:16px;top:-100px;padding:14px 22px;background:var(--ivory);color:var(--ink);z-index:100}
.skip-link:focus{top:12px}
.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.section-shell{padding-left:var(--gutter);padding-right:var(--gutter)}
.section-marker{display:flex;gap:27px;align-items:center;margin-bottom:66px}
.section-marker .eyebrow{white-space:nowrap;color:var(--bronze)}
.fine-line{height:1px;flex:1;background:var(--line)}
.text-link{display:inline-flex;align-items:center;gap:25px;padding:10px 0;font-size:12px;font-weight:600;line-height:1.6;border-bottom:1px solid var(--bronze);transition:gap .25s,color .25s}
.text-link .icon{width:18px;height:18px}
.text-link:hover{gap:34px;color:var(--bronze)}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;font-size:12px;font-weight:600;padding:21px 27px;border:1px solid transparent;transition:background .3s,transform .3s,box-shadow .3s;line-height:1.4}
.button:hover{transform:translateY(-2px)}
.button-light{background:linear-gradient(115deg,#e1cfae,#c8ae80);border-color:#e4d2b0;color:#24291f;box-shadow:0 4px 24px #00000012}
.button-light:hover{background:#e9d8b6;box-shadow:0 8px 32px #0003}
.button-dark{background:var(--green);color:var(--ivory)}
.button-dark:hover{background:#344239}

/* A quiet, dark masthead becomes ivory as the reader moves down the page. */
.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 4.4vw 0 3.4vw;gap:24px;position:sticky;top:0;z-index:40;background:var(--green);color:var(--ivory);border-bottom:1px solid #c8b59026;transition:background .35s,color .35s,box-shadow .35s;--focus:var(--light-bronze)}
.brand{display:block;width:253px;flex:none;margin-left:-9px}
.brand img{width:100%;filter:brightness(0) invert(1);transition:filter .3s}
.desktop-nav{display:flex;align-items:center;gap:clamp(20px,2.5vw,40px);margin-left:auto;margin-right:2vw}
.desktop-nav a{font-size:11px;padding:16px 0;position:relative;letter-spacing:.015em}
.desktop-nav a:after{content:'';height:1px;background:var(--light-bronze);position:absolute;left:0;right:0;bottom:9px;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.desktop-nav a:hover:after{transform:scaleX(1)}
.header-cta{font-size:11px;font-weight:600;border:1px solid #ceba923d;padding:15px 21px;display:flex;align-items:center;gap:28px;white-space:nowrap;transition:background .3s,color .3s}
.header-cta .icon{width:17px;height:17px;color:var(--light-bronze)}
.header-cta:hover{background:var(--light-bronze);color:var(--green)}
.header-cta:hover .icon{color:var(--green)}
.site-header.is-scrolled{background:#f5f1e9fa;color:var(--ink);border-bottom-color:var(--line);box-shadow:0 4px 24px #181c1708;--focus:var(--bronze)}
.site-header.is-scrolled .brand img{filter:none}
.site-header.is-scrolled .header-cta{border-color:var(--line)}
.site-header.is-scrolled .header-cta .icon{color:var(--bronze)}
.site-header.is-scrolled .desktop-nav a:after{background:var(--bronze)}
.menu-toggle{display:none}

/* Cinematic architecture, generous typography, and a single metallic accent. */
.hero{margin:0;min-height:720px;height:min(870px,calc(100svh - 104px));position:relative;background:var(--green);overflow:hidden;color:var(--ivory);isolation:isolate;--focus:var(--light-bronze)}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 52%;z-index:-3;animation:hero-settle 2s ease-out both}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102019e8 0%,#102019c2 26%,#101b1540 62%,#101b1508 100%),linear-gradient(0deg,#101b15b3,transparent 40%);z-index:-2}
.hero-inner{padding:100px var(--gutter) 146px;max-width:1060px}
.hero-eyebrow{display:flex;align-items:center;gap:18px;color:#dacbab;font-size:9px;letter-spacing:.22em;animation:hero-copy-in 1s ease-out both}
.small-line{height:1px;width:38px;background:var(--light-bronze)}
.hero h1{font-size:clamp(91px,8.35vw,136px);line-height:.97;margin:39px 0 31px;letter-spacing:-.04em;animation:hero-copy-in 1s .1s ease-out both}
.hero h1 em{color:#ddc69b}
.hero-copy{font-size:14px;line-height:1.85;letter-spacing:.005em;color:#dedfd3;margin-bottom:37px;animation:hero-copy-in 1s .2s ease-out both}
.hero-actions{display:flex;align-items:center;gap:34px;animation:hero-copy-in 1s .25s ease-out both}
.hero-secondary{font-size:11px;display:inline-flex;align-items:center;gap:16px;padding:15px 0;color:#e3dccf;border-bottom:1px solid #d3bc913d;transition:border-color .3s,color .3s}
.hero-secondary .icon{width:17px;height:17px}
.hero-secondary:hover{color:var(--light-bronze);border-color:var(--light-bronze)}
.hero-base{position:absolute;left:var(--gutter);right:var(--gutter);bottom:31px;display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid #e7d2ad36;gap:30px}
.hero-base p{font-size:8px;letter-spacing:.24em;color:#d6ccb8}
.hero-base a{display:flex;align-items:center;gap:20px;font-size:10px}
.hero-base .scroll-arrow{border:1px solid #e5d9bd66;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;transition:background .3s,color .3s}
.scroll-arrow .icon{width:17px;height:17px}
.hero-base a:hover .scroll-arrow{background:var(--ivory);color:var(--ink)}
.hero-vertical{position:absolute;right:27px;top:34%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.25em;color:#ddd1bd}

.perspective{padding-top:125px;padding-bottom:50px}
.perspective-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8.5vw}
.perspective h2{font-size:clamp(47px,4.6vw,74px)}
.perspective-copy .lead{font-size:18px;line-height:1.6;color:var(--ink);margin:3px 0 26px}
.perspective-copy p{color:var(--muted);font-size:14px;max-width:500px;margin-bottom:19px;line-height:1.9}
.perspective-copy .text-link{margin-top:10px}
.values-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:86px;padding:28px 0}
.values-strip span{font-size:10px;letter-spacing:.04em;display:flex;align-items:center;gap:14px}
.values-strip span:before{content:'';width:5px;height:5px;border:1px solid var(--bronze);transform:rotate(45deg);flex-shrink:0}

/* The portrait is an editorial image, not a framed card. */
.expertise{padding-top:67px;padding-bottom:125px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:64px}
.section-heading>p{max-width:360px;font-size:14px;color:var(--muted);padding-bottom:5px;line-height:1.85}
.expertise-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:6.5vw;align-items:start}
.expertise-aside{min-width:0}
.expertise-portrait{position:relative;aspect-ratio:3/4.25;overflow:hidden;background:#594b36;isolation:isolate}
.expertise-portrait img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.3,1)}
.expertise-portrait:hover img{transform:scale(1.035)}
.expertise-portrait:after{content:'';position:absolute;inset:40% 0 0;z-index:0;background:linear-gradient(0deg,#19231dec,transparent)}
.expertise-portrait figcaption{position:absolute;left:29px;right:24px;bottom:34px;z-index:1;color:var(--ivory)}
.portrait-eyebrow{display:block;font-size:7px;letter-spacing:.21em;text-transform:uppercase;color:#ddc99e;margin-bottom:20px}
.expertise-portrait p{font-family:var(--serif);font-size:34px;letter-spacing:-.02em;line-height:1.05}
.expertise-caption{display:flex;justify-content:space-between;gap:15px;margin-top:18px;font-size:8px;letter-spacing:.04em;color:var(--muted)}
.expertise-caption span:last-child{color:var(--bronze);white-space:nowrap}
.service{border-top:1px solid var(--line)}
.service:last-child{border-bottom:1px solid var(--line)}
.service summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:22px;padding:29px 0;position:relative}
.service summary::-webkit-details-marker{display:none}
.service summary::marker{content:''}
.service-number{color:var(--bronze);font-size:10px;flex-shrink:0;width:20px}
.service h3{font-size:clamp(28px,2.6vw,40px);letter-spacing:-.025em;line-height:1.18;margin:0;transition:color .25s}
.expand-icon{width:31px;height:31px;margin-left:auto;position:relative;border:1px solid #c6b89f;border-radius:50%;flex:none;transition:background .25s,border-color .25s,box-shadow .25s}
.expand-icon:before,.expand-icon:after{content:'';position:absolute;background:var(--bronze);top:14px;left:10px;height:1px;width:9px;transition:transform .25s,background .25s}
.expand-icon:after{transform:rotate(90deg)}
.service[open] .expand-icon:after{transform:rotate(0)}
.service[open] .expand-icon{background:var(--green);border-color:var(--green)}
.service[open] .expand-icon:before,.service[open] .expand-icon:after{background:var(--light-bronze)}
.service summary:hover h3{color:var(--bronze)}
/* A small, contained ring gives keyboard users a visible control without covering copy. */
.service summary:focus-visible{outline:none}
.service summary:focus-visible .expand-icon{box-shadow:0 0 0 3px var(--ivory),0 0 0 5px var(--bronze)}
.service-body{padding:5px 39px 35px 42px;max-width:760px}
.service-body>p{color:var(--muted);font-size:13px;line-height:1.9}
.service-body ul{list-style:none;padding:0;margin:25px 0 23px;display:grid;gap:13px}
.service-body li{padding-left:17px;position:relative;font-size:12px;line-height:1.65}
.service-body li:before{content:'';width:5px;height:1px;background:var(--bronze);position:absolute;top:10px;left:0}
.service-body .service-note{font-size:11px;line-height:1.8;margin-bottom:16px}
.service-body .text-link{font-size:11px}
.mobile-break{display:none}

/* Deep forest and bronze give the international section a distinct character. */
.international{background:radial-gradient(ellipse at 80% 8%,#34413666,transparent 60%),var(--green);color:var(--ivory);overflow:hidden;--focus:var(--light-bronze)}
.international-top{padding-top:82px;padding-bottom:83px}
.international .fine-line{background:#dfd0b52e}
.international .section-marker{margin-bottom:64px}
.international .section-marker .eyebrow{color:var(--light-bronze)}
.international .section-side-note{font-size:8px;color:#bdbbaa}
.international-intro{display:grid;grid-template-columns:1.35fr .65fr;position:relative;align-items:center;gap:50px;min-height:340px}
.international h2{font-size:clamp(52px,5.55vw,88px);line-height:1.01;position:relative;z-index:1}
.international h2 em{color:#cfb88e}
.international-intro p{font-size:14px;color:#c4c7ba;max-width:445px;margin-top:33px;line-height:1.9}
.world-art{position:relative;max-width:350px;justify-self:center;width:100%;color:#c4b18c;margin-top:-32px}
.world-art:before{content:'';position:absolute;inset:9%;border-radius:50%;background:radial-gradient(circle at 30% 25%,#cbb38112,transparent 65%);box-shadow:18px 20px 55px #030b0733}
.world-sphere{width:100%;transform:rotate(-17deg);opacity:.8}
.world-orbit{position:absolute;inset:45% -13%;border:1px solid #c6ae8340;border-radius:50%;transform:rotate(-32deg);height:55px}
.world-caption{display:block;text-align:center;font-size:7px;letter-spacing:.2em;margin-top:8px;color:#b1b19f}
.pathway-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:58px;border-bottom:1px solid #c6ae8340;gap:36px}
.pathway-tabs button{padding:26px 0;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;line-height:1.55;color:#afb9a9;position:relative;transition:color .25s}
.pathway-tabs button .icon{width:19px;height:19px;opacity:.5}
.pathway-tabs button[aria-selected=true]{color:var(--ivory)}
.pathway-tabs button[aria-selected=true]:after{content:'';position:absolute;height:2px;background:var(--light-bronze);bottom:-1px;left:0;right:0}
.pathway-tabs button[aria-selected=true] .icon{opacity:1;color:var(--light-bronze)}
.pathway-tabs button:hover{color:var(--ivory)}
.pathway-tabs button:focus-visible{outline-offset:-5px;border-radius:2px}
.pathway-panel{padding:47px 0 3px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;min-height:305px}
.pathway-panel .eyebrow{color:var(--light-bronze);font-size:8px;margin-bottom:20px}
.pathway-panel h3{font-size:40px;letter-spacing:-.025em;line-height:1.1}
.pathway-panel>div>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#c3c8bb}
.pathway-tags{display:flex;gap:11px;flex-wrap:wrap;margin:23px 0 20px}
.pathway-tags span{padding:8px 11px;border:1px solid #c6ae8336;font-size:8px;color:#ded9c8}
.international .text-link{border-color:#bda57c7d;font-size:11px}
.international .text-link:hover{color:#e5caa1}

.approach{padding-top:122px;padding-bottom:112px}
.approach-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:7.5vw}
.approach h2{font-size:clamp(46px,4.3vw,68px)}
.approach-intro>p{max-width:365px;font-size:14px;color:var(--muted);margin:31px 0 25px}
.approach-intro .text-link{font-size:12px}
.process{list-style:none;padding:0;margin:0}
.process li{display:grid;grid-template-columns:30px 1fr;gap:25px;padding:0 0 33px;border-bottom:1px solid var(--line);margin-bottom:31px}
.process li:last-child{margin-bottom:0}
.process-number{font-size:10px;color:var(--bronze);padding-top:10px}
.process h3{font-size:34px;line-height:1.15;margin-bottom:15px;letter-spacing:-.015em}
.process p{font-size:13px;color:var(--muted);max-width:470px;line-height:1.9}

.clients{background:linear-gradient(120deg,#e8e0d3,#efe9de);padding-top:73px;padding-bottom:79px}
.clients-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:60px;margin-bottom:58px}
.clients-intro .eyebrow{color:var(--bronze);font-size:9px;padding-top:8px}
.clients h2{font-size:clamp(44px,4.05vw,63px);width:65%;line-height:1.07}
.client-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.client-groups article{border-top:1px solid #bfae91;padding-top:25px;display:grid;grid-template-columns:25px 1fr;gap:0 15px}
.client-index{font-size:10px;color:var(--bronze);letter-spacing:.1em;padding-top:7px}
.client-groups h3{font-size:34px;line-height:1.07;letter-spacing:-.015em;margin:0 0 22px}
.client-groups p{grid-column:2;font-size:13px;color:#656055;line-height:1.9;max-width:320px}

.contact{position:relative;isolation:isolate;overflow:hidden;background:#1c2b24;color:var(--ivory);padding-top:91px;padding-bottom:86px;--focus:var(--light-bronze)}
.contact:before{content:'';position:absolute;z-index:-1;top:-260px;right:-190px;width:690px;height:690px;border-radius:50%;border:1px solid #d4b98b14;box-shadow:0 0 0 65px #d4b98b04,0 0 0 130px #d4b98b03;pointer-events:none}
.contact-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:49px;gap:30px}
.contact-top .eyebrow{color:var(--light-bronze);font-size:9px}
.contact-top .eyebrow:first-child{display:flex;gap:14px;align-items:center}
.status-dot{height:5px;width:5px;background:var(--light-bronze);border-radius:50%;box-shadow:0 0 0 5px #cbb58c0d}
.contact-main{display:flex;justify-content:space-between;align-items:center;gap:42px}
.contact h2{font-size:clamp(59px,6.4vw,105px);line-height:1.01;max-width:1000px}
.contact h2 em{color:var(--light-bronze)}
.round-cta{border:1px solid #cdb88d80;width:123px;height:123px;flex:none;border-radius:50%;display:grid;place-items:center;transition:background .35s,color .35s,transform .35s;margin-right:4px;background:linear-gradient(130deg,#e4c8960c,transparent)}
.round-cta .icon{width:44px;height:44px;color:var(--light-bronze);stroke-width:.8}
.round-cta:hover{background:var(--light-bronze);transform:rotate(6deg)}
.round-cta:hover .icon{color:var(--green)}
.round-cta:focus-visible{outline-offset:6px}
.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:47px;gap:35px}
.contact-bottom>p{font-size:13px;color:#bdc4b6}
.contact-email{font-family:var(--serif);font-size:36px;display:flex;gap:45px;align-items:center;padding-bottom:13px;border-bottom:1px solid #c7b4925c;transition:color .25s}
.contact-email .icon{width:24px;height:24px;color:var(--light-bronze)}
.contact-email:hover{color:var(--light-bronze)}
.contact-builder{display:flex;align-items:center;gap:14px;font-size:10px;color:#bac2b3;padding:16px 0 0;text-align:left}
.contact-builder .icon{width:15px;height:15px}
.contact-builder:hover{color:var(--light-bronze)}

.site-footer{background:#142019;color:var(--ivory);padding-top:38px;padding-bottom:28px;--focus:var(--light-bronze)}
.footer-main{display:flex;align-items:center;gap:40px;padding-bottom:37px}
.footer-brand{width:231px;margin-left:-19px}
.footer-brand img{filter:brightness(0) invert(1);opacity:.9}
.footer-main>p{font-family:var(--serif);font-size:23px;font-style:italic;color:#c4bdad}
.back-top{margin-left:auto;font-size:10px;display:flex;align-items:center;gap:18px;color:#c6bfaf}
.back-top .icon{width:18px;height:18px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #f5f1e91f;padding-top:26px;font-size:9px;letter-spacing:.025em;color:#b2b5a6}
.footer-bottom>div{display:flex;gap:27px}
.footer-bottom button{font-size:9px;padding:4px 0}
.footer-bottom button:hover,.back-top:hover{color:white}

/* Dialogs and form controls keep all focus treatments within a comfortable margin. */
dialog{border:1px solid #d5c5a9;background:var(--ivory);color:var(--ink);padding:0;max-height:92svh;max-width:calc(100vw - 28px);box-shadow:0 30px 120px #0005;--focus:var(--bronze)}
dialog::backdrop{background:#101c18c4;backdrop-filter:blur(7px)}
.enquiry-dialog{width:680px}
.info-dialog{width:640px}
.dialog-content{padding:50px}
.dialog-content>.eyebrow{color:var(--bronze);font-size:8px;margin-bottom:26px}
.dialog-content h2{font-size:63px;line-height:1}
.dialog-intro{font-size:13px;color:var(--muted);margin:20px 0 27px}
.dialog-close{position:absolute;right:18px;top:13px;font-family:Arial,sans-serif;font-size:28px;line-height:1;width:35px;height:35px;border-radius:50%;display:grid;place-items:center}
.dialog-close:hover{color:var(--bronze);background:#dfd6c644}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.field{margin-bottom:20px}
.field label{display:block;font-size:11px;margin-bottom:9px;font-weight:600}
.field label span{font-size:10px;font-weight:400;color:var(--muted)}
.field input,.field textarea,.field select{width:100%;border:1px solid #cfc5b5;background:#ffffff54;color:var(--ink);padding:13px;border-radius:0;font-size:14px;line-height:1.6;min-height:47px}
.field textarea{resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--bronze)}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline-offset:2px;outline-width:1px}
.field input::placeholder,.field textarea::placeholder{color:#777266}
.form-note{font-size:11px;line-height:1.75;color:var(--muted);margin-bottom:24px}
.enquiry-dialog .button{width:100%}
.draft-result{margin-top:19px;padding:17px;background:var(--paper)}
.draft-result p{font-size:12px}
.draft-result .text-link{font-size:11px}
.draft-result textarea{width:100%;margin-top:12px;font-size:12px;line-height:1.6;background:var(--ivory);border:1px solid var(--line);padding:12px}
.info-dialog h2{font-size:51px;margin-bottom:27px}
.info-dialog .dialog-content>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:19px}
.info-dialog a{color:var(--bronze);text-decoration:underline;text-underline-offset:4px}

@keyframes hero-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes hero-copy-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

@media(min-width:1650px){
  .section-shell{padding-left:max(124px,calc((100vw - 1370px)/2));padding-right:max(124px,calc((100vw - 1370px)/2))}
  .hero-inner{padding-left:max(124px,calc((100vw - 1370px)/2));max-width:none}
  .hero-base{left:max(124px,calc((100vw - 1370px)/2));right:max(124px,calc((100vw - 1370px)/2))}
  .site-header{padding-left:max(45px,calc((100vw - 1520px)/2));padding-right:max(45px,calc((100vw - 1520px)/2))}
}
@media(max-width:1150px){
  :root{--gutter:52px}
  .site-header{height:96px;padding-left:25px;padding-right:30px;gap:20px}
  .brand{width:220px}
  .desktop-nav{gap:24px;margin-right:10px}
  .desktop-nav a{font-size:10px}
  .header-cta{padding:14px 17px;gap:21px;font-size:10px}
  .hero{min-height:710px;height:calc(100svh - 96px);max-height:850px}
  .hero-inner{padding-top:105px}
  .hero h1{font-size:105px}
  .hero-copy{font-size:13px}
  .perspective{padding-top:100px}
  .perspective-grid{gap:56px}
  .perspective h2{font-size:57px}
  .perspective-copy .lead{font-size:17px}
  .perspective-copy p{font-size:13px}
  .values-strip{margin-top:67px}
  .expertise{padding-bottom:95px}
  .section-heading h2{font-size:64px}
  .section-heading>p{max-width:320px;font-size:13px}
  .expertise-layout{grid-template-columns:.76fr 1.5fr;gap:48px}
  .expertise-portrait{aspect-ratio:3/4.7}
  .expertise-portrait figcaption{left:22px;bottom:28px}
  .expertise-portrait p{font-size:28px}
  .expertise-caption{font-size:7px;line-height:1.7}
  .service h3{font-size:31px}
  .service summary{gap:15px;padding:27px 0}
  .service-body{padding-left:35px;padding-right:15px}
  .service-body>p{font-size:12px}
  .service-body li{font-size:11px}
  .international h2{font-size:65px}
  .world-art{max-width:280px}
  .international-intro{gap:30px;min-height:315px}
  .international-intro p{font-size:13px}
  .pathway-panel h3{font-size:36px}
  .approach{padding-top:100px;padding-bottom:95px}
  .approach h2{font-size:54px}
  .approach-grid{gap:55px}
  .approach-intro>p{font-size:13px}
  .process h3{font-size:30px}
  .process p{font-size:12px}
  .clients h2{font-size:52px}
  .client-groups{gap:35px}
  .client-groups h3{font-size:30px}
  .client-groups p{font-size:12px}
  .contact h2{font-size:81px}
  .round-cta{width:104px;height:104px}
  .contact-email{font-size:33px}
}
@media(max-width:900px){
  :root{--gutter:36px}
  html{scroll-padding-top:100px}
  .site-header{height:86px;padding:0 29px 0 22px}
  .brand{width:219px}
  .desktop-nav{display:none}
  .header-cta{margin-left:auto;margin-right:4px}
  .menu-toggle{display:grid;place-items:center;width:33px;height:43px;padding:0;color:inherit}
  .menu-lines,.menu-lines:after{height:1px;width:24px;background:currentColor;display:block;position:relative;transition:transform .25s}
  .menu-lines{transform:translateY(-4px)}
  .menu-lines:after{content:'';position:absolute;top:8px;left:0}
  .menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-lines:after{top:0;transform:rotate(-90deg)}
  .mobile-nav{position:absolute;top:85px;left:0;right:0;padding:20px 36px 35px;background:var(--ivory);color:var(--ink);box-shadow:0 15px 30px #17231f1f;--focus:var(--bronze)}
  .mobile-nav a{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:29px;border-bottom:1px solid var(--line);padding:16px 0}
  .mobile-nav a>span{font-family:var(--sans);font-size:10px;color:var(--bronze)}
  .mobile-nav .icon{width:19px;height:19px}
  .hero{height:calc(100svh - 86px);min-height:690px;max-height:820px}
  .hero-inner{padding-top:105px;max-width:850px}
  .hero h1{font-size:clamp(76px,11.6vw,98px)}
  .hero-eyebrow{font-size:8px}
  .hero-shade{background:linear-gradient(90deg,#102019e3,#1020199c 50%,#10201920),linear-gradient(0deg,#101b159c,transparent 60%)}
  .hero-actions{gap:27px}
  .hero .button{font-size:11px;padding:20px 23px;gap:29px}
  .hero-secondary{font-size:10px;gap:13px}
  .hero-vertical{right:18px;font-size:7px}
  .perspective{padding-top:80px;padding-bottom:32px}
  .section-marker{margin-bottom:47px}
  .perspective-grid{grid-template-columns:1fr;gap:35px}
  .perspective h2{font-size:65px;max-width:620px}
  .perspective-copy{max-width:555px;margin-left:auto;width:85%}
  .perspective-copy .lead{font-size:18px}
  .perspective-copy p{font-size:14px}
  .values-strip{margin-top:54px;grid-template-columns:repeat(2,1fr);row-gap:20px}
  .values-strip span{font-size:10px}
  .expertise{padding-top:49px;padding-bottom:82px}
  .section-heading{gap:35px;margin-bottom:47px}
  .section-heading h2{font-size:61px}
  .section-heading>p{max-width:290px;font-size:12px}
  .expertise-layout{grid-template-columns:.73fr 1.4fr;gap:31px}
  .expertise-portrait{aspect-ratio:3/5.2}
  .expertise-portrait figcaption{left:19px;right:15px;bottom:25px}
  .portrait-eyebrow{font-size:6px;margin-bottom:15px}
  .expertise-portrait p{font-size:26px}
  .expertise-caption{display:block;font-size:8px}
  .expertise-caption span:last-child{display:none}
  .service summary{gap:11px;padding:24px 0}
  .service-number{font-size:9px;width:16px;align-self:flex-start;margin-top:7px}
  .service h3{font-size:28px}
  .expand-icon{width:26px;height:26px}
  .expand-icon:before,.expand-icon:after{top:11px;left:8px;width:8px}
  .service-body{padding-left:27px;padding-right:5px;padding-bottom:29px}
  .service-body>p{font-size:12px}
  .service-body li{font-size:11px}
  .service-body .text-link{font-size:10px;gap:17px}
  .international-top{padding-top:62px;padding-bottom:58px}
  .international .section-marker{margin-bottom:50px}
  .section-side-note{display:none}
  .international-intro{grid-template-columns:1.4fr .6fr;gap:12px;min-height:305px}
  .international h2{font-size:61px}
  .world-art{max-width:235px;align-self:center;margin-top:-10px;margin-right:-25px}
  .world-caption{font-size:6px}
  .international-intro p{font-size:13px;max-width:390px}
  .pathway-tabs{gap:24px;margin-top:39px}
  .pathway-tabs button{font-size:11px}
  .pathway-panel{gap:43px;min-height:330px;padding-top:38px}
  .pathway-panel h3{font-size:34px}
  .pathway-panel>div>p:not(.eyebrow){font-size:12px}
  .pathway-tags{gap:8px}
  .pathway-tags span{font-size:7px}
  .international .text-link{font-size:10px}
  .approach{padding-top:84px;padding-bottom:80px}
  .approach-grid{grid-template-columns:1fr;gap:49px}
  .approach h2{font-size:64px}
  .approach-intro>p{max-width:460px;font-size:14px}
  .process{width:85%;margin-left:auto}
  .process h3{font-size:34px}
  .process p{font-size:13px}
  .clients{padding-top:60px;padding-bottom:62px}
  .clients-intro{gap:35px;margin-bottom:46px}
  .clients h2{font-size:46px}
  .client-groups{gap:27px}
  .client-groups article{display:block;padding-top:21px}
  .client-index{display:block;margin-bottom:23px;padding-top:0}
  .client-groups h3{font-size:29px;margin-bottom:20px}
  .client-groups p{font-size:12px}
  .contact{padding-top:68px;padding-bottom:64px}
  .contact h2{font-size:69px}
  .round-cta{width:88px;height:88px}
  .round-cta .icon{width:34px;height:34px}
  .contact-bottom{margin-top:37px}
  .contact-bottom>p{font-size:12px}
  .contact-email{font-size:31px;gap:24px}
  .contact-builder{font-size:9px}
  .footer-main{gap:23px}
  .footer-brand{width:208px;margin-left:-17px}
  .footer-main>p{font-size:21px}
}
@media(max-width:640px){
  :root{--gutter:26px}
  html{scroll-padding-top:95px}
  .site-header{height:82px;padding-left:13px;padding-right:23px;gap:13px}
  .brand{width:190px;margin-left:-7px}
  .header-cta{padding:12px 14px;gap:18px;font-size:10px;margin-right:4px}
  .header-cta .icon{width:15px;height:15px}
  .mobile-nav{top:81px;padding:15px 26px 31px}
  .mobile-nav a{font-size:28px}
  .hero{min-height:685px;height:calc(100svh - 82px);max-height:820px}
  .hero-inner{padding:90px var(--gutter) 145px}
  .hero h1{font-size:clamp(45px,14.2vw,87px);line-height:1.01;margin:36px 0 28px;letter-spacing:-.045em}
  .hero-eyebrow{font-size:8px;letter-spacing:.16em;gap:13px}
  .small-line{width:23px}
  .hero-copy{font-size:12px;line-height:1.85;margin-bottom:32px;max-width:360px}
  .hero-actions{align-items:flex-start;gap:20px;flex-direction:column}
  .hero .button{font-size:11px;padding:19px 24px;gap:35px}
  .hero-secondary{font-size:10px;padding:5px 0 10px;gap:19px}
  .hero-base{bottom:25px;padding-top:20px;gap:20px}
  .hero-base p{font-size:7px;letter-spacing:.15em;max-width:270px}
  .hero-base a{gap:12px;font-size:8px}
  .hero-base a>span:first-child{display:none}
  .hero-vertical{display:none}
  .hero-image{object-position:64% 50%}
  .hero-shade{background:linear-gradient(90deg,#102019df 0%,#10201991 70%,#10201945),linear-gradient(0deg,#101b15bb,transparent 70%)}
  .section-marker{gap:19px;margin-bottom:39px}
  .section-marker .eyebrow{font-size:8px}
  .perspective{padding-top:71px}
  .perspective h2{font-size:clamp(45px,10.6vw,61px);line-height:1.04;max-width:520px}
  .perspective h2 br{display:none}
  .perspective-grid{gap:31px}
  .perspective-copy{width:100%;margin:0}
  .perspective-copy .lead{font-size:17px;margin-bottom:23px}
  .perspective-copy p{font-size:13px;line-height:1.9}
  .text-link{font-size:11px}
  .values-strip{gap:21px 17px;margin-top:39px;padding:26px 0}
  .values-strip span{font-size:9px;gap:11px;letter-spacing:0}
  .values-strip span:before{width:4px;height:4px}
  .expertise{padding-top:38px;padding-bottom:70px}
  .section-heading{display:block;margin-bottom:37px}
  .section-heading h2{font-size:59px}
  .section-heading>p{max-width:100%;margin-top:25px;font-size:13px}
  .expertise-layout{grid-template-columns:1fr;gap:37px}
  .expertise-aside{max-width:none}
  .expertise-portrait{aspect-ratio:4/3;max-height:400px}
  .expertise-portrait img{object-position:50% 57%}
  .expertise-portrait figcaption{left:26px;bottom:28px;right:24px}
  .portrait-eyebrow{font-size:7px;margin-bottom:17px}
  .expertise-portrait p{font-size:34px}
  .expertise-caption{display:flex;font-size:8px;margin-top:16px}
  .expertise-caption span:last-child{display:inline}
  .service summary{gap:15px;padding:25px 0}
  .service-number{font-size:9px;width:17px;margin-top:9px}
  .service h3{font-size:32px;line-height:1.13;letter-spacing:-.025em}
  .mobile-break{display:initial}
  .expand-icon{width:29px;height:29px}
  .expand-icon:before,.expand-icon:after{top:13px;left:9px;width:9px}
  .service-body{padding:5px 9px 32px 32px}
  .service-body>p{font-size:13px;line-height:1.9}
  .service-body ul{gap:14px;margin:24px 0 21px}
  .service-body li{font-size:12px}
  .service-body .service-note{font-size:11px}
  .service-body .text-link{font-size:11px}
  .international-top{padding-top:56px;padding-bottom:53px}
  .international .section-marker{margin-bottom:44px}
  .international-intro{display:block;min-height:0;position:relative}
  .international h2{font-size:clamp(44px,10.9vw,62px);position:relative;z-index:1}
  .international-intro p{font-size:13px;margin-top:29px;max-width:90%;position:relative;z-index:1}
  .world-art{position:absolute;width:245px;right:-120px;top:20px;opacity:.14;z-index:0;pointer-events:none;margin:0;max-width:none}
  .world-caption{display:none}
  .pathway-tabs{margin-top:41px;gap:18px}
  .pathway-tabs button{padding:18px 0;font-size:10px;line-height:1.65;display:block}
  .pathway-tabs button>span[aria-hidden=true]{display:none}
  .pathway-tabs button:focus-visible{outline-offset:-2px}
  .pathway-panel{display:block;padding-top:37px;min-height:420px}
  .pathway-panel .eyebrow{font-size:8px;margin-bottom:16px}
  .pathway-panel h3{font-size:37px;margin-bottom:26px}
  .pathway-panel>div>p:not(.eyebrow){font-size:13px;max-width:460px}
  .pathway-tags{margin:21px 0 17px;gap:8px}
  .pathway-tags span{font-size:8px;padding:7px 9px}
  .international .text-link{font-size:11px;gap:17px}
  .approach{padding-top:73px;padding-bottom:70px}
  .approach-grid{gap:43px}
  .approach h2{font-size:clamp(44px,10.6vw,59px)}
  .approach-intro>p{font-size:13px;margin:26px 0 21px}
  .approach-intro .text-link{font-size:11px}
  .process{width:100%;margin:0}
  .process li{gap:17px;grid-template-columns:24px 1fr;padding-bottom:29px;margin-bottom:29px}
  .process h3{font-size:31px;margin-bottom:14px}
  .process p{font-size:13px}
  .clients{padding-top:55px;padding-bottom:56px}
  .clients-intro{display:block;margin-bottom:38px}
  .clients-intro .eyebrow{font-size:8px;padding-top:0;margin-bottom:24px}
  .clients h2{font-size:46px;width:100%;max-width:480px}
  .client-groups{grid-template-columns:1fr;gap:30px}
  .client-groups article{display:grid;grid-template-columns:24px 1fr;gap:0 16px;padding-top:25px}
  .client-index{padding-top:7px;margin-bottom:0;font-size:9px}
  .client-groups h3{font-size:31px;margin:0 0 16px}
  .client-groups h3 br{display:none}
  .client-groups p{grid-column:2;max-width:420px;font-size:13px}
  .contact{padding-top:57px;padding-bottom:58px}
  .contact-top{margin-bottom:39px;gap:20px}
  .contact-top .eyebrow{font-size:8px}
  .contact-main{gap:18px;align-items:flex-start}
  .contact h2{font-size:clamp(43px,10.8vw,62px)}
  .contact h2 br{display:none}
  .round-cta{width:58px;height:58px;margin-top:8px;margin-right:0}
  .round-cta .icon{width:26px;height:26px;stroke-width:1.1}
  .contact-bottom{display:block;margin-top:30px}
  .contact-bottom>p{font-size:13px;margin-bottom:29px}
  .contact-email{font-size:34px;max-width:400px;justify-content:space-between}
  .contact-builder{font-size:10px;margin-top:3px}
  .site-footer{padding-top:27px;padding-bottom:27px}
  .footer-main{display:flex;flex-wrap:wrap;gap:0;padding-bottom:32px}
  .footer-brand{width:210px;margin-left:-18px}
  .footer-main>p{order:3;width:100%;font-size:22px;margin-top:3px}
  .back-top{margin-left:auto;font-size:9px;gap:14px}
  .footer-bottom{display:grid;grid-template-columns:1fr auto;gap:19px 20px;padding-top:24px;font-size:8px}
  .footer-bottom>div{grid-column:1/-1;gap:26px}
  .footer-bottom button{font-size:9px}
  .dialog-content{padding:44px 25px 33px}
  .dialog-content h2{font-size:55px}
  .dialog-content>.eyebrow{font-size:7px;max-width:240px}
  .dialog-intro{font-size:12px}
  .form-row{grid-template-columns:1fr;gap:0}
  .field input,.field textarea,.field select{font-size:16px}
  .field label{font-size:11px}
  .field label span{font-size:10px}
  .enquiry-dialog .button{font-size:12px}
  .info-dialog h2{font-size:46px}
  .info-dialog .dialog-content>p:not(.eyebrow){font-size:12px}
}
@media(max-width:380px){
  :root{--gutter:22px}
  .site-header{padding-right:18px;gap:9px}
  .brand{width:clamp(150px,44vw,166px)}
  .header-cta{gap:13px;padding:11px;font-size:9px}
  .hero-eyebrow{font-size:7px}
  .service h3{font-size:29px}
  .service summary{gap:12px}
  .service-body{padding-left:29px}
  .contact h2{font-size:43px}
  .round-cta{width:50px;height:50px}
  .client-groups h3{font-size:29px}
  .footer-brand{width:188px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
}
