:root{--ink:#0b2034;--navy:#071d30;--blue:#0075bc;--cyan:#54d3fc;--paper:#fff;--wash:#f1f6fa;--muted:#526477;--line:#d9e2e9;--radius:8px;--max:1240px;color-scheme:light;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}a,button{cursor:pointer}img{display:block;max-width:100%;height:auto}p{font-size:1.0625rem;line-height:1.75;margin:0 0 1.4rem}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.04em;line-height:1.08}h1{font-size:clamp(2.7rem,5.7vw,5.5rem)}h2{font-size:clamp(2.2rem,4vw,3.5rem)}h3{font-size:1.55rem;line-height:1.2}ul{padding-left:1.2rem;line-height:1.8}::selection{background:var(--cyan);color:var(--navy)}:focus-visible{outline:3px solid var(--blue);outline-offset:6px}html{scroll-behavior:smooth;scroll-padding-top:110px}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.section{padding:100px 0}.eyebrow{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:24px}.muted{color:var(--muted)}.small{font-size:.9rem}.skip{position:fixed;top:-100px;left:16px;padding:14px;background:white;z-index:100}.skip:focus{top:12px}.arrow{display:inline-block;line-height:1;font-size:1.5rem;font-weight:400;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:15px 22px;border:1px solid transparent;border-radius:4px;font-size:1rem;font-weight:600;background:var(--blue);color:#fff;transition:background .18s}.btn:hover{background:#005f9a}.btn.light{background:var(--cyan);color:var(--navy)}.btn.light:hover{background:#95e4ff}.btn.outline{border-color:#708190;background:transparent;color:inherit}.btn.outline:hover{background:#ffffff10}.text-link{font-size:1rem;font-weight:600;display:inline-flex;align-items:center;gap:18px;padding:12px 0}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.button-row{display:flex;gap:24px;flex-wrap:wrap;align-items:center}.site-header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{min-height:86px;display:flex;gap:36px;align-items:center}.brand{display:flex;gap:11px;align-items:center;flex-shrink:0}.brand img{width:52px;height:39px;object-fit:contain}.brand span{font-size:1.6rem;font-weight:700;letter-spacing:-.06em}.desktop-nav{display:flex;gap:27px;align-items:center;margin-left:auto;font-size:.9rem}.desktop-nav a{padding:12px 0}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--blue)}.header-cta{font-size:.9rem;min-height:44px;padding:12px 17px;gap:18px}.mobile-nav{display:none;margin-left:auto}.mobile-nav summary{font-size:.9rem;font-weight:700;list-style:none;padding:15px;border:1px solid var(--line);border-radius:4px;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;left:0;right:0;top:100%;background:white;padding:20px 32px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #071d3010}.mobile-nav nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line)}
.hero{background:var(--navy);color:white;padding:82px 0 0;overflow:hidden}.hero .eyebrow{color:var(--cyan)}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;padding-bottom:70px;align-items:center}.hero h1{max-width:790px}.hero h1 em{font-style:normal;color:var(--cyan)}.hero .intro{color:#c4d4e0;max-width:600px;font-size:1.14rem;line-height:1.7;margin:30px 0}.hero-panel{padding:30px;border:1px solid #3b5265;background:#0e2a40;border-radius:var(--radius);margin-top:25px;position:relative}.panel-top{display:flex;justify-content:space-between;gap:14px;font-size:.8rem;color:#bdd0e0;padding-bottom:26px}.panel-top span:first-child{letter-spacing:.12em;text-transform:uppercase}.panel-top b{font-weight:400;color:var(--cyan)}.diagram-stage{padding:20px 0;border-top:1px solid #3b5265;display:flex;gap:20px;align-items:flex-start}.diagram-stage .number{color:var(--cyan);font-size:.8rem;margin-top:4px}.diagram-stage h3{font-size:1.2rem;letter-spacing:-.02em;margin-bottom:6px}.diagram-stage p{color:#b9cedf;font-size:.92rem;margin:0;line-height:1.5}.diagram-end{background:var(--cyan);color:var(--navy);padding:18px;margin:10px -10px -10px;display:flex;align-items:center;justify-content:space-between;font-size:.95rem;font-weight:700;border-radius:3px}.hero-meta{display:flex;gap:0;border-top:1px solid #30475b;padding:25px 0;color:#bdd0e0;font-size:.9rem}.hero-meta span{flex:1}.hero-meta strong{color:white;font-weight:500;display:inline-block;margin-right:9px}.proof{padding:34px 0;border-bottom:1px solid var(--line)}.proof-inner{display:flex;align-items:center;gap:36px}.proof-label{font-size:.85rem;color:var(--muted);max-width:135px;line-height:1.5}.client-names{display:flex;align-items:center;justify-content:space-between;gap:30px;flex:1}.client-names a{font-size:clamp(1rem,1.75vw,1.4rem);font-weight:600;letter-spacing:-.04em}.client-names a:hover{color:var(--blue)}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end;margin-bottom:52px}.section-heading p{margin:0;color:var(--muted);max-width:480px}.section-heading h2{max-width:700px}.section-heading .eyebrow{color:var(--blue)}.service-row{display:grid;grid-template-columns:55px 1.1fr 1.25fr 32px;gap:24px;align-items:center;padding:30px 0;border-top:1px solid var(--line);transition:color .18s}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row .number{font-size:.85rem;color:var(--blue)}.service-row h3{font-size:1.45rem}.service-row p{color:var(--muted);margin:0;font-size:1rem;line-height:1.6}.service-row:hover{color:var(--blue)}.service-row .arrow{justify-self:end}.wash{background:var(--wash)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.case-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;transition:border-color .18s}.case-card:hover{border-color:var(--blue)}.case-cover{background:#112f47;color:white;padding:30px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.case-cover .eyebrow{font-size:.75rem;color:#b6cddd;margin-bottom:30px}.case-cover h3{font-size:2.4rem;letter-spacing:-.05em;font-weight:500;max-width:300px}.case-cover .corner{position:absolute;top:28px;right:28px;color:var(--cyan)}.case-card:nth-child(3n+2) .case-cover{background:#d7ecf4;color:var(--ink)}.case-card:nth-child(3n+2) .case-cover .eyebrow{color:#31566d}.case-card:nth-child(3n+2) .corner{color:#005580}.case-card:nth-child(3n+3) .case-cover{background:#1c4855}.case-body{padding:28px;display:flex;flex-direction:column;flex:1}.case-body h4{font-size:1.3rem;letter-spacing:-.03em;line-height:1.3;margin-bottom:15px}.case-body p{font-size:1rem;color:var(--muted);line-height:1.65}.case-body .text-link{margin-top:auto;font-size:.9rem}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.step{border-top:1px solid var(--line);padding-top:24px}.step .number{font-size:.85rem;color:var(--blue);display:block;margin-bottom:30px}.step h3{margin-bottom:15px}.step p{font-size:1rem;line-height:1.65;color:var(--muted);margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-grid .eyebrow{color:var(--blue)}.about-grid h2{margin-bottom:30px}.about-grid p{color:var(--muted)}.about-photo{position:relative}.about-photo img{width:100%;height:480px;object-fit:cover;object-position:center 40%;border-radius:var(--radius)}.about-photo figcaption{font-size:.8rem;color:var(--muted);padding-top:12px}.about-photo figure{margin:0}.location-line{display:flex;gap:24px;border-top:1px solid var(--line);padding:23px 0;margin-top:25px;font-size:1rem}.location-line strong{font-weight:600}.cta{background:#0075bc;color:white}.cta-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}.cta .eyebrow{color:#caefff}.cta h2{max-width:620px}.cta p{color:#e4f3fc;margin-bottom:24px}.cta .btn{background:white;color:#00578d}.cta .btn:hover{background:#d9f2ff}.site-footer{background:var(--navy);color:white;padding:64px 0 25px}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:45px;padding-bottom:50px}.footer-main .brand{margin-bottom:20px}.footer-main p{color:#bacddb;font-size:.92rem;max-width:260px;line-height:1.65}.footer-main h3{font-size:.9rem;letter-spacing:0;margin:12px 0 22px}.footer-main nav a{display:block;font-size:.92rem;color:#bacddb;padding:6px 0}.footer-main nav a:hover{color:var(--cyan)}.footer-bottom{border-top:1px solid #32495b;padding-top:25px;display:flex;justify-content:space-between;gap:20px;color:#a9bece;font-size:.8rem}.page-hero{background:var(--navy);color:white;padding:70px 0}.page-hero .eyebrow{color:var(--cyan)}.page-hero h1{font-size:clamp(2.8rem,5vw,4.7rem);max-width:970px}.page-hero p{color:#c4d4e0;max-width:760px;font-size:1.15rem;margin:25px 0 0}.breadcrumb{color:#b5cedd;font-size:.88rem;margin-bottom:30px;display:inline-block}.breadcrumb:hover{color:white}.detail-service{display:grid;grid-template-columns:.8fr 1.4fr;gap:90px;padding:64px 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}.detail-service:first-child{padding-top:0}.detail-service:last-child{border:0;padding-bottom:0}.detail-service h2{font-size:2.3rem}.detail-service .eyebrow{color:var(--blue)}.detail-service p{color:var(--muted)}.detail-service h3{font-size:1.05rem;letter-spacing:0;margin:30px 0 14px}.detail-service li{color:var(--muted);font-size:1rem;padding:3px 0}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.chip{background:var(--wash);padding:8px 12px;border:1px solid var(--line);border-radius:3px;font-size:.8rem}.engagements{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.engagement{border-top:1px solid #98afbd;padding-top:25px}.engagement h3{margin-bottom:18px}.engagement p{color:var(--muted);font-size:1rem}.case-detail{display:grid;grid-template-columns:1fr 2fr;gap:90px}.case-aside{font-size:.9rem}.case-aside h3{font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;margin:30px 0 12px}.case-aside h3:first-child{margin-top:0}.case-aside p{color:var(--muted);font-size:.95rem}.case-prose h2{font-size:2rem;margin:0 0 25px}.case-prose p{color:var(--muted)}.case-prose section+section{margin-top:45px}.outcome{background:var(--wash);padding:30px;border-left:3px solid var(--blue);margin-top:40px}.outcome h3{font-size:1.1rem;margin-bottom:14px;letter-spacing:-.02em}.outcome p{margin:0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.contact-grid h2{margin-bottom:28px}.contact-grid p{color:var(--muted)}.email-link{display:block;font-size:clamp(1.4rem,3vw,2.6rem);letter-spacing:-.04em;color:var(--blue);margin:25px 0;overflow-wrap:anywhere}.email-link:hover{text-decoration:underline}.contact-note{padding:35px;background:var(--wash);border-radius:var(--radius)}.contact-note h3{margin-bottom:22px}.contact-note li{margin-bottom:10px}.contact-note p:last-child{margin-bottom:0}.article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px}.article-list a{border-top:1px solid var(--line);padding:26px 0;display:block}.article-list h2{font-size:1.6rem;line-height:1.25;letter-spacing:-.025em;margin:10px 0 15px}.article-list a:hover h2{color:var(--blue)}.article-list p{color:var(--muted);font-size:.95rem;margin:0}.prose{max-width:780px;margin:auto}.prose h2,.prose h3{font-size:1.8rem;margin:42px 0 20px;line-height:1.2}.prose p{color:#405566}.prose a{color:var(--blue);text-decoration:underline;overflow-wrap:anywhere}.prose img{max-height:550px;object-fit:contain;margin:30px 0}.prose pre{overflow:auto;background:var(--wash);padding:20px}.prose table{display:block;overflow:auto}.archive-note{background:var(--wash);padding:18px 22px;color:var(--muted);font-size:.9rem;margin-bottom:40px;border-left:3px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery figure{margin:0}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--radius)}.gallery figcaption{margin:12px 0 25px;font-size:.9rem;color:var(--muted)}.job-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.job-list a{border:1px solid var(--line);padding:26px;display:flex;justify-content:space-between;gap:25px;align-items:center;border-radius:var(--radius)}.job-list h3{font-size:1.2rem}.job-list a:hover{border-color:var(--blue)}
@media(min-width:1500px){.hero-grid{gap:110px}.hero{padding-top:100px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:18px}.header-inner{gap:24px}.hero-grid{gap:36px;grid-template-columns:1.3fr 1fr}.hero h1{font-size:4.4rem}.hero-panel{padding:23px}.about-grid,.section-heading,.cta-inner,.contact-grid,.case-detail,.detail-service{gap:45px}.service-row{grid-template-columns:35px 1.1fr 1.2fr 20px;gap:20px}.case-cover{padding:24px}.case-cover h3{font-size:2rem}.case-body{padding:24px}.footer-main{gap:25px}}
@media(max-width:900px){.desktop-nav,.header-cta{display:none}.mobile-nav{display:block}.header-inner{min-height:74px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{max-width:750px}.hero-panel{max-width:100%;margin-top:0}.hero{padding-top:60px}.diagram-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.diagram-stage{display:block}.diagram-stage .number{display:block;margin-bottom:12px}.hero-meta{flex-wrap:wrap;gap:18px}.hero-meta span{flex:auto}.proof-inner{display:block}.proof-label{max-width:none;display:block;margin-bottom:20px}.client-names{gap:20px;flex-wrap:wrap;justify-content:flex-start}.section{padding:72px 0}.section-heading{grid-template-columns:1fr;gap:24px}.section-heading p{max-width:650px}.work-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr;row-gap:40px}.footer-main{grid-template-columns:1.2fr 1fr;gap:30px}.about-grid{gap:40px}.about-photo img{height:470px}.case-detail{grid-template-columns:1fr}.case-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.case-aside h3{margin-top:0}.engagements{grid-template-columns:1fr}.engagement p{max-width:680px}.detail-service{grid-template-columns:1fr;gap:30px}.contact-grid{gap:35px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.brand span{font-size:1.45rem}.brand img{width:46px;height:35px}.hero{padding-top:45px}.hero h1{font-size:3.15rem}.hero-grid{padding-bottom:38px}.hero .intro{font-size:1.05rem;margin:26px 0}.button-row{gap:12px}.btn{padding:14px 18px;gap:24px}.hero-panel{padding:23px}.diagram-stages{display:block}.diagram-stage{display:flex;padding:18px 0}.diagram-stage .number{margin-bottom:0}.panel-top{padding-bottom:16px}.diagram-end{margin:6px -5px -5px}.hero-meta{display:grid;gap:14px;padding:24px 0;font-size:.85rem}.proof{padding:28px 0}.client-names{justify-content:space-between;display:grid;grid-template-columns:1fr 1fr;gap:20px}.client-names a{font-size:1.1rem}.section{padding:58px 0}.section-heading{margin-bottom:35px}.eyebrow{font-size:.75rem;margin-bottom:20px}.service-row{grid-template-columns:25px 1fr 24px;gap:13px;padding:24px 0}.service-row h3{font-size:1.3rem}.service-row p{grid-column:2;grid-row:2;font-size:.95rem}.service-row .arrow{grid-row:1;grid-column:3}.work-grid{grid-template-columns:1fr}.case-cover{min-height:185px}.case-cover h3{font-size:2.4rem}.steps{gap:30px 22px}.step .number{margin-bottom:20px}.step h3{font-size:1.25rem}.step p{font-size:.95rem}.about-grid,.cta-inner,.contact-grid{grid-template-columns:1fr;gap:35px}.about-photo img{height:380px;object-position:center 36%}.about-photo{order:2}.cta h2{font-size:2.6rem}.footer-main{gap:25px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;font-size:.8rem}.page-hero{padding:45px 0}.page-hero h1{font-size:2.9rem}.page-hero p{font-size:1.05rem}.detail-service{padding:40px 0}.detail-service h2{font-size:2rem}.article-list,.job-list{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;gap:16px}.gallery figcaption{font-size:.8rem}.contact-note{padding:25px}.outcome{padding:24px}.case-aside{grid-template-columns:1fr 1fr}.location-line{gap:15px;flex-wrap:wrap}}
.product-feature{background:var(--navy);color:white}.product-feature .eyebrow{color:var(--cyan)}.product-feature .section-heading p{color:#c4d4e0}.product-feature .text-link{color:var(--cyan)}.product-image-link{display:block;border:1px solid #456173;border-radius:var(--radius);overflow:hidden}.product-image-link img{width:100%;height:auto}.product-caption{font-size:.8rem;color:#bbd0df;margin:16px 0 0}.product-intro{max-width:850px}.product-intro h2{margin-bottom:28px}.product-intro p{color:var(--muted);max-width:740px}.product-intro .eyebrow{color:var(--blue)}.product-figure{margin:50px 0 0}.product-figure img{width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius)}.product-figure figcaption{font-size:.85rem;color:var(--muted);margin-top:14px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.service-evidence{margin-top:24px;padding-top:4px;border-top:1px solid var(--line)}.service-evidence ul{list-style:none;padding:0;margin:0}.service-evidence li{padding:0 0 12px}.service-evidence .text-link{padding:8px 0}.service-evidence p{font-size:1rem;margin:0;line-height:1.6}

.diagram-end:hover{background:#95e4ff}.diagram-end:focus-visible{outline-color:white}.step:target{border-top:3px solid var(--blue);background:var(--wash)}.step[id]{scroll-margin-top:110px}
.prose{overflow-wrap:anywhere}h1,h2,h3,h4{overflow-wrap:anywhere}.mobile-nav summary span{display:inline-block;transition:transform .18s}.mobile-nav[open] summary span{transform:rotate(45deg)}

/* Directional links: a compact arrow for actions, a chevron for reading links. */
.arrow{width:20px;height:20px;vertical-align:middle;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.btn{gap:18px;border-radius:8px}
.text-link{gap:9px}
.text-link .arrow{width:17px;height:17px}
.text-link .arrow-shaft{display:none}
.text-link .arrow-head{transform:translateX(-5px)}
.btn:hover .arrow,.btn:focus-visible .arrow,.text-link:hover .arrow,.text-link:focus-visible .arrow,.service-row:hover .arrow,.case-card:hover .arrow{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.arrow{transition:none}.btn:hover .arrow,.btn:focus-visible .arrow,.text-link:hover .arrow,.text-link:focus-visible .arrow,.service-row:hover .arrow,.case-card:hover .arrow{transform:none}}

.enquiry-form{max-width:780px;scroll-margin-top:110px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{margin-bottom:22px;min-width:0}.form-fields .form-field{margin:0}.form-fields{margin-bottom:22px}.form-field label{display:block;font-size:1rem;font-weight:600;line-height:1.5;margin-bottom:9px}.form-field label span{font-weight:400;color:var(--muted);font-size:.875rem}.form-field input,.form-field select,.form-field textarea{width:100%;font:inherit;font-size:1rem;line-height:1.5;padding:13px;border:1px solid #758894;border-radius:6px;background:#fff;color:var(--ink);min-height:50px}.form-field textarea{resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid var(--blue);outline-offset:2px}.form-field .small{margin:8px 0 0}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{margin:22px 0 0;overflow-wrap:anywhere}.form-status:empty{display:none}.enquiry-form button{font-family:inherit}.enquiry-form button:disabled{opacity:.65;cursor:wait}.contact-grid:has(.enquiry-form){grid-template-columns:1.5fr 1fr;align-items:start}.enquiry-form + script{display:none}
@media(max-width:800px){.contact-grid:has(.enquiry-form){grid-template-columns:1fr}.form-fields{grid-template-columns:1fr}}
