@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#f5f8f5;--ink:#172b42;--muted:#52677a;--line:#ccd9de;--accent:#0757b8;--surface:#eaf0f3;--drawing-tint:#e2edf4;--button:#0757b8;--button-text:#fff;--brand-green:#267d21;--brand-lime:#91c900;--brand-cyan:#11b4d2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:DM Sans,sans-serif}:root[data-theme=dark]{--paper:#10253d;--ink:#eef6fc;--muted:#b4cadb;--line:#36516b;--accent:#83c9ff;--surface:#19344d;--drawing-tint:#234862;--button:#83c9ff;--button-text:#10253d;--brand-green:#9bdc69;--brand-lime:#b0e74c;--brand-cyan:#46cde5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}svg,img{display:block}img{max-width:100%}p,h1,h2,h3{margin:0}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[tabindex="-1"]:focus{outline:none}[hidden]{display:none!important}.shell{width:min(1320px,100% - 112px);margin-inline:auto}p{font-size:17px;line-height:1.75}h1,h2,h3{font-weight:500}h2{letter-spacing:-.055em;font-size:clamp(38px,4vw,57px);line-height:1.08}em{font-family:DM Serif Display,Georgia,serif;font-weight:400}h2 em{color:var(--brand-green)}.accent{color:var(--accent)}.section{padding-block:90px}.section-label{letter-spacing:.13em;align-items:center;gap:20px;margin-bottom:42px;font-size:12px;font-weight:600;display:flex}.section-label>span{color:var(--accent);letter-spacing:0;font-size:13px}.eyebrow,.mono{letter-spacing:.08em;font-size:12px}.button{background:var(--button);color:var(--button-text);border-radius:2px;justify-content:space-between;align-items:center;gap:30px;min-height:56px;padding:17px 24px;font-size:16px;font-weight:550;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:color-mix(in srgb,var(--button) 88%,var(--ink));transform:translateY(-2px)}.button svg,.text-link svg{flex-shrink:0}.text-link{border-bottom:1px solid;align-items:center;gap:20px;min-height:44px;font-size:15px;font-weight:550;display:inline-flex}.text-link:hover{color:var(--accent)}.icon-button{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.icon-button:hover{background:var(--surface)}.skip-link{z-index:200;background:var(--ink);color:var(--paper);padding:16px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.navigation-wrap{z-index:50;background:var(--paper);position:sticky;top:0}.navigation{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;width:min(1320px,100% - 112px);min-height:99px;margin:auto;display:flex}.brand{letter-spacing:-.055em;white-space:nowrap;align-items:center;gap:9px;font-size:29px;font-weight:700;display:flex}.brand img{-o-object-fit:contain;object-fit:contain;width:37px;height:37px}.brand-period{color:var(--brand-green)}.desktop-links{gap:30px;margin-left:auto;margin-right:25px;display:flex}.desktop-links a{padding:13px 0;font-size:15px;position:relative}.desktop-links a:hover,.desktop-links a[aria-current]{color:var(--accent)}.desktop-links a[aria-current]:after{content:"";background:var(--accent);width:15px;height:2px;position:absolute;bottom:4px;left:0}.nav-actions{align-items:center;gap:15px;display:flex}.button-small{gap:20px;min-height:44px;padding:12px 17px;font-size:14px}.menu-button{display:none}.is-scrolled .navigation{min-height:78px}.mobile-menu{background:var(--paper);z-index:49;padding:40px 28px;position:fixed;inset:78px 0 0;overflow:auto}.mobile-menu>.eyebrow{color:var(--muted);margin-bottom:25px}.mobile-menu>a{border-bottom:1px solid var(--line);align-items:center;gap:25px;padding:22px 0;font-size:27px;display:flex}.mobile-menu>a>svg{margin-left:auto}.mobile-menu .mono{color:var(--accent)}.mobile-menu-footer{color:var(--muted);margin-top:40px;font-size:15px}.hero{padding-top:28px}.hero-topline{letter-spacing:.11em;color:var(--muted);justify-content:space-between;gap:24px;font-size:11px;font-weight:550;display:flex}.hero-layout{grid-template-columns:1.12fr 1fr;align-items:center;gap:30px;padding:38px 0 48px;display:grid}.hero-copy{z-index:1;position:relative}.hero h1{letter-spacing:-.065em;font-size:clamp(60px,6.25vw,92px);line-height:1.03}.hero h1 em{color:var(--brand-green);letter-spacing:-.045em;line-height:1.12;display:block}.hero-copy>p{max-width:440px;color:var(--muted);margin:24px 0 27px;font-size:18px;line-height:1.65}.hero-drawing{min-width:0}.engineering-drawing{width:100%;height:auto}.drawing-caption{letter-spacing:.06em;color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:14px 6px;font-size:10px;display:flex}.hero-bottom{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding:24px 0;display:flex}.hero-bottom>span{color:var(--muted);font-size:14px;line-height:1.6}.hero-bottom strong{color:var(--ink);font-weight:500}.discipline-list{letter-spacing:.1em;gap:32px;font-size:11px;display:flex}.discipline-list span:before{content:"+";color:var(--accent);margin-right:12px}.hero-bottom>a{border:1px solid var(--line);border-radius:50%;place-items:center;width:47px;height:47px;display:grid}.hero-bottom>a:hover{background:var(--surface)}.drawing-interface{animation:1s both assemble}.drawing-intelligence{animation:.8s both assemble}@keyframes assemble{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}.expertise-layout{grid-template-columns:.88fr 1.3fr;gap:80px;display:grid}.expertise-intro>p{color:var(--muted);max-width:310px;margin-top:25px}.section-cross{color:var(--brand-green);margin-top:55px;font-family:Georgia,serif;font-size:115px;line-height:1;display:block}.service-row{border-top:1px solid var(--line);padding-bottom:22px}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row h3 button{text-align:left;letter-spacing:-.04em;background:0 0;align-items:center;gap:20px;width:100%;padding:23px 0 11px;font-size:clamp(21px,2.05vw,29px);font-weight:500;display:flex}.service-row h3 button>svg{flex-shrink:0;margin-left:auto}.service-number{letter-spacing:0;color:var(--muted);min-width:22px;font-size:12px}.service-row.active h3 button{color:var(--accent)}.service-summary{color:var(--muted);margin-left:42px;font-size:15px;line-height:1.6}.service-panel{padding:18px 0 0 42px}.service-panel>p{max-width:530px;font-size:16px;line-height:1.65}.service-panel ul{grid-template-columns:1fr 1fr;gap:10px 20px;margin:22px 0 19px;padding:0;list-style:none;display:grid}.service-panel li{gap:10px;font-size:15px;line-height:1.5;display:flex}.service-panel li:before{content:"↗";color:var(--accent)}.service-panel .text-link{font-size:14px}.about-section{color:#edf6ff;background:#0d2e54;padding:70px 0}.about-section .section-label{color:#bfd2e4}.about-section .section-label>span{color:#83c9ff}.about-layout{grid-template-columns:1fr 1fr;gap:90px;display:grid}.about-layout h2{font-size:clamp(52px,5.2vw,76px);position:relative}.about-layout h2 em{color:#b0e74c}.about-mark{color:#46cde5;vertical-align:middle;margin-left:30px;font-family:Georgia,serif;font-size:100px;display:inline-block}.about-copy>p{color:#bfd2e4;font-size:16px}.about-copy>p+p{margin-top:16px}.about-copy .about-lead{color:#edf6ff;letter-spacing:-.02em;margin-bottom:23px;font-size:24px;line-height:1.45}.founder-line{border-top:1px solid #365b7e;align-items:baseline;gap:24px;margin-top:28px;padding-top:22px;display:flex}.founder-line>span{letter-spacing:.1em;color:#bfd2e4;font-size:10px}.founder-line p{font-size:16px}.founder-line p>span{color:#bfd2e4;font-size:13px;display:block}.approach{border-top:1px solid #365b7e;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:52px;padding-top:30px;scroll-margin-top:115px;display:grid}.process-number{color:#b0e74c;font-size:12px}.approach h3{letter-spacing:-.03em;margin:12px 0 10px;font-size:23px}.approach p{color:#bfd2e4;max-width:320px;font-size:15px;line-height:1.65}.contact-layout{grid-template-columns:.85fr 1.15fr;gap:80px;display:grid}.contact-copy h2{font-size:clamp(38px,4.3vw,62px)}.contact-copy>p{max-width:360px;color:var(--muted);margin:25px 0}.contact-email{letter-spacing:-.04em;border-bottom:1px solid var(--ink);align-items:center;gap:28px;padding-bottom:9px;font-size:24px;display:inline-flex}.contact-email:hover{color:var(--accent)}.contact-sketch{color:var(--accent);margin-top:30px;font-family:Georgia,serif;font-size:130px;line-height:1;display:block}.contact-form{min-width:0;padding-top:4px}.form-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.field{flex-direction:column;gap:10px;min-width:0;margin-bottom:24px;display:flex}.field label{font-size:14px;font-weight:500}.field label>span:not(.optional){color:var(--accent)}.field .optional{color:var(--muted);margin-left:5px;font-size:12px;font-weight:400}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:0;min-height:53px;padding:14px;font-size:16px;transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.field input::-moz-placeholder{color:var(--muted);opacity:1}.field textarea::-moz-placeholder{color:var(--muted);opacity:1}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}.field textarea{resize:vertical;min-height:135px}.form-submit{justify-content:space-between;align-items:center;gap:20px;display:flex}.form-submit>p{color:var(--muted);font-size:13px;line-height:1.6}.form-status:empty{display:none}.form-status{border:1px solid var(--line);margin-top:20px;padding:16px;font-size:15px}.form-status p{font-size:15px}.form-status.success{border-color:#628362}.form-status.success p{align-items:center;gap:10px;display:flex}.form-status.error{border-color:var(--accent)}.enquiry-email-fallback{margin-top:15px}.enquiry-email-fallback>p{color:var(--muted);margin-top:8px;font-size:13px}.loading-icon{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.site-footer{border-top:1px solid var(--line);padding:35px 0 24px}.footer-top{justify-content:space-between;align-items:center;gap:30px;padding-bottom:32px;display:flex}.footer-top>p{color:var(--muted);font-size:17px;line-height:1.5}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:25px;padding-top:22px;font-size:12px;display:flex}.footer-bottom>div{align-items:center;gap:24px;display:flex}.footer-bottom a{padding-block:12px}.footer-bottom a:hover{color:var(--accent)}.legal-page{max-width:900px;min-height:70vh;padding-block:65px 90px}.legal-page>.eyebrow{color:var(--accent);margin-top:35px}.legal-page h1{letter-spacing:-.055em;margin:14px 0 25px;font-size:clamp(38px,5vw,64px)}.policy-updated{color:var(--muted);margin-bottom:24px}.legal-copy h2{letter-spacing:-.025em;margin:32px 0 15px;font-size:25px;line-height:1.35}.legal-copy p{color:var(--muted)}.legal-copy p+p{margin-top:16px}.legal-copy a{color:var(--accent);overflow-wrap:anywhere;text-decoration:underline}.legal-copy [id]{scroll-margin-top:115px}@media (width>=1600px){.hero-layout{padding-block:48px 60px}.hero h1{font-size:98px}}@media (width<=1100px){.shell,.navigation{width:calc(100% - 64px)}.desktop-links{gap:20px;margin-right:0}.navigation{gap:20px}.hero h1{font-size:66px}.hero-layout{gap:12px}.hero-copy>p{max-width:370px;font-size:17px}.hero-edition{display:none}.drawing-caption{font-size:9px}.drawing-caption>span:last-child{display:none}.expertise-layout,.contact-layout{gap:45px}.service-panel ul{grid-template-columns:1fr}.about-layout{gap:45px}.about-mark{margin-left:15px;font-size:75px}.discipline-list{gap:20px;font-size:10px}.nav-cta{gap:12px}}@media (width<=900px){.desktop-links{display:none}.menu-button{display:grid}.navigation{min-height:78px}.hero h1{font-size:57px}.hero-copy>p{font-size:16px}.hero-layout{grid-template-columns:1.08fr 1fr;padding-top:30px}.hero-bottom{gap:20px}.discipline-list{flex-direction:column;gap:7px}.expertise-layout{grid-template-columns:.75fr 1fr;gap:32px}.expertise-intro h2{font-size:38px}.about-layout{gap:30px}.about-layout h2{font-size:55px}.about-mark{margin:15px 0 0;display:block}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-copy{position:relative}.contact-copy>p{max-width:500px}.contact-sketch{font-size:100px;position:absolute;top:20px;right:10px}.contact-form{width:100%;max-width:700px}.contact-copy h2{font-size:54px}.section{padding-block:65px}}@media (width<=650px){.shell,.navigation{width:calc(100% - 40px)}html{scroll-padding-top:95px}.navigation{gap:12px;min-height:74px}.is-scrolled .navigation{min-height:74px}.brand{gap:6px;font-size:27px}.brand img{width:32px;height:32px}.nav-actions{gap:8px}.nav-cta{display:none}.mobile-menu{top:74px}.hero{padding-top:21px}.hero-topline{letter-spacing:.07em;font-size:9px}.hero-layout{grid-template-columns:1fr;gap:27px;padding:28px 0 23px}.hero h1{font-size:clamp(48px,12.9vw,77px);line-height:1.02}.hero h1 em{line-height:1.12}.hero-copy>p{max-width:440px;margin:20px 0 24px;font-size:17px;line-height:1.7}.hero-copy .button{min-height:52px;padding:15px 21px}.hero-drawing{justify-self:center;width:100%;max-width:370px}.engineering-drawing{max-height:330px}.drawing-caption{padding:10px 0;font-size:9px}.drawing-caption>span:last-child{display:block}.hero-bottom{gap:15px;padding:19px 0}.hero-bottom>span{font-size:12px}.discipline-list{letter-spacing:.03em;gap:7px;font-size:8px}.discipline-list span:before{margin-right:6px}.hero-bottom>a{flex-shrink:0;width:38px;height:38px}.hero-bottom>a svg{width:18px}.section{padding-block:49px}.section-label{gap:15px;margin-bottom:25px;font-size:11px}.expertise-layout{display:block}.expertise-intro{margin-bottom:30px;position:relative}.expertise-intro h2{font-size:39px}.expertise-intro>p{max-width:310px;margin-top:17px;font-size:16px}.section-cross{margin:0;font-size:57px;position:absolute;top:5px;right:0}.service-row h3 button{letter-spacing:-.04em;gap:14px;padding-top:23px;font-size:23px}.service-number{min-width:18px;font-size:11px}.service-row h3 button>span:nth-child(2){max-width:240px}.service-summary{margin-left:32px;font-size:14px}.service-panel{padding-left:32px}.service-panel>p{font-size:15px}.service-panel ul{gap:10px;margin-top:18px}.service-panel li{font-size:15px}.service-row{padding-bottom:22px}.about-section{padding-block:47px}.about-layout{grid-template-columns:1fr;gap:28px}.about-layout h2{font-size:57px}.about-mark{margin:0;font-size:90px;position:absolute;bottom:0;right:15px}.about-copy .about-lead{margin-bottom:19px;font-size:23px}.about-copy>p{font-size:16px}.founder-line{margin-top:24px}.approach{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:26px;scroll-margin-top:95px}.approach>div{-moz-column-gap:14px;grid-template-columns:35px 1fr;column-gap:14px;display:grid}.process-number{padding-top:7px}.approach h3{margin:0 0 8px;font-size:23px}.approach p{grid-column:2;max-width:none;font-size:15px}.contact-layout{gap:30px}.contact-copy h2{font-size:44px}.contact-copy>p{max-width:350px;margin:20px 0;font-size:16px}.contact-sketch{display:none}.contact-email{font-size:24px}.form-row{grid-template-columns:1fr;gap:0}.field{gap:8px;margin-bottom:20px}.field label{font-size:14px}.form-submit{flex-wrap:wrap}.form-submit .button{gap:20px;min-height:51px;padding:14px 18px;font-size:15px}.form-submit>p{font-size:12px}.footer-top{flex-wrap:wrap;gap:24px;padding-bottom:23px}.footer-top>p,.footer-top>.text-link{font-size:14px}.footer-bottom{flex-direction:column;align-items:start;gap:10px;font-size:11px}.footer-bottom>div{gap:25px;width:100%}.footer-bottom>div>a:last-child{margin-left:auto}.legal-page{padding-block:35px 60px}.legal-copy p{font-size:16px}.legal-copy h2{font-size:23px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
