/* Warm surfaces and readable ink; project media retain their original colours. */
:root{color-scheme:light;--ui-bg:#f9f8f5;--ui-surface:#fff;--ui-soft:#eeeae3;--ui-ink:#111210;--ui-muted:#55594f;--ui-border:#d7d8d0;--ui-hover:#eeede8;--ui-focus:#875800;--ui-logo:none}
:root[data-theme=dark]{color-scheme:dark;--ui-bg:#171815;--ui-surface:#22241f;--ui-soft:#252720;--ui-ink:#f2f0e9;--ui-muted:#b8bcb0;--ui-border:#44483e;--ui-hover:#2d3028;--ui-focus:#efd39c;--ui-logo:invert(1)}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--ui-bg:#171815;--ui-surface:#22241f;--ui-soft:#252720;--ui-ink:#f2f0e9;--ui-muted:#b8bcb0;--ui-border:#44483e;--ui-hover:#2d3028;--ui-focus:#efd39c;--ui-logo:invert(1)}}
html{scroll-padding-top:110px}body{background:var(--ui-bg);color:var(--ui-ink)}
body .header.on-light,body .header.is-scrolled,body .header.menu-open,body .mobile-nav{background:var(--ui-bg);color:var(--ui-ink);border-color:var(--ui-border)}
body .header.on-light .official-logo,body .header.on-dark.is-scrolled .official-logo,body .header.on-dark.menu-open .official-logo{filter:var(--ui-logo)}
body .header.on-dark.is-scrolled .header-cta,body .header.on-dark.menu-open .header-cta,.button.dark,.privacy .button{background:var(--ui-ink);color:var(--ui-bg)}
.button.dark:hover,.privacy .button:hover{background:var(--ui-muted);color:var(--ui-bg)}
body .services-home .service-card{background:var(--ui-surface);border-color:var(--ui-border)}
body .services-home .service-card:hover,body .services-home .service-card:focus-visible,.service-row:hover{background:var(--ui-hover);border-color:var(--ui-muted)}
.about-slice,.about-editorial,.case-visual{background:var(--ui-soft)}
.inner-hero p,.split-intro p,.services-home .service-card p,.service-card small,.service-row p,.service-row .list-num,.work-card p,.values p,.values span,.about-copy p,.closing p,.insight-card p,.insight-card small,.in-prep,.strategy-list p,.strategy-links,.privacy p,.case-intro p,.case-caption,.case-deliverables dd,.case-deliverables dt span,.quiet-note{color:var(--ui-muted)}
.eyebrow{color:var(--ui-muted)}.hero .eyebrow,.feature .eyebrow,.page-cta .eyebrow{color:#d1d0c8}
.service-row,.service-row:first-child,.values>div,.case-intro,.case-deliverables dl>div,.case-takeaway,.strategy-links a,.mobile-languages,.icon-circle{border-color:var(--ui-border)}
.filter-pills button{color:var(--ui-muted);border-color:var(--ui-border)}.filter-pills button.active{background:var(--ui-ink);color:var(--ui-bg)}
body .work-card:hover .icon-circle,body .work-card:focus-visible .icon-circle{background:var(--ui-ink);color:var(--ui-bg)}
body :focus-visible{outline:2px solid var(--ui-focus);outline-offset:5px}body :is(.hero,.feature,.footer,.page-cta) :focus-visible{outline-color:#efd39c}
main :is(a,button,select,[tabindex]),section[id],a[id],.case-study{scroll-margin-top:110px;scroll-margin-bottom:24px}
.theme-control{display:flex;align-items:center;gap:12px;font-size:13px;flex-shrink:0}
.theme-control select{font:inherit;min-height:44px;max-width:100%;padding:9px 26px 9px 12px;border:1px solid currentColor;border-radius:24px;background:transparent;color:inherit;cursor:pointer}
.theme-control option{background:var(--ui-bg);color:var(--ui-ink)}
.header>.theme-control>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.header>.theme-control select{font-size:12px;max-width:108px}.header{gap:20px}.desktop-nav a{font-size:12px}.footer-reach .theme-control{margin-top:14px;color:#d1d4ca}
.contact-context{padding:16px 18px;border-left:2px solid var(--ui-muted);background:var(--ui-soft)}
.contact-form .contact-context{margin:0;font-size:14px;color:var(--ui-ink)}
.email-actions{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:center}.copy-email{font:inherit;font-size:13px;min-height:44px;border:1px solid var(--ui-border);border-radius:24px;padding:10px 18px;background:transparent;color:var(--ui-ink);cursor:pointer}.copy-email:hover{background:var(--ui-hover)}
.contact-aside .copy-status{font-size:13px;min-height:1.7em;margin-top:8px}
.process{padding-bottom:90px}.process h2{font-size:clamp(32px,3vw,48px);margin:18px 0 32px}.process ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.process li{border-top:1px solid var(--ui-border);padding-top:22px}.process li>span{font-size:12px;color:var(--ui-muted)}.process h3{font-size:23px;margin:18px 0 14px}.process p{font-size:15px;line-height:1.7;color:var(--ui-muted)}
.work-card .project-contribution{font-size:14px;line-height:1.65;margin-top:16px;max-width:520px;color:var(--ui-muted)}
.values p,.service-row p,.case-deliverables dd,.strategy-list p,.strategy-links,.insight-card p,.about-copy p{font-size:14px;line-height:1.7}.contact-aside p{font-size:14px}.eyebrow{font-size:11px}.footer-bottom{font-size:12px}.footer-reach small{font-size:12px}.case-caption{font-size:12px}
@media(max-width:1100px){.header{gap:12px}.desktop-nav{gap:12px}}
@media(max-width:760px){.header>.theme-control{display:none}.mobile-nav .theme-control{border-top:1px solid var(--ui-border);padding-top:16px;justify-content:space-between}.process ol{grid-template-columns:1fr;gap:28px}.process{padding-bottom:64px}.service-row p{font-size:14px}.header{gap:12px}}
@media(max-width:360px){.header{gap:5px}}
/* Percentage column gaps become oversized row gaps after the mobile stack. */
@media(max-width:760px){.inner-services,.about-inner{row-gap:0}.contact-layout{row-gap:40px}.contact-aside{margin-top:0}}
