/* Shared spacing for small phones through wide desktop displays. */
:root{--max:1520px;--page-gutter:clamp(20px,4vw,88px)}
.wrap{width:min(var(--max),calc(100% - var(--page-gutter) * 2))}
.hero,.section-head,.service-intro,.about-grid,.contact-grid,.proof-grid,.case-grid{gap:clamp(24px,4vw,64px)}
.hero>*,.section-head>*,.service-intro>*,.about-grid>*,.contact-grid>*,.proof-grid>*,.case-grid>*,.footer-top>*{min-width:0}
.hero{grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);column-gap:clamp(36px,5vw,80px);row-gap:28px;padding:clamp(36px,4vw,64px) 0 clamp(44px,5vw,76px)}
.hero h1{font-size:clamp(2.5rem,5.35vw,6rem);line-height:1.08;letter-spacing:-.05em}
.hero .intro{max-width:52ch;font-size:clamp(1rem,1.15vw,1.2rem);margin-top:30px}
.hero .proof-panel{padding:clamp(26px,2.5vw,40px);margin-right:18px}
.hero-trust{padding-top:22px}.hero-logos{gap:24px 36px;max-width:760px}
.hero-track-record{gap:clamp(36px,6vw,96px);padding-top:26px}
.section{padding:clamp(52px,5.5vw,96px) 0}.section-head{margin-bottom:clamp(28px,3.5vw,52px)}
.section-head p{max-width:52ch}.section-head h2,.page-hero h1,.case-card h2{text-wrap:balance}
.page-hero{padding:clamp(40px,5vw,76px) 0 36px}
.service-intro .brief-box{margin-top:76px}
.service-card,.testimonial,.case-card{padding:clamp(24px,2.4vw,40px)}
.proof-grid{gap:24px}.testimonial blockquote,.case-card blockquote{max-width:62ch}
.testimonial .company{display:flex;align-items:center;min-height:42px;margin-bottom:24px}
.testimonial-logo,.case-brand img,.archive-client-logo{display:block;width:190px;max-width:100%;height:36px;object-fit:contain;object-position:left center}
.case-brand{min-height:40px;display:flex;align-items:center;margin-bottom:16px}
.case-brand.logo-surface{align-self:flex-start;background:#fff;padding:12px 16px;border-radius:7px}
.proof-client-logo{background:#fff;border-radius:7px;align-self:flex-start;padding:10px 14px;margin-bottom:12px;line-height:0}
.proof-client-logo img{display:block;width:156px;max-width:100%;height:28px;object-fit:contain;object-position:left center}
.archive-client{display:flex;flex-direction:column;gap:14px}.archive-client-logo{width:180px;height:32px}
.case-grid{gap:28px}.case-card h2{max-width:26ch}.case-metrics{flex-wrap:wrap;gap:24px}.case-metrics>div{min-width:0}
.process{gap:clamp(24px,3vw,44px);margin-top:42px}
.cta-band{padding:clamp(28px,4vw,60px);margin-top:24px;margin-bottom:clamp(48px,5vw,80px);gap:32px}
.footer-top{gap:clamp(24px,3vw,52px)}.footer a{overflow-wrap:anywhere}
.article-heading{max-width:1080px}.article-layout{grid-template-columns:220px minmax(0,810px);gap:clamp(32px,4vw,64px)}
.article-layout.without-toc{grid-template-columns:minmax(0,850px)}
.article-row>div{min-width:0}.article-row h3{overflow-wrap:anywhere}
.field input,.field select,.field textarea{font-size:1rem}
@media(min-width:1800px){.hero h1{font-size:6rem}.hero .intro{font-size:1.2rem}.hero-logos img{height:32px}.section-head h2{font-size:4rem}}
@media(max-width:1100px){
 .nav{height:76px}.brand img{width:185px}.nav-menu{display:block;min-height:44px}
 .nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:18px var(--page-gutter);border-bottom:1px solid var(--line);box-shadow:0 12px 25px #101a3410;align-items:stretch;max-height:calc(100dvh - 76px);overflow-y:auto}
 .nav-links.open{display:flex;flex-direction:column;gap:0}.nav-links>a{padding:14px;min-height:44px}.nav-links .button{margin-top:8px}
 .hero{column-gap:28px;grid-template-columns:minmax(0,1.35fr) minmax(290px,1fr)}.hero h1{font-size:clamp(2.5rem,4.8vw,3.5rem)}
 .hero .proof-panel{padding:25px;margin-right:12px;box-shadow:12px 12px 0 var(--orange)}
 .service-intro,.about-grid,.contact-grid{gap:32px}.service-card{padding:24px}
 .proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-grid .testimonial:last-child:nth-child(odd){grid-column:1 / -1}
 .footer-top{grid-template-columns:1.5fr 1fr 1fr}.footer-top>div:last-child{grid-column:1 / -1}.footer-top>div:last-child ul{display:flex;flex-wrap:wrap;gap:8px 28px}
}
@media(max-width:900px){
 .hero{grid-template-columns:minmax(0,1fr);row-gap:26px;padding-top:34px}
 .hero-copy,.hero-trust,.hero .proof-panel{grid-column:1;grid-row:auto}.hero-copy{grid-row:1}.hero-trust{grid-row:2}.hero-track-record{grid-row:3}.hero .proof-panel{grid-row:4}
 .hero h1{font-size:clamp(2.25rem,7.2vw,4.8rem)}.hero .intro{max-width:60ch}
 .hero-logos{max-width:680px}.hero .proof-panel{margin:0 10px 8px 0;box-shadow:10px 10px 0 var(--orange)}
 .hero .proof-panel blockquote{max-width:60ch}.hero-track-record{gap:32px;justify-content:flex-start;margin-top:0}
 .section-head,.service-intro,.about-grid,.contact-grid{grid-template-columns:1fr;gap:24px}
 .service-intro .brief-box{margin-top:0}.service-intro .page-hero{padding-bottom:8px}
 .article-layout{grid-template-columns:1fr;gap:24px}.toc{position:static;max-height:none;border:1px solid var(--line);border-radius:8px;padding:18px 20px}
 .cta-band{display:block}.cta-band .button{margin-top:24px}
}
@media(max-width:600px){
 :root{--page-gutter:20px}.nav{height:70px}.nav-links{top:70px;max-height:calc(100dvh - 70px)}.brand img{width:168px}
 .hero{padding:30px 0 42px;gap:24px}.hero h1{font-size:clamp(2rem,9.6vw,3.6rem);line-height:1.1;margin-bottom:20px}
 .hero .eyebrow{font-size:.875rem;letter-spacing:.015em;margin-bottom:18px;gap:9px}.eyebrow:before{flex-shrink:0;width:22px}
 .hero .primary-text:after{height:5px;bottom:-9px}.hero .intro{margin-top:26px;font-size:1rem;line-height:1.65}
 .hero-actions{margin-top:22px;gap:12px 20px}.hero-actions .button{min-height:48px;padding:13px 17px}.hero-actions .text-link{display:inline-flex;align-items:center;min-height:44px}
 .hero-trust{padding-top:18px}.hero-trust p{font-size:.875rem;margin-bottom:18px}.hero-logos{gap:20px 18px}.hero-logos img{height:25px}
 .hero-track-record{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:20px}
 .hero-track-record>div{display:block}.hero-track-record strong{font-size:2rem;display:block;margin-bottom:8px}.hero-track-record>div>span{display:block;font-size:.875rem;max-width:160px}
 .hero .proof-panel{padding:24px}.proof-panel .proof-number{font-size:5rem;margin-top:14px}.proof-panel hr{margin:20px 0}
 .section{padding:44px 0}.section-head{gap:18px;margin-bottom:26px}.section-head h2{font-size:clamp(2rem,7.2vw,2.6rem);line-height:1.15}
 .page-hero{padding:32px 0 26px}.page-hero h1{font-size:clamp(2rem,8.2vw,3rem);line-height:1.13}.page-hero .intro{font-size:1rem;margin-bottom:0}
 .service-card,.testimonial,.case-card{padding:24px}.service-card .number{margin-bottom:18px}.service-card h3{margin-bottom:14px}
 .proof-grid,.case-grid{grid-template-columns:1fr;gap:18px}.proof-grid .testimonial:last-child:nth-child(odd){grid-column:auto}
 .testimonial .company{margin-bottom:20px}.testimonial blockquote,.case-card blockquote{font-size:1rem;line-height:1.7;margin-bottom:22px}
 .testimonial .person,.testimonial .person span{font-size:.875rem}.testimonial-logo,.case-brand img{height:32px;width:180px}
 .case-grid{padding-top:8px;padding-bottom:36px}.case-industry{margin-bottom:20px;font-size:.875rem}.case-card h2{font-size:1.75rem;margin-bottom:20px}.case-person{margin-bottom:22px}
 .case-metrics dd{font-size:2.8rem}.case-foot{font-size:.875rem;gap:12px}
 .process{gap:24px;margin-top:28px}.process .number{margin-bottom:16px}
 .article-heading{margin:26px 0 30px}.article-heading h1{font-size:clamp(2rem,7.7vw,2.75rem)}.article-heading .standfirst{font-size:1rem}.article-row{padding:22px 0;gap:10px}.article-row .meta{font-size:.875rem}
 .cta-band{padding:28px 24px;margin:18px auto 44px}.cta-band h2{font-size:2rem}.cta-band .button{width:100%}
 .footer{padding:38px 0 24px}.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;padding-bottom:30px}.footer-brand{grid-column:1 / -1}.footer-top>div:last-child ul{display:block}.footer p{margin:20px 0 0}
 .enquiry{padding:22px;gap:18px}.contact-grid{padding-bottom:44px}.contact-grid .email-link{font-size:clamp(1.25rem,6.2vw,1.8rem);overflow-wrap:anywhere}
 .pagination{gap:8px}.pagination a{min-height:44px;display:flex;align-items:center;padding:8px 12px}
}
@media(max-width:360px){:root{--page-gutter:16px}.hero .eyebrow{font-size:.8125rem}.hero-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.case-metrics{gap:16px}.case-metrics dd{font-size:2.4rem}.proof-secondary{flex-wrap:wrap}}

.about-grid figure{margin:0}.about-grid .about-portrait{display:block}.testimonial .company img,.case-brand img{flex-shrink:1;min-width:0}

.case-brand{gap:12px}.case-brand img.case-icon{width:40px;height:40px;max-width:40px;flex-shrink:0;padding:7px;background:var(--blue);border-radius:8px;object-position:center}

/* Preserve the intentionally larger homepage client marks on ultra-wide displays. */
@media(min-width:1800px){.hero-logos img{height:52px;max-width:250px}}
