/* Review 06: protected graphic captions, larger service icons and client rail. */
.hero-art{height:auto!important;display:flex;flex-direction:column}
.hero-art-stage{position:relative;isolation:isolate;height:540px;overflow:hidden}
.hero-art .art-marker{position:relative;inset:auto;min-height:48px;margin:0;padding:12px 18px;font-size:14px;background:#fff;border-top:1px solid var(--line);z-index:3}
.hero-art .art-axis{z-index:2;background:#fff;padding:4px 7px}
.hero-art-stage .art-caption-two{right:36px}
html[data-hero=dark] .hero-art .art-marker,html[data-hero=dark] .hero-art .art-axis{background:var(--ink)}
.service-card{transition:background .25s,box-shadow .25s}
.service-card .service-card-top{position:relative;display:grid;grid-template-columns:1fr;justify-content:stretch;place-items:center;width:100%;min-height:112px;margin-bottom:24px}
.service-card .service-card-top::before{content:'';position:absolute;width:96px;height:96px;border-radius:50%;background:#416aad0d;transition:background .25s,transform .25s}
.service-card .service-card-top>.line-icon{position:relative;width:64px;height:64px;transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.service-card .service-card-top>span{position:absolute;right:0;top:0}
.service-card:focus-visible{box-shadow:inset 0 3px var(--blue)}
@media(hover:hover){.service-card:hover{background:#f6f8fc;box-shadow:inset 0 3px var(--blue)}.service-card:hover .service-card-top>.line-icon{transform:translateY(-4px) rotate(-4deg)}.service-card:hover .service-card-top::before{background:#416aad18;transform:scale(1.08)}}
.client-logo-grid.is-marquee{position:relative;display:block;overflow:hidden;border:0;border-block:1px solid var(--line);background:#fff;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.client-logo-grid.is-marquee:focus-visible{outline:2px solid var(--blue);outline-offset:5px;mask-image:none}
.client-logo-grid.is-marquee>.client-logo-track{display:flex;width:max-content;padding:0;min-height:0;align-items:stretch;justify-content:flex-start;flex-direction:row}
.client-logo-track>.client-logo-group{display:flex;flex:none}
.client-logo-group>figure{display:flex;align-items:center;justify-content:center;flex:0 0 var(--client-logo-width);width:var(--client-logo-width);height:156px;margin:0;padding:28px;box-sizing:border-box}
.client-logo-group img{display:block;max-width:100%;max-height:84px;width:auto;height:auto;object-fit:contain}
.client-logo-grid.is-static{mask-image:none}
.client-logo-grid.is-static>.client-logo-track{width:100%}
.client-logo-grid.is-static .client-logo-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
.client-logo-grid.is-static .client-logo-group>figure{width:100%;min-width:0}
@media(max-width:1000px){.hero-art-stage{height:430px}.client-logo-grid.is-static .client-logo-group{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.hero-art-stage{height:325px}.hero-art-stage .art-caption-two{right:0}.hero-art .art-marker{font-size:13px;padding:12px 8px}.service-card .service-card-top{min-height:96px;margin-bottom:20px}.service-card .service-card-top>.line-icon{width:60px;height:60px}.client-logo-group>figure{height:124px;padding:22px}.client-logo-group img{max-height:70px}.client-logo-grid.is-static .client-logo-group{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.service-card,.service-card .service-card-top::before,.service-card .service-card-top>.line-icon{transition:none!important;transform:none!important}}
.motion-reduced .service-card .service-card-top>.line-icon,.motion-reduced .service-card .service-card-top::before{transition:none!important;transform:none!important}
.site-header{background:#fff}
.heading-columns,.method-heading,.method-overview h2,.values-section h2,.partners-section h2,.service-depth h2,.service-start h2,.page-intro h1,.article-header h1{margin-top:0}
.belief-layout h2,.partner-home-grid h2,.about-origin h2,.method-principles h2,.method-deliverables h2,.closing h2,.faq-grid h2,.resource-heading h2{margin-top:0}
.phase-identity h2{margin-top:0}.phase-number{margin-bottom:26px}
.manifesto-heading{justify-content:flex-start}.manifesto-heading h2{text-align:left}
.manifesto-section blockquote{margin-top:42px}
.method-deliverables:first-child{margin-top:0}
.team-art{min-height:410px}
.team-art p{margin-top:0;margin-bottom:0}
.team-art-small{min-height:315px}
.partner-info p{font-size:15px;line-height:1.85}
.partner-portrait{width:100%;aspect-ratio:5/6;object-fit:cover}
.partner-role{color:var(--blue)}
.evidence-heading{justify-content:flex-start}.evidence-heading h2{text-align:left}
.metric-outline{background:linear-gradient(145deg,#fff,var(--surface))}
.client-logo-slot>span{font-size:12px;color:var(--blue);margin-bottom:8px}
.client-logo-slot p{font-size:15px;color:var(--ink);margin:0;text-align:center}
.review-panel{padding:40px;background:#fff;border-top:3px solid var(--blue);position:relative}
.review-panel .quote-mark{position:static;display:block;height:55px}
.review-panel h3{font-size:25px;font-weight:500;letter-spacing:-.04em;margin:24px 0 18px;line-height:1.4}
.review-panel p{font-size:15px;line-height:1.85}
.related-pair h3,.service-fit-grid h3{margin-top:0}
.scope-note p{margin-top:0}
.article-service h2{margin-top:0}
.cinema-top{justify-content:flex-end}
.cinema-top .skip-story{min-height:44px}
.cinema .button{font-size:14px}
.form-panel label{font-size:14px}
.form-panel input,.form-panel select,.form-panel textarea{font-size:16px}
.form-panel input::placeholder,.form-panel textarea::placeholder{font-size:14px}
.fine-print,.editorial-note,.form-panel .fine-print,.article-cover figcaption{font-size:13px;line-height:1.8}
.article-toc a{font-size:14px;min-height:36px}
.article-body p{font-size:16px;line-height:1.9}
.article-body .article-conclusion p{font-size:14px}
.method-five .method-grid p{font-size:15px}
.service-card p,.article-card p,.brand-values p{font-size:15px}
.article-meta{font-size:12px;gap:15px;flex-wrap:wrap}
.button,.text-link,.card-link{font-size:14px}
.header-inner{gap:24px}
.desktop-nav{gap:24px}
.header-cta{margin-left:8px}
@media(max-width:1150px) and (min-width:901px){.header-inner{gap:20px}.desktop-nav{gap:18px}.header-cta{display:none}}
@media(max-width:700px){
  .page-intro{padding-top:28px;padding-bottom:44px}
  .page-intro h1{margin-top:0}
  .breadcrumbs{font-size:12px;line-height:1.7;margin-bottom:30px;flex-wrap:wrap}
  .team-art{min-height:320px}.team-art-small{min-height:280px}
  .metrics-grid .metric{display:block;min-width:0;padding:28px 26px 30px}
  .metrics-grid .metric strong{display:block;font-size:42px;line-height:1;margin:0 0 14px}
  .metrics-grid .metric h3,.metrics-grid .metric-outline h3{display:block;width:100%;margin:0 0 13px;font-size:19px;line-height:1.35;overflow-wrap:normal}
  .metrics-grid .metric p{display:block;width:100%;margin:0 0 9px;font-size:15px;line-height:1.7}
  .metrics-grid .metric small{display:block;width:100%;font-size:13px;line-height:1.65;color:var(--muted)}
  .metric-outline .metric-empty{grid-row:auto}
  .client-logo-grid .client-logo-slot{min-height:125px}
  .review-panel{padding:27px}.review-panel h3{font-size:23px}
  .belief-layout h2,.partner-home-grid h2,.about-origin h2,.method-overview h2,.values-section h2,.partners-section h2{margin-top:0}
  .method-heading{margin-top:0}.method-bottom>span{font-size:13px;line-height:1.8}
  .method-five .method-grid p{font-size:15px;line-height:1.8}
  .brand-values{grid-template-columns:1fr}.brand-values>article{padding:25px}.brand-values h3{font-size:20px;margin:12px 0}
  .value-signature{min-height:190px}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:10px}
  .hero-actions .button,.hero-actions .text-link,.article-card .text-link,.resource-heading>.text-link,.service-start .button,.article-action .button{font-size:14px;min-height:44px}
  .hero-bottom{min-height:72px;height:auto;padding:14px 0;font-size:12px;gap:18px}
  .hero-bottom>a{font-size:12px}
  .art-axis{font-size:12px;letter-spacing:.04em}.axis-side{display:none}
  .art-marker{font-size:12px;left:0}.art-caption{font-size:13px}.art-caption span{font-size:12px}
  .closing p,.contact-copy>p,.heading-columns p,.intro-description{font-size:16px}
  .contact-expectations{font-size:14px;line-height:1.8}
  .form-panel{padding:22px}.form-panel .button{font-size:14px}
  .cinema-instruction{font-size:12px;max-width:120px;line-height:1.5}
  .cinema.is-enhanced .cinema-bottom{gap:16px;bottom:76px;align-items:center}
  .cinema-track{max-width:100px;font-size:12px;padding-top:10px}
  .cinema-time{font-size:12px;min-width:66px}.cinema-time>span{font-size:12px}
  .cinema.is-enhanced .cinema-credit{font-size:12px;bottom:32px;line-height:1.5}
  .cinema.is-enhanced .cinema-copy,.cinema.is-enhanced .cinema-perspective,.cinema.is-enhanced .cinema-closing{bottom:150px}
  .cinema-copy p,.cinema.is-enhanced .cinema-closing p{font-size:14px;line-height:1.75}
  .cinema-copy .button{font-size:14px}
  .cinema .skip-story{font-size:13px}
  .footer-top p{font-size:14px}.footer-top nav{font-size:14px;gap:22px}
  .footer-bottom{font-size:12px}.site-footer{padding-bottom:48px}
}
@media(max-height:700px) and (max-width:700px){
  .cinema.is-enhanced .cinema-copy,.cinema.is-enhanced .cinema-perspective,.cinema.is-enhanced .cinema-closing{bottom:133px}
  .cinema.is-enhanced .cinema-copy h2{font-size:28px}
  .cinema-copy p,.cinema.is-enhanced .cinema-closing p{font-size:14px;margin-top:15px}
  .cinema-copy .button{margin-top:18px}
}

/* Home method overview: one connected route, with the full scope one click away. */
.method-route{padding-block:clamp(56px,6vw,88px)}
.method-route-heading{display:flex;align-items:end;justify-content:space-between;gap:32px}
.method-route-heading h2{margin:0;font-size:clamp(28px,3.3vw,46px);line-height:1.3}
.method-route-heading>p{margin:0;max-width:300px;font-size:16px;line-height:1.8;color:white}
.method-route-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:52px 0 40px;isolation:isolate}
.method-route-steps>li{position:relative;min-width:0;padding:0 28px 0 0}
.method-route-steps>li:last-child{padding-right:0}
.method-route-steps>li:not(:last-child)::after{content:"";position:absolute;left:52px;right:0;top:25px;height:1px;background:#ffffff70;z-index:-1}
.method-route-node{display:grid;place-items:center;width:52px;height:52px;border:1px solid #fff;border-radius:50%;background:var(--blue);color:white;font-size:17px;font-weight:500;line-height:1}
.method-route-copy h3{margin:24px 0 10px;font-size:19px;font-weight:500;letter-spacing:-.025em;line-height:1.35;color:white}
.method-route-copy p{margin:0;font-size:15px;line-height:1.75;color:white;max-width:24ch}
.method-route-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ffffff50;padding-top:28px}
.method-route-footer>p{margin:0;font-size:15px;line-height:1.6;color:white}
.method-route .method-route-cta{background:white;color:var(--blue);font-size:15px;min-height:52px;padding:16px 22px;gap:24px;flex-shrink:0}
.method-route .method-route-cta:hover{background:var(--pale);color:var(--ink)}
.method-route .method-route-cta:focus-visible{outline:3px solid white;outline-offset:5px}
@media(max-width:1100px) and (min-width:761px){
  .method-route-steps>li{padding-right:16px}
  .method-route-copy h3{font-size:17px}
  .method-route-copy p{font-size:15px}
}
@media(max-width:760px){
  .method-route-heading{display:block}
  .method-route-heading h2{font-size:clamp(25px,6.2vw,34px)}
  .method-route-heading>p{font-size:16px;margin-top:20px;max-width:none}
  .method-route-steps{grid-template-columns:1fr;margin:32px 0;gap:0}
  .method-route-steps>li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px;padding:0 0 26px}
  .method-route-steps>li:last-child{padding-bottom:0}
  .method-route-steps>li:not(:last-child)::after{left:21px;right:auto;top:44px;bottom:0;width:1px;height:auto}
  .method-route-node{width:44px;height:44px;font-size:15px}
  .method-route-copy h3{font-size:19px;margin:1px 0 6px}
  .method-route-copy p{font-size:15px;line-height:1.65;max-width:none}
  .method-route-footer{flex-direction:column;align-items:stretch;gap:20px;padding-top:24px}
  .method-route-footer>p{font-size:15px}
  .method-route .method-route-cta{justify-content:space-between;width:100%;font-size:14px}
}
