@font-face{font-family:Barlow;src:url(/fonts/barlow.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Plex;src:url(/fonts/plex.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Plex;src:url(/fonts/plex.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Plex;src:url(/fonts/plex.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}:root{--navy:#232e4f;--ink:#101827;--yellow:#f7eb12;--paper:#f6f6f2;--muted:#505966;--line:#d5d8dd;--gutter:clamp(24px,4.45vw,80px);--max:1328px;--section:104px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px;font-size:100%}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:Plex,Arial,sans-serif;font-size:1.125rem;line-height:1.65}main{min-height:70vh}main:focus{outline:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}img{max-width:100%;height:auto;display:block}figure{margin:0}p{margin:0 0 24px}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;overflow-wrap:break-word;min-width:0;margin:0 0 24px;font-family:Barlow,Arial Narrow,Arial,sans-serif;font-weight:600;line-height:1.06}h1{font-size:clamp(2.75rem,2rem + 2.5vw,4.5rem)}h2{font-size:clamp(2.25rem,1.75rem + 1.5vw,3.25rem)}h3{font-size:1.875rem}ul{padding-left:20px}li{margin:8px 0;padding-left:5px}strong{font-weight:600}address{font-style:normal}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline-offset:5px;border-radius:1px;outline:3px solid #4262b3}.hero :focus-visible,.approach :focus-visible,.site-footer :focus-visible,.technology-feature :focus-visible{outline-color:var(--yellow)}[id]{scroll-margin-top:140px}.wrap{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}.section{padding-block:var(--section)}.paper{background:var(--paper)}.lead{max-width:65ch;font-size:1.4375rem;line-height:1.55}.eyebrow{letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:16px;margin:0 0 28px;font-size:.8125rem;font-weight:500;line-height:1.5;display:flex}.section-number{letter-spacing:0;color:var(--muted);border:1px solid;justify-content:center;align-items:center;min-width:29px;min-height:29px;font-size:.75rem;display:inline-flex}.arrow{flex-shrink:0;transition:transform .2s}.button{background:var(--navy);color:#fff;border:1px solid #0000;justify-content:space-between;align-items:center;gap:28px;max-width:100%;min-height:56px;padding:15px 24px;font-size:.9375rem;font-weight:500;line-height:1.5;transition:background .2s,color .2s;display:inline-flex}.button:hover,.button:focus-visible{background:#35436b}.button:hover .arrow,.text-link:hover .arrow,.nav-cta:hover .arrow{transform:translate(3px)}.button-secondary{color:var(--navy);background:0 0;border-color:currentColor}.button-secondary:hover{color:#fff}.text-link{border-bottom:1px solid;align-items:center;gap:18px;min-height:44px;padding-block:7px;font-size:1rem;font-weight:500;line-height:1.6;display:inline-flex}.skip-link{z-index:100;background:var(--yellow);color:var(--ink);padding:12px 24px;font-size:1rem;position:fixed;top:12px;left:24px;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{z-index:30;background:#fff;border:1px solid #fff;justify-content:space-between;align-items:center;gap:24px;max-width:1584px;min-height:86px;margin:auto;padding:16px 20px 16px 28px;display:flex;position:fixed;top:24px;left:32px;right:32px;box-shadow:0 6px 28px #10182712}.brand{flex-shrink:0;width:218px}.brand img{width:100%;height:auto}.desktop-nav{align-items:center;gap:32px;margin-left:auto;display:flex}.desktop-nav a{align-items:center;min-height:44px;font-size:.9375rem;display:flex;position:relative}.desktop-nav a:after{content:"";background:var(--navy);transform-origin:0;height:2px;transition:transform .2s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.nav-cta{background:var(--navy);color:#fff;align-items:center;gap:24px;min-height:48px;margin-left:12px;padding:12px 16px;font-size:.875rem;font-weight:500;display:flex}.menu-toggle{display:none}.mobile-dialog{background:var(--paper);width:min(100%,480px);max-width:100%;height:100dvh;max-height:100dvh;color:var(--ink);border:0;margin:0;padding:28px;position:fixed;inset:0 0 0 auto;overflow:auto}.mobile-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#101827b0}.mobile-dialog-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:24px;font-size:.875rem;display:flex}.menu-close{background:0 0;border:0;align-items:center;gap:12px;min-height:44px;padding:8px;display:flex}.menu-close span{font-size:1.75rem}.mobile-dialog nav a{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding-block:14px;font-family:Barlow;font-size:2.375rem;line-height:1.2;display:flex}.mobile-dialog nav a .arrow{margin-left:auto}.menu-count{color:var(--muted);font:.75rem Plex}.menu-note{margin-top:32px;font-size:1rem}.mobile-dialog .button{width:100%}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0}}.hero{background:var(--ink);color:#fff;isolation:isolate;min-height:max(760px,100svh - 72px);position:relative}.hero-media,.hero-media img,.hero-scrim{z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero-media img{object-fit:cover;object-position:center 46%}.hero-scrim{z-index:-1;background:linear-gradient(90deg,#0a111ef0 0%,#0a111ecc 34%,#0a111e30 75%),linear-gradient(#0000 65%,#0a111ec2)}.hero-inner{padding-top:190px;padding-bottom:28px}.hero .eyebrow{color:#eceeed;letter-spacing:.14em;font-size:.75rem}.hero .eyebrow:before{content:"";background:var(--yellow);width:8px;height:8px;display:block}.hero h1{letter-spacing:-.018em;max-width:750px;margin-bottom:28px;font-size:clamp(3.5rem,2.5rem + 3vw,5.25rem);line-height:.99}.hero h1 em{color:var(--yellow);font-style:normal}.hero-copy>p{color:#e0e4e9;margin-bottom:32px;font-size:1.1875rem;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.hero .button{background:var(--yellow);color:var(--ink)}.hero .button:hover{background:#fff}.hero .button-secondary{color:#fff;background:#10182740;border-color:#a7afb8}.hero .button-secondary:hover{color:var(--ink);background:#fff}.hero-bottom{color:#d3d8df;letter-spacing:.035em;border-top:1px solid #ffffff40;justify-content:space-between;align-items:center;gap:24px;margin-top:72px;padding-top:24px;font-size:.75rem;line-height:1.5;display:flex}.image-disclosure{letter-spacing:0;margin-left:auto;font-size:.6875rem}.scroll-link{align-items:center;gap:32px;min-height:44px;margin-left:24px;display:flex}.scroll-link span{color:var(--yellow);font-size:1.375rem}.expertise-strip{background:var(--navy);color:#fff}.expertise-strip .wrap{grid-template-columns:repeat(4,1fr);display:grid}.expertise-strip a{padding-block:26px;border-right:1px solid #fff2;align-items:center;gap:14px;margin-right:24px;padding-right:24px;font-size:.8125rem;line-height:1.4;display:flex}.expertise-strip a:last-child{border:0;margin:0}.expertise-strip span{color:#c5cbd6;font-size:.6875rem}.expertise-strip .arrow{width:16px;color:var(--yellow);margin-left:auto}.intro-grid{grid-template-columns:1fr 3fr;gap:48px;display:grid}.intro-grid>.eyebrow{align-items:flex-start;max-width:200px;line-height:1.7}.intro-columns{grid-template-columns:1fr 1fr;gap:64px;margin-top:40px;display:grid}.intro-columns p:not(.lead){color:var(--muted);font-size:1.0625rem}.intro-columns .lead{font-size:1.5rem}.section-heading{justify-content:space-between;align-items:flex-end;gap:64px;margin-bottom:48px;display:flex}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:360px;color:var(--muted);margin-bottom:4px;font-size:1.0625rem}.section-heading>.text-link{flex-shrink:0}.expertise-section{background:var(--paper)}.expertise-row{border-top:1px solid #bfc5cf;grid-template-columns:40px 64px minmax(200px,1fr) minmax(250px,1fr) 48px;align-items:center;gap:24px;padding-block:36px;transition:color .2s;display:grid}.expertise-row:last-child{border-bottom:1px solid #bfc5cf}.row-number{color:var(--muted);font-size:.75rem}.expertise-row>svg{color:var(--navy)}.expertise-row h3{margin:0;font-size:2rem}.expertise-row p{color:var(--muted);max-width:330px;margin:0;font-size:1rem;line-height:1.6}.circle-arrow{border:1px solid #afb6c4;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .2s;display:flex}.expertise-row:hover .circle-arrow,.expertise-row:focus-visible .circle-arrow{background:var(--yellow);border-color:var(--yellow)}.expertise-row:hover h3{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:1px}.project-grid{grid-template-columns:1fr 1fr;gap:64px 48px;display:grid}.featured-grid{grid-template-columns:1.15fr .85fr;align-items:start}.project-link{display:block}.project-image{aspect-ratio:4/3;background:#e4e6e9;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1)}.project-link:hover img,.project-link:focus-visible img{transform:scale(1.035)}.project-arrow{color:var(--navy);background:#fffffff2;justify-content:center;align-items:center;width:46px;height:46px;transition:background .2s;display:flex;position:absolute;bottom:16px;right:16px}.project-link:hover .project-arrow{background:var(--yellow)}.project-meta{letter-spacing:.055em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin:20px 0 12px;font-size:.6875rem;line-height:1.5;display:flex}.project-card h3{margin:0 0 16px;font-size:2rem;line-height:1.12}.project-card>p{color:var(--muted);max-width:60ch;margin-bottom:0;font-size:1rem;line-height:1.7}.technology-feature{background:var(--navy);color:#fff;grid-template-columns:1fr 1fr;display:grid}.technology-media{min-height:600px;position:relative;overflow:hidden}.technology-media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.technology-media>span{color:#f0f2f5;background:#101827e6;padding:10px 14px;font-size:.75rem;position:absolute;bottom:24px;left:24px}.technology-copy{align-self:center;padding:80px clamp(32px,5vw,88px)}.technology-copy .eyebrow{color:#d5dce9;font-size:.6875rem}.technology-copy h2{font-size:clamp(2.75rem,2rem + 2vw,3.75rem)}.technology-copy p{color:#e0e5ee;font-size:1.0625rem}.technology-copy .lead{font-size:1.4375rem}.technology-copy .text-link{color:#fff}.technology-secondary{color:#e3e8f2;text-underline-offset:5px;min-height:44px;margin-top:24px;font-size:.875rem;text-decoration:underline;display:block}.approach{color:#fff;background:#111b2b}.approach .section-number{color:#b6c0cf}.approach .section-heading>p{color:#c1cad7}.stage-controls{border-top:1px solid #586174;border-bottom:1px solid #586174;grid-template-columns:repeat(5,1fr);display:grid}.stage-controls button{text-align:left;color:#fff;background:0 0;border:0;border-right:1px solid #586174;align-items:center;gap:16px;padding:22px 16px;font-family:Barlow;font-size:1.125rem;transition:background .2s;display:flex}.stage-controls button:last-child{border-right:0}.stage-controls button span{color:#c7cfdb;font-family:Plex;font-size:.6875rem}.stage-controls button[aria-pressed=true]{background:var(--yellow);color:var(--ink)}.stage-controls button[aria-pressed=true] span{color:var(--ink)}.stage-controls button:hover{box-shadow:inset 0 -3px var(--yellow)}.approach-layout{grid-template-columns:.95fr 1.05fr;align-items:center;gap:64px;margin-top:48px;display:grid}.stage-detail{grid-template-columns:76px 1fr;gap:24px;min-height:300px;display:grid}.stage-index{color:#748196;font-family:Barlow;font-size:4.75rem;line-height:1}.stage-detail h3{margin-bottom:20px;font-size:2.375rem}.stage-detail p,.stage-detail li{color:#d5dce7;font-size:1rem}.stage-detail ul{padding-left:17px}.process-art{color:#a5b3c8}.process-art svg{width:100%;height:auto;display:block}.process-art p{text-transform:uppercase;letter-spacing:.13em;text-align:center;color:#b8c2d2;margin:12px 0 0;font-size:.625rem}.credibility-grid{grid-template-columns:1fr 1fr;gap:96px;display:grid}.credibility-grid>div>p:not(.lead){color:var(--muted);font-size:1.0625rem}.client-names{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px 32px;margin-top:32px;padding-top:24px;display:flex}.client-names span{font-family:Barlow;font-size:1.375rem}.downloads{background:var(--paper)}.download-layout{grid-template-columns:1fr 1.5fr;gap:96px;display:grid}.download-layout>div>p:not(.eyebrow){max-width:360px;color:var(--muted);font-size:1rem}.download-list{align-self:center}.download-list>a{border-top:1px solid #bfc5cf;align-items:center;gap:24px;padding-block:28px;display:flex}.download-list>a:last-child{border-bottom:1px solid #bfc5cf}.download-list>a:hover strong{text-underline-offset:5px;text-decoration:underline}.file-icon{letter-spacing:.08em;border:1px solid #a1a9b8;justify-content:center;align-items:center;width:40px;height:52px;font-size:.625rem;display:flex}.download-list strong{margin-bottom:4px;font-size:1.25rem;font-weight:500;display:block}.download-list small{color:var(--muted);font-size:.75rem}.download-list .arrow{margin-left:auto}.contact-band{background:var(--yellow);padding-block:80px}.contact-band .eyebrow{margin-bottom:24px}.contact-band-row{justify-content:space-between;align-items:flex-end;gap:64px;display:flex}.contact-band h2{max-width:780px;margin:0;font-size:clamp(2.5rem,1.75rem + 2.25vw,3.75rem)}.contact-band .button{flex-shrink:0;margin-bottom:5px}.site-footer{background:var(--ink);color:#fff;padding:64px 0 24px}.footer-top{border-bottom:1px solid #4a5261;justify-content:space-between;align-items:center;padding-bottom:48px;display:flex}.footer-brand{background:#fff;width:250px;padding:14px 18px;display:block}.footer-top p{color:#d4dbe5;margin:0;font-family:Barlow;font-size:1.75rem;line-height:1.25}.footer-grid{grid-template-columns:1.15fr .7fr 1fr 1fr;gap:48px;padding-block:48px;display:grid}.footer-grid h2{letter-spacing:.08em;text-transform:uppercase;color:#aeb9c9;margin-bottom:24px;font-family:Plex;font-size:.75rem;line-height:1.5}.footer-grid a,.footer-grid address{color:#e3e8ef;margin:8px 0;font-size:.875rem;line-height:1.7;display:block}.footer-grid a:hover{text-underline-offset:4px;text-decoration:underline}.footer-bottom{color:#bbc6d6;border-top:1px solid #4a5261;justify-content:space-between;align-items:center;gap:32px;padding-top:24px;font-size:.6875rem;display:flex}.footer-bottom p{margin:0}.footer-bottom a{align-items:center;min-height:44px;display:flex}.footer-bottom a:hover{text-decoration:underline}.page-intro{border-bottom:1px solid var(--line);padding-top:190px;padding-bottom:72px}.page-intro h1{max-width:1020px;margin-bottom:40px}.intro-bottom{justify-content:space-between;align-items:end;gap:48px;display:flex}.intro-bottom .lead{max-width:720px;color:var(--muted);margin:0}.two-col{grid-template-columns:1fr 1fr;gap:96px;display:grid}.two-col>p{margin:0}.compact-copy{max-width:900px}.service-overview{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:64px;margin-bottom:80px;padding-bottom:80px;display:grid}.service-overview:last-child{border:0;margin-bottom:0;padding-bottom:0}.service-overview:nth-child(2n) .service-overview-image{order:2}.service-overview-image img{aspect-ratio:1.1;object-fit:cover;width:100%}.service-overview-copy>svg{color:var(--navy);margin-bottom:24px}.service-overview h2{font-size:3rem}.service-overview-copy>p:not(.eyebrow){color:var(--muted);font-size:1.0625rem}.inline-list{flex-wrap:wrap;gap:8px 16px;margin-block:24px;padding:0;font-size:.75rem;list-style:none;display:flex}.inline-list li{border-bottom:1px solid #bfc5cf;margin:0;padding:0 0 4px}.service-hero{padding-top:154px;padding-bottom:80px}.back-link{border:0;margin-bottom:40px;font-size:.8125rem}.service-hero-grid{grid-template-columns:1.12fr .88fr;align-items:center;gap:64px;display:grid}.service-hero h1{font-size:clamp(2.75rem,2rem + 2.5vw,4rem)}.service-hero .lead{color:var(--muted);margin-bottom:32px;font-size:1.25rem}.service-hero figure img{object-fit:cover;width:100%;height:500px}.service-hero figcaption,.project-detail-figure figcaption{color:var(--muted);margin-top:12px;font-size:.6875rem}.scope-groups{grid-template-columns:repeat(3,1fr);gap:48px;margin-top:56px;display:grid}.scope-group{border-top:1px solid #98a2b4;padding-top:20px}.scope-group h3{min-height:64px;margin-top:20px;font-size:1.875rem}.scope-group ul{padding-left:16px}.scope-group li{color:var(--muted);margin-block:14px;font-size:1rem}.tools-section{background:#edf0f3}.technology-list>div{border-top:1px solid #b7bfcb;padding-block:24px}.technology-list>div:first-child{border:0;padding-top:0}.technology-list h3{margin-bottom:12px;font-size:1.625rem}.technology-list p{color:var(--muted);margin:0;font-size:1rem}.related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.related-grid h3{font-size:1.6875rem}.related-grid .project-meta span+span{display:none}.related-grid .project-image{aspect-ratio:1.25}.related-grid .project-card>p{font-size:1rem}.related-grid{margin-top:48px}.project-index{padding-top:40px}.filters{flex-wrap:wrap;gap:10px;display:flex}.filters button{background:#fff;border:1px solid #abb4c1;min-height:48px;padding:12px 18px;font-size:.8125rem;line-height:1.5}.filters button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.filters button:hover{box-shadow:inset 0 -3px var(--yellow)}.filters button span{color:inherit;margin-left:12px}.filters .filter-reset{text-underline-offset:4px;border:0;text-decoration:underline}.results-count{color:var(--muted);margin-block:24px 40px;font-size:.75rem}.index-grid .project-image{aspect-ratio:1.5}.index-grid{gap:72px 48px}.project-detail-intro{padding-top:154px;padding-bottom:48px}.project-detail-intro h1{max-width:1000px;font-size:clamp(2.75rem,2rem + 2.5vw,4.5rem)}.project-detail-meta{flex-wrap:wrap;gap:24px 64px;margin-top:40px;display:flex}.project-detail-meta p{max-width:280px;margin:0;font-size:.9375rem}.project-detail-meta span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;font-size:.6875rem;display:block}.project-detail-figure{background:var(--paper);padding:32px}.project-detail-figure img{object-fit:contain;width:100%;max-height:640px}.project-story{grid-template-columns:1fr 1fr;gap:96px;display:grid}.project-story .lead{font-size:1.375rem}.project-story>div>h3{margin-bottom:28px}.scope-list{color:var(--muted);padding-left:17px;font-size:1.0625rem}.scope-list li{padding-bottom:12px}.purpose-block{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.purpose-block .eyebrow{margin-bottom:16px}.purpose-block p{font-size:1.1875rem}.project-technology{border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.project-technology h3{font-size:1.5625rem}.project-technology p{color:var(--muted);font-size:1rem}.project-gallery{grid-template-columns:1fr 1fr;gap:40px;margin-bottom:100px;display:grid}.project-gallery img{object-fit:cover;width:100%;height:420px}.about-image{margin-top:48px;position:relative}.about-image img{aspect-ratio:2.5;object-fit:cover;object-position:center 52%;width:100%}.about-image span{color:#fff;background:#101827e8;padding:10px 16px;font-size:.75rem;position:absolute;bottom:24px;left:24px}.prose{max-width:68ch}.prose p{color:var(--muted)}.prose .lead{color:var(--ink)}.prose a:not(.text-link){text-underline-offset:4px;text-decoration:underline}.value-rows>div{border-top:1px solid #aeb7c4;padding-block:24px}.value-rows>div:first-child{border:0;padding-top:0}.value-rows span{color:var(--muted);margin-bottom:24px;font-size:.75rem;display:block}.value-rows h3{font-size:2rem}.value-rows p{color:var(--muted);font-size:1.0625rem}.contact-section{padding-top:64px}.contact-layout{grid-template-columns:.85fr 1.15fr;gap:96px;display:grid}.contact-details h2{margin-bottom:40px;font-size:2.875rem}.contact-method{margin-bottom:32px}.contact-method h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px;font-family:Plex;font-size:.75rem}.contact-method a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;max-width:300px;min-height:44px;font-size:1.0625rem;display:flex}.contact-method address{font-size:1rem}.enquiry-form{background:var(--paper);padding:40px}.form-intro{margin-bottom:32px;font-size:1.25rem;line-height:1.5}.form-intro>span{color:var(--muted);font-size:.75rem}.form-grid{grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.field{min-width:0;margin-bottom:24px}.field label{margin-bottom:8px;font-size:.875rem;font-weight:500;display:block}.field label span{color:var(--muted);font-size:.75rem;font-weight:400}.field input,.field select,.field textarea{background:#fff;border:1px solid #8e98a7;border-radius:0;width:100%;max-width:100%;min-height:48px;padding:12px 14px;font-size:1rem;line-height:1.5}.field textarea{resize:vertical;display:block}.field [aria-invalid=true]{border-color:#a72b25;box-shadow:inset 3px 0 #a72b25}.field-error{color:#9e2620;margin:8px 0 0;font-size:.8125rem;line-height:1.5}.field-hint,.email-explanation,.privacy-note{color:var(--muted);margin-top:8px;font-size:.75rem;line-height:1.65}.email-explanation{margin-block:24px;font-size:.8125rem}.form-actions{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.copy-button{background:0 0;border:0;border-bottom:1px solid;padding-inline:0;font-size:.875rem}.form-status{margin-top:24px;font-size:.875rem;line-height:1.6}.form-status:empty{display:none}.privacy-note{margin:24px 0 0}.privacy-note a,.prepared-message a{text-underline-offset:4px;text-decoration:underline}.prepared-message{margin-top:28px}.prepared-message a{font-size:.8125rem}.privacy-prose{margin-left:max(var(--gutter),calc((100% - var(--max))/2));margin-right:auto}.privacy-prose h2{margin-top:48px;font-size:2.125rem}.privacy-prose h2:first-child{margin-top:0}.not-found{min-height:70vh;padding-block:200px 120px}.not-found p{max-width:550px;color:var(--muted)}@media (min-width:1700px){.hero-inner{padding-top:215px}.hero-bottom{margin-top:100px}.hero-media img{object-position:center 50%}}@media (max-width:1100px){:root{--gutter:40px;--section:80px}.site-header{gap:16px;padding:14px 16px;left:24px;right:24px}.brand{width:190px}.desktop-nav{gap:24px}.nav-cta{gap:12px;font-size:.75rem}.hero h1{font-size:clamp(3.5rem,2rem + 3.5vw,4.75rem)}.hero-bottom{margin-top:64px}.expertise-strip a{gap:8px;margin-right:12px;padding-right:12px;font-size:.6875rem}.intro-grid{grid-template-columns:1fr;gap:24px}.intro-grid>.eyebrow{max-width:none}.intro-columns{gap:48px}.expertise-row{grid-template-columns:24px 44px 1fr 1fr 44px;gap:20px}.expertise-row h3{font-size:1.75rem}.expertise-row p{font-size:1rem}.expertise-row>svg{width:40px}.circle-arrow{width:44px;height:44px}.section-heading{gap:40px}.technology-copy{padding:56px 40px}.technology-media{min-height:600px}.approach-layout{gap:32px}.stage-detail{grid-template-columns:52px 1fr;gap:20px}.stage-index{font-size:3.75rem}.stage-controls button{gap:10px;padding:20px 12px;font-size:1.0625rem}.credibility-grid,.two-col,.contact-layout,.project-story,.download-layout{gap:56px}.footer-grid{gap:32px}.service-overview{gap:40px}.service-overview h2{font-size:2.5rem}.service-hero-grid{grid-template-columns:1fr 1fr;gap:40px}.service-hero figure img{height:460px}.scope-groups{gap:32px}.scope-group h3{font-size:1.6875rem}.scope-group li{font-size:1rem}.related-grid{gap:28px}.contact-band-row{gap:40px}.contact-details h2{font-size:2.5rem}.enquiry-form{padding:32px}.form-grid{grid-template-columns:1fr}.project-meta span+span{display:none}}@media (max-width:900px){.desktop-nav,.nav-cta{display:none}.menu-toggle{background:0 0;border:0;align-items:center;gap:20px;min-height:44px;padding:8px 10px;font-size:.875rem;display:flex}.menu-toggle span{font-size:1.1875rem}.site-header{min-height:76px}.hero-inner{padding-top:176px}.hero h1{font-size:clamp(3rem,2rem + 3.5vw,4rem)}.hero-media img{object-position:62% center}.hero-scrim{background:linear-gradient(90deg,#101827e8,#101827b0 48%,#10182755),linear-gradient(#0000 65%,#101827bc)}.expertise-strip .wrap{grid-template-columns:1fr 1fr}.expertise-strip a{border-right:0;margin:0;padding-block:20px;font-size:.8125rem}.expertise-strip a:nth-child(-n+2){border-bottom:1px solid #fff2}.expertise-strip a:nth-child(odd){margin-right:24px}.technology-feature{grid-template-columns:1fr 1fr}.technology-copy{padding:48px 32px}.technology-copy h2{font-size:3rem}.technology-media{min-height:590px}.technology-copy .lead{font-size:1.25rem}.technology-copy p{font-size:1rem}.approach-layout{grid-template-columns:1fr}.stage-detail{min-height:230px}.process-art{width:100%;max-width:600px;margin:auto}.section-heading{align-items:start}.section-heading>p{max-width:270px}.contact-band-row{flex-direction:column;align-items:start}.contact-band h2{max-width:680px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-bottom{flex-wrap:wrap;gap:16px 24px}.footer-bottom p{width:100%}.page-intro{padding-top:160px}.service-hero{padding-top:140px}.service-hero-grid{grid-template-columns:1fr}.service-hero-grid>div{max-width:740px}.service-hero figure img{aspect-ratio:1.8;height:auto;max-height:500px}.scope-groups{grid-template-columns:1fr}.scope-group{grid-template-columns:36px 1fr 1.5fr;align-items:start;gap:24px;padding-top:28px;display:grid}.scope-group h3,.scope-group ul{margin-top:0}.related-grid{grid-template-columns:1fr 1fr}.service-overview{gap:32px}.service-overview h2{font-size:2.125rem}.service-overview-image img{aspect-ratio:.75}.contact-layout{grid-template-columns:1fr 1.2fr;gap:32px}.enquiry-form{padding:24px}.contact-details h2{font-size:2.25rem}.contact-method a{gap:10px;font-size:1rem}.contact-method .arrow{width:16px}.form-actions{gap:16px}.contact-details>.text-link{font-size:.8125rem}.project-detail-intro{padding-top:140px}}@media (max-width:650px){:root{--gutter:24px;--section:64px}body{font-size:1.0625rem}h1{font-size:2.875rem}h2{font-size:2.375rem}h3{font-size:1.75rem}.lead{font-size:1.3125rem}.eyebrow{gap:12px;margin-bottom:24px;font-size:.6875rem}.site-header{gap:12px;min-height:72px;padding:12px 14px;top:14px;left:16px;right:16px}.brand{width:180px}.menu-toggle{gap:10px;padding:6px}.hero{min-height:0}.hero-inner{padding-top:146px;padding-bottom:20px}.hero h1{max-width:540px;margin-bottom:24px;font-size:clamp(2.625rem,2rem + 3vw,3.125rem);line-height:1.02}.hero .eyebrow{letter-spacing:.1em;gap:10px;margin-bottom:26px;font-size:.5625rem}.hero-copy>p{max-width:310px;margin-bottom:28px;font-size:1rem}.hero .hero-actions{flex-direction:column;align-items:stretch;gap:12px;max-width:310px}.hero .button{width:100%;min-height:52px;padding:14px 18px;font-size:.875rem}.hero-bottom{grid-template-columns:1fr auto;gap:12px;margin-top:54px;padding-top:16px;font-size:.5625rem;display:grid}.hero-location{grid-column:1}.image-disclosure{grid-column:1;margin-left:0;font-size:.5625rem}.scroll-link{grid-area:1/2/3;gap:14px;margin:0;font-size:.625rem}.hero-scrim{background:linear-gradient(90deg,#0a111eee,#0a111e99 70%,#0a111e44),linear-gradient(#0000 55%,#0a111ee5)}.hero-media img{object-position:58% center}.expertise-strip a{padding-block:18px;gap:8px;padding-right:0;font-size:.6875rem}.expertise-strip a:nth-child(odd){margin-right:20px}.expertise-strip .arrow{width:13px}.expertise-strip span{font-size:.5625rem}.intro-grid{gap:12px}.intro-columns{grid-template-columns:1fr;gap:8px;margin-top:28px}.intro-columns .lead{font-size:1.4375rem}.intro-columns p:not(.lead){font-size:1rem}.section-heading{margin-bottom:32px;display:block}.section-heading>p{max-width:100%;margin-top:24px;font-size:1rem}.section-heading>.text-link{margin-top:20px;font-size:.875rem}.expertise-row{grid-template-columns:24px 1fr 44px;gap:12px;padding-block:24px}.expertise-row>svg{display:none}.expertise-row h3{font-size:1.75rem}.expertise-row p{grid-area:2/2;max-width:100%;padding-right:12px;font-size:.875rem}.expertise-row .circle-arrow{grid-area:1/3/3}.expertise-row .row-number{align-self:start;padding-top:7px;font-size:.625rem}.project-grid,.featured-grid,.related-grid{grid-template-columns:1fr;gap:44px}.featured-grid .project-card:nth-child(2n){margin-top:0}.featured-grid .project-image{aspect-ratio:1.3}.project-card h3{font-size:1.875rem}.project-meta{margin-top:18px;font-size:.625rem}.project-card>p{font-size:.9375rem}.technology-feature{grid-template-columns:1fr}.technology-media{aspect-ratio:1.2;min-height:0}.technology-copy{padding:48px var(--gutter) 56px}.technology-copy h2{font-size:3rem}.technology-copy .lead{font-size:1.3125rem}.technology-copy p{font-size:1rem}.technology-media>span{padding:8px 10px;font-size:.625rem;bottom:16px;left:16px}.technology-secondary{font-size:.8125rem}.stage-controls{grid-template-columns:repeat(3,1fr)}.stage-controls button{border-bottom:1px solid #586174;gap:8px;padding:16px 9px;font-size:1rem}.stage-controls button:nth-child(3){border-right:0}.stage-controls button span{font-size:.5625rem}.stage-controls button:nth-child(n+4){border-bottom:0}.stage-detail{grid-template-columns:44px 1fr;gap:16px;min-height:0}.stage-index{font-size:3rem}.stage-detail h3{font-size:2rem}.stage-detail p,.stage-detail li{font-size:.9375rem}.approach-layout{gap:16px;margin-top:32px}.process-art p{font-size:.5rem}.credibility-grid,.download-layout,.two-col,.project-story{grid-template-columns:1fr;gap:28px}.credibility-grid h2{margin-bottom:0}.client-names{gap:12px 24px}.client-names span{font-size:1.25rem}.download-layout h2 br{display:none}.download-layout p{margin-bottom:0}.download-list>a{gap:16px;padding-block:22px}.download-list strong{font-size:1.125rem}.download-list small{font-size:.625rem}.download-list .file-icon{width:32px;height:44px;font-size:.5625rem}.contact-band{padding-block:56px}.contact-band h2{font-size:2.625rem}.contact-band-row{gap:28px}.site-footer{padding-top:48px}.footer-top{align-items:start;gap:32px;padding-bottom:32px}.footer-brand{width:190px;padding:12px}.footer-top p{font-size:1.1875rem}.footer-grid{gap:32px 24px;padding-block:32px}.footer-grid a,.footer-grid address{overflow-wrap:anywhere;font-size:.75rem}.footer-grid h2{margin-bottom:20px;font-size:.625rem}.footer-bottom{padding-top:20px;font-size:.625rem}.footer-bottom p{line-height:1.8}.page-intro{padding-top:138px;padding-bottom:40px}.page-intro h1{margin-bottom:28px;font-size:3rem}.intro-bottom .lead{font-size:1.1875rem}.service-overview{grid-template-columns:1fr;gap:28px;margin-bottom:48px;padding-bottom:48px}.service-overview:nth-child(2n) .service-overview-image{order:0}.service-overview-image img{aspect-ratio:1.3}.service-overview h2{font-size:2.375rem}.service-overview-copy>svg{display:none}.service-overview .eyebrow{margin-bottom:20px}.service-overview-copy>p:not(.eyebrow){font-size:1rem}.service-hero{padding-top:116px;padding-bottom:48px}.back-link{margin-bottom:28px}.service-hero-grid{gap:32px}.service-hero h1{font-size:3rem}.service-hero .lead{font-size:1.125rem}.service-hero .button{gap:20px;padding:14px 18px;font-size:.8125rem}.service-hero figure img{aspect-ratio:1.3}.service-hero figcaption{font-size:.625rem}.scope-groups{gap:24px;margin-top:36px}.scope-group{grid-template-columns:24px 1fr;gap:16px}.scope-group ul{grid-column:2}.scope-group h3{min-height:0;margin-bottom:0;font-size:1.75rem}.scope-group .row-number{padding-top:6px}.scope-group li{font-size:1rem}.technology-list h3{font-size:1.625rem}.project-index{padding-top:28px}.filters{gap:8px}.filters button{min-height:44px;padding:10px 12px;font-size:.6875rem}.results-count{margin-block:20px 32px}.index-grid .project-image{aspect-ratio:1.35}.project-detail-intro{padding-top:118px;padding-bottom:32px}.project-detail-intro .eyebrow{font-size:.5625rem}.project-detail-intro h1{font-size:2.875rem}.project-detail-meta{gap:20px 32px;margin-top:28px}.project-detail-meta p{max-width:100%;font-size:.875rem}.project-detail-meta span{font-size:.625rem}.project-detail-figure{padding:16px}.project-detail-figure img{max-height:440px}.project-story .lead{font-size:1.25rem}.scope-list{font-size:1rem}.purpose-block p{font-size:1.125rem}.project-gallery{grid-template-columns:1fr;gap:24px;margin-bottom:64px}.project-gallery img{object-fit:contain;background:var(--paper);height:auto;max-height:440px}.about-image{margin-top:28px}.about-image img{aspect-ratio:1.1}.about-image span{max-width:calc(100% - 24px);padding:8px 10px;font-size:.5625rem;bottom:12px;left:12px}.value-rows h3{font-size:1.8125rem}.contact-section{padding-top:40px}.contact-layout{grid-template-columns:1fr;gap:48px}.contact-details h2{font-size:2.375rem}.contact-details h2 br{display:none}.contact-method a{max-width:100%;font-size:1.0625rem}.enquiry-form{margin-inline:-4px;padding:28px 20px}.form-intro{font-size:1.1875rem}.form-grid{grid-template-columns:1fr}.field label{font-size:.8125rem}.field-hint{font-size:.6875rem}.form-actions{gap:20px}.form-actions .button{min-width:220px;font-size:.875rem}.privacy-prose{margin-inline:var(--gutter)}.privacy-prose h2{font-size:1.875rem}.privacy-prose p{font-size:1rem}.not-found{padding-block:150px 72px}.not-found h1{font-size:3rem}.mobile-dialog{padding:24px}.mobile-dialog nav a{font-size:2.125rem}.mobile-dialog-top{margin-bottom:16px;padding-bottom:16px}.mobile-dialog .button{font-size:.875rem}}@media (max-width:360px){:root{--gutter:20px}.site-header{padding:10px 12px;left:12px;right:12px}.brand{width:154px}.menu-toggle{gap:8px;font-size:.75rem}.hero h1{font-size:2.875rem}.hero .eyebrow{letter-spacing:.055em;font-size:.5rem}.hero-copy>p{font-size:.9375rem}.hero-inner{padding-top:134px}.hero-bottom{margin-top:44px}.expertise-strip a{font-size:.625rem}.expertise-strip a:nth-child(odd){margin-right:12px}.expertise-row h3{font-size:1.5625rem}.stage-controls button{gap:6px;font-size:.875rem}.footer-top{display:block}.footer-top p{margin-top:24px}.page-intro h1,.service-hero h1{font-size:2.625rem}.project-detail-intro h1{font-size:2.5rem}.contact-band h2{font-size:2.375rem}.download-list strong{font-size:1rem}.download-list small{font-size:.5625rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.project-link:hover img,.project-link:focus-visible img{transform:none}}.project-detail-figure img{object-fit:contain;height:560px}.project-detail-figure{overflow:hidden}@media (max-width:650px){.project-detail-figure img{height:360px;max-height:none}}.form-fields{border:0;min-width:0;margin:0;padding:0}.contact-layout>*{min-width:0}.contact-details h2,.contact-method a,.contact-details>.text-link{overflow-wrap:anywhere}.contact-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}@media (max-width:900px){.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}@media (max-width:650px){.contact-layout{grid-template-columns:minmax(0,1fr)}}@keyframes hero-settle{0%{transform:translateY(12px)}to{transform:translateY(0)}}.hero-copy{animation:.9s cubic-bezier(.22,1,.36,1) both hero-settle}.engineering-trace{transition:stroke-dashoffset .65s ease-in-out}.engineering-node{transition:fill .2s,stroke .2s}@media (prefers-reduced-motion:reduce){.hero-copy{animation:none}.engineering-trace,.engineering-node{transition:none}}.site-header{background:#f7f9fc;border-color:#ffffffd1;border-radius:16px;box-shadow:0 12px 40px #0b142526,inset 0 1px #ffffffd9}.nav-cta{border-radius:7px;justify-content:center;margin-left:8px;padding-inline:20px}.button{text-align:center;border-radius:6px;justify-content:center;gap:16px}.hero{flex-direction:column;min-height:max(760px,100svh);display:flex}.hero-inner{flex:1;padding-bottom:32px}.hero-actions .button{min-width:220px}.hero .button-secondary{background:#ffffff17;border-color:#ffffff94;box-shadow:inset 0 1px #ffffff26,0 8px 24px #00000012}.hero .button-secondary:hover,.hero .button-secondary:focus-visible{color:var(--ink);background:#fff}.expertise-strip{background:#263351;border-top:1px solid #ffffff40;margin-top:auto;position:relative;box-shadow:inset 0 1px #ffffff0f}.expertise-strip a{text-align:center;justify-content:center;margin-right:0;padding:25px 16px;font-size:.875rem;transition:background .2s}.expertise-strip a:hover,.expertise-strip a:focus-visible{text-underline-offset:5px;background:#ffffff14;text-decoration:underline}.text-link{border-bottom-color:#a4acb9;gap:10px;padding-block:5px;transition:border-color .2s,color .2s}.text-link:hover{color:#35436b;border-bottom-color:currentColor}.hero .text-link:hover,.technology-feature .text-link:hover{color:#fff}.expertise-row{grid-template-columns:64px minmax(200px,1fr) minmax(250px,1fr);gap:28px;padding-block:32px}.expertise-row h3{text-underline-offset:6px;text-decoration-thickness:1px}.expertise-row:hover h3,.expertise-row:focus-visible h3{text-decoration:underline}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:56px 32px}.featured-grid .project-card:nth-child(2n){margin-top:0}.featured-grid .project-image{aspect-ratio:3/2}.project-card{min-width:0}.project-image{border-radius:8px}.project-card h3{max-width:24ch;font-size:1.875rem}.project-link h3{text-underline-offset:5px;text-decoration-thickness:1px}.project-link:hover h3,.project-link:focus-visible h3{text-decoration:underline}.project-card>p{max-width:56ch;font-size:1rem;line-height:1.65}.technology-media>span,.about-image span{background:#152238e8;border:1px solid #ffffff40;border-radius:6px;box-shadow:0 8px 24px #0000001a}.technology-secondary{text-underline-offset:5px;text-decoration:underline;display:table}.stage-controls{border:0;gap:8px}.stage-controls button{background:#ffffff0a;border-radius:7px;justify-content:center;padding:18px 12px;box-shadow:inset 0 1px #ffffff0a;border:1px solid #ffffff38!important}.stage-controls button:hover{box-shadow:none;background:#ffffff16}.stage-controls button[aria-pressed=true]{background:var(--yellow);color:var(--ink);border-color:var(--yellow)!important}.stage-detail{min-height:300px;display:block}.scope-group{display:block}.scope-group h3{min-height:0}.mobile-dialog{background:#f4f6f9;border-left:1px solid #ffffffa6;box-shadow:-24px 0 80px #0b14254d}.mobile-dialog nav a{gap:0}.filters{background:#edf1f5;border:1px solid #d7dfe7;border-radius:12px;padding:8px;box-shadow:inset 0 1px #fff}.filters button{background:#ffffffa8;border:1px solid #ffffffd9;border-radius:7px;box-shadow:0 2px 7px #1423380a}.filters button[aria-pressed=true]{border-color:var(--navy);box-shadow:none}.filters .filter-reset{box-shadow:none;background:0 0}@supports ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.site-header{-webkit-backdrop-filter:blur(20px)saturate(155%);backdrop-filter:blur(20px)saturate(155%);background:#f6f9fdb3}.hero .button-secondary{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.expertise-strip{-webkit-backdrop-filter:blur(16px)saturate(135%);backdrop-filter:blur(16px)saturate(135%);background:#232e4f91}.technology-media>span,.about-image span{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#101c2fb8}.mobile-dialog{-webkit-backdrop-filter:blur(24px)saturate(145%);backdrop-filter:blur(24px)saturate(145%);background:#f5f8fce0}}@media (max-width:1100px){.expertise-row{grid-template-columns:48px minmax(180px,1fr) minmax(220px,1fr);gap:24px}.expertise-strip a{padding-inline:10px;font-size:.75rem}.stage-detail{display:block}}@media (max-width:900px){.expertise-strip a:nth-child(odd){border-right:1px solid #fff2;margin-right:0}.expertise-strip a{font-size:.875rem}.stage-detail{min-height:0}.scope-group{display:block}.scope-group ul{margin-top:20px}.scope-group h3{margin-bottom:20px}.stage-controls button{font-size:1.125rem}}@media (max-width:650px){.site-header{border-radius:12px}.hero{min-height:0}.hero-inner{padding-bottom:24px}.hero-actions .button{min-width:0}.expertise-strip a{padding:18px 8px;font-size:.75rem}.expertise-strip a:nth-child(odd){margin-right:0}.expertise-row{grid-template-columns:1fr;gap:12px;padding-block:28px}.expertise-row p{grid-area:auto;padding:0}.featured-grid{grid-template-columns:1fr;gap:40px}.featured-grid .project-image{aspect-ratio:3/2}.project-card h3{font-size:1.8125rem}.project-card>p{font-size:.9375rem}.stage-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stage-controls button{padding:14px 8px;font-size:1.125rem}.stage-controls button:last-child{grid-column:1/-1}.stage-detail{display:block}.filters{gap:7px;padding:7px}.filters button{padding:10px;font-size:.6875rem}.scope-group ul{margin-top:16px}.mobile-dialog{border-radius:16px 0 0 16px}}@media (max-width:360px){.expertise-strip a{font-size:.6875rem}.expertise-row h3{font-size:1.6875rem}.stage-controls button{font-size:1rem}}
:root{--control-radius:8px;--media-radius:12px}a,button{touch-action:manipulation}.button{border-radius:var(--control-radius)}.project-image,.service-overview-image img,.service-hero figure img,.about-image img{border-radius:var(--media-radius)}.mobile-project-filter,.mobile-project-bar,.scope-accordions,.mobile-project-bar[hidden]{display:none}.menu-icon{flex:none}.menu-close span{font-size:inherit}.menu-close{background:#fff6;border:1px solid #b8c2cf;border-radius:8px;gap:8px;min-width:44px;min-height:44px;padding:10px 12px;font-size:.8125rem}.mobile-dialog:not([open]){display:none}.mobile-dialog[open]{flex-direction:column;display:flex}.mobile-dialog-brand{flex:none;width:174px;max-width:60%;display:block}.mobile-dialog-top{flex:none;gap:20px}.mobile-nav a[aria-current]{color:var(--navy)}.mobile-nav a[aria-current]:after{content:"";background:var(--yellow);width:8px;height:8px;margin-left:auto;box-shadow:0 0 0 1px #9d9605}.mobile-dialog-bottom{margin-top:auto;padding-top:32px}.mobile-dialog-bottom .menu-note{margin-top:0}.contact-intro .intro-bottom{display:block}.contact-intro-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;display:flex}.contact-intro-actions .button{min-height:54px}.contact-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}.contact-details{padding-top:8px}.contact-details h2{font-size:2.5rem}.contact-details h2 br{display:none}.enquiry-form{background:#f3f5f7;border:1px solid #dce2e9;border-radius:16px}.enquiry-form>h2{margin-bottom:20px;font-size:2.125rem}.form-intro{font-size:1.0625rem}.form-intro>span{margin-top:10px;font-size:.8125rem;display:inline-block}.field label{font-size:.9375rem}.field input,.field textarea,.field select{background:#fff;border:1px solid #a2adbb;border-radius:8px;min-height:52px;padding:13px 14px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--navy);outline-offset:2px;border-color:var(--navy)}.field textarea{min-height:148px}.field-hint,.email-explanation,.privacy-note{font-size:.8125rem}.field-hint{margin-bottom:0}.form-status{background:#fff;border:1px solid #c3cddc;border-radius:8px;padding:14px}.form-status:empty{display:none}.scope-accordion summary::-webkit-details-marker{display:none}.scope-accordion summary{list-style:none}@media (max-width:900px){.mobile-dialog{padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overscroll-behavior:contain}.mobile-dialog-top{margin-bottom:20px;padding-bottom:24px}.mobile-nav a{min-height:64px;padding-block:15px;font-size:2.25rem;line-height:1.15}.mobile-dialog-bottom .button{min-height:56px}.menu-note{color:var(--muted);margin-bottom:24px;font-size:1rem;line-height:1.6}.contact-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px}}@media (max-width:650px){:root{--section:60px;--gutter:24px}html{scroll-padding-top:104px;scroll-padding-bottom:112px}body{font-size:1.0625rem;line-height:1.65}h1{letter-spacing:-.025em;font-size:2.5rem;line-height:1.06}h2{font-size:2.125rem;line-height:1.09}h3{font-size:1.75rem;line-height:1.14}p{margin-bottom:22px}.eyebrow{letter-spacing:.1em;margin-bottom:20px;font-size:.75rem;line-height:1.5}.lead{font-size:1.3125rem;line-height:1.55}.site-header{top:calc(12px + env(safe-area-inset-top));border-radius:14px;gap:12px;min-height:64px;padding:9px 12px 9px 16px;left:12px;right:12px;box-shadow:0 8px 30px #0b142520,inset 0 1px #fffc}.site-header .brand{width:166px;max-width:calc(100% - 90px)}.menu-toggle{border-radius:7px;justify-content:center;gap:9px;min-width:70px;min-height:44px;padding:8px;font-size:.8125rem}.menu-toggle:hover,.menu-toggle:focus-visible{background:#ffffff45}.menu-toggle .menu-icon{width:19px;height:19px}.button{min-height:54px;padding:14px 20px;font-size:.9375rem}.button:active{filter:brightness(.95)}.text-link{min-height:44px;font-size:.9375rem}.hero-inner{padding-top:calc(132px + env(safe-area-inset-top));padding-bottom:20px}.hero h1{letter-spacing:-.025em;margin-bottom:24px;font-size:clamp(2.625rem,2rem + 3vw,3.125rem);line-height:1.02}.hero .eyebrow{letter-spacing:.09em;gap:9px;margin-bottom:24px;font-size:.65625rem}.hero .eyebrow:before{flex:none;width:6px;height:6px}.hero-copy>p{max-width:32ch;margin-bottom:28px;font-size:1.0625rem;line-height:1.6}.hero .hero-actions{gap:12px;max-width:none}.hero .button{min-height:54px;padding:14px 18px;font-size:.9375rem}.hero-bottom{justify-content:space-between;align-items:center;gap:20px;margin-top:36px;padding-top:16px;display:flex}.hero-location{display:none}.image-disclosure{max-width:190px;margin:0;font-size:.6875rem;line-height:1.5}.scroll-link{gap:12px;min-height:44px;margin:0;font-size:.75rem}.scroll-link span{font-size:1.25rem}.expertise-strip .wrap{width:100%;padding-inline:var(--gutter)}.expertise-strip a,.expertise-strip a:last-child{min-height:64px;padding:16px 10px;font-size:.8125rem;line-height:1.4}.expertise-strip a:nth-child(odd){border-right:1px solid #ffffff26}.intro-grid{gap:8px}.intro-columns{gap:0;margin-top:24px}.intro-columns .lead{font-size:1.375rem}.intro-columns p:not(.lead){font-size:1.0625rem}.section-heading{margin-bottom:32px}.section-heading>.text-link{margin-top:16px;font-size:.9375rem}.expertise-row{gap:12px;padding-block:28px}.expertise-row h3{font-size:1.8125rem}.expertise-row p{max-width:35ch;font-size:1rem;line-height:1.6}.project-grid,.featured-grid,.related-grid{gap:40px}.project-image{border-radius:12px}.project-meta{letter-spacing:.035em;gap:8px 16px;margin:16px 0 10px;font-size:.71875rem;line-height:1.5}.project-card h3{max-width:none;margin-bottom:14px;font-size:1.8125rem;line-height:1.13}.project-card>p,.related-grid .project-card>p{font-size:1.0625rem;line-height:1.6}.technology-media{aspect-ratio:1.5}.technology-media>span,.about-image span{max-width:calc(100% - 32px);padding:9px 12px;font-size:.6875rem;line-height:1.5;bottom:16px;left:16px}.technology-copy{padding:40px var(--gutter) 48px}.technology-copy h2{font-size:2.25rem}.technology-copy .eyebrow{font-size:.6875rem}.technology-copy p{font-size:1.0625rem}.technology-copy .text-link{font-size:.9375rem}.technology-secondary{min-height:44px;margin-top:12px;padding-block:10px;font-size:.875rem}.approach .section-heading>p{max-width:36ch;font-size:1.0625rem;line-height:1.65}.stage-controls{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:8px}.stage-controls button{border-radius:8px;min-height:52px;padding:13px 10px;font:500 1.0625rem/1.4 Plex,Arial,sans-serif}.approach-layout{flex-direction:column;align-items:stretch;gap:24px;margin-top:24px;display:flex}.process-art{order:-1;width:100%;max-width:420px;margin:0 auto}.process-art svg{max-height:180px}.process-art svg text{display:none}.process-art p{letter-spacing:.08em;margin-top:4px;font-size:.625rem;line-height:1.5}.stage-detail h3{margin-bottom:16px;font-size:2rem}.stage-detail p,.stage-detail li{font-size:1.0625rem;line-height:1.65}.stage-detail li{margin-block:10px}.client-names{gap:12px 24px}.client-names span{font-size:1.375rem}.credibility-grid>div>p:not(.lead){font-size:1.0625rem}.download-layout{gap:24px}.download-layout>div>p:not(.eyebrow){font-size:1.0625rem}.download-list>a{gap:16px;min-height:96px;padding-block:22px}.download-list strong{font-size:1.1875rem}.download-list small{font-size:.75rem;line-height:1.6;display:block}.download-list .file-icon{border-radius:3px;flex:none;width:36px;height:46px;font-size:.625rem}.contact-band{padding-block:52px}.contact-band h2{max-width:15ch;font-size:2.25rem}.contact-band-row{gap:24px}.contact-band .button{width:100%;margin:0}.page-intro{padding-top:calc(124px + env(safe-area-inset-top));padding-bottom:32px}.page-intro .eyebrow{margin-bottom:18px}.page-intro h1{margin-bottom:22px;font-size:2.5rem;line-height:1.06}.intro-bottom{display:block}.intro-bottom .lead{max-width:36ch;font-size:1.125rem;line-height:1.6}.project-index{padding-top:24px}.desktop-project-filters{display:none}.mobile-project-filter{background:#edf1f5;border:1px solid #d7dfe7;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px;display:grid;box-shadow:inset 0 1px #fff}.mobile-project-filter label{grid-area:1/1;align-self:center;font-size:.8125rem;font-weight:500;line-height:1.5}.mobile-project-filter select{background:#fff;border:1px solid #aeb9c7;border-radius:7px;grid-area:2/1/auto/-1;width:100%;min-width:0;min-height:52px;padding:12px 36px 12px 12px;font-size:1rem;line-height:1.5}.mobile-filter-reset{text-underline-offset:4px;background:0 0;border:0;grid-area:1/2;align-self:center;min-height:44px;margin-block:-10px;padding:8px 0 8px 8px;font-size:.8125rem;text-decoration:underline}.results-count{margin-block:16px 24px;font-size:.8125rem;line-height:1.5}.index-grid .project-image{aspect-ratio:3/2}.service-overview{gap:24px;margin-bottom:40px;padding-bottom:40px}.service-overview-image img{aspect-ratio:3/2}.service-overview h2{font-size:2.125rem}.service-overview-copy>p:not(.eyebrow){font-size:1.0625rem}.service-overview .inline-list{gap:8px 16px;font-size:.8125rem}.service-overview .text-link{font-size:.9375rem}.service-hero{padding-top:calc(116px + env(safe-area-inset-top));padding-bottom:48px}.back-link{margin-bottom:24px;font-size:.875rem}.service-hero h1{margin-bottom:24px;font-size:2.5rem;line-height:1.06}.service-hero .lead{margin-bottom:28px;font-size:1.125rem;line-height:1.6}.service-hero .button{max-width:100%;min-height:54px;font-size:.9375rem}.service-hero-grid{gap:32px}.service-hero figure img{aspect-ratio:3/2;object-position:center}.service-hero figcaption,.project-detail-figure figcaption{margin-top:12px;font-size:.75rem;line-height:1.5}.two-col{gap:24px}.two-col h2{margin-bottom:0}.two-col .lead{font-size:1.3125rem}.scope-grid{display:none}.scope-accordions{border-bottom:1px solid #bbc4cf;margin-top:28px;display:block}.scope-accordion{border-top:1px solid #bbc4cf}.scope-accordion summary{cursor:pointer;min-height:72px;color:var(--navy);justify-content:space-between;align-items:center;gap:20px;padding-block:20px;display:flex}.scope-accordion summary h3{margin:0;font-size:1.5625rem;line-height:1.16}.scope-accordion summary svg{flex:none}.scope-accordion[open] .scope-plus{display:none}.scope-accordion[open] summary{padding-bottom:16px}.scope-accordion-content{padding-bottom:20px}.scope-accordion-content ul{margin:0;padding-left:19px}.scope-accordion-content li{color:var(--muted);margin-block:10px;padding-left:3px;font-size:1.0625rem;line-height:1.65}.technology-list h3{font-size:1.75rem}.technology-list p{font-size:1.0625rem;line-height:1.65}.related-grid .project-image{aspect-ratio:3/2}.related-grid h3{font-size:1.8125rem}.project-detail-intro{padding-top:calc(116px + env(safe-area-inset-top));padding-bottom:32px}.project-detail-intro h1{font-size:2.5rem;line-height:1.06}.project-detail-intro .eyebrow{letter-spacing:.05em;font-size:.6875rem}.project-detail-meta{gap:20px 32px;margin-top:24px}.project-detail-meta p{font-size:.9375rem;line-height:1.6}.project-detail-meta span{font-size:.75rem}.project-detail-figure{border-radius:12px;padding:16px}.project-detail-figure img{border-radius:6px;height:clamp(240px,80vw,380px)}.project-story .lead{font-size:1.3125rem}.scope-list,.project-technology p{font-size:1.0625rem;line-height:1.65}.about-image{margin-top:32px}.about-image img{aspect-ratio:3/2}.value-rows span{margin-bottom:16px;font-size:.875rem}.value-rows h3{font-size:1.8125rem}.value-rows p{font-size:1.0625rem}.contact-intro{padding-bottom:28px}.contact-intro-actions{gap:14px 20px;margin-top:24px}.contact-intro-actions .button{min-height:52px;padding-inline:16px;font-size:.875rem}.contact-intro-actions .text-link{font-size:.875rem}.contact-section{padding-top:32px}.contact-layout{grid-template-columns:minmax(0,1fr);gap:48px}.enquiry-form{border-radius:12px;margin:0;padding:24px 20px}.enquiry-form>h2{margin-bottom:18px;font-size:1.875rem}.form-intro{margin-bottom:24px;font-size:1.0625rem;line-height:1.6}.form-intro>span{margin-top:8px;font-size:.8125rem;line-height:1.5}.field{margin-bottom:22px}.field label{margin-bottom:8px;font-size:.9375rem;line-height:1.5}.field label span{font-size:.8125rem}.field input,.field textarea,.field select{min-height:52px;padding:13px 12px;font-size:1rem;line-height:1.5}.email-explanation,.privacy-note,.field-hint{font-size:.8125rem;line-height:1.65}.form-actions{gap:16px}.form-actions .button{width:100%;min-width:0;min-height:54px;font-size:.9375rem}.copy-button{min-height:44px;font-size:.9375rem}.contact-details{padding:0}.contact-details h2{margin-bottom:28px;font-size:2rem;line-height:1.15}.contact-method{margin-bottom:28px}.contact-method h3{margin-bottom:10px;font-size:.8125rem}.contact-method a{max-width:none;min-height:48px;font-size:1.0625rem;line-height:1.5}.contact-method address{font-size:1rem;line-height:1.65}.site-footer{padding-top:44px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.footer-top{padding-bottom:28px;display:block}.footer-brand{border-radius:8px;width:210px;padding:12px 16px}.footer-top p{margin-top:24px;font-size:1.4375rem}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 24px;padding-block:32px}.footer-grid>div:nth-child(3),.footer-grid>div:nth-child(4){grid-column:1/-1}.footer-grid>div:nth-child(3){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px;display:grid}.footer-grid>div:nth-child(3) h2{grid-column:1/-1}.footer-grid h2{letter-spacing:.09em;margin-bottom:12px;font-size:.75rem}.footer-grid a{overflow-wrap:anywhere;align-items:center;min-height:44px;margin:0;padding-block:8px;font-size:.875rem;line-height:1.5;display:flex}.footer-grid address{margin:0;font-size:.9375rem;line-height:1.65}.footer-bottom{gap:8px 24px;padding-top:20px;font-size:.75rem}.footer-bottom p{line-height:1.65}.footer-bottom a{min-height:44px}.privacy-prose p{font-size:1.0625rem;line-height:1.7}.privacy-prose h2{font-size:1.875rem;line-height:1.15}.not-found h1{font-size:2.5rem}.mobile-project-bar:not([hidden]){z-index:25;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));background:#f5f8fc;border:1px solid #ffffffd9;border-radius:15px;padding:6px;animation:.22s ease-out both project-action-arrive;display:block;position:fixed;box-shadow:0 8px 36px #10182730,inset 0 1px #fff}.mobile-project-link{background:var(--navy);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:13px 16px;font-size:.9375rem;font-weight:500;line-height:1.5;display:flex}.mobile-project-icon{flex:none}body:has(.mobile-project-bar) .site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}@supports ((-webkit-backdrop-filter:blur(16px)) or (backdrop-filter:blur(16px))){.mobile-project-bar:not([hidden]){-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);background:#f5f8fcd6}}}@media (max-width:360px){:root{--gutter:20px}.site-header .brand{width:150px}.site-header{padding-left:12px}.hero .eyebrow{letter-spacing:.07em;font-size:.625rem}.hero h1{font-size:2.625rem}.expertise-strip a,.expertise-strip a:last-child{padding-inline:8px;font-size:.75rem}.page-intro h1,.service-hero h1,.project-detail-intro h1{font-size:2.375rem}.image-disclosure{font-size:.65625rem}.mobile-dialog-brand{width:150px}.contact-intro-actions{gap:12px}.contact-intro-actions .button{padding-inline:12px}.footer-grid{column-gap:20px}}@media (max-height:500px) and (max-width:900px){.mobile-dialog-top{margin-bottom:8px;padding-bottom:16px}.mobile-nav a{min-height:52px;padding-block:10px;font-size:1.75rem}.mobile-dialog-bottom{padding-top:24px}}@keyframes project-action-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.mobile-project-bar:not([hidden]){animation:none}}:focus-visible{scroll-margin-top:110px;scroll-margin-bottom:110px}@media (max-width:650px){.mobile-project-bar:has(:focus-visible){outline-offset:3px}.scope-accordion summary:focus-visible{outline-offset:5px;border-radius:4px}}@media (max-width:900px){:root{--gutter:max(40px,env(safe-area-inset-left),env(safe-area-inset-right))}.site-header{left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right))}}@media (max-width:650px){:root{--gutter:max(24px,env(safe-area-inset-left),env(safe-area-inset-right))}.site-header{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}.mobile-project-bar:not([hidden]){left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}}@media (max-width:360px){:root{--gutter:max(20px,env(safe-area-inset-left),env(safe-area-inset-right))}}@media (max-width:650px){.hero-copy>.eyebrow{letter-spacing:.075em;max-width:none;font-size:.6875rem;line-height:1.5}}@media (max-width:360px){.hero-copy>.eyebrow{letter-spacing:.06em;font-size:.625rem}}.field input,.field textarea,.field select,.filters button:not([aria-pressed=true]){border-color:#7d899b}@media (max-width:650px){.field input,.field textarea,.field select,.mobile-project-filter select{border-color:#7d899b}}
.inner-page-intro{isolation:isolate;background:linear-gradient(125deg,#f4f7f9 0%,#e8eef2 100%);border:1px solid #e0e6ec;border-radius:24px;margin-top:150px;padding:48px clamp(28px,4vw,64px);position:relative;overflow:hidden}.inner-page-intro:before{content:"";z-index:-1;pointer-events:none;border:1px solid #d2dce5;width:240px;height:240px;position:absolute;top:-90px;right:-54px;transform:rotate(35deg)}.inner-page-intro:after{content:"";z-index:-1;background:var(--yellow);pointer-events:none;width:7px;height:58px;position:absolute;top:0;right:42px;transform:skew(-26deg)}.inner-page-intro h1{max-width:19ch;margin-bottom:24px;font-size:clamp(2.5rem,2rem + 2.2vw,4rem)}.inner-page-intro .eyebrow{color:#3c4c65;margin-bottom:22px}.inner-page-intro .lead{color:#465366;max-width:61ch;font-size:1.1875rem;line-height:1.65}.inner-intro-copy{z-index:1;min-width:0;position:relative}.intro-with-image{grid-template-columns:1.2fr .8fr;align-items:center;gap:48px;display:grid;overflow:visible}.intro-with-image:before{display:none}.intro-with-image:after{right:calc(40% + 20px)}.inner-intro-media{border-radius:16px;align-self:stretch;min-width:0;min-height:280px;position:relative;overflow:hidden;box-shadow:0 12px 30px #15243812}.inner-intro-media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.inner-intro-media figcaption{letter-spacing:.04em;color:#fff;background:#172941;border:1px solid #ffffff42;border-radius:9px;padding:13px 16px;font-size:.6875rem;line-height:1.6;position:absolute;bottom:14px;left:14px;right:14px}.interior-page .section{padding-block:88px}.interior-page .eyebrow{gap:12px}.interior-page .section h2{font-size:clamp(2.125rem,1.6rem + 1.6vw,3rem)}.interior-page .two-col,.interior-page .project-story{gap:clamp(40px,6vw,88px)}.interior-page .paper{background:linear-gradient(125deg,#f3f5f6,#e9eef1)}.interior-page .expertise-overview{padding-top:64px}.interior-page .service-overview{border:0;grid-template-columns:1.04fr .96fr;align-items:center;gap:0;margin-bottom:64px;padding:0;position:relative}.interior-page .service-overview:last-child{margin-bottom:0}.interior-page .service-overview-image{background:#e7edf1;border-radius:18px;min-width:0;overflow:hidden}.interior-page .service-overview-image img{aspect-ratio:1.17;border-radius:0;transition:transform .45s}.interior-page .service-overview-copy{z-index:1;background:#f0f4f6;border:1px solid #fff;border-radius:16px;margin:24px 0 24px -36px;padding:32px 36px;position:relative;box-shadow:0 16px 40px #19283b10,inset 0 1px #fff}.interior-page .service-overview:nth-child(2n) .service-overview-copy{margin-left:0;margin-right:-36px}.interior-page .service-overview-copy>.eyebrow{margin-bottom:18px;font-size:.6875rem}.interior-page .service-overview-copy>svg{opacity:.75;width:32px;height:32px;position:absolute;top:26px;right:28px}.interior-page .service-overview h2{max-width:15ch;font-size:clamp(2rem,1.5rem + 1.4vw,2.75rem)}.interior-page .service-overview-copy>p:not(.eyebrow){color:#425168;font-size:1rem;line-height:1.7}.interior-page .inline-list{gap:8px 14px;font-size:.75rem;line-height:1.5}.interior-page .inline-list li{border-color:#a8b6c5}.interior-page .service-hero{margin-top:148px;padding:0 0 64px}.interior-page .back-link{color:#43516a;margin-bottom:28px;font-size:.8125rem}.interior-page .service-hero-grid{background:linear-gradient(125deg,#f4f7f9,#e8eef2);border:1px solid #dce4ec;border-radius:24px;align-items:stretch;gap:36px;padding:36px;position:relative}.interior-page .service-hero-grid>div{align-self:center;min-width:0;padding:10px 0 10px 8px}.interior-page .service-hero h1{font-size:clamp(2.5rem,1.8rem + 2.2vw,4rem)}.interior-page .service-hero .lead{color:#465366;font-size:1.125rem;line-height:1.7}.interior-page .service-hero figure{flex-direction:column;min-width:0;display:flex;position:relative}.interior-page .service-hero figure img{object-fit:cover;border-radius:14px;height:100%;min-height:340px;max-height:520px}.interior-page .service-hero figcaption{color:#28384d;background:#edf2f6;border:1px solid #ffffff65;border-radius:8px;margin:0;padding:12px 14px;font-size:.6875rem;position:absolute;bottom:14px;left:14px;right:14px}.interior-page .scope-groups{gap:20px;margin-top:40px}.interior-page .scope-group{background:linear-gradient(145deg,#f6f8fa,#edf2f5);border:1px solid #d6dfe8;border-radius:14px;padding:28px;box-shadow:inset 0 1px #fff}.interior-page .scope-group h3{min-height:0;margin-top:0;font-size:1.625rem;line-height:1.15}.interior-page .scope-group li{color:#465366;font-size:1rem}.interior-page .tools-section{color:#fff;background:#17263b;position:relative;overflow:hidden}.interior-page .tools-section:before{content:"";border:1px solid #5d6d8140;width:280px;height:280px;position:absolute;top:-50px;right:-60px;transform:rotate(35deg)}.interior-page .technology-list>div{border-color:#ffffff2e}.interior-page .technology-list p{color:#d5dfec;font-size:1rem;line-height:1.7}.interior-page .technology-list h3{font-size:1.625rem}.interior-page .project-index{padding-top:40px}.interior-page .filters{background:linear-gradient(115deg,#f5f7f9,#eaf0f4);border:1px solid #d9e2eb;border-radius:16px;gap:8px;padding:12px}.interior-page .filters button{border-radius:9px;font-size:.8125rem}.interior-page .filters .filter-reset{background:0 0}.interior-page .results-count{margin-block:24px 32px;font-size:.8125rem}.interior-page .index-grid{gap:48px 32px}.interior-page .related-grid{gap:32px;margin-top:36px}.interior-page .project-card{min-width:0}.interior-page .project-link{display:block}.interior-page .project-image{background:#e8edf2;border-radius:14px;overflow:hidden;aspect-ratio:3/2!important}.interior-page .project-image img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.interior-page .project-link:hover .project-image img{transform:scale(1.025)}.interior-page .project-caption{background:#f1f5f7;border:1px solid #fff;border-radius:12px;min-width:0;margin:-42px 14px 0;padding:20px 22px 22px;position:relative;box-shadow:0 8px 24px #14253a0d}.interior-page .project-meta{color:#3c4c63;flex-wrap:wrap;gap:6px 14px;margin:0 0 12px;font-size:.6875rem;line-height:1.5}.interior-page .project-card h3{color:#15243b;margin:0;font-size:1.6875rem;line-height:1.14}.interior-page .project-card>p{color:#4a5669;margin:20px 16px 0;font-size:1rem;line-height:1.7}.interior-page .project-link:focus-visible{outline:3px solid var(--navy);outline-offset:6px;border-radius:16px}.interior-page .project-detail-intro{margin-top:148px;padding:0 0 40px}.interior-page .project-detail-intro h1{max-width:22ch;font-size:clamp(2.5rem,2rem + 2.2vw,4rem)}.interior-page .project-detail-meta{background:linear-gradient(115deg,#f2f6f8,#e9eff4);border:1px solid #dce4eb;border-radius:14px;gap:20px 48px;margin-top:32px;padding:22px 28px}.interior-page .project-detail-meta span{color:#536076;font-size:.6875rem}.interior-page .project-detail-meta p{font-size:.9375rem}.interior-page .project-detail-figure{background:linear-gradient(120deg,#edf2f5,#e5ecf1);border:1px solid #d6e0e8;border-radius:18px;padding:24px}.interior-page .project-detail-figure img{object-fit:contain;border-radius:8px;height:min(58vw,620px);max-height:620px}.interior-page .project-detail-figure figcaption{color:#4b5a70;font-size:.75rem}.interior-page .scope-list li{border-bottom:1px solid #dce3ea;padding-block:4px 14px;line-height:1.7}.interior-page .purpose-block{border:1px solid #dce4eb;border-left:4px solid var(--yellow);background:#f3f6f8;border-radius:0 12px 12px 0;padding:24px}.interior-page .purpose-block p{margin:0;font-size:1.0625rem;line-height:1.7}.interior-page .project-gallery{gap:24px;margin-bottom:64px}.interior-page .project-gallery img{object-fit:contain;background:#eef2f5;border-radius:14px}.interior-page .about-image{border-radius:18px;margin-top:36px;overflow:hidden}.interior-page .about-image img{aspect-ratio:2.6;border-radius:0}.interior-page .about-image span{background:#1a2b43;border:1px solid #ffffff50;border-radius:9px;max-width:calc(100% - 48px);padding:14px 20px;font-size:.75rem;bottom:24px;left:24px}.interior-page .value-rows>div{background:#f7f9fa;border:1px solid #d3dde6;border-radius:14px;margin-bottom:20px;padding:28px}.interior-page .value-rows>div:last-child{margin:0}.interior-page .value-rows span{color:#45566c;margin-bottom:16px;font-size:.75rem}.interior-page .value-rows h3{font-size:1.875rem}.interior-page .value-rows p{margin:0}.interior-page .downloads{background:linear-gradient(115deg,#eef3f6,#e1e8ed)}.interior-page .download-list>a{background:#f7f9fa;border:1px solid #fff;border-radius:12px;margin-bottom:12px;padding:24px;box-shadow:inset 0 1px #fff}.interior-page .download-list>a:last-child{margin-bottom:0}.interior-page .download-list strong{font-size:1.3125rem}.interior-contact-band{isolation:isolate;background:#edf2f5;border-top:1px solid #dce4eb;padding-block:64px;position:relative;overflow:hidden}.interior-contact-band:before{content:"";z-index:-1;background:var(--yellow);opacity:.7;width:290px;height:420px;position:absolute;top:-110px;right:5%;transform:rotate(30deg)}.interior-contact-band .wrap,.interior-contact-band .contact-band-row{position:relative}.interior-contact-band h2{max-width:19ch;font-size:clamp(2.125rem,1.6rem + 1.6vw,3rem)}.interior-page .privacy-prose{border-left:1px solid #d9e2eb;max-width:800px;padding-left:40px}.interior-page .privacy-prose h2{font-size:1.75rem}.interior-page .privacy-prose p{font-size:1.0625rem;line-height:1.8}.not-found.inner-page-intro{min-height:0;margin-bottom:88px;padding-block:64px}@supports ((-webkit-backdrop-filter:blur(18px)) or (backdrop-filter:blur(18px))){.inner-intro-media figcaption,.interior-page .about-image span{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(120deg,#ffffff0d,#fff0),#122339d1}.interior-page .project-caption,.interior-page .service-overview-copy,.interior-page .service-hero figcaption{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(125deg,#ffffff50,#ffffff0a),#eef3f5d1}}@media (max-width:1100px){.intro-with-image{grid-template-columns:1.1fr .9fr;gap:28px}.inner-page-intro{padding:36px}.interior-page .service-overview-copy{margin-left:-20px;padding:28px}.interior-page .service-overview:nth-child(2n) .service-overview-copy{margin-right:-20px}.interior-page .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.interior-page .scope-group{padding:22px}.interior-page .service-hero-grid{gap:28px;padding:28px}}@media (max-width:900px){.inner-page-intro{margin-top:130px}.inner-page-intro h1{font-size:clamp(2.5rem,2rem + 2vw,3.5rem)}.interior-page .service-hero,.interior-page .project-detail-intro{margin-top:130px}.interior-page .service-hero-grid{grid-template-columns:1fr 1fr}.interior-page .service-hero figure img{min-height:300px}.interior-page .scope-groups,.interior-page .service-overview{grid-template-columns:1fr 1fr}.interior-page .service-overview-copy{padding:28px 24px}.interior-page .service-overview-copy>svg{display:none}.interior-page .section{padding-block:72px}.interior-page .index-grid{gap:40px 24px}}@media (max-width:650px){.inner-page-intro{margin-top:calc(104px + env(safe-area-inset-top));border-radius:18px;padding:28px 24px 30px}.inner-page-intro:after{width:5px;height:32px;right:28px}.inner-page-intro:before{width:170px;height:170px;top:-90px;right:-75px}.inner-page-intro h1{margin-bottom:20px;font-size:2.5rem;line-height:1.06}.inner-page-intro .eyebrow{letter-spacing:.09em;margin-bottom:18px;font-size:.6875rem}.inner-page-intro .lead{max-width:none;font-size:1.0625rem;line-height:1.65}.intro-with-image{flex-direction:column;gap:24px;display:flex}.intro-with-image:after{right:28px}.inner-intro-media{aspect-ratio:1.8;border-radius:11px;width:100%;min-height:0}.inner-intro-media figcaption{border-radius:7px;padding:10px 12px;font-size:.625rem;bottom:10px;left:10px;right:10px}.interior-page .section{padding-block:56px}.interior-page .section h2{font-size:2.125rem;line-height:1.1}.interior-page .two-col,.interior-page .project-story{grid-template-columns:minmax(0,1fr);gap:28px}.interior-page .expertise-overview{padding-top:36px}.interior-page .service-overview{flex-direction:column;align-items:stretch;margin-bottom:36px;display:flex}.interior-page .service-overview:nth-child(2n) .service-overview-image{order:0}.interior-page .service-overview-image{border-radius:14px}.interior-page .service-overview-image img{aspect-ratio:1.65}.interior-page .service-overview-copy,.interior-page .service-overview:nth-child(2n) .service-overview-copy{border-radius:12px;margin:-28px 10px 0;padding:24px 20px}.interior-page .service-overview-copy>.eyebrow{margin-bottom:14px;font-size:.625rem}.interior-page .service-overview h2{max-width:none;margin-bottom:18px;font-size:1.9375rem;line-height:1.12}.interior-page .service-overview-copy>p:not(.eyebrow){font-size:1rem;line-height:1.7}.interior-page .inline-list{margin-block:20px;font-size:.75rem;line-height:1.55}.interior-page .service-hero{margin-top:calc(104px + env(safe-area-inset-top));padding-bottom:36px}.interior-page .service-hero-grid{border-radius:18px;flex-direction:column;gap:28px;padding:24px;display:flex}.interior-page .service-hero-grid>div{padding:0}.interior-page .service-hero h1{margin-bottom:20px;font-size:2.375rem;line-height:1.08}.interior-page .service-hero .lead{margin-bottom:24px;font-size:1.0625rem;line-height:1.65}.interior-page .service-hero figure img{aspect-ratio:3/2;border-radius:10px;height:240px;min-height:0;max-height:none}.interior-page .service-hero figcaption{padding:10px;font-size:.625rem;bottom:10px;left:10px;right:10px}.interior-page .back-link{margin-bottom:20px;font-size:.8125rem}.interior-page .scope-accordions{margin-top:24px}.interior-page .scope-accordion{border-color:#c2ceda}.interior-page .scope-accordion summary{min-height:72px;padding:20px 0}.interior-page .scope-accordion summary h3{font-size:1.5rem;line-height:1.2}.interior-page .scope-accordion-content li{font-size:1rem}.interior-page .technology-list h3{font-size:1.625rem}.interior-page .technology-list p{font-size:1rem}.interior-page .tools-section:before{width:200px;height:200px;right:-110px}.interior-page .mobile-project-filter{background:linear-gradient(120deg,#f4f7f9,#e8eff4);border-radius:13px;padding:16px}.interior-page .index-grid,.interior-page .related-grid{grid-template-columns:minmax(0,1fr);gap:36px}.interior-page .project-caption{border-radius:11px;margin:-32px 10px 0;padding:18px 18px 20px}.interior-page .project-card h3{font-size:1.75rem;line-height:1.14}.interior-page .project-meta{margin-bottom:10px;font-size:.6875rem;line-height:1.5}.interior-page .project-card>p{margin:18px 12px 0;font-size:1rem;line-height:1.7}.interior-page .project-detail-intro{margin-top:calc(104px + env(safe-area-inset-top));padding-bottom:28px}.interior-page .project-detail-intro h1{font-size:2.375rem;line-height:1.08}.interior-page .project-detail-meta{border-radius:12px;gap:20px 28px;margin-top:24px;padding:20px}.interior-page .project-detail-meta p{max-width:100%;font-size:.875rem}.interior-page .project-detail-figure{border-radius:12px;padding:14px}.interior-page .project-detail-figure img{border-radius:6px;height:clamp(220px,75vw,380px)}.interior-page .project-detail-figure figcaption{font-size:.6875rem}.interior-page .project-story .lead{font-size:1.1875rem;line-height:1.7}.interior-page .scope-list{font-size:1rem}.interior-page .purpose-block{padding:20px}.interior-page .purpose-block p{font-size:1rem}.interior-page .project-gallery{grid-template-columns:1fr;gap:20px;margin-bottom:48px}.interior-page .project-gallery img{object-fit:contain;height:auto;max-height:440px}.interior-page .about-image{border-radius:13px;margin-top:24px}.interior-page .about-image img{aspect-ratio:1.45}.interior-page .about-image span{max-width:calc(100% - 24px);padding:11px 14px;font-size:.625rem;bottom:12px;left:12px}.interior-page .value-rows>div{margin-bottom:16px;padding:24px}.interior-page .value-rows h3{font-size:1.75rem}.interior-page .value-rows p{font-size:1rem}.interior-page .download-list>a{border-radius:11px;padding:20px 16px}.interior-page .download-list strong{font-size:1.1875rem}.interior-contact-band{padding-block:52px}.interior-contact-band:before{opacity:.5;width:170px;height:330px;top:-50px;right:-60px}.interior-contact-band h2{font-size:2.125rem}.interior-contact-band .button{justify-content:center;width:100%}.interior-page .privacy-prose{max-width:calc(100% - var(--gutter)*2);margin-inline:auto;padding-left:20px}.interior-page .privacy-prose h2{font-size:1.625rem}.interior-page .privacy-prose p{font-size:1rem;line-height:1.8}.not-found.inner-page-intro{margin-bottom:56px;padding:32px 24px}.not-found.inner-page-intro h1{font-size:2.375rem}}@media (max-width:360px){.inner-page-intro{padding:24px 20px}.inner-page-intro h1{font-size:2.375rem}.interior-page .service-hero-grid{padding:20px}.interior-page .service-overview-copy{padding:24px 18px}.interior-page .project-caption{margin-inline:8px;padding-inline:16px}.interior-page .project-card h3{font-size:1.625rem}}@media (prefers-reduced-motion:reduce){.interior-page .project-image img,.interior-page .service-overview-image img{transition:none}.interior-page .project-link:hover .project-image img{transform:none}}@media (prefers-reduced-transparency:reduce){.inner-intro-media figcaption,.interior-page .about-image span{-webkit-backdrop-filter:none;backdrop-filter:none;background:#172941}.interior-page .project-caption,.interior-page .service-overview-copy,.interior-page .service-hero figcaption{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f0f4f6}}@media (forced-colors:active){.inner-page-intro,.interior-page .service-hero-grid,.interior-page .project-caption,.interior-page .service-overview-copy,.interior-page .scope-group,.interior-page .purpose-block{color:canvastext;box-shadow:none;background:canvas;border:1px solid canvastext}.inner-page-intro:before,.inner-page-intro:after,.interior-contact-band:before{display:none}}.interior-page .scope-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.interior-page .scope-group{min-width:0}.interior-page .scope-group li{overflow-wrap:anywhere}@media (max-width:900px){.interior-page .scope-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.projects-page .inner-intro-media{display:none}.projects-page .inner-page-intro{gap:0}}
