/* Editorial r13: brand-led typography, process evidence and TKR masterbrand. */
@media(max-width:640px){
 .site-header .logo-mark{width:clamp(100px,28vw,132px)}
 .site-header .client-link{white-space:nowrap}
 .governance .governance-symbol svg{transform:scaleX(-1)}
 .governance .governance-symbol,.editorial-motion .governance .governance-symbol{transform:rotate(var(--arrow-mobile-turn,-75deg));transform-origin:87.5% 87.5%;margin-right:8px}
 .governance .governance-label{min-height:48px}
 .governance h2{font-size:clamp(30px,8.5vw,40px)}
 .section .title-ending{white-space:normal}
 .site-footer .footer-top{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
 .site-footer .footer-top>.text-link{margin:0;max-width:100%;overflow-wrap:anywhere}
 .site-footer .footer-grid a{min-height:44px;display:flex;align-items:center;font-size:14px}
 .site-footer .footer-bottom{font-size:11px;line-height:1.65;overflow-wrap:anywhere}
 .site-footer .footer-offices a.office-phone{display:inline;min-height:0}
 .header-tools .menu-toggle{width:40px;min-height:44px;flex-shrink:0;align-items:center}
 .header-tools .theme-toggle{min-width:32px;min-height:44px}
 .service-row>div,.process-sequence>li>*{min-width:0}
 .service-row p{padding-right:0}
 .method-system .method-index a{min-height:48px}
 .media-dialog{max-width:calc(100vw - 16px)}
}
@media(max-width:380px){
 .site-header{padding-inline:12px;gap:2px}
 .site-header .logo-mark{width:90px}
 .site-header .client-link{font-size:8px;padding:8px 5px;gap:3px}
 .site-header .header-tools{gap:0}
 .section-heading h2,.benefits>h2{font-size:36px}
 .service-row h3{font-size:29px}
}
@media(max-width:640px) and (prefers-reduced-motion:reduce){.governance .governance-symbol{transform:rotate(-75deg)!important}}
/* Shared public-site interaction language, also visible with keyboard focus. */
body a:is(:hover,:focus-visible),body .footer-offices a.office-phone:is(:hover,:focus-visible){color:var(--red)}
body a:is(:hover,:focus-visible) :is(h2,h3,p){color:inherit}
body a:is(.text-link,.client-link):is(:hover,:focus-visible),body .main-nav a:is(:hover,:focus-visible){border-color:var(--red)}
body a.button:is(:hover,:focus-visible){color:var(--red);background:var(--bg);border-color:var(--red)}
body .closing a.button:is(:hover,:focus-visible){background:#fff;color:var(--red)}
.agency-principles article,.reason-grid article,.agency-bridge{position:relative}
.editorial-motion .agency-principles .principle-name{width:fit-content;padding-bottom:12px;background:linear-gradient(var(--red),var(--red)) left bottom/calc(var(--agency-progress,0)*100%) 3px no-repeat}
/* Keep the header's layout space: hero depth and page geometry do not jump. */
.site-header{position:sticky;top:0;transition:transform .28s cubic-bezier(.22,.61,.36,1)}
.site-header.is-scroll-hidden:not(.nav-open){transform:translateY(calc(-100% - 2px));pointer-events:none}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}
.agency-experience{background:var(--surface);border-bottom:1px solid var(--line)}.agency-experience h2{margin:28px 0;max-width:1100px}.agency-experience>p:not(.label){max-width:950px;font-size:clamp(17px,1.8vw,24px);color:var(--muted)}
.process-section .section-heading{grid-template-columns:1fr 2.2fr}
.process-intro{max-width:780px;margin:0 0 56px auto;color:var(--muted);font-size:clamp(17px,1.5vw,22px)}
.editorial-motion .service-row h3{width:fit-content;max-width:100%;background:linear-gradient(var(--red),var(--red)) left bottom/calc(var(--service-progress,0)*100%) 3px no-repeat;padding-bottom:10px}
.governance-symbol svg{display:block;width:1em;height:1em;overflow:visible}
.editorial-motion .governance-symbol{transform:rotate(var(--arrow-turn,0deg));transform-origin:12.5% 87.5%;will-change:transform}
.process-end{position:relative}
.editorial-motion .process-end::before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(var(--end-progress,0));transform-origin:left;pointer-events:none}
.editorial-motion .process-sequence>li::before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(var(--step-progress,0));transform-origin:left;pointer-events:none}
.editorial-motion .process-number{color:var(--muted);transition:color .3s ease}
.editorial-motion .step-reached .process-number{color:var(--red)}
@media(prefers-reduced-motion:reduce){.governance-symbol{transform:none!important}.process-number{transition:none!important}}
.process-sequence{list-style:none;padding:0;margin:0}
.process-sequence>li{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1.3fr);gap:32px;padding:40px 0;border-top:1px solid var(--line);position:relative}
.process-number{color:var(--red);font-size:clamp(34px,4vw,60px);line-height:1;font-weight:700}
.process-sequence h3{font-size:clamp(23px,2.5vw,36px);font-weight:600;max-width:520px;line-height:1.12}
.process-summary{color:var(--muted);font-size:17px;max-width:670px}
.process-deliverable{border-left:2px solid var(--red);padding-left:20px;margin-top:24px;font-size:14px}
.process-deliverable .label{display:block;margin-bottom:8px;color:var(--fg)}
.process-end{display:flex;gap:32px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:30px;margin-top:10px}
.process-end p{max-width:700px;color:var(--muted);font-size:14px}
.process-end .text-link{flex-shrink:0}
.method-system{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8vw;align-items:start}
.method-system-head{position:sticky;top:120px}.method-system h2{font-size:clamp(32px,3.6vw,56px);margin:22px 0}.method-system-head>p:not(.label){font-size:17px;color:var(--muted)}
.method-index{display:grid;margin-top:32px}.method-index a{display:flex;gap:20px;padding:14px 0;border-top:1px solid var(--line);font-size:14px}.method-index a>span:first-child{color:var(--red)}
.method-phase{padding:0 0 52px;margin-bottom:48px;border-bottom:1px solid var(--line);scroll-margin-top:120px}.method-phase:last-child{margin-bottom:0}.method-phase>.label{color:var(--red)}.method-phase h3{margin:18px 0 24px;font-size:clamp(28px,2.8vw,42px);font-weight:600}.phase-detail{font-size:17px;color:var(--muted)}
.phase-checks{margin:28px 0 0;display:grid;gap:18px}.phase-checks>div{padding-top:18px;border-top:1px solid var(--line)}.phase-checks dt{font-size:11px;text-transform:uppercase;margin-bottom:7px}.phase-checks dd{margin:0;font-size:15px;color:var(--muted)}.phase-checks .approval-gate{padding:20px 24px;border:1px solid var(--line);border-left:3px solid var(--red);background:var(--surface)}
.workflow-list{margin-top:50px}.workflow-list details{border-top:1px solid var(--line)}.workflow-list summary{display:grid;grid-template-columns:60px 1fr 24px;gap:25px;align-items:center;list-style:none;cursor:pointer;padding:24px 0;font-size:clamp(20px,2vw,30px)}.workflow-list summary::-webkit-details-marker{display:none}.workflow-number{color:var(--red);font-size:18px}.workflow-list details[open] summary>span:last-child{transform:rotate(45deg)}.workflow-list details>p{max-width:800px;margin:0 0 30px 85px;color:var(--muted);font-size:17px}
.quality-section{background:var(--surface);border-block:1px solid var(--line)}.quality-section h2{margin:28px 0;max-width:1000px}.quality-section>p:not(.label){font-size:clamp(17px,1.7vw,23px);max-width:900px;color:var(--muted)}.quality-tags{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}.quality-tags>span{padding:10px 16px;border:1px solid var(--line);font-size:12px}
.agency-manifesto{display:grid;grid-template-columns:1fr 2.2fr;gap:40px;border-block:1px solid var(--line)}.agency-manifesto h2{font-size:clamp(34px,4vw,64px)}.agency-manifesto p:not(.label){font-size:clamp(17px,1.8vw,24px);color:var(--muted);margin-top:36px;max-width:860px}
.agency-principles>.label{margin-bottom:50px}.agency-principles article{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start;padding:44px 0;border-top:1px solid var(--line)}.principle-name{font-size:clamp(60px,10vw,152px);line-height:.95;font-weight:700}.agency-principles h3{font-size:clamp(25px,3vw,40px);margin:20px 0}.agency-principles p{color:var(--muted);font-size:17px;max-width:620px}
.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 64px;margin-top:50px}.reason-grid article{border-top:1px solid var(--line);padding-top:24px}.reason-grid h3{font-size:32px;margin:28px 0 20px}.reason-grid p{color:var(--muted);max-width:620px;font-size:17px}
.agency-bridge{display:grid;grid-template-columns:1.15fr 1fr;gap:8vw;border-top:1px solid var(--line)}.agency-bridge h2{font-size:clamp(36px,4vw,60px);margin-top:26px}.agency-bridge p:not(.label){color:var(--muted);font-size:18px}.agency-bridge .text-link{margin:26px 22px 0 0}
.closing h2{max-width:1500px;font-size:clamp(62px,8vw,130px)}.closing-bottom p{max-width:720px}.services>.section-intro{max-width:760px}
.site-footer{padding-bottom:0;overflow:hidden}.footer-signature{display:none}.footer-masterbrand{display:block;margin:50px calc(-1 * var(--pad)) 0;padding:5vw var(--pad);background:#CB2C31;line-height:0}.footer-masterbrand img{width:100%;height:auto;max-width:1600px;margin:auto}.footer-masterbrand:focus-visible{outline-color:var(--fg);outline-offset:-8px}
.services .service-row .service-headline{font-size:clamp(21px,2.3vw,32px);line-height:1.2;font-weight:600;color:var(--fg);margin:16px 0 18px;max-width:760px}
.services .service-row div.service-visual{cursor:default}
.service-motion{display:block;width:165px;height:165px;flex-shrink:0;--icon-tilt:-5deg}
.service-motion.motion-social{--icon-tilt:4deg}.service-motion.motion-visuals{--icon-tilt:-6deg}
.service-motion img,.services .service-row .service-visual .service-motion img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;transform:rotate(0);transform-origin:50% 60%;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.service-motion-feature{background:transparent;overflow:visible}.service-motion-feature .service-motion{width:min(100%,420px);height:auto;aspect-ratio:1}
@media(hover:hover) and (pointer:fine){.services .service-row .service-visual:hover .service-motion img,.service-motion-feature:hover .service-motion img{transform:rotate(var(--icon-tilt))}}
.services .service-row .service-visual:focus-visible .service-motion img{transform:rotate(var(--icon-tilt))}
@media(max-width:950px){.service-visual .service-motion{width:120px;height:120px}}
@media(max-width:640px){.service-visual .service-motion{width:105px;height:105px;margin-right:30px}.service-motion-feature .service-motion{max-width:300px}}
@media(prefers-reduced-motion:reduce){.service-motion img{transition:none!important;transform:none!important}}
.services .service-row .service-visual .service-hero-icon{width:165px;height:165px;max-width:165px;max-height:165px;object-fit:contain;aspect-ratio:1;transform:none}
@media(max-width:950px){.services .service-row .service-visual .service-hero-icon{width:120px;height:120px;max-width:120px;max-height:120px}}
@media(max-width:640px){.services .service-row .service-visual .service-hero-icon{width:105px;height:105px;max-width:105px;max-height:105px}}
.footer-grid{grid-template-columns:minmax(210px,1.5fr) minmax(140px,.9fr) 1fr 1.3fr 1.1fr;gap:28px}
.footer-partner{margin:0;padding-top:7px;align-self:start;max-width:160px}.footer-partner img{display:block;width:100%;height:auto;filter:none}
.footer-offices a.office-phone{display:inline;margin:0;padding:0;min-height:0;font-size:inherit;line-height:inherit;color:inherit;white-space:nowrap}.footer-offices a.office-phone:hover{text-decoration:underline}
@media(max-width:1100px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px}.footer-partner{max-width:145px}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-grid>div:first-child,.footer-partner{grid-column:1/-1}.footer-partner{padding-top:0;max-width:135px}}
@media(max-width:950px){.process-sequence>li{grid-template-columns:62px minmax(0,1fr) minmax(0,1fr);gap:20px}.method-system{gap:40px}.method-system-head{position:static}.agency-principles article{gap:40px}.agency-manifesto{grid-template-columns:1fr}.agency-bridge{gap:40px}}
@media(max-width:640px){.process-section .section-heading{display:block}.process-intro{font-size:16px;margin-bottom:32px}.process-sequence>li{grid-template-columns:45px 1fr;gap:16px;padding:28px 0}.process-number{font-size:32px}.process-sequence h3{font-size:25px}.process-summary{grid-column:2;font-size:15px}.process-end{display:block}.process-end .text-link{margin-top:20px}.method-system{display:block}.method-index{margin-bottom:55px}.method-phase h3{font-size:30px}.phase-detail{font-size:15px}.phase-checks dd{font-size:14px}.workflow-list summary{grid-template-columns:35px 1fr 20px;gap:14px;font-size:20px}.workflow-list details>p{margin-left:49px;font-size:15px}.agency-manifesto{gap:28px}.agency-manifesto p:not(.label){font-size:17px;margin-top:25px}.agency-principles article{grid-template-columns:1fr;gap:25px;padding:32px 0}.principle-name{font-size:23vw}.agency-principles p{font-size:16px}.reason-grid{grid-template-columns:1fr;gap:30px}.reason-grid h3{font-size:27px}.reason-grid p{font-size:16px}.agency-bridge{grid-template-columns:1fr;gap:32px}.agency-bridge p:not(.label){font-size:16px}.closing h2{font-size:clamp(48px,11vw,68px)}.footer-masterbrand{padding:40px 18px;margin-top:32px}}
@media(prefers-reduced-motion:reduce){.workflow-list summary>span:last-child{transition:none}}
