@font-face{font-family:Inter;src:url('../fonts/inter-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root:not(.js) .menu-toggle{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;font-weight:400;line-height:1.5;letter-spacing:-.035em}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button,summary{cursor:pointer}button{border:0;background:none}img{display:block;max-width:100%;width:100%;height:100%;object-fit:cover}svg{display:block;width:24px;height:24px;flex:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1{font-size:clamp(64px,5.56vw,96px);line-height:1.06;letter-spacing:-.055em}h2{font-size:40px;line-height:1.28;letter-spacing:-.045em}h3{font-size:30px;line-height:1.2;letter-spacing:-.04em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--primary-text);outline-offset:5px;border-radius:4px}.section-shell{margin-inline:var(--gutter)}.section-space{margin-top:var(--section-gap)}.section-heading{text-align:center;max-width:700px;margin:0 auto 64px}.section-heading h2{text-transform:uppercase}.section-heading p{font-size:16px;line-height:1.55;max-width:490px;margin:18px auto 0}.eyebrow{font-size:12px;line-height:1.4;letter-spacing:.035em;text-transform:uppercase}.cyan-text{color:var(--primary-text)}.button-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 23px;border-radius:100px;font-size:14px;line-height:1.2;white-space:nowrap;text-transform:uppercase;letter-spacing:-.03em;transition:background .2s,box-shadow .2s}.button.dark{background:var(--ink);color:var(--white)}.button.cyan{background:var(--primary);color:#102e38}.button.light{background:var(--paper);color:var(--ink)}.button:hover{box-shadow:0 3px 14px #0002}.roll{display:block;position:relative;overflow:hidden;line-height:1.35}.roll>span{display:block;transition:transform .45s var(--ease)}.roll>span+span{position:absolute;top:100%;left:0;width:100%}a:hover>.roll>span,summary:hover>.roll>span{transform:translateY(-100%)}.circle{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;transition:transform .35s,background .35s}.circle svg{width:16px;height:16px}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:14px;min-height:44px;line-height:1.5}.text-link svg{width:15px;height:15px;transition:transform .3s}.text-link:hover svg{transform:translate(3px,-3px)}.skip-link{position:fixed;top:8px;left:8px;padding:12px 20px;background:var(--white);z-index:100;transform:translateY(-200%)}.skip-link:focus{transform:none}
/* ArcSphere proportions: fine outer frame, centered identity, low hero copy. */
.header{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:66px;padding:0 28px;background:#fff;z-index:20}.desktop-nav{display:flex;gap:32px}.desktop-nav a{font-size:13px;text-transform:uppercase;display:flex;min-height:44px;align-items:center}.logo{width:254px;display:block}.logo img{height:auto}.header-right{justify-self:end}.header-right .button{min-height:36px;padding:8px 20px;font-size:13px}.menu-toggle{display:none}.mobile-nav{display:none}.hero-track{height:140vh;margin:0 var(--outer);position:relative}.hero-sticky{height:90vh;position:sticky;top:64px;isolation:isolate;overflow:clip}.hero-main{position:absolute;inset:0;border-radius:12px;overflow:hidden;transform:scale(var(--hero-scale,1));will-change:transform;z-index:2}.hero-photo{object-position:50% 59%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,21,18,0) 35%,rgba(5,21,18,.25) 58%,rgba(5,21,18,.79) 100%);opacity:var(--hero-opacity,1)}.hero-copy{position:absolute;left:40px;right:40px;bottom:40px;color:white;z-index:3;opacity:var(--hero-opacity,1);transform:translateY(var(--hero-copy-y,0px));will-change:transform,opacity}.hero-copy-row{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:end}.hero-intro{max-width:480px;margin:0 0 6px auto}.hero-intro p{font-size:16px;line-height:1.45;letter-spacing:-.035em;margin-bottom:20px;max-width:455px}.hero-baseline{margin-top:32px;border-top:1px solid #ffffff85;display:flex;justify-content:space-between;align-items:center;padding-top:12px}.hero-baseline span{font-size:10px;letter-spacing:.075em}.hero-baseline a{display:grid;place-items:center;width:36px;height:28px}.hero-baseline svg{width:18px;height:18px}.hero-side{position:absolute;top:50%;width:18%;height:49%;border-radius:7px;overflow:hidden;z-index:1;opacity:var(--side-opacity,0);will-change:transform}.side-left{left:4.6%;transform:translate(calc(-1 * var(--side-x,400px)),-50%)}.side-right{right:4.6%;transform:translate(var(--side-x,400px),-50%)}.hero-side img{object-position:center}.side-left img{object-position:67% center}.side-right img{object-position:52% center}
/* The staggered image / centered statement from the reference. */
.about{display:grid;grid-template-columns:28% 1fr 28%;gap:32px;align-items:center;margin-top:112px;min-height:493px}.about-image{height:395px;border-radius:7px;overflow:hidden}.about-left{align-self:start}.about-left img{object-position:70% 50%}.about-right{align-self:end}.about-right img{object-position:65% center}.about-copy{text-align:center;position:relative;z-index:2}.about-copy .eyebrow{font-size:10px;margin-bottom:22px;white-space:nowrap}.about-copy h2{font-size:clamp(28px,2.7vw,40px);text-transform:uppercase;line-height:1.37}.about-copy>p:not(.eyebrow){font-size:15px;line-height:1.6;max-width:390px;margin:20px auto}.about-copy .text-link{margin-top:8px}.ticker{overflow:hidden;margin-top:76px;padding-block:16px}.ticker-track{display:flex;width:max-content;animation:ticker 36s linear infinite}.ticker-group{display:flex;gap:56px;align-items:center;padding-right:56px}.ticker-group span{font-size:24px;white-space:nowrap;text-transform:uppercase;letter-spacing:-.045em}.ticker-group i{width:5px;height:5px;border:1px solid var(--primary-text);border-radius:50%;flex:none}@keyframes ticker{to{transform:translateX(-50%)}}
/* Portfolio, keeping the tall centre card and restrained labels. */
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.project-image{height:510px;border-radius:7px;overflow:hidden;display:block;position:relative;background:var(--footer)}.featured:nth-child(2) .project-image{height:582px}.project-image img{transition:transform .85s var(--ease)}.project-image:hover img{transform:scale(1.055)}.project-image .image-corner{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;border-radius:50%;background:var(--paper);width:44px;height:44px;transform:translateY(65px);transition:transform .4s var(--ease)}.image-corner svg{width:18px;height:18px}.project-image:hover .image-corner{transform:translateY(0)}.project-name{display:flex;gap:12px;justify-content:space-between;align-items:start;margin-top:14px}.project-name h3{font-size:16px;text-transform:uppercase;line-height:1.35;padding-top:9px}.project-name .circle{width:36px;height:36px}.project-meta{margin-top:6px;font-size:12px;line-height:1.6;text-transform:uppercase;color:var(--muted)}.photo-credit{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:6px;letter-spacing:0}.project-facts{font-size:14px;line-height:1.5;margin-top:12px}.project-facts summary{min-height:40px;padding-block:9px;text-decoration:underline;text-underline-offset:3px}.project-facts>div{padding-block:12px}.project-facts .eyebrow{margin-bottom:8px}.js .project-facts{display:none}.more-projects{margin-top:48px}.more-projects>summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:14px;min-height:48px;text-transform:uppercase;font-size:14px}.more-projects>summary::-webkit-details-marker{display:none}.more-projects>summary svg{width:16px;height:16px;transition:transform .3s}.more-projects[open]>summary svg{transform:rotate(45deg)}.secondary-projects{margin-top:40px;row-gap:40px}.secondary-projects .project-image{height:300px}.more-projects[open] [data-reveal]{opacity:1!important;transform:none!important}
/* Six quiet service rows, with on-demand content and image previews. */
.service{border-bottom:1px solid var(--line);position:relative}.service summary{list-style:none;min-height:180px;padding:40px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;position:relative}.service summary::-webkit-details-marker{display:none}.service-content{display:block;max-width:760px;position:relative;z-index:2}.service-number{font-size:10px;position:absolute;left:-27px;top:13px;color:var(--primary-text);letter-spacing:0}.service-title{display:block;font-size:34px;line-height:1.2;letter-spacing:-.045em}.service-description{display:block;font-size:18px;line-height:1.4;margin-top:14px;max-width:710px}.service summary>.circle{position:relative;z-index:4;width:36px;height:36px}.service-preview{position:absolute;right:94px;top:50%;width:200px;height:135px;transform:translateY(-40%) rotate(4deg);opacity:0;border-radius:6px;overflow:hidden;pointer-events:none;z-index:3;transition:transform .4s var(--ease),opacity .25s}.service-preview img{object-fit:cover}.service summary:hover .service-preview{transform:translateY(-50%) rotate(-4deg);opacity:1}.service summary:hover>.circle{background:var(--primary);color:#14343f;border-color:transparent;transform:rotate(45deg)}.service[open] summary>.circle{transform:rotate(90deg)}.service[open] summary{min-height:150px}.service-details{padding:0 40px 34px;max-width:820px}.service-details ul{margin:0 0 15px;padding-left:20px;display:grid;gap:8px}.service-details li::marker{color:var(--primary-text)}.service-details .text-link{color:var(--primary-text)}
.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.expertise-card{position:relative;height:600px;overflow:hidden;border-radius:8px;display:block;color:white}.expertise-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10202375,transparent 35%,#081518cc)}.expertise-card>img{transition:transform 1s var(--ease)}.expertise-card:hover>img{transform:scale(1.04)}.expertise-top{position:absolute;top:28px;left:32px;right:28px;display:flex;justify-content:space-between;gap:25px;align-items:center;z-index:1}.expertise-top .eyebrow{max-width:180px}.expertise-bottom{position:absolute;left:32px;right:32px;bottom:32px;z-index:1}.expertise-bottom h3{font-size:34px;text-transform:uppercase;line-height:1.15}.expertise-bottom p{font-size:14px;max-width:410px;line-height:1.5;margin-top:14px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.process-card{height:345px;border-radius:8px;position:relative;overflow:hidden;background:var(--dark);color:white}.process-card>img{opacity:.85}.process-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#12232633,transparent 25%,#102027ee 100%)}.process-number{position:absolute;top:18px;left:16px;z-index:1;font-size:12px}.process-icon{position:absolute;right:12px;top:12px;border-radius:8px;width:48px;height:48px;display:grid;place-items:center;background:var(--paper);color:var(--ink);z-index:1}.process-icon svg{width:28px;height:28px}.process-copy{position:absolute;left:16px;right:16px;bottom:18px;z-index:1}.process-copy h3{font-size:24px;line-height:1.25;text-transform:uppercase}.process-copy p{font-size:13px;line-height:1.45;margin-top:10px;max-width:270px}
/* Original people replace the reference's testimonial component. */
.team-stage{position:relative}.team-panel{display:grid;grid-template-columns:1.04fr 1fr;gap:56px;min-height:490px;margin-bottom:40px}.portrait{height:490px;position:relative;border-radius:7px;overflow:hidden;background:#dce3df;display:flex;align-items:center;justify-content:center}.portrait>img{max-width:490px;object-fit:cover;object-position:center 32%}.portrait-count{position:absolute;left:20px;bottom:20px;padding:5px 10px;border-radius:30px;font-size:11px;letter-spacing:.1em;color:#fff;background:#183b36aa}.team-copy{padding:28px 15px 115px 0;display:flex;flex-direction:column;align-items:flex-start}.team-copy h3{font-size:40px;line-height:1.2;margin-top:18px}.qualification{margin-top:14px;font-size:16px;line-height:1.5;max-width:440px}.team-description{font-size:22px;line-height:1.42;color:var(--muted);margin:28px 0 24px;max-width:540px}.team-copy .text-link{margin-top:auto;color:var(--primary-text)}.team-tabs{display:none}.js .team-panel{margin:0}.js .team-panel[hidden]{display:none}.js .team-tabs{display:flex;position:absolute;left:calc(51% + 27px);bottom:0;gap:8px;padding-bottom:8px}.team-tab{height:64px;width:64px;border-radius:6px;padding:0;position:relative;opacity:.57;border:2px solid transparent;transition:opacity .25s,border-color .25s}.team-tab img{border-radius:4px}.team-tab:hover,.team-tab[aria-pressed=true]{opacity:1}.team-tab[aria-pressed=true]{border-color:var(--primary-text)}.team-tab[aria-pressed=true]:after{content:'';position:absolute;left:18px;right:18px;bottom:-8px;height:2px;background:var(--primary-text)}
.region-panel{height:530px;border-radius:18px;overflow:hidden;position:relative;color:#fff;transform:scale(var(--region-scale,1));transform-origin:center}.region-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#102f34db,transparent 95%)}.region-panel>img{object-position:center 57%}.region-copy{position:absolute;left:40px;top:36px;z-index:1;max-width:740px}.region-copy h2{font-size:40px;text-transform:uppercase;line-height:1.35;max-width:720px;margin:20px 0}.region-copy>p:not(.eyebrow){font-size:16px;line-height:1.6;max-width:450px}.region-caption{position:absolute;left:40px;bottom:28px;z-index:1;font-size:12px;letter-spacing:.02em}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;min-height:610px}.contact-left{display:flex;flex-direction:column;justify-content:space-between;gap:60px}.contact h2{text-transform:uppercase;font-size:48px;line-height:1.15}.contact-intro{max-width:440px;line-height:1.65;margin-top:22px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-info>div:first-child{grid-column:1/-1}.contact-info .eyebrow{display:block;margin-bottom:10px}.contact-info a{display:inline-block;min-height:44px;font-size:16px}.contact-info a:hover,.contact-person:hover strong{color:var(--primary-text)}.contact-info .contact-phone{font-size:34px;line-height:1.3;letter-spacing:-.045em}.contact-info address{font-size:14px;font-style:normal;line-height:1.8}.contact-people>.eyebrow{margin-bottom:18px}.contact-person{min-height:105px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.contact-person strong{font-size:21px;font-weight:400;display:block;line-height:1.3}.contact-person small{display:block;font-size:12px;margin-top:6px;color:var(--muted)}.contact-person-email{margin-left:auto;font-size:12px;color:var(--muted)}.contact-person .circle{width:34px;height:34px}.contact-person .circle svg{width:16px}
.footer{background:var(--footer);margin:112px var(--outer) 12px;border-radius:12px;overflow:hidden}.footer-content{padding:96px 40px 0}.footer-top{display:flex;justify-content:space-between;gap:32px;align-items:center}.footer-top h2{text-transform:uppercase;max-width:780px}.footer-nav{display:flex;gap:32px;margin-top:60px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid #aebbc0}.footer-nav a{display:flex;align-items:center;min-height:44px;text-transform:uppercase;font-size:13px}.footer-meta{display:flex;gap:28px;align-items:center;justify-content:space-between;margin-top:20px;font-size:12px;color:var(--muted)}.footer-icons{display:flex}.footer-icons a{display:grid;place-items:center;width:60px;height:44px;border-right:1px solid #b9c6cb}.footer-icons a:first-child{padding-left:0;width:48px}.footer-icons a:last-child{border:0}.footer-icons svg{width:22px;height:22px}.motion-toggle{display:none;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--ink)}.js .motion-toggle{display:flex}.motion-indicator{width:8px;height:8px;background:var(--primary-text);border-radius:50%}.motion-toggle[aria-pressed=true] .motion-indicator{background:var(--muted)}.footer-marquee{overflow:hidden;padding-top:75px;padding-bottom:28px}.footer-marquee-track{display:flex;width:max-content;animation:ticker 34s linear infinite}.footer-marquee-track>span{font-size:clamp(90px,15.8vw,290px);font-weight:650;letter-spacing:-.075em;white-space:nowrap;line-height:1.06;padding-right:70px}.footer-marquee b{font-weight:400;padding-left:70px;color:var(--primary-text)}.footer-image{height:475px;position:relative;overflow:hidden}.footer-image>img{object-position:50% 61%}.footer-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#102e39aa)}.footer-image>span{position:absolute;bottom:28px;left:40px;color:white;font-size:12px;letter-spacing:.03em;z-index:1}.back-top{position:absolute;bottom:22px;right:28px;display:grid;place-items:center;width:46px;height:46px;background:var(--paper);border-radius:50%;z-index:2}.back-top svg{transform:rotate(180deg);width:20px}
.project-dialog{border:0;padding:0;border-radius:12px;width:min(900px,calc(100% - 32px));max-height:90dvh;color:var(--ink);background:var(--paper);overflow:auto;overscroll-behavior:contain}.project-dialog::backdrop{background:#122a32bb;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:14px;top:14px;z-index:2;background:var(--paper);width:44px;height:44px}.dialog-image{height:400px;background:var(--footer)}.dialog-copy{padding:32px 40px 40px}.dialog-copy h2{margin:14px 0 10px;font-size:36px}.dialog-place{font-size:16px}.dialog-scope-label{margin-top:28px;margin-bottom:10px;color:var(--primary-text)}.dialog-credit{display:block;margin-top:20px;font-size:11px}.js [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease) var(--delay,0ms),transform .85s var(--ease) var(--delay,0ms)}.js [data-reveal].is-visible{opacity:1;transform:none}
@media(min-width:1800px){.section-shell{max-width:1660px;margin-inline:auto}.hero-copy{left:56px;right:56px}.about{gap:60px}.about-image{height:470px}.about{min-height:570px}.project-image{height:620px}.featured:nth-child(2) .project-image{height:700px}}
@media(max-width:1100px){.desktop-nav{gap:20px}.desktop-nav a{font-size:11px}.logo{width:225px}.hero-copy-row{grid-template-columns:1.1fr 1fr;gap:28px}.hero-intro p{font-size:14px}.hero-copy{left:28px;right:28px}.hero-copy .button-row{gap:9px}.button{font-size:12px;padding:12px 19px}.about{gap:24px;grid-template-columns:24% 1fr 24%;min-height:430px}.about-image{height:340px}.about-copy h2{font-size:30px}.about-copy .eyebrow{white-space:normal}.project-image{height:420px}.featured:nth-child(2) .project-image{height:480px}.service-description{max-width:620px}.service-preview{width:150px;right:80px}.expertise-card{height:500px}.expertise-bottom h3{font-size:30px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.process-card{height:380px}.team-panel{gap:32px;grid-template-columns:1fr 1fr}.team-description{font-size:19px}.js .team-tabs{left:calc(50% + 16px)}.team-tab{width:54px;height:54px}.contact{gap:40px}.contact-person-email{display:none}.contact-person .circle{margin-left:auto}.footer-top h2{font-size:34px}}
@media(max-width:800px){:root{--gutter:28px;--section-gap:88px}.header{padding:0 22px;height:62px}.desktop-nav{gap:14px}.logo{width:200px}.header-right .button{font-size:11px;min-height:34px;padding:8px 16px}h1{font-size:58px}.hero-track{height:135vh}.hero-sticky{height:88vh;top:62px}.hero-copy-row{grid-template-columns:1fr;gap:24px}.hero-intro{margin:0;max-width:500px}.hero-copy{bottom:24px}.hero-intro p{font-size:15px;margin-bottom:16px;max-width:450px}.hero-baseline{margin-top:24px}.about{margin-top:88px;grid-template-columns:1fr 1fr;gap:22px;min-height:0}.about-copy{grid-column:1/-1;grid-row:1;padding:0 60px 22px}.about-copy h2{font-size:34px}.about-copy>p:not(.eyebrow){max-width:440px}.about-image{height:300px}.about-right{margin-top:56px}.ticker{margin-top:56px}.ticker-group{gap:36px;padding-right:36px}.ticker-group span{font-size:21px}.section-heading{margin-bottom:46px}.section-heading h2{font-size:34px}.project-grid{gap:14px}.project-image{height:340px}.featured:nth-child(2) .project-image{height:395px}.project-name h3{font-size:13px}.project-name .circle{width:30px;height:30px}.project-meta{font-size:10px}.service summary{padding:32px 26px;min-height:170px}.service-number{left:-20px;top:9px}.service-title{font-size:30px}.service-description{font-size:16px;max-width:550px}.service-details{padding-inline:26px}.service-preview{display:none}.expertise-card{height:460px}.expertise-top{left:24px;right:20px}.expertise-bottom{left:24px;right:24px}.expertise-bottom h3{font-size:28px}.team-panel{min-height:480px;gap:26px}.portrait{height:480px}.team-copy{padding-top:8px}.team-copy h3{font-size:34px}.team-description{font-size:17px;margin-top:20px}.qualification{font-size:14px}.js .team-tabs{left:calc(50% + 13px);gap:6px}.team-tab{height:48px;width:48px}.region-copy{left:30px;right:30px}.region-copy h2{font-size:34px}.region-panel{height:500px}.contact{gap:36px}.contact h2{font-size:38px}.contact-info{grid-template-columns:1fr;gap:22px}.contact-info>div:first-child{grid-column:auto}.contact-intro{font-size:15px}.contact-person strong{font-size:18px}.contact-person{min-height:106px}.footer-content{padding:70px 28px 0}.footer-top{align-items:flex-start;flex-direction:column;gap:28px}.footer-nav{gap:24px;margin-top:38px}.footer-meta{gap:18px;flex-wrap:wrap}.footer-meta>p{width:100%}.footer-marquee{padding-top:54px}.footer-image{height:370px}}
@media(max-width:600px){:root{--outer:8px;--gutter:20px;--section-gap:76px}.header{height:58px;padding:0 18px;grid-template-columns:1fr auto;background:var(--white)}.desktop-nav,.header-right>.button{display:none}.logo{width:224px;grid-column:1}.header-right{grid-column:2;grid-row:1}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;align-items:center;width:44px;height:44px;padding:8px}.menu-toggle span{height:1.5px;width:23px;background:var(--ink);transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.js .mobile-nav:not([hidden]){display:flex;position:absolute;top:58px;left:0;right:0;background:var(--paper);padding:20px 26px 30px;flex-direction:column;box-shadow:0 18px 24px #18363c15}.mobile-nav a{font-size:22px;padding:10px 0;min-height:48px;border-bottom:1px solid var(--line)}.hero-track{height:120svh}.hero-sticky{height:calc(100svh - 68px);top:8px;min-height:600px;max-height:850px}.hero-main{border-radius:8px}.hero-photo{object-position:56% 50%}.hero-copy{left:16px;right:16px;bottom:18px}.hero-copy-row{gap:18px}.hero-copy h1{font-size:clamp(40px,10.7vw,58px);line-height:1.06;letter-spacing:-.052em}.hero-intro p{font-size:13px;line-height:1.5;max-width:340px;margin-bottom:18px;letter-spacing:-.02em}.hero-copy .button-row{gap:9px}.hero-copy .button{min-height:42px;padding:11px 22px;font-size:11px}.hero-baseline{margin-top:22px;padding-top:10px}.hero-baseline span{font-size:7px;letter-spacing:.035em}.hero-baseline a{height:24px;width:28px}.hero-side{width:18.5%;height:35%;top:50%}.side-left{left:1.8%}.side-right{right:1.8%}.about{margin-top:70px;gap:14px}.about-copy{padding:0 0 22px}.about-copy .eyebrow{font-size:9px;margin-bottom:18px}.about-copy h2{font-size:30px;line-height:1.32}.about-copy>p:not(.eyebrow){font-size:14px;max-width:320px;line-height:1.65}.about-copy .text-link{font-size:13px;margin-top:0}.about-image{height:225px}.about-right{margin-top:38px}.ticker{margin-top:44px}.ticker-group{gap:28px;padding-right:28px}.ticker-group span{font-size:19px}.section-heading h2{font-size:29px;line-height:1.2}.section-heading p{font-size:14px;line-height:1.65;max-width:330px;margin-top:16px}.section-heading{margin-bottom:36px}.project-grid{grid-template-columns:1fr;gap:34px}.project-image,.featured:nth-child(2) .project-image{height:420px}.featured:nth-child(2) .project-image{height:460px}.project-name{margin-top:10px;align-items:center}.project-name h3{font-size:16px;padding-top:0;max-width:280px}.project-name .circle{width:40px;height:40px}.project-meta{font-size:11px}.photo-credit{font-size:9px}.more-projects{margin-top:30px}.more-projects>summary{font-size:12px}.secondary-projects .project-image{height:290px}.service summary{padding:30px 0 30px 20px;min-height:0;gap:16px}.service-title{font-size:26px;line-height:1.2}.service-number{left:-20px;top:9px;font-size:9px}.service-description{font-size:14px;line-height:1.6;max-width:275px;margin-top:14px}.service summary>.circle{width:32px;height:32px;margin-top:0}.service[open] summary{min-height:0}.service-details{padding:0 16px 26px 20px;font-size:14px}.service-details ul{gap:10px}.expertise-grid{grid-template-columns:1fr;gap:16px}.expertise-card{height:470px}.expertise-top{top:22px;left:24px;right:20px}.expertise-top .eyebrow{font-size:10px}.expertise-bottom{bottom:26px}.expertise-bottom h3{font-size:29px}.expertise-bottom p{font-size:14px;line-height:1.55}.process-grid{grid-template-columns:1fr 1fr;gap:10px}.process-card{height:290px}.process-copy{left:12px;right:12px;bottom:16px}.process-copy h3{font-size:18px;line-height:1.15;overflow-wrap:anywhere;letter-spacing:-.045em}.process-copy p{font-size:11px;line-height:1.5;letter-spacing:-.02em}.process-number{font-size:10px;top:16px;left:12px}.process-icon{width:35px;height:35px;top:9px;right:9px;border-radius:6px}.process-icon svg{width:21px;height:21px}.team-panel{grid-template-columns:1fr;gap:26px;min-height:0}.portrait{height:370px}.portrait>img{max-width:100%;object-position:50% 25%}.team-copy{padding:0 0 104px;min-height:350px}.team-copy h3{font-size:34px;margin-top:12px}.qualification{font-size:14px}.team-description{font-size:18px;line-height:1.5;margin-top:22px;margin-bottom:18px}.team-copy .text-link{font-size:14px;margin-top:0}.js .team-tabs{left:0;bottom:12px;gap:10px}.team-tab{width:54px;height:54px}.region-panel{height:510px;border-radius:10px}.region-panel>img{object-position:65% center}.region-panel:after{background:linear-gradient(120deg,#0c3134e6,#102f3480 75%,#102f3422)}.region-copy{left:24px;right:24px;top:28px}.region-copy h2{font-size:29px;line-height:1.25;margin:22px 0}.region-copy>p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:280px}.region-copy .eyebrow{font-size:10px}.region-caption{left:24px;bottom:24px;font-size:10px}.contact{grid-template-columns:1fr;gap:56px}.contact h2{font-size:38px}.contact-intro{font-size:15px;max-width:330px}.contact-left{gap:36px}.contact-info{grid-template-columns:1fr 1fr;gap:24px 12px}.contact-info>div:first-child{grid-column:1/-1}.contact-info a{font-size:12px;letter-spacing:-.035em}.contact-info address{font-size:12px}.contact-info .contact-phone{font-size:32px}.contact-info .eyebrow{font-size:10px}.contact-person{min-height:90px}.contact-person strong{font-size:20px}.contact-person small{font-size:12px}.contact-person .circle{width:40px;height:40px}.footer{margin-top:76px;margin-bottom:8px;border-radius:8px}.footer-content{padding:54px 20px 0}.footer-top{gap:24px}.footer-top h2{font-size:28px;line-height:1.25}.footer-top h2 br{display:none}.footer-top .button{font-size:12px;min-height:44px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding-bottom:22px;margin-top:26px}.footer-nav a{font-size:11px}.footer-meta{gap:12px}.footer-icons a{width:42px}.footer-icons a:first-child{width:34px}.footer-icons svg{width:18px;height:18px}.motion-toggle{font-size:10px;gap:6px;padding:0}.footer-meta>p{font-size:10px}.footer-marquee{padding-top:34px;padding-bottom:22px}.footer-marquee-track>span{font-size:88px;padding-right:30px}.footer-marquee b{padding-left:30px}.footer-image{height:300px}.footer-image>img{object-position:65% center}.footer-image>span{left:20px;bottom:22px;font-size:10px}.back-top{right:18px;bottom:16px;width:40px;height:40px}.dialog-image{height:250px}.dialog-copy{padding:26px}.dialog-copy h2{font-size:29px}.project-dialog{max-height:92dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-track{height:auto}.hero-sticky{position:relative;top:0}.hero-main{transform:none!important}.hero-shade,.hero-copy{opacity:1!important}.hero-copy{transform:none!important}.hero-side{display:none}.region-panel{transform:none!important}.js [data-reveal]{opacity:1!important;transform:none!important}}
.motion-paused{scroll-behavior:auto}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;transition:none!important}.motion-paused .hero-track{height:auto}.motion-paused .hero-sticky{position:relative;top:0}.motion-paused .hero-main{transform:none!important}.motion-paused .hero-shade,.motion-paused .hero-copy{opacity:1!important}.motion-paused .hero-copy{transform:none!important}.motion-paused .hero-side{display:none}.motion-paused .region-panel{transform:none!important}.motion-paused [data-reveal]{opacity:1!important;transform:none!important}
/* Readable labels even over the brightest parts of the original photographs. */
.hero-shade{background:linear-gradient(180deg,rgba(5,21,18,0) 30%,rgba(5,21,18,.43) 58%,rgba(5,21,18,.85) 100%)}
.region-panel:after{background:linear-gradient(100deg,#102f34ed,#102f342b)}
.footer-image:after{background:linear-gradient(transparent,#102e39c7)}
.expertise-card:after{background:linear-gradient(180deg,#102023b8,transparent 45%,#081518e6)}
.process-number{background:#173039d9;border-radius:30px;padding:3px 8px;top:14px;left:12px}
@media(max-width:600px){.hero-baseline a{width:40px;height:40px}.project-name h3>a{display:flex;align-items:center;min-height:40px}.project-name .circle{width:40px;height:40px}.region-panel:after{background:linear-gradient(120deg,#102f34f0,#102f34bf 70%,#102f3466)}}
/* Schluss ohne Bild: Zurück-nach-oben bleibt in der Metazeile erreichbar. */
.footer-meta .back-top{position:static;flex:0 0 46px;color:var(--ink)}

/* Demo context, kept separate from the original studio layout. */
.demo-contact-link svg{width:26px;height:26px;vertical-align:middle}
.contact-info p{font-size:13px;line-height:1.65}
.image-credits{font-size:12px;line-height:1.7;border-bottom:1px solid #aebbc0;padding:12px 0}
.image-credits summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.image-credits p{max-width:760px;margin-bottom:14px}.image-credits ul{padding-left:18px;margin:12px 0}.image-credits a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.contact-info p{font-size:12px}}
