/* Strategy-only refinement. Shared site typography, navigation and buttons
   stay intact; subsequent service revisions are deliberately unaffected. */
.sp[data-service="strategy"]{
  --sec:clamp(58px,6vw,88px);
}
.sp[data-service="strategy"] .sp-hero{min-height:min(100svh,820px);padding-top:calc(var(--nav-h) + 48px);padding-bottom:64px}
.sp[data-service="strategy"] .sp-hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px}
.sp[data-service="strategy"] .sp-title{font-size:clamp(32px,3.7vw,54px);max-width:14em;line-height:1.1;text-wrap:balance}
.sp[data-service="strategy"] .sp-lead{max-width:51ch}
.sp[data-service="strategy"] .sp-hero__visual--strategy{min-height:390px}
.sp[data-service="strategy"] .sp-hero__object{width:138%;right:-4%;opacity:.86;transform-origin:72% 50%}
.sp[data-service="strategy"] .sp-section--tight{padding-block:var(--sec)}
.sp[data-service="strategy"] :is(.sp-head,.sp-formats__head,.sp-strategy-system__head){gap:14px 48px;margin-bottom:32px;align-items:start}
.sp[data-service="strategy"] :is(.sp-formats__head>p,.sp-strategy-system__head>p){margin:0;grid-column:1/-1}
.sp[data-service="strategy"] :is(.sp-formats__head>span,.sp-strategy-system__head>span){max-width:44ch;font-size:15px}
.sp[data-service="strategy"] :is(h2,h3){text-wrap:balance}
.sp[data-service="strategy"] .sp-decision-frame{padding:0}
.sp[data-service="strategy"] .sp-decision-frame__head{margin-bottom:36px}
.sp[data-service="strategy"] .sp-decision-frame__line{white-space:normal}
.sp[data-service="strategy"] .sp-decision-frame__accent{color:var(--sp-accent);font-weight:inherit;letter-spacing:inherit}
.sp[data-service="strategy"] :is(.sp-decision-frame__item,.sp-strategy-cycle__phase){border-top:1px solid var(--line);padding-top:20px}
.sp[data-service="strategy"] :is(.sp-decision-frame__item,.sp-strategy-cycle__phase,.sp-strategy-cycle__steps>li)::before,
.sp[data-service="strategy"] :is(.sp-decision-frame__item,.sp-strategy-cycle__phase)::after{content:none}
.sp[data-service="strategy"] .sp-strategy-cycle__steps>li{padding-left:0}
.sp[data-service="strategy"] .sp-strategy-cycle__phase-head h3{color:var(--sp-accent)}
.sp[data-service="strategy"] .sp-strategy-cycle__head{margin-bottom:30px}
.sp[data-service="strategy"] .sp-strategy-cycle__phase-head>p{margin:10px 0 24px}

/* All seven promised outputs live beside the work map, rather than being
   repeated in a second, distant section. Native details work by keyboard. */
.sp[data-service="strategy"] .sp-strategy-scope{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(36px,7vw,100px)}
.sp[data-service="strategy"] .sp-strategy-scope__intro{position:static}
.sp[data-service="strategy"] .sp-strategy-scope__intro>span{margin-top:20px;font-size:16px}
.sp-strategy-deliverables{margin:20px 0 0;display:grid;gap:0}
.sp-strategy-deliverables>div{padding:12px 0;border-bottom:1px solid var(--line)}
.sp-strategy-deliverables dt{font-size:16px;font-weight:460;color:var(--ink)}
.sp-strategy-deliverables dd{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink-2);max-width:47ch}
.sp-strategy-workmap{min-width:0}
.sp-strategy-workmap__title{margin:0 0 16px;font-size:clamp(27px,3.1vw,47px);font-weight:340;line-height:1.08;letter-spacing:-.032em}
.sp-strategy-step{border-top:1px solid var(--line)}
.sp-strategy-step:last-child{border-bottom:1px solid var(--line)}
.sp-strategy-step summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:62px;padding:16px 0;list-style:none;cursor:pointer}
.sp-strategy-step summary::-webkit-details-marker{display:none}
.sp-strategy-step summary::after{content:'';flex:none;width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 4px 4px 0;color:var(--sp-accent);transition:transform .2s ease}
.sp-strategy-step[open] summary::after{transform:rotate(225deg);margin-bottom:-4px}
.sp-strategy-step summary h3{font-size:clamp(17px,1.5vw,21px);font-weight:400;line-height:1.3;letter-spacing:-.02em}
.sp-strategy-step summary:hover,.sp-strategy-step[open] summary{color:var(--sp-accent)}
.sp-strategy-step summary:focus-visible{outline:2px solid var(--sp-accent);outline-offset:5px;border-radius:2px}
.sp-strategy-step__detail{padding:0 28px 22px 0}
.sp-strategy-step__detail span{display:block;font-size:12px;color:var(--sp-accent);margin-bottom:6px}
.sp-strategy-step__detail p{font-size:14px;line-height:1.6;color:var(--ink-2);margin:0 0 16px;max-width:51ch}
.sp-strategy-step__detail p:last-child{margin-bottom:0}

.sp[data-service="strategy"] .sp-formats>li{min-height:0;padding-top:22px;padding-bottom:24px}
.sp[data-service="strategy"] .sp-formats h3{font-size:22px;max-width:25ch}
.sp[data-service="strategy"] .sp-formats p{max-width:53ch}
.sp[data-service="strategy"] .sp-strategy-system{min-height:0;grid-template-rows:auto 116px auto;row-gap:60px;column-gap:24px;overflow:visible}
.sp[data-service="strategy"] .sp-strategy-system__core{width:210px;opacity:1;transform:none;transition:none}
.sp[data-service="strategy"] .sp-strategy-system__core strong{font-size:32px;letter-spacing:-.035em}
.sp[data-service="strategy"] .sp-strategy-system__node{opacity:1;transform:none;transition:none}
.sp[data-service="strategy"] .sp-strategy-system__links .sp-flow{stroke:var(--sp-accent);filter:none;will-change:auto;stroke-width:1.1;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.65,.3,1) var(--sp-link-delay),opacity .4s ease var(--sp-link-delay)}
.sp[data-service="strategy"] .sp-strategy-system.is-assembled .sp-flow{opacity:.48;stroke-dashoffset:0}
.sp[data-service="strategy"] .sp-strategy-system__nodes{display:contents}
.sp[data-service="strategy"] .sp-strategy-system__node p{max-width:28ch}
.sp[data-service="strategy"] .sp-strategy-system__node:nth-child(3) p,
.sp[data-service="strategy"] .sp-strategy-system__node:nth-child(7) p{margin-left:auto}
.sp[data-service="strategy"] .sp-strategy-gate{gap:clamp(36px,6vw,80px)}
.sp[data-service="strategy"] .sp-strategy-gate__intro{position:static}
.sp[data-service="strategy"] .sp-strategy-gate__intro aside{margin-top:24px}
.sp[data-service="strategy"] .sp-strategy-gate__items>li{min-height:0;padding-top:18px}
.sp[data-service="strategy"] .sp-trust__head{margin-bottom:32px}
.sp[data-service="strategy"] .sp-cta{border-top:1px solid var(--line)}

@media(min-width:901px){
  /* Правки ч. 4: блок «Одна задача связывает все направления» стоит в той же
     колонке, что и соседние разделы, — заголовок и схема на одной линии с ними. */
  .sp[data-service="strategy"] .sp-strategy-system-section>.wrap{max-width:var(--wrap);padding-inline:var(--gut)}
  .sp[data-service="strategy"] .sp-strategy-system{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 140px auto;row-gap:76px}
  .sp[data-service="strategy"] .sp-strategy-system__links{display:block}
  .sp[data-service="strategy"] .sp-strategy-system__core{grid-column:4/10;grid-row:2;width:240px}
  .sp[data-service="strategy"] .sp-strategy-system__core strong{font-size:clamp(36px,2.7vw,40px)}
  .sp[data-service="strategy"] .sp-strategy-system__core span{font-size:14px}
  .sp[data-service="strategy"] .sp-strategy-system__node:nth-child(1){grid-column:1/span 4!important;grid-row:1!important}
  .sp[data-service="strategy"] .sp-strategy-system__node:nth-child(2){grid-column:5/span 4!important;grid-row:1!important}
  .sp[data-service="strategy"] .sp-strategy-system__node:nth-child(3){grid-column:9/span 4!important;grid-row:1!important}
  .sp[data-service="strategy"] .sp-strategy-system__node:nth-child(4){grid-column:1/span 3!important;grid-row:3!important}
  .sp[data-service="strategy"] .sp-strategy-system__node:nth-child(5){grid-column:4/span 3!important;grid-row:3!important}
  .sp[data-service="strategy"] .sp-strategy-system__node:nth-child(6){grid-column:7/span 3!important;grid-row:3!important}
  .sp[data-service="strategy"] .sp-strategy-system__node:nth-child(7){grid-column:10/span 3!important;grid-row:3!important}
  .sp[data-service="strategy"] .sp-strategy-system__node{align-self:stretch!important;text-align:center!important}
  .sp[data-service="strategy"] .sp-strategy-system__node h3{font-size:clamp(21px,1.65vw,24px)}
  .sp[data-service="strategy"] .sp-strategy-system__node p{max-width:28ch;margin-inline:auto;font-size:clamp(14px,1vw,15px);text-wrap:balance}
}
@media(max-width:900px){
  .sp[data-service="strategy"] .sp-hero{padding-top:calc(var(--nav-h) + 38px);padding-bottom:40px;min-height:0}
  .sp[data-service="strategy"] .sp-hero__grid{grid-template-columns:1fr;gap:20px}
  .sp[data-service="strategy"] .sp-title{max-width:20ch;font-size:clamp(32px,5.2vw,46px)}
  .sp[data-service="strategy"] .sp-hero__visual--strategy{min-height:280px;max-width:620px;justify-self:end}
  .sp[data-service="strategy"] .sp-hero__object{width:100%;right:0}
  .sp[data-service="strategy"] .sp-strategy-scope{grid-template-columns:1fr;gap:36px}
  .sp-strategy-deliverables{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
  .sp[data-service="strategy"] .sp-strategy-system{grid-template-columns:1fr;grid-template-rows:auto auto;gap:28px}
  .sp[data-service="strategy"] .sp-strategy-system__links{display:none}
  .sp[data-service="strategy"] .sp-strategy-system__nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
  .sp[data-service="strategy"] .sp-strategy-system__node{border-top:1px solid var(--line);padding-top:14px;text-align:left!important}
  .sp[data-service="strategy"] .sp-strategy-system__node p{margin-left:0!important}
  /* Правки ч. 4: на телефоне и планшете центральный узел «Задача бизнеса»
     скрыт — направления идут двумя колонками, каждое в узком блоке по центру
     своей колонки. */
  .sp[data-service="strategy"] .sp-strategy-system__core{display:none}
  .sp[data-service="strategy"] .sp-strategy-system__nodes{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px 16px}
  .sp[data-service="strategy"] .sp-strategy-system__node{justify-self:center;width:100%;max-width:150px}
  .sp[data-service="strategy"] .sp-strategy-system__node:last-child:nth-child(odd){grid-column:1/-1!important}
}
@media(max-width:600px){
  .sp[data-service="strategy"]{--sec:48px}
  .sp[data-service="strategy"] .sp-hero__grid{gap:8px}
  .sp[data-service="strategy"] .sp-title{font-size:32px;max-width:none;text-wrap:initial}
  .sp[data-service="strategy"] .sp-lead{font-size:16px;line-height:1.6}
  .sp[data-service="strategy"] .sp-hero__visual--strategy{min-height:230px;max-height:none}
  .sp[data-service="strategy"] :is(.sp-formats__head,.sp-strategy-system__head){grid-template-columns:1fr;gap:14px;margin-bottom:28px}
  .sp[data-service="strategy"] :is(.sp-formats__head h2,.sp-strategy-system__head h2){max-width:none;font-size:29px}
  .sp-strategy-deliverables{grid-template-columns:1fr}
  .sp[data-service="strategy"] .sp-formats{grid-template-columns:1fr}
  .sp[data-service="strategy"] .sp-formats>li{border-left:0;padding:20px 0}
  .sp[data-service="strategy"] .sp-formats h3{font-size:21px;max-width:none}
  .sp[data-service="strategy"] .sp-strategy-system__node p{max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .sp[data-service="strategy"] .sp-flow{stroke-dashoffset:0!important;opacity:.48!important;transition:none!important}
  .sp-strategy-step summary::after{transition:none}
}

/* Hero object, alive: colour pulled from electric blue towards the lilac of
   the title accent; it floats in on arrival, drifts slowly, tilts in
   perspective after the pointer, and a glint runs over its bright edges.
   The glint is masked by the image's own luminance, so only lit glass and
   the light path catch it, never the dark background. */
.sp[data-service="strategy"] .sp-hero__visual--strategy{perspective:1100px}
.sp[data-service="strategy"] .sp-hero__object{
  filter:hue-rotate(16deg) saturate(.92) brightness(1.06);
  transform:translate3d(0,-50%,0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));
  transition:transform .2s linear,filter .5s ease,opacity .5s ease;
  animation:sp-strat-in 1.4s cubic-bezier(.16,1,.3,1) both,sp-strat-float 9s ease-in-out 1.4s infinite}
.sp[data-service="strategy"] .sp-hero__visual:hover .sp-hero__object{
  transform:translate3d(0,-50%,0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));
  filter:hue-rotate(16deg) saturate(1) brightness(1.14);opacity:.92}
@keyframes sp-strat-in{from{opacity:0;scale:.92;translate:0 26px}to{opacity:.86;scale:1;translate:0 0}}
@keyframes sp-strat-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
.sp-strat-glint{position:absolute;z-index:2;pointer-events:none;
  -webkit-mask-size:100% 100%;mask-size:100% 100%;mask-mode:luminance;
  background:linear-gradient(105deg,transparent 42%,rgba(226,216,255,.75) 50%,transparent 58%) 130% 0/300% 100% no-repeat;
  transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:72% 50%;transition:transform .2s linear;
  mix-blend-mode:screen;opacity:.9;
  animation:sp-strat-glint 7s cubic-bezier(.45,0,.2,1) 2s infinite,sp-strat-float 9s ease-in-out 1.4s infinite}
@keyframes sp-strat-glint{0%{background-position:130% 0}32%,100%{background-position:-30% 0}}
@media (prefers-reduced-motion:reduce){
  .sp[data-service="strategy"] .sp-hero__object{animation:none;transition:none;transform:translate3d(0,-50%,0)}
  .sp-strat-glint{display:none}
}
