@font-face{font-family:Geist;src:url('/assets/Geist-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url('/assets/Geist-Medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Geist;src:url('/assets/Geist-Bold.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Geist;src:url('/assets/Geist-Black.woff2') format('woff2');font-weight:900;font-display:swap}@font-face{font-family:Mono;src:url('/assets/GeistMono-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--bone:#f4f1ea;--ink:#1c2128;--cyan:#00b3c7;--muted:#5b6269;--line:#cecec7;--nav:84px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bone);color:var(--ink);font:400 17px/1.65 Geist,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-color:var(--cyan)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}button{cursor:pointer}img{max-width:100%;height:auto}p{margin:0 0 20px}h1,h2,h3{line-height:1.08;letter-spacing:-.045em;margin:0}h1{font-size:clamp(46px,5.3vw,82px);font-weight:700}h2{font-size:clamp(34px,4.3vw,62px);font-weight:500}h3{font-size:26px;font-weight:500}ul{padding-left:22px}.shell{width:calc(100% - 112px);max-width:1470px;margin:0 auto}.eyebrow{font:500 12px/1.6 Mono,monospace;text-transform:uppercase;letter-spacing:.11em}.muted{color:var(--muted)}.cyan{color:var(--cyan)}.header{height:var(--nav);position:sticky;top:0;z-index:50;background:rgba(244,241,234,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header .shell{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{display:block;width:137px}.nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav a{text-decoration:none}.nav .nav-cta{border-bottom:1px solid;padding-bottom:4px}.menu-toggle{display:none;border:1px solid var(--line);background:none;padding:8px 12px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--bone);padding:12px}.skip:focus{top:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 21px;min-height:52px;background:var(--ink);color:var(--bone);text-decoration:none;font-size:14px;border:1px solid var(--ink)}.button:after{content:'↗';font-size:20px}.button:hover{background:#313943}.button.outline{background:none;color:var(--ink)}.button.light{background:var(--bone);color:var(--ink);border-color:var(--bone)}.text-link{display:inline-flex;gap:25px;font-size:14px}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.hero{padding:55px 0 0}.hero-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:6vw;align-items:center}.hero :is(h1,h2){margin:20px 0 26px}.hero :is(h1,h2) span{color:#657078}.hero .intro{max-width:490px;color:var(--muted);font-size:18px}.hero-image{position:relative;margin:0;min-height:570px;align-self:stretch;background:#9b9c98;overflow:hidden}.hero-image picture,.hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-image figcaption{position:absolute;bottom:22px;left:22px;right:22px;color:#fff;font:12px/1.5 Mono,monospace;display:flex;justify-content:space-between;gap:18px;text-shadow:0 1px 6px #000}.hero-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}.hero-image figcaption{z-index:1}.hero-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:25px 0 32px;font:12px/1.5 Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.hero-bottom a{text-decoration:none}.hero-bottom span{color:var(--muted)}.story{background:#10151a;color:var(--bone);position:relative}.story-heading{padding:60px 0;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.story-heading h2{max-width:760px;font-size:clamp(36px,4.7vw,64px)}.story-heading p{max-width:280px;color:#b9bec3;font-size:15px;margin:0}.story-toolbar{padding:16px 0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;display:flex;justify-content:space-between;gap:15px;font-size:12px}.story-toolbar button{background:transparent;color:inherit;border:0;padding:0;text-decoration:underline;text-underline-offset:4px;font-size:12px}.story-reel{position:relative}.story-stage{display:none}.chapter{padding:40px 0}.chapter-image{display:block;width:100%;max-height:650px;object-fit:cover}.chapter-copy{max-width:690px;margin-top:22px}.chapter-copy h2{margin:18px 0 22px}.chapter-copy p{max-width:480px;color:#e0e1df;font-size:18px}.evidence-cue{font:12px/1.5 Mono,monospace;text-transform:uppercase;letter-spacing:.06em;color:#b7e9ed;margin-top:25px;border-top:1px solid #ffffff40;padding-top:15px;max-width:480px}.enhanced .story-stage{display:block;position:sticky;top:var(--nav);height:calc(100svh - var(--nav));margin-bottom:calc(-100svh + var(--nav));overflow:hidden}.film-layer{position:absolute;inset:0;opacity:0;transition:opacity .4s ease;background:#10151a}.film-layer.active{opacity:1}.film-layer picture,.film-layer img,.film-layer video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.film-layer video{opacity:0}.film-layer.painted video{opacity:1}.film-shade{position:absolute;inset:0;background:linear-gradient(90deg,#091018ce 0%,#0910184a 62%,transparent),linear-gradient(0deg,#091018d9,transparent 80%)}.film-meta{position:absolute;top:30px;left:56px;right:56px;display:flex;justify-content:space-between;gap:20px;color:#fff;font:12px/1.5 Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.film-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff25}.film-progress span{display:block;background:var(--cyan);height:100%;width:100%;transform:scaleX(0);transform-origin:left}.enhanced .chapter{position:relative;min-height:132svh;padding:0 0 42svh;display:flex;align-items:flex-end;pointer-events:none}.enhanced .chapter .chapter-image{display:none}.enhanced .chapter-copy{margin:0;max-width:720px}.enhanced .chapter-copy h2{font-size:clamp(44px,5.7vw,84px);max-width:760px}.enhanced .chapter-copy p{font-size:19px;max-width:460px}.chapter.rewind .eyebrow{color:var(--cyan)}.section{padding:100px 0;border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:60px}.section-heading h2{max-width:830px}.section-heading .eyebrow{color:var(--muted);padding-top:8px}.service-row{border-top:1px solid var(--line);padding:35px 0;display:grid;grid-template-columns:65px 1fr 1fr 50px;gap:25px;align-items:start;color:inherit;text-decoration:none}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row .service-no{font:13px/1.6 Mono,monospace}.service-row :is(h2,h3){font-size:32px;max-width:330px}.service-row p{color:var(--muted);font-size:16px;margin:0;max-width:470px}.service-row .arrow{font-size:28px}.service-row:hover .arrow{color:#007987}.service-row:hover :is(h2,h3){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.approach-step{border-top:1px solid var(--ink);padding-top:20px}.approach-step h3{font-size:23px;margin:18px 0}.approach-step p{font-size:15px;color:var(--muted)}.approach-step .eyebrow{color:var(--muted)}.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.portrait{display:block;aspect-ratio:4/4.8;object-fit:cover;object-position:center 30%;background:#d5d2cb}.about-copy h2{margin:20px 0 30px}.about-copy p{max-width:620px;color:var(--muted)}.early-band{margin-top:55px;padding:32px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px}.early-band h3{font-size:25px}.contact-band{background:var(--ink);color:var(--bone);padding:85px 0}.contact-band .shell{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end}.contact-band h2{margin:18px 0 30px}.contact-band p{color:#c7cdd0;max-width:440px}.contact-list{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:22px}.footer{padding:45px 0 22px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-links{display:flex;flex-wrap:wrap;gap:16px 25px;font-size:13px}.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}.page-hero{padding:70px 0 75px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:1000px;margin:22px 0 30px}.page-hero .lede{max-width:750px;font-size:23px;color:var(--muted)}.breadcrumbs{font:12px/1.5 Mono,monospace;margin-bottom:40px;color:var(--muted)}.content-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:8vw}.content-grid h2{font-size:38px}.prose{max-width:820px}.prose p{margin-bottom:22px}.deliverables{padding:30px;background:#e6e4dc;border-top:2px solid var(--ink)}.deliverables h3{margin-bottom:20px}.deliverables li{margin:9px 0}.stage-row{display:grid;grid-template-columns:75px 1fr 1.5fr;gap:35px;border-top:1px solid var(--line);padding:30px 0}.stage-row .number{font:48px/1 Mono,monospace;color:#8b9398}.stage-row h3{font-size:27px}.stage-row p{color:var(--muted);margin:0}.page-photo{width:100%;height:450px;object-fit:cover}.image-note{font:12px/1.5 Mono,monospace;color:var(--muted);margin-top:10px}.enquiry{display:grid;grid-template-columns:1.35fr 1fr;gap:9vw}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:14px}input,textarea,select{width:100%;padding:13px 12px;border:1px solid #969b9b;background:transparent;border-radius:0;color:var(--ink)}textarea{resize:vertical;min-height:155px}.form-note{font-size:13px;color:var(--muted)}.form-result{padding:22px;border:1px solid var(--ink);margin-top:25px;background:#e5ede9}.form-result[hidden]{display:none}.faq{border-top:1px solid var(--line);padding:20px 0}.faq summary{font-weight:500;cursor:pointer;font-size:18px}.faq p{padding-top:18px;max-width:750px}.privacy p{max-width:850px}.privacy h2{font-size:28px;margin:35px 0 20px}.subtle-note{font-size:13px;color:var(--muted)}
@media(min-width:1600px){.hero-image{min-height:660px}}@media(max-width:1000px){.shell{width:calc(100% - 60px)}.nav{gap:20px}.hero-layout{gap:35px}.hero-image{min-height:540px}.hero :is(h1,h2){font-size:52px}.section{padding:75px 0}.section-heading{grid-template-columns:1fr 2.2fr;gap:30px}.service-row{grid-template-columns:40px 1fr 1fr 25px;gap:18px}.service-row :is(h2,h3){font-size:27px}.approach-grid{grid-template-columns:1fr 1fr}.film-meta{left:30px;right:30px}.contact-band .shell{gap:40px}}
@media(max-width:700px){:root{--nav:70px}.shell{width:calc(100% - 40px)}body{font-size:16px}.header .shell{gap:15px}.brand img{width:118px}.menu-toggle{display:block;font-size:13px}.nav{display:none;position:absolute;top:69px;left:0;right:0;flex-direction:column;align-items:stretch;padding:25px 20px;background:var(--bone);border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:8px 0}.hero{padding-top:35px}.hero-layout{display:flex;flex-direction:column;gap:32px}.hero :is(h1,h2){font-size:clamp(42px,11.5vw,66px);margin:18px 0 22px}.hero .intro{font-size:16px}.hero-image{width:100%;min-height:440px}.hero-image picture{display:block}.hero-image figcaption{left:16px;right:16px;font-size:10px}.hero-bottom{padding:22px 0;align-items:flex-start;font-size:10px}.hero-bottom span{max-width:135px;text-align:right}.actions{gap:16px}.story-heading{padding:40px 0;display:block}.story-heading h2{font-size:37px;margin-bottom:20px}.story-heading p{max-width:100%}.story-toolbar{font-size:11px;align-items:flex-start}.story-toolbar button{font-size:11px}.enhanced .chapter{min-height:110svh;padding-bottom:22svh}.enhanced .chapter-copy h2{font-size:42px;max-width:340px}.enhanced .chapter-copy p{font-size:16px;max-width:310px}.film-shade{background:linear-gradient(0deg,#081017f2 0%,#08101799 38%,transparent 85%)}.film-meta{top:18px;left:20px;right:20px;font-size:10px}.film-meta span:last-child{max-width:130px;text-align:right}.evidence-cue{font-size:10px}.section{padding:58px 0}.section-heading{display:block;margin-bottom:34px}.section-heading h2{font-size:36px;margin-top:18px}.service-row{grid-template-columns:25px 1fr 25px;gap:12px;padding:25px 0}.service-row :is(h2,h3){font-size:27px}.service-row p{grid-column:2;grid-row:2;font-size:15px}.service-row .arrow{grid-column:3;grid-row:1}.approach-grid{gap:25px}.approach-step h3{font-size:21px}.about-layout{grid-template-columns:1fr;gap:30px}.portrait{max-height:500px;width:100%;aspect-ratio:4/4}.about-copy h2{font-size:38px}.early-band{align-items:flex-start;flex-direction:column;margin-top:35px}.contact-band{padding:55px 0}.contact-band .shell{grid-template-columns:1fr;gap:15px}.contact-band h2{font-size:40px}.contact-list{font-size:19px;overflow-wrap:anywhere}.footer-top,.footer-bottom{flex-direction:column;gap:22px}.footer-links{gap:15px 22px}.footer-bottom{margin-top:30px}.page-hero{padding:38px 0 48px}.page-hero h1{font-size:44px}.page-hero .lede{font-size:19px}.breadcrumbs{margin-bottom:25px}.content-grid,.enquiry{grid-template-columns:1fr;gap:32px}.content-grid h2{font-size:33px}.stage-row{grid-template-columns:50px 1fr;gap:18px}.stage-row p{grid-column:2}.stage-row .number{font-size:35px}.stage-row h3{font-size:24px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.page-photo{height:340px}.deliverables{padding:22px}.chapter-copy h2{font-size:36px}.story-reel:not(.enhanced) .chapter-image{max-height:460px}.button{font-size:13px;padding:13px 17px}.text-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{.header,.story-stage,.story-toolbar,.hero-image,.menu-toggle{display:none!important}.enhanced .chapter{min-height:0;padding:20px 0;color:#000}.story{background:white;color:#000}.chapter-copy p{color:#333}.section{padding:30px 0}.shell{width:90%}}
/* Contractor design and editorial content */
.hero :is(h1,h2){font-size:clamp(40px,4.8vw,74px);letter-spacing:-.05em}.hero-image{min-height:530px}.nav{gap:23px}.nav a[aria-current=page]{border-bottom:1px solid var(--ink)}.nav .nav-cta{padding:10px 15px;background:var(--ink);color:var(--bone);border:0}.project-start{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw;padding:48px 0 64px}.project-start h2{font-size:clamp(28px,3vw,42px);margin-top:16px}.start-links a{display:grid;grid-template-columns:1fr 24px;gap:5px 15px;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none}.start-links a:first-child{border-top:1px solid var(--line)}.start-links a>span:first-child{font:10px/1.5 Mono,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.start-links strong{grid-column:1;font-size:17px;font-weight:500}.start-links a>span:last-child{grid-column:2;grid-row:1/3;align-self:center;font-size:24px}.start-links a:hover strong{text-decoration:underline;text-underline-offset:5px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-bottom:35px}.value-grid>div{border-top:1px solid var(--line);padding-top:22px}.value-grid .number{font:12px Mono,monospace;color:var(--muted)}.value-grid h3{margin:25px 0 18px;font-size:27px}.value-grid p{color:var(--muted);font-size:16px}.specialism-strip{display:grid;grid-template-columns:1fr 2fr;gap:6vw;border-top:2px solid var(--cyan);padding:25px 0 50px;margin-bottom:50px}.specialism-strip p{font-size:28px;line-height:1.35;letter-spacing:-.03em;margin:0}.specialism-band{background:#e1e6e3;padding:40px 0}.specialism-band>.shell{display:flex;justify-content:space-between;align-items:center;gap:30px}.specialism-band h2{font-size:30px;margin:12px 0}.specialism-band p{margin:0}.contact-direct{margin-top:28px}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-bottom:35px}.insight-card{border-top:2px solid var(--ink);padding:22px 0 0;display:flex;flex-direction:column}.insight-card :is(h2,h3){font-size:28px;line-height:1.18;margin:24px 0 18px}.insight-card :is(h2,h3) a{text-decoration:none}.insight-card :is(h2,h3) a:hover{text-decoration:underline;text-decoration-thickness:1px}.insight-card p{font-size:15px;color:var(--muted)}.insight-meta{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-top:auto;padding-top:18px}.insight-meta a{text-decoration:none}.news-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:45px}.news-filters>span{margin-right:auto}.news-filters button{background:transparent;border:1px solid var(--line);padding:10px 20px;font-size:14px;min-height:44px}.news-filters button[aria-pressed=true]{background:var(--ink);color:var(--bone)}[hidden]{display:none!important}.article-hero h1{font-size:clamp(40px,5vw,72px);max-width:1150px}.article-byline{font:12px/1.6 Mono,monospace;margin-top:30px;color:var(--muted)}.article-layout{display:grid;grid-template-columns:1fr 2.2fr;gap:7vw;align-items:start}.article-nav{position:sticky;top:120px;display:flex;flex-direction:column;gap:18px;font-size:14px}.article-nav a{text-decoration:none;max-width:240px}.article-nav .text-link{margin-top:20px}.article-body{max-width:790px}.article-body>section{margin-bottom:45px}.article-body h2{font-size:31px;margin-bottom:24px}.article-body li{margin-bottom:12px}.sources{border-top:1px solid var(--line);padding-top:30px}.sources li{font-size:14px;overflow-wrap:anywhere}.sources li>span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.article-cta{border-top:2px solid var(--cyan);background:#e6e4dc;padding:32px}.article-cta h2{margin-top:20px}.article-cta p{color:var(--muted)}.evidence-sheet{border:1px solid #9aa19f;padding:30px;background:#eeece5;box-shadow:9px 9px 0 #dcded7}.evidence-head{font:11px/1.5 Mono,monospace;display:flex;justify-content:space-between;gap:15px;padding-bottom:20px;border-bottom:2px solid var(--ink)}.evidence-sheet dl{margin:0}.evidence-sheet dt{font:11px/1.5 Mono,monospace;text-transform:uppercase;margin-top:22px;color:var(--muted)}.evidence-sheet dd{margin:7px 0 0;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:16px}.footer-position{font-size:13px;color:var(--muted);margin-top:20px;line-height:1.8}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer-links>div{display:flex;flex-direction:column;gap:11px;max-width:250px}.footer-links .eyebrow{margin-bottom:6px;color:var(--muted);font-size:10px}.footer-links a{text-decoration:none}.footer-bottom{font-size:11px}.mobile-contact{display:none}.form-note{line-height:1.6}.form-result p{font-size:15px}.page-hero h1{overflow-wrap:break-word}.article-nav a:hover,.footer-links a:hover{text-decoration:underline}.enquiry aside .contact-list{font-size:clamp(16px,1.8vw,22px)}
@media(max-width:1100px){.nav{gap:14px;font-size:12px}.brand img{width:120px}.hero-layout{gap:35px}.hero :is(h1,h2){font-size:48px}.footer-links{gap:24px}.hero-image{min-height:490px}.insight-grid{gap:24px}.insight-card :is(h2,h3){font-size:25px}.footer-top{gap:30px}.article-layout{grid-template-columns:1fr 2.5fr;gap:35px}}
@media(max-width:850px){.footer-top{display:block}.footer-links{margin-top:30px}.value-grid{gap:24px}.hero :is(h1,h2){font-size:42px}.nav{gap:10px}.nav .nav-cta{padding:9px}.hero-layout{gap:25px}.hero .intro{font-size:16px}.project-start{gap:35px}}
@media(max-width:700px){body{padding-bottom:60px}.hero :is(h1,h2){font-size:clamp(40px,10.7vw,62px)}.hero-image{min-height:430px}.nav{font-size:16px;gap:6px}.nav .nav-cta{padding:13px}.project-start{grid-template-columns:1fr;gap:25px;padding:30px 0 42px}.project-start h2{font-size:33px}.hero-bottom{font-size:10px;gap:20px}.hero-bottom>a:last-child{max-width:175px;text-align:right}.value-grid,.insight-grid{grid-template-columns:1fr;gap:32px}.value-grid h3{margin-top:16px}.insight-card :is(h2,h3){font-size:29px;margin-top:18px}.insight-card p{max-width:500px}.insight-meta{font-size:12px}.specialism-strip{grid-template-columns:1fr;gap:14px;margin-bottom:30px;padding-bottom:25px}.specialism-strip p{font-size:24px}.specialism-band>.shell{display:block}.specialism-band .button{margin-top:22px}.specialism-band h2{font-size:28px}.article-layout{display:block}.article-nav{position:static;border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:35px;gap:14px}.article-nav a{max-width:100%}.article-nav .text-link{margin-top:5px}.article-body h2{font-size:29px}.article-hero h1{font-size:42px}.article-cta{padding:24px}.evidence-sheet{padding:22px}.evidence-head{font-size:10px}.footer-links{grid-template-columns:1fr 1fr;gap:28px 18px}.footer-links>div:last-child{grid-column:1/-1}.footer{padding-bottom:35px}.mobile-contact{display:grid;grid-template-columns:.8fr 1.2fr;position:fixed;bottom:0;left:0;right:0;z-index:45;background:var(--ink);color:var(--bone);border-top:1px solid #ffffff40;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{font-size:13px;text-decoration:none;text-align:center;min-height:56px;display:flex;align-items:center;justify-content:center;gap:24px;padding:14px}.mobile-contact a:first-child{border-right:1px solid #ffffff40}.mobile-contact a:last-child{background:#dde9e8;color:var(--ink)}.news-filters>span{flex-basis:100%;margin-bottom:8px}.news-filters button{flex:1}.contact-list{overflow-wrap:anywhere}.enhanced .chapter-copy h2{font-size:39px}.enhanced .chapter-copy{padding-bottom:20px}.menu-toggle{min-height:44px}.button{min-height:48px}}
@media print{.mobile-contact,.article-nav{display:none}body{padding-bottom:0}}
/* The chapter number is already in the copy. Leave the portrait film clear of
   stationary corner labels as that copy passes through the frame. */
@media(max-width:700px){.film-meta{display:none}.film-shade{background:linear-gradient(0deg,#081017f2 0%,#081017a6 38%,#081017b3 100%)}.film-progress{bottom:calc(56px + env(safe-area-inset-bottom))}}

.scope-table-wrap{overflow:auto}.scope-table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px;text-align:left}.scope-table caption{text-align:left;font:12px Mono,monospace;padding:20px 0}.scope-table th,.scope-table td{padding:20px;border:1px solid var(--line);vertical-align:top}.scope-table th{font-size:13px;background:#00b3c712}.scope-table td{color:var(--muted);width:25%}

/* The story is the opening screen; the business introduction follows it. */
.story-opening{isolation:isolate;color:#f4f1ea}
.opening-tools{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:4}
.story-opening .story-toolbar{padding:12px 0;border-top:0;color:#f4f1ea}
.story-opening .film-meta{display:none}
.opening-poster,.opening-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-opening #chapter-1{position:relative;min-height:calc(132svh - var(--nav));padding:120px 0 calc(32svh + 64px);display:flex;align-items:flex-end}
.story-opening #chapter-1 .chapter-copy{position:relative;z-index:1;margin:0;max-width:780px;padding-bottom:0}
.story-opening #chapter-1 h1{font-size:clamp(44px,5.7vw,82px);margin:18px 0 20px;max-width:780px;line-height:1.04}
.opening-specialism{font-size:15px;color:#b6e5e7;margin:0 0 16px}
.story-opening #chapter-1 p{font-size:17px;max-width:480px;margin-bottom:0}
.opening-actions{pointer-events:auto;margin-top:25px}
.opening-services{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 20px;pointer-events:auto}.opening-services a{font:500 13px/1.6 Mono,monospace;color:#a0e3e7;text-decoration:none;border-bottom:1px solid #a0e3e780;padding:6px 0}.opening-services a:hover{border-color:#a0e3e7}
.story-opening .opening-actions .button{background:#a0e3e7;border-color:#a0e3e7;color:#14252c}
.story-opening .opening-actions .text-link{color:#f4f1ea}
.story-opening .story-reel:not(.enhanced) #chapter-1:before{content:'';position:absolute;top:0;bottom:0;left:calc((100% - 100vw)/2);right:calc((100% - 100vw)/2);background:linear-gradient(90deg,#091018dc,#09101855),url('/assets/film/desktop-5.webp') center/cover}
.story-opening .story-reel:not(.enhanced) #chapter-1 .chapter-image{display:none}
.story-opening .story-reel:not(.enhanced) #chapter-1{min-height:calc(100svh - var(--nav));padding-bottom:64px}
.hero :is(h1,h2){font-weight:700;line-height:1.08;margin:20px 0 26px}.hero h2 span{color:#657078}
@media(max-width:700px){
 .opening-tools{top:7px}.story-opening .story-toolbar{font-size:10px;gap:12px;align-items:center}.story-opening .story-toolbar>span{max-width:105px;text-align:right}.story-opening .story-toolbar>a{display:none}
 .story-opening #chapter-1{min-height:calc(132svh - var(--nav));padding:110px 0 calc(32svh + 88px)}
 .story-opening #chapter-1 h1{font-size:clamp(37px,10.2vw,56px);margin:16px 0 18px}
 .story-opening #chapter-1 .eyebrow{font-size:9px;letter-spacing:.08em}.opening-specialism{font-size:12px;max-width:310px;margin-bottom:14px}
 .story-opening #chapter-1 p{font-size:15px;max-width:325px}.opening-actions{gap:18px;margin-top:22px}.opening-actions .button{font-size:12px;padding:12px 15px}.opening-actions .text-link{font-size:12px}
 .story-opening .story-reel:not(.enhanced) #chapter-1:before{background:linear-gradient(0deg,#091018f2,#09101888),url('/assets/film/mobile-5.webp') center/cover}
 .story-opening .story-reel:not(.enhanced) #chapter-1{padding-bottom:90px}
}
@media print{.opening-tools,.opening-poster,.opening-actions{display:none}.story-opening #chapter-1,.story-opening .story-reel:not(.enhanced) #chapter-1{min-height:0;padding:25px 0;color:#111}.story-opening .story-reel:not(.enhanced) #chapter-1:before{display:none}.opening-specialism{color:#333}}

/* Real project excerpts stay separate from the illustrative opening film. */
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-bottom:38px}
.project-card>a{display:block;text-decoration:none;height:100%}.project-art{aspect-ratio:4/3;overflow:hidden;background:#fff;margin-bottom:25px;border:1px solid var(--line)}.project-art img{width:100%;height:100%;object-fit:cover;display:block}.project-art.model img{object-fit:contain;padding:12px}.project-card .eyebrow{font-size:10px;color:var(--muted);display:block}.project-card h3{font-size:28px;margin:14px 0}.project-card p{font-size:15px;color:var(--muted);margin-bottom:17px}.project-card>a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.project-card .text-link{font-size:13px}
.project-detail{display:grid;grid-template-columns:1.05fr 1fr;gap:6vw;align-items:start;scroll-margin-top:20px}.project-figure{margin:0}.project-figure>img{display:block;width:100%;background:#fff;border:1px solid var(--line)}.project-figure.model>img{padding:30px 15px}.project-figure.site-photo>img{max-height:640px;object-fit:cover}.project-figure figcaption{font:11px/1.65 Mono,monospace;color:var(--muted);margin-top:14px}.project-copy h2{font-size:clamp(30px,3.4vw,48px);margin:18px 0 24px}.project-intro{font-size:21px;color:var(--muted)}.project-copy dl{margin:26px 0}.project-copy dt{font:11px/1.6 Mono,monospace;text-transform:uppercase;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.project-copy dd{margin:8px 0 0;font-size:16px;color:var(--muted)}.project-proof-link{margin:28px 0 0}
@media(max-width:900px){.project-grid{gap:22px}.project-card h3{font-size:25px}.project-detail{gap:35px}}
@media(max-width:700px){.project-grid,.project-detail{grid-template-columns:1fr;gap:38px}.project-art{aspect-ratio:16/10;margin-bottom:20px}.project-card h3{font-size:28px}.project-detail{gap:30px}.project-copy h2{font-size:35px}.project-intro{font-size:19px}.project-figure.site-photo>img{max-height:420px}.project-figure.model>img{padding:22px 10px}}

/* The journal reads as a paper: editorial hierarchy, ruled columns and dated stories. */
.journal{background:#e9e4d8;color:#242821;padding:75px 0 65px;border-top:1px solid #c7c2b7;border-bottom:1px solid #b2b0a4}.journal-topline,.journal-edition{display:flex;justify-content:space-between;gap:20px;font:10px/1.6 Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.journal-topline{padding:10px 0;border-top:5px solid #242821;border-bottom:1px solid #242821}.journal-masthead{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:26px 0 20px;border-bottom:4px double #242821}.journal-masthead :is(h1,h2){font-family:Georgia,'Times New Roman',serif;font-size:clamp(50px,7.8vw,112px);font-weight:700;letter-spacing:-.065em;line-height:1.03}.journal-masthead em{font-weight:400}.journal-masthead>p{font:15px/1.4 Georgia,serif;margin:0;border-left:1px solid #242821;padding-left:24px;min-width:160px}.journal-edition{padding:11px 0;border-bottom:1px solid #242821;margin-bottom:36px}.paper-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0}.paper-story{padding:0 26px 28px;border-left:1px solid #aaa99e;min-width:0;display:flex;flex-direction:column}.paper-story:first-child{border-left:0;padding-left:0}.paper-story:last-child{padding-right:0}.paper-kicker{font:10px/1.6 Mono,monospace;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px;padding-bottom:14px}.paper-kicker>span:first-child{color:#3c5654}.paper-kicker>span:last-child{font-size:9px;border:1px solid #8f948b;padding:1px 6px}.paper-story :is(h2,h3){font:400 clamp(26px,2.3vw,37px)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:4px 0 18px}.paper-story :is(h2,h3) a{text-decoration:none}.paper-story :is(h2,h3) a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.paper-story.paper-lead :is(h2,h3){font-size:clamp(34px,3.4vw,51px);font-weight:700;letter-spacing:-.055em}.paper-story p{font:16px/1.6 Georgia,'Times New Roman',serif;max-width:560px}.paper-lead p:first-letter{font-size:45px;float:left;line-height:.9;padding:6px 7px 0 0;font-weight:700}.paper-byline{display:flex;gap:20px;justify-content:space-between;font:10px/1.5 Mono,monospace;margin-top:auto;padding-top:22px}.paper-byline a{white-space:nowrap}.journal-bottom{display:flex;justify-content:space-between;gap:25px;border-top:4px double #242821;padding-top:17px;margin-top:15px;font:11px/1.65 Mono,monospace}.journal-bottom>span{max-width:680px}.journal-bottom>a{white-space:nowrap}.journal-index{padding-top:45px}.journal-index .paper-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 0}.journal-index .paper-story{border-top:1px solid #aaa99e;padding-top:24px;padding-bottom:14px}.journal-index .paper-story:nth-child(odd){padding-left:0;border-left:0;padding-right:30px}.journal-index .paper-story:nth-child(even){padding-left:30px;padding-right:0}.journal-index .paper-story :is(h2,h3){font-size:40px}.journal-index .paper-lead :is(h2,h3){font-size:48px}.journal .news-filters{margin-bottom:26px}.journal .news-filters button{border-radius:0;border-color:#9b9d90;background:transparent;padding:8px 18px;font-size:12px}.journal .news-filters button[aria-pressed=true]{background:#242821;color:#e9e4d8}.journal-guides{margin-top:25px}.journal-strap{padding-top:32px;padding-bottom:15px;border-bottom:4px double var(--ink);display:flex;justify-content:space-between;align-items:center;gap:20px}.journal-strap>a{font:700 31px/1.1 Georgia,serif;letter-spacing:-.04em;text-decoration:none}.journal-strap em{font-weight:400}.journal-strap>span{font:10px Mono,monospace;text-transform:uppercase}.journal-article{padding-top:30px}.journal-article h1{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.045em;font-weight:700}.journal-article .lede{font-family:Georgia,'Times New Roman',serif;font-size:24px}
@media(max-width:1000px){.paper-grid{grid-template-columns:1.2fr 1fr}.paper-story:last-child{grid-column:2;border-top:1px solid #aaa99e;padding-top:22px}.paper-lead{grid-row:span 2}.paper-story:nth-child(2){padding-right:0}.paper-byline{flex-wrap:wrap;gap:10px}.journal-index .paper-story:last-child{grid-column:auto}.journal-index .paper-lead{grid-row:auto}.journal-masthead>p{display:none}.journal-index .paper-story h2{font-size:34px}}
@media(max-width:700px){.journal{padding:44px 0}.journal-topline,.journal-edition{font-size:8px;gap:15px;letter-spacing:.03em}.journal-topline>span:last-child,.journal-edition>span:last-child{text-align:right}.journal-masthead{padding:21px 0 20px}.journal-masthead :is(h1,h2){font-size:clamp(40px,10.9vw,75px);letter-spacing:-.065em}.journal-edition{margin-bottom:24px}.paper-grid,.journal-index .paper-grid{display:block}.paper-story,.paper-story:first-child,.paper-story:last-child,.journal-index .paper-story:nth-child(n){padding:23px 0;border-left:0;border-top:1px solid #aaa99e}.paper-story:first-child{padding-top:0;border-top:0}.paper-story :is(h2,h3),.journal-index .paper-story h2{font-size:29px}.paper-story.paper-lead :is(h2,h3),.journal-index .paper-lead h2{font-size:39px}.paper-story p{font-size:17px}.paper-byline{padding-top:5px}.paper-kicker{font-size:10px}.journal-bottom{display:flex;flex-wrap:wrap;gap:13px;font-size:10px}.journal-bottom>span{flex-basis:100%}.journal-strap>a{font-size:27px}.journal-strap>span{display:none}.journal-article .lede{font-size:21px}}

.service-finder{display:grid;grid-template-columns:1fr 1.4fr;border:1px solid var(--line)}.finder-choices{display:flex;flex-direction:column}.finder-choices button{display:flex;align-items:center;gap:22px;flex:1;text-align:left;border:0;border-bottom:1px solid var(--line);padding:28px;background:transparent;color:var(--ink);font-size:24px;letter-spacing:-.03em}.finder-choices button:last-child{border-bottom:0}.finder-choices button>span{font:11px Mono,monospace;color:var(--muted)}.finder-choices button>b{margin-left:auto;font-weight:400}.finder-choices button[aria-pressed=true]{background:#d9e9e6;box-shadow:inset 4px 0 #007987}.finder-choices button:hover{background:#e5e9df}.finder-result{background:var(--ink);color:var(--bone);padding:45px 48px;position:relative;overflow:hidden}.finder-status{display:flex;align-items:center;gap:12px;font:11px/1.5 Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:#a0e3e7}.finder-dot{width:7px;height:7px;background:#a0e3e7;border-radius:50%;box-shadow:0 0 0 5px #a0e3e719}.finder-result h3{font-size:clamp(33px,3.8vw,53px);max-width:550px;margin:38px 0 24px}.finder-result p{max-width:480px;font-size:17px;color:#c7cdd0;min-height:84px}.finder-links{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:30px}.finder-links .button{background:#a0e3e7;color:var(--ink);border-color:#a0e3e7}.finder-links .text-link{color:var(--bone);font-size:13px}
@media(max-width:900px){.finder-choices button{font-size:21px;padding:24px;gap:15px}.finder-result{padding:35px}}
@media(max-width:700px){.opening-services{gap:8px 15px;margin-bottom:18px}.opening-services a{font-size:10px;padding:7px 0;min-height:32px}.service-finder{grid-template-columns:1fr}.finder-choices{display:grid;grid-template-columns:1fr 1fr}.finder-choices button{font-size:15px;padding:17px 13px;gap:10px;border-bottom:1px solid var(--line);min-height:80px;letter-spacing:-.02em}.finder-choices button:nth-child(odd){border-right:1px solid var(--line)}.finder-choices button:last-child{border-bottom:1px solid var(--line)}.finder-choices button>span{font-size:9px}.finder-choices button>b{display:none}.finder-result{padding:30px 25px}.finder-result h3{font-size:35px;margin-top:30px}.finder-result p{font-size:16px;min-height:0}.finder-links{gap:18px}.finder-links .button{font-size:13px}}

.hero-services{display:flex;gap:12px 28px;flex-wrap:wrap;margin:0 0 25px}.hero-services a{font:12px/1.6 Mono,monospace;text-decoration:none;border-bottom:1px solid #007987;padding:5px 0;color:#006774}.hero-services a:hover{color:var(--ink)}
@media(min-width:701px) and (max-width:950px){.menu-toggle{display:block;min-height:44px}.nav{display:none;position:absolute;top:83px;left:0;right:0;flex-direction:column;align-items:stretch;padding:25px 30px;background:var(--bone);border-bottom:1px solid var(--line);font-size:16px;gap:6px}.nav.open{display:flex}.nav a{padding:8px 0}.nav .nav-cta{padding:13px}.brand img{width:120px}}

.project-film-block{margin:0 0 55px}.project-film-heading{display:flex;justify-content:space-between;gap:20px;border-top:2px solid var(--ink);padding:18px 0;font:11px/1.6 Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.project-film-heading .eyebrow{font-size:11px}.project-film{display:block;width:100%;height:auto;aspect-ratio:16/9;background:var(--ink);border:1px solid var(--line)}.project-film.portrait-edit{aspect-ratio:9/16;max-width:480px;margin:0 auto}.project-film-block figcaption{font-size:12px;color:var(--muted);padding:15px 0;max-width:720px}.film-transcript{font-size:14px;color:var(--muted);max-width:780px}.film-transcript summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;width:fit-content}.film-transcript[open] summary{margin-bottom:20px}.film-transcript li{margin-bottom:10px}
@media(max-width:700px){.project-film-heading{font-size:9px;gap:14px}.project-film-heading .eyebrow{font-size:9px}.project-film-block{margin-bottom:35px}.hero-services{gap:10px 18px}.hero-services a{font-size:10px}}

/* Confine the sticky film to its story so following service controls stay clickable. */
.story{isolation:isolate;overflow:clip}

/* AHU inspection: one pinned, reversible scene with native HTML inspection notes. */
.ahu-story{position:relative;background:#111c23;color:#edf0eb;isolation:isolate;overflow:clip}
.ahu-stage{position:relative;background:radial-gradient(ellipse at 70% 45%,#31454e 0%,#16252e 46%,#0e171e 86%)}
.ahu-canvas{height:450px;width:100%;position:relative;pointer-events:none}
.ahu-canvas canvas{display:block;width:100%;height:100%}.ahu-fallback{width:100%;height:100%;object-fit:contain}
.ahu-top{display:flex;justify-content:space-between;gap:24px;padding-top:25px;position:relative;z-index:3}
.ahu-top .eyebrow{color:#a0c3ca;font-size:10px}.ahu-top h1{font-size:23px;font-weight:500;letter-spacing:-.035em;margin-top:7px}
.ahu-tools{display:flex;gap:24px;align-items:center;font-size:12px}.ahu-mode{display:none;background:none;border:0;border-bottom:1px solid #8a999d;color:inherit;padding:7px 0;font-size:12px}
.ahu-copy{position:relative;z-index:2}.ahu-step{padding:36px 0;max-width:460px}.ahu-step[hidden]{display:none}.ahu-step>.eyebrow{color:#51d6dc;font-size:11px}.ahu-step h2{font-size:clamp(42px,4.6vw,72px);line-height:1.02;margin:23px 0}.ahu-step p{max-width:360px;font-size:16px;color:#c3cdd0;line-height:1.6}.ahu-check{max-width:340px;font-size:12px;color:#9cbbc1;border-top:1px solid #729ba34d;padding-top:15px;margin-top:24px}.ahu-step .button{margin-top:22px}
.ahu-bottom{position:relative;z-index:4;padding-bottom:18px}.ahu-instructions{display:flex;justify-content:space-between;font:10px/1.6 Mono,monospace;text-transform:uppercase;letter-spacing:.07em;color:#b8c8cc;margin-bottom:12px}.ahu-chapters{display:none;grid-template-columns:repeat(8,1fr);gap:7px}.ahu-chapters button{background:#0d1a2199;border:1px solid #55717a66;color:#b4c3c8;text-align:left;padding:11px 12px;font-size:12px;min-height:47px;white-space:nowrap}.ahu-chapters button span{font:10px Mono,monospace;margin-right:10px;color:#75909a}.ahu-chapters button[aria-pressed=true]{color:#fff;border-color:#2ed6df;background:#174550}.ahu-chapters button[aria-pressed=true] span{color:#60e5e8}.ahu-disclaimer{color:#97b0b7;font-size:10px;margin:14px 0 0;line-height:1.5;max-width:680px}.ahu-progress{height:2px;position:absolute;bottom:0;left:0;right:0;background:#344750}.ahu-progress span{display:block;height:100%;background:#31d1db;transform-origin:left;transform:scaleX(0)}
:is(.ahu-ready,.ahu-pending){height:680svh}:is(.ahu-ready,.ahu-pending) .ahu-stage{position:sticky;top:var(--nav);height:calc(100svh - var(--nav));min-height:580px;overflow:hidden}:is(.ahu-ready,.ahu-pending) .ahu-canvas{position:absolute;inset:0;height:100%;z-index:0}:is(.ahu-ready,.ahu-pending) .ahu-fallback{display:none}:is(.ahu-ready,.ahu-pending) .ahu-copy{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);pointer-events:none}:is(.ahu-ready,.ahu-pending) .ahu-step{padding:0;max-width:36%;pointer-events:auto}:is(.ahu-ready,.ahu-pending) .ahu-bottom{position:absolute;bottom:0;left:50%;transform:translateX(-50%)}:is(.ahu-ready,.ahu-pending) .ahu-chapters{display:grid}:is(.ahu-ready,.ahu-pending) .ahu-mode{display:block}:is(.ahu-ready,.ahu-pending).ahu-still{height:auto}:is(.ahu-ready,.ahu-pending).ahu-still .ahu-stage{position:relative;top:0}
.ahu-invite{margin-top:72px;margin-bottom:72px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:7%;background:#e7e8e0;padding:48px}.ahu-invite h2{font-size:clamp(32px,3.7vw,54px);margin:18px 0}.ahu-invite p{font-size:15px;max-width:380px}.ahu-invite-model{background:#192a33;display:block;position:relative}.ahu-invite-model img{display:block}.ahu-invite-model span{position:absolute;bottom:18px;left:22px;color:#d5f4f2;font:11px Mono,monospace}
.service-opening{display:grid;grid-template-columns:1.25fr .75fr;gap:8%;align-items:center}.service-note{background:#e2e8e3;border-top:3px solid var(--cyan);padding:36px}.service-note h2{font-size:36px;margin:22px 0}.service-note p{font-size:16px}.evidence-layers{border-top:1px solid var(--line);display:grid;margin-top:25px}.evidence-layers span{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.evidence-layers b{font:12px Mono,monospace;margin-right:16px;color:#477379}.service-scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.service-scenarios.two{grid-template-columns:1fr 1fr}.service-scenarios article{border-top:1px solid var(--ink);padding-top:22px}.service-scenarios h3{margin:20px 0;font-size:27px}.service-scenarios p{font-size:16px;color:var(--muted)}.proof-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}.proof-feature figure{margin:0}.proof-feature figcaption{font-size:11px;color:var(--muted);margin-top:12px}.proof-feature h2{margin:20px 0}.proof-feature p{font-size:16px;color:var(--muted)}.related-service{margin-top:40px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:15px}
.projects-opening{display:grid;grid-template-columns:.8fr 1.2fr;gap:6%;align-items:center}.projects-opening .project-film{margin:0}.projects-opening h1{font-size:clamp(45px,5vw,74px)}.projects-opening .lede{font-size:18px}.project-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.project-filters[hidden]{display:none}.project-filters>.eyebrow{margin-right:auto}.project-filters button{border:1px solid var(--line);background:none;padding:10px 15px;font-size:13px}.project-filters button[aria-pressed=true]{background:var(--ink);color:var(--bone);border-color:var(--ink)}.project-count{font-size:12px;color:var(--muted);margin-left:10px}.project-detail[hidden]{display:none}.project-zoom{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);margin-top:15px;font-size:12px}.project-inspector{max-width:1100px;width:92vw;padding:22px;background:var(--bone);color:var(--ink);border:1px solid var(--line)}.project-inspector::backdrop{background:#071118e8}.inspector-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.inspector-header h2{font-size:20px}.inspector-header button{background:none;color:inherit;border:1px solid var(--line);padding:8px 14px}.project-inspector img{display:block;max-height:68svh;width:100%;object-fit:contain;background:#fff}.project-inspector p{font-size:12px;margin:14px 0 0}.contact-shortcuts{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:26px}.contact-shortcuts a{font-size:15px}.brief-extra{margin:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.brief-extra summary{font-size:14px;cursor:pointer}.brief-extra .fields{margin-top:20px}.service-context{font-size:13px;color:#49626a;margin-top:10px;margin-bottom:0}
@media(min-width:701px) and (max-height:740px){.ahu-step h2{font-size:48px;margin:15px 0}.ahu-step p{font-size:14px}.ahu-check{margin-top:15px;padding-top:10px}:is(.ahu-ready,.ahu-pending) .ahu-copy{top:45%}.ahu-top{padding-top:18px}:is(.ahu-ready,.ahu-pending) .ahu-stage{min-height:550px}}
@media(max-width:950px){.ahu-chapters button{padding:10px 7px;font-size:10px}.ahu-chapters button span{display:none}:is(.ahu-ready,.ahu-pending) .ahu-step{max-width:40%}.projects-opening,.service-opening{grid-template-columns:1fr;gap:36px}.service-note{max-width:650px}.projects-opening .project-film{max-width:820px}}
@media(max-width:700px){:is(.ahu-ready,.ahu-pending) .ahu-stage{height:calc(100svh - var(--nav) - 56px);min-height:635px}:is(.ahu-ready,.ahu-pending){height:650svh}.ahu-top{padding-top:17px;gap:12px}.ahu-top h1{font-size:17px;max-width:195px}.ahu-top .eyebrow{font-size:8px}.ahu-tools{flex-direction:column;align-items:flex-end;gap:3px;font-size:9px;white-space:nowrap}.ahu-mode{font-size:10px;padding:3px 0}:is(.ahu-ready,.ahu-pending) .ahu-canvas{top:60px;height:48%;width:100%}:is(.ahu-ready,.ahu-pending) .ahu-copy{top:auto;bottom:152px;transform:translateX(-50%)}:is(.ahu-ready,.ahu-pending) .ahu-step{max-width:100%}.ahu-step h2{font-size:34px;line-height:1.04;margin:10px 0}.ahu-step h2 br{display:none}.ahu-step p{font-size:13px;line-height:1.5;margin-bottom:0;max-width:100%}.ahu-step>.eyebrow{font-size:9px}.ahu-check{display:none}.ahu-step .button{min-height:40px;padding:9px 14px;margin-top:10px;font-size:12px}.ahu-chapters{grid-template-columns:repeat(4,1fr);gap:5px}.ahu-chapters button{min-height:32px;padding:6px 8px;font-size:10px}.ahu-bottom{padding-bottom:12px}.ahu-instructions{font-size:8px;margin-bottom:7px}.ahu-disclaimer{font-size:8px;line-height:1.4;margin-top:9px}.ahu-invite{grid-template-columns:1fr;padding:24px;margin-top:40px;margin-bottom:40px;gap:25px}.ahu-invite-model img{aspect-ratio:1.65;object-fit:cover}.service-scenarios,.service-scenarios.two,.proof-feature{grid-template-columns:1fr;gap:32px}.service-note{padding:25px}.service-note h2{font-size:30px}.related-service{flex-direction:column;gap:9px}.project-filters>.eyebrow{width:100%}.project-filters{gap:7px}.project-filters button{padding:8px 10px;font-size:11px}.project-count{margin-left:0}.project-inspector{padding:14px;width:96vw}.inspector-header h2{font-size:17px}.contact-shortcuts{gap:18px}.contact-shortcuts a{font-size:14px}}
@media print{:is(.ahu-ready,.ahu-pending){height:auto}:is(.ahu-ready,.ahu-pending) .ahu-stage{position:relative;height:auto;min-height:0;overflow:visible}:is(.ahu-ready,.ahu-pending) .ahu-canvas{position:relative;height:260px}:is(.ahu-ready,.ahu-pending) .ahu-fallback{display:block}.ahu-canvas canvas,.ahu-bottom,.ahu-tools{display:none}:is(.ahu-ready,.ahu-pending) .ahu-copy{position:relative;top:auto;left:auto;transform:none}.ahu-step[hidden]{display:block}:is(.ahu-ready,.ahu-pending) .ahu-step{max-width:none;padding:25px 0}.ahu-story{background:white;color:black}}

.validation-evidence{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}.validation-evidence figure{margin:0}.validation-evidence img{width:100%;height:440px;object-fit:cover;display:block}.validation-evidence figcaption{font-size:13px;color:var(--muted);margin:15px 0 25px}.validation-evidence strong{color:var(--ink)}@media(max-width:700px){.validation-evidence{grid-template-columns:1fr;gap:15px}.validation-evidence img{height:auto;max-height:440px;object-fit:contain;object-position:left}}
:is(.ahu-ready,.ahu-pending) .ahu-stage:after{content:'';position:absolute;top:0;left:0;right:0;height:120px;background:linear-gradient(#0e171ec9,transparent);pointer-events:none;z-index:1}
.nav{gap:24px}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:45px}.tool-card{display:flex;flex-direction:column;text-decoration:none;padding:30px;background:#e6e9e2;border:1px solid #cad3cd;min-height:340px;transition:background .2s,transform .2s}.tool-card:hover{background:#dbe6df;transform:translateY(-3px)}.tool-card-top{display:flex;justify-content:space-between;font:13px Mono,monospace;margin-bottom:38px}.tool-card-top span:last-child{font-size:24px}.tool-card .eyebrow{font-size:10px;color:#446469}.tool-card h2{font-size:32px;margin:18px 0}.tool-card p{font-size:15px;color:var(--muted);max-width:320px}.tool-open{font-size:12px;margin-top:auto;padding-top:15px;text-decoration:underline;text-underline-offset:5px}.tool-hero{padding-bottom:45px}.tool-hero h1{font-size:clamp(38px,5vw,70px)}.tool-workspace{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:start;padding-bottom:65px}.tool-inputs{background:#eeece5;border:1px solid var(--line);padding:30px}.tool-form-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.tool-form-heading h2{font-size:25px}.tool-form-heading button{font-size:12px;background:none;border:0;text-decoration:underline;color:var(--muted);padding:8px 0}.tool-inputs .fields{margin:20px 0;gap:18px}.tool-inputs .fields[hidden]{display:none}.input-hint{font-size:12px;line-height:1.5;color:var(--muted)}.tool-inputs label{font-size:13px}.tool-inputs input,.tool-inputs select{padding:12px;min-width:0;width:100%;background:var(--bone)}.tool-inputs .field{gap:5px}.tool-inputs fieldset{border:0;padding:0;margin:24px 0 30px;min-width:0}.tool-inputs legend{font-size:16px;font-weight:500;padding:0 0 12px;border-bottom:1px solid var(--line);width:100%}.tool-inputs .button{margin-top:10px}.tool-output{background:#192a32;color:#edf2ec;padding:32px;position:sticky;top:calc(var(--nav) + 25px)}.tool-output>.eyebrow{color:#8cbdc5;font-size:10px;margin-bottom:20px}.tool-metric{padding:18px 0;border-bottom:1px solid #b3c9ce30}.tool-metric>span{font-size:12px;color:#b4c7cb;display:block;margin-bottom:7px}.tool-metric strong{font-size:29px;line-height:1.2;font-weight:500;letter-spacing:-.04em}.tool-metric.main strong{font-size:52px}.tool-metric small{font-size:16px;letter-spacing:0;font-weight:400;margin-left:12px;color:#8bd0d4}.tool-breakdown{display:grid;grid-template-columns:1fr auto;gap:8px 20px;font-size:12px;margin:22px 0;color:#bac9cc}.tool-breakdown dt{margin:0}.tool-breakdown dd{margin:0;text-align:right;color:#edf2ec}#tool-status{font-size:12px;line-height:1.5;margin:22px 0}.tool-result-note{font-size:11px;line-height:1.5;color:#a0b7bd;margin:20px 0 0}.tool-caution{font-size:12px;color:#e8d5ac;border-left:2px solid #e8d5ac;padding-left:12px}.tool-assumptions{padding:18px 0;border-top:1px solid var(--line);font-size:14px}.tool-assumptions summary{cursor:pointer}.tool-output .button:disabled{opacity:.5;cursor:default}.room-preview{display:flex;align-items:center;justify-content:center;gap:25px;border:1px solid #52737c;padding:22px;margin-bottom:15px;background:#15343f}.room-preview svg{max-width:190px;width:55%}.room-preview span{font:12px/1.7 Mono,monospace;color:#b9d3d7}
@media(max-width:1000px){.nav{gap:16px;font-size:12px}.tools-grid{grid-template-columns:repeat(2,1fr)}.tool-workspace{gap:24px}.tool-inputs,.tool-output{padding:23px}}
@media(max-width:700px){.tools-grid{grid-template-columns:1fr;gap:16px}.tool-card{min-height:270px;padding:25px}.tool-card-top{margin-bottom:25px}.tool-workspace{grid-template-columns:1fr}.tool-output{position:static}.tool-inputs,.tool-output{padding:22px}.tool-form-heading h2{font-size:21px}.tool-inputs .fields{grid-template-columns:1fr 1fr;gap:16px 12px}.tool-inputs .field label{font-size:11px}.tool-inputs input,.tool-inputs select{font-size:16px;padding:10px}.tool-inputs .input-hint{font-size:10px}.tool-metric.main strong{font-size:46px}}

/* Design pages: project evidence beside the proposition, concise delivery steps. */
.technical-hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:7%;padding-bottom:76px}.technical-hero h1{font-size:clamp(52px,6.2vw,90px);line-height:.98;letter-spacing:-.065em}.technical-hero h1 em{font-style:normal;color:#18717a}.technical-hero .lede{max-width:530px;font-size:19px}.technical-evidence{margin:30px 0 0;padding:22px;background:#e9eeed;border:1px solid #cbd6d3;box-shadow:12px 12px 0 #dce4e1;min-width:0}.evidence-label{display:flex;justify-content:space-between;gap:15px;font-family:Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#3b5757;padding-bottom:20px}.technical-evidence img{display:block;width:100%;height:auto;object-fit:contain;background:white}.technical-evidence figcaption{display:grid;gap:8px;padding:24px 0;font-size:14px;line-height:1.55}.technical-evidence figcaption strong{font-size:24px;letter-spacing:-.04em}.technical-evidence figcaption small{font-size:11px;color:#526267}.technical-evidence .text-link{font-size:13px}.drawing-evidence img{aspect-ratio:1.65;object-fit:cover}.delivery-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.delivery-steps article{padding:32px 30px 30px 0;display:flex;flex-direction:column}.delivery-steps article+article{padding-left:30px;border-left:1px solid var(--line)}.step-index{font-family:Mono,monospace;font-size:11px;color:#3b6669;text-transform:uppercase;letter-spacing:.08em}.delivery-steps h3{font-size:30px;letter-spacing:-.04em;margin:26px 0 14px}.delivery-steps p{font-size:16px;line-height:1.7;margin-bottom:28px}.step-output{margin-top:auto;font-size:14px;line-height:1.6;padding-top:20px;border-top:1px solid var(--line)}.step-output b{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}.engineering-note{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#12282d;color:#eef4ef;padding:55px}.engineering-note h2{font-size:clamp(36px,4vw,58px);margin:20px 0}.engineering-note p{line-height:1.7;font-size:16px;color:#c6d5d6}.engineering-note .eyebrow{color:#67d3d7}.decision-chain p{border-top:1px solid #476064;padding:18px 0;margin:0}.decision-chain b{display:block;color:white;font-size:18px;margin-bottom:4px}.decision-chain small{display:block;color:#b4c7ca;font-size:11px;line-height:1.5;padding-top:12px}.compact-lede{font-size:21px;margin-bottom:24px}.project-decision{padding:16px 20px;border-left:3px solid #217a81;background:#eaf0ed;font-size:14px;line-height:1.65;margin-top:22px}.project-decision strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.ahu-tools>a,.ahu-mode{min-height:44px;display:inline-flex;align-items:center;padding:10px 4px}.ahu-mode{display:none}:is(.ahu-ready,.ahu-pending) .ahu-mode{display:inline-flex}.ahu-tools{gap:16px}
@media(max-width:900px){.technical-hero{gap:5%}.technical-hero h1{font-size:62px}.engineering-note{padding:36px;gap:7%}}
@media(max-width:700px){.technical-hero{grid-template-columns:1fr;gap:24px;padding-bottom:52px}.technical-hero h1{font-size:54px}.technical-hero .lede{font-size:17px}.technical-evidence{margin:8px 8px 0 0;padding:18px;box-shadow:8px 8px 0 #dce4e1}.technical-evidence figcaption{padding:18px 0}.delivery-steps{grid-template-columns:1fr}.delivery-steps article,.delivery-steps article+article{padding:26px 0;border-left:0}.delivery-steps article+article{border-top:1px solid var(--line)}.delivery-steps h3{margin-top:15px}.delivery-steps p{margin-bottom:18px}.engineering-note{grid-template-columns:1fr;padding:26px;gap:24px}.ahu-tools{gap:4px;font-size:10px}.ahu-mode{font-size:11px}.ahu-top{align-items:flex-start}:is(.ahu-ready,.ahu-pending) .ahu-canvas{top:90px;height:44%}.ahu-chapters button{min-height:40px}:is(.ahu-ready,.ahu-pending) .ahu-copy{bottom:166px}:is(.ahu-ready,.ahu-pending) .ahu-stage{min-height:660px}}
.team-opening{display:grid;grid-template-columns:1.25fr .75fr;gap:10%;align-items:center}.team-opening h1{font-size:clamp(44px,5vw,70px)}.team-opening h1 em{font-style:normal;color:#18717a}.team-opening p:not(.lede){max-width:530px}.team-portrait{margin:0;position:relative}.team-portrait img{display:block;width:100%;max-height:520px;object-fit:cover;object-position:center 30%}.team-portrait figcaption{padding:16px 20px;background:#12282d;color:white;display:grid;font-size:13px;gap:3px}.team-portrait strong{font-size:20px}.tool-section-view{display:flex;align-items:center;gap:20px;border-bottom:1px solid #46585d;padding:18px 0 24px;margin-bottom:18px}.tool-section-view svg{width:120px;height:100px;flex-shrink:0}.tool-section-view span{font-size:12px;color:#cbdddd;line-height:1.7}.tool-section-view b{display:block;color:white;font-size:16px}.load-comparison{margin:22px 0;padding-top:16px;border-top:1px solid #46585d}.load-comparison p{font-size:12px;margin:10px 0 5px}.load-track{height:10px;background:#30464b;overflow:hidden;border-radius:2px}.load-track span{display:block;height:100%;background:#79d9dd}.load-track.summer span{background:#e3ae73}
@media(max-width:700px){.team-opening{grid-template-columns:1fr;gap:30px}.team-opening h1{font-size:44px}.team-portrait{max-width:360px}.team-portrait img{max-height:390px}.tool-section-view{gap:14px}}

.london-hero h1{font-size:clamp(46px,5vw,68px)}.team-opening .lede{font-size:20px}.team-opening{padding-top:56px}

.ahu-pending .ahu-step:not(:first-child){display:none}.ahu-pending .ahu-fallback{display:block;width:62%;height:85%;margin-left:36%;margin-top:4%}.ahu-pending .ahu-chapters,.ahu-pending .ahu-mode{visibility:hidden}@media(max-width:700px){.ahu-pending .ahu-fallback{width:100%;height:100%;margin:0}}
