/* Text stays in the document flow; only the shared company accompanies it. */
#enfoque,.motion-ready #enfoque { height:auto; scroll-margin-top:100px; }
#enfoque .process-pin,.motion-ready #enfoque .process-pin { position:relative; top:auto; display:block; height:auto; min-height:0; padding:100px var(--gutter) 56px; }
#enfoque .stage-intro,#enfoque .process-stage,#enfoque .stage-marker { width:100%; max-width:1600px; margin-inline:auto; }
#enfoque .stage-intro { position:static; padding:0 0 42px; }
#enfoque .stage-intro .section-caption { font-size:12px; margin-bottom:24px; }
#enfoque .stage-intro h2 { font-size:clamp(42px,5.2vw,76px); line-height:1.08; letter-spacing:-.065em; }
#enfoque .approach-intro-copy { margin-top:24px; color:var(--muted); font-size:15px; }
#enfoque .process-stage,.motion-ready #enfoque .process-stage { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr); align-items:start; column-gap:5vw; height:auto; min-height:0; overflow:visible; isolation:auto; flex:none; background:var(--paper); }
.approach-editorial { min-width:0; }
.approach-step { min-height:clamp(400px,64svh,660px); display:flex; align-items:center; padding:55px 0; border-top:1px solid var(--line); scroll-margin-top:160px; }
.approach-step-copy { max-width:400px; }
#enfoque .step-kicker { display:flex; gap:18px; align-items:center; font-size:12px; color:#0066ad; margin:0 0 28px; }
.step-kicker span { font-size:11px; }
#enfoque .approach-step h3 { font-size:clamp(30px,3.1vw,46px); letter-spacing:-.055em; line-height:1.13; margin-bottom:23px; }
#enfoque .approach-step-copy>p:not(.step-kicker) { font-size:15px; color:var(--muted); line-height:1.7; max-width:365px; }
#enfoque .approach-step-copy .step-result { padding-left:16px; border-left:1px solid #2287d966; margin-top:26px; font-size:12px!important; max-width:320px; }
.approach-visual { position:sticky; top:max(112px,calc((100svh - 590px)/2)); align-self:start; min-width:0; display:flex; flex-direction:column; padding:22px 0; }
#enfoque .process-art { position:relative; inset:auto; width:100%; height:auto; transform:none; transition:none; will-change:auto; pointer-events:none; }
#enfoque .process-art>svg { display:block; width:100%; height:auto; max-height:calc(100svh - 315px); overflow:visible; }
#enfoque .process-art text { font-family:'DM Sans',sans-serif; }
#enfoque .company-part { transform-box:view-box; }
#enfoque .company-system-label { font-size:22px; fill:var(--ink); }
#enfoque .company-friction { font-size:16px; }
#enfoque .company-link-ink { stroke-linecap:round; stroke-linejoin:round; }
#enfoque .company-dashboard { filter:drop-shadow(0 14px 22px #30333212); }
#enfoque .diagnostic-lens { filter:drop-shadow(0 4px 7px #2287d918); }
#enfoque .moving-task,#enfoque .moving-record { filter:drop-shadow(0 2px 3px #2287d91a); }
.company-companion { align-self:center; display:flex; align-items:center; gap:19px; margin-top:20px; padding:0 12px; }
.company-companion img { display:block; width:82px; height:auto; flex:none; object-fit:contain; filter:none; transform:none; opacity:1; }
.company-companion p { color:var(--muted); font-size:11px; line-height:1.6; border-left:1px solid #2287d980; padding-left:19px; }
#enfoque .process-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:32px; }
#enfoque .process-tabs a { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:7px 10px; padding:13px 0 5px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; transition:color .2s; }
#enfoque .process-tabs a>span { font-size:9px; }
#enfoque .process-tabs a:before { content:''; position:absolute; inset:-1px 0 auto; height:2px; background:var(--blue); transform:scaleX(var(--tab-progress,0)); transform-origin:left; }
#enfoque .process-tabs a[aria-current=step] { color:#0066ad; }
#enfoque .stage-marker { position:static; display:flex; justify-content:space-between; align-items:center; gap:24px; max-width:1600px; padding:26px 0 0; border-top:1px solid var(--line); font-size:11px; }
#enfoque .stage-marker>span:first-child { display:block; width:auto; height:auto; background:none; border-radius:0; }
#enfoque .stage-marker .scene-skip { flex-basis:auto; margin:0; }
@media(max-width:1100px) and (min-width:901px) { #enfoque .process-stage { column-gap:3vw; grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr); } #enfoque .process-tabs a { font-size:10px; gap:6px; } }
@media(max-width:900px) {
  #enfoque,.motion-ready #enfoque { scroll-margin-top:88px; }
  #enfoque .process-pin,.motion-ready #enfoque .process-pin { padding:65px 6vw 35px; }
  #enfoque .stage-intro { padding-bottom:28px; }
  #enfoque .stage-intro h2 { font-size:clamp(38px,8vw,58px); }
  #enfoque .stage-intro .section-caption { font-size:11px; margin-bottom:17px; }
  #enfoque .approach-intro-copy { font-size:13px; max-width:280px; margin-top:20px; }
  #enfoque .process-stage,.motion-ready #enfoque .process-stage { display:flex; flex-direction:column; gap:0; }
  .approach-visual { order:-1; top:84px; z-index:5; align-self:stretch; padding:13px 0 12px; background:var(--paper); border-bottom:1px solid var(--line); }
  #enfoque .process-art { flex:none; }
  #enfoque .process-art>svg { width:100%; height:clamp(145px,25svh,245px); max-height:none; }
  #enfoque .company-system-label { font-size:26px; }
  #enfoque .company-label { font-size:29px; }
  #enfoque .company-friction,#enfoque .company-trace { display:none; }
  .company-companion { margin-top:0; gap:12px; }
  .company-companion img { width:48px; }
  .company-companion p { font-size:9px; padding-left:12px; }
  #enfoque .process-tabs { gap:10px; margin-top:14px; }
  #enfoque .process-tabs a { justify-content:center; gap:6px; padding:9px 0 2px; font-size:10px; }
  #enfoque .process-tabs a>span { display:none; }
  .approach-editorial { width:100%; }
  .approach-step { min-height:clamp(325px,46svh,435px); padding:36px 0; scroll-margin-top:calc(86px + 25svh + 110px); }
  .approach-step:first-child { border-top:0; }
  .approach-step-copy { max-width:530px; }
  #enfoque .step-kicker { font-size:11px; margin-bottom:18px; gap:13px; }
  #enfoque .approach-step h3 { font-size:clamp(29px,7vw,39px); margin-bottom:17px; }
  #enfoque .approach-step h3 br { display:none; }
  #enfoque .approach-step h3 br:after { content:' '; }
  #enfoque .approach-step-copy>p:not(.step-kicker) { font-size:14px; line-height:1.6; max-width:470px; }
  #enfoque .approach-step-copy .step-result { margin-top:19px; font-size:11px!important; }
  #enfoque .stage-marker { font-size:10px; align-items:flex-start; }
}
@media(max-width:360px) { #enfoque .process-tabs { gap:6px; } #enfoque .process-tabs a { font-size:9px; } #enfoque .approach-step h3 { font-size:27px; } }
@media(min-width:761px) and (max-width:900px) { .approach-visual { top:100px; } }
@media(max-height:600px) and (min-width:901px) { .approach-visual { top:105px; padding-block:10px; } #enfoque .process-art>svg { max-height:calc(100svh - 240px); } .company-companion { margin-top:5px; } .company-companion img { width:55px; } #enfoque .process-tabs { margin-top:14px; } }
@media(max-height:480px) and (max-width:900px) { .approach-visual { position:relative; top:auto; } .approach-step { min-height:300px; scroll-margin-top:110px; } }
@media(max-height:480px) and (min-width:600px) and (max-width:900px) {
  #enfoque .process-stage,.motion-ready #enfoque .process-stage { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:25px; }
  .approach-editorial { grid-column:1; grid-row:1; }
  .approach-visual { grid-column:2; grid-row:1; order:0; position:sticky; top:100px; align-self:start; padding:5px 0; border:0; }
  #enfoque .process-art>svg { height:calc(100svh - 205px); }
  .company-companion img { width:32px; }
  .company-companion p { font-size:8px; }
  #enfoque .process-tabs { gap:5px; margin-top:9px; }
  #enfoque .process-tabs a { font-size:9px; }
  #enfoque .approach-step h3 { font-size:25px; }
  #enfoque .approach-step-copy>p:not(.step-kicker) { font-size:12px; }
  #enfoque .step-kicker { margin-bottom:13px; }
}
@media(prefers-reduced-motion:reduce) { #enfoque .process-art,#enfoque .process-tabs a { animation:none!important; transition:none!important; } }

