@charset "UTF-8";
:root{--navy:#18233f;--orange:#e8752b;--orange-text:#b44e12;--focus:#b44e12;--paper:#f4f5f7;--ink:#18233f;--muted:#5b6478;--line:#dce0e7;--white:#fff;--header-height:88px;--page-gutter:clamp(24px,6vw,100px);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open,body.dialog-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}img{max-width:100%;display:block}button{border:0}p{margin:0 0 1.2em}h1,h2,h3{font-weight:700;letter-spacing:-.055em;line-height:1.05;margin:0}h2{font-size:clamp(42px,5.6vw,84px)}h3{font-size:clamp(28px,3vw,44px)}::selection{background:var(--orange);color:white}a,button,summary{touch-action:manipulation}[hidden]{display:none!important}.skip-link{position:fixed;top:12px;inset-inline-start:12px;padding:10px 20px;z-index:300;background:white;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:201;pointer-events:none}.scroll-progress span{display:block;width:100%;height:100%;background:var(--orange);transform-origin:left;transform:scaleX(0)}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--page-gutter);background:rgba(255,255,255,.98);border-bottom:1px solid rgba(24,35,63,.08);gap:36px;transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 5px 28px #18233f0a}.brand{width:140px;flex-shrink:0}.brand img{width:100%;height:auto}.desktop-nav{display:flex;gap:clamp(22px,2.8vw,44px);font-size:13px;font-weight:600}.desktop-nav a{position:relative;padding:12px 0;white-space:nowrap}.desktop-nav a:after{content:"";position:absolute;inset-inline-start:0;bottom:6px;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after,.desktop-nav a.active:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:24px}.language-button{background:none;color:var(--ink);font-size:14px;padding:10px 0;white-space:nowrap}.header-contact{display:flex;gap:18px;align-items:center;font-size:13px;font-weight:600;white-space:nowrap}.arrow{font-size:26px;line-height:1;display:inline-block;transition:transform .3s}.header-contact:hover .arrow,.button:hover .arrow,.contact-email:hover .arrow{transform:translate(3px,-3px)}.menu-button{display:none;background:none;padding:10px;width:42px;height:40px;position:relative}.menu-button span{display:block;height:2px;background:var(--navy);margin:6px 0;transition:transform .3s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;inset:var(--header-height) 0 0;background:var(--navy);color:white;z-index:99;padding:48px var(--page-gutter);display:flex;flex-direction:column;justify-content:space-between}.mobile-menu nav{display:flex;flex-direction:column;gap:26px;font-size:clamp(28px,5vw,48px);font-weight:700;line-height:1.2}.mobile-menu-tag{font-size:18px;color:#b5bdd0;font-style:italic}
.section-pad{padding:110px var(--page-gutter)}.eyebrow{font-size:clamp(16px,1.5vw,20px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;color:var(--orange-text);margin:0}.section-label{display:flex;align-items:center;gap:22px;margin-bottom:52px}.section-number{font-size:18px;white-space:nowrap;color:var(--muted);letter-spacing:.05em}.lead{font-size:clamp(18px,1.6vw,23px);line-height:1.65;letter-spacing:-.025em}.section-heading-row{display:grid;grid-template-columns:1.1fr .8fr;gap:10%;align-items:end}.section-heading-row .lead{color:var(--muted);margin-bottom:0}.button{display:inline-flex;align-items:center;justify-content:space-between;padding:19px 24px;gap:36px;font-size:13px;font-weight:700;transition:background .3s,transform .3s}.button-orange{background:var(--orange);color:var(--navy)}.button-orange:hover{background:#f28a43;transform:translateY(-2px)}.text-link{display:inline-flex;gap:32px;font-size:13px;font-weight:700;align-items:center;padding:12px 0;border-bottom:1px solid var(--ink)}.text-link span:last-child{font-size:22px;line-height:1}.text-link.light{border-color:#ffffff40;color:white}
.hero{position:relative;min-height:680px;height:calc(100svh - var(--header-height));max-height:1050px;overflow:hidden;background:var(--navy);color:white}.hero-image{position:absolute;inset:0 0 0 48%;will-change:transform;overflow:hidden;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}.hero-image img{width:100%;height:118%;object-fit:cover;object-position:50% 75%;transform:translateY(-6%);filter:saturate(.72)}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(24,35,63,.95) 34%,rgba(24,35,63,.3) 62%,rgba(24,35,63,.06) 100%)}.hero-copy{position:relative;z-index:2;padding:clamp(54px,9vh,120px) var(--page-gutter) 140px;width:85%;max-width:1350px}.hero-copy .eyebrow{margin-bottom:30px;color:var(--orange)}.hero h1{font-size:clamp(64px,7.8vw,120px);max-width:970px;line-height:1.06;letter-spacing:-.065em}.hero h1 span{display:block}.hero h1 .hero-outline{color:#fff;opacity:.85;font-weight:400}.hero-intro{max-width:420px;font-size:16px;color:#d4d9e3;line-height:1.7;margin-top:32px;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:30px}.hero-lines{position:absolute;inset:0;pointer-events:none}.hero-lines span{position:absolute;height:1px;background:#ffffff0e;left:0;right:0}.hero-lines span:first-child{top:33%}.hero-lines span:nth-child(2){top:66%}.hero-lines span:nth-child(3){bottom:0}.scroll-cue{position:absolute;z-index:3;bottom:36px;inset-inline-start:var(--page-gutter);display:flex;gap:18px;align-items:center;color:#d4d9e3;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.scroll-track{width:1px;height:36px;background:#ffffff40;position:relative;overflow:hidden}.scroll-track:after{content:"";position:absolute;height:16px;width:1px;background:var(--orange);animation:scroll-cue 2.4s infinite}.hero-caption{position:absolute;bottom:34px;right:var(--page-gutter);display:flex;gap:56px;font-size:10px;letter-spacing:.16em;font-weight:700;color:#fff9}.hero-caption span:first-child{color:white}.hero-copy>*{animation:enter-up 1s var(--ease) both}.hero-copy h1{animation-delay:.1s}.hero-intro{animation-delay:.2s}.hero-actions{animation-delay:.3s}
.about-grid{display:grid;grid-template-columns:1.05fr .85fr;gap:10%}.about-heading h2{max-width:620px}.signature-line{width:70px;height:4px;background:var(--orange);margin-top:36px}.about-body{padding-top:7px}.about-body>p:not(.lead){color:var(--muted);font-size:15px;line-height:1.9;max-width:520px}.about-body .lead{margin-bottom:26px}.story-band{border-top:1px solid var(--line);margin-top:68px;padding-top:30px;display:grid;grid-template-columns:auto 80px 1fr auto;gap:26px;align-items:center}.story-year{font-size:48px;line-height:1;font-weight:700;letter-spacing:-.05em}.story-line{height:1px;background:var(--orange)}.story-band p{font-size:19px;font-style:italic;margin:0;line-height:1.45;max-width:440px}.story-attribution{color:var(--muted);font-size:11px;max-width:160px;line-height:1.7}
.services{background:var(--paper)}.services-intro{padding-bottom:70px}.service-scroll-layout{display:grid;grid-template-columns:1fr 1fr;position:relative}.service-visual-column{position:relative;min-width:0}.service-visual{height:min(calc(100svh - var(--header-height)),calc(100vw / 3));min-height:0;position:sticky;top:max(var(--header-height),calc((100svh + var(--header-height) - 100vw / 3) / 2));background:var(--navy);overflow:hidden}.service-image-stack{position:absolute;inset:0}.service-image-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(1.06);transition:opacity 1s var(--ease),transform 1.4s var(--ease);filter:saturate(.7)}.service-image-stack img.active{opacity:1;transform:scale(1)}.service-image-shade{position:absolute;inset:0;background:linear-gradient(0deg,#18233feb,#18233f05 70%)}.service-visual-frame{position:absolute;inset:8%;border:1px solid #fff3;clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%)}.service-visual-frame:after{content:"";position:absolute;top:0;left:0;width:48px;height:3px;background:var(--orange)}.service-scene-caption{position:absolute;inset-inline-start:var(--page-gutter);inset-inline-end:var(--page-gutter);bottom:64px;display:flex;align-items:end;justify-content:space-between;color:white}.service-scene-caption>span{font-size:10px;letter-spacing:.18em}.service-scene-caption strong{font-size:100px;line-height:.75;letter-spacing:-.065em;font-weight:400;color:#fff8}.service-progress-dots{display:flex;position:absolute;bottom:31px;inset-inline-start:var(--page-gutter);gap:10px}.service-progress-dots span{width:22px;height:2px;background:#fff3;transition:background .5s}.service-progress-dots span.active{background:var(--orange)}.service-items{min-width:0;padding:0 var(--page-gutter) 0 7vw}.service-item{display:flex;flex-direction:column;justify-content:center;min-height:calc(85svh - var(--header-height));padding:80px 0;border-top:1px solid var(--line)}.service-item:first-child{border-top:0}.service-item:last-child{padding-bottom:100px}.service-item .service-index{font-size:20px;color:var(--orange-text);letter-spacing:.1em;margin-bottom:24px}.service-item h3{font-size:clamp(36px,4.5vw,65px);letter-spacing:-.05em;line-height:1.08;margin-bottom:24px}.service-item p{color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:25px}.service-scope{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.service-scope li{position:relative;font-size:clamp(16px,1.3vw,18px);line-height:1.65;color:var(--ink);padding-inline-start:18px}.service-scope li:before{content:"";position:absolute;inset-inline-start:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--orange)}
.approach{background:var(--navy);color:white;position:relative;overflow:hidden}.approach .section-number{color:#929eb5}.approach-heading{display:grid;grid-template-columns:1.1fr .8fr;gap:10%;align-items:end;margin-bottom:70px}.approach-heading .lead{color:#b7c0d2;margin-bottom:0}.approach-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;position:relative;z-index:2}.approach-step{padding-top:28px;border-top:1px solid #fff3}.approach-step .step-number{font-size:20px;color:var(--orange);display:block;margin-bottom:28px}.approach-step h3{font-size:24px;letter-spacing:-.03em;line-height:1.2;margin-bottom:18px}.approach-step p{color:#b7c0d2;font-size:13px;line-height:1.8;margin:0}.approach-rule{position:absolute;bottom:0;left:var(--page-gutter);right:var(--page-gutter);height:4px;background:#ffffff0b}.approach-rule span{display:block;background:var(--orange);height:4px;width:30%;transform-origin:left}
.sector-list{margin-top:64px;border-top:1px solid var(--line)}.sector-row{display:grid;grid-template-columns:50px 1fr .8fr 34px;gap:28px;padding:30px 4px;border-bottom:1px solid var(--line);align-items:center;transition:padding .4s var(--ease),background .4s}.sector-row:hover{padding-inline:20px;background:var(--paper)}.sector-row .sector-index{font-size:11px;color:var(--muted)}.sector-row h3{font-size:clamp(24px,2.8vw,38px);letter-spacing:-.035em;line-height:1.15}.sector-row p{color:var(--muted);font-size:13px;margin:0;line-height:1.75}.sector-row .arrow{color:var(--orange)}
.projects{background:var(--paper)}.project-heading{display:grid;grid-template-columns:1.1fr .8fr;gap:10%;align-items:end}.project-heading .lead{color:var(--muted);margin:0}.project-filter-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:48px 0 28px;min-height:42px}.project-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-button{padding:10px 17px;border:1px solid #cbd1dc;background:transparent;color:var(--ink);font-size:11px;transition:background .25s,color .25s,border-color .25s}.filter-button:hover{border-color:var(--ink)}.filter-button[aria-pressed=true]{color:white;background:var(--navy);border-color:var(--navy)}.project-count{font-size:11px;color:var(--muted);margin:0;white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}.project-card{min-width:0;text-align:start;background:transparent;padding:0;display:block;position:relative;color:var(--ink)}.project-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.35fr .65fr;gap:0;background:var(--navy);color:white}.project-card-image{position:relative;overflow:hidden;aspect-ratio:2.15/1;background:#dbe0e8}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);filter:saturate(.78)}.project-card:hover .project-card-image img{transform:scale(1.035)}.project-card:first-child .project-card-image{aspect-ratio:auto;min-height:330px}.project-card-sector{position:absolute;top:18px;inset-inline-start:18px;padding:5px 12px;background:white;color:var(--ink);font-size:9px;letter-spacing:.06em;font-weight:700}.project-card-first-num{position:absolute;bottom:22px;inset-inline-start:22px;color:white;font-size:11px;letter-spacing:.15em}.project-card-body{padding:22px 0 0}.project-card:first-child .project-card-body{padding:46px 36px;display:flex;flex-direction:column;justify-content:center}.project-card-title-row{display:flex;align-items:start;justify-content:space-between;gap:20px}.project-card-title-row h3{font-size:24px;letter-spacing:-.035em;line-height:1.2}.project-card-title-row .arrow{color:var(--orange)}.project-card-body .project-place{font-size:11px;color:var(--muted);margin:12px 0 0}.project-card:first-child .project-place{color:#bcc6d9}.project-card-desc{font-size:13px;color:#bcc6d9;margin:22px 0 0;line-height:1.8}.project-card-link{font-size:11px;font-weight:700;display:inline-flex;gap:24px;margin-top:30px;align-items:center}.project-card-link .arrow{font-size:19px;color:var(--orange)}.project-empty{grid-column:1/-1;padding:40px 0;font-size:18px;color:var(--muted)}.project-card{animation:enter-up .6s var(--ease) both}
.values{display:grid;grid-template-columns:1fr 1.1fr;gap:13%}.values-heading{position:relative}.values-heading>.eyebrow{margin-bottom:24px}.values-heading h2{font-size:clamp(40px,5vw,72px);max-width:460px}.values-mark{width:50px;height:auto;margin-top:40px;opacity:.8}.value-item{border-top:1px solid var(--line)}.value-item:last-child{border-bottom:1px solid var(--line)}.value-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:24px 0;font-size:18px;letter-spacing:-.025em;font-weight:700;cursor:pointer;line-height:1.4}.value-item summary::-webkit-details-marker{display:none}.value-item summary:after{content:"+";color:var(--orange);font-size:25px;font-weight:400}.value-item[open] summary:after{content:"−"}.value-item p{font-size:14px;color:var(--muted);line-height:1.9;padding:0 34px 24px 0;margin:0;max-width:560px}
.contact{position:relative;overflow:hidden;background:var(--navy);color:white}.contact .section-number{color:#929eb5}.contact-angle{position:absolute;right:-20vw;top:0;height:100%;width:60vw;transform:skewX(-22deg);background:#ffffff03;pointer-events:none}.contact-top{position:relative;display:grid;grid-template-columns:1fr .7fr;gap:15%;align-items:end}.contact-top h2{font-size:clamp(54px,7.2vw,105px);max-width:730px}.contact-top .lead{color:#b7c0d2;max-width:380px;margin:0}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:clamp(26px,4.2vw,66px);letter-spacing:-.04em;font-weight:400;padding:42px 0;border-bottom:1px solid #fff3;margin-top:22px;position:relative}.contact-email .arrow{font-size:clamp(32px,5vw,65px);color:var(--orange)}.contact-offices{display:flex;gap:120px;padding-top:38px}.contact-offices .eyebrow{color:#b7c0d2;margin-bottom:14px}.contact-offices a{font-size:17px;display:inline-block}.contact-offices a:hover{color:var(--orange)}.site-footer{padding:42px var(--page-gutter) 26px;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:32px;background:white}.footer-brand{display:flex;align-items:center;gap:32px}.footer-brand img{width:112px;height:auto}.footer-brand>span{font-size:14px;font-style:italic;color:var(--muted)}.footer-actions{display:flex;justify-content:flex-end;gap:40px;font-size:10px}.back-top{display:flex;gap:20px;align-items:center}.back-top span:last-child{color:var(--orange);font-size:20px}.motion-toggle{background:none;padding:0;color:var(--muted);font-size:10px;display:flex;gap:10px;align-items:center}.motion-icon{display:inline-block;width:18px;height:10px;background:var(--navy);border-radius:10px;position:relative}.motion-icon:after{content:"";width:6px;height:6px;position:absolute;top:2px;left:10px;border-radius:50%;background:white;transition:left .2s}.motion-toggle[aria-pressed=true] .motion-icon{background:#cbd1dc}.motion-toggle[aria-pressed=true] .motion-icon:after{left:2px}.copyright{grid-column:1/-1;font-size:9px;color:var(--muted);margin:0;letter-spacing:.02em}
.project-dialog{width:min(1020px,calc(100% - 40px));max-height:90svh;border:0;padding:0;background:white;color:var(--ink);overflow:auto}.project-dialog::backdrop{background:#101b32c9;backdrop-filter:blur(6px)}.dialog-close{position:sticky;top:18px;float:right;z-index:5;margin:18px 18px -64px 0;display:grid;place-items:center;background:white;color:var(--ink);width:44px;height:44px;font-size:32px;box-shadow:0 1px 8px #18233f20}.dialog-image{height:330px;width:100%;object-fit:cover}.dialog-body{padding:44px 50px}.dialog-body>.eyebrow{margin-bottom:20px}.dialog-body h2{font-size:clamp(34px,4vw,58px);line-height:1.12;margin-bottom:24px;max-width:820px}.dialog-description{font-size:17px;color:var(--muted);line-height:1.8;max-width:780px}.dialog-meta{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:32px 0;border-top:1px solid var(--line);padding-top:24px}.dialog-meta h3{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.dialog-meta p,.dialog-meta li{font-size:14px}.dialog-meta p{margin:0}.dialog-meta ul{list-style:none;padding:0;margin:0}.dialog-meta li{padding:2px 0}.dialog-meta li:before{content:"/";color:var(--orange);margin-inline-end:10px}.dialog-body .button{margin-top:8px}.noscript-message{padding:20px var(--page-gutter);background:var(--paper)}
.js-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js-enabled .reveal.visible{opacity:1;transform:translateY(0)}.reveal:nth-child(2){transition-delay:.07s}.reveal:nth-child(3){transition-delay:.14s}.reveal:nth-child(4){transition-delay:.2s}
html[dir=rtl] body{font-family:Tahoma,Arial,sans-serif}html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3{letter-spacing:0;line-height:1.3}html[dir=rtl] .eyebrow{letter-spacing:0;font-size:clamp(16px,1.5vw,20px)}html[dir=rtl] .hero h1{font-size:clamp(54px,6.8vw,100px);line-height:1.3}html[dir=rtl] .hero-image{inset:0 48% 0 0;clip-path:polygon(0 0,78% 0,100% 100%,0 100%)}html[dir=rtl] .hero-wash{background:linear-gradient(-90deg,var(--navy) 0%,rgba(24,35,63,.95) 34%,rgba(24,35,63,.3) 62%,rgba(24,35,63,.06) 100%)}html[dir=rtl] .hero-caption{left:var(--page-gutter);right:auto}html[dir=rtl] .service-items{padding:0 7vw 0 var(--page-gutter)}html[dir=rtl] .service-item h3{font-size:clamp(32px,4vw,56px)}html[dir=rtl] .service-scene-caption,html[dir=rtl] .hero-caption{direction:ltr}html[dir=rtl] .contact-email{direction:ltr}html[dir=rtl] .contact-angle{left:-20vw;right:auto;transform:skewX(22deg)}html[dir=rtl] .desktop-nav a:after{transform-origin:right}html[dir=rtl] .value-item p{padding:0 0 24px 34px}html[dir=rtl] .dialog-close{float:left;margin:18px 0 -64px 18px}
@keyframes enter-up{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-cue{0%{top:-16px}80%,100%{top:40px}}
@media(min-width:1700px){.hero-copy{padding-top:12vh}.hero h1{font-size:124px}.section-pad{padding-top:140px;padding-bottom:140px}.service-item{min-height:75svh}}
@media(max-width:1150px){:root{--page-gutter:40px;--header-height:78px}.site-header{gap:24px}.desktop-nav{gap:20px;font-size:12px}.header-actions{gap:20px}.brand{width:120px}.header-contact{display:none}.hero-copy{width:95%;padding-top:9vh}.hero h1{font-size:clamp(64px,9vw,100px)}.hero-intro{max-width:420px}.story-band{grid-template-columns:auto 50px 1fr}.story-attribution{grid-column:3}.story-band p{max-width:none}.section-pad{padding-top:88px;padding-bottom:88px}.service-items{padding-inline-start:40px}.service-item{min-height:80svh}.approach-steps{gap:24px}.sector-row{grid-template-columns:36px 1fr .75fr 24px;gap:20px}.project-card:first-child{grid-template-columns:1.2fr .8fr}.project-card:first-child .project-card-body{padding:30px}.values{gap:8%}.contact-top{gap:10%}}
@media(max-width:800px){:root{--page-gutter:26px;--header-height:72px}.desktop-nav{display:none}.menu-button{display:block}.brand{width:116px}.header-actions{gap:24px}.hero{height:auto;min-height:calc(100svh - var(--header-height));max-height:none}.hero-image{inset:0;clip-path:none;opacity:.54}.hero-image img{object-position:50% 68%}.hero-wash{background:linear-gradient(90deg,#18233fef,#18233f9c),linear-gradient(0deg,var(--navy),transparent 50%)}.hero-copy{width:100%;padding-top:clamp(60px,12vh,130px);padding-bottom:150px}.hero-copy .eyebrow{max-width:280px;font-size:16px;margin-bottom:24px}.hero h1{font-size:clamp(58px,9.5vw,88px);line-height:1.12;max-width:700px}.hero-intro{max-width:450px;font-size:15px}.hero-actions{gap:24px}.hero-caption{gap:24px;font-size:8px}.section-pad{padding-top:76px;padding-bottom:76px}h2{font-size:clamp(40px,6.8vw,65px)}.section-label{margin-bottom:36px}.about-grid,.section-heading-row,.approach-heading,.project-heading{grid-template-columns:1fr;gap:30px}.about-body{max-width:680px}.about-body .lead{max-width:680px}.section-heading-row .lead,.approach-heading .lead,.project-heading .lead{max-width:600px;font-size:18px}.story-band{margin-top:44px;gap:22px;grid-template-columns:auto 28px 1fr}.story-band p{font-size:16px}.story-year{font-size:40px}.service-scroll-layout{grid-template-columns:1fr}.service-visual-column{display:none}.services-intro{padding-bottom:20px}.service-items{padding:0 var(--page-gutter)}.service-item{min-height:auto;padding:38px 0;display:block}.service-item:last-child{padding-bottom:70px}.service-item h3{font-size:38px;max-width:600px}.service-item p{max-width:680px}.service-item .service-index{margin-bottom:15px}.approach-heading{margin-bottom:45px}.approach-steps{grid-template-columns:1fr 1fr;gap:38px}.sector-list{margin-top:38px}.sector-row{grid-template-columns:30px 1fr 26px;gap:16px;padding-block:24px}.sector-row h3{font-size:26px}.sector-row p{grid-column:2;grid-row:2}.sector-row>.arrow{grid-column:3;grid-row:1}.sector-row:hover{padding-inline:4px}.project-filter-row{align-items:start;flex-direction:column;gap:16px;margin-top:36px}.project-grid{gap:32px 24px}.project-card:first-child{grid-template-columns:1fr;grid-column:1/-1}.project-card:first-child .project-card-image{min-height:auto;aspect-ratio:2.15/1}.project-card:first-child .project-card-body{padding:28px}.project-card-title-row h3{font-size:21px}.project-card-desc{margin-top:16px}.project-card-link{margin-top:20px}.values{grid-template-columns:1fr;gap:36px}.values-heading h2{max-width:650px;font-size:46px}.values-mark{display:none}.contact-top{grid-template-columns:1fr;gap:26px}.contact-top h2{font-size:clamp(50px,8vw,78px)}.contact-top .lead{max-width:500px;font-size:18px}.contact-email{font-size:clamp(25px,5.4vw,43px);padding-block:32px}.contact-offices{gap:60px}.site-footer{gap:24px}.footer-brand{gap:18px;flex-direction:column;align-items:start}.footer-actions{gap:20px}.dialog-body{padding:32px}.dialog-image{height:240px}html[dir=rtl] .hero-image{inset:0;clip-path:none}html[dir=rtl] .hero-wash{background:linear-gradient(-90deg,#18233fef,#18233f9c),linear-gradient(0deg,var(--navy),transparent 50%)}html[dir=rtl] .hero h1{font-size:clamp(44px,7.6vw,72px)}html[dir=rtl] .service-items{padding:0 var(--page-gutter)}}
@media(max-width:480px){:root{--page-gutter:22px}.header-actions{gap:16px}.language-button{font-size:12px}.hero-copy{padding-top:70px;padding-bottom:134px}.hero h1{font-size:clamp(48px,12vw,60px)}.hero-intro{max-width:310px;margin-top:26px}.hero-actions{flex-direction:column;align-items:start;gap:12px}.hero-actions .button{padding:16px 20px;gap:32px}.hero-actions .text-link{font-size:12px}.scroll-cue{bottom:28px}.hero-caption{bottom:30px;gap:12px}.hero-caption span:first-child{display:none}.section-pad{padding-top:62px;padding-bottom:62px}h2{font-size:42px}.about-body .lead{font-size:19px}.story-band{grid-template-columns:auto 1fr;gap:18px}.story-line{display:none}.story-band p{font-size:15px}.story-attribution{grid-column:2}.service-item h3{font-size:34px}.approach-steps{grid-template-columns:1fr;gap:28px}.approach-step .step-number{margin-bottom:16px}.approach-step h3{font-size:25px}.sector-row{grid-template-columns:22px 1fr 22px;gap:12px}.sector-row h3{font-size:23px}.project-grid{grid-template-columns:1fr;gap:36px}.project-card:first-child .project-card-body{padding:24px}.project-card:first-child .project-card-image{aspect-ratio:1.85/1}.filter-button{padding:9px 12px;font-size:10px}.project-card-title-row h3{font-size:24px}.values-heading h2{font-size:40px}.value-item summary{font-size:17px}.contact-top h2{font-size:48px}.contact-email{font-size:clamp(23px,6vw,30px);gap:12px;letter-spacing:-.035em}.contact-email .arrow{font-size:32px}.contact-offices{flex-direction:column;gap:28px}.contact-offices a{font-size:16px}.site-footer{grid-template-columns:1fr}.footer-brand{flex-direction:row;align-items:center;gap:28px}.footer-actions{justify-content:space-between}.copyright{font-size:9px}.project-dialog{width:calc(100% - 24px);max-height:92svh}.dialog-image{height:190px}.dialog-body{padding:26px 24px}.dialog-body h2{font-size:34px}.dialog-description{font-size:15px}.dialog-meta{grid-template-columns:1fr;gap:24px}.dialog-body .button{font-size:12px;padding:16px 20px}html[dir=rtl] .hero h1{font-size:clamp(38px,10.6vw,52px)}}
@media(prefers-reduced-motion:reduce){html:not(.allow-motion){scroll-behavior:auto}html:not(.allow-motion) *,html:not(.allow-motion) *:before,html:not(.allow-motion) *:after{animation:none!important;transition:none!important}html:not(.allow-motion).js-enabled .reveal{opacity:1;transform:none}html:not(.allow-motion) .hero-image,html:not(.allow-motion) .hero-copy{transform:none!important}}
html.reduce-motion{scroll-behavior:auto}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation:none!important;transition:none!important}html.reduce-motion .reveal{opacity:1;transform:none}html.reduce-motion .hero-image,html.reduce-motion .hero-copy{transform:none!important}

.hero,.approach,.contact,.mobile-menu{--focus:var(--orange)}.approach .eyebrow,.contact .section-label .eyebrow{color:var(--orange)}

@media (max-width: 800px) {
  .hero-copy .hero-descriptor {
    max-inline-size: none;
    margin-block-end: clamp(26px, 7vw, 30px);
    letter-spacing: .08em;
    line-height: 1.45;
  }
  .hero-descriptor > span { display: block; }
  html[dir=rtl] .hero-copy .hero-descriptor { letter-spacing: 0; }
}
@media (max-width: 360px) {
  .hero-copy .hero-descriptor { font-size: .9375rem; }
}

@media (min-width: 801px) {
  .hero-trace-active .hero-image::after {
    --hero-trace-width: 8px;
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(#ffdb71, #ebb515);
    clip-path: polygon(22% 0, calc(22% + var(--hero-trace-width)) 0, var(--hero-trace-width) 100%, 0 100%);
    mask: linear-gradient(#000, #000) top / 100% 0 no-repeat;
    opacity: 0;
    animation: trace-hero-edge 2s ease-out both;
  }
  html[dir=rtl] .hero-trace-active .hero-image::after {
    clip-path: polygon(78% 0, calc(78% - var(--hero-trace-width)) 0, calc(100% - var(--hero-trace-width)) 100%, 100% 100%);
  }
}
@keyframes trace-hero-edge {
  0% { mask-size: 100% 0; opacity: 1; }
  43%, 75% { mask-size: 100% 100%; opacity: 1; }
  100% { mask-size: 100% 100%; opacity: 0; }
}
