@font-face{font-family:Archivo;src:url("archivo-latin.3e411aa67120.woff2") format("woff2");font-style:normal;font-weight:300 700;font-display:swap}
:root{--paper:#f4f2e9;--ink:#0c1b29;--acid:#7cdaf3;--line:#bcc9cf;--muted:#536c7d;--pad:clamp(22px,5vw,90px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Archivo,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #26748e;outline-offset:5px}
button{color:inherit}
button:hover,a.underlink:hover{opacity:.72}
button:disabled{cursor:default}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500}
em{font-family:Georgia,Times New Roman,serif;font-weight:400}
button{border:0;background:none}
svg{display:block}
::selection{background:var(--acid);color:var(--ink)}
.mono,.eyebrow{font:10px/1.5 Courier New,monospace;letter-spacing:.07em}
.eyebrow{font-size:11px;font-weight:700}
.skip{position:fixed;left:20px;top:-80px;background:var(--acid);padding:15px;z-index:100}
.skip:focus{top:12px}
.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);position:relative;z-index:30;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:12px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.06em}
.brand svg{width:36px;height:36px}
.brand-sub{display:block;font:8px/1.6 Courier New,monospace;letter-spacing:.1em;margin-top:4px}
.site-header nav{display:flex;gap:34px;align-items:center}
.nav-brief{border-bottom:1px solid var(--ink);padding:10px 0}
.nav-brief span{margin-left:25px}
.text-button{font:10px Courier New,monospace;border-bottom:1px solid var(--ink);padding:0 0 3px}
.manifesto{padding:100px var(--pad) 95px}
.manifesto h2{font-size:clamp(38px,5.7vw,90px);line-height:1.06;letter-spacing:-.055em;margin-top:35px}
.manifesto h2 em{letter-spacing:-.065em}
.underlink{font-size:12px;border-bottom:1px solid;padding-bottom:8px;display:inline-block;width:fit-content}
.territory{background:var(--ink);color:var(--paper);padding:30px var(--pad);overflow:hidden}
.territory-top{display:flex;justify-content:space-between;color:#a6bbc7}
.territory-title{display:flex;justify-content:space-between;align-items:end;margin-top:55px;position:relative;z-index:2;pointer-events:none}
.territory h2{font-size:clamp(56px,9.1vw,150px);line-height:.86;letter-spacing:-.065em}
.territory h2 em{color:var(--acid)}
.territory-title p{font-size:14px;line-height:1.5;text-align:right;margin-bottom:10px}
.services{padding:110px var(--pad) 90px}
.section-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:24px 70px;margin-bottom:60px}
.section-heading>.eyebrow{grid-column:1/-1}
.section-heading h2,.process h2{font-size:clamp(36px,5vw,76px);line-height:1.04;letter-spacing:-.055em}
.section-heading p{max-width:350px;align-self:end;line-height:1.65;font-size:15px}
.service-list{border-top:1px solid var(--ink)}
details{border-bottom:1px solid var(--line)}
summary{display:flex;align-items:center;gap:35px;list-style:none;cursor:pointer;padding:27px 0}
summary::-webkit-details-marker{display:none}
.service-no{font:11px monospace;color:#4d6677;width:35px}
.service-list h3{font-size:clamp(25px,3.2vw,48px);letter-spacing:-.04em}
.service-plus{margin-left:auto;font-size:28px;font-weight:300;transition:transform .3s}
details[open] .service-plus{transform:rotate(45deg)}
.service-body{padding:0 0 30px 70px;display:grid;gap:40px}
.service-body p{font-size:14px;line-height:1.7;max-width:440px}
.service-tags{font:10px/1.6 monospace;text-align:right}
.process{padding:100px var(--pad)}
.process-head{justify-content:space-between}
.process-line{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin:70px 0 0}
.process-line li{position:relative;border-top:1px solid var(--ink);padding:35px 25px 0 0}
.station{position:absolute;top:-15px;left:0;display:grid;place-items:center;font:10px monospace;background:var(--acid);border:1px solid var(--ink);border-radius:50%;width:30px;height:30px}
.process-line h3{font-size:36px;letter-spacing:-.05em;margin-bottom:12px}
.process-line p{line-height:1.65}
.about{display:grid;border-top:1px solid var(--line);background:#f4f2e9}
.about h2{line-height:1.04;letter-spacing:-.055em}
.about p{font-size:15px;line-height:1.65;margin:20px 0}
.about .underlink{margin-top:5px}
.enquire{padding:65px var(--pad) 80px;background:var(--ink);color:var(--paper)}
.enquire-head{display:grid;grid-template-columns:2fr 1fr;gap:35px;margin-bottom:45px}
.enquire-head .eyebrow{grid-column:1/-1;color:#a6bbc7}
.enquire h2{letter-spacing:-.055em}
.enquire h2 em{color:var(--acid)}
.enquire-head p{align-self:end;justify-self:end;font-size:17px;line-height:1.5}
#brief-form{background:var(--paper);color:var(--ink)}
.brief-top{display:flex;justify-content:space-between;padding:17px 22px;border-bottom:1px solid #bcc9cf}
.brief-top span:last-child{color:#536c7d}
.brief-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.field{padding:20px 22px;border-bottom:1px solid #bcc9cf;border-right:1px solid #bcc9cf;display:flex;flex-direction:column;min-width:0;gap:12px}
.span-3{grid-column:span 3}
.field input,.field select,.field textarea{border:0;border-radius:0;width:100%;background:transparent;padding:6px 0;color:var(--ink);font-size:16px;line-height:1.4;resize:vertical}
.brief-bottom{padding:25px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brief-bottom p{line-height:1.6;color:var(--muted)}
.brief-bottom button{padding:19px 25px;background:var(--acid);border:1px solid var(--ink);font-size:14px;min-width:230px;display:flex;justify-content:space-between;gap:30px}
#brief-status{font-size:12px}
footer{padding:42px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:25px}
footer svg{width:58px;height:58px}
footer p{font-size:18px;line-height:1.2;letter-spacing:-.03em}
footer .mono{color:var(--muted)}
[hidden]{display:none!important}
@media(min-width:1700px){
body{max-width:2000px;margin:auto}
}
@media(max-width:900px){
.edition{display:none}
.section-heading{gap:25px}
.service-body{grid-template-columns:1fr 2fr}
.service-tags{display:none}
.about{gap:25px 40px}
.process-head{display:block}
.process-head h2{width:auto;margin-top:25px}
.enquire h2{font-size:10vw}
}
@media(max-width:650px){
html{scroll-padding-top:20px}
.site-header{height:75px}
.site-header nav>a:not(.nav-brief){display:none}
.site-header nav{gap:0}
.brand{font-size:10px}
.brand svg{width:29px;height:29px}
.brand-sub{font-size:7px}
.nav-brief{font-size:11px}
.nav-brief span{margin-left:12px}
.hero-note{font-size:11px;line-height:1.35}
.round-link{justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}
.round-arrow{width:38px;height:38px;font-size:20px}
.registration{display:none}
.drawing-window{inset:270px 0 140px}
.drawing-caption{font-size:7px;bottom:5px;max-width:240px}
.drawing-cross{font-size:25px}
.stage-controls{margin-top:15px;gap:6px}
.stage-controls button{padding:10px 13px;font-size:10px}
.stage-controls button span{margin-right:5px}
.manifesto{padding:65px var(--pad)}
.manifesto h2{font-size:37px}
.manifesto-bottom{grid-template-columns:55px 1fr;gap:25px;margin-top:30px}
.asterisk{font-size:46px;align-self:start}
.manifesto-bottom p{font-size:14px}
.manifesto-bottom .underlink{grid-column:2;justify-self:start}
.territory{padding-top:25px}
.territory-top .eyebrow,.territory-top .mono{font-size:8px}
.territory-title{display:block;margin-top:40px}
.territory h2{font-size:13vw}
.territory-title p{text-align:left;font-size:12px;margin-top:20px}
.atlas-wrap{margin:0 -40% -15px}
.atlas-wrap img{min-height:350px}
.territory-bottom{flex-wrap:wrap;gap:20px}
.territory-bottom p{font-size:14px}
.territory-bottom .mono{font-size:8px;order:3;width:100%}
.services{padding:65px var(--pad)}
.section-heading{display:block;margin-bottom:35px}
.section-heading h2{margin:25px 0;font-size:39px}
.section-heading p{font-size:14px}
.service-list h3{font-size:25px}
summary{gap:13px;padding:25px 0}
.service-no{width:23px;font-size:9px}
.service-plus{font-size:24px}
.service-body{display:block;padding-left:36px}
.service-body p{font-size:13px;margin-top:15px}
.service-body .mono{font-size:8px}
.study-note{font-size:8px}
.process{padding:65px var(--pad)}
.process h2{font-size:40px}
.process-line{grid-template-columns:1fr 1fr;gap:40px 0;margin-top:45px}
.process-line h3{font-size:30px}
.process-line p{font-size:12px}
.about{display:block;padding:50px var(--pad)}
.about h2{font-size:43px;margin:25px 0 35px}
.about p{font-size:14px}
.enquire{padding:45px var(--pad)}
.enquire-head{display:block}
.enquire h2{font-size:13vw;margin-top:30px}
.enquire-head p{font-size:14px;margin-top:25px}
.brief-top{padding:15px 12px;font-size:8px;gap:15px}
.brief-grid{grid-template-columns:1fr}
.field,.span-2,.span-3{grid-column:auto;padding:17px 14px;border-right:0}
.field>span{font-size:9px}
.field input,.field select,.field textarea{font-size:14px}
.brief-bottom{display:block;padding:18px 14px}
.brief-bottom button{width:100%;margin-top:20px;padding:17px 18px;min-width:0}
footer{flex-wrap:wrap;padding-top:30px;padding-bottom:30px}
footer p{font-size:16px}
footer .mono{font-size:8px}
footer .underlink{font-size:11px}
footer svg{width:45px;height:45px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.js [data-reveal]{opacity:1;transform:none}
}
.reduced-motion *{transition:none!important}
.brief-bottom button:disabled{opacity:.5}
@media(max-width:650px){
.field input,.field select,.field textarea{font-size:16px}
.drawing-window{bottom:180px}
}
@media(max-width:650px){
.brief-guidance{padding:18px 14px}
}
figure{margin:0}
.flow-drawing{position:relative;--drift:0px}
.flow-drawing img{transform:translate3d(0,var(--drift),0);width:100%;height:auto;display:block}
.flow-drawing figcaption{display:flex;justify-content:space-between;gap:20px;position:relative;z-index:1;padding-top:20px;font-size:9px;letter-spacing:.12em}
.flow-drawing figcaption span{opacity:.6}
.plan-spread{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center;padding-top:70px;padding-bottom:60px;background:#f4f2e9}
.plan-spread h2{font-size:clamp(45px,5.5vw,84px);margin:32px 0 28px;line-height:1;letter-spacing:-.06em}
.plan-spread-copy>p{max-width:340px;font-size:15px;line-height:1.65}
.plan-spread .underlink{margin-top:32px}
.domestic-linework{max-width:560px;justify-self:end;width:100%;padding:20px 0}
.domestic-linework img{max-height:790px;object-fit:contain}
.domestic-linework:before{content:"+";position:absolute;top:6%;left:-30px;color:#26748e;font:30px monospace}
.terrain-spread{padding-top:30px;padding-bottom:28px;position:relative}
.terrain-spread h2{font-size:clamp(50px,8vw,126px);margin-top:42px;line-height:.87;pointer-events:none;letter-spacing:-.07em}
.terrain-spread h2 em{color:var(--acid)}
.terrain-linework{margin:-50px -4vw 0 8vw}
.terrain-linework img{width:100%;height:auto}
.terrain-linework figcaption{margin-left:-8vw}
.flow-rule{height:1px;background:#536c7d;display:flex;justify-content:space-between;margin-top:26px}
.flow-rule span{font:18px monospace;transform:translateY(-9px);background:var(--ink);color:#7cdaf3}
.industrial-spread{padding:34px var(--pad) 40px;background:#0c1b29;color:#dceaf1;overflow:hidden}
.drawing-strip{display:flex;align-items:center;justify-content:space-between;gap:20px}
.drawing-strip .mono{font-size:9px}
.industrial-linework{margin:32px 3vw 0}
.industrial-linework figcaption{color:#a6bbc7}
.section-spread{background:#f4f2e9;padding:40px var(--pad) 55px;overflow:hidden;border-bottom:1px solid #bcc9cf}
.section-linework{margin:40px -2vw 0}
.section-linework img{width:100%;height:auto}
.reduced-motion .flow-drawing img{transform:none}
@media(max-width:900px){
.plan-spread{gap:3vw}
.plan-spread h2{font-size:5.8vw}
.plan-spread-copy>p{font-size:14px}
.terrain-linework{margin-top:-20px;margin-left:0}
.terrain-linework figcaption{margin-left:0}
.industrial-linework{margin-left:0;margin-right:0}
}
@media(max-width:650px){
.plan-spread{display:block;padding-top:50px;padding-bottom:36px}
.plan-spread h2{font-size:48px}
.plan-spread h2 br:first-child{display:none}
.plan-spread-copy>p{max-width:330px}
.domestic-linework{margin:35px auto 0;max-width:380px;padding:0}
.domestic-linework:before{display:none}
.flow-drawing figcaption{font-size:7px;gap:12px;padding-top:14px}
.terrain-spread h2{font-size:14vw;margin-top:34px}
.terrain-linework{margin:25px -12px 0}
.terrain-linework img{width:100%;transform:none}
.terrain-linework figcaption{margin:0 12px}
.industrial-spread{padding-top:26px;padding-bottom:28px}
.drawing-strip{gap:12px}
.drawing-strip .eyebrow{font-size:8px}
.drawing-strip .mono{font-size:7px}
.industrial-linework{margin-top:25px}
.section-spread{padding-top:28px;padding-bottom:30px}
.section-linework{margin:25px -12px 0}
.section-linework figcaption{padding-left:12px;padding-right:12px}
.flow-drawing img{transform:none}
}
@media(prefers-reduced-motion:reduce){
.flow-drawing img{transform:none}
}
.draw-scene{--draw-progress:1;position:relative}
.draw-svg{display:block;width:100%;height:auto;overflow:visible}
.line-overture{padding:30px var(--pad) 125px;background:#f4f2e9;overflow:hidden;isolation:isolate}
.overture-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:3}
.overture-copy{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-top:45px;position:relative;z-index:3;pointer-events:none}
.overture-copy h2{letter-spacing:-.065em}
.overture-art{margin:30px -4vw 0;position:relative;z-index:1;transform:translate(calc(var(--draw-progress)*24px - 12px));transform-origin:center}
.score-caption{position:relative;display:flex;justify-content:space-between;gap:20px;z-index:3;font-size:9px;margin-top:18px;letter-spacing:.1em}
.score-caption span{opacity:.55}
.score-lead{fill:none;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw-progress,1))}
.domestic-linework>.draw-svg{position:relative;z-index:1;max-height:840px}
.plan-spread{position:relative;isolation:isolate;overflow:hidden}
.plan-spread-copy{position:relative;z-index:2}
.plan-spread h2 em{background:linear-gradient(transparent 66%,#7cdaf390 66%,#7cdaf390 91%,transparent 91%)}
.terrain-linework>.draw-svg{transform:translate(calc(var(--draw-progress)*-28px + 14px))}
.industrial-linework>.draw-svg{transform:translateY(calc(20px - var(--draw-progress)*20px))}
.section-linework>.draw-svg{transform:translate(calc(var(--draw-progress)*30px - 15px))}
.terrain-spread{overflow:hidden}
.terrain-spread h2{position:relative;z-index:2;text-shadow:0 0 25px #0c1b29}
.terrain-linework{margin-top:-65px}
.industrial-spread{position:relative}
.industrial-spread:before{content:"";position:absolute;inset:30px auto 30px 28px;width:1px;background:#7cdaf340}
.section-spread{position:relative}
.section-linework{margin-left:-5vw;margin-right:-5vw}
.section-linework figcaption{padding-left:5vw;padding-right:5vw}
.score-running .draw-svg text{transition:none}
.reduced-motion .score-lead{stroke-dashoffset:0}
.reduced-motion .overture-art,.reduced-motion .draw-svg{transform:none!important}
@media(max-width:900px){
.overture-copy p{max-width:220px;font-size:13px}
.margin-route{width:70px;left:-45px}
.terrain-linework{margin-top:-25px}
}
@media(max-width:650px){
.line-overture{padding:24px var(--pad) 95px}
.overture-top .eyebrow{font-size:8px}
.overture-copy{display:block;margin-top:36px}
.overture-copy h2{font-size:clamp(42px,11.8vw,65px)}
.overture-copy p{font-size:13px;max-width:260px;margin-top:20px;line-height:1.6}
.overture-art{width:145%;max-width:none;margin:32px 0 0 -22.5%;transform:translate(calc(var(--draw-progress)*22px - 11px))}
.score-caption{font-size:7px;margin-top:22px;gap:12px}
.lead-route{height:82px}
.lead-wide{stroke-width:9}
.plan-spread{padding-top:45px}
.plan-spread h2{font-size:47px;max-width:330px}
.plan-spread-copy{padding-bottom:12px}
.domestic-linework{max-width:none;width:112%;margin:28px -6% 0}
.domestic-linework>.draw-svg{width:100%;max-height:none}
.margin-route{width:70px;left:-7px;top:-30px;height:102%;opacity:.8}
.domestic-linework figcaption{padding-left:6%;padding-right:6%}
.terrain-linework{margin:15px -10% 0}
.terrain-linework>.draw-svg{width:100%;transform:translate(calc(var(--draw-progress)*-16px + 8px))}
.terrain-linework figcaption{margin:0 10%}
.industrial-linework{margin-left:-9%;margin-right:-9%}
.industrial-linework figcaption{padding-left:8%;padding-right:8%}
.industrial-linework>.draw-svg{width:100%}
.industrial-spread:before{left:10px;opacity:.6}
.section-linework{margin-left:-18%;margin-right:-18%}
.section-linework>.draw-svg{width:100%;transform:translate(calc(var(--draw-progress)*24px - 12px))}
.section-linework figcaption{padding-left:14%;padding-right:14%}
.score-section .drawing-strip .mono{display:none}
}
@media(prefers-reduced-motion:reduce){
.score-lead{stroke-dashoffset:0!important}
.overture-art,.draw-svg{transform:none!important}
}
.score-running .draw-svg text{opacity:var(--text-opacity,1)}
@media(max-width:650px){
.overture-art{transform:translate(calc(var(--draw-progress)*22px - 22px)) scale(calc(1 - var(--draw-progress)*.31));transform-origin:center}
.reduced-motion .overture-art{width:100%;margin-left:0;margin-right:0}
}
@media(prefers-reduced-motion:reduce)and (max-width:650px){
.overture-art{width:100%;margin-left:0;margin-right:0}
}
@media(max-width:650px){
:root{--pad:clamp(22px,6vw,36px)}
.site-header{gap:14px}
.brand{gap:8px;flex-shrink:0}
.brand svg{flex-shrink:0}
.nav-brief{white-space:nowrap}
.nav-brief span{margin-left:5px}
.territory-top,.overture-top,.drawing-strip{gap:16px;align-items:flex-start}
.territory-top>*,.drawing-strip>*{min-width:0}
.territory-top>:last-child,.drawing-strip>:last-child{text-align:right}
.plan-spread h2{font-size:clamp(36px,10.8vw,56px);max-width:100%;line-height:1.05}
.overture-art{width:100%;max-width:100%;margin:32px 0 0;transform:none}
.domestic-linework{width:100%;max-width:100%;margin:28px 0 0}
.terrain-linework,.industrial-linework,.section-linework{margin:28px 0 0;width:100%;max-width:100%}
.draw-svg{overflow:hidden}
.terrain-linework>.draw-svg,.industrial-linework>.draw-svg,.section-linework>.draw-svg{transform:none}
.flow-drawing figcaption,.score-caption{padding:16px 0 0;margin-left:0;margin-right:0;gap:16px;line-height:1.6;flex-wrap:wrap;letter-spacing:.06em}
.flow-drawing figcaption>*,.score-caption>*{min-width:0;max-width:100%}
.flow-drawing figcaption span,.score-caption span{margin-left:auto;text-align:right}
.section-heading h2{font-size:clamp(32px,9.7vw,45px)}
.process-head{display:block}
.process-head h2{width:100%;margin-top:24px;font-size:clamp(32px,9.7vw,45px)}
.process-line{gap:38px 20px}
.process-line li{min-width:0;padding-right:0}
.process-line h3{font-size:clamp(24px,7.4vw,32px)}
.about h2{font-size:clamp(34px,10.3vw,48px)}
.service-list summary{gap:12px}
.service-no,.service-plus{flex-shrink:0}
.service-list h3{font-size:clamp(21px,6vw,28px);min-width:0}
}
.line-overture{padding-bottom:48px}
@media(prefers-reduced-motion:reduce){
.asset-drop{stroke-dashoffset:0}
}
@media(max-width:650px){
.line-overture{padding-bottom:36px}
}
.plan-spread-copy>.client-note{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;line-height:1.65;color:var(--muted)}
.site-header{color:#eef4f4}
.site-header .nav-brief{border-color:#6c8b9f}
.site-header :focus-visible{outline-color:#7cdaf3}
@media(max-width:650px){
.line-overture{padding-top:38px}
}
:root{--sc-txt:420px}
.sc-skip{position:absolute;left:20px;top:-80px;z-index:60;background:var(--acid);color:var(--ink);padding:12px 14px;font:600 13px/1 Archivo,Arial,sans-serif}
.sc-skip:focus{top:100px}
.sc-runway{position:relative;height:215vh;background:#1a1c1e}
.sc-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#1a1c1e;color:#e9eef1;transition:background-color .45s}
.sc-stage.sc-paper{background:#f4f2e9}
#sc-gl{position:absolute;inset:0;width:100%;height:100%;display:block}
.sc-beats{position:absolute;left:var(--pad,36px);top:9vh;width:calc(var(--sc-txt) - var(--pad,36px) - 10px);z-index:3}
.sc-beat{position:absolute;left:0;top:0;width:100%;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease,visibility 0s .5s}
.sc-beat.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease,transform .5s ease}
.sc-n{display:block;font:500 10px/1.4 Courier New,monospace;letter-spacing:.14em;text-transform:uppercase;color:#9aa6ad;margin-bottom:18px}
.sc-beat h1,.sc-beat h2{font:500 clamp(34px,3.6vw,58px)/1 Archivo,Arial,sans-serif;letter-spacing:-.045em;margin:0 0 18px;color:#f3f5f6}
.sc-beat em{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400;letter-spacing:-.025em;color:var(--acid)}
.sc-beat p{font:400 16px/1.55 Archivo,Arial,sans-serif;color:#c9d0d4;margin:0;max-width:34ch}
.sc-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.sc-cta a{font:600 13px/1 Archivo,Arial,sans-serif;padding:14px 18px;border:1px solid #e9eef1;color:#f3f5f6}
.sc-cta a:first-child{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.sc-cta a:hover{background:#f3f5f6;color:#1a1c1e;border-color:#f3f5f6}
.sc-paper .sc-beat h1,.sc-paper .sc-beat h2{color:var(--ink)}
.sc-paper .sc-beat em{color:#26748e}
.sc-paper .sc-beat p{color:#3a4f5f}
.sc-paper .sc-n{color:#536c7d}
.sc-steps{position:absolute;left:var(--pad,36px);bottom:28px;z-index:3;display:flex;gap:18px;list-style:none;margin:0;padding:0;font:500 10px/1 Courier New,monospace;letter-spacing:.12em;text-transform:uppercase;color:#8b979e}
.sc-steps li{padding-top:10px;border-top:1px solid #3a3f43;min-width:62px;transition:color .3s,border-color .3s}
.sc-steps li.on{color:#f3f5f6;border-color:var(--acid)}
.sc-paper .sc-steps li{border-color:#cfcbbd;color:#4f6678}
.sc-paper .sc-steps li.on{color:var(--ink);border-color:#26748e}
.sc-demo{position:absolute;right:var(--pad,36px);bottom:28px;z-index:3;margin:0;font:500 10px/1 Courier New,monospace;letter-spacing:.1em;color:#98a4ab}
.sc-paper .sc-demo{color:#4f6678}
.sc-loading{display:none;position:absolute;z-index:3;right:var(--pad,36px);top:28px;margin:0;font:500 10px/1 Courier New,monospace;letter-spacing:.14em;text-transform:uppercase;color:#9aa6ad}
.sc-js .sc-loading{display:block}
.sc-ready .sc-loading{display:none}
.sc-sheet{position:absolute;z-index:2;pointer-events:none;opacity:0;border:1px solid var(--ink)}
.sc-sheet:after{content:"";position:absolute;inset:6px;border:.5px solid rgba(12,27,41,.35)}
.sc-tb{position:absolute;right:6px;bottom:6px;display:grid;grid-template-columns:auto auto auto;border-top:1px solid var(--ink);border-left:1px solid var(--ink);background:#f4f2e9;color:var(--ink);font:500 9px/1.3 Courier New,monospace;letter-spacing:.06em;z-index:1}
.sc-tb>div{padding:7px 10px;border-right:1px solid rgba(12,27,41,.3);display:flex;flex-direction:column;justify-content:center;gap:3px}
.sc-tb>div:last-child{border-right:0}
.sc-tb b{font:600 12px/1.1 Archivo,Arial,sans-serif;letter-spacing:-.01em}
.sc-tb .sc-k{color:#536c7d;text-transform:uppercase;font-size:8px;letter-spacing:.12em}
.sc-tb .sc-who{flex-direction:row;align-items:center;gap:9px}
.sc-tb .sc-who>div{display:flex;flex-direction:column;gap:3px}
.sc-tb .sc-who svg{width:24px;height:24px}
.sc-fallback{display:none;position:absolute;z-index:2;color:#c9d0d4;font:400 14px/1.5 Archivo,Arial,sans-serif}
.sc-nogl .sc-fallback{display:block}
.sc-nogl #sc-gl,.sc-nogl .sc-loading{display:none}
.sc-fallback svg,.sc-noscript svg{display:block;width:100%;height:auto;background:#f4f2e9}
.sc-fallback p{margin:0 0 12px}
.sc-noscript{position:absolute;z-index:2;right:var(--pad,36px);top:9vh;width:min(52vw,760px)}
.sc-rm .sc-runway{height:auto}
.sc-rm .sc-stage{position:relative;height:100vh;min-height:640px}
.sc-rm .sc-beat{transition:none}
@media(max-width:1024px){
:root{--sc-txt:0px}
.sc-beats{left:var(--pad,24px);right:var(--pad,24px);top:24px;width:auto}
.sc-beat p{max-width:60ch}
}
@media(max-width:760px){
.sc-runway{height:185vh}
.sc-beats{left:16px;right:16px;top:22px;width:auto}
.sc-n{margin-bottom:8px}
.sc-beat h1,.sc-beat h2{font-size:27px;margin-bottom:8px}
.sc-beat p{font-size:14px;line-height:1.45;max-width:none}
.sc-cta{margin-top:14px}
.sc-cta a{padding:11px 13px;font-size:12px}
.sc-steps{left:16px;bottom:14px;gap:10px;font-size:9px}
.sc-steps li{min-width:0;padding-top:7px}
.sc-demo{right:16px;bottom:14px;font-size:9px}
.sc-loading{right:16px;top:auto;bottom:40px}
.sc-tb{font-size:7.5px}
.sc-tb b{font-size:10px}
.sc-tb>div{padding:5px 7px}
.sc-tb .sc-who svg{width:18px;height:18px}
.sc-tb .sc-opt{display:none}
.sc-noscript{position:relative;right:auto;top:auto;width:auto;margin:330px 16px 0}
}
.site-header{background:#1a1c1e;border-bottom-color:#2a2e31}
.demo-note{letter-spacing:.08em;max-width:40ch;margin-top:10px}
.process-head{display:grid;grid-template-columns:1.4fr 1fr;gap:30px 80px;align-items:end}
.process-head h2{width:auto;margin:25px 0 0}
.process-head h2 em{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.03em}
.process-intro{font-size:16px;line-height:1.6;color:#3a4f5f;max-width:40ch;margin:0 0 10px}
.process-line{margin-top:80px;counter-reset:st}
.process-line li{padding-top:42px}
.process-line li:before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%}
.process-line li:last-child:after{content:"";position:absolute;right:0;top:-4px;width:1px;height:8px;background:var(--ink)}
.service-body p b{font-weight:600;color:var(--ink)}
@media(max-width:900px){
.process-head{grid-template-columns:1fr;gap:18px}
.process-line{margin-top:48px}
}
.line-overture{border-top:0}
@media(max-width:760px){
.process-head{display:grid;grid-template-columns:1.4fr 1fr;gap:30px 80px;align-items:end}
.process-head h2{width:auto;margin:25px 0 0}
.process-head h2 em{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.03em}
.process-intro{font-size:16px;line-height:1.6;color:#3a4f5f;max-width:40ch;margin:0 0 10px}
.process-line{margin-top:80px;counter-reset:st}
.process-line li{padding-top:42px}
.process-line li:before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:#c8553d}
.process-line li:last-child:after{content:"";position:absolute;right:0;top:-4px;width:1px;height:8px;background:var(--ink)}
.service-body p b{font-weight:600;color:var(--ink)}
@media(max-width:900px){
.process-head{grid-template-columns:1fr;gap:18px}
.process-line{margin-top:48px}
}
}
.site-header nav>a:not(.nav-brief){padding:6px 0}
summary:focus-visible{outline-offset:2px}
.service-list .service-body{padding-top:8px}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline-offset:3px}
@media(hover:none){
button:hover,a.underlink:hover{opacity:1}
}
.demo-note{color:var(--muted);font-size:10px}
footer .underlink{white-space:nowrap}
.flow-drawing figcaption,.score-caption{font-size:10px}
.brief-bottom p{font-size:12px}
.process-line p,.service-body p,.plan-spread-copy>p,.about p,.overture-copy p,.section-heading p{text-wrap:pretty}
@media(max-width:700px){
.capture-card figcaption,.capture-meta{font-size:9px;letter-spacing:.04em}
.capture-heading p{font-size:12px}
}
@media(max-width:650px){
.flow-drawing figcaption,.score-caption{font-size:9px}
.territory-top .eyebrow,.territory-top .mono,.drawing-strip .eyebrow,.overture-top .eyebrow,.brief-top{font-size:9px}
.field>span{font-size:10px}
footer .mono{font-size:9px}
.demo-note{font-size:10px}
.enquire-head p{justify-self:start}
.process-line p{font-size:13px}
}
.terrain-note{position:absolute;z-index:2;right:var(--pad);top:150px;max-width:340px;margin:0;font-size:14px;line-height:1.65;color:#a9bfcc;text-shadow:0 0 18px #0c1b29}
.terrain-linework figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px}
.terrain-linework figcaption .underlink{color:#dceaf1}
.strip-copy{display:flex;justify-content:space-between;gap:40px;margin-top:34px}
.strip-copy h2{line-height:.98;letter-spacing:-.05em;margin:0}
.strip-copy h2 em{color:#7cdaf3}
.score-section .strip-copy h2 em{color:#26748e}
.strip-copy p{max-width:300px;font-size:14px;line-height:1.65;margin:0;opacity:.8}
@media(max-width:900px){
.terrain-note{position:relative;right:auto;top:auto;margin:22px 0 0}
}
@media(max-width:650px){
.strip-copy{display:block;margin-top:24px}
.strip-copy p{margin-top:16px;max-width:320px}
.terrain-note{font-size:13px}
}
:root{--mo-e:cubic-bezier(.2,.75,.15,1);--mo-e2:cubic-bezier(.65,0,.25,1)}
.drawing-grid{background-image:linear-gradient(#f4f2e9,#f4f2e900 26% 74%,#f4f2e9),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg stroke='%230c1b29' fill='none'%3E%3Cpath stroke-opacity='.05' d='M.5 0V160M80.5 0V160M0 .5H160M0 80.5H160'/%3E%3Cpath stroke-opacity='.24' d='M74 80.5h12M80.5 74v12'/%3E%3C/g%3E%3C/svg%3E");background-size:100% 100%,160px 160px;background-position:0 0,var(--pad) 0;background-color:#f4f2e9}
.enquire.drawing-grid{background-image:linear-gradient(#0c1b29,#0c1b2900 26% 74%,#0c1b29),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg stroke='%237cdaf3' fill='none'%3E%3Cpath stroke-opacity='.07' d='M.5 0V160M80.5 0V160M0 .5H160M0 80.5H160'/%3E%3Cpath stroke-opacity='.3' d='M74 80.5h12M80.5 74v12'/%3E%3C/g%3E%3C/svg%3E");background-color:#0c1b29}
@media print{
[data-mo]{opacity:1!important}
}
#brief-form{border:1px solid #8ea3b1;box-shadow:0 1px #0c1b290a,0 22px 60px -30px #0000008c}
.brief-grid{gap:18px 20px;padding:20px 24px 26px}
.field,.field.span-3{padding:0;border:0;gap:8px;position:relative}
.field>span{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font:600 11px/1.3 JetBrains Mono,Courier New,monospace;letter-spacing:.06em;color:#0c1b29;transition:color .2s}
.field>span i{font:500 10px/1 JetBrains Mono,Courier New,monospace;font-style:normal;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.field>span i.req{color:#fff;background:#0c1b29;padding:3px 6px}
.field input,.field select,.field textarea{width:100%;background:#fff;border:1.5px solid #7d93a3;border-radius:3px;padding:14px 16px;min-height:54px;font-size:16px;line-height:1.4;color:#0c1b29;box-shadow:inset 0 1px 2px #0c1b290f;transition:border-color .18s,box-shadow .18s,background .18s}
.field textarea{min-height:150px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;font-size:16px;padding-right:44px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%230c1b29' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center/16px}
.field input::placeholder,.field textarea::placeholder{color:#58707f;opacity:1}
.field:hover input,.field:hover select,.field:hover textarea{border-color:#0c1b29}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#26748e;border-width:2px;padding:13.5px 15.5px;background:#fbfeff;box-shadow:0 0 0 4px #26748e38}
.field select:focus{padding-right:43.5px}
.field:focus-within>span{color:#26748e}
.field input:user-invalid,.field textarea:user-invalid{border-color:#b3362b;box-shadow:0 0 0 3px #b3362b29}
.field input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #fff inset;-webkit-text-fill-color:#0c1b29}
.brief-bottom{border-top:1px solid #bcc9cf;background:#eceae0}
.brief-bottom button{min-height:56px;font-weight:600}
@media(max-width:900px){
.brief-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
.form-hint{padding:14px 14px 0}
.brief-grid{grid-template-columns:1fr;gap:20px;padding:18px 14px 22px}
.field,.field.span-2,.field.span-3{padding:0}
.field>span{font-size:11px}
.field input,.field select,.field textarea{min-height:56px;font-size:16px}
.field textarea{min-height:140px}
}
.eyebrow{text-transform:uppercase}
.sp{font:500 12px/1.6 Courier New,monospace;letter-spacing:.04em;color:#4d6677}
.ph{display:inline-block;font:500 .82em/1.3 Courier New,monospace;letter-spacing:.03em;white-space:nowrap;padding:.05em .4em;background:#7cdaf34d;border-bottom:1px dashed #26748e;color:#0c1b29}
.blist{list-style:none;margin:0;padding:0}
.blist li{position:relative;padding:11px 0 11px 22px;font-size:16px;line-height:1.45;border-top:1px solid var(--line)}
.blist li:first-child{border-top:0}
.blist li:before{content:"";position:absolute;left:0;top:1.12em;width:7px;height:7px;background:#26748e}
.territory .blist li,.industrial-spread .blist li,.enquire .blist li,.datasec .blist li{border-color:#29404e;color:#dceaf1}
.territory .blist li:before,.industrial-spread .blist li:before,.enquire .blist li:before{background:var(--acid)}
.hdr-status{margin:0 auto 0 36px;display:flex;align-items:center;gap:9px;font:500 10px/1 Courier New,monospace;letter-spacing:.08em;color:#a6bbc7;text-transform:uppercase;white-space:nowrap}
.hdr-status i{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 3px #7cdaf32e}
.site-header nav{font-size:13px}
@media(max-width:1180px){
.hdr-status{display:none}
.site-header nav{gap:26px}
}
@media(max-width:650px){
.site-header nav{font-size:12px}
}
.sc-beat ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px}
.sc-beat li{position:relative;padding-left:19px;font:400 15px/1.4 Archivo,Arial,sans-serif;color:#d8dfe3;max-width:34ch}
.sc-beat li:before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;background:var(--acid)}
.sc-paper .sc-beat li{color:#2c4457}
.sc-paper .sc-beat li:before{background:#26748e}
.sc-beat p.sc-sp{margin-top:22px;font:500 11px/1.6 Courier New,monospace;letter-spacing:.04em;color:#9aa6ad;max-width:38ch}
.sc-paper .sc-beat p.sc-sp{color:#4d6677}
.sc-demo{opacity:.8}
@media(max-width:650px){
.sc-beat li{font-size:14px}
.sc-beat ul{margin-top:12px;gap:6px}
.sc-beat p.sc-sp{margin-top:14px;font-size:10px;max-width:none}
.sc-cta{margin-top:14px}
}
.answers{background:#0c1b29;color:#eef4f4;padding:30px var(--pad) 34px;position:relative}
.answers-top{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.answers .eyebrow{color:#a6bbc7}
.answers-top .underlink{font:500 12px/1.4 Courier New,monospace;letter-spacing:.04em;color:var(--acid);padding-bottom:5px;white-space:nowrap}
.answers-list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #34505f}
.answers-list li{position:relative;padding:22px 22px 4px;border-left:1px solid #29404e}
.answers-list li:first-child{padding-left:0;border-left:0}
.answers-list li:before{content:"+";position:absolute;left:-5px;top:-11px;font:14px/1 Courier New,monospace;color:var(--acid);background:#0c1b29;padding:0 1px}
.answers-list li:first-child:before{left:-1px}
.answers-list b{display:block;font-size:18px;line-height:1.22;font-weight:600;letter-spacing:-.015em;color:#fff;margin-bottom:9px}
.answers-list span{display:block;font-size:15px;line-height:1.5;color:#b2c5d1}
@media(max-width:1060px){
.answers-list{grid-template-columns:repeat(2,1fr)}
.answers-list li,.answers-list li:first-child{padding:20px 20px 12px 0;border-left:0;border-bottom:1px solid #29404e}
.answers-list li:nth-child(2n){padding-left:22px;border-left:1px solid #29404e}
.answers-list li:before{display:none}
.answers-list li:last-child{grid-column:1/-1;border-left:0;padding-left:0}
}
@media(max-width:650px){
.answers{padding:24px var(--pad) 18px}
.answers-list{grid-template-columns:1fr;margin-top:14px}
.answers-list li,.answers-list li:nth-child(2n){padding:15px 0 14px;border-left:0}
.answers-list b{font-size:17px;margin-bottom:4px}
.answers-list span{font-size:14.5px}
.answers-top .underlink{font-size:11px}
}
.line-overture{padding-top:44px}
.overture-copy h2{font-size:clamp(40px,6.4vw,100px);line-height:.94;text-transform:uppercase}
.overture-copy p{font-size:17px;line-height:1.55;max-width:330px;margin-bottom:10px;color:#1c3347}
@media(max-width:900px){
.overture-copy p{font-size:15px;max-width:300px}
}
@media(max-width:650px){
.overture-copy h2{font-size:clamp(40px,12.4vw,64px)}
.overture-copy p{font-size:15px;max-width:330px}
.line-overture{padding-top:34px}
}
.both{padding:100px var(--pad) 90px;background:var(--paper);border-top:1px solid var(--line)}
.both-head{display:grid;grid-template-columns:auto 1fr;gap:24px 6vw;align-items:end;margin-top:36px}
.both-big{margin:0;font-size:clamp(130px,18vw,280px);line-height:.78;letter-spacing:-.075em;font-weight:500;color:var(--ink)}
.both-big i{font-style:normal;color:#26748e}
.both-cap{margin:18px 0 0}
.both-head h2 em{white-space:nowrap}
.both-head h2{font-size:clamp(34px,4.8vw,74px);line-height:1.02;letter-spacing:-.055em;max-width:12em;padding-bottom:6px}
.both-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(28px,4.5vw,72px);margin-top:72px}
.both-cols>div{border-top:1px solid var(--ink);padding-top:22px}
.both-cols h3{font-size:clamp(25px,2.4vw,34px);letter-spacing:-.04em;margin-bottom:12px}
.both-cols ul{list-style:none;margin:0;padding:0}
.both-cols li{position:relative;padding:12px 0 12px 22px;border-top:1px solid var(--line);font-size:16px;line-height:1.45;color:#1c3347}
.both-cols li:first-child{border-top:0}
.both-cols li:before{content:"";position:absolute;left:0;top:1.12em;width:7px;height:7px;background:#26748e}
.both-close{display:flex;justify-content:space-between;align-items:baseline;gap:30px 50px;margin-top:60px;padding-top:30px;border-top:1px solid var(--ink)}
.both-close p:first-child{font-size:clamp(23px,2.7vw,40px);letter-spacing:-.04em;line-height:1.14;max-width:20em}
.both-close .sp{max-width:34ch}
@media(max-width:900px){
.both-cols{grid-template-columns:1fr;gap:38px}
.both-close{display:block}
.both-close .sp{margin-top:18px}
}
@media(max-width:650px){
.both{padding:60px var(--pad) 56px}
.both-head{display:block;margin-top:24px}
.both-big{font-size:clamp(120px,40vw,170px)}
.both-head h2{margin-top:30px;font-size:clamp(33px,9.6vw,44px)}
.both-cols{margin-top:44px}
.both-cols li{font-size:15.5px}
}
.concerns{padding:100px var(--pad) 96px;background:var(--paper);border-top:1px solid var(--line)}
.concerns h2{font-size:clamp(36px,5vw,76px);line-height:1.04;letter-spacing:-.055em;margin:28px 0 56px}
.concerns dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(32px,6vw,100px)}
.concerns dl>div{border-top:1px solid var(--ink);padding:24px 0 34px}
.concerns dt{font-size:clamp(20px,1.7vw,24px);line-height:1.22;font-weight:600;letter-spacing:-.025em}
.concerns dd{margin:11px 0 0;font-size:16px;line-height:1.62;color:#2c4457;max-width:54ch}
.concerns dl>div.wide{grid-column:1/-1;background:#7cdaf333;padding:24px 28px 26px;border-top-color:#26748e;display:grid;grid-template-columns:1fr 1.4fr;gap:10px 5vw;align-items:baseline;margin-top:6px}
.concerns dl>div.wide dd{margin:0;max-width:none}
.concerns dd .underlink{font-size:13px;margin-left:6px;padding-bottom:4px}
@media(max-width:800px){
.concerns dl{grid-template-columns:1fr}
.concerns dl>div.wide{display:block;padding:22px 18px 24px}
.concerns dl>div.wide dd{margin-top:11px}
}
@media(max-width:650px){
.concerns{padding:60px var(--pad) 56px}
.concerns h2{margin:24px 0 36px;font-size:clamp(32px,9.7vw,45px)}
.concerns dl>div{padding:20px 0 26px}
.concerns dd{font-size:15.5px}
}
.services{padding-top:100px}
.section-heading{align-items:end}
.section-heading .blist{max-width:440px}
.service-body{grid-template-columns:minmax(150px,.7fr) 1.9fr .7fr}
.service-body .mono{font-size:11px;line-height:1.55;color:#4d6677;max-width:210px;padding-top:4px}
.svc{margin:0}
.svc>div{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:11px 0;border-top:1px solid var(--line)}
.svc>div:first-child{border-top:0;padding-top:0}
.svc dt{font-size:12px;line-height:1.7;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#26748e;padding-top:2px}
.svc dd{margin:0;font-size:16px;line-height:1.5;color:#1c3347}
.service-tags{font-size:11px;color:#4d6677}
@media(max-width:900px){
.service-body{grid-template-columns:1fr}
.service-body .mono{max-width:none;margin-bottom:14px;display:block}
.service-tags{display:block;text-align:left;margin-top:16px}
}
@media(max-width:650px){
.services{padding-top:60px}
.service-body{padding-left:0}
.service-body .mono{font-size:10.5px}
.svc>div{grid-template-columns:76px 1fr;gap:10px}
.svc dd{font-size:15px}
.svc dt{font-size:11px}
.section-heading .blist li{font-size:15px}
}
.gal .blist li{font-size:16px}
.plan-spread.gal h2{font-size:clamp(34px,4.4vw,66px);margin:26px 0 22px}
.plan-spread.gal h2 em{background:none}
.plan-spread.gal .blist{max-width:400px}
.plan-spread.gal .plan-spread-copy .blist li{border-color:var(--line)}
.strip-copy{align-items:end}
.strip-copy .blist{max-width:420px;flex:0 0 min(420px,38%)}
.strip-copy h2{font-size:clamp(34px,4.6vw,68px)}
.terrain-spread .strip-copy{margin-top:34px;position:relative;z-index:2}
.terrain-spread .strip-copy h2{font-size:clamp(34px,4.6vw,68px);margin:0;text-shadow:none;line-height:.98}
.terrain-spread .terrain-linework{margin:34px 0 0}
.terrain-spread .terrain-linework figcaption{margin-left:0}
.territory-top .eyebrow{color:#a6bbc7}
.drawing-strip .eyebrow{font-size:11px}
.industrial-spread .drawing-strip .eyebrow{color:#a6bbc7}
@media(max-width:900px){
.strip-copy .blist{flex:1 1 auto}
}
@media(max-width:650px){
.strip-copy{display:block;margin-top:22px}
.strip-copy .blist{margin-top:16px;max-width:none}
.strip-copy h2,.terrain-spread .strip-copy h2{font-size:clamp(32px,9.4vw,44px)}
.plan-spread.gal h2{font-size:clamp(32px,9.4vw,44px);max-width:100%}
.terrain-spread .terrain-linework{margin:24px 0 0}
.drawing-strip .eyebrow,.territory-top .eyebrow{font-size:9.5px}
.industrial-linework{margin-top:22px}
.gal .blist li{font-size:15px}
}
.process{padding-top:100px}
.process-line li:before{background:#26748e}
.process-line p{font-size:15.5px;max-width:270px}
.routes-wrap{margin-top:78px;padding-top:26px;border-top:1px solid var(--ink)}
.routes{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,4vw,64px)}
.routes li{position:relative;padding:20px 0 4px}
.routes li:before{content:"";position:absolute;left:0;top:-1px;width:100%;height:1px;background:var(--line)}
.routes b{display:block;font-size:clamp(21px,1.9vw,26px);letter-spacing:-.03em;font-weight:600;margin-bottom:8px}
.routes span{display:block;font-size:16px;line-height:1.55;color:#2c4457;max-width:34ch}
.process-small{margin:34px 0 0;max-width:62ch}
@media(max-width:800px){
.routes{grid-template-columns:1fr}
.routes li{padding:16px 0 10px}
.routes-wrap{margin-top:52px}
}
@media(max-width:650px){
.process{padding-top:60px}
.process-line p{font-size:14.5px;max-width:none}
.routes span{font-size:15px}
.process-intro{font-size:15.5px}
}
.datasec{background:#0c1b29;color:#eef4f4;padding:96px var(--pad) 92px;position:relative}
.datasec .eyebrow{color:#a6bbc7}
.datasec-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:36px 8vw;margin-top:34px;align-items:start}
.datasec h2{font-size:clamp(36px,5vw,76px);line-height:1.03;letter-spacing:-.055em}
.datasec h2 em{color:var(--acid)}
.datasec .sp{color:#8fa8b8;margin-top:26px}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding:17px 0 17px 40px;border-top:1px solid #29404e;font-size:clamp(16px,1.35vw,19px);line-height:1.38;color:#eef4f4}
.ticks li:last-child{border-bottom:1px solid #29404e}
.ticks li:before{content:"";position:absolute;left:3px;top:21px;width:15px;height:8px;border-left:2px solid var(--acid);border-bottom:2px solid var(--acid);transform:rotate(-45deg)}
.datasec.drawing-grid{background-image:linear-gradient(#0c1b29,#0c1b2900 26% 74%,#0c1b29),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg stroke='%237cdaf3' fill='none'%3E%3Cpath stroke-opacity='.07' d='M.5 0V160M80.5 0V160M0 .5H160M0 80.5H160'/%3E%3Cpath stroke-opacity='.3' d='M74 80.5h12M80.5 74v12'/%3E%3C/g%3E%3C/svg%3E");background-color:#0c1b29}
@media(max-width:900px){
.datasec-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
.datasec{padding:60px var(--pad) 56px}
.datasec h2{font-size:clamp(33px,9.8vw,45px)}
.ticks li{padding:15px 0 15px 36px;font-size:16px}
.ticks li:before{top:19px}
}
.about{grid-template-columns:1fr 1fr;gap:34px clamp(30px,7vw,120px);padding:96px var(--pad);align-items:start}
.about>.eyebrow{grid-column:1/-1}
.about h2{grid-column:1;grid-row:2;font-size:clamp(36px,4.8vw,74px)}
.about-photo{grid-column:1;grid-row:3;margin:14px 0 0;max-width:460px}
.about-slot{aspect-ratio:4/3;display:grid;place-items:center;border:1px dashed #7d93a3;background:repeating-linear-gradient(135deg,transparent 0 11px,rgba(12,27,41,.045) 11px 12px)}
.about-photo figcaption{margin-top:10px}
.about>div{grid-column:2;grid-row:2/span 2;align-self:start;max-width:520px;padding-top:6px}
.about-label{color:#4d6677;font-size:11px;display:block;margin-bottom:12px}
.about .blist li{font-size:17px}
.where{margin-top:30px;padding:16px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.about .where p{margin:0;font-size:12px;line-height:1.7;letter-spacing:.06em}
.about .where p.where-l{color:var(--ink);font-size:12.5px}
.about .where p.sp{margin-top:6px;color:#4d6677}
.about p.sp{font-size:12px}
.about p.about-links{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:26px 0 0;font-size:14px}
.about .underlink{margin:0}
@media(max-width:900px){
.about{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding:60px var(--pad)}
.about>.eyebrow{order:0}
.about h2{order:1;margin:0}
.about-photo{order:2;max-width:none;margin:0}
.about>div{order:3;max-width:none;padding-top:0}
.about-slot{aspect-ratio:16/9}
.about .blist li{font-size:16px}
}
.faq{padding:100px var(--pad);display:grid;grid-template-columns:.85fr 1.7fr;gap:30px clamp(30px,6vw,110px);align-items:start;border-top:1px solid var(--line);background:var(--paper)}
.faq-head{position:sticky;top:110px}
.faq-head h2{font-size:clamp(36px,4.6vw,70px);line-height:1.04;letter-spacing:-.055em;margin-top:26px}
.faq-list h3{font-size:clamp(19px,1.6vw,23px);line-height:1.28;letter-spacing:-.025em;font-weight:500;min-width:0}
.faq-list summary{padding:22px 0;gap:22px;align-items:flex-start}
.faq-list .service-no{padding-top:4px}
.faq-list .service-plus{font-size:26px;line-height:1}
.faq-list .faq-body{display:block;padding:0 40px 28px 57px}
.faq-list .faq-body p{font-size:16.5px;line-height:1.62;max-width:62ch;color:#2c4457}
@media(max-width:900px){
.faq{display:block;padding:60px var(--pad)}
.faq-head{position:static}
.faq-head h2{margin:24px 0 30px;font-size:clamp(33px,9.7vw,45px)}
.faq-list .faq-body{padding:0 0 24px 38px}
.faq-list summary{gap:14px;padding:18px 0}
.faq-list .faq-body p{font-size:15.5px}
}
.enquire{padding-top:84px}
.enquire-head{align-items:end}
.enquire h2{font-size:clamp(42px,6.6vw,104px);line-height:.96}
.enq-intro{align-self:end;justify-self:end;max-width:430px}
.enquire .enq-intro .blist li{font-size:16px}
.enquire .enq-intro p.sp{font:500 12px/1.7 Courier New,monospace;color:#9cb4c3;margin-top:18px}
.enquire .ph{background:#7cdaf329;border-bottom-color:var(--acid);color:#eef4f4}
@media(max-width:900px){
.enquire-head{display:block}
.enq-intro{margin-top:30px;max-width:none}
}
@media(max-width:650px){
.enquire{padding-top:50px}
.enquire h2{font-size:clamp(38px,11.4vw,52px);margin-top:26px}
.brief-guidance{padding:16px 14px 16px 30px}
.brief-guidance summary{font-size:14px}
}
footer p{max-width:22ch}
footer .demo-note{max-width:44ch}
@media(max-width:650px){
footer p{max-width:none}
}
:root{--h-sec:clamp(36px,4.2vw,60px)}
.sc-beat h1{font-size:clamp(34px,3.9vw,56px)}
section:not(.sc-runway) h2,.line-overture h2{font-size:var(--h-sec)!important;line-height:1.02!important;letter-spacing:-.045em!important;text-transform:none!important;font-weight:500}
section h2 em{font-size:inherit!important;text-transform:none!important}
.sc-beat h2{font-size:clamp(30px,3.3vw,46px)!important}
@media(max-width:900px){
.sc-beat h1,.sc-beat h2{font-size:30px}
}
.sc-cta-fix{position:absolute;left:var(--pad,36px);bottom:calc(90px + max(4vh,26px));margin:0;z-index:4;flex-wrap:nowrap}
.sc-cta-fix a{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .25s,color .25s,border-color .25s,transform .25s}
.sc-cta-fix a:first-child:hover{transform:translateY(-2px)}
.sc-paper .sc-cta-fix a{border-color:#0c1b29;color:#0c1b29}
.sc-paper .sc-cta-fix a:first-child{background:#26748e;border-color:#26748e;color:#fff}
.sc-paper .sc-cta-fix a:hover{background:#0c1b29;border-color:#0c1b29;color:#f4f2e9}
@media(max-width:900px){
.sc-cta-fix{left:16px;right:16px;bottom:91px}
.sc-cta-fix a{flex:1;text-align:center;padding:14px 10px;background-clip:padding-box}
.sc-cta-fix a:not(:first-child){background:#0c1b29b8}
.sc-paper .sc-cta-fix a:not(:first-child){background:#f4f2e9e6}
}
h1 em,h2 em,h3 em{display:block}
h1,h2,h3{text-wrap:balance}
.sc-beat h1 em,.sc-beat h2 em{display:block}
@media(min-width:901px){
.sc-beats{width:max(36vw,calc(var(--sc-txt) - var(--pad,36px) - 10px))}
.sc-beat h1{font-size:clamp(34px,3.4vw,52px)}
.sc-beat h2{font-size:clamp(30px,3.1vw,44px)}
.sc-beat p{max-width:38ch}
}
.contact-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 34px;border-top:1px solid rgba(243,245,246,.28)}
.route{padding:26px clamp(18px,2.4vw,34px) 28px 0;display:flex;flex-direction:column;gap:12px;border-right:1px solid rgba(243,245,246,.16);margin-right:clamp(18px,2.4vw,34px)}
.route:last-child{border-right:0;margin-right:0}
.route-k{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#a6bbc7}
.route h3{font:500 26px/1.1 Archivo,Arial,sans-serif;letter-spacing:-.03em;margin:0;color:#f3f5f6}
.route p{margin:0;font-size:15px;line-height:1.55;color:#c9d0d4;max-width:34ch}
.route-btn{align-self:flex-start;margin-top:6px;padding:15px 20px;border:1px solid var(--acid);background:var(--acid);color:var(--ink);font:600 14px/1 Archivo,Arial,sans-serif;display:inline-flex;gap:22px}
.route:nth-child(n+2) .route-btn{background:transparent;color:#f3f5f6;border-color:#e9eef1}
.route:nth-child(2) .route-btn{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.route-btn:hover{background:#f3f5f6;color:#0c1b29;border-color:#f3f5f6}
.route-s{font-size:12px!important;color:#a6bbc7!important}
.route-q{list-style:none;margin:6px 0 0;padding:0;font-size:13.5px;line-height:1.4;color:#c9d0d4}
.route-q li{padding:7px 0 7px 18px;position:relative;border-top:1px solid rgba(243,245,246,.14)}
.route-q li:before{content:"?";position:absolute;left:0;color:var(--acid);font-family:Courier New,monospace}
.brief-notes{margin:0;max-width:560px;font-size:13px;line-height:1.5}
.brief-notes li{color:#2c4457!important;border-color:#cfd8dc!important}
.brief-notes li:last-child{border-bottom:0}
.brief-status{margin:0;padding:0 25px 20px;font-size:13px;color:#2c4457}
.brief-status:empty{display:none}
.addr-sel{-webkit-user-select:all;user-select:all;font-weight:600;overflow-wrap:anywhere}
@media(max-width:900px){
.contact-routes{grid-template-columns:1fr}
.route{border-right:0;margin-right:0;border-bottom:1px solid rgba(243,245,246,.16);padding-right:0}
.route:last-child{border-bottom:0}
.route-btn{align-self:stretch;justify-content:space-between}
}
.route-s2{font:500 11px/1.4 Courier New,monospace;letter-spacing:.08em;text-transform:uppercase;color:#a6bbc7!important;margin:8px 0 0!important}
.email-link{text-decoration:underline;text-underline-offset:3px}
.email-link,.underlink,.site-header .brand,.site-header nav>a{position:relative}
.email-link::before,.underlink::before,.site-header .brand::before,.site-header nav>a::before{content:"";position:absolute;inset:0}
.email-link::before{inset:-6px -2px}
.underlink::before{inset:-3px -2px}
@media(pointer:coarse),(max-width:650px){
.email-link::before{inset:-15px -4px}
.underlink::before{inset:-12px -4px}
.site-header .brand::before{inset:-8px -4px}
.site-header .nav-brief::before{inset:-6px -8px}
}
@media(pointer:coarse){
.site-header nav>a:not(.nav-brief)::before{inset:-10px -8px}
}

/* This section previously inherited its gutters from the shared .manifesto class. */
.plan-spread{padding-left:var(--pad);padding-right:var(--pad)}

/* Drawing and captions have independent, explicit measurements. */
:root{--sc-drawing-inset:36px}
.sc-fallback{display:none;left:36px;right:36px;top:40%;height:calc(60% - 90px);align-items:center;justify-content:center}
.sc-fallback svg{width:100%;height:100%;object-fit:contain}
.sc-nogl .sc-fallback{display:flex}
.sc-ready .sc-detail-error{display:block}
.sc-nogl .sc-runway{height:auto}
.sc-nogl .sc-stage{position:relative;min-height:640px}
.sc-rm .sc-beat{transition:none}
.draw-svg text{opacity:var(--text-opacity,1)}

/* Navy shadows and paper highlights relate the portrait to the site's palette. */
.about-slot{position:relative;overflow:hidden;border:0;background:transparent}
.portrait{position:absolute;left:50%;top:50%;height:calc(100% - 32px);max-width:calc(100% - 32px);aspect-ratio:1;overflow:hidden;border-radius:50%;transform:translate(-50%,-50%);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.portrait img{display:block;width:100%;height:100%;object-fit:contain}
.portrait-toned{filter:url("#portrait-duotone")}
.portrait .portrait-colour{position:absolute;inset:0;opacity:0;transition:opacity .65s ease}
@media(hover:hover) and (pointer:fine){
 .about-photo:hover .portrait-colour{opacity:1}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .about-photo:hover .portrait{transform:translate(-50%,-50%) scale(1.025)}
}
@media(prefers-reduced-motion:reduce){.portrait,.portrait-colour{transition:none}}

/* Native cursor and existing header composition. */
.site-header{gap:24px}
.site-header .brand{flex-shrink:0}
.site-header nav{margin-left:auto;gap:26px}
.hdr-status{margin-right:auto}
.route{min-width:0}
.route .route-s{overflow-wrap:anywhere}
.route a:focus-visible,.route button:focus-visible{outline-color:var(--acid)}

/* Place the questions inside the call route; the form follows its own introduction. */
.contact-routes{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;row-gap:34px;margin-bottom:0}
.route:nth-child(2){border-right:0;margin-right:0;padding-right:0}
.route>.route-btn{margin-top:6px;min-height:46px;align-items:center}
.route>.route-meta{padding-top:6px}
.route--form{grid-column:1/-1;border:0;margin:0;padding:26px 0 0;border-top:1px solid #496170}
.route--form>p{max-width:60ch}
.route--form #brief-form{margin:10px 0 0;width:100%;min-width:0}
.route--form #brief-form p{max-width:none}
.email-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;overflow-wrap:anywhere}
.route .email-link{display:inline-block}
.call-details{border-top:1px solid #496170;padding:24px 0 0;margin:12px 0 0}
.call-details h4{font:500 20px/1.25 Archivo,Arial,sans-serif;letter-spacing:-.02em;margin:0;color:#f3f5f6}
.call-topics{list-style:none;padding:0;margin:18px 0 0;counter-reset:call}
.call-topics li{counter-increment:call;display:flex;align-items:baseline;gap:14px;border-top:1px solid #496170;padding:15px 0;font-size:16px;line-height:1.5;min-width:0}
.call-topics li:before{content:counter(call,decimal-leading-zero);flex:0 0 22px;font:11px/1.5 "Courier New",monospace;color:var(--acid)}
.route .call-budget{max-width:52ch;font-size:14px;line-height:1.65;margin-top:10px;color:#c2d2dc}

/* Keep email preparation explicit and usable without a backend. */
.brief-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.brief-actions button{min-width:0;min-height:48px;white-space:nowrap}
.brief-notes{flex:1}
.brief-status{overflow-wrap:anywhere}
#brief-status:empty{display:none}

/* Give supporting information readable contrast without changing headline scales. */
.route-k,.brief-top{font-size:12px;letter-spacing:.06em}
.route-s{font-size:14px!important;line-height:1.65!important;color:#c2d2dc!important}
.field>span{font-size:12px;line-height:1.5;letter-spacing:.03em}
.datasec .sp{font-size:13px;color:#b8ccd8}
.demo-note{font-size:12px;line-height:1.6;color:#445e70}
.flow-drawing figcaption,.score-caption{font-size:11px;line-height:1.6;letter-spacing:.04em}
.flow-drawing figcaption span,.score-caption span{opacity:1}
.about-photo figcaption{font-size:13px;color:#35556a;text-align:center}
footer .mono{font-size:11px;line-height:1.7}
#brief-status{font-size:14px;line-height:1.6;color:#2c4457}

@media(max-width:1180px){.site-header .hdr-status{display:none}.site-header nav{gap:20px}}
@media(max-width:1024px){
 :root{--sc-drawing-inset:0px}
 .sc-cta-fix{left:16px;right:16px;bottom:calc(42px + env(safe-area-inset-bottom,0px));gap:10px}
 .sc-cta-fix a{flex:1;display:flex;justify-content:center;align-items:center;text-align:center;padding:14px 10px;min-height:48px;font-size:13px;background-clip:padding-box}
 .sc-cta-fix a:not(:first-child){background:#0c1b29b8}
 .sc-paper .sc-cta-fix a:not(:first-child){background:#f4f2e9e6}
 .sc-steps{left:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
 .sc-demo{right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
 .sc-loading{right:16px;bottom:calc(104px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:900px){
 .site-header{height:auto;min-height:90px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;gap:14px 22px}
 .site-header nav{order:3;width:100%;margin:0;justify-content:space-between}
 .brief-bottom{align-items:flex-start;flex-direction:column}
 .brief-actions{justify-content:flex-start}
 .contact-routes{grid-template-columns:1fr}
 .route>.route-btn{margin-top:6px}
 .route>.route-meta{min-height:0}
 .contact-routes{row-gap:0}
 .route--form{border-top:0}
 .route:nth-child(2){padding-bottom:30px}
}
@media(max-width:650px){
 .site-header{min-height:75px}
 .site-header nav>a:not(.nav-brief){display:block}
 .site-header nav{gap:12px;font-size:11px}
 .site-header .nav-brief span{margin-left:8px}
 .brief-actions{width:100%;gap:10px}
 .brief-actions button{flex:1;padding:14px 10px;font-size:12px;margin-top:0}

}

/* A landscape phone has room for two columns, but not three stacked bands. */
@media(min-width:540px) and (max-width:1024px) and (max-height:500px){
 .sc-beats{left:16px;right:auto;top:14px;width:calc(50% - 32px)}
 .sc-beat h1,.sc-beat h2{font-size:22px!important;line-height:1.05}
 .sc-beat p,.sc-beat ul{font-size:12px;line-height:1.4;margin-top:10px}
 .sc-beat .sc-n{font-size:9px;line-height:1.4;margin-bottom:10px}
 .sc-beat .sc-sp{font-size:10px;line-height:1.4}
 .sc-cta-fix{right:auto;width:calc(50% - 32px);gap:6px}
 .sc-cta-fix a{font-size:11px;padding:12px 6px;min-height:44px}
}
