/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/runtime/font-3bfe4586eb9a.a5d38fe99f930275.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/runtime/font-713ca32c3c8b.9fea608a947e6702.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/runtime/font-842459da81f9.de37de877dc17e45.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/runtime/font-9b2d027172a3.c268b459a9329e59.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/runtime/font-ed7393f42d27.2fb2e8cbfd52ae46.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/runtime/font-1f3ea86e40d9.6bbb044ab420e07e.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/runtime/font-ee75508933e6.3911b66d9f2e005a.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/runtime/font-4872f2a6dc9a.a30ddcd349703aff.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Editorial refresh: compact social proof, clear hierarchy, restrained colour. */
.service-hero h1 em,.directory-hero h1 em,.case-article-hero h1 em{color:#496b2f;font-style:normal}
.featured{gap:clamp(24px,4vw,64px);padding-top:28px;padding-bottom:28px}
.featured .publications{display:grid;grid-template-columns:.8fr 1.5fr 1.15fr 1fr;align-items:center;gap:clamp(16px,3vw,45px);min-width:0;flex:1}
.featured .publications>img{width:100%;max-width:170px;max-height:34px;justify-self:center}
.featured .publications .press-independent{display:flex;gap:7px;min-width:0;width:100%;max-width:230px;justify-self:center}
.featured .press-independent img:first-child{width:29px;height:29px;flex:none}
.featured .press-independent img:last-child{width:calc(100% - 36px);max-width:190px;height:auto;min-width:0}
.client-logos.section{padding-top:35px;padding-bottom:40px;border-bottom:1px solid var(--line);background:#fff}
.logo-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}
.logo-heading h2{font-size:clamp(1.5rem,2.4vw,2.25rem);letter-spacing:-.035em}
.logo-controls{display:flex;gap:8px}.logo-controls[hidden]{display:none}
.logo-controls button{width:44px;height:44px;border:1px solid #bacbbf;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;font-size:1.2rem}
.logo-controls button:hover{background:var(--mint)}.logo-controls button:disabled{opacity:.3;cursor:default;background:transparent}
.client-logo-track{display:flex;gap:clamp(20px,4vw,60px);list-style:none;margin:0;padding:12px 4px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#bbcbbd transparent}
.client-logo-track li{flex:0 0 165px;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;height:72px}
.client-logo-track img{display:block;max-width:165px;max-height:57px;width:auto;height:auto;object-fit:contain}
.core-services .certification-actions{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-top:30px}
.certification-actions .certification-badges{display:flex;flex:1;justify-content:flex-end;align-items:center;gap:30px;margin:0;max-width:560px}
.certification-actions .certification-mark{padding:0;flex:1;max-width:250px}
.certification-actions .certification-mark img{max-width:250px;width:100%;min-width:150px}
.home-contact.section{background:#eedfd2;color:var(--ink)}
.home-contact h2 em{color:#496b2f}.home-contact .contact-bottom p{color:#425b51}.home-contact .button{background:var(--ink);color:var(--paper)}
.home-contact .button:hover{background:#254941}
.labs-teaser{background:#132d30;color:#f1f8f0;border-bottom:0}
.labs-teaser h2{color:#b6e8c5}.labs-teaser p{color:#d3e4dc}
/* Footer marks are unboxed and retain their original artwork and colours. */
.footer-strip{display:grid;grid-template-columns:auto minmax(355px,1fr) minmax(330px,1.6fr);gap:26px;align-items:center}
.footer-marks{display:flex;justify-content:center;align-items:center;gap:14px;min-width:0}
.footer-marks img{display:block;object-fit:contain;width:47px;height:auto;max-height:70px}
.footer-marks img:first-child{width:240px;max-height:70px}
.compact-footer .registered-details{font-size:.8rem}.compact-footer address{font-size:.8rem}
.leadership{padding-top:60px}.leadership>h2{font-size:clamp(2.2rem,4.5vw,4rem);margin-bottom:45px}
.leadership-profile{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,640px);gap:clamp(35px,7vw,100px);align-items:center}
.leadership-profile>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px}
.leadership-profile h3{font-size:clamp(2rem,3.5vw,3.4rem);margin-bottom:12px}
.leadership-profile p{font-size:1.125rem;line-height:1.8;margin:20px 0;max-width:58ch}
.leadership-profile .team-role{font-size:1rem;margin:0 0 25px;color:var(--muted)}
.our-story{background:#e9efdf}.our-story>div{max-width:760px;margin:auto}.our-story h2{margin-bottom:35px}
.our-story p{font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.85;margin:24px 0}
@media(max-width:1200px){.footer-strip{grid-template-columns:1fr 1fr}.footer-marks{justify-content:flex-end}.footer-strip .registered-details{grid-column:1/-1}.footer-identity nav{margin-top:4px}}
@media(max-width:720px){.featured{display:block}.featured>p{margin-bottom:18px}.featured .publications{gap:14px;grid-template-columns:.7fr 1.5fr 1fr 1fr}.featured .publications>img{max-height:24px}.featured .press-independent img:first-child{width:18px;height:18px}.featured .press-independent img:last-child{width:calc(100% - 23px)}.featured .publications .press-independent{gap:5px}.client-logos.section{padding-top:28px;padding-bottom:28px}.client-logo-track li{flex-basis:140px}.client-logo-track img{max-width:140px;max-height:50px}.certification-actions .certification-badges{justify-content:flex-start;flex-basis:100%;gap:22px}.certification-actions .certification-mark{max-width:210px}.footer-strip{display:flex;flex-direction:column;align-items:stretch;gap:14px}.footer-marks{justify-content:flex-start;gap:20px}.footer-marks img{width:42px;max-height:58px}.footer-marks img:first-child{width:calc(100% - 124px);max-width:220px;min-width:0}.leadership-profile{grid-template-columns:1fr;gap:30px}.leadership-profile>img{max-width:320px}.leadership-profile p{font-size:1rem}.our-story>div{max-width:100%}}
@media(max-width:390px){.certification-actions .certification-badges{gap:12px}.certification-actions .certification-mark img{min-width:0}.certification-actions .certification-mark{min-width:0}}

.case-detail-hero h1 em,.case-hero h1 em{font-style:normal;color:#496b2f}

/* Warm gold hero stars, with a brief light sweep and a quiet rest. */
.hero .google-review-puck .review-stars{display:inline-block;color:#ffd21f;font-size:1.125rem;font-weight:900;letter-spacing:1px;filter:drop-shadow(0 0 4px #ffc40066)}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .hero .google-review-puck .review-stars{background-image:linear-gradient(105deg,#ffd21f 0%,#ffcf18 41%,#fff7ae 48%,#fffef0 50%,#fff7ae 52%,#ffcf18 59%,#ffd21f 100%);background-size:300% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:hero-stars-shine 7s ease-in-out infinite}
}
@keyframes hero-stars-shine{0%,12%{background-position:100% 50%}40%,100%{background-position:0% 50%}}
.motion-paused .hero .google-review-puck .review-stars{animation:none;background-position:100% 50%}
@media(prefers-reduced-motion:reduce){.hero .google-review-puck .review-stars{animation:none;background-position:100% 50%}}
