@font-face{font-family:Manrope;src:url('fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/manrope-600.ttf') format('truetype');font-weight:600 800;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('fonts/space-grotesk-500.ttf') format('truetype');font-weight:400 500;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('fonts/space-grotesk-700.ttf') format('truetype');font-weight:600 800;font-display:swap}
/* One palette, type scale, grid and interaction language across all pages. */
:root{--bg:#f7f6f2;--bg-2:#eeede7;--ink:#191919;--body:#555550;--muted:#71716a;--red:#c82b32;--dark:#191919;--line:#d8d7d0;--gutter:clamp(1.25rem,5vw,5rem);--maxw:1480px;--f:Manrope,Arial,sans-serif;--display:'Space Grotesk',Arial,sans-serif;--fm:var(--f);--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem;background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font-family:var(--f);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--red);color:#fff}
img,svg{max-width:100%}img{display:block;height:auto}svg{vertical-align:middle}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:2px solid var(--red);outline-offset:5px}[hidden]{display:none!important}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(4.5rem,8vw,8rem)}
h1,h2,h3,p,figure{margin:0}p+p{margin-top:1.2em}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.08;letter-spacing:-.045em;overflow-wrap:anywhere}
h1{color:var(--red);font-size:clamp(3rem,6.5vw,6rem)}h2{color:var(--red);font-size:clamp(2.2rem,4.3vw,4.25rem)}h3{color:var(--ink);font-size:1.5rem;letter-spacing:-.035em;line-height:1.2}
em{font-style:normal;color:inherit}b{font-weight:500}
.label,.step{font-family:var(--f);font-size:.64rem;letter-spacing:.13em;line-height:1.6;text-transform:uppercase;font-weight:600}
.label{display:block;color:var(--muted);margin-bottom:1.5rem}.red,.step{color:var(--red)}
.lede{font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.75;color:var(--body);max-width:46ch}
.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:end;margin-bottom:3.5rem}.section-heading .lede{max-width:39ch;justify-self:end}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:.95rem 1.35rem;font-size:.8rem;font-weight:600;line-height:1.4;min-height:50px;border:1px solid var(--ink);border-radius:2px;transition:background .25s,color .25s,border-color .25s}
.btn>span:last-child:not(:first-child){font-size:1.2rem}.btn--red{background:var(--ink);color:var(--bg)}.btn--red:hover{background:var(--red);border-color:var(--red)}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1.8rem;min-height:44px;font-size:.8rem;font-weight:600}.text-link:hover{color:var(--red)}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;background:var(--ink);color:#fff;padding:1rem}.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}
/* Quiet navigation and a single opening composition. */
.site-head{position:sticky;top:0;z-index:50;background:rgba(247,246,242,.96);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:2rem;min-height:88px}.brand{display:flex;flex:none;align-items:center}.brand svg,.brand-reveal,.fl{color:var(--red)}.brand svg{width:74px;height:47px;display:block}
.main-nav{display:flex;align-items:center;gap:2rem;margin-left:auto}.main-nav a{display:flex;align-items:center;min-height:44px;font-size:.75rem;font-weight:600}.main-nav a:hover{color:var(--red)}.main-nav .nav-contact{display:none}
.head-right{display:flex;align-items:center;gap:1.5rem}.lang{display:flex}.lang button{border:0;background:none;min-width:36px;min-height:44px;padding:.3rem;color:var(--muted);font-size:.62rem}.lang button[aria-current=true]{color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--red)}.head-cta{min-height:44px;padding:.6rem 1rem}.menu-btn{display:none}
.hero{padding-top:2.6rem;position:relative;overflow:hidden}.hero-eyebrow{display:flex;justify-content:space-between;align-items:center;gap:1rem}.hero-eyebrow .label{margin:0}.hero-tools{display:flex;align-items:center}
.hero-grid{position:relative;margin-top:4rem}.hero-copy{width:100%}.hero h1{font-size:clamp(3.8rem,8.2vw,8rem);line-height:1;letter-spacing:-.065em;max-width:15ch;margin:0 0 3rem}
.hero-details{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.hero-copy .lede{max-width:49ch;font-size:1.05rem}.hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:2rem;margin-top:.4rem}
.brand-film{position:absolute;right:0;top:.5rem;width:160px;height:115px;display:grid;place-items:center;pointer-events:none}
.brand-reveal{width:145px;height:auto;animation:brand-reveal 2.4s var(--ease) both}.brand-trace{position:absolute;top:50%;width:34px;height:1px;background:var(--red);opacity:0;animation:brand-trace 2.4s var(--ease) both}.trace-left{left:-25px;transform-origin:right}.trace-right{right:-25px;transform-origin:left}.brand-pulse{display:none}
@keyframes brand-reveal{0%,8%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(8px)}65%,100%{opacity:1;clip-path:inset(0);transform:none}}
@keyframes brand-trace{0%{opacity:0;transform:scaleX(0)}20%,30%{opacity:1;transform:scaleX(1)}75%,100%{opacity:0;transform:scaleX(0)}}
.brand-film[data-paused=true]>*{animation-play-state:paused}html:not(.js) .brand-film>*{animation:none}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding-block:2.2rem;margin-top:3.5rem;border-top:1px solid var(--line)}.hero-bottom>.label{margin:0;max-width:20ch}
.stats{display:grid;grid-template-columns:1fr;gap:0;margin:0;width:auto}.stats>div{display:flex;align-items:center;gap:1rem;min-width:0}.stats dt{font-family:var(--display);font-size:2.7rem;letter-spacing:-.06em;line-height:1}.stats dd{margin:0;color:var(--muted);font-size:.68rem;line-height:1.6;max-width:13ch}
/* Restrained client wall. */
.clients{border-block:1px solid var(--line);padding-block:2.2rem}.clients-head{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.clients-head .label{margin:0}.clients-head p{font-size:.73rem;color:var(--muted)}.marquees{margin-top:1.5rem;display:flex;flex-direction:column;gap:0}
.marquee{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;touch-action:pan-y pinch-zoom;overscroll-behavior-x:contain;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.marquee::-webkit-scrollbar{display:none}.marquee.dragging{cursor:grabbing}.track{display:flex;width:max-content}.row{display:flex;align-items:center;list-style:none;margin:0;padding:0}.row li{width:clamp(140px,13vw,190px);height:4rem;flex:none;display:flex;align-items:center;justify-content:center;padding:.7rem 1.8rem}.row img{max-width:100%;max-height:32px;width:auto;height:auto;object-fit:contain;opacity:.7}.clients-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.marquee-hint{font-size:.6rem;color:var(--muted)}#logosPause{font-size:.65rem;min-height:44px;border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
/* Shared alignment; contrasting surfaces mark the change of subject. */
.manifesto-band{background:var(--dark);color:var(--bg)}
.manifesto-band .label,.manifesto-band .mf-body,.manifesto-band .tri p{color:#c2c1b9}.manifesto-band h2{color:#f36d74}.manifesto-band .mf-body strong,.manifesto-band .tri h3{color:var(--bg)}.manifesto-band .tri article{border-color:#494944}.manifesto-band .step{color:#f36d74}.section-kicker{margin-bottom:2.5rem}.section-kicker .label{margin:0}.mf-top{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem}.mf-top h2{max-width:15ch}.mf-body{max-width:51ch;color:var(--body);font-size:.96rem}.mf-body strong{color:var(--ink);font-weight:600}
.tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:4rem}.tri article{border-top:1px solid var(--line);padding-top:1.2rem}.tri h3{margin:1.5rem 0 .8rem;font-size:1.5rem}.tri p{color:var(--body);font-size:.85rem;line-height:1.75;max-width:40ch}
.svc-sec,.off-sec,.method,.dl,.offices{border-top:1px solid var(--line)}.off-sec{background:var(--bg-2);padding-block:clamp(4.5rem,8vw,8rem)}.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;align-items:start}
.svc{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:1.15rem;align-content:start;min-width:0;padding:1.8rem;border:1px solid var(--line);background:var(--bg-2);transition:border-color .25s,background .25s}.svc:hover,.svc:focus-within{border-color:var(--red)}.off-sec .svc{background:var(--bg)}.svc-card-top{display:contents}.svc-ico{grid-column:1;grid-row:1 / 4;padding-top:.2rem;color:var(--ink)}.svc-ico svg{width:26px;height:26px}.svc:hover .svc-ico{color:var(--red)}.svc-kicker{grid-column:2;grid-row:1;font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin:0 0 .7rem}.svc h3{grid-column:2;grid-row:2;font-size:1.5rem}.svc-more{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.3rem;color:var(--ink)}.svc-more>span{font-size:.7rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}.svc-more svg{width:19px;height:19px;transition:transform .3s var(--ease)}.svc:hover .svc-more svg{transform:translate(2px,-2px);color:var(--red)}
.method{background:var(--bg)}.method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem;margin-top:3.5rem}.method-grid article{border-top:1px solid var(--line);padding-top:1.2rem}.method-grid h3{margin:1.8rem 0 .9rem;font-size:1.5rem}.method-grid p{font-size:.85rem;line-height:1.75;color:var(--body)}
.service-fit{background:var(--bg-2);border-left:2px solid var(--red);padding:1.5rem 1.7rem;margin-bottom:2.2rem}.service-fit h3{font-size:1.35rem;margin-bottom:.8rem}.service-fit p{font-size:.96rem;line-height:1.8}
.section>.wrap>.label::before,.offices-heading>.label::before{content:"";display:inline-block;vertical-align:middle;width:24px;height:2px;background:var(--red);margin-right:.75rem}
/* A single profile panel is the deliberate red statement. */
.dl-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.dl .lede{margin-top:1.5rem}.dl-card{display:flex;flex-direction:column;background:var(--red);color:var(--bg);padding:2rem;border-radius:2px;transition:background .25s}.dl-card:hover{background:#af2029}.dl-card-top,.dl-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem}.dl-card-top .label{color:inherit;margin:0;font-size:.6rem}.dl-card-top>span:last-child{font-size:1.8rem}.dl-wordmark{font-family:var(--display);font-size:clamp(2.5rem,4vw,4rem);line-height:1.05;letter-spacing:-.05em;margin:2.5rem 0}.dl-card-bottom{border-top:1px solid #ffffff55;padding-top:1.2rem;font-size:.65rem}.dl-card-bottom .act{white-space:nowrap}
/* Three moving views, treated as one editorial sequence. */
.offices{padding-block:clamp(4rem,7vw,6rem);background:#242421;--ink:#f7f6f2;--body:#c7c6bf;--muted:#b8b7ae;--line:rgba(247,246,242,.18);--bg-2:#242421;color:var(--ink)}.offices-heading{margin-bottom:2.4rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem 3rem;align-items:end}.offices-heading .label{grid-column:1/-1}.offices-intro{max-width:44ch;justify-self:end;color:var(--body);font-size:.95rem;line-height:1.7}.offices-heading .label{margin-bottom:1rem}.offices-heading h2{color:var(--ink);font-size:clamp(1.8rem,3vw,2.8rem)}.of-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem;border-top:1px solid var(--line);padding-top:1.5rem}.city-card{min-width:0;display:flex;flex-direction:column}.city-caption{order:-1}.city-image{position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--bg-2);border-radius:2px}.city-image img,.city-image video{width:100%;height:100%;object-fit:contain}.city-image video{position:absolute;inset:0;opacity:0;transition:opacity .45s;pointer-events:none}.city-image.is-playing video{opacity:1}.city-caption{position:relative;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.35rem 1rem;padding-top:0;margin-top:0;border-bottom:0;padding-bottom:1.15rem}.city-caption .label{grid-column:1/-1;margin:0;color:var(--muted);font-size:.58rem}.city-caption h3{font-size:1.65rem}.city-role{font-size:.56rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
/* Contact and footer form one dark closing section. */
.contact-sec{background:var(--dark);color:var(--bg)}.contact{display:grid;grid-template-columns:1.15fr 1fr;gap:6rem}.contact h2{color:var(--bg);font-size:clamp(2.7rem,5vw,5rem)}.contact-sec .label,.contact-direct small{color:#b7b7ae}.contact .lede{color:#b7b7ae;margin-top:1.5rem}.contact-direct{margin-top:2.5rem}.contact-direct small{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem}.contact-direct a{font-family:var(--display);font-size:clamp(1.5rem,2.4vw,2.3rem);letter-spacing:-.04em;border-bottom:1px solid #777770}.contact-direct a:hover{color:#fff}
form{display:flex;flex-direction:column;gap:1.7rem;padding-top:.25rem}.row2{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.66rem;letter-spacing:.05em;color:#cecec6}.field input,.field textarea{width:100%;background:transparent;color:var(--bg);border:0;border-bottom:1px solid #62625d;border-radius:0;min-height:48px;padding:.75rem 0;font-size:1rem}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid #b7b7ae;outline-offset:4px}.hp{position:absolute;left:-9999px}form .btn{align-self:flex-start;min-width:220px;background:var(--bg);color:var(--ink);border-color:var(--bg)}form .btn:hover{background:#fff}.form-msg{font-size:.85rem;color:var(--bg);margin:0}.form-msg a{text-decoration:underline}
.site-foot{background:var(--dark);color:var(--bg);border-top:1px solid #41413d;overflow:hidden}.site-foot>.wrap:first-child{display:grid;grid-template-columns:auto 1fr auto;gap:2rem 4rem;align-items:center;padding-block:2.5rem}.site-foot .fl{width:74px;height:47px}.foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.5rem;font-size:.73rem}.foot-nav a{display:flex;align-items:center;min-height:44px}.foot-meta{font-size:.6rem;color:#aaa99f;line-height:1.8}.foot-meta:last-child{grid-column:2/-1;text-align:right}.foot-statement{font-family:var(--display);font-size:clamp(1.8rem,4.7vw,4.5rem);line-height:1.15;letter-spacing:-.05em;padding-block:1rem 3rem}.foot-statement span{color:#a8a89e}
/* Service pages use the same grid and typographic hierarchy. */
.svc-hero{padding-top:2.5rem}.back{color:var(--body);margin-bottom:3rem;font-size:.75rem}.service-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:5rem;align-items:center}.service-heading h1{font-size:clamp(2.7rem,5.3vw,5.5rem);max-width:15ch}.service-heading .lede{margin-top:1.8rem}.service-heading .btn{margin-top:2rem}.chips{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:1.5rem 0 0;padding:0}.chips li{border:1px solid var(--line);padding:.4rem .65rem;font-size:.62rem;max-width:100%;overflow-wrap:anywhere;line-height:1.5}.service-poster{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1;background:var(--bg-2);color:var(--ink);padding:1.75rem;border:1px solid var(--line);border-radius:2px}.service-poster>svg{width:45%;height:45%;align-self:center;color:var(--red)}.poster-top,.poster-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.6rem;letter-spacing:.08em}.poster-top span,.poster-bottom span{font-size:1.5rem}.svc-text{border-block:1px solid var(--line)}.service-body{display:grid;grid-template-columns:1fr 1.3fr;gap:5rem}.service-body h2{max-width:13ch}.service-body .col{max-width:62ch;color:var(--body);font-size:1.05rem;line-height:1.9}.service-body strong{color:var(--ink);font-weight:600}.svc-next h2{margin-bottom:2.5rem}.svc-next ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.svc-next li a{display:flex;align-items:center;gap:1rem;padding:1.3rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:100%;font-size:.83rem;line-height:1.4}.svc-next li a:hover{background:var(--bg-2)}.svc-next .i{flex:none;color:var(--red)}.svc-next svg{width:24px;height:24px}
@keyframes settle{from{opacity:.6;transform:translateY(10px)}to{opacity:1;transform:none}}.is-revealed{animation:settle .6s var(--ease) both}
@media(max-width:1100px){.main-nav{gap:1.2rem}.site-head .wrap{gap:1.2rem}.head-right{gap:.8rem}.hero-details{gap:2rem}.hero-actions{flex-direction:column;align-items:flex-end;gap:.65rem}.hero h1{font-size:clamp(3.8rem,8.4vw,6rem)}.brand-film{width:100px;height:80px}.brand-reveal{width:100px}.brand-trace{display:none}.stats{width:auto}.stats>div{gap:1rem}.mf-top,.contact,.dl-grid,.service-heading,.service-body{gap:3rem}.method-grid{gap:1.5rem}.city-caption{grid-template-columns:1fr}.site-foot>.wrap:first-child{grid-template-columns:auto 1fr;gap:1.5rem 3rem}.foot-meta{grid-column:2}.foot-meta:last-child{text-align:left}.foot-nav{justify-content:flex-start}}
@media(max-width:900px){.head-cta{display:none}.head-right{margin-left:auto}.site-head .wrap{min-height:78px}.main-nav a{font-size:.7rem}.svc-grid{gap:1.5rem}.section-heading{gap:2rem}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}.contact{gap:2rem}.row2{grid-template-columns:1fr}.svc-next ul{grid-template-columns:1fr 1fr}.service-heading h1{font-size:3rem}.of-grid{gap:1.2rem}}
@media(max-width:760px){
 html:not(.js) .site-head{position:static}html:not(.js) .site-head .wrap{flex-wrap:wrap;padding-block:1rem}html:not(.js) .main-nav{display:flex;position:static;order:3;width:100%;padding:0;flex-wrap:wrap;border:0}html:not(.js) .menu-btn{display:none}
 .site-head .wrap{min-height:72px}.brand svg{width:65px;height:42px}.head-right{gap:.5rem}.lang button{min-width:40px}.menu-btn{display:flex;align-items:center;gap:.6rem;min-height:44px;border:1px solid var(--line);background:none;padding:.4rem .65rem;color:var(--ink);font-size:.65rem}.menu-icon{width:15px;height:8px;border-block:1px solid currentColor}.menu-btn[aria-expanded=true] .menu-icon{transform:rotate(-45deg);height:0;border-bottom:0}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:1rem var(--gutter) 1.5rem;border-bottom:1px solid var(--line);max-height:calc(100dvh - 72px);overflow:auto}.main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.main-nav a{padding:.7rem 0;font-size:1.1rem;font-family:var(--display);border-bottom:1px solid var(--line);min-height:52px}.main-nav .nav-contact{display:flex}
 .hero{padding-top:1.7rem}.hero-location{display:none}.hero-grid{margin-top:2.3rem}.hero h1{font-size:clamp(3rem,9.4vw,4.8rem);max-width:15ch;margin-bottom:2rem}.brand-film{position:absolute;top:-62px;right:0;width:65px;height:42px;margin:0}.brand-reveal{width:65px}.hero-details{grid-template-columns:1fr;gap:1rem}.hero-copy .lede{font-size:1rem;max-width:48ch}.hero-actions{flex-direction:row;justify-content:flex-start;align-items:center;gap:1.5rem;margin-top:.4rem}.hero-bottom{margin-top:2.5rem;display:block;padding-block:1.8rem}.hero-bottom>.label{max-width:none;margin-bottom:1.5rem}.stats{width:auto;gap:0}.stats dt{font-size:2.4rem}.stats dd{font-size:.65rem}
 .mf-top,.section-heading,.contact,.service-heading,.service-body{grid-template-columns:1fr;gap:2rem}.mf-top h2{max-width:18ch}.section-heading .lede{justify-self:start;max-width:48ch}.mf-body{max-width:60ch}.tri{gap:1.5rem}.tri h3{font-size:1.3rem}.tri p{font-size:.82rem}.svc-grid{grid-template-columns:1fr}.svc{grid-template-columns:32px minmax(0,1fr);padding-block:1.5rem}.svc h3{font-size:1.4rem}.svc-ico svg{width:24px;height:24px}.dl-grid{gap:2rem}.dl-wordmark{font-size:2.6rem}.dl-card{padding:1.5rem}.row2{grid-template-columns:1fr 1fr}.contact h2{font-size:3rem}.service-heading h1{font-size:clamp(2.7rem,7vw,4.2rem);max-width:20ch}.service-poster{aspect-ratio:1.7}.service-body h2{max-width:none}.service-body .col{font-size:1rem}
}
@media(max-width:600px){
 .clients-head{align-items:flex-start}.clients-head p{font-size:.66rem;max-width:26ch;text-align:right}.row li{width:132px;height:3.6rem;padding:.7rem 1.4rem}.row img{max-height:28px}.marquee-hint{font-size:.55rem;max-width:26ch}.tri{grid-template-columns:1fr;gap:1.8rem}.tri article{display:block}.tri h3{margin:0 0 .6rem;font-size:1.4rem}.tri p{max-width:45ch;font-size:.87rem}.method-grid{grid-template-columns:1fr;gap:1.8rem;margin-top:2.5rem}.method-grid article{display:block}.method-grid h3{margin:0 0 .6rem}.dl-grid{grid-template-columns:1fr;gap:2.5rem}.dl-card{max-width:100%}.of-grid{grid-template-columns:1fr;gap:1.5rem}.offices-heading{grid-template-columns:1fr;gap:.7rem}.offices-intro{justify-self:start}.city-card{display:flex;gap:0;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.city-image{aspect-ratio:16/9}.city-caption{display:grid;grid-template-columns:1fr auto;border:0;padding:0 0 1rem}.city-caption .label{margin-bottom:.45rem}.city-caption h3{font-size:1.5rem}.city-role{display:block;margin-top:.4rem;font-size:.55rem}.site-foot>.wrap:first-child{grid-template-columns:1fr}.foot-nav{display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1rem}.foot-meta,.foot-meta:last-child{grid-column:1}.foot-statement{font-size:8vw}.svc-next ul{grid-template-columns:1fr}.contact h2{font-size:2.75rem}}
@media(max-width:390px){.site-head .wrap{gap:.4rem}.head-right{gap:.25rem}.lang button{min-width:35px}.menu-btn{padding-inline:.5rem;gap:.4rem}.hero h1{font-size:2.9rem}.hero-actions{flex-direction:column;align-items:stretch;gap:.5rem}.hero-actions .text-link{justify-content:space-between}.stats dt{font-size:2.1rem}.stats dd{font-size:.6rem}.row2{grid-template-columns:1fr}form .btn{width:100%}.dl-card-bottom{font-size:.58rem}.poster-top,.poster-bottom{font-size:.52rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.svc-more{grid-column:2;grid-row:3}
/* Editorial mosaic: portrait and landscape photography in their own proportions. */
.outdoor-gallery{margin-block:0 4rem}.outdoor-mosaic{display:grid;grid-template-columns:.8fr 1.8fr .8fr;gap:clamp(12px,1.5vw,24px);align-items:center;height:clamp(360px,40vw,550px)}.outdoor-tile{position:relative;isolation:isolate;overflow:hidden;border-radius:2px;min-width:0;height:100%}.outdoor-tile--landscape{height:76%}.outdoor-tile--detail{height:83%;align-self:end}.outdoor-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;pointer-events:none}.outdoor-slide.is-active{opacity:1}.outdoor-tile--portrait img{object-position:center 35%}.method-head{max-width:48rem}
@media(max-width:760px){.svc{padding:1.4rem 1.2rem;column-gap:.8rem}.outdoor-gallery{margin-bottom:2.5rem}.outdoor-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto 250px;height:auto;gap:12px;align-items:start}.outdoor-tile--landscape{grid-column:1/-1;grid-row:1;aspect-ratio:3/2;height:auto}.outdoor-tile--portrait{grid-column:1;grid-row:2;height:100%}.outdoor-tile--detail{grid-column:2;grid-row:2;height:88%;align-self:start}}
@media(prefers-reduced-motion:reduce){.outdoor-mosaic{height:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;align-items:start}.outdoor-tile{display:contents}.outdoor-slide{position:static;opacity:1;height:auto;width:100%;transition:none}.outdoor-mosaic img{border-radius:2px}}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.outdoor-mosaic{grid-template-columns:1fr 1fr}}

/* A quiet photographic band closes section 04 using the approved outdoor shots. */
.method-photos{display:grid;grid-template-columns:9fr 4fr 4fr;gap:clamp(12px,1.5vw,24px);margin-top:clamp(2.5rem,5vw,4rem);align-items:stretch}.method-photos img{width:100%;height:100%;min-width:0;object-fit:cover;border-radius:2px;aspect-ratio:2/3}.method-photos img:first-child{aspect-ratio:3/2}
@media(max-width:760px){.method-photos{grid-template-columns:1fr 1fr;gap:12px}.method-photos img:first-child{grid-column:1/-1}.method-photos img{height:auto}}

/* Service photographs replace the abstract icon panels. */
.service-photo{margin:0;min-width:0;width:100%;align-self:center}.service-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:2px}.service-photo--portrait{max-width:440px;justify-self:end}.service-photo--portrait img{aspect-ratio:4/5}
@media(max-width:760px){.service-photo--portrait{max-width:none}.service-photo img{aspect-ratio:4/3}.service-photo--portrait img{aspect-ratio:4/5;max-height:480px;object-position:center 35%}}
