:root{--paper:#efefea;--ink:#181918;--line:#c7c8c1;--muted:#65675f}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:6px}
::selection{background:#afb7a5;color:#101510}
h1,h2,h3,p{margin:0}
em,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}
em{font-style:italic}
header{position:fixed;top:0;left:0;width:100%;height:85px;padding:0 3.4%;display:flex;align-items:center;justify-content:space-between;z-index:50;background:rgba(239,239,234,.94);border-bottom:1px solid transparent;transform:translateY(-105%);transition:transform .5s,border-color .4s;backdrop-filter:blur(12px)}
header.visible{transform:translateY(0);border-color:var(--line)}
.nav-logo{font-size:28px;font-weight:800;letter-spacing:-2px}
.nav-logo span{font-size:10px;vertical-align:top;letter-spacing:0}
nav{display:flex;gap:32px;font-size:14px}
nav a,.nav-cta{position:relative}
nav a:after,.nav-cta:after{content:'';position:absolute;height:1px;background:currentColor;bottom:-6px;left:0;right:100%;transition:right .3s}
nav a:hover:after,.nav-cta:hover:after{right:0}
.nav-cta{font-size:14px}
.nav-cta .arrow-icon{margin-left:30px}
.menu-toggle{display:none}
.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--ink);color:var(--paper);padding:15px}
.skip:focus{top:15px}
.opening{height:230svh}
.opening-pin{height:100svh;position:sticky;top:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero-word{display:flex;justify-content:center;align-items:center;font-size:34vw;line-height:.8;font-weight:750;letter-spacing:-.065em;padding-right:.05em;will-change:transform,opacity;transform-origin:center}
.hero-word span{display:block}
.opening-thought{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:6%;opacity:0;pointer-events:none;text-align:center}
.opening-thought p{font-size:clamp(30px,4.8vw,80px);line-height:1.12;letter-spacing:-.045em}
.hero-foot{position:absolute;bottom:35px;left:3.4%;right:3.4%;display:flex;justify-content:space-between;align-items:end;font-size:12px;line-height:1.5;transition:opacity .2s}
.section{padding:110px 5.5%}
.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.1em;margin-bottom:60px}
.manifesto{padding-top:140px;padding-bottom:85px}
.manifesto h2{font-size:clamp(48px,8.8vw,150px);font-weight:500;letter-spacing:-.065em;line-height:.99}
.manifesto>.serif{font-size:clamp(38px,7vw,120px);letter-spacing:-.045em;margin-top:22px;font-style:italic}
.intro-bottom{display:grid;grid-template-columns:1fr 1fr;margin-top:100px;padding-top:24px;border-top:1px solid var(--line);gap:40px}
.intro-bottom>span,.small-note{font-size:14px;line-height:1.5}
.intro-bottom p{max-width:530px;font-size:21px;line-height:1.5;letter-spacing:-.025em}
.questions{background:var(--ink);color:var(--paper);padding-top:120px;padding-bottom:140px}
.questions .eyebrow{color:#adb0a6}
.question-list{padding-left:25%;margin-bottom:140px}
.question-list p{font-size:clamp(23px,3.1vw,52px);line-height:1.3;border-bottom:1px solid #41433d;padding:22px 0;letter-spacing:-.035em}
.questions h2{font-size:clamp(44px,6.7vw,110px);font-weight:400;letter-spacing:-.045em;line-height:1.1}
.questions h2 em{color:#b8bcaf}
.chapter{padding-top:70px;padding-bottom:130px}
.chapter-head{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:20px;margin-bottom:100px}
.chapter-head h2,.chapter-head>span{font-size:12px;font-weight:400;letter-spacing:.045em}
.chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.chapter-grid h3{font-size:clamp(42px,5.4vw,90px);line-height:1.02;letter-spacing:-.055em;font-weight:400}
.chapter-copy{font-size:21px;line-height:1.5;letter-spacing:-.022em;margin-bottom:45px;max-width:600px}
.services{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.services li{font-size:14px;padding:16px 0;border-top:1px solid var(--line)}
.define{background:#e1e2db}
.big-question{font-size:clamp(45px,6.6vw,112px);font-weight:400;line-height:1.08;letter-spacing:-.055em;max-width:1200px;margin-bottom:90px}
.assembly-track{height:165svh;margin-bottom:100px}
.assembly{position:sticky;top:100px;height:72svh;min-height:460px;border:1px solid var(--line);overflow:hidden}
.identity-word{position:absolute;left:5%;top:8%;font-size:9vw;letter-spacing:-.08em;font-weight:700}
.identity-word span{font-size:18px;vertical-align:top;letter-spacing:0}
.assemble-piece{position:absolute;opacity:0;transform:translateY(40px);will-change:transform,opacity}
.assemble-piece>span{font-size:10px;letter-spacing:.1em}
.type-piece{left:5%;top:48%}
.type-piece p{font-size:6vw;line-height:1.04;letter-spacing:-.06em;margin-top:16px}
.color-piece{left:37%;top:8%;width:25%}
.color-piece>div{display:flex;margin-top:20px}
.color-piece i{height:65px;flex:1;background:#191a18}
.color-piece i:nth-child(2){background:#999e90}
.color-piece i:nth-child(3){background:#dbded5}
.layout-piece{left:37%;top:40%;width:26%;background:#1b1e19;color:#e9eae3;padding:25px;bottom:5%;display:flex;flex-direction:column;justify-content:space-between}
.layout-piece strong{font-size:4.2vw;font-weight:400;line-height:1;letter-spacing:-.05em}
.layout-piece>span:last-child{font-size:8px}
.image-piece{right:0;top:0;width:30%;height:100%}
.image-piece img{height:100%;width:100%;object-fit:cover;filter:grayscale(1)}
.image-piece span{position:absolute;bottom:20px;left:20px;background:var(--paper);padding:10px}
.systemise{background:#d7dad1}
.system-statement{font-weight:400;font-size:clamp(38px,5vw,80px);letter-spacing:-.05em;line-height:1.12;max-width:1150px}
.system-statement em{color:#53594c}
.application-strip{display:grid;grid-template-columns:1fr 1.25fr .8fr;align-items:center;gap:35px;padding:100px 0}
.application{padding:28px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 30px #151c1514}
.application small{font-size:9px;letter-spacing:.08em}
.letter{background:var(--paper);transform:rotate(-4deg)}
.letter>span{font-size:30px;font-weight:700;letter-spacing:-2px}
.letter p{font-size:30px;line-height:1.1;letter-spacing:-1px}
.poster{background:#1d231c;color:#e8ebe4;min-height:420px;transform:translateY(25px)}
.poster p{font-size:clamp(28px,4.2vw,70px);line-height:.95;letter-spacing:-.05em}
.poster>span{font-size:34px;font-weight:700;letter-spacing:-2px}
.digital{background:#aeb5a2;min-height:350px;transform:rotate(4deg)}
.digital>div{font-weight:700;display:flex;justify-content:space-between}
.digital>div span{font-size:8px;font-weight:400}
.digital p{font-size:clamp(25px,3vw,50px);letter-spacing:-.05em;line-height:1.08}
.method{background:var(--ink);color:var(--paper);overflow:hidden}
.method-words{padding:10px 0 90px;display:flex;flex-direction:column}
.method-words span{font-size:clamp(56px,12.7vw,210px);line-height:.89;letter-spacing:-.07em;will-change:transform}
.method-words span:nth-child(even){align-self:flex-end;font-family:Georgia,serif;font-style:italic;font-weight:400;color:#adb4a1}
.method h2{font-size:14px;font-weight:400;letter-spacing:.07em;padding-bottom:26px;border-bottom:1px solid #55584f}
.method-steps>div{display:grid;grid-template-columns:.3fr 1fr 1fr;align-items:start;border-bottom:1px solid #55584f;padding:29px 0;gap:30px}
.method-steps span{font-size:12px;padding-top:7px;color:#adb4a1}
.method-steps h3{font-weight:400;font-size:36px;letter-spacing:-.03em}
.method-steps p{font-size:16px;line-height:1.55;color:#c9cbc3;max-width:400px}
.work-heading{padding-bottom:65px}
.work-heading .eyebrow{margin-bottom:35px}
.work-heading h2{font-size:clamp(40px,6.4vw,105px);font-weight:400;letter-spacing:-.055em;line-height:1}
.work-heading>p{margin-top:24px;font-size:14px;color:var(--muted)}
.project{margin-bottom:65px}
.project-image{height:80svh;min-height:440px;position:relative;overflow:hidden;margin:0 2%;clip-path:inset(0 3%);background:#45483f}
.project-image>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.65);transform:scale(1.1);will-change:transform}
.project-art{position:absolute;inset:8%;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.project-art small{font-size:11px;letter-spacing:.14em}
.project-art>span{font-size:clamp(65px,17vw,280px);letter-spacing:-.07em;font-weight:500}
.project-art>p{font-family:Georgia,serif;font-style:italic;font-size:24px}
.concept-label{position:absolute;bottom:25px;left:35px;color:#fff;font-size:10px;letter-spacing:.09em}
.project-meta{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:30px 5.5%}
.project-meta h3{font-size:20px;font-weight:500;letter-spacing:-.02em}
.project-meta p{font-size:13px;color:var(--muted);margin-top:10px}
.case-toggle{background:none;border:0;border-bottom:1px solid var(--ink);padding:12px 0;font-size:14px}
.case-toggle span{margin-left:50px;font-size:23px}
.case-content{margin:60px 5.5%;display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.case-content[hidden]{display:none}
.case-content h4{font-size:12px;font-weight:400;letter-spacing:.1em}
.case-content p{font-size:17px;line-height:1.55}
.project-type{background:#bdc4ae;color:#212a1b}
.concept-composition{padding:5% 7%;height:100%;display:flex;flex-direction:column;justify-content:space-between}
.concept-composition>small{font-size:11px;letter-spacing:.14em}
.concept-composition>span{font-size:clamp(52px,9.5vw,155px);font-weight:500;letter-spacing:-.065em;line-height:.86}
.concept-composition>p{align-self:flex-end;font-size:23px;letter-spacing:-.035em}
.composition-bottom{font-size:12px;display:flex;justify-content:space-between;border-top:1px solid #838c76;padding-top:15px}
.project-type .concept-label{left:auto;right:7%;bottom:80px;color:#39472e;font-size:9px}
.business{padding-top:150px;padding-bottom:150px}
.business h2{font-size:clamp(48px,8.6vw,145px);line-height:1;letter-spacing:-.065em;font-weight:500}
.business-copy{margin-left:50%;padding-top:70px;max-width:560px}
.business-copy p{font-size:23px;line-height:1.5;letter-spacing:-.02em;margin-bottom:30px}
.business-copy h3{font-size:clamp(38px,4.8vw,80px);font-style:italic;letter-spacing:-.05em;margin-top:45px}
.who{border-top:1px solid var(--line)}
.who .eyebrow{margin-bottom:35px}
.who h2{font-size:clamp(40px,5.2vw,86px);font-weight:400;line-height:1.05;letter-spacing:-.05em}
.change-list p{padding:22px 0;border-bottom:1px solid var(--line);font-size:20px;letter-spacing:-.02em}
.change-list p:first-child{padding-top:0}
.who-end{font-size:clamp(30px,4.5vw,74px);line-height:1.15;letter-spacing:-.045em;margin-top:130px}
.contact{background:var(--ink);color:var(--paper);padding-bottom:25px}
.contact-top{display:flex;justify-content:space-between;gap:40px}
.contact-top h2{font-size:24px;letter-spacing:-.045em;font-weight:500}
.contact-top p{font-size:14px;line-height:1.6;color:#bcc0b5}
.contact-invite{font-size:clamp(40px,5.4vw,90px);max-width:1150px;letter-spacing:-.05em;line-height:1.1;margin:110px 0 70px}
.contact-invite em{color:#b4baa9}
.start-project{border:0;border-bottom:1px solid #6c7164;background:none;color:inherit;width:100%;padding:15px 0 25px;display:flex;justify-content:space-between;align-items:center;font-size:clamp(31px,7vw,115px);letter-spacing:-.06em;text-align:left}
.start-project span{display:flex;transition:transform .3s}
.start-project:hover span{transform:translate(9px,-9px)}
footer{margin-top:120px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#bcc0b5}
.arrow-icon{width:1em;height:1em;display:inline-block;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:square;stroke-linejoin:miter;flex:0 0 auto}.arrow-icon-large{width:.72em;height:.72em;stroke-width:.8}.direct-contact a,.brief-actions button,#mobile-menu a{display:inline-flex;align-items:center;gap:.45em}.privacy{margin-top:90px;padding:24px 0;border-top:1px solid #6c7164;border-bottom:1px solid #6c7164;max-width:900px}.privacy summary{cursor:pointer;list-style:none;font-size:14px;text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;justify-content:space-between}.privacy summary::-webkit-details-marker{display:none}.privacy summary:after{content:'+';font-size:22px;font-weight:300;line-height:1}.privacy[open] summary:after{content:'−'}.privacy-copy{max-width:760px;padding:28px 0 8px;color:#bcc0b5;font-size:14px;line-height:1.7}.privacy-copy p+p{margin-top:14px}.privacy-copy a{color:var(--paper);border-bottom:1px solid #6c7164}
#project-brief{padding-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:70px}
#project-brief[hidden]{display:none}
.brief-intro h3{font-size:32px;letter-spacing:-.035em;font-weight:400}
.brief-intro p{font-size:16px;color:#bcc0b5;line-height:1.5;margin-top:20px;max-width:430px}
form{display:grid;gap:24px}
label{display:flex;flex-direction:column;gap:10px;font-size:14px}
input,textarea{border:0;border-bottom:1px solid #72776b;background:#262923;color:var(--paper);padding:13px;border-radius:0;width:100%}
form button{padding:16px;background:var(--paper);color:var(--ink);border:0;text-align:left}
#brief-status{font-size:14px;line-height:1.5}
.reveal{opacity:1;transform:none}
.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .85s,transform .85s}
.motion-ready .reveal.in-view{opacity:1;transform:translateY(0)}

@media(min-width:1700px){.section{padding-left:max(5.5%,calc((100vw - 1600px)/2));padding-right:max(5.5%,calc((100vw - 1600px)/2))}
}
@media(max-width:800px){header{height:70px;padding:0 6%}
nav{gap:18px}
.nav-cta{display:none}
.section{padding:75px 6%}
.chapter-head{margin-bottom:65px}
.chapter-grid{gap:30px}
.hero-foot{left:6%;right:6%}
.hero-foot>span:nth-child(2){display:none}
.intro-bottom p,.chapter-copy{font-size:18px}
.services{grid-template-columns:1fr}
.question-list{padding-left:10%;margin-bottom:85px}
.assembly-track{height:140svh}
.assembly{min-height:370px;height:60svh;top:85px}
.application-strip{gap:18px}
.application{padding:18px;min-height:270px}
.poster{min-height:340px}
.digital{min-height:280px}
.letter p{font-size:24px}
.project-image{height:65svh;min-height:400px}
.business-copy{margin-left:35%}
.contact-invite{margin:75px 0}
.case-content{gap:25px}
}

@media(max-width:560px){.section{padding:65px 6%}
.opening{height:185svh}
.hero-word{font-size:35vw}
.hero-foot{bottom:28px;font-size:11px}
.hero-foot a{font-size:12px}
.opening-thought p{font-size:36px}
.opening-thought br{display:none}
header nav{display:none}
.menu-toggle{display:block;border:0;background:none;font-size:14px;padding:15px 0}
#mobile-menu:not([hidden]){position:fixed;inset:70px 0 0;background:var(--paper);z-index:45;display:flex;flex-direction:column;padding:45px 6%;gap:24px;font-size:42px;letter-spacing:-.04em}
.eyebrow{margin-bottom:40px;font-size:11px}
.manifesto h2{font-size:13vw}
.manifesto>.serif{font-size:10vw;line-height:1.05}
.intro-bottom{grid-template-columns:1fr;margin-top:55px;gap:25px}
.intro-bottom p{font-size:18px}
.question-list{padding-left:0;margin-bottom:65px}
.question-list p{font-size:25px;padding:20px 0}
.questions h2{font-size:40px}
.chapter-head{margin-bottom:55px;gap:20px}
.chapter-head h2{font-size:12px;white-space:nowrap}
.chapter-head>span{font-size:11px;text-align:right;max-width:140px}
.chapter-grid{grid-template-columns:1fr;gap:35px}
.chapter-grid h3{font-size:46px}
.services{grid-template-columns:1fr 1fr;column-gap:18px}
.services li{font-size:13px;line-height:1.4;padding:13px 0}
.big-question{font-size:42px;margin-bottom:55px}
.assembly-track{height:125svh;margin-bottom:55px}
.assembly{height:65svh;min-height:420px;top:80px}
.identity-word{font-size:21vw;top:6%;left:7%}
.type-piece{top:40%;left:7%}
.type-piece p{font-size:13vw}
.color-piece{left:7%;top:79%;width:40%}
.color-piece i{height:28px}
.color-piece>div{margin-top:12px}
.image-piece{width:39%;height:43%}
.image-piece span{display:none}
.layout-piece{left:auto;right:5%;top:50%;width:43%;bottom:5%;padding:14px}
.layout-piece strong{font-size:8vw}
.assemble-piece>span{font-size:8px}
.layout-piece>span:last-child{font-size:7px}
.system-statement{font-size:36px}
.application-strip{grid-template-columns:1fr 1fr;padding:60px 0;gap:20px}
.application{min-height:240px;padding:15px}
.letter p{font-size:23px}
.poster{min-height:270px;transform:translateY(20px)}
.poster p{font-size:29px}
.digital{grid-column:1/-1;max-width:230px;width:60%;margin:20px auto 0;min-height:280px}
.digital p{font-size:37px}
.method-words{padding-bottom:55px}
.method-words span{font-size:15vw;line-height:1.02}
.method-steps>div{grid-template-columns:24px 1fr;gap:12px;padding:24px 0}
.method-steps h3{font-size:32px}
.method-steps p{grid-column:2;font-size:16px}
.work-heading h2{font-size:42px}
.work-heading>p{line-height:1.5}
.project-image{height:65svh;min-height:400px;margin:0}
.project-art>span{font-size:23vw}
.project-art small{font-size:9px}
.project-art>p{font-size:20px}
.concept-label{left:6%;bottom:22px;font-size:9px}
.project-meta{align-items:start;flex-direction:column;margin:25px 6%;gap:14px}
.project-meta h3{font-size:20px}
.project-meta p{font-size:12px;line-height:1.5}
.case-toggle{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center}
.case-content{grid-template-columns:1fr;margin:35px 6%;gap:20px}
.concept-composition{padding:9% 7%}
.concept-composition>span{font-size:14vw}
.concept-composition>p{font-size:20px}
.concept-composition>small{font-size:8px}
.composition-bottom{font-size:9px;gap:20px}
.composition-bottom span{max-width:130px}
.project-type .concept-label{bottom:65px;font-size:8px}
.business h2{font-size:12vw}
.business-copy{margin-left:12%;padding-top:45px}
.business-copy p{font-size:20px}
.business-copy h3{font-size:42px}
.who h2{font-size:46px}
.change-list p{font-size:18px;padding:20px 0}
.who-end{margin-top:70px;font-size:33px}
.who-end br{display:none}
.contact-top{flex-direction:column;gap:25px}
.contact-invite{font-size:39px;margin:65px 0 45px}
.start-project{font-size:9vw;padding-bottom:20px}
footer{flex-direction:column;margin-top:70px;font-size:12px;gap:18px}
#project-brief{grid-template-columns:1fr;gap:35px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.opening{height:auto}
.opening-pin{position:relative;min-height:100svh;height:auto;display:block;padding-top:24svh}
.hero-word{transform:none!important;opacity:1!important}
.opening-thought{position:relative;opacity:1!important;margin-top:40px;padding-bottom:130px}
.opening-thought p{font-size:clamp(26px,4vw,60px)}
.assembly-track{height:auto}
.assembly{position:relative;top:0}
.assemble-piece{opacity:1!important;transform:none!important}
.reveal,.motion-ready .reveal{opacity:1;transform:none}
.method-words span{transform:none!important}
.project-image{clip-path:none!important}
.project-image>img{transform:none!important}
}

/* Real portfolio assets retain their original colour and complete compositions. */
.client-image{height:78svh;min-height:480px;background:#e2e2df;display:flex;align-items:center;justify-content:center;padding:50px 6% 60px}
.client-image>img{object-fit:contain;width:100%;height:100%;filter:none;max-width:1500px;transform:scale(1);will-change:transform}
.work-index{position:absolute;left:6%;bottom:24px;font-size:10px;letter-spacing:.1em;color:#42483f}
.boasa-image{background:#dee9e5;gap:7%}
.boasa-image>img{width:38%;height:auto;max-width:411px;max-height:80%;object-fit:contain}
.boasa-title{width:47%;color:#205b63}
.boasa-title small{font-size:11px;letter-spacing:.13em}
.boasa-title p{font-size:clamp(48px,7vw,115px);letter-spacing:-.055em;line-height:.85;margin:45px 0}
.boasa-title p span{font-size:.37em;letter-spacing:.27em}
.boasa-title em{font-size:clamp(23px,2.6vw,42px);line-height:1.2}
.royal-image{background:#d9d9d9;padding:25px 4% 55px}
.transnet-image{background:#d6d7d3}
.direct-contact{display:flex;gap:40px;flex-wrap:wrap;margin-top:45px;font-size:16px}
.direct-contact a{border-bottom:1px solid #6c7164;padding-bottom:8px}
.brief-actions{display:flex;gap:12px;flex-wrap:wrap}
.brief-actions button{flex:1}
.brief-actions .download-brief{color:var(--paper);background:transparent;border:1px solid #72776b}
#brief-status{overflow-wrap:anywhere}
@media(max-width:560px){.client-image{height:auto;min-height:0;aspect-ratio:1.15;padding:22px 5% 38px}
.client-image>img{max-height:100%;height:auto}
.boasa-image{aspect-ratio:auto;min-height:580px;flex-direction:column;gap:25px;padding:38px 8% 55px}
.boasa-title{width:100%}
.boasa-title small{font-size:9px}
.boasa-title p{font-size:56px;margin:25px 0 15px}
.boasa-title em{font-size:24px}
.boasa-image>img{width:65%;max-width:260px;max-height:300px}
.work-index{font-size:9px;bottom:16px}
.direct-contact{flex-direction:column;align-items:flex-start;gap:20px;font-size:16px}
.brief-actions{flex-direction:column}
}

.clients{padding-bottom:40px;border-top:1px solid var(--line)}
.clients-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:55px}
.clients-intro .eyebrow{margin-bottom:30px}
.clients-intro h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(36px,4.4vw,68px);font-weight:400;letter-spacing:-.045em;line-height:1.1}
.clients-intro>p{max-width:500px;font-size:18px;line-height:1.5;color:var(--muted)}
.client-logos{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;margin:0;border-top:1px solid var(--line)}
.client-logos li{display:flex;align-items:center;justify-content:center;min-height:145px;padding:30px 22px;border-bottom:1px solid var(--line)}
.client-logos img{display:block;width:auto;height:auto;max-width:70%;max-height:44px;object-fit:contain;mix-blend-mode:multiply}
.expo-image{background:#e1ebee}
.mining-image{background:#e3e2dc}
.mining-image>img{max-width:1150px}
.anglogold-image{background:#fff}
.anglogold-image>img{max-width:1300px}
@media(max-width:800px){.client-logos{grid-template-columns:repeat(4,minmax(0,1fr))}
.client-logos li{padding:25px 17px}
.clients-intro{gap:30px}
}
@media(max-width:560px){.clients-intro{grid-template-columns:1fr;gap:25px;margin-bottom:35px}
.clients-intro>p{font-size:16px}
.client-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
.client-logos li{min-height:110px;padding:23px}
.client-logos img{max-width:72%;max-height:38px}
.expo-image{aspect-ratio:1.1}
.mining-image{aspect-ratio:1.65}
.anglogold-image{aspect-ratio:1.35}
}
/* Kazi Bora: original publication pages in an editorial gallery. */
.kazi-cover-stage{position:relative;margin:0 2%;padding:75px 7% 85px;background:#e4e1dd;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.kazi-intro .eyebrow{display:block;margin-bottom:45px}.kazi-intro h3{font-weight:400;font-size:clamp(44px,5.8vw,94px);line-height:1.03;letter-spacing:-.055em}.kazi-intro>p{font-size:18px;line-height:1.5;max-width:390px;margin-top:30px}.kazi-intro>a{display:inline-flex;align-items:center;gap:30px;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:10px;margin-top:35px}.kazi-arrow{width:24px;height:24px;display:inline-block;flex-shrink:0}.kazi-cover{position:relative;border:0;padding:0;background:transparent;width:100%;max-width:430px;justify-self:center;box-shadow:16px 20px 38px #29221f30;transition:transform .4s}.kazi-cover:hover{transform:translateY(-7px)}.kazi-cover img{width:100%;height:auto;display:block}.kazi-cover>span{position:absolute;bottom:18px;right:18px;background:#f4f1ec;color:#1b1b1b;padding:9px 12px;font-size:10px;letter-spacing:.08em}.kazi-gallery{margin:55px 5.5% 90px;scroll-margin-top:100px}.kazi-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.kazi-gallery-head h4{font-size:32px;font-weight:400;letter-spacing:-.04em;margin:0 0 10px}.kazi-gallery-head p{font-size:14px;color:var(--muted);line-height:1.5}.gallery-controls{display:flex;gap:12px}.gallery-controls button,.kazi-viewer-footer button{border:1px solid var(--line);background:transparent;color:inherit;min-width:46px;min-height:46px;display:flex;align-items:center;justify-content:center;padding:10px}.gallery-controls button:disabled,.kazi-viewer-footer button:disabled{opacity:.3;cursor:default}#kazi-prev svg,#kazi-view-prev svg{transform:rotate(180deg)}.kazi-page-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:8px 2px 22px;scrollbar-width:thin;scrollbar-color:#818278 transparent}.kazi-page{flex:0 0 29%;margin:0;scroll-snap-align:start;min-width:230px}.kazi-page button{padding:0;border:0;background:transparent;display:block;width:100%;cursor:zoom-in}.kazi-page img{display:block;width:100%;height:auto;aspect-ratio:1/1.414;object-fit:contain;background:white;box-shadow:0 6px 15px #00000010}.kazi-page figcaption{margin-top:20px}.kazi-page figcaption span{font-size:14px}.kazi-page figcaption p{font-size:14px;line-height:1.45;color:var(--muted);margin-top:8px;max-width:310px}.gallery-hint{font-size:12px;color:var(--muted);margin-top:18px}#kazi-viewer{padding:0;width:min(1100px,96vw);height:94dvh;max-width:none;max-height:96dvh;border:0;background:var(--paper);color:var(--ink);overflow:hidden}#kazi-viewer[open]{display:flex;flex-direction:column}#kazi-viewer::backdrop{background:#111d}.kazi-viewer-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 25px;border-bottom:1px solid var(--line);flex-shrink:0}.kazi-viewer-bar h2{font-size:18px;font-weight:400}.kazi-viewer-bar button{border:0;background:transparent;padding:12px;color:inherit}.kazi-viewer-scroll{flex:1;min-height:0;overflow:auto;padding:20px;overscroll-behavior:contain;text-align:center}.kazi-viewer-scroll img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;margin:auto}.kazi-viewer-scroll.zoomed img{height:auto;width:1200px;max-width:none}.kazi-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 25px;border-top:1px solid var(--line);flex-shrink:0}.kazi-viewer-footer p{font-size:14px;flex:1;text-align:center}.kazi-viewer-footer #kazi-zoom{font-size:14px;white-space:nowrap}@media(max-width:800px){.kazi-cover-stage{gap:6%;padding:55px 6% 75px}.kazi-page{flex-basis:43%}.kazi-intro h3{font-size:48px}}@media(max-width:560px){.kazi-cover-stage{margin:0;grid-template-columns:1fr;gap:45px;padding:45px 8% 65px}.kazi-intro .eyebrow{margin-bottom:25px}.kazi-intro h3{font-size:48px}.kazi-intro>p{font-size:16px;margin-top:20px}.kazi-cover{max-width:280px}.kazi-gallery{margin:40px 6% 65px}.kazi-gallery-head{align-items:start}.kazi-gallery-head h4{font-size:27px}.kazi-gallery-head p{font-size:13px}.gallery-controls{gap:6px}.gallery-controls button{min-width:40px;min-height:40px;padding:7px}.kazi-page{flex-basis:80%;min-width:0}.kazi-page-track{gap:20px}.kazi-viewer-bar{padding:10px 15px}.kazi-viewer-scroll{padding:12px}.kazi-viewer-scroll img{height:auto;width:100%}.kazi-viewer-footer{padding:10px;gap:8px}.kazi-viewer-footer p{font-size:12px}.kazi-viewer-footer #kazi-zoom{font-size:12px}.kazi-viewer-bar h2{font-size:16px}}

/* Transnet: original publication pages in an editorial gallery. */
.transnet-cover-stage{position:relative;margin:0 2%;padding:75px 7% 85px;background:#e4e1dd;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.transnet-intro .eyebrow{display:block;margin-bottom:45px}.transnet-intro h3{font-weight:400;font-size:clamp(44px,5.8vw,94px);line-height:1.03;letter-spacing:-.055em}.transnet-intro>p{font-size:18px;line-height:1.5;max-width:390px;margin-top:30px}.transnet-intro>a{display:inline-flex;align-items:center;gap:30px;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:10px;margin-top:35px}.transnet-arrow{width:24px;height:24px;display:inline-block;flex-shrink:0}.transnet-cover{position:relative;border:0;padding:0;background:transparent;width:100%;max-width:430px;justify-self:center;box-shadow:16px 20px 38px #29221f30;transition:transform .4s}.transnet-cover:hover{transform:translateY(-7px)}.transnet-cover img{width:100%;height:auto;display:block}.transnet-cover>span{position:absolute;bottom:18px;right:18px;background:#f4f1ec;color:#1b1b1b;padding:9px 12px;font-size:10px;letter-spacing:.08em}.transnet-gallery{margin:55px 5.5% 90px;scroll-margin-top:100px}.transnet-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.transnet-gallery-head h4{font-size:32px;font-weight:400;letter-spacing:-.04em;margin:0 0 10px}.transnet-gallery-head p{font-size:14px;color:var(--muted);line-height:1.5}.gallery-controls{display:flex;gap:12px}.gallery-controls button,.transnet-viewer-footer button{border:1px solid var(--line);background:transparent;color:inherit;min-width:46px;min-height:46px;display:flex;align-items:center;justify-content:center;padding:10px}.gallery-controls button:disabled,.transnet-viewer-footer button:disabled{opacity:.3;cursor:default}#transnet-prev svg,#transnet-view-prev svg{transform:rotate(180deg)}.transnet-page-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:8px 2px 22px;scrollbar-width:thin;scrollbar-color:#818278 transparent}.transnet-page{flex:0 0 29%;margin:0;scroll-snap-align:start;min-width:230px}.transnet-page button{padding:0;border:0;background:transparent;display:block;width:100%;cursor:zoom-in}.transnet-page img{display:block;width:100%;height:auto;aspect-ratio:1/1.414;object-fit:contain;background:white;box-shadow:0 6px 15px #00000010}.transnet-page figcaption{margin-top:20px}.transnet-page figcaption span{font-size:14px}.transnet-page figcaption p{font-size:14px;line-height:1.45;color:var(--muted);margin-top:8px;max-width:310px}.gallery-hint{font-size:12px;color:var(--muted);margin-top:18px}#transnet-viewer{padding:0;width:min(1100px,96vw);height:94dvh;max-width:none;max-height:96dvh;border:0;background:var(--paper);color:var(--ink);overflow:hidden}#transnet-viewer[open]{display:flex;flex-direction:column}#transnet-viewer::backdrop{background:#111d}.transnet-viewer-bar{display:flex;align-items:center;justify-content:space-between;padding:15px 25px;border-bottom:1px solid var(--line);flex-shrink:0}.transnet-viewer-bar h2{font-size:18px;font-weight:400}.transnet-viewer-bar button{border:0;background:transparent;padding:12px;color:inherit}.transnet-viewer-scroll{flex:1;min-height:0;overflow:auto;padding:20px;overscroll-behavior:contain;text-align:center}.transnet-viewer-scroll img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;margin:auto}.transnet-viewer-scroll.zoomed img{height:auto;width:1200px;max-width:none}.transnet-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 25px;border-top:1px solid var(--line);flex-shrink:0}.transnet-viewer-footer p{font-size:14px;flex:1;text-align:center}.transnet-viewer-footer #transnet-zoom{font-size:14px;white-space:nowrap}@media(max-width:800px){.transnet-cover-stage{gap:6%;padding:55px 6% 75px}.transnet-page{flex-basis:43%}.transnet-intro h3{font-size:48px}}@media(max-width:560px){.transnet-cover-stage{margin:0;grid-template-columns:1fr;gap:45px;padding:45px 8% 65px}.transnet-intro .eyebrow{margin-bottom:25px}.transnet-intro h3{font-size:48px}.transnet-intro>p{font-size:16px;margin-top:20px}.transnet-cover{max-width:280px}.transnet-gallery{margin:40px 6% 65px}.transnet-gallery-head{align-items:start}.transnet-gallery-head h4{font-size:27px}.transnet-gallery-head p{font-size:13px}.gallery-controls{gap:6px}.gallery-controls button{min-width:40px;min-height:40px;padding:7px}.transnet-page{flex-basis:80%;min-width:0}.transnet-page-track{gap:20px}.transnet-viewer-bar{padding:10px 15px}.transnet-viewer-scroll{padding:12px}.transnet-viewer-scroll img{height:auto;width:100%}.transnet-viewer-footer{padding:10px;gap:8px}.transnet-viewer-footer p{font-size:12px}.transnet-viewer-footer #transnet-zoom{font-size:12px}.transnet-viewer-bar h2{font-size:16px}}

.transnet-feature{position:relative;margin:0 2%;background:#dedfe1}.transnet-feature>button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.transnet-feature img{display:block;width:100%;height:min(78svh,850px);object-fit:contain}.transnet-feature>button>span{position:absolute;right:5%;bottom:25px;font-size:11px;background:var(--paper);padding:10px 14px;letter-spacing:.06em}.transnet-story{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:65px 5.5%}.transnet-story h3{font-size:clamp(38px,4.5vw,72px);line-height:1.06;letter-spacing:-.045em;font-weight:400}.transnet-story>p{font-size:20px;line-height:1.5;max-width:540px}.transnet-page{flex-basis:44%}.transnet-page img{aspect-ratio:1.4;object-fit:contain;background:#e4e4e1}.transnet-page figcaption small{display:block;font-size:10px;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}#transnet-viewer .transnet-viewer-scroll img{width:100%;height:100%;object-fit:contain}#transnet-viewer .transnet-viewer-scroll.zoomed img{width:1800px;height:auto;max-width:none}@media(max-width:560px){.transnet-feature{margin:0}.transnet-feature img{height:auto;aspect-ratio:1.2}.transnet-feature>button>span{font-size:9px;bottom:16px}.transnet-story{grid-template-columns:1fr;gap:25px;margin:40px 6%}.transnet-story>p{font-size:17px}.transnet-page{flex-basis:88%}}
