/* Vento company system: a shared visual language for the portfolio. */
:root{--bg:#171510;--panel:#201d17;--panel-2:#29251e;--ink:#eee8dc;--muted:#b3a994;--line:#39342b;--orange:#f47735;--paper:#e9e3d7;--dark:#211e18;--sans:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'IBM Plex Mono',monospace;--max:1320px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a{color:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}img{height:auto}figure{margin:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:450;line-height:1.06;letter-spacing:-.045em}h1{overflow-wrap:break-word}h2{font-size:clamp(36px,4vw,60px)}h3{font-size:28px}p{overflow-wrap:break-word}
::selection{background:var(--orange);color:var(--bg)}:focus-visible{outline:2px solid var(--orange);outline-offset:6px}[hidden]{display:none!important}
.container{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.section{padding-block:112px}.eyebrow{font:400 11px/1.5 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.small-square{display:inline-block;width:6px;height:6px;background:var(--orange);margin-right:10px;vertical-align:2px}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--orange);color:var(--bg);padding:12px 20px}.skip-link:focus{top:12px}
.site-header{height:96px;position:sticky;top:0;z-index:50;background:rgba(23,21,16,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:25px;font-weight:650;letter-spacing:.04em;line-height:1}.brand svg{width:40px;height:40px}.brand-small{display:block;font:400 8px/1 var(--mono);letter-spacing:.35em;margin-top:7px}.site-nav{display:flex;gap:34px;align-items:center}.site-nav a{text-decoration:none;font-size:13px;color:var(--muted);transition:color .18s}.site-nav a:hover,.site-nav a[aria-current]{color:var(--ink)}.site-nav .nav-contact{color:var(--ink);border-left:1px solid var(--line);padding-left:32px}.nav-contact span{margin-left:16px;color:var(--orange)}.menu-toggle{display:none;border:0;background:none;color:var(--ink);font-size:13px;padding:10px 0}.menu-toggle span{margin-left:12px;font-size:20px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--orange);color:var(--bg);padding:16px 21px;border:1px solid var(--orange);border-radius:2px;font-size:13px;font-weight:550;text-decoration:none;transition:background .2s,color .2s}.button:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}.button span,.text-link span{font-size:20px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:13px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link:hover{color:var(--orange)}.text-button{border:0;border-bottom:1px solid currentColor;padding:4px 0;background:none;color:var(--ink);font-size:13px}.circle-link{width:60px;height:60px;display:grid;place-items:center;text-decoration:none;border:1px solid var(--line);border-radius:50%;font-size:30px;transition:background .2s}.circle-link:hover{background:var(--orange);color:var(--bg)}
.company-hero{padding-top:40px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:620px}.hero-copy{padding:48px 0 70px;position:relative;z-index:1}.hero-copy h1{font-size:clamp(60px,6.8vw,104px);line-height:1.01;font-weight:450;letter-spacing:-.065em;margin-top:35px}.hero-copy h1 span{color:var(--orange)}.hero-description{max-width:410px;margin-top:30px;color:var(--muted);font-size:17px;line-height:1.65}.hero-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:35px}.hero-art{align-self:center;min-width:0;position:relative}.hero-art img{width:100%;aspect-ratio:10/9;object-fit:contain}.hero-art figcaption{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font:400 9px/1.4 var(--mono);letter-spacing:.08em;padding:0 20px 28px}.hero-art figcaption span:first-child{color:var(--orange)}.domain-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.domain-strip a{display:flex;align-items:center;gap:16px;text-decoration:none;padding:25px 24px;font-size:15px;border-right:1px solid var(--line);transition:background .2s}.domain-strip a:first-child{padding-left:0}.domain-strip a:last-child{border-right:0}.domain-strip a>span:last-child{margin-left:auto;color:var(--muted)}.domain-strip a:hover{color:var(--orange);background:var(--panel)}.domain-num{font:400 10px var(--mono);color:var(--muted)}
.thesis-section{padding-block:100px 120px}.thesis-grid{display:grid;grid-template-columns:1fr 2fr 60px;gap:40px;align-items:start}.thesis-grid>.eyebrow{padding-top:10px}.thesis-grid h2{font-size:44px}.thesis-grid div>p{color:var(--muted);font-size:17px;max-width:640px;margin-top:26px}.thesis-grid .circle-link{align-self:end}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:52px}.section-heading h2{margin-top:18px}.section-heading>p{max-width:340px;font-size:15px;color:var(--muted);line-height:1.65}.business-section{padding-top:0}.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 32px}.business-card{text-decoration:none;min-width:0}.business-art{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--panel)}.business-art img{width:100%;aspect-ratio:900/620;object-fit:cover;transition:transform .6s}.business-card:hover .business-art img{transform:scale(1.035)}.art-index{position:absolute;left:22px;top:22px;font:400 10px var(--mono);letter-spacing:.12em;color:var(--muted)}.card-arrow{position:absolute;right:20px;bottom:20px;border:1px solid #5b5041;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;font-size:20px;transition:background .2s,color .2s}.business-card:hover .card-arrow{background:var(--orange);border-color:var(--orange);color:var(--bg)}.card-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:24px 0 13px}.card-heading h3{font-size:29px;white-space:nowrap}.status{display:inline-block;font:400 9px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:5px 7px}.business-card>p{max-width:470px;color:var(--muted);font-size:15px;line-height:1.6}.card-topics{display:flex;flex-wrap:wrap;gap:6px 17px;margin-top:20px;font:400 10px/1.7 var(--mono);color:var(--ink)}.card-topics span::before{content:'·';color:var(--orange);margin-right:8px}.section-note{margin-top:34px;font-size:12px;line-height:1.6;color:var(--muted);max-width:660px}
.work-section{background:var(--paper);color:var(--dark)}.work-section .eyebrow,.work-section .section-heading>p,.work-section .section-note{color:#6b6357}.work-list{border-top:1px solid #bcb4a6}.work-item{border-bottom:1px solid #bcb4a6}.work-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:75px 1fr 180px 32px;gap:20px;align-items:center;padding-block:28px}.work-item summary::-webkit-details-marker{display:none}.work-number{font:400 11px var(--mono);color:#746650;align-self:start;padding-top:7px}.work-title{font-size:30px;letter-spacing:-.035em;line-height:1.2}.work-title small{display:block;font:400 11px/1.5 var(--mono);letter-spacing:0;color:#70675a;margin-top:9px}.work-stage{font:400 10px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#70675a}.expand-icon{position:relative;display:block;grid-column:-2/-1;grid-row:1;justify-self:end;font-size:0;border:1px solid #bcb4a6;width:32px;height:32px;border-radius:50%}.expand-icon::before,.expand-icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:currentColor;transform:translate(-50%,-50%)}.expand-icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .2s}.work-item[open] .expand-icon::after{opacity:0}.work-body{margin-left:95px;padding-bottom:30px;max-width:690px}.work-body p{max-width:650px;font-size:16px;color:#5b5348;line-height:1.7}.work-body .text-link{margin-top:22px}.work-body .text-link:hover{color:#a64010}.prototype-note{display:block;font-size:12px;margin-top:15px;color:#6b6357}
.vision-band{padding-block:105px;background:var(--orange);color:var(--dark)}.vision-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px}.vision-band .eyebrow{color:var(--dark);padding-top:10px}.vision-band h2{font-size:clamp(42px,5.8vw,85px);line-height:1.02;letter-spacing:-.055em}.vision-band h2 span{color:#723415}.vision-band .text-link{margin-top:35px}.vision-band .text-link:hover{color:var(--dark)}
.extended-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.extended-card{display:flex;gap:30px;text-decoration:none;padding:32px;border:1px solid var(--line);background:var(--panel);transition:border-color .2s}.extended-card:hover{border-color:var(--orange)}.extended-symbol{display:block;width:64px;height:64px;flex:0 0 64px;align-self:flex-start;font-size:0;line-height:0;color:var(--ink)}.extended-symbol img,.extended-symbol svg{display:block;width:100%;height:100%;object-fit:contain}.extended-card h3{display:flex;justify-content:space-between;gap:24px;font-size:28px;margin:18px 0}.extended-card h3 span{color:var(--orange);font-size:22px}.extended-card p{font-size:14px;line-height:1.65;color:var(--muted)}.extended-card .eyebrow{font-size:9px}
.contact-section{padding-top:0}.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;border-top:1px solid var(--line);padding-top:80px}.contact-intro h2{margin-top:22px}.contact-intro>p:not(.eyebrow){max-width:340px;font-size:16px;color:var(--muted);margin-top:25px}.contact-email{display:inline-flex;gap:28px;margin-top:35px;font-size:16px;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:10px}.contact-email span{color:var(--orange)}.enquiry-form label{display:block;font:400 10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px}.enquiry-form label span{text-transform:none;letter-spacing:0}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{display:block;width:100%;min-width:0;border:1px solid #51493b;background:var(--panel);border-radius:2px;color:var(--ink);padding:13px 14px;font-size:15px;line-height:1.5}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#998f7b}.enquiry-form select{color-scheme:dark;margin-bottom:24px}.enquiry-form textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.form-action{display:flex;align-items:center;gap:24px;margin-top:24px}.form-action p{font-size:11px;color:var(--muted);line-height:1.7}.form-status{font-size:13px;color:var(--orange);margin-top:18px}.form-status:empty{display:none}.enquiry-preview{margin-top:25px;padding:22px;border:1px solid var(--line)}.enquiry-preview textarea{font:400 12px/1.6 var(--mono)}.draft-actions{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}.enquiry-preview>p{font-size:12px;color:var(--muted)}
.site-footer{border-top:1px solid var(--line);padding-block:55px 28px;background:#13110d}.footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:45px}.footer-wordmark{font-size:clamp(75px,12vw,180px);font-weight:550;line-height:.8;letter-spacing:-.065em;text-decoration:none}.footer-top>p{color:var(--muted);font-size:14px;line-height:1.7}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:25px;border-top:1px solid var(--line);color:var(--muted);font:400 10px/1.5 var(--mono)}.footer-bottom nav{display:flex;gap:22px}.footer-bottom a{text-decoration:none}.footer-bottom a:hover{color:var(--orange)}
/* Business and vision pages share the same editorial grammar. */
.page-hero{padding-top:90px;padding-bottom:55px}.page-hero h1{font-size:clamp(52px,7.5vw,110px);max-width:1000px;margin-top:30px;line-height:1.02}.page-lead{font-size:clamp(19px,2.2vw,28px);line-height:1.5;color:var(--muted);max-width:830px;margin-top:30px}.page-hero>.status{margin-top:24px}.page-art{margin:0 auto;max-width:100%}.page-art img{width:100%;max-height:520px;object-fit:contain;border:1px solid var(--line)}.page-art figcaption{padding-top:13px;font:400 10px/1.5 var(--mono);color:var(--muted)}.page-hero .page-art{margin-top:50px}.detail-list{border-top:1px solid var(--line)}.detail-row{display:grid;grid-template-columns:90px 1fr;gap:35px;padding:36px 0;border-bottom:1px solid var(--line)}.detail-number{font:400 11px/1.7 var(--mono);color:var(--orange);padding-top:5px}.detail-row h3{font-size:32px;margin-bottom:18px;line-height:1.16}.detail-row p{max-width:780px;font-size:16px;color:var(--muted);line-height:1.7;margin-top:14px}.detail-row .status{margin:0 0 8px}.detail-row .text-link{margin-top:20px}.detail-row div>.eyebrow{margin-top:0;margin-bottom:12px}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:75px}.split-section h2{margin:18px 0 25px}.split-section p{color:var(--muted);max-width:650px;margin-top:18px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.principles>div,.principles>article{border-top:1px solid var(--line);padding-top:26px}.principles h3{font-size:25px;margin:15px 0}.principles p{font-size:15px;color:var(--muted);line-height:1.7}.page-cta{padding:65px;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.page-cta h2{max-width:900px}.page-cta p{margin-top:25px;color:var(--muted);max-width:660px}.page-cta .button{margin-top:28px}.manifesto{padding-bottom:110px}.prose{max-width:820px;margin-inline:auto}.prose h2{font-size:38px;margin:60px 0 22px}.prose h3{font-size:26px;margin:35px 0 18px}.prose p{font-size:19px;line-height:1.8;color:var(--muted);margin:20px 0}.prose .eyebrow{font-size:11px;color:var(--orange)}.prose ul{color:var(--muted);padding-left:22px}.prose li{padding:7px 0}.prose a{color:var(--ink)}.page-hero+.section{padding-top:40px}.section:has(>.container>.page-art){padding-top:0}.section-heading h2:only-child{margin-top:0}
@media(min-width:1600px){.hero-grid{min-height:700px}.hero-copy h1{font-size:112px}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.site-nav{gap:25px}.hero-grid{min-height:530px}.hero-copy h1{font-size:clamp(64px,7.6vw,88px)}.hero-actions{gap:22px}.hero-description{font-size:16px;max-width:370px}.card-heading{align-items:flex-start;flex-direction:column}.contact-grid{gap:60px}.extended-card{padding:28px;gap:22px}.footer-bottom>span:last-child{display:none}}
@media(max-width:900px){.site-header{height:78px}.container{width:calc(100% - 48px)}.brand{font-size:22px}.brand svg{width:34px;height:34px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--panel);padding:20px 24px 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:15px 0;font-size:16px;border-bottom:1px solid var(--line)}.site-nav .nav-contact{padding:15px 0;border-left:0}.menu-toggle[aria-expanded=true] span{display:inline-block;transform:rotate(45deg)}.hero-grid{grid-template-columns:1.05fr 1fr;min-height:480px}.company-hero{padding-top:22px}.hero-copy{padding-top:25px;padding-bottom:40px}.hero-copy h1{font-size:clamp(52px,7.7vw,72px);margin-top:25px}.hero-description{font-size:15px;max-width:330px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-art figcaption{font-size:8px;flex-direction:column;gap:6px;padding-bottom:20px}.hero-art img{aspect-ratio:10/11;object-fit:cover}.domain-strip a{font-size:13px;padding:20px 14px;gap:10px}.section{padding-block:80px}.thesis-grid{grid-template-columns:1fr 2fr;gap:30px}.thesis-grid .circle-link{display:none}.thesis-grid h2{font-size:38px}.thesis-grid div>p{font-size:15px}.section-heading{gap:35px;margin-bottom:38px}.section-heading>p{max-width:290px;font-size:14px}.business-grid{gap:45px 24px}.business-card>p{font-size:14px}.card-heading h3{font-size:26px}.art-index{font-size:8px;left:15px;top:15px}.card-arrow{width:30px;height:30px;right:15px;bottom:15px}.card-topics{font-size:9px;gap:5px 12px}.work-item summary{grid-template-columns:45px 1fr 145px 28px;gap:15px}.work-title{font-size:27px}.work-stage{font-size:9px}.work-body{margin-left:60px;max-width:560px}.vision-band{padding-block:80px}.vision-grid{grid-template-columns:1fr 2fr;gap:30px}.extended-card{flex-direction:column}.contact-grid{grid-template-columns:1fr 1fr;gap:40px;padding-top:60px}.contact-email{font-size:14px;gap:15px}.form-pair{grid-template-columns:1fr;gap:20px}.form-action{flex-wrap:wrap;gap:15px}.footer-top{align-items:flex-end}.footer-top>p{font-size:12px}.footer-bottom{font-size:9px}.split-section{gap:40px}.principles{gap:25px}.principles h3{font-size:22px}.page-hero{padding-top:65px}.page-cta{padding:40px}.detail-row{grid-template-columns:50px 1fr;gap:25px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.section{padding-block:64px}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:28px;padding-bottom:5px}.hero-copy h1{font-size:clamp(54px,13.8vw,82px);margin-top:25px}.hero-description{font-size:16px;max-width:360px;margin-top:24px}.hero-actions{flex-direction:row;align-items:center;gap:24px;margin-top:28px}.hero-actions .button{font-size:12px;gap:14px;padding:14px 16px}.hero-actions .text-link{font-size:12px;gap:10px}.hero-art{max-width:430px;width:100%;margin-inline:auto;margin-top:15px}.hero-art img{aspect-ratio:10/7;object-fit:cover;object-position:center 47%}.hero-art figcaption{flex-direction:row;padding:0 5px 20px;font-size:8px}.domain-strip{grid-template-columns:1fr 1fr}.domain-strip a{padding:18px 15px;font-size:13px}.domain-strip a:first-child{padding-left:15px}.domain-strip a:nth-child(2){border-right:0}.domain-strip a:nth-child(-n+2){border-bottom:1px solid var(--line)}.domain-num{font-size:9px}.thesis-grid{grid-template-columns:1fr;gap:24px}.thesis-grid h2{font-size:36px}.thesis-grid div>p{margin-top:20px;font-size:16px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:38px;letter-spacing:-.045em}.section-heading>p{margin-top:24px;max-width:100%;font-size:15px}.business-section{padding-top:8px}.business-grid{grid-template-columns:1fr;gap:42px}.card-heading{flex-direction:row;align-items:center;flex-wrap:wrap;margin-top:20px;gap:10px}.card-heading h3{font-size:28px}.business-card>p{font-size:15px}.business-art img{aspect-ratio:900/620}.art-index{font-size:9px;left:18px;top:18px}.card-topics{font-size:10px}.section-note{font-size:11px;margin-top:25px}.work-item summary{grid-template-columns:24px 1fr 28px;gap:15px;padding:24px 0}.work-title{font-size:25px}.work-stage{grid-column:2;grid-row:2;margin-top:0;font-size:9px}.expand-icon{width:28px;height:28px}.work-number{font-size:10px}.work-body{margin-left:39px;padding-bottom:25px}.work-body p{font-size:15px}.work-title small{font-size:10px}.vision-grid{grid-template-columns:1fr;gap:25px}.vision-band{padding-block:60px}.vision-band h2{font-size:clamp(42px,11vw,63px)}.extended-grid{grid-template-columns:1fr;gap:20px}.extended-card{flex-direction:row;padding:25px;gap:24px}.extended-card h3{font-size:26px}.extended-card p{font-size:14px}.extended-card .eyebrow{font-size:9px}.contact-section{padding-top:0}.contact-grid{grid-template-columns:1fr;gap:40px;padding-top:60px}.contact-intro h2{font-size:42px}.contact-intro>p:not(.eyebrow){max-width:100%}.contact-email{font-size:16px}.form-pair{grid-template-columns:1fr 1fr;gap:15px}.form-action{flex-wrap:nowrap;gap:20px}.form-action .button{padding:15px;gap:12px;font-size:12px}.form-action p{font-size:10px}.enquiry-preview{padding:15px}.site-footer{padding-block:40px 25px}.footer-top{display:block;padding-bottom:30px}.footer-wordmark{font-size:clamp(80px,24vw,150px)}.footer-top>p{font-size:13px;margin-top:30px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px;font-size:10px}.footer-bottom nav{flex-wrap:wrap;gap:20px}.page-hero{padding-top:50px;padding-bottom:35px}.page-hero h1{font-size:clamp(46px,12vw,70px);margin-top:25px}.page-lead{font-size:19px;line-height:1.55;margin-top:25px}.page-art img{max-height:400px;aspect-ratio:900/620;object-fit:cover}.page-art figcaption{font-size:9px}.detail-row{grid-template-columns:24px 1fr;gap:16px;padding-block:30px}.detail-row h3{font-size:27px}.detail-row p{font-size:15px}.detail-number{font-size:10px}.split-section{grid-template-columns:1fr;gap:35px}.split-section h2{font-size:34px}.principles{grid-template-columns:1fr;gap:30px}.principles h3{font-size:25px}.page-cta{padding:30px 22px}.page-cta h2{font-size:36px}.page-cta p{font-size:15px}.manifesto{padding-bottom:65px}.prose h2{font-size:30px;margin-top:40px}.prose p{font-size:17px;line-height:1.75}.prose h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.business-card:hover .business-art img{transform:none}}
@media print{.site-header,.enquiry-form,.menu-toggle,.hero-actions,.hero-scene,.thesis-art{display:none}body{background:white;color:black}.container{width:100%}.section{padding:25px 0}.business-grid{grid-template-columns:1fr 1fr}a{color:black}.page-art img{max-height:300px}}
/* Expertise is shown through connected disciplines and the work they enable. */
.engineering-section{padding-top:0}.engineering-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.engineering-grid article{padding:30px 25px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column}.engineering-grid article:first-child{padding-left:0}.engineering-grid article:last-child{border:0}.engineering-index{font:400 9px/1.5 var(--mono);letter-spacing:.06em;color:var(--orange)}.engineering-grid h3{font-size:24px;line-height:1.15;margin:30px 0 18px;letter-spacing:-.03em}.engineering-grid p{font-size:14px;color:var(--muted);line-height:1.7}.engineering-grid a{margin-top:auto;padding-top:26px;text-decoration:none;font-size:12px;display:flex;justify-content:space-between;gap:12px}.engineering-grid a:hover{color:var(--orange)}.engineering-grid a span{color:var(--orange)}.work-disciplines{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.work-disciplines span{font:400 9px/1.4 var(--mono);padding:5px 8px;border:1px solid #c5bbab;color:#655640}
@media(max-width:1150px){.site-nav{gap:22px}.site-nav .nav-contact{padding-left:22px}.engineering-grid h3{font-size:22px}.engineering-grid article{padding:25px 20px}.engineering-grid p{font-size:13px}}
@media(max-width:900px){.site-nav .nav-contact{padding-left:0}.engineering-grid{grid-template-columns:1fr 1fr}.engineering-grid article:nth-child(2){border-right:0}.engineering-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.engineering-grid article:first-child{padding-left:20px}.engineering-grid article{padding:28px 20px}.engineering-grid h3{font-size:25px;margin-top:23px}.engineering-grid p{font-size:15px}.engineering-index{font-size:9px}}
@media(max-width:600px){.engineering-grid{grid-template-columns:1fr}.engineering-grid article,.engineering-grid article:first-child{padding:27px 0;border-right:0;border-bottom:1px solid var(--line)}.engineering-grid article:last-child{border-bottom:0}.engineering-grid h3{font-size:27px;margin-top:20px}.engineering-grid p{max-width:430px}.engineering-grid a{justify-content:flex-start;gap:20px;padding-top:20px}.engineering-section{padding-top:0}}

/* Keep navigation available when scripting is unavailable. */
@media(max-width:900px){html:not(.js) .site-header{height:auto;position:static}html:not(.js) .header-inner{flex-wrap:wrap;padding-block:20px}html:not(.js) .site-nav{display:flex;position:static;flex:0 0 100%;background:none;padding:0;border:0}html:not(.js) .menu-toggle{display:none}}

/* Fixes, 21 Oct 2026 */
/* A status label in a detail row sits on its own line above the link, at label size */
.detail-row p.status{display:table;margin:20px 0 0;max-width:none;font:400 10px/1.5 var(--mono);letter-spacing:.04em;color:var(--muted)}
.detail-row p.status+.text-link{margin-top:18px}
/* Small labels on the light Selected work band meet 4.5:1 contrast */
.work-title small,.work-stage,.work-number,.work-section .section-note,.prototype-note{color:#564e43}
.work-title small{font-size:12px}.work-stage{font-size:11px}
@media(max-width:600px){.work-title small{font-size:11px}.work-stage{font-size:10px}}
/* Keep keyboard focus visible against the orange vision band. */
.vision-band :focus-visible{outline-color:var(--dark)}

/* Refinements within the existing palette, illustration frames and text-link style. */
.work-section :focus-visible{outline-color:var(--dark)}
.enquiry-context{font:400 12px/1.6 var(--mono);color:var(--ink);margin-bottom:20px}
.page-jumps{display:flex;flex-wrap:wrap;gap:10px 24px;margin:24px 0 32px}
.page-jumps a{font-size:13px;line-height:1.5;text-decoration:none;border-bottom:1px solid var(--line);padding:7px 0}
.page-jumps a:hover{color:var(--orange);border-color:currentColor}
.recovery-links h2{font-size:25px;margin:15px 0}
@media(max-width:900px){.recovery-links h2{font-size:22px}}
@media(max-width:600px){.recovery-links h2{font-size:25px}}

/* Studio artwork uses the existing frames, with separate wide compositions. */
.business-art:has(img[src^="/assets/artwork-v2/"]){background:#171611}
.business-art:has(img[src^="/assets/artwork-v2/"]) .art-index{color:#cfc8b8}
.page-art img[src^="/assets/artwork-v2/"]{aspect-ratio:900/620;object-fit:cover;background:#171611}
.page-art picture{display:block}
/* The opening is led by the company proposition, without a decorative hero. */
.company-hero .hero-grid{grid-template-columns:1fr;min-height:auto}
.company-hero .hero-copy{max-width:960px;padding-bottom:80px}
.company-hero .hero-description{max-width:650px}
@media(max-width:600px){.company-hero .hero-copy{padding-bottom:44px}}

/* The Lab and Cyber icons keep the same square proportions on phones. */
@media(max-width:700px){.extended-symbol{width:44px;height:44px;flex-basis:44px}}
/* Refresh, 22 Oct 2026 */
.vision-band .band-lead{max-width:640px;margin-top:26px;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--dark)}
.footer-bottom nav a,.footer-bottom>a{display:inline-flex;align-items:center;min-height:32px}
