@font-face{font-family:Space;src:url('./fonts/SpaceGrotesk.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:Plex;src:url('./fonts/IBMPlexMono-Regular.ttf') format('truetype');font-display:swap}
:root{--sage:#698a7f;--ink:#101713;--green:#406052;--paper:#f1f4f1;--line:#d6dfd8;--muted:#56635c;--white:#fff;--red:#e23e29;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;font-family:Space,Arial,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:5px}::selection{background:#bfd2c4;color:#000}[hidden]{display:none!important}img{max-width:100%;display:block}p{line-height:1.65;margin:0 0 22px}h1,h2,h3,h4{font-weight:500;margin:0;line-height:1.08}h1{letter-spacing:-.065em;font-size:clamp(50px,5.9vw,90px)}h2{letter-spacing:-.055em;font-size:clamp(36px,3.9vw,58px)}h3{letter-spacing:-.035em}em{font-style:normal;color:var(--green)}.wrap{width:100%;max-width:1600px;padding-left:var(--gutter);padding-right:var(--gutter);margin-left:auto;margin-right:auto}.mono,.eyebrow{font:11px/1.6 Plex,monospace;letter-spacing:.035em}.eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:27px;color:var(--muted)}.eyebrow>span{width:5px;height:5px;flex:none;background:var(--sage);display:block}.lead{font-size:17px;line-height:1.7;color:var(--muted);max-width:540px;letter-spacing:-.2px}.large-copy{font-size:20px;line-height:1.65;color:#45534b;letter-spacing:-.4px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 22px;border-radius:5px;background:var(--sage);color:#000;font-size:14px;font-weight:500;line-height:1.4;min-height:56px;transition:background .2s,transform .2s}.button:hover{background:#80a093;transform:translateY(-2px)}.button>span{font-size:24px;line-height:1}.text-link,.light-link{display:inline-flex;gap:22px;align-items:center;font-size:13px;font-weight:500;line-height:1.5;padding:10px 0;position:relative}.text-link>span,.light-link>span{font-size:21px;transition:transform .2s}.text-link:hover>span,.light-link:hover>span{transform:translate(3px,-3px)}.light-link{color:#fff}.skip-link{position:fixed;top:10px;left:10px;z-index:20;background:#fff;padding:15px;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{object-fit:contain;width:74px;height:42px}.brand>span{font-size:31px;letter-spacing:-1.7px;font-weight:600}.site-header nav{display:flex;align-items:center;gap:36px;font-size:13px}.site-header nav>a:not(.nav-contact),summary{padding:15px 0}.site-header nav>a[aria-current=page],summary.current{color:var(--green)}.nav-contact{display:flex;align-items:center;gap:28px;border:1px solid var(--line);border-radius:5px;padding:12px 17px;transition:background .2s}.nav-contact:hover{background:var(--paper)}.nav-contact span{font-size:20px}.services-menu{position:relative}.services-menu summary{list-style:none;display:flex;gap:10px;align-items:center}.services-menu summary::-webkit-details-marker{display:none}.services-menu summary>span{color:var(--muted);font-size:15px;transition:transform .2s}.services-menu[open] summary>span{transform:rotate(180deg)}.services-dropdown{position:absolute;top:50px;left:-24px;width:310px;background:#fff;border:1px solid var(--line);padding:12px 22px;box-shadow:0 14px 36px #14291b12;z-index:10}.services-dropdown a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:52px;border-bottom:1px solid var(--line);font-size:13px}.services-dropdown a:last-child{border:0}.services-dropdown a:hover{color:var(--green)}.menu-toggle{padding:10px 0;align-items:center;gap:16px;background:transparent;font-size:13px;min-height:44px}
/* An identity-led opening; the services remain understandable without motion. */
.home-hero{background:var(--paper);border-top:1px solid #e7ece8}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:30px;align-items:center;padding-top:76px;padding-bottom:77px;overflow:hidden}.hero-copy{position:relative;z-index:1}.home-hero h1{font-size:clamp(54px,6.05vw,94px);line-height:1.02;margin-bottom:29px;white-space:nowrap}.hero-copy .eyebrow{font-size:10px;margin-bottom:29px}.hero-copy .lead{max-width:510px;font-size:16px;margin-bottom:30px}.hero-actions{display:flex;gap:25px;align-items:center}.hero-actions>.text-link{font-size:12px}.ant-stage{position:relative;min-width:0;aspect-ratio:1.75;align-self:center}.ant-stage canvas,.ant-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.ant-stage canvas{opacity:0;transition:opacity .5s}.ant-stage.is-ready canvas{opacity:1}.ant-stage.is-ready .ant-fallback{opacity:0}.ant-caption{position:absolute;bottom:-17px;left:22px;right:10px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);gap:20px;font:10px Plex,monospace}.motion-control{display:flex;gap:8px;align-items:center;background:transparent;padding:10px 0;font:9px Plex,monospace;color:var(--muted);min-height:44px}.motion-control span{font-size:12px}.motion-control:hover{color:#000}.proof-rail{display:flex;align-items:center;gap:52px;min-height:102px;border-top:1px solid var(--line)}.proof-rail>.mono{font-size:10px;color:var(--muted);margin-right:9px}.client-name{font-size:21px;font-weight:500;letter-spacing:-.65px;display:flex;gap:16px;align-items:center}.client-name>span{font-size:14px;color:var(--green)}.rail-note{margin-left:auto;font-size:11px;line-height:1.6;color:var(--muted)}
.services-section{padding-top:100px;padding-bottom:106px}.section-heading{margin-bottom:48px}.section-heading .eyebrow{margin-bottom:23px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}.service{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column;align-items:flex-start;position:relative}.service::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:2px;background:var(--sage)}.service-index{color:var(--green);margin-bottom:31px;font-size:12px}.service h3{font-size:clamp(24px,2.25vw,34px);min-height:76px;max-width:340px;margin-bottom:19px;line-height:1.15}.service>p{font-size:15px;line-height:1.75;color:var(--muted);max-width:350px;margin-bottom:24px}.service>.text-link{margin-top:auto;font-size:12px;gap:13px}.projects-section{padding:82px 0 88px;background:#101b15;color:#fff}.section-heading.horizontal{display:grid;grid-template-columns:1fr auto;align-items:end;gap:18px}.section-heading.horizontal>.eyebrow{grid-column:1/-1}.projects-section .eyebrow{color:#b4c5bb}.projects-section h2{font-size:54px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-panel{min-height:485px;background:#263b30;padding:29px 34px 33px;display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid #ffffff13}.project-1{background:#34483e}.project-panel-top{display:flex;justify-content:space-between;align-items:flex-start;height:130px;position:relative}.project-panel-top>.mono{color:#c1d0c6;font-size:10px;z-index:1}.project-sector{position:absolute;right:-2px;top:-26px;color:#a4bca710;font-size:160px;font-weight:600;letter-spacing:-.08em;line-height:1;user-select:none}.project-panel-bottom{position:relative;margin-top:auto}.client{font-size:15px;font-weight:500;margin:0 0 20px;color:#ceddd2}.project-panel h3{font-size:35px;letter-spacing:-1.3px;line-height:1.12;max-width:370px;margin-bottom:22px}.project-panel-bottom>p:not(.client){font-size:14px;line-height:1.7;max-width:420px;color:#bfcec4;margin-bottom:20px}.project-panel .light-link{font-size:12px}.collaboration{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:106px;padding-bottom:104px}.collaboration h2{max-width:520px}.collaboration>div:last-child{padding-top:45px}.collaboration .large-copy{font-size:18px}.contact-band{display:flex;align-items:center;justify-content:space-between;gap:60px;padding-top:62px;padding-bottom:65px;background:#e8efea;border-top:1px solid #d6e0d8;max-width:none}.contact-band>div{max-width:780px}.contact-band h2{font-size:clamp(34px,3.65vw,54px);max-width:750px;margin-bottom:18px}.contact-band .eyebrow{margin-bottom:17px}.contact-band p:not(.eyebrow){font-size:15px;max-width:540px;margin:0;color:#4d5c52}.contact-band>.button{flex-shrink:0}.site-footer{background:#fff}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:40px;padding-top:65px;padding-bottom:55px}.footer-top>p{font-size:14px;color:var(--muted);margin:4px 0 0;line-height:1.7}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;max-width:360px;margin-left:auto;width:100%}.footer-nav .text-link{font-size:12px;justify-content:space-between;padding:5px 0}.footer-nav .text-link span{font-size:15px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:69px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.design-note{font:9px Plex,monospace}.footer-bottom a{padding:12px 0}
/* Inner pages share the same typographic rhythm, with purpose-specific imagery. */
.page-hero{display:grid;grid-template-columns:1.24fr 1fr;align-items:end;gap:10%;padding-top:65px;padding-bottom:66px;border-top:1px solid #eef1ed}.page-hero h1{font-size:clamp(48px,5.35vw,78px);max-width:850px}.hero-detail{padding-top:50px}.hero-detail .lead{font-size:16px;margin-bottom:25px}.service-visual,.integration-visual{margin-top:0;margin-bottom:0}.model-stage{height:410px;background:linear-gradient(110deg,#e8efea,#f1f5f2);position:relative;overflow:hidden}.model-stage canvas{position:absolute;top:0;right:0;display:block;width:63%;height:100%;pointer-events:none!important;cursor:default!important}.visual-side{position:absolute;left:42px;top:42px;max-width:32%;pointer-events:none}.visual-side>.mono{font-size:10px;color:#53705c}.visual-side>p{font-size:36px;letter-spacing:-1.5px;line-height:1.2;margin:30px 0 0;font-weight:500}.visual-index{position:absolute;bottom:25px;left:40px;font:11px Plex,monospace;color:#617a68}.service-visual figcaption,.integration-visual figcaption{font:9px/1.6 Plex,monospace;color:var(--muted);margin:12px 0 0}.model-fallback{position:absolute;right:5%;top:45%;width:53%;padding:30px;font-size:20px;line-height:1.6;text-align:center}.detail-section{display:grid;grid-template-columns:.88fr 1fr;gap:15%;padding-top:90px;padding-bottom:90px}.detail-section h2{max-width:530px}.detail-section .eyebrow{margin-bottom:22px}.deliverable{display:flex;gap:23px;border-top:1px solid var(--line);padding:22px 0 26px}.deliverable>.mono{color:var(--green);padding-top:3px;flex-shrink:0}.deliverable h3{font-size:23px;line-height:1.25;margin-bottom:11px}.deliverable p{font-size:15px;color:var(--muted);margin:0;line-height:1.7}.service-proof{background:#182b20;color:#fff;padding:66px 0}.proof-content{display:grid;grid-template-columns:.45fr 1fr;gap:10%;align-items:center}.proof-symbol{font-size:180px;font-weight:300;color:#698a7f;line-height:1;justify-self:center}.proof-content .eyebrow{color:#b8c9bd;margin-bottom:18px}.proof-content h2{font-size:39px;max-width:680px;margin-bottom:23px}.proof-content p:not(.eyebrow){color:#c0cfc5;max-width:680px;font-size:16px}.proof-content .light-link{font-size:12px}.working-section .large-copy{font-size:18px;margin-bottom:30px}.working-section h3{font-size:22px;line-height:1.2;margin-bottom:13px}.working-section p:not(.eyebrow){font-size:16px;color:var(--muted)}.insight{border-top:1px solid var(--line);padding-top:28px;margin-top:30px}.other-services{padding-top:0;padding-bottom:65px}.other-services>.eyebrow{margin-bottom:10px}.other-services>div{display:flex;gap:40px}.other-services .text-link{font-size:16px}.systems-map{background:#17291f;color:#fff;min-height:370px;display:grid;grid-template-columns:1fr 1.12fr;gap:6%;padding:42px 50px;position:relative}.map-title .mono{color:#bdd0c3;font-size:10px}.map-title p{font-size:38px;line-height:1.17;letter-spacing:-1.5px;margin-top:29px}.system-layers{display:flex;flex-direction:column;justify-content:center;align-items:stretch}.system-layers>div{border:1px solid #658071;background:#294332;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.system-layers .mono{font-size:9px;color:#c0d0c6}.system-layers strong{font-weight:500;font-size:16px;white-space:nowrap}.layer-connector{font-size:21px;color:#9bb5a2;height:29px;line-height:29px;text-align:center}.map-note{position:absolute;bottom:22px;left:50px;font:10px/1.7 Plex,monospace;color:#bdd0c3;margin:0}
.projects-hero{padding-bottom:80px}.case-studies{padding-bottom:15px}.case-study{display:grid;grid-template-columns:.88fr 1fr;gap:8%;padding-bottom:90px;margin-bottom:90px;border-bottom:1px solid var(--line);scroll-margin-top:40px;align-items:start}.case-study:last-child{border:0;margin-bottom:0}.case-identity{background:#e8efea;min-height:560px;padding:36px;position:sticky;top:35px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}.case-study:nth-child(2) .case-identity{background:#273f31;color:#fff}.case-identity>.mono{font-size:10px;color:var(--muted)}.case-study:nth-child(2) .case-identity>.mono{color:#c5d8cb}.case-identity h2{font-size:53px;letter-spacing:-2.5px;margin-top:30px;max-width:330px}.case-output{display:flex;gap:9px;margin-top:70px}.case-output>span{width:62px;height:62px;display:flex;align-items:center;justify-content:center;border:1px solid #93aa9b;border-radius:50%;font-size:18px;letter-spacing:-.7px}.case-identity>p{font-size:14px;line-height:1.65;margin-top:22px;color:var(--muted)}.case-study:nth-child(2) .case-identity>p{color:#c5d8cb}.case-arrow{position:absolute;right:30px;bottom:18px;font-size:110px;color:#698a7f;line-height:1;font-weight:300}.case-copy{padding-top:6px}.case-copy h3{font-size:39px;line-height:1.14;letter-spacing:-1.6px;margin-bottom:24px}.case-copy p{font-size:15px;line-height:1.75;color:var(--muted)}.case-copy .case-intro{font-size:17px;color:#354a3d}.case-copy h4{font-size:18px;letter-spacing:-.4px;margin:30px 0 12px}.service-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.tag{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);padding:10px 12px;font-size:10px;border-radius:3px;transition:background .2s;min-height:38px}.tag:hover{background:var(--paper)}.tag>span{font-size:14px}.about-hero{padding-bottom:85px}.about-statement{display:grid;grid-template-columns:1fr .9fr;gap:10%;padding-top:70px;padding-bottom:75px;background:var(--paper)}.about-ant{display:flex;align-items:center}.about-ant .ant-stage{width:100%}.about-ant .ant-caption{display:none}.about-statement h2{font-size:42px;margin-bottom:23px}.about-statement p:not(.eyebrow){font-size:16px;color:var(--muted)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding-top:80px;padding-bottom:90px}.principles>article{border-top:1px solid var(--line);padding-top:20px}.principles .mono{color:var(--green);font-size:11px}.principles h3{font-size:27px;line-height:1.15;margin:30px 0 19px;min-height:60px}.principles p{font-size:15px;color:var(--muted);margin:0}
.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid #eef1ed;padding-top:66px;padding-bottom:100px}.contact-copy h1{font-size:clamp(50px,5.9vw,84px);line-height:1.02;margin-bottom:29px;max-width:550px}.contact-copy>.lead{font-size:16px;max-width:480px}.contact-identity{display:flex;align-items:center;gap:25px;margin-top:50px}.contact-identity img{width:160px;height:85px}.contact-identity .mono{font-size:9px;color:var(--muted)}.form-panel{padding:30px 35px 35px;background:var(--paper)}.form-panel>.mono{font-size:11px;display:block;margin-bottom:28px;color:var(--muted)}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field:has(input[type=email]),.field-wide{grid-column:1/-1}.field>label{font-size:12px;font-weight:500}.field>label span{font-size:10px;font-weight:400;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid #bbcbbf;background:#fff;border-radius:3px;font-size:15px;padding:13px;min-height:48px}.field textarea{resize:vertical;min-height:115px;line-height:1.6}.field input:hover,.field select:hover,.field textarea:hover{border-color:#6d8d78}.form-note{font-size:10px;line-height:1.6;color:var(--muted);margin:22px 0 18px}.form-status{font-size:13px;line-height:1.6;border-top:1px solid #b6c8bb;padding-top:20px;margin:25px 0 0}.form-panel .button{min-width:220px}
@media(min-width:1600px){.contact-band{padding-left:max(var(--gutter),calc((100vw - 1424px)/2));padding-right:max(var(--gutter),calc((100vw - 1424px)/2))}}
@media(max-width:1100px){.site-header nav{gap:24px}.hero-grid{grid-template-columns:1.15fr 1fr;gap:5px;padding-top:60px;padding-bottom:60px}.home-hero h1{font-size:6.2vw}.hero-copy .eyebrow{max-width:330px}.hero-copy .lead{font-size:15px}.hero-actions{gap:18px}.hero-actions .button{font-size:12px;padding:15px 16px;gap:18px}.hero-actions>.text-link{font-size:11px;gap:10px}.proof-rail{gap:30px}.client-name{font-size:19px}.rail-note{font-size:10px}.service-grid{gap:28px}.service h3{font-size:26px}.service p{font-size:14px}.project-panel{padding:26px;min-height:480px}.project-panel h3{font-size:31px}.collaboration{gap:9%}.contact-band{gap:35px}.contact-band .button{font-size:12px;gap:18px}.page-hero{gap:6%;grid-template-columns:1.18fr 1fr}.page-hero h1{font-size:58px}.hero-detail .lead{font-size:15px}.detail-section{gap:9%;grid-template-columns:1fr 1fr}.systems-map{padding:35px;grid-template-columns:.8fr 1.2fr;gap:4%}.map-title p{font-size:31px}.system-layers>div{padding:15px;gap:15px;flex-direction:column;align-items:flex-start}.map-note{left:35px;bottom:32px}.case-study{gap:6%}.case-identity{padding:29px}.case-identity h2{font-size:44px}.case-copy h3{font-size:34px}.contact-page{gap:7%}.form-panel{padding:25px}.footer-top{grid-template-columns:1fr .75fr 1fr}.visual-side>p{font-size:31px}.visual-side{left:30px;max-width:35%}.visual-index{left:30px}}
@media(max-width:760px){:root{--gutter:24px}.site-header{height:86px;flex-wrap:wrap;gap:0;position:relative;z-index:5}.brand{gap:8px}.brand img{width:59px;height:34px}.brand>span{font-size:28px;letter-spacing:-1.6px}.site-header .menu-toggle{display:flex}.site-header nav{position:absolute;top:85px;left:0;right:0;background:#fff;padding:15px var(--gutter) 25px;display:flex;align-items:stretch;flex-direction:column;gap:0;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #152c1d0b}.js .site-header nav:not(.is-open){display:none}.site-header nav>a:not(.nav-contact),.services-menu summary{padding:16px 0;border-bottom:1px solid var(--line);justify-content:space-between}.services-dropdown{position:static;width:auto;border:0;box-shadow:none;padding:0 0 8px 17px}.services-dropdown a{font-size:12px;border:0;min-height:48px}.nav-contact{margin-top:15px;background:var(--sage);border:0;padding:14px 16px}.menu-toggle>span{font-size:18px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:42px;padding-bottom:20px;gap:12px}.hero-copy .eyebrow{font-size:9px;max-width:300px;margin-bottom:25px;line-height:1.7}.home-hero h1{font-size:clamp(45px,11.7vw,77px);line-height:1.04;margin-bottom:24px;white-space:normal;letter-spacing:-.065em}.hero-copy .lead{font-size:15px;line-height:1.7;max-width:540px;margin-bottom:24px}.hero-actions{gap:18px;flex-wrap:wrap}.hero-actions .button{font-size:12px;padding:15px 16px;gap:20px;min-height:52px}.hero-actions>.text-link{font-size:10px;gap:11px}.ant-stage{width:100%;max-width:530px;margin:0 auto;aspect-ratio:1.9}.ant-caption{left:0;right:0;bottom:-7px;font-size:8px}.motion-control{font-size:8px;min-height:44px}.proof-rail{flex-wrap:wrap;justify-content:space-between;gap:13px 20px;padding-top:22px;padding-bottom:26px}.proof-rail>.mono{flex-basis:100%;font-size:9px;margin-bottom:5px}.client-name{font-size:18px;gap:11px}.rail-note{display:none}.services-section{padding-top:62px;padding-bottom:60px}.section-heading{margin-bottom:35px}.section-heading .eyebrow{font-size:10px;margin-bottom:17px}h2{font-size:38px;letter-spacing:-1.8px}.service-grid{grid-template-columns:1fr;gap:31px}.service{padding-top:20px;display:grid;grid-template-columns:30px 1fr;gap:0 12px}.service-index{grid-column:1;grid-row:1;line-height:1.4;margin-top:6px}.service h3{grid-column:2;min-height:0;max-width:none;font-size:28px;margin:0 0 15px}.service>p{grid-column:2;font-size:14px;max-width:520px;margin-bottom:12px}.service>.text-link{grid-column:2;font-size:12px;margin:0}.projects-section{padding:52px 0 56px}.section-heading.horizontal{grid-template-columns:1fr;gap:0}.section-heading.horizontal>.eyebrow{grid-column:1;margin-bottom:18px}.projects-section h2{font-size:39px}.section-heading.horizontal>.light-link{margin-top:14px;justify-self:start;font-size:12px}.project-grid{grid-template-columns:1fr;gap:19px}.project-panel{min-height:420px;padding:24px}.project-panel-top{height:100px}.project-sector{font-size:138px;top:-20px}.project-panel h3{font-size:31px;max-width:350px}.project-panel .client{font-size:14px;margin-bottom:16px}.project-panel-bottom>p:not(.client){font-size:14px;margin-bottom:15px}.collaboration{grid-template-columns:1fr;gap:24px;padding-top:60px;padding-bottom:60px}.collaboration h2{max-width:470px}.collaboration .eyebrow{margin-bottom:20px}.collaboration>div:last-child{padding-top:0}.collaboration .large-copy{font-size:17px}.contact-band{display:block;padding-top:43px;padding-bottom:45px}.contact-band h2{font-size:37px;max-width:500px;margin-bottom:18px}.contact-band p:not(.eyebrow){font-size:14px;max-width:470px}.contact-band>.button{margin-top:27px;font-size:13px}.footer-top{padding-top:43px;padding-bottom:35px;grid-template-columns:1fr;gap:23px}.footer-top>.brand{grid-row:1}.footer-top>p{font-size:12px}.footer-nav{margin:0;max-width:390px;gap:9px 50px}.footer-nav .text-link{font-size:12px;min-height:38px}.footer-bottom{min-height:70px;gap:16px;font-size:9px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.design-note{font-size:8px}.page-hero{grid-template-columns:1fr;gap:24px;padding-top:40px;padding-bottom:40px}.page-hero .eyebrow{font-size:9px;margin-bottom:22px}.page-hero h1{font-size:clamp(44px,11vw,64px);letter-spacing:-.06em;max-width:620px}.hero-detail{padding:0}.hero-detail .lead{font-size:15px;max-width:560px;margin-bottom:22px}.hero-detail .button{font-size:12px;gap:20px;min-height:51px}.model-stage{height:410px}.model-stage canvas{width:100%;height:74%;top:auto;bottom:0}.visual-side{left:23px;top:24px;max-width:none;right:23px}.visual-side>.mono{font-size:8px}.visual-side>p{font-size:22px;letter-spacing:-.6px;line-height:1.25;margin:14px 0 0}.visual-side>p br{display:none}.visual-side>p br::after{content:' '}.visual-index{left:22px;bottom:18px;font-size:10px}.service-visual figcaption,.integration-visual figcaption{font-size:8px;margin-top:10px}.model-fallback{top:50%;left:5%;right:5%;width:90%;font-size:16px}.detail-section{grid-template-columns:1fr;gap:32px;padding-top:55px;padding-bottom:55px}.detail-section h2{font-size:37px}.detail-section .eyebrow{font-size:10px;margin-bottom:17px}.deliverable{gap:17px;padding:21px 0}.deliverable h3{font-size:22px}.deliverable p{font-size:14px}.deliverable>.mono{font-size:10px}.service-proof{padding:44px 0}.proof-content{grid-template-columns:1fr;gap:0}.proof-symbol{display:none}.proof-content h2{font-size:33px;letter-spacing:-1.4px}.proof-content .eyebrow{font-size:9px}.proof-content p:not(.eyebrow){font-size:15px}.working-section .large-copy{font-size:16px}.working-section p:not(.eyebrow){font-size:15px}.other-services{padding-bottom:44px}.other-services>div{flex-direction:column;gap:6px}.other-services .text-link{font-size:15px;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0}.other-services>.eyebrow{font-size:10px}.systems-map{display:block;padding:25px;min-height:0}.map-title .mono{font-size:9px}.map-title p{font-size:31px;margin:18px 0 30px}.system-layers>div{padding:14px 17px;gap:7px}.system-layers strong{font-size:15px;white-space:normal}.map-note{position:static;margin:24px 0 0;font-size:9px}.projects-hero{padding-bottom:45px}.case-study{grid-template-columns:1fr;gap:30px;padding-bottom:52px;margin-bottom:52px;scroll-margin-top:20px}.case-identity{position:relative;top:auto;min-height:355px;padding:26px}.case-identity h2{font-size:43px;letter-spacing:-1.8px;margin-top:24px;max-width:none}.case-output{margin-top:35px;gap:8px}.case-output>span{width:46px;height:46px;font-size:14px}.case-identity>p{font-size:12px;margin-top:15px;max-width:190px}.case-arrow{right:23px;bottom:17px;font-size:85px}.case-copy h3{font-size:32px;letter-spacing:-1.3px;margin-bottom:21px}.case-copy .case-intro{font-size:16px}.case-copy p{font-size:14px}.case-copy h4{font-size:17px;margin-top:26px}.tag{font-size:10px;min-height:42px}.about-statement{grid-template-columns:1fr;gap:30px;padding-top:25px;padding-bottom:40px}.about-ant{max-width:420px;margin:auto}.about-statement h2{font-size:35px}.about-statement .eyebrow{font-size:9px;margin-bottom:18px}.about-statement p:not(.eyebrow){font-size:15px}.principles{grid-template-columns:1fr;gap:30px;padding-top:45px;padding-bottom:55px}.principles h3{font-size:27px;margin:19px 0 15px;min-height:0}.principles p{font-size:14px}.contact-page{grid-template-columns:1fr;gap:35px;padding-top:40px;padding-bottom:50px}.contact-copy h1{font-size:51px;max-width:470px}.contact-copy>.lead{font-size:15px}.contact-copy .eyebrow{font-size:10px;margin-bottom:22px}.contact-identity{display:none}.form-panel{padding:25px 20px}.form-panel>.mono{font-size:9px;margin-bottom:26px}.form-fields{gap:22px 14px}.field>label{font-size:12px}.field input,.field textarea,.field select{font-size:16px;padding:12px}.form-panel .button{width:100%;font-size:13px}.form-note{font-size:10px}.form-status{font-size:12px}}
@media(max-width:370px){:root{--gutter:20px}.home-hero h1{font-size:43px}.hero-actions{gap:10px}.hero-actions .button{gap:13px;padding:14px}.hero-actions>.text-link{gap:7px;font-size:10px}.client-name{font-size:16px}.page-hero h1{font-size:43px}.form-fields{grid-template-columns:1fr}.field{grid-column:1}.contact-copy h1{font-size:47px}.footer-bottom{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(min-width:761px){.menu-toggle{display:none}}


button:disabled{opacity:.5;cursor:default}button:disabled:hover{transform:none}@media(max-width:760px){html:not(.js) .site-header{height:auto;padding-top:22px}html:not(.js) .site-header nav{position:static;width:100%;box-shadow:none;padding:15px 0 22px}}

h1,h2,h3{text-wrap:balance}@media(max-width:760px){.service-hero h1{font-size:clamp(40px,10.5vw,60px)}}

/* Supplied customer identities retain their original colours and proportions. */
.customer-logo{display:block;width:268px;max-width:100%;height:auto;object-fit:contain}
.customer-logo-ventura-systems{width:280px}
.proof-rail{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;gap:clamp(22px,3.7vw,56px);padding-top:25px;padding-bottom:25px;background:#fff}
.proof-rail>.mono{margin-right:0}.proof-rail .rail-note{margin-left:0}
.customer-link{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;min-width:0;max-width:230px;width:100%;justify-self:center;padding:8px 0}
.customer-link .customer-logo{width:180px;max-width:calc(100% - 32px)}
.customer-link .customer-logo-ventura-systems{width:195px}
.customer-link>span{color:var(--green);font-size:17px;line-height:1;transition:transform .2s}
.customer-link:hover>span{transform:translate(3px,-3px)}
.project-panel{padding:0;min-height:500px}
.project-panel-top{height:auto;min-height:172px;flex-direction:column;justify-content:flex-start;gap:30px;padding:28px 34px 34px;background:#fff;border-bottom:1px solid #e5eae6}
.project-panel-top>.mono{color:var(--muted);font-size:10px}
.project-panel-top .customer-logo{margin:auto 0 0}
.project-panel-bottom{padding:32px 34px 34px;margin-top:0;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.project-panel-bottom .light-link{margin-top:auto}
.case-identity{padding:0;min-height:480px}
.case-brand-panel{padding:32px 36px 38px;background:#fff;width:100%;min-height:194px;border:1px solid var(--line);border-bottom:0}
.case-brand-panel>.mono{font-size:10px;color:var(--muted)}
.case-brand-panel h2{margin:34px 0 0;max-width:none;width:100%;line-height:1;letter-spacing:0}
.case-brand-panel .customer-logo{width:280px}
.case-brand-panel .customer-logo-ventura-systems{width:294px}
.case-summary{position:relative;flex:1;width:100%;padding:38px 36px 52px}
.case-summary .case-output{margin-top:0}
.case-summary>p{font-size:14px;line-height:1.65;margin:22px 0 0;max-width:210px;color:var(--muted)}
.case-study:nth-child(2) .case-summary>p{color:#c5d8cb}
@media(max-width:1100px){.proof-rail{gap:26px}.proof-rail .rail-note{display:none}.proof-rail{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)}.project-panel-top{padding:25px 26px 30px;min-height:160px}.project-panel-bottom{padding:28px 26px 30px}.case-brand-panel{padding:29px;min-height:180px}.case-summary{padding:32px 29px 50px}}
@media(max-width:760px){.proof-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;padding-top:23px;padding-bottom:25px}.proof-rail>.mono{grid-column:1/-1;margin-bottom:1px}.customer-link{gap:0;max-width:240px;justify-self:start;min-height:48px}.customer-link .customer-logo{max-width:100%;width:180px}.customer-link .customer-logo-ventura-systems{width:195px}.customer-link>span{display:none}.project-panel{min-height:0}.project-panel-top{min-height:138px;padding:24px;gap:24px}.project-panel-top .customer-logo{width:230px}.project-panel-top .customer-logo-ventura-systems{width:240px}.project-panel-bottom{padding:27px 24px 28px}.project-panel-bottom .light-link{margin-top:5px}.case-identity{min-height:0;padding:0}.case-brand-panel{padding:24px;min-height:148px}.case-brand-panel h2{margin:26px 0 0}.case-brand-panel .customer-logo{width:240px}.case-brand-panel .customer-logo-ventura-systems{width:250px}.case-summary{padding:27px 26px 32px;min-height:192px}.case-summary>p{font-size:12px;max-width:170px;margin-top:19px}.case-summary .case-arrow{font-size:76px;right:22px;bottom:19px}}
