/* Prevent intrinsic text widths from widening narrow grids. */
main,footer{overflow-wrap:anywhere}
.wrap>*,.footer-grid>*,.service-card>*,.matrix-grid>*,.portfolio-nodes>*,.scenario-path>div>*,.field-row>*{min-width:0}
.field input,.field select,.field textarea{min-width:0;max-width:100%}
.button{max-width:100%;text-align:center}
.nav-contact{display:none}
@media(max-width:960px){.nav-contact{display:block}}
@media(max-width:820px){.main-nav{max-height:calc(100vh - 79px);max-height:calc(100dvh - 79px);overflow-y:auto;overscroll-behavior:contain}.mobile-toggle{min-width:48px;min-height:44px}}
@media(max-width:380px){.portfolio-nodes,.scenario-path>div{flex-direction:column}.portfolio-visual{min-height:0}.matrix-cell>strong{font-size:1rem}}
/* Image-led presentation and supporting pages. */
.image-hero{position:relative;isolation:isolate;overflow:hidden;min-height:680px;padding:96px 0 104px;background:#f5f7f8}.image-hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.image-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.88) 29%,rgba(255,255,255,.48) 51%,rgba(255,255,255,0) 75%);z-index:-1}.hero-content{max-width:690px}.image-hero h1{font-size:clamp(2.8rem,4.6vw,4.5rem);max-width:690px;margin-top:25px;line-height:1.12}.image-hero .hero-intro{max-width:550px;font-size:1.0625rem;color:#304b60}.image-hero .actions{margin-top:31px}.image-hero .text-link{background:rgba(255,255,255,.8);padding:7px 0}.supporting-hero h1{max-width:1000px;margin-bottom:27px}.supporting-hero .lede{max-width:820px}.supporting-hero{padding-bottom:70px}
.learning-image-band{padding:30px 0 70px}.learning-image-band .wrap{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;background:var(--paper)}.learning-image-band img{width:100%;aspect-ratio:1.9;object-fit:cover}.learning-image-band .wrap>div{padding:35px 40px}.learning-image-band h2{font-size:2.3rem;margin-top:20px}.image-editorial{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.image-editorial img{width:100%;aspect-ratio:1.3;object-fit:cover}.image-editorial h2{margin:20px 0}.image-editorial .text-link{margin-top:25px}
.service-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-overview-card{display:block;padding:37px;background:white;border:1px solid var(--line);border-top:2px solid var(--gold);transition:box-shadow .2s}.service-overview-card:hover{box-shadow:0 12px 25px #102b4610}.service-overview-card h2{font-size:2rem;margin:20px 0}.service-overview-card p{margin-bottom:24px;font-size:1rem}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.portfolio-card{background:white;border:1px solid var(--line)}.portfolio-visual{min-height:320px;padding:32px;background:#e9eff3;border-bottom:1px solid var(--line)}.portfolio-kicker{display:block;font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:30px}.portfolio-core{width:130px;height:100px;border:1px solid var(--gold);background:white;margin:auto;display:flex;align-items:center;justify-content:center;color:var(--navy);font:400 2rem var(--serif);position:relative}.portfolio-core:after{content:'';position:absolute;height:30px;width:1px;background:var(--gold);top:100%;left:50%}.portfolio-nodes{display:flex;gap:18px;margin-top:30px}.portfolio-nodes span{flex:1;border:1px solid #bdccd6;background:white;padding:14px 8px;text-align:center;font-size:.875rem;color:var(--navy)}.scenario-path{display:flex;flex-direction:column;align-items:center;gap:25px;color:var(--navy)}.scenario-path>span{padding:12px 25px;border:1px solid var(--gold);background:white}.scenario-path>div{display:flex;gap:18px;width:100%}.scenario-path i{flex:1;font-size:.875rem;font-style:normal;padding:13px 5px;text-align:center;border:1px solid #bdccd6;background:white}.scenario-path strong{font-size:.9375rem;font-weight:500}.portfolio-copy{padding:37px}.portfolio-copy h2{margin:18px 0}.portfolio-copy p{font-size:1rem}.portfolio-copy .project-status{font-size:.875rem;color:var(--gold-text);padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:22px}.portfolio-copy .text-link{margin-top:25px}.privacy-layout{max-width:850px}.privacy-layout section+section{margin-top:36px}.privacy-layout h2{font:600 1.3rem/1.5 var(--sans);margin-bottom:15px}.privacy-layout p{font-size:1rem;line-height:1.9}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.contact-layout>div>h2{font-size:2.6rem;margin:20px 0 24px}.contact-steps{list-style:none;margin:32px 0 35px;padding:0;counter-reset:steps}.contact-steps li{counter-increment:steps;padding:23px 0 23px 42px;border-bottom:1px solid var(--line);position:relative}.contact-steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:24px;color:var(--gold-text);font-family:var(--serif)}.contact-steps strong{display:block;color:var(--navy);font-size:1rem;font-weight:600}.contact-steps span{display:block;font-size:1rem;margin-top:7px}.direct-contact h3{font-size:1.125rem;margin-bottom:12px}.direct-contact p{font-size:.9375rem;margin-top:14px}.enquiry-form{padding:38px;background:white;border:1px solid var(--line);border-top:3px solid var(--gold)}.enquiry-form>h2{font-size:2rem}.form-intro{font-size:.875rem;margin:16px 0 28px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:22px;min-width:0}.field label{display:block;font-size:.9375rem;font-weight:600;color:var(--navy);margin-bottom:9px}.field input,.field select,.field textarea{display:block;width:100%;min-height:48px;padding:11px 13px;border:1px solid #aabcc9;background:white;color:var(--navy);border-radius:0;font:400 1rem/1.5 var(--sans)}.field textarea{resize:vertical;min-height:145px}.field p{font-size:.875rem;line-height:1.7;margin-bottom:12px}.form-privacy{font-size:.875rem;line-height:1.7;margin:0 0 23px}.form-privacy a{text-decoration:underline;text-underline-offset:3px;color:var(--navy)}.form-status{font-size:.9375rem;line-height:1.8;color:var(--navy);margin-top:20px}.form-status:empty{display:none}.form-status.is-error{color:#823d2b;border-left:3px solid #a85b43;padding-left:13px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.65;cursor:wait}.career-timeline{list-style:none;padding:0;margin:45px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:32px}.career-timeline li{border-left:2px solid var(--gold);padding-left:24px}.career-timeline .date{font-size:.8125rem;color:var(--gold-text);display:block;margin-bottom:12px}.career-timeline h3{font-size:1.15rem;margin-bottom:12px}.career-timeline p{font-size:1rem;line-height:1.8}
@media(max-width:1100px){.hero-content{max-width:600px}.image-hero{padding:80px 0;min-height:620px}.image-hero h1{font-size:3.65rem}.image-hero:after{background:linear-gradient(90deg,#ffffffed,#ffffffd4 42%,#ffffff20 85%)}.contact-layout{gap:40px;grid-template-columns:.8fr 1.2fr}.enquiry-form{padding:28px}.image-editorial{gap:40px}.learning-image-band h2{font-size:1.9rem}.learning-image-band .wrap>div{padding:28px}.portfolio-copy{padding:28px}.scenario-path>div{gap:10px}}
@media(max-width:820px){.image-hero .hero-content{max-width:560px}.image-hero h1{font-size:3.25rem}.image-hero{min-height:0;padding:65px 0 70px}.image-hero:after{background:linear-gradient(90deg,#ffffffef,#ffffffe0 50%,#ffffff7a)}.contact-layout,.image-editorial{grid-template-columns:1fr;gap:40px}.contact-layout>div>h2{font-size:2.2rem}.direct-contact{margin-bottom:12px}.learning-image-band .wrap{grid-template-columns:1fr}.learning-image-band img{aspect-ratio:2}.learning-image-band .wrap>div{padding:30px}.service-overview-card{padding:28px}.service-overview-card h2{font-size:1.7rem}.portfolio-grid{grid-template-columns:1fr}.portfolio-visual{min-height:300px}.supporting-hero{padding-bottom:50px}}
@media(max-width:520px){.image-hero{padding:240px 0 48px;background:white}.image-hero .hero-photo{height:290px;object-position:70% center}.image-hero:after{height:300px;background:linear-gradient(180deg,#ffffff00 40%,#ffffff80 68%,white 98%)}.image-hero h1{font-size:2.45rem;line-height:1.14}.image-hero .hero-intro{font-size:1rem}.image-hero .actions{gap:18px}.service-overview-grid,.career-timeline{grid-template-columns:1fr}.service-overview-card{padding:27px}.contact-layout{gap:35px}.enquiry-form{padding:25px 20px}.field-row{grid-template-columns:1fr;gap:0}.portfolio-visual{padding:26px 20px}.portfolio-nodes{gap:9px}.portfolio-nodes span{font-size:.8125rem}.scenario-path i{font-size:.8125rem}.portfolio-copy{padding:27px 22px}.learning-image-band{padding:0 0 45px}.learning-image-band img{aspect-ratio:1.5}.learning-image-band h2{font-size:1.75rem}.image-editorial img{aspect-ratio:1.6}.supporting-hero h1{font-size:2.4rem}.contact-layout>div>h2{font-size:2rem}}
