@charset "UTF-8";
/* Testimonial excerpts use the same restrained type and dividers as the rest of the site. */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.75rem 2.25rem}.testimonial{min-width:0;margin:0;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;flex-direction:column}.testimonial blockquote{margin:0;font-family:var(--display);font-size:1.2rem;line-height:1.6;letter-spacing:-.015em}.testimonial-credit{padding-top:1.75rem;margin-top:auto}.testimonial-credit p{margin:0;font-size:.875rem;line-height:1.55}.testimonial-name{font-weight:600;color:var(--ink)}.testimonial-credit .testimonial-role{margin-top:.3rem;color:var(--muted)}.testimonial-company{color:var(--muted)}.testimonial-mark{width:9.5rem;max-width:100%;height:3.5rem;margin-bottom:1.35rem;display:flex;align-items:center;justify-content:flex-start}.testimonial-mark--wide{width:11rem}.testimonial-mark img{width:100%;height:100%;object-fit:contain;object-position:left center}.testimonial-mark--reuters img{width:3.5rem;height:3.3rem}
@media(max-width:1050px){.testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 2rem}}@media(max-width:600px){.testimonials-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.testimonial blockquote{font-size:1.15rem}.testimonial-credit{padding-top:1.35rem}.testimonial{padding-top:1.25rem}}@media print{.testimonial{break-inside:avoid}.testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
:root{--ink:#102c3d;--navy:#102e40;--muted:#53636b;--teal:#007a82;--bright-teal:#5ad2ca;--line:#d8e0e2;--paper:#fff;--soft:#f4f7f8;--font:Arial,Helvetica,sans-serif;--display:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6.5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.3em}button{font:inherit}button,summary{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:-.04em}h3{font-weight:500;line-height:1.32;letter-spacing:-.025em}p+p{margin-top:1rem}.shell{max-width:80rem;margin-inline:auto;padding-inline:3rem}.section{padding-block:6.5rem}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:600;text-transform:uppercase;line-height:1.6}.section-heading{display:flex;justify-content:space-between;gap:3rem;align-items:flex-end;margin-bottom:3rem}.section-heading .eyebrow{margin-bottom:1.2rem}h2{font-size:clamp(2.1rem,3.5vw,3.3rem)}.section-intro{max-width:23rem;color:var(--muted)}.lead{font-size:1.25rem;line-height:1.65;letter-spacing:-.015em}.text-link{font-size:.95rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:.25rem;transition:color .2s}.text-link:hover{color:var(--teal);border-color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.75rem 1.3rem;text-decoration:none;font-size:.925rem;font-weight:600;border:1px solid transparent;border-radius:3px;transition:background .2s,color .2s}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:var(--teal)}:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:1rem;left:1rem;z-index:20;background:var(--navy);color:white;padding:.5rem 1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.js-only{display:none}.js .js-only{display:flex}[hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{min-height:6.2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0}.brand img{width:2.5rem;height:2.5rem;object-fit:contain}.wordmark{display:flex;flex-direction:column;line-height:1.15}.wordmark strong{font-size:1.25rem;letter-spacing:.01em;font-weight:800}.wordmark>span{font-size:.65rem;letter-spacing:.28em;margin-top:.22rem;font-weight:600}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a{font-size:.9rem;text-decoration:none;position:relative;padding:.6rem 0}.site-header nav a:not(.nav-contact)::after{content:'';position:absolute;bottom:.3rem;left:0;right:0;height:1px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .2s}.site-header nav a:hover::after,.site-header nav a[aria-current]::after{transform:scaleX(1)}.site-header nav a[aria-current]{color:var(--teal)}.site-header nav .nav-contact{border:1px solid var(--ink);padding:.45rem 1.1rem;border-radius:3px}.nav-contact:hover{background:var(--navy);color:#fff!important}.menu-toggle{display:none!important}
.hero{padding-top:4.8rem;padding-bottom:0}.hero>.eyebrow{display:flex;align-items:center;gap:.8rem;color:var(--teal);margin-bottom:2.5rem}.short-rule{width:2.1rem;height:2px;background:var(--teal)}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4.5rem;align-items:end}.hero h1{font-size:clamp(3.4rem,5.2vw,4.8rem);max-width:42rem;line-height:1.06}.hero h1>span{color:var(--teal)}.hero-intro{max-width:27rem;padding-bottom:.15rem}.hero-intro>p:not(.lead){color:var(--muted);font-size:1rem;line-height:1.8;margin-top:1.2rem}.hero-actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:1.8rem}.hero-bottom{border-top:1px solid var(--line);margin-top:3.8rem;padding-block:1.3rem;display:flex;justify-content:space-between;gap:2rem;font-size:.8rem;color:var(--muted)}.hero-bottom a{font-size:.8rem;text-decoration:none;color:var(--ink)}.hero-bottom a:hover{text-decoration:underline}
.experience-strip{background:var(--soft);padding-block:1.9rem 2.2rem;border-bottom:1px solid var(--line)}.experience-strip .eyebrow{font-size:.7rem;color:var(--muted);letter-spacing:.1em}
.services-layout{display:grid;grid-template-columns:1fr 2fr;gap:4rem}.services-note{font-family:var(--display);font-size:1.5rem;line-height:1.5;letter-spacing:-.02em;color:var(--muted);padding-top:1.4rem;max-width:16rem}.service{border-top:1px solid var(--line)}.service summary{list-style:none;display:flex;align-items:center;gap:1.3rem;padding:1.5rem 0}.service summary::-webkit-details-marker,.project-details summary::-webkit-details-marker{display:none}.service-number{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--teal);align-self:flex-start;padding-top:.4rem}.service h3{font-size:1.5rem;flex:1}.expand-icon{position:relative;flex-shrink:0;width:1rem;height:1rem;margin-left:auto}.expand-icon::before,.expand-icon::after{content:'';position:absolute;background:currentColor;top:50%;left:0;width:100%;height:1px;transition:transform .2s}.expand-icon::after{transform:rotate(90deg)}details[open]>summary .expand-icon::after{transform:rotate(0)}.service[open] h3{color:var(--teal)}.service-body{padding:0 2rem 1.8rem 2.4rem;color:var(--muted);max-width:39rem}.service-body .text-link{display:inline-block;color:var(--ink);margin-top:1rem}.tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:1rem 0 0}.tags li{border:1px solid var(--line);border-radius:2px;padding:.18rem .55rem;font-size:.8rem;line-height:1.65;color:var(--muted)}.desktop-break{display:none}
.work-section{background:var(--soft);border-block:1px solid var(--line)}.work-section .section-heading{margin-bottom:2rem}.work-filters{flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.work-filters button{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:.55rem .95rem;min-height:2.75rem;font-size:.875rem;transition:background .2s,color .2s,border-color .2s}.work-filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.work-filters button:hover{border-color:var(--ink)}.work-filters button span{font-size:.7rem;opacity:.75;margin-left:.6rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:start}.project{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}.project-image{height:19rem;display:flex;align-items:center;justify-content:center;background:#e9eff1;padding:1.1rem;border-bottom:1px solid var(--line)}.project-image img{height:100%;width:auto;object-fit:contain;transition:transform .4s}.project:hover .project-image img{transform:translateY(-3px)}.project-content{padding:1.6rem 1.4rem 1.5rem}.project-client{font-size:.7rem;letter-spacing:.065em;text-transform:uppercase;line-height:1.6;color:var(--teal);min-height:2.3rem;font-weight:600}.project h3{font-family:var(--display);font-weight:400;font-size:1.85rem;line-height:1.18;margin-top:.4rem;letter-spacing:-.03em}.project-content>p:not(.project-client){color:var(--muted);margin-top:1.2rem;font-size:.925rem;line-height:1.75;min-height:7rem}.project-details{border-top:1px solid var(--line);margin-top:1.3rem;padding-top:.5rem}.project-details summary{list-style:none;display:flex;align-items:center;font-size:.825rem;font-weight:600;gap:1rem;padding:.5rem 0}.project-details p{color:var(--muted);font-size:.925rem;line-height:1.75;padding:.6rem 0 1rem}.publication-link{display:inline-block;font-size:.825rem;font-weight:600;color:var(--teal);margin-top:.8rem;text-decoration-thickness:1px}.publication-link:hover{color:var(--ink)}
.expertise-section{background:var(--navy);color:#fff}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.expertise-section .eyebrow{color:#97b7c5;margin-bottom:1.4rem}.expertise-section h2{font-size:clamp(2.1rem,3.4vw,3.1rem)}.expertise-section h2 span{color:var(--bright-teal)}.expertise-name{font-size:1.15rem;margin-top:2.5rem}.expertise-role{font-size:.85rem;color:#b4cbd5;margin-top:.15rem}.expertise-copy{padding-top:2.8rem}.expertise-copy>p:not(.lead){color:#c1d1d9;line-height:1.85}.expertise-copy .lead{font-size:1.2rem}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding-top:1.5rem;margin:1.8rem 0 0;border-top:1px solid #3c5665}.credentials dt{font-size:2.2rem;font-family:var(--display);line-height:1.3}.credentials dd{margin:0;color:#b4cbd5;font-size:.85rem}.expertise-foot{display:flex;justify-content:space-between;gap:3rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid #3c5665}.expertise-foot p{font-size:.875rem;color:#b4cbd5;max-width:27rem;margin:0}.expertise-foot strong{font-weight:400;color:#fff}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.contact-section .eyebrow{margin-bottom:1.3rem}.contact-section h2{font-size:clamp(2.3rem,4.3vw,4rem)}.contact-section h2+p{color:var(--muted);max-width:25rem;margin-top:1.5rem}.contact-actions{display:flex;align-items:flex-start;flex-direction:column;gap:1.5rem}.contact-email{font-size:clamp(1.15rem,2.05vw,1.8rem);text-decoration:none;letter-spacing:-.04em;border-bottom:1px solid var(--line);padding-bottom:.35rem;max-width:100%;overflow-wrap:anywhere}.contact-email:hover{color:var(--teal)}.contact-actions p{font-size:.85rem;color:var(--muted);margin:0}.site-footer{border-top:1px solid var(--line);padding-block:1.6rem}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-footer .brand img{width:2rem;height:2rem}.site-footer .wordmark strong{font-size:1rem}.site-footer .wordmark>span{font-size:.525rem}.site-footer p,.site-footer>.shell>a:not(.brand){font-size:.8rem;color:var(--muted)}
@media(min-width:1400px){.hero{padding-top:5.7rem}.hero h1{font-size:5rem}.hero-bottom{margin-top:4.8rem}}
@media(max-width:1050px){.shell{padding-inline:2rem}.hero-grid{gap:2.5rem;grid-template-columns:1.2fr 1fr}.hero h1{font-size:3.9rem}.hero-intro .lead{font-size:1.15rem}.project-grid{gap:1rem}.project-content{padding:1.4rem 1.1rem}.project h3{font-size:1.6rem}.project-image{height:17rem}.project-content>p:not(.project-client){min-height:9rem}.expertise-grid,.contact-section{gap:3rem}.services-layout{gap:2rem;grid-template-columns:1fr 2.2fr}}
@media(max-width:800px){html{scroll-padding-top:6rem}.section{padding-block:4rem}.shell{padding-inline:1.5rem}.header-inner{min-height:5rem}.site-header nav{gap:1.25rem}.hero{padding-top:3rem}.hero-grid{grid-template-columns:1fr;gap:2rem}.hero h1{font-size:clamp(3.3rem,8vw,4.4rem)}.hero-intro{max-width:36rem}.hero-bottom{margin-top:2.5rem}.section-heading{display:block}.section-intro{margin-top:1.5rem;max-width:36rem}.services-layout{grid-template-columns:1fr}.services-note{display:none}.service h3{font-size:1.35rem}.project-grid{grid-template-columns:1fr;gap:1.5rem}.project{display:grid;grid-template-columns:1fr 1.5fr}.project-image{height:auto;min-height:20rem;border-bottom:0;border-right:1px solid var(--line)}.project-image img{height:auto;max-height:20rem;width:100%;object-fit:contain}.project-content>p:not(.project-client){min-height:0}.project-client{min-height:0}.project h3{font-size:1.8rem}.project-content{padding:1.5rem}.expertise-grid{grid-template-columns:1fr;gap:2rem}.expertise-copy{padding-top:0;max-width:40rem}.expertise-name{margin-top:1.5rem}.expertise-foot{flex-direction:column;gap:1rem}.contact-section{grid-template-columns:1fr;gap:2rem}.contact-email{font-size:1.6rem}.contact-actions{gap:1.2rem}.footer-inner{gap:1rem;flex-wrap:wrap}}
@media(max-width:600px){.shell{padding-inline:1.25rem}.brand{gap:.6rem}.brand img{width:2.15rem;height:2.15rem}.wordmark strong{font-size:1.1rem}.wordmark>span{font-size:.6rem}.header-inner{flex-wrap:wrap;gap:0;padding-block:1rem;min-height:4.7rem}.js .menu-toggle{display:flex!important;background:none;border:1px solid var(--line);border-radius:3px;gap:.7rem;align-items:center;padding:.45rem .7rem;font-size:.875rem;min-height:2.7rem}.menu-icon{width:1rem;height:.65rem;position:relative;border-block:1px solid currentColor}.menu-toggle[aria-expanded=true] .menu-icon{border:0}.menu-toggle[aria-expanded=true] .menu-icon::before,.menu-toggle[aria-expanded=true] .menu-icon::after{content:'';position:absolute;top:50%;left:0;width:100%;height:1px;background:currentColor;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon::after{transform:rotate(-45deg)}.site-header nav{width:100%;flex-wrap:wrap;gap:.7rem 1.5rem;padding-top:1.1rem;justify-content:flex-start}.js .site-header nav{display:none}.js .site-header nav.is-open{display:flex}.site-header nav a{font-size:.95rem}.site-header nav .nav-contact{border:0;padding:.6rem 0}.nav-contact:hover{background:transparent;color:var(--teal)!important}.hero{padding-top:2.5rem}.hero>.eyebrow{font-size:.7rem;margin-bottom:1.8rem}.hero h1{font-size:clamp(2.55rem,9.2vw,3.5rem)}.hero-grid{gap:1.7rem}.hero-intro .lead{font-size:1.15rem}.hero-actions{gap:1.2rem}.hero-bottom{flex-direction:column;gap:.5rem;font-size:.8rem;margin-top:2.5rem;padding-block:1.1rem}.experience-strip{padding-block:1.5rem}.section{padding-block:3.5rem}.section-heading{margin-bottom:2rem}h2{font-size:2.25rem}.section-heading br{display:none}.section-heading .eyebrow{margin-bottom:1rem}.section-intro{margin-top:1rem}.service summary{gap:.75rem;padding-block:1.2rem}.service h3{font-size:1.25rem}.service-body{padding-left:1.75rem;padding-right:0}.work-filters{gap:.5rem}.work-filters button{font-size:.825rem;padding:.45rem .65rem}.project{display:block}.project-image{height:19rem;min-height:0;border-bottom:1px solid var(--line);border-right:0;padding:1rem}.project-image img{height:100%;width:auto}.project-content{padding:1.5rem}.project h3{font-size:1.9rem}.project h3 br{display:none}.project-details summary,.publication-link{font-size:.875rem}.project-content>p:not(.project-client){font-size:1rem}.expertise-foot{margin-top:2.5rem}.credentials{gap:1rem}.credentials dd{font-size:.8rem}.contact-section h2{font-size:2.6rem}.contact-email{font-size:clamp(1.05rem,5.1vw,1.55rem)}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:1.5rem}.footer-inner p{grid-column:1/-1;grid-row:2}.site-footer{padding-block:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Keep layouts flexible when visitors enlarge text. */
.header-inner{flex-wrap:wrap;padding-block:1rem}.site-header nav{flex-wrap:wrap}.hero-grid>*,.expertise-grid>*,.contact-section>*,.services-layout>*{min-width:0}h1,h2,h3{overflow-wrap:break-word}.tags li{font-size:.875rem}.project-client{font-size:.75rem}.wordmark>span{font-size:.75rem;letter-spacing:.16em}.experience-strip .eyebrow{font-size:.75rem}.site-footer .wordmark>span{font-size:.75rem;letter-spacing:.07em}.service-number{font-size:.875rem}.site-header nav a{font-size:.95rem}
@media(max-width:600px){.hero>.eyebrow{font-size:.75rem}.work-filters button{font-size:.875rem}.service h3{min-width:0}.credentials dd{font-size:.875rem}}
@media print{.site-header{position:static}.js .site-header nav{display:flex}.menu-toggle,.work-filters,.hero-actions{display:none!important}.project[hidden]{display:block!important}.section{padding-block:2rem}.expertise-section{background:#fff;color:var(--ink)}.expertise-section p,.expertise-section dd{color:var(--ink)}details>div,details>p{display:block!important}}

/* Supplied horizontal lockup, fitted to the existing brand footprint. */
.brand .brand-logo{width:9.25rem;height:2.5rem;object-fit:contain;object-position:left center}
.site-footer .brand .brand-logo{width:8rem;height:2rem}
@media(max-width:600px){.site-header .brand .brand-logo{width:8.75rem;height:2.15rem}}

/* The team uses the same quiet typography and colour palette as the expertise section. */
.hero-intro>p:first-child{margin-top:0}.hero-bottom{font-size:.95rem;color:var(--ink)}
.team-section{margin-top:3.5rem}.team-heading{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;border-top:1px solid #3c5665;padding-top:2rem;margin-bottom:1.75rem}.team-heading h3{font-family:var(--display);font-size:1.75rem}.team-heading p,.team-network{font-size:.925rem;color:#b4cbd5}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}.team-member{padding-top:0}.team-member h4{font-size:1.2rem;font-weight:500;line-height:1.3;margin:0}.team-member h4 span{font-size:.8rem;color:#b4cbd5;margin-left:.25rem}.team-member .team-role{font-size:.875rem;color:var(--bright-teal);margin-top:.35rem;min-height:1.6rem}.team-member p:last-child{font-size:.925rem;line-height:1.75;color:#c1d1d9;margin-top:.9rem}.team-network{margin-top:1.75rem;max-width:46rem}
@media(max-width:1050px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}}@media(max-width:600px){.team-heading{display:block}.team-heading p{margin-top:.65rem}.team-grid{grid-template-columns:1fr;gap:1.75rem}.team-section{margin-top:2.5rem}}@media print{.team-member p,.team-member .team-role,.team-heading p,.team-network{color:var(--ink)}}

/* Local original client marks, with enough space for each brand to remain legible. */
/* Featured reports keep a small, locally hosted selection of pages. */
.project--featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}.report-gallery{min-width:0;background:#e9eff1;border-right:1px solid var(--line);align-self:stretch;padding-bottom:1.4rem}.gallery-track{display:flex;position:relative;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#8da4ae transparent;scroll-padding:0}.gallery-slide{flex:0 0 100%;min-width:0;margin:0;padding:1.75rem 1.75rem .8rem;scroll-snap-align:start;scroll-snap-stop:always}.report-page-link{display:block;max-width:100%;text-decoration:none}.report-page-link img{width:100%;height:31rem;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(16,44,61,.12))}.gallery-slide figcaption{font-size:.875rem;font-weight:600;line-height:1.5;margin-top:1rem;text-align:center}.gallery-slide figcaption span{display:block;color:var(--muted);font-weight:400}.gallery-controls{align-items:center;justify-content:space-between;gap:1rem;padding-inline:1.75rem;margin-top:.8rem}.gallery-controls button{min-height:2.75rem;min-width:5rem;padding:.45rem .85rem;border:1px solid #aabcc4;background:#fff;color:var(--ink);border-radius:3px;font-size:.875rem}.gallery-controls button:hover:not(:disabled){background:var(--navy);border-color:var(--navy);color:white}.gallery-controls button:disabled{opacity:.45;cursor:default}.gallery-count{font-size:.875rem;color:var(--muted);white-space:nowrap}.project--featured .project-content{padding:2.5rem}.project--featured h3{font-size:clamp(2rem,3vw,2.8rem);max-width:18ch}.project--featured .project-content>p:not(.project-client){min-height:0;font-size:1rem}.project--featured .project-client{min-height:0}.project-tags{margin-top:1.5rem}.project--featured .project-content>.gallery-help{font-size:.875rem;color:var(--muted);margin-top:1.5rem}
@media(max-width:800px){.project--featured{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gallery-slide{padding:1.25rem 1rem .7rem}.report-page-link img{height:27rem}.gallery-controls{padding-inline:1rem;gap:.5rem}.project--featured .project-content{padding:1.5rem}.project--featured h3{font-size:2rem}.gallery-controls button{min-width:0;padding-inline:.7rem}}@media(max-width:600px){.project--featured{display:block}.report-gallery{border-right:0;border-bottom:1px solid var(--line)}.report-page-link img{height:auto;max-height:31rem;aspect-ratio:1100/1556}.gallery-slide{padding:1.25rem 1.25rem .75rem}.gallery-controls{padding-inline:1.25rem}.project--featured .project-content{padding:1.5rem}.project--featured h3{font-size:2.15rem}}@media print{.gallery-controls{display:none!important}.gallery-track{overflow:visible}.gallery-slide:not(:first-child){display:none}.report-page-link img{filter:none}.project--featured{break-inside:avoid}}
.experience-strip{background:#fff;padding-block:2rem 2.25rem}.client-logos{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem 2rem}.client-logo{min-width:0;min-height:4.8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem}.client-logo img{width:100%;max-width:9rem;height:3.3rem;object-fit:contain}.client-logo--square img{width:4rem;height:4rem}.client-logo--reuters img{width:3.8rem;height:3.6rem}.client-caption{font-size:.75rem;line-height:1.2;color:var(--muted);letter-spacing:.04em}.client-logo--reuters{gap:.35rem}
@media(max-width:800px){.client-logos{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}}@media(max-width:600px){.client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem}.client-logo img{max-width:8rem;height:3rem}.client-logo--square img{width:3.5rem;height:3.5rem}.client-logo--reuters img{width:3.5rem;height:3.3rem}.experience-strip{padding-block:1.5rem}}

/* Microsoft remains visible above filters; report cases precede the analysis cases. */
.featured-work{margin-bottom:2rem}.report-gallery--compact,.analysis-preview{height:26rem}.report-gallery--compact{border-right:0;border-bottom:1px solid var(--line);padding-bottom:.8rem}.report-gallery--compact .gallery-slide{padding:1.1rem 1.1rem .6rem}.report-gallery--compact .report-page-link img{height:16.5rem;aspect-ratio:auto}.report-gallery--compact .gallery-slide figcaption{font-size:.8rem;margin-top:.65rem}.report-gallery--compact .gallery-controls{padding-inline:1.1rem;gap:.5rem;margin-top:.6rem}.report-gallery--compact .gallery-controls button{min-width:0;padding-inline:.65rem;font-size:.8rem}.report-gallery--compact .gallery-count{font-size:.8rem}.analysis-preview a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.analysis-preview img{max-width:100%;filter:drop-shadow(0 4px 8px rgba(16,44,61,.12))}.project--analysis .project-client{min-height:0}.project-details p+p{padding-top:0}
@media(max-width:1050px) and (min-width:801px){.report-gallery--compact .gallery-slide{padding-inline:.8rem}.report-gallery--compact .gallery-controls{padding-inline:.8rem;gap:.3rem}.report-gallery--compact .gallery-controls button{padding-inline:.45rem}}
@media(max-width:800px){.report-gallery--compact,.analysis-preview{height:auto;min-height:26rem}.report-gallery--compact{border-bottom:0;border-right:1px solid var(--line)}.analysis-preview img{height:auto;width:100%;max-height:24rem}}
@media(max-width:600px){.report-gallery--compact,.analysis-preview{height:26rem;min-height:0}.report-gallery--compact{border-right:0;border-bottom:1px solid var(--line)}.analysis-preview img{height:100%;width:auto;max-height:100%}}

.project-content>.project-publication{min-height:0;margin-top:.75rem;font-size:.875rem;line-height:1.6;color:var(--teal);font-weight:600}


.experience-group{max-width:64rem;margin-inline:auto}.experience-heading{max-width:56rem;margin-inline:auto;text-align:center;font-family:var(--font);font-size:1rem;font-weight:600;line-height:1.7;letter-spacing:.045em;text-transform:uppercase}.service-clients{max-width:64rem;margin:3rem auto 0;padding-top:2rem;border-top:1px solid var(--line)}
@media(max-width:600px){.experience-heading{font-size:.9rem;letter-spacing:.035em}.service-clients{margin-top:2.25rem;padding-top:1.75rem}}

.research-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem 1.5rem}.research-logos .client-logo{flex:0 0 calc((100% - 9rem)/7)}
@media(max-width:1050px){.research-logos .client-logo{flex-basis:calc((100% - 4.5rem)/4)}}
@media(max-width:600px){.research-logos{gap:1.25rem 1.5rem}.research-logos .client-logo{flex-basis:calc((100% - 1.5rem)/2)}}

.client-logo--mustang img{width:8rem;max-width:100%;height:4.8rem}

/* Final editorial refinements: aligned rules and balanced brand weights. */
.expertise-profile{display:inline-block;margin-top:1rem;color:#c1d1d9;font-size:.875rem;text-underline-offset:.3em}.expertise-profile:hover{color:#fff}
.research-logos .client-logo--gsk img{width:85%;max-width:7.5rem}

.project-details .project-citation{font-size:.8125rem;line-height:1.6;padding-bottom:.5rem;color:var(--muted)}

/* One sentence introduces the research logos without a repeated heading. */
.hero-bottom{justify-content:center;text-align:center}.hero-bottom>span{max-width:56rem}
.experience-strip{padding-top:.6rem}.experience-strip .research-logos{margin-top:0}

.research-logos .client-logo--sanofi img{width:92%;max-width:8.25rem;padding-block:.25rem}

@media(min-width:601px) and (max-width:760px){.header-inner{gap:.75rem}.site-header nav{width:100%;justify-content:space-between;gap:.75rem}html{scroll-padding-top:10rem}}
