:root{color-scheme:light;--graphite:#101418;--charcoal:#242b32;--orange:#ff6b20;--silver:#a8b0b8;--paper:#f5f6f7;--white:#fff;--line:#dce1e5;--heading:"Bahnschrift","Arial Narrow",Arial,sans-serif;--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 var(--body);color:var(--graphite);background:white}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.03;letter-spacing:-.045em}h1{font-size:clamp(3.5rem,7vw,7.3rem)}h2{font-size:clamp(2.35rem,5vw,4.9rem);max-width:20ch}h3{font-size:clamp(1.35rem,2vw,1.8rem)}p+p{margin-top:1rem}a{color:inherit;text-underline-offset:.2em}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd4b0d;outline-offset:4px}.dark :focus-visible,header :focus-visible,.hero :focus-visible{outline-color:var(--orange)}.wrap{width:min(100% - 104px,1320px);margin-inline:auto}.skip{position:fixed;top:0;left:12px;z-index:10;transform:translateY(-120%);background:white;padding:10px}.skip:focus{transform:none}
header{position:relative;z-index:4;background:var(--graphite);color:white;border-bottom:1px solid #ffffff20}.header{min-height:81px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;font:700 1.37rem/.95 var(--heading);letter-spacing:-.055em;text-decoration:none;white-space:nowrap}.brand i{display:block;width:22px;height:29px;background:var(--orange);clip-path:polygon(40% 0,100% 0,60% 44%,93% 44%,0 100%,29% 54%,0 54%)}.brand strong{color:var(--orange)}.brand small{font:700 .49rem/1 var(--body);display:block;letter-spacing:.18em;margin-top:6px;color:var(--silver)}nav{display:flex;gap:clamp(15px,2.65vw,42px)}nav a{text-decoration:none;color:#cbd0d5;font-size:.89rem;font-weight:700;position:relative}nav a:hover,nav a[aria-current]{color:white}nav a[aria-current]:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--orange)}.menu,.mobile-bar{display:none}
.button{display:inline-flex;min-height:53px;align-items:center;justify-content:center;gap:1.35rem;padding:.72rem 1.28rem;text-decoration:none;font-weight:750;font-size:.88rem;border:1px solid transparent;transition:background .22s,color .22s,border-color .22s;line-height:1.25}.primary{background:var(--orange);color:var(--graphite)}.primary:hover{background:#ff935e}.primary:disabled{opacity:.55;cursor:wait}.outline{border-color:#ffffff66;color:white;background:#10141838}.outline:hover{background:white;color:var(--graphite)}.header-quote .button{min-height:43px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.eyebrow{display:flex;align-items:center;gap:.65rem;color:#963800;font-size:.71rem;font-weight:800;letter-spacing:.16em;line-height:1.5;margin-bottom:19px}.eyebrow:before{content:"";display:block;width:24px;height:2px;background:var(--orange);flex:none}.dark .eyebrow,.hero .eyebrow,.inner-hero .eyebrow{color:#ff965e}.lede{font-size:clamp(1rem,1.8vw,1.25rem);max-width:48ch;margin-top:22px}
.hero{background:var(--graphite);color:white;min-height:min(730px,calc(100svh - 81px));position:relative;display:grid;align-items:center;isolation:isolate;overflow:hidden}.hero:before,.inner-hero:before,.closing:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#101418 0%,#101418c4 30%,#10141814 75%),linear-gradient(0deg,#101418e8,transparent 35%),url(hero.webp);background-position:center,right center,center 53%;background-size:cover}.hero:before{animation:drift 12s ease-out both}.hero-content{padding:86px 0 116px;animation:enter .65s ease-out both}.hero h1{line-height:.98;text-wrap:balance}.hero em{font-style:normal;color:#c8cfd5}.hero .lede,.inner-hero .lede,.dark p:not(.eyebrow){color:#c4cbd0}.hero-foot{position:absolute;bottom:0;width:100%;border-top:1px solid #ffffff28}.hero-foot .wrap{min-height:54px;display:flex;justify-content:space-between;align-items:center;color:#ced4d9;font-size:.67rem;letter-spacing:.16em;font-weight:700}.hero-foot a{text-decoration:none}.hero-foot a:hover{color:var(--orange)}@keyframes drift{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes enter{from{transform:translateY(17px);opacity:0}to{transform:translateY(0);opacity:1}}
.section{padding:clamp(64px,8vw,123px) 0}.section h2{margin-bottom:26px}.section p:not(.eyebrow){max-width:64ch}.light{background:var(--paper)}.dark{background:var(--graphite);color:white}.split{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(30px,7vw,105px)}.intro .split{grid-template-columns:1.08fr 1fr}.workshop div,.service-image{background:var(--charcoal) url(hero.webp) no-repeat 85% 55%/auto 122%;aspect-ratio:4/3}.workshop figcaption{color:#575f65;font-size:.74rem;padding-top:8px}.text-link{display:inline-block;font-weight:750;text-decoration-color:#a7450d;margin-top:19px}.text-link:hover{color:#963800}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}.service{background:white;border:1px solid var(--line);overflow:hidden}.service a{display:block;text-decoration:none;height:100%}.service-image{aspect-ratio:16/8;transition:transform .35s;transform-origin:center}.service a:hover .service-image{transform:scale(1.04)}.crop-1{background-size:auto 175%;background-position:100% 90%}.crop-2{background-size:auto 165%;background-position:76% 72%}.crop-3{background-size:auto 145%;background-position:85% 100%}.crop-4{background-size:auto 125%;background-position:100% 40%}.service-body{padding:23px 22px 24px;position:relative;background:white;display:grid;gap:12px}.service-body p,.process p,.pillars p{font-size:.94rem}.explore{font-weight:750;color:#983900;font-size:.88rem;display:flex;justify-content:space-between}.pillars,.process{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:36px 0 0;padding:0;list-style:none}.process{grid-template-columns:repeat(4,1fr)}.pillars article,.process li{border-top:1px solid var(--line);padding-top:20px}.pillars article{border-color:#ffffff37}.pillars p,.process p{margin-top:10px}.process li>span{display:block;color:#963800;font:700 1.05rem var(--heading);margin-bottom:12px}.empty{border-top:1px solid var(--line);padding-top:24px}.closing,.inner-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--graphite);color:white}.closing:before,.inner-hero:before{opacity:.49}.inner-hero{padding:clamp(70px,9vw,136px) 0}.inner-hero h1{font-size:clamp(3.3rem,7.5vw,6.7rem)}.applications{padding-left:1.2rem}.applications li::marker{color:#a13b00}details{border-block:1px solid var(--line);max-width:780px;padding:17px 0}summary{cursor:pointer;font-weight:700}details p{padding-top:13px}
.contact{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.contact aside{background:var(--paper);border-top:3px solid var(--orange);padding:25px;overflow-wrap:anywhere}.contact aside h2{font-size:1.8rem}.enquiry{max-width:820px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fields label{font-weight:700;font-size:.9rem;display:block}.fields small{font-weight:400}.fields input,.fields select,.fields textarea{display:block;width:100%;background:white;color:var(--graphite);border:1px solid #868f98;border-radius:0;min-height:47px;padding:10px;margin-top:5px}.fields input[type=file]{font-size:.82rem}.wide{grid-column:1/-1}.consent{display:flex;gap:10px;margin:22px 0;font-size:.9rem}.consent input{flex:none;width:18px;height:18px;accent-color:var(--orange)}.status{margin-top:12px}.prose{max-width:65ch}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filters button,dialog button{padding:8px 15px;background:white;border:1px solid #868f98;color:var(--graphite)}.filters [aria-pressed=true]{background:var(--graphite);color:white}.project-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px}.project-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}.project-grid a{display:block;margin-bottom:14px}.project-grid h3{margin-bottom:8px}dialog{width:min(96vw,1100px);max-height:94vh;border:0;padding:12px;background:var(--graphite);color:white}dialog form{text-align:right;margin-bottom:8px}dialog img{max-height:77vh;margin:auto}dialog::backdrop{background:#101418dc}
footer{padding:60px 0 18px}.footer-grid{display:grid;grid-template-columns:1.25fr .7fr 1fr 1.05fr;gap:28px}.footer-grid h2{font-size:1.15rem;margin-bottom:12px;letter-spacing:0}.footer-grid a:not(.brand){display:block;text-decoration:none;color:#c4cbd0;margin-bottom:6px;overflow-wrap:anywhere}.footer-grid a:hover,.legal a:hover{color:var(--orange)}.footer-grid p{font-size:.9rem;margin-top:11px}.legal{margin-top:36px;border-top:1px solid #ffffff29;display:flex;flex-wrap:wrap;gap:15px 28px;padding-top:18px;color:#c4cbd0;font-size:.78rem}.legal span{margin-right:auto}
@media(max-width:950px){.wrap{width:calc(100% - 56px)}.header{gap:14px}.header-quote{display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header{min-height:65px}.menu{display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff63;background:transparent;color:white;padding:8px 12px;min-height:44px}.header nav{position:absolute;left:0;right:0;top:100%;padding:12px 18px 18px;display:none;background:var(--graphite);border-bottom:1px solid #ffffff36}.header nav.open{display:grid;gap:0}.header nav a{padding:13px 10px}.header nav a[aria-current]{border-left:2px solid var(--orange)}.header nav a[aria-current]:after{display:none}.hero{min-height:650px}.hero:before,.inner-hero:before,.closing:before{background-image:linear-gradient(90deg,#101418d4,#10141839),linear-gradient(0deg,#101418,transparent 64%),url(hero-mobile.webp);background-position:center,center,center top}.hero-content{padding:94px 0 108px}.hero h1{font-size:clamp(3rem,10vw,5.3rem);line-height:1.02}.hero .eyebrow{font-size:.62rem;letter-spacing:.1em}.hero-foot .wrap{font-size:.56rem;letter-spacing:.09em}.split,.intro .split,.contact,.pillars,.process,.project-grid{grid-template-columns:1fr}.intro .workshop{order:2}.process{gap:0;margin-left:9px;border-left:1px solid var(--line);padding-left:22px}.process li{border:0;position:relative;padding:0 0 24px}.process li:before{content:"";position:absolute;left:-27px;top:7px;width:9px;height:9px;background:var(--orange)}.mobile-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;bottom:0;left:0;right:0;z-index:3;padding-bottom:env(safe-area-inset-bottom);background:var(--graphite);border-top:1px solid #ffffff38;color:white}.mobile-bar a{padding:11px 4px;text-decoration:none;text-align:center;font-size:.85rem;font-weight:750}.mobile-bar a:last-child{background:var(--orange);color:var(--graphite)}body{padding-bottom:calc(49px + env(safe-area-inset-bottom))}}
@media(max-width:470px){.fields,.service-grid{grid-template-columns:1fr}.hero .actions{gap:9px}.hero .button{padding-inline:.82rem;gap:.6rem}.footer-grid{gap:27px 14px}.footer-grid a{font-size:.87rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

img.service-image{width:100%;height:auto;object-fit:cover;background:var(--charcoal)}
.footer-social{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:12px}.footer-grid .footer-social a{display:inline-flex;align-items:center;min-height:44px;margin:0;text-decoration:underline}

.work-mosaic{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(125px,19vw,255px);gap:7px;background:#efe5df;padding:7px}
.work-mosaic article{grid-column:span 4;min-width:0;min-height:0}
.work-mosaic article:nth-child(11n+1),.work-mosaic article:nth-child(11n+2),.work-mosaic article:nth-child(11n+5),.work-mosaic article:nth-child(11n+6){grid-column:span 2}
.work-mosaic article:nth-child(11n+3),.work-mosaic article:nth-child(11n+7),.work-mosaic article:nth-child(11n+10),.work-mosaic article:nth-child(11n+11){grid-column:span 4}
.work-mosaic article:nth-child(11n+10),.work-mosaic article:nth-child(11n+11){grid-column:span 5}
.work-mosaic article:nth-child(11n+9){grid-column:span 2}
.work-mosaic article:nth-last-child(-n+2){grid-column:span 6}
.work-mosaic a{display:block;height:100%;margin:0;overflow:hidden}
.work-mosaic a:focus-visible{outline-offset:-4px}
.work-mosaic img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .25s ease}
.work-mosaic a:hover img{transform:scale(1.04)}
@media(max-width:700px){.work-mosaic{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(120px,33vw,210px)}.work-mosaic article:nth-child(n){grid-column:span 3}.work-mosaic article:nth-child(4n+1){grid-column:span 2}.work-mosaic article:nth-child(4n+2){grid-column:span 4}}

.work-mosaic a{position:relative}
.work-label{position:absolute;inset:auto 0 0;background:#101418eF;color:white;padding:8px 10px;font-weight:700;font-size:clamp(.75rem,1.5vw,.95rem);line-height:1.3}
@media(hover:hover){.work-label{opacity:0;transition:opacity .2s}.work-mosaic a:hover .work-label,.work-mosaic a:focus-visible .work-label{opacity:1}}
@media(prefers-reduced-motion:reduce){.work-label{transition:none}}
.top-social{background:#242b32;border-bottom:1px solid #ffffff25}.top-social .wrap{display:flex;justify-content:flex-end;gap:18px}.top-social a{display:inline-flex;align-items:center;min-height:34px;color:#f5f6f7;font-size:.82rem;font-weight:700;text-decoration:none}.top-social a:hover{text-decoration:underline;color:#ff965e}

.top-social .wrap{gap:4px}.top-social a{min-width:44px;min-height:40px;justify-content:center}
.brand img{width:156px;height:auto}.footer-grid .brand img{width:180px}@media(max-width:700px){.header .brand img{width:120px}}
.brand:has(.brand-art){flex-direction:column;gap:3px;padding-block:5px}.brand-art{display:block;aspect-ratio:874/573;overflow:hidden}.brand .brand-slogan{display:block;color:#ff813f;font:800 .67rem/1.15 var(--body);letter-spacing:.025em;text-transform:uppercase;text-align:center}.footer-grid .brand .brand-slogan{font-size:.78rem}@media(max-width:700px){.header .brand .brand-slogan{font-size:.56rem}}

.service-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;color:#d5dce2;font-size:.85rem}.service-breadcrumb a{text-decoration:underline;color:#fff}.service-breadcrumb a:hover{color:#ff965e}
.client-carousel{margin-top:24px}.client-controls:not([hidden]){display:flex;gap:8px;justify-content:flex-end;margin-bottom:10px}.client-controls button{width:44px;height:44px;background:#101418;color:#fff;border:0;font-size:24px}.client-controls button:disabled{opacity:.4;cursor:default}.client-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 42px)/4);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;list-style:none;margin:0;padding:4px 4px 12px}.client-track li{scroll-snap-align:start;min-width:0}.client-tile{height:100%;min-height:142px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:14px 10px;background:#f5f6f7;border:1px solid #dce1e5;text-align:center;font-size:.83rem;font-weight:700;line-height:1.25}.client-tile img{width:100%;height:65px;object-fit:contain}.showcase-tile img{background:#101418;padding:9px}.client-tile:hover{border-color:#ff6b20}@media(max-width:740px){.client-track{grid-auto-columns:calc((100% - 14px)/2)}}
.section.about-compact{padding-block:clamp(28px,3.5vw,48px)}.about-compact .split{align-items:start;row-gap:20px}.about-compact .process{margin-top:22px}
.about-compact:has(.split){padding-bottom:12px}.about-compact + .about-compact{padding-top:14px}@media(min-width:701px){.about-compact .workshop img{width:100%;max-height:205px;object-fit:cover;object-position:center 65%}}
