/* The approved 1488 × 1058 motion study, with real HTML copy and brand assets.
   Desktop removes the study's 91px mock header. Mobile reflows the same art. */
.group-approach.approved-loop{padding:0;overflow:hidden;background:var(--paper);border-top:1px solid var(--rule)}
.business-loop-scene{--loop-title-size:clamp(36px,4.4cqw,56px);--loop-body-size:clamp(16px,1.35cqw,20px);--loop-copy-top:calc(40px + var(--loop-title-size)*2.36);position:relative;isolation:isolate;container-type:inline-size;width:100%;max-width:1488px;height:clamp(600px,calc(100svh - 81px),840px);margin:0 auto;background:transparent}
.business-loop-heading,.business-loop-intro,.business-loop-action,.business-loop-brands,.business-loop-return,.business-loop-toggle{position:absolute;z-index:2}
.business-loop-heading{top:24px;left:4.03%;max-width:66%}
.business-loop-heading h2{font-size:var(--loop-title-size);font-weight:500;line-height:1.18;letter-spacing:0;color:var(--ink)}
.business-loop-heading h2>span{display:block}
.business-loop-intro{top:var(--loop-copy-top);left:4.03%;width:55%;font-size:var(--loop-body-size);line-height:1.6;color:var(--muted)}
.business-loop-action{top:calc(var(--loop-copy-top) + var(--loop-body-size)*1.6 + 8px);left:4.3%;font-size:clamp(14px,1.2cqw,18px);line-height:1.5;min-height:44px;gap:24px;border-color:var(--ink)}
.business-loop-diagram{position:absolute;inset:0;z-index:1;pointer-events:none}
.business-loop-art{position:absolute;inset:0;pointer-events:none;margin:0}
.business-loop-art>svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden}
.business-loop-art>picture{position:absolute;inset:0;display:block;width:100%;height:100%}.business-loop-art>picture>img{display:block;width:100%;height:100%;object-fit:contain}
.business-loop-return{left:53.15%;top:calc(var(--business-return-y,73.5%) - 12px);transform:translateX(-50%);font-size:clamp(12px,1.1cqw,14px);line-height:24px;color:var(--muted);white-space:nowrap}
.business-loop-brands{inset:auto 0 24px;height:80px}
.business-loop-brand{position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px;width:28%;min-height:80px;transform:translateX(-50%);text-align:center}
.business-loop-brand-ai{left:18.14%}.business-loop-brand-origin{left:50%}.business-loop-brand-cash{left:82.4%}
.business-loop-mark{display:flex;align-items:center;justify-content:center;height:40px;width:100%}
.business-loop-mark img{max-width:none;object-fit:contain;transition:none}
.business-loop-brand-ai img{width:clamp(146px,11.83cqw,176px)}
.business-loop-brand-origin img{width:clamp(206px,16.67cqw,248px)}
.business-loop-brand-cash img{width:150px}
.business-loop-caption{font-size:clamp(14px,1.2cqw,18px);line-height:1.5;color:var(--muted)}
.business-loop-brand:hover .business-loop-caption{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.business-loop-brand:active{opacity:.72}
.business-loop-brand::after{content:"";position:absolute;left:50%;bottom:-8px;width:80px;height:2px;background:var(--cyan);opacity:0;transform:translateX(-50%)}
.approved-loop:has([data-phase="0"]) [data-business-phase="0"]::after,.approved-loop:has([data-phase="1"]) [data-business-phase="1"]::after,.approved-loop:has([data-phase="2"]) [data-business-phase="2"]::after{opacity:1}
.business-loop-toggle{right:4.3%;bottom:8px;display:inline-flex;align-items:center;min-height:44px;padding:0 8px;font-size:12px;line-height:20px;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
.business-loop-toggle:hover{color:var(--ink)}
.business-loop-toggle:disabled{cursor:default;text-decoration:none;opacity:1;color:var(--muted)}
@media(max-width:900px){
 .group-approach.approved-loop{padding:56px 0 24px}
 .business-loop-scene{display:flex;flex-direction:column;height:auto;min-height:0;aspect-ratio:auto;padding:0 var(--gutter)}
 .business-loop-heading,.business-loop-intro,.business-loop-action,.business-loop-brands,.business-loop-return,.business-loop-toggle{position:static;transform:none}
 .business-loop-heading{max-width:none}
 .business-loop-heading h2{font-size:clamp(32px,6.6vw,44px);line-height:1.24}
 .business-loop-intro{width:100%;max-width:480px;font-size:16px;line-height:28px;margin-top:24px}
 .business-loop-action{align-self:flex-start;font-size:14px;margin-top:20px;gap:24px}
 .business-loop-diagram{position:relative;inset:auto;flex:none;width:calc(100% + 2*var(--gutter));margin:8px calc(-1*var(--gutter)) 0;aspect-ratio:1488/720}
 .business-loop-art{position:absolute;inset:0;width:100%;height:100%;margin:0}
 .business-loop-return{position:absolute;left:53.15%;top:calc(var(--business-return-y,75.7%) - 12px);transform:translateX(-50%);margin:0;padding:0 8px;font-size:12px;line-height:24px;background:var(--paper)}
 .business-loop-brands{display:flex;flex-direction:column;height:auto;margin-top:24px}
 .business-loop-brand{position:relative;left:auto;width:100%;min-height:80px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;transform:none;border-top:1px solid var(--rule);padding:12px 0;text-align:left}
 .business-loop-mark{justify-content:flex-start;height:48px}
 .business-loop-brand-ai img{width:176px}.business-loop-brand-origin img{width:224px}.business-loop-brand-cash img{width:150px}
 .business-loop-caption{font-size:14px;line-height:24px;white-space:nowrap}
 .business-loop-brand-cash .business-loop-caption{max-width:96px;white-space:normal;text-align:right}
 .business-loop-brand::after{left:0;bottom:-1px;width:48px;transform:none}
 .approved-loop:has([data-phase="0"]) [data-business-phase="0"]::after,.approved-loop:has([data-phase="1"]) [data-business-phase="1"]::after,.approved-loop:has([data-phase="2"]) [data-business-phase="2"]::after{opacity:1}
 .business-loop-toggle{align-self:flex-end;margin-top:16px;padding-right:0}
}
@media(min-width:721px) and (max-width:900px){
 .business-loop-brands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .business-loop-brand{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:112px;padding:12px 0;text-align:center}
 .business-loop-mark{justify-content:center}.business-loop-brand-origin img{width:206px}
 .business-loop-caption{font-size:16px}.business-loop-brand-cash .business-loop-caption{max-width:none;white-space:nowrap;text-align:center}
 .business-loop-brand::after{left:50%;transform:translateX(-50%)}
}
@media(max-width:390px){
 .business-loop-brand{gap:8px}.business-loop-brand-origin img{width:206px}
 .business-loop-caption{font-size:13px}.business-loop-brand-cash .business-loop-caption{max-width:90px}
}
@media(prefers-reduced-motion:reduce){.business-loop-brand::after{display:none}}
