@font-face{font-family:Inter;src:url('../fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;src:url('../fonts/inter-latin-ext.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;src:url('../fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;src:url('../fonts/manrope-latin-ext.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{--ink:#2b2b2b;--muted:#505050;--line:#cfcfcf;--paper:#f3f3f3;--header:89px;--shell:min(1300px,calc(100vw - 124px));--radius:15px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;text-size-adjust:100%;background:var(--paper);overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--muted);font:400 16px/1.5 Inter,Arial,sans-serif;overflow-x:clip}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,h4,h5,h6,p,figure,blockquote{margin:0}
h1,h2,h3,h4,h5,h6{color:var(--ink);font-family:Manrope,Inter,sans-serif;font-weight:600}
p{color:var(--muted)}
.home-shell,.section-shell{width:var(--shell);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;background:#fff;padding:10px 16px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:2px solid #13c3df;outline-offset:4px}

/* Header */
.site-header{position:sticky;top:0;z-index:100;height:var(--header);background:rgba(243,243,243,.985)}
.header-inner{width:var(--shell);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}
.brand{display:block;width:215px;line-height:0}
.brand img{width:100%}
.primary-navigation{display:flex;align-items:center;gap:0;font-size:16px}
.primary-navigation a{position:relative;min-width:120px;padding:0;color:var(--ink);line-height:24px;text-align:center}
.primary-navigation a:first-of-type{min-width:127px}.primary-navigation a:last-child{min-width:114px}
.primary-navigation a:after{content:"";position:absolute;right:100%;bottom:5px;left:0;height:1px;background:var(--ink);transition:right .25s}
.primary-navigation a:hover:after,.primary-navigation a[aria-current=page]:after{right:0}
.menu-toggle,.menu-close,.navigation-backdrop{display:none}

/* Shared home elements */
.home-original{background:var(--paper)}
.home-section{background:var(--paper)}
.section-label{font:400 16px/24px Inter,Arial,sans-serif;color:var(--muted);white-space:nowrap}
.c4-button{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;min-height:59px;padding:17px 30px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper);font-size:18px;font-weight:500;line-height:23px;transition:background .25s,color .25s}
.c4-button:hover{background:transparent;color:var(--ink)}
.c4-button>span:last-child{font:300 20px/1 Manrope,sans-serif}

/* Hero */
.home-hero{height:100vh;min-height:760px;padding:120px 0 250px;background-image:var(--hero-image);background-position:center;background-size:cover;display:flex;align-items:flex-end}
.hero-glass{height:508px;padding:83px;border-radius:var(--radius);background:rgba(243,243,243,.85)}
.hero-glass h1{font-size:80px;line-height:1;font-weight:600;color:var(--ink)}
.hero-first-line{margin-bottom:20px}
.hero-glass h1:not(.hero-first-line){letter-spacing:.03em}
.hero-copy{max-width:1000px;margin-top:22px;font-size:16px;line-height:1.5}
.hero-bottom{display:grid;grid-template-columns:31% 1fr;gap:40px;align-items:end;margin-top:34px}
.hero-bottom .c4-button{justify-self:start;margin-left:26px}
.hero-disciplines{display:grid;grid-template-columns:1.25fr .95fr 1fr;gap:20px;align-items:end}
.hero-disciplines span{min-height:43px;padding:0 10px 10px;border-bottom:1px solid rgba(80,80,80,.23);font:500 19.2px/1.25 Manrope,sans-serif;color:var(--muted);white-space:nowrap;transition:transform .25s,border-color .25s}
.hero-disciplines span:hover{transform:translateY(-10px);border-color:var(--ink)}

/* Marquee */
.home-marquee{height:72px;padding:15px 0;overflow:hidden;background:var(--ink);color:rgba(243,243,243,.16)}
.marquee-track{display:flex;align-items:center;width:max-content;gap:34px;white-space:nowrap;font:500 30px/42px Manrope,sans-serif;animation:home-marquee 42s linear infinite}
.marquee-track i{font-style:normal;font-size:21px}
@keyframes home-marquee{to{transform:translateX(-50%)}}

/* Intro */
.home-intro{height:864px;min-height:0;padding:120px 0 60px}
.intro-heading-grid{height:254px;display:grid;grid-template-columns:31% 52%;justify-content:space-between;align-items:start}
.intro-heading-grid h2{font-size:36.8px;line-height:1;margin-bottom:21px}
.intro-heading-grid p:not(.section-label){margin-top:17px;line-height:1.5}
.intro-media-grid{display:grid;grid-template-columns:624px 455px;justify-content:space-between;align-items:stretch;margin-top:80px}
.intro-images{height:350px;display:grid;grid-template-columns:371px 213px;gap:40px;align-items:end}
.intro-images img{width:100%;object-fit:cover;border-radius:var(--radius)}
.intro-image-main{height:350px}
.intro-image-small{height:200px}
.intro-facts{height:350px;display:flex;flex-direction:column;justify-content:space-between}
.fact-row{display:grid;grid-template-columns:1fr 1fr;gap:42px}
.fact-number{font:500 64px/96px Manrope,sans-serif;color:var(--ink);white-space:nowrap}
.fact-row>div>p:last-child{margin-top:18px;font:500 19.2px/1.2 Manrope,sans-serif}
.intro-claim>p{font-size:16px;margin-bottom:33px}

/* Portfolio */
.home-portfolio{height:1428px;min-height:0;padding:60px 0}
.portfolio-heading{display:flex;justify-content:space-between;align-items:flex-end}
.portfolio-heading>div{max-width:680px}
.portfolio-heading h2{font-size:80px;line-height:1;margin-bottom:28px}
.portfolio-heading p:not(.section-label){max-width:660px}
.portfolio-heading>.section-label{margin-bottom:7px}
.portfolio-heading{height:162px}
.portfolio-grid{height:1066px;position:relative;margin-top:80px}
.portfolio-card{position:absolute;width:calc((100% - 80px)/2)}
.portfolio-card:nth-child(1){left:0;top:0;height:518px}
.portfolio-card:nth-child(2){left:0;top:598px;height:468px}
.portfolio-card:nth-child(3){right:0;top:0;height:468px}
.portfolio-card:nth-child(4){right:0;top:548px;height:494px}
.portfolio-image{height:400px;border-radius:var(--radius);background:var(--card-image) center/cover no-repeat;position:relative;overflow:hidden}
.portfolio-card:nth-child(1) .portfolio-image,.portfolio-card:nth-child(4) .portfolio-image{height:450px}
.portfolio-image span{position:absolute;top:24px;right:24px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font-size:25px;opacity:0;transform:scale(.8);transition:.25s}
.portfolio-card:hover .portfolio-image span{opacity:1;transform:scale(1)}
.portfolio-caption{height:68px;display:grid;grid-template-columns:auto 1fr minmax(180px,auto);align-items:center;gap:24px}
.portfolio-card:nth-child(4) .portfolio-caption{height:44px}
.portfolio-caption>*{transform:translateY(10px)}
.portfolio-caption h3{font-size:24px;line-height:1;font-weight:500;white-space:nowrap}
.portfolio-caption i{display:block;height:1px;background:var(--line)}
.portfolio-caption p{max-width:210px}

/* Services */
.home-services{min-height:3177px;padding:60px 0 90px}
.services-heading{height:204px;display:flex;flex-direction:column;align-items:center;gap:27px}
.services-heading h2{font-size:80px;line-height:1}
.service-list{display:flex;flex-direction:column;gap:110px;position:relative;overflow:visible}
.service-card{min-height:371px;padding:59px 60px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);display:grid;grid-template-columns:662px 397px;justify-content:space-between;align-items:start;position:sticky;top:calc(var(--header) + 12px + var(--stack-offset,0px));z-index:calc(10 + var(--stack-index,0));align-self:stretch}
.service-card:first-child{min-height:386px;margin-bottom:30px}
.service-card:nth-child(1){--stack-index:0;--stack-offset:0px}.service-card:nth-child(2){--stack-index:1;--stack-offset:clamp(32px,4.5vh,40px)}.service-card:nth-child(3){--stack-index:2;--stack-offset:clamp(64px,9vh,80px)}.service-card:nth-child(4){--stack-index:3;--stack-offset:clamp(96px,13.5vh,120px)}.service-card:nth-child(5){--stack-index:4;--stack-offset:clamp(128px,18vh,160px)}.service-card:nth-child(6){--stack-index:5;--stack-offset:clamp(160px,22.5vh,200px)}
.service-copy{min-width:0}
.service-title-row{display:flex;justify-content:space-between;align-items:center}
.service-title-row h3{font-size:28px;line-height:1}
.service-title-row span{font-size:16px}
.service-text{padding-top:20px}
.service-text p{margin-bottom:17px}
.service-card img{width:397px;height:250px;border-radius:10px;object-fit:cover}

/* Approach */
.home-approach{min-height:977px;padding:60px 0}
.approach-grid{display:grid;grid-template-columns:738px 443px;justify-content:space-between;align-items:start}
.approach-story{height:857px;display:flex;flex-direction:column}
.approach-lead{max-width:686px;margin-top:26px;font:600 36.8px/1.5 Manrope,sans-serif;color:var(--ink)}
.approach-image-block{margin-top:auto;width:516px}
.approach-image-block>p{margin-bottom:34px}
.approach-image-block img{width:516px;height:250px;object-fit:cover;border-radius:var(--radius)}
.approach-steps article{padding:0 0 20px;border-bottom:1px solid var(--line)}
.approach-steps article+article{padding-top:40px}
.approach-steps h3{font-size:24px;line-height:1;margin-bottom:20px}
.approach-button{display:none;margin-top:65px}

/* Expertise */
.home-expertise{min-height:652px;padding:60px 0 40px}
.expertise-heading{text-align:center}
.expertise-heading h2{font-size:80px;line-height:1;margin:30px 0 22px}
.expertise-heading>p:last-child{max-width:1300px}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:80px;margin-top:98px}
.expertise-card{height:243px;padding:28px 20px;border:1px solid var(--line);border-radius:var(--radius);position:relative;transition:background .25s,transform .25s}
.expertise-card:hover{background:#efefef;transform:translateY(-4px)}
.expertise-icon{position:absolute;left:20px;top:31px;width:40px;height:40px}
.expertise-icon svg{width:100%;height:100%;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.expertise-number{position:absolute;right:21px;top:15px;font:500 64px/1 Manrope,sans-serif;color:rgba(80,80,80,.09)}
.expertise-card h3{position:absolute;left:20px;right:20px;bottom:92px;font-size:24px;line-height:1.2}
.round-arrow{position:absolute;right:20px;bottom:25px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-size:22px}

/* Promise */
.home-promises{min-height:856px;padding:60px 0 0}
.promise-heading{height:240px;display:flex;justify-content:space-between;align-items:flex-start}
.promise-heading h2{max-width:377px;font-size:80px;line-height:1}
.promise-heading .section-label{align-self:flex-start;margin-top:136px}
.promise-rows{border-top:1px solid var(--line)}
.promise-row{height:129px;padding:0 max(62px,calc((100vw - 1300px)/2));border-bottom:1px solid var(--line);display:grid;grid-template-columns:34% 32% 34%;align-items:center;position:relative}
.promise-row:nth-child(3){height:109px}
.promise-row h3{font-size:28px;line-height:1}
.promise-row p{grid-column:3;max-width:350px;justify-self:end}
.promise-row img{position:absolute;z-index:2;left:49%;top:50%;width:274px;height:161px;object-fit:cover;border-radius:var(--radius);transform:translate(-50%,-50%) scale(.94);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.promise-row.is-active img{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* Testimonials */
.home-testimonials{min-height:598px;padding:60px 0}
.testimonial-heading{min-height:86px;display:grid;grid-template-columns:43% 57%;align-items:start}
.testimonial-heading h2{font-size:48px;line-height:1.5}
.testimonial-layout{display:grid;grid-template-columns:318px 732px;column-gap:237px;justify-content:start;align-items:center;margin-top:73px}
.testimonial-anniversary{width:318px;height:318px;object-fit:contain}
.testimonial-stage{position:relative}
.testimonial-slide{min-height:318px;padding:25px 30px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between}
.testimonial-slide.is-active{animation:testimonial-in .55s cubic-bezier(.22,1,.36,1) both}
@keyframes testimonial-in{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}
.testimonial-slide blockquote{font-size:16px;line-height:1.6;color:var(--ink)}
.testimonial-slide figcaption{display:flex;align-items:center;gap:19px;margin-top:26px}
.testimonial-slide figcaption img{width:60px;height:60px;border-radius:50%;object-fit:cover}
.testimonial-slide strong{display:block;font:500 19.2px/1.2 Manrope,sans-serif;color:var(--ink)}
.testimonial-slide small{display:block;margin-top:4px;font-size:14px;color:var(--muted)}
.testimonial-controls{position:absolute;right:30px;bottom:31px;display:flex;gap:3px}
.testimonial-controls button{padding:0;border:0;background:none;font:500 27px/1 Manrope,sans-serif;cursor:pointer}

/* News */
.home-news{min-height:918px;padding:110px 0 98px}
.home-news h2{text-align:center;font-size:80px;line-height:1;margin-bottom:51px}
.news-carousel-wrap{position:relative}
.news-viewport{overflow:hidden}
.news-track{display:flex;gap:40px;transition:transform .5s ease}
.news-card{flex:0 0 calc((100% - 80px)/3);height:552px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.news-card-image{display:block;height:250px;overflow:hidden}
.news-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.news-card:hover .news-card-image img{transform:scale(1.025)}
.news-card-copy{padding:26px 19px}
.news-card h3{margin-bottom:31px;font-size:24px;line-height:1.15;font-weight:500}
.news-card-copy>p:last-child{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.news-date{margin-bottom:3px;font-size:12px}
.news-arrow{position:absolute;z-index:2;top:267px;border:0;background:none;font:600 32px/1 Manrope,sans-serif;cursor:pointer}
.news-arrow-prev{left:-34px}.news-arrow-next{right:-34px}

/* Footer */
.site-footer{min-height:547px;padding-top:96px;border-top:1px solid var(--line);background:var(--paper);color:var(--muted)}
.footer-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:88px;align-items:center}
.footer-logos img{width:100%;max-height:54px;object-fit:contain}
.footer-main{display:grid;grid-template-columns:1fr 1fr 1.35fr .9fr;gap:64px;padding:70px 0 28px}
.footer-heading{margin-bottom:18px;color:var(--ink);font:500 24px/1 Manrope,sans-serif}
.footer-main>div:not(.footer-cta-wrap) a,.footer-link{display:block;margin:8px 0;padding:0;border:0;background:none;color:var(--muted);font-size:16px;text-align:left;cursor:pointer}
.footer-main a:hover,.footer-link:hover{color:var(--ink)}
.footer-contact>a:last-child{margin-top:41px!important}
.footer-cta-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:29px}
.anniversary-mark{width:128px;height:128px;object-fit:contain}
.footer-cta-wrap .c4-button,.footer-cta-wrap .button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-width:217px;min-height:59px;padding:15px 29px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper);font-weight:500;transition:background-color .25s,color .25s,border-color .25s}
.footer-cta-wrap .c4-button:hover,.footer-cta-wrap .button:hover{border-color:var(--line);background:transparent;color:var(--muted);transform:none}
.footer-bottom{padding:21px 0 25px;border-top:1px solid var(--line);text-align:center}

/* Secondary pages */
.section{padding:110px 0}.kicker{margin-bottom:24px;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.lead,.large-copy{font-size:24px;color:var(--ink)}
.page-hero{padding:100px 0}.page-hero-grid{width:var(--shell);margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.page-hero-grid h1,.legal-page h1,.article-hero h1,.not-found h1{font-size:72px;line-height:1.05}.page-hero-grid img{width:100%;height:620px;object-fit:cover;border-radius:var(--radius)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.team-grid img{width:100%;aspect-ratio:5/7;object-fit:cover;border-radius:var(--radius);margin-bottom:20px}.faq-layout,.contact-layout{display:grid;grid-template-columns:.4fr .6fr;gap:80px}.accordion{border-top:1px solid var(--line)}.accordion-item{border-bottom:1px solid var(--line)}.accordion-item button{width:100%;display:flex;justify-content:space-between;padding:24px 0;border:0;background:none;text-align:left;cursor:pointer}.accordion-panel{padding:0 40px 25px 0}.contact-form{padding:50px;border:1px solid var(--line);border-radius:var(--radius)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:block;margin-bottom:20px}.contact-form label>span{display:block;margin-bottom:7px}.contact-form input,.contact-form textarea{width:100%;padding:10px;border:1px solid var(--line);background:transparent}.privacy-check{display:flex;gap:10px}.privacy-check input{width:18px}.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-notice{padding:14px;margin-bottom:20px}.article-hero{width:var(--shell);margin:auto;padding:100px 0 70px}.article-image{width:var(--shell);margin:auto}.article-image img{width:100%;max-height:760px;object-fit:cover;border-radius:var(--radius)}.article-body,.legal-shell{width:min(850px,calc(100vw - 40px));margin:auto;padding:80px 0 120px}.captured-content h2,.captured-content h3,.captured-content h4{margin:2em 0 .7em}.captured-content p,.captured-content li{margin-bottom:1em;line-height:1.75}.captured-content a{text-decoration:underline}

/* Motion */
.c4-reveal{--reveal-x:0px;--reveal-y:38px;opacity:0;transform:translate3d(var(--reveal-x),var(--reveal-y),0);transition:opacity 1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform 1s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms);will-change:opacity,transform}
.c4-reveal.reveal-left{--reveal-x:-110px;--reveal-y:0px}.c4-reveal.reveal-right{--reveal-x:110px;--reveal-y:0px}.c4-reveal.reveal-up{--reveal-y:84px}
.c4-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.c4-reveal{opacity:1;transform:none;transition:none}.marquee-track,.testimonial-slide.is-active{animation:none}*{transition-duration:.01ms!important}}

@media(max-width:1024px){
  :root{--shell:calc(100vw - 60px)}
  .hero-glass h1{font-size:70px}.hero-glass{padding:60px}.hero-bottom{grid-template-columns:1fr}.intro-heading-grid{grid-template-columns:31% 60%}.intro-media-grid{grid-template-columns:55% 40%}.portfolio-grid{gap:0 35px}.service-card{grid-template-columns:55% 38%;padding:48px}.service-card img{width:100%}.approach-grid{grid-template-columns:56% 36%}.approach-story{width:auto}.approach-lead{font-size:31px}.expertise-grid{gap:35px}.testimonial-layout{grid-template-columns:28% 62%}.footer-logos{gap:35px}
}

@media(max-width:767px){
  :root{--header:72px;--shell:calc(100vw - 40px)}
  body{font-size:14.4px;line-height:1.5}
  .site-header{height:72px}
  .header-inner{width:calc(100vw - 40px)}
  .brand{width:91px}
  .menu-toggle{display:block;width:34px;height:34px;padding:5px;border:0;background:transparent;cursor:pointer;position:relative;z-index:103}
  .menu-toggle>span:not(.sr-only){display:block;width:23px;height:1px;margin:6px 0;background:var(--ink);transition:.25s}
  .menu-toggle[aria-expanded=true]>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded=true]>span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded=true]>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .navigation-backdrop{display:block;position:fixed;inset:0;z-index:100;border:0;background:rgba(0,0,0,.15);opacity:0;pointer-events:none;transition:opacity .25s}
  .navigation-backdrop.is-open{opacity:1;pointer-events:auto}
  .primary-navigation{display:flex;position:fixed;z-index:101;inset:0 0 0 17%;padding:112px 35px;background:var(--paper);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:18px;font:500 30px/1.25 Manrope,sans-serif;transform:translateX(110%);transition:transform .3s}
  .primary-navigation.is-open{transform:none}
  .primary-navigation a{width:100%;padding:11px 0;border-bottom:1px solid var(--line)}
  .menu-close{display:none}
  .section-label{font-size:14.4px}
  .c4-reveal.reveal-left{--reveal-x:-52px}.c4-reveal.reveal-right{--reveal-x:52px}
  .c4-button{min-width:195px;min-height:58px;font-size:16px}

  .home-hero{height:844px;min-height:844px;padding:90px 20px 120px;background-position:center;align-items:flex-end}
  .hero-glass{width:100%;height:566px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;background:rgba(243,243,243,.85)}
  .hero-first-line{display:none}
  .hero-glass h1{margin-top:92px;font-size:33px;line-height:1.05;letter-spacing:0!important}
  .hero-copy{margin-top:12px;font-size:14px;line-height:1.35}
  .hero-bottom{width:100%;display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:63px}
  .hero-bottom .c4-button{margin-left:0}
  .hero-disciplines{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:15px}
  .hero-disciplines span{min-height:39px;padding-bottom:9px;font-size:14px;text-align:center}
  .home-marquee{height:43px;padding:9px 0}
  .marquee-track{gap:20px;font-size:18px;line-height:25px}

  .home-intro{min-height:1525px;padding:60px 0}
  .intro-heading-grid{display:flex;flex-direction:column;align-items:center;text-align:center}
  .intro-heading-grid .section-label{order:2;margin-top:35px}
  .intro-heading-grid h2{font-size:43px;line-height:1.05;margin:0 0 22px}
  .intro-heading-grid p:not(.section-label){margin-top:17px}
  .intro-media-grid{display:flex;flex-direction:column;margin-top:52px}
  .intro-images{height:auto;display:flex;flex-direction:column;gap:20px}
  .intro-image-main{height:355px}
  .intro-image-small{height:220px}
  .intro-facts{height:auto;margin-top:50px;text-align:center}
  .fact-row{gap:20px}
  .fact-number{font-size:48px}
  .fact-row>div>p:last-child{margin-top:10px;font-size:14.4px}
  .intro-claim{margin-top:50px}
  .intro-claim>p{margin-bottom:25px}

  .home-portfolio{min-height:2501px;padding:60px 0}
  .portfolio-heading{display:flex;flex-direction:column;align-items:center;text-align:center}
  .portfolio-heading h2{font-size:43px;line-height:1.05;margin-bottom:20px}
  .portfolio-heading>.section-label{order:-1;margin-bottom:25px}
  .portfolio-grid{height:auto;display:flex;flex-direction:column;gap:37px;margin-top:55px}
  .portfolio-card,.portfolio-card:nth-child(1),.portfolio-card:nth-child(2),.portfolio-card:nth-child(3),.portfolio-card:nth-child(4){position:static;width:auto;height:auto}
  .portfolio-image,.portfolio-card:nth-child(1) .portfolio-image,.portfolio-card:nth-child(4) .portfolio-image{height:340px}
  .portfolio-caption{height:auto;min-height:98px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:17px}
  .portfolio-caption h3{font-size:21px}.portfolio-caption i{display:none}.portfolio-caption p{max-width:100%}

  .home-services{min-height:4000px;padding:60px 0}
  .services-heading{height:186px;gap:25px;text-align:center}
  .services-heading h2{font-size:43px}
  .service-list{gap:60px}
  .service-card,.service-card:first-child{min-height:545px;margin-bottom:0;padding:28px 20px;display:flex;flex-direction:column;border-radius:15px;position:relative;top:auto;z-index:auto}
  .service-title-row h3{max-width:83%;font-size:21px;line-height:1.2}
  .service-title-row span{font-size:14px}
  .service-text{padding-top:20px}
  .service-card img{order:-1;width:100%;height:205px;margin-bottom:28px}

  .home-approach{min-height:1676px;padding:60px 0}
  .approach-grid{display:flex;flex-direction:column}
  .approach-story{height:auto;text-align:center}
  .approach-lead{margin-top:28px;font-size:30px;line-height:1.5}
  .approach-image-block{width:100%;margin-top:54px}
  .approach-image-block>p{margin-bottom:25px}
  .approach-image-block img{width:100%;height:260px}
  .approach-steps{margin-top:56px;text-align:center}
  .approach-steps article{padding:25px 0 35px}
  .approach-steps article+article{padding-top:35px}
  .approach-steps h3{font-size:21px}
  .approach-button{display:inline-flex}

  .home-expertise{min-height:1166px;padding:60px 0}
  .expertise-heading{text-align:center}
  .expertise-heading h2{font-size:43px;margin:24px 0 20px}
  .expertise-grid{grid-template-columns:1fr;gap:22px;margin-top:48px}
  .expertise-card{height:230px}

  .home-promises{min-height:904px;padding:60px 0 0}
  .promise-heading{height:180px;display:flex;flex-direction:column;align-items:center;text-align:center}
  .promise-heading h2{font-size:43px;line-height:1.05}
  .promise-heading .section-label{order:-1;align-self:center;margin:0 0 25px}
  .promise-row,.promise-row:nth-child(3){height:166px;padding:24px 20px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:13px}
  .promise-row h3{font-size:21px}.promise-row p{justify-self:auto}.promise-row img{display:none}

  .home-testimonials{min-height:1225px;padding:60px 0}
  .testimonial-heading{display:flex;flex-direction:column;align-items:center;text-align:center}
  .testimonial-heading h2{font-size:43px;line-height:1.2;margin-top:25px}
  .testimonial-layout{display:flex;flex-direction:column;margin-top:50px}
  .testimonial-anniversary{width:250px;height:250px}
  .testimonial-stage{width:100%;margin-top:55px}
  .testimonial-slide{min-height:520px;padding:28px 22px}
  .testimonial-slide blockquote{font-size:14.4px}
  .testimonial-slide figcaption{align-items:flex-start;padding-bottom:35px}
  .testimonial-slide strong{font-size:16px}.testimonial-slide small{font-size:12px}
  .testimonial-controls{right:22px;bottom:25px}

  .home-news{min-height:871px;padding:60px 0}
  .home-news h2{font-size:43px;margin-bottom:45px}
  .news-track{gap:20px}
  .news-card{flex-basis:100%;height:610px}
  .news-card-image{height:260px}
  .news-card h3{margin-bottom:25px;font-size:21px}
  .news-arrow{top:278px}.news-arrow-prev{left:-18px}.news-arrow-next{right:-18px}

  .site-footer{padding-top:60px}
  .footer-logos{grid-template-columns:1fr 1fr;gap:30px 20px}
  .footer-main{grid-template-columns:1fr;padding:60px 0 35px;gap:42px}
  .footer-heading{font-size:21px}
  .footer-cta-wrap{align-items:flex-start}.footer-bottom{text-align:left}
  .page-hero-grid,.faq-layout,.contact-layout{grid-template-columns:1fr}.page-hero-grid h1,.legal-page h1,.article-hero h1,.not-found h1{font-size:46px}.page-hero-grid img{height:400px}.team-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.contact-form{padding:25px 20px}.section{padding:75px 0}
}

/* Contact — one-to-one rebuild of the original page. */
.page-contact{background:#f3f3f3}
.page-contact .site-header{height:88px;background:#f3f3f3;border-bottom:0;box-shadow:none}
.page-contact .header-inner{width:min(1300px,100%);padding:20px 0}
.page-contact .brand{width:210px}
.page-contact .primary-navigation{gap:0;margin-right:0;font-size:16px;line-height:20px}
.page-contact .primary-navigation a,.page-contact .primary-navigation .language-link{padding:0 30px;border:0;color:#505050}
.page-contact .primary-navigation a:after{display:none}
.contact-page{background:#f3f3f3;color:#505050}
.contact-shell{width:min(1300px,100%);margin-inline:auto;padding:112px 0 50px}
.contact-title{margin:0 0 128px;color:#0d1427;font:600 136px/1 Manrope,Inter,sans-serif;letter-spacing:0}
.contact-form{display:flex;flex-direction:column;gap:20px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px}
.contact-form .contact-field{display:block;margin:0}
.contact-form .contact-field>span{display:block;margin:0 0 7px;color:#0d1427;font:500 16px/21px Inter,Arial,sans-serif}
.contact-field>span b{color:#f00;font:inherit}
.contact-form input:not([type=hidden]):not([type=checkbox]),.contact-form textarea{display:block;width:100%;border:1px solid #cfcfcf;border-radius:25px;background:#f6f7fa;color:#0d1427;font:400 14px/18px Inter,Arial,sans-serif;outline:0;transition:background-color .2s,border-color .2s}
.contact-form input:not([type=hidden]):not([type=checkbox]){height:51.333px;padding:15px 24px 17px}
.contact-form textarea{height:195px;padding:15px 24px;resize:vertical}
.contact-form input:not([type=hidden]):not([type=checkbox])::placeholder,.contact-form textarea::placeholder{color:#878991;font-weight:500;opacity:1}
.contact-form input:not([type=hidden]):not([type=checkbox]):hover,.contact-form textarea:hover{color:#000}
.contact-form input:not([type=hidden]):not([type=checkbox]):focus,.contact-form textarea:focus{border-color:#d6d8e0;background:#fff;color:#000}
.contact-form .contact-consent{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;margin:0;color:#505050;cursor:pointer}
.contact-form .contact-consent input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;padding:0;border:1px solid #aeb0b5;border-radius:3px;background:#fff;accent-color:#2b2b2b;cursor:pointer}
.contact-form .contact-consent-text{display:block;margin:0;color:#505050;font:400 14px/21px Inter,Arial,sans-serif}
.contact-form .contact-consent-text a{color:#2b2b2b;text-decoration:underline;text-underline-offset:2px}
.contact-form .contact-consent-text b{color:#f00;font:inherit}
.contact-submit{align-self:flex-start;min-width:0;height:56px;padding:19px 40px;border:0;border-radius:50px;background:#2b2b2b;color:#fff;font:500 17.6px/18px Inter,Arial,sans-serif;cursor:pointer;transition:background-color .2s,color .2s}
.contact-submit:hover{background:#fff;color:#505050}
.page-contact .site-footer{min-height:0;padding-top:0;border-top:0;background:#f3f3f3;color:#505050}
.page-contact .footer-logos{width:min(1300px,100%);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:100px 0 72px;border-top:1px solid rgba(80,80,80,.23);border-bottom:0}
.page-contact .footer-logos img{width:70%;max-height:none;filter:none;opacity:1;object-fit:contain}
.page-contact .footer-main{width:min(1300px,100%);height:228px;min-height:228px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:30px;padding:0}
.page-contact .footer-heading{height:24px;margin:0 0 20px;color:#2b2b2b!important;font:500 24px/24px Manrope,Inter,sans-serif}
.page-contact .footer-main>div:not(.footer-cta-wrap) a,.page-contact .footer-link{display:flex;align-items:center;min-height:24px;margin:0;padding:0;color:#505050;font:400 16px/24px Inter,Arial,sans-serif}
.page-contact .footer-main>div:not(.footer-contact):not(.footer-cta-wrap) a{padding:3px 0}
.page-contact .footer-main a:hover,.page-contact .footer-link:hover{color:#2b2b2b}
.page-contact .footer-contact>a:last-child{align-items:flex-start;margin-top:40px}
.page-contact .footer-contact-icon{display:inline-block;width:20px;flex:0 0 20px;color:#505050;font-size:13px;line-height:1}
.page-contact .footer-cta-wrap{display:flex;min-height:228px;flex-direction:column;align-items:flex-end;gap:20px}
.page-contact .anniversary-mark{width:132.78px}
.page-contact .footer-cta-wrap .button{min-height:59px;padding:17px 30px;border-color:#2b2b2b;border-radius:50px;background:#2b2b2b;color:#fff;font:400 18px/24px Inter,Arial,sans-serif;gap:15px}
.page-contact .footer-cta-wrap .button:hover{border-color:#cfcfcf;background:transparent;color:#505050;transform:none}
.page-contact .footer-bottom{width:min(1300px,100%);height:64.667px;padding:20px;border-top:1px solid #cfcfcf;color:#505050;font:400 16px/24px Inter,Arial,sans-serif;text-align:center}

@media(max-width:1024px){
  .page-contact .site-header{height:120.052083px}
  .page-contact .header-inner{width:100%;padding:30px}
  .page-contact .brand{width:263.9375px}
  .page-contact .primary-navigation a,.page-contact .primary-navigation .language-link{padding:10px 0}
  .contact-shell{padding:57px 15px 45px}
  .contact-title{font-size:33.6px}
  .page-contact .footer-logos{padding:120px 30px 72px}
  .page-contact .footer-main{width:calc(100% - 60px);height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 0}
  .page-contact .footer-cta-wrap{align-items:flex-end}
}

@media(max-width:767px){
  .page-contact .site-header{height:77.59375px}
  .page-contact .header-inner{padding:20px}
  .page-contact .brand{width:94.395833px}
  .contact-shell{padding:57px 15px 45px}
  .contact-title{margin-bottom:58px;font-size:28.8px}
  .contact-form{gap:20px;padding:0}
  .field-grid{grid-template-columns:1fr;gap:20px}
  .page-contact .footer-logos{grid-template-columns:1fr;gap:20px;padding:40px 10px 20px}
  .page-contact .footer-logos img{width:50%}
  .page-contact .footer-main{width:calc(100% - 20px);min-height:0;grid-template-columns:1fr 1fr;gap:40px 20px;padding-top:30px}
  .page-contact .footer-heading{font-size:20px}
  .page-contact .footer-main>div:not(.footer-cta-wrap) a,.page-contact .footer-link{font-size:14.4px;line-height:20px}
  .page-contact .footer-contact>a:last-child{margin-top:20px}
  .page-contact .footer-cta-wrap{min-height:0;align-items:flex-end}
  .page-contact .anniversary-mark{width:50%}
  .page-contact .footer-cta-wrap .button{min-height:0;padding:8px 12px;font-size:13px;line-height:18px}
  .page-contact .footer-bottom{width:100%;height:auto;margin-top:20px;padding:20px 10px;font-size:14.4px;line-height:20px}
}

/* Original navigation dimensions and drawer behavior, shared by every route. */
:root{--header:89.21875px}
body.menu-open{overflow-x:hidden;overflow-y:auto}
body[class] .site-header{height:var(--header);background:#f3f3f3;border:0;box-shadow:none}
body[class] .header-inner{width:min(1300px,100%);height:100%;margin:auto;padding:20px 0;display:flex;align-items:center;justify-content:space-between}
body[class] .brand{display:block;width:216px;flex:0 0 auto;line-height:0}
body[class] .brand img{width:100%;height:auto;transform:none}
body[class] .primary-navigation{display:flex;align-items:center;gap:0;margin:0 0 0 auto;font:400 16px/20px Inter,Arial,sans-serif}
body[class] .primary-navigation>a,body[class] .primary-navigation>.language-link{display:flex;align-items:center;position:relative;width:auto;height:20px;margin:0;padding:0 30px;border:0;color:#505050}
body[class] .primary-navigation>a:after{display:none}
body[class] .primary-navigation>a:hover,body[class] .primary-navigation>a[aria-current=page]{color:#505050}
body[class] .menu-toggle,body[class] .menu-close,body[class] .navigation-backdrop{display:none;border:0;background:transparent;padding:0;cursor:pointer}

@media(max-width:1024px){
  :root{--header:120.052083px}
  body[class] .header-inner{width:100%;padding:30px}
  body[class] .brand{width:263.9375px}
  body[class] .menu-toggle{display:inline-flex;position:relative;z-index:auto;width:49px;height:38.666667px;flex:0 0 49px;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#494c4f}
  body[class] .menu-toggle>span:not(.sr-only){display:block;width:23px;height:1px;margin:0;background:currentColor;transform:none;opacity:1}
  body[class] .menu-toggle[aria-expanded=true]{outline:none}
  body[class] .navigation-backdrop{display:block;position:fixed;inset:0;z-index:101;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility 0s linear .35s}
  body[class] .navigation-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
  body[class] .primary-navigation{display:flex;position:fixed;inset:0 auto 0 0;z-index:102;width:300px;height:100dvh;margin:0;padding:100px 0 0;background:#f3f3f3;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;transform:translateX(-100%);visibility:hidden;transition:transform .35s ease,visibility 0s linear .35s;font:400 16px/24px Inter,Arial,sans-serif}
  body[class] .primary-navigation.is-open{transform:translateX(0);visibility:visible;transition-delay:0s}
  body[class] .primary-navigation>a,body[class] .primary-navigation>.language-link{display:flex;width:100%;height:44px;margin:0;padding:10px 0;align-items:center;justify-content:center;border:0;color:#505050}
  body[class] .menu-close{display:flex;position:absolute;top:25px;right:15px;width:32px;height:22px;align-items:center;justify-content:flex-start;color:#494c4f}
  body[class] .menu-close span{position:relative;display:block;width:22px;height:22px}
  body[class] .menu-close span:before,body[class] .menu-close span:after{content:"";position:absolute;top:10px;left:0;width:22px;height:1px;background:currentColor}
  body[class] .menu-close span:before{transform:rotate(45deg)}
  body[class] .menu-close span:after{transform:rotate(-45deg)}
}

@media(max-width:767px){
  :root{--header:77.59375px}
  body[class] .header-inner{padding:20px}
  body[class] .brand{width:94.395833px}
  body[class] .brand img{transform:translateY(.666667px)}
  body[class] .menu-toggle{height:37.59375px}
  body[class] .primary-navigation{font-size:12.96px;line-height:19.44px}
  body[class] .primary-navigation>a,body[class] .primary-navigation>.language-link{height:39.4375px}
  body[class] .menu-close{top:26.572917px}
}

body.page-contact .site-header{height:87.833335px}
body.page-contact .brand{width:210px}
@media(max-width:1024px){body.page-contact .site-header{height:120.052083px}body.page-contact .brand{width:263.9375px}}
@media(max-width:767px){body.page-contact .site-header{height:77.59375px}body.page-contact .brand{width:94.395833px}}

/* Consent dialog */
body.consent-open{overflow:hidden}
.cookie-consent[hidden]{display:none!important}
.cookie-consent{position:fixed;inset:0;z-index:1000;display:grid;align-items:end;padding:24px;background:rgba(13,20,39,.54);color:#2b2b2b}
.cookie-consent-panel{width:min(1080px,100%);max-height:calc(100dvh - 48px);margin:0 auto;padding:31px 34px 30px;overflow:auto;border:1px solid rgba(43,43,43,.16);border-radius:18px;background:#f6f7fa;box-shadow:0 24px 70px rgba(13,20,39,.24)}
.cookie-consent-heading{display:flex;align-items:center;gap:26px}
.cookie-consent-heading img{width:150px;height:auto;flex:0 0 auto}
.cookie-consent-heading p{margin:0 0 3px;color:#505050;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.cookie-consent-heading h2{margin:0;color:#0d1427;font:600 30px/1.15 Manrope,Inter,sans-serif;outline:0}
.cookie-consent-intro{max-width:900px;margin:22px 0;color:#505050;font-size:15px;line-height:1.55}
.cookie-consent-categories{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cookie-consent-category{display:flex;min-height:122px;align-items:flex-start;justify-content:space-between;gap:22px;padding:19px 20px;border:1px solid #cfd2d8;border-radius:12px;background:#fff}
.cookie-consent-category.is-required{background:#eff1f4}
.cookie-consent-category strong{display:block;margin-bottom:6px;color:#0d1427;font:600 17px/1.3 Manrope,Inter,sans-serif}
.cookie-consent-category>div>span{display:block;color:#505050;font-size:13px;line-height:1.45}
.consent-switch{position:relative;display:block;width:48px;height:27px;flex:0 0 48px;margin-top:1px;cursor:pointer}
.consent-switch input{position:absolute;width:1px;height:1px;opacity:0}
.consent-switch>span:last-child{display:block;width:48px;height:27px;border:1px solid #9ba0aa;border-radius:999px;background:#d9dce2;transition:background-color .2s,border-color .2s}
.consent-switch>span:last-child:after{content:"";display:block;width:19px;height:19px;margin:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(13,20,39,.25);transition:transform .2s}
.consent-switch input:checked+span{border-color:#0d1427;background:#0d1427}
.consent-switch input:checked+span:after{transform:translateX(21px)}
.consent-switch input:focus-visible+span{outline:3px solid #17cae8;outline-offset:3px}
.consent-switch input:disabled+span{border-color:#737984;background:#737984;cursor:not-allowed}
.cookie-consent-details{margin:15px 0 0;border-top:1px solid #d7d9dd;border-bottom:1px solid #d7d9dd}
.cookie-consent-details summary{padding:12px 0;color:#0d1427;font-size:13px;font-weight:600;cursor:pointer}
.cookie-consent-details summary:focus-visible,.cookie-consent-meta a:focus-visible,.consent-button:focus-visible{outline:3px solid #17cae8;outline-offset:3px}
.cookie-consent-details dl{margin:0 0 13px}
.cookie-consent-details dl>div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:7px 0;border-top:1px solid #e5e6e9;font-size:12px;line-height:1.4}
.cookie-consent-details dt{color:#0d1427;font-weight:600}.cookie-consent-details dd{margin:0;color:#505050}
.cookie-consent-meta{display:flex;gap:20px;margin:14px 0}
.cookie-consent-meta a{color:#505050;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.cookie-consent-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.consent-button{min-height:50px;padding:13px 20px;border:1px solid #0d1427;border-radius:999px;font:600 14px/1.2 Inter,Arial,sans-serif;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.consent-button-secondary{background:#fff;color:#0d1427}
.consent-button-primary{background:#0d1427;color:#fff}
.consent-button:hover{border-color:#17cae8;background:#17cae8;color:#0d1427}

@media(max-width:767px){
  .cookie-consent{padding:0;background:rgba(13,20,39,.58)}
  .cookie-consent-panel{max-height:92dvh;padding:24px 19px 20px;border-width:1px 0 0;border-radius:18px 18px 0 0}
  .cookie-consent-heading{align-items:flex-start;gap:16px}
  .cookie-consent-heading img{width:94px;margin-top:4px}
  .cookie-consent-heading h2{font-size:24px}
  .cookie-consent-intro{margin:18px 0;font-size:13px}
  .cookie-consent-categories{grid-template-columns:1fr;gap:10px}
  .cookie-consent-category{min-height:0;padding:15px;gap:15px}
  .cookie-consent-category strong{font-size:15px}
  .cookie-consent-category>div>span{font-size:12px}
  .cookie-consent-actions{grid-template-columns:1fr}
  .consent-button{min-height:46px}
}
