/* Five small process illustrations sit below the existing four-part conceptual loop. */
.acv-five{flex:none;margin-top:9px;border-top:1px solid #cad4c6;padding-top:8px;color:var(--green)}
.acv-five-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.08em;margin-bottom:6px;color:#7c8b77}
.acv-five-heading small{font-size:9px;letter-spacing:0}
.acv-five-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.acv-five-step{margin:0;min-width:0}
.acv-five-step figcaption{display:flex;align-items:center;gap:9px;font-size:12px;white-space:nowrap}
.acv-five-step figcaption>span{font:9px Arial,sans-serif;color:#899d7b}
.acv-five-step figcaption strong{font-weight:550}
.acv-five-step figcaption i{font-size:16px;font-style:normal;margin-left:auto;color:#9eae96}
.acv-five-step svg{display:block;width:100%;height:78px;margin-top:5px;border-radius:6px;background:#e9ede463}
.acv-five-step .stage-guide{stroke:#a2b09a;stroke-width:1;stroke-dasharray:3 4}
.acv-five-step .stage-accent{stroke:#567d42;stroke-width:2}
.view-diamond:not(:has(#tv-panel-cycle:not([hidden]))) .acv-five{display:none}
.view-diamond:has(#tv-panel-cycle:not([hidden]))>.slide-note{display:none}
.view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-diagram{max-width:clamp(250px,35vh,350px)}
.view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail{padding-top:12px;padding-bottom:12px}
.view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-foot{margin-top:16px}
.ai-candidate{animation:stage-generate 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.candidate-b{animation-delay:.35s}.candidate-c{animation-delay:.7s}
.clo-pattern{animation:stage-assemble 4.4s ease-in-out infinite;transform-origin:50px 40px}
.clo-dress{animation:stage-volume 4.4s ease-in-out infinite;transform-origin:147px 43px}
.clo-transfer{stroke-dasharray:5 4;animation:stage-transfer 1.4s linear infinite}
.vr-viewpoint{animation:stage-orbit 5s ease-in-out infinite;transform-origin:100px 56px}
.vr-scan{animation:stage-scan 5s ease-in-out infinite;transform-origin:100px 48px;opacity:.25}
.sew-needle{animation:stage-needle .85s ease-in-out infinite}
.sew-stitch{stroke-width:2;stroke-dasharray:3 3;animation:stage-transfer 1.7s linear infinite}
.runway-model{animation:stage-walk 2s ease-in-out infinite;transform-origin:101px 72px}
.runway-leg{transform-origin:101px 57px;animation:stage-stride 2s ease-in-out infinite}.leg-b{animation-delay:-1s}
.runway-flash{animation:stage-flash 4s ease-in-out infinite}
@keyframes stage-generate{0%,8%{opacity:.15;transform:translateY(7px) scale(.88)}30%,80%{opacity:1;transform:none}100%{opacity:.15;transform:translateY(7px) scale(.88)}}
@keyframes stage-assemble{0%,100%{transform:translateX(0)}45%,65%{transform:translateX(10px);opacity:.5}}
@keyframes stage-volume{0%,100%{transform:scaleX(.82)}45%,65%{transform:scaleX(1.08)}}
@keyframes stage-transfer{to{stroke-dashoffset:-18}}
@keyframes stage-orbit{0%,100%{transform:translate(0,0)}50%{transform:translate(90px,-2px)}}
@keyframes stage-scan{0%,100%{transform:scaleX(1)}50%{transform:scaleX(-1)}}
@keyframes stage-needle{0%,100%{transform:translateY(-6px)}50%{transform:translateY(5px)}}
@keyframes stage-walk{0%,100%{transform:translateY(0)}25%,75%{transform:translateY(-2px)}50%{transform:translateY(1px)}}
@keyframes stage-stride{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}
@keyframes stage-flash{0%,65%,100%{opacity:.15}70%,78%{opacity:1}}
.motion-off .acv-five *{animation-play-state:paused!important}
body:has(dialog[open]) .acv-five *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.acv-five *{animation:none!important}}
@media(min-width:751px) and (max-height:800px){.acv-five{margin-top:5px;padding-top:5px}.acv-five-step svg{height:62px}.acv-five-step figcaption{font-size:10px;gap:6px}.view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-diagram{max-width:270px}.view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail h3{font-size:25px;margin:9px 0}.view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail p{font-size:12px;line-height:1.7}.view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-foot{margin-top:10px}.view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail>.research-cite{margin-top:9px}}
@media(max-width:750px){.acv-five{margin-top:24px}.acv-five-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.acv-five-step svg{height:100px}.acv-five-step figcaption{font-size:12px}.acv-five-heading{margin-bottom:15px}.acv-five-step:last-child{grid-column:1/-1;max-width:50%;width:100%;justify-self:center}.view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-diagram{max-width:320px}}

/* The cycle uses reserved grid rows: diagram, production strip, then sources.
   Its size follows the actual panel height, never the viewport height alone. */
@media(min-width:751px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])){display:grid;grid-template-rows:auto minmax(320px,1fr) auto auto auto;row-gap:9px}
 .view-diamond:has(#tv-panel-cycle:not([hidden]))>.slide-head{margin-bottom:4px}
 .view-diamond:has(#tv-panel-cycle:not([hidden]))>.slide-body{min-height:0;display:block}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-theory{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;height:100%;max-height:none}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-theory-reference{display:none}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) #tv-panel-cycle{min-height:0;height:100%;padding:8px 0 12px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-layout{height:100%;min-height:0;container-type:size;max-width:none;grid-template-columns:44% minmax(0,1fr);gap:32px;padding:0 24px;align-items:center}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-diagram.tv-cycle-diagram{width:min(340px,34cqw,calc(100cqh - 22px));height:min(340px,34cqw,calc(100cqh - 22px));max-width:none;flex:none;aspect-ratio:1;margin:auto}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail{align-self:center;padding:12px 0 12px 32px;max-width:690px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail h3{margin:10px 0 12px;font-size:clamp(24px,2vw,31px)}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail p{font-size:clamp(12px,.95vw,15px);line-height:1.8}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail>.research-cite{margin-top:11px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-foot{margin-top:14px;font-size:10px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five{margin:0;padding:12px 16px 10px;background:#e9ede450;border:1px solid #d6ddcf;border-radius:9px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-heading{margin-bottom:10px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-step svg{height:74px;background:transparent}
 .view-diamond:has(#tv-panel-cycle:not([hidden]))>.research-refbar{margin-top:0}
 .view-diamond:has(#tv-panel-cycle:not([hidden]))>.source{margin-top:0}
}
@media(min-width:751px) and (max-height:800px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])){grid-template-rows:auto minmax(300px,1fr) auto auto auto;row-gap:5px;padding-bottom:6px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-theory{gap:9px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five{padding:8px 12px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-step svg{height:56px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-heading{margin-bottom:6px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail{padding-top:4px;padding-bottom:4px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail h3{font-size:24px;margin:7px 0}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail>strong{font-size:14px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail p{font-size:12px;line-height:1.7}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-foot{margin-top:9px}
}
@media(max-width:750px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-theory-reference{display:none}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail{margin-top:16px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five{padding:16px 12px;background:#e9ede450;border:1px solid #d6ddcf;border-radius:9px}
}

/* Five production stages have a distinct, readable row below the conceptual cycle. */
.view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five{padding:0;background:none;border:0;border-radius:0;margin:0}
.view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-heading{margin:0 0 12px;color:#254d43;letter-spacing:0}
.acv-five-heading strong{font-size:clamp(15px,1.2vw,20px);font-weight:650}
.acv-five-heading small{font-size:11px;color:#64786b}
.acv-five-grid{gap:26px}
.acv-five-step{position:relative;padding:15px 14px 9px;border:1px solid #b5c6b8;border-top:3px solid #315b4c;border-radius:8px;background:#fcfcf8;box-shadow:0 5px 12px #183e3307}
.acv-five-step:not(:last-child)::after{content:'→';position:absolute;right:-23px;top:50%;transform:translateY(-50%);font-size:21px;font-weight:500;color:#557464}
.acv-five-step figcaption{gap:10px;font-size:clamp(14px,1.25vw,21px);color:#183e33;line-height:1.35;white-space:normal}
.acv-five-step figcaption>span{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:50%;background:#254d43;color:#fff;font:600 13px Arial,sans-serif}
.acv-five-step figcaption strong{font-weight:650;word-break:keep-all}
.view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-step svg{height:96px;margin-top:8px;background:transparent;color:#254d43}
.acv-five-step svg>g{stroke-width:1.8}
.acv-five-step .stage-guide{stroke:#78917b;stroke-width:1.3}
@media(min-width:751px){.view-diamond:has(#tv-panel-cycle:not([hidden])){grid-template-rows:auto minmax(270px,1fr) auto auto auto}}
@media(min-width:751px) and (max-height:800px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])){grid-template-rows:auto minmax(245px,1fr) auto auto auto}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-heading{margin-bottom:8px}
 .acv-five-heading strong{font-size:15px}.acv-five-heading small{font-size:10px}
 .acv-five-grid{gap:22px}.acv-five-step{padding:10px 12px 6px}
 .acv-five-step figcaption{font-size:15px;gap:8px}.acv-five-step figcaption>span{width:26px;height:26px;font-size:11px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-step svg{height:66px;margin-top:4px}
 .acv-five-step:not(:last-child)::after{right:-20px;font-size:18px}
}
@media(max-width:750px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five{margin-top:22px}
 .acv-five-heading{align-items:baseline;gap:10px}.acv-five-heading small{font-size:9px;text-align:right}
 .acv-five-grid{gap:14px}.acv-five-step{padding:12px 10px 8px}
 .acv-five-step figcaption{font-size:14px;gap:7px}.acv-five-step figcaption>span{width:26px;height:26px;font-size:11px}
 .acv-five-step:not(:last-child)::after{display:none}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-step svg{height:90px}
 .acv-five-step:last-child{max-width:calc(50% - 7px)}
}

/* Give the conceptual wheel more presence, with enough room for every label. */
@media(min-width:751px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-layout{grid-template-columns:46% minmax(0,1fr);gap:30px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-diagram.tv-cycle-diagram{width:min(410px,32cqw,calc(128cqh - 24px));height:min(410px,32cqw,calc(128cqh - 24px))}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node{width:130px;min-width:130px;height:50px;padding:10px;gap:6px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node strong{font-size:12px;letter-spacing:-.03em}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node small{font-size:10px;opacity:.7;flex:none}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node-1{left:101%}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node-3{left:-1%}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-center{width:144px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-center strong{font-size:27px;line-height:1.4}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-center small{font-size:7px;letter-spacing:.06em;margin-bottom:10px}
}
@media(min-width:751px) and (max-height:800px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node{width:116px;min-width:116px;height:44px;padding:8px;gap:5px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node strong{font-size:11px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node small{font-size:9px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node-1{left:105%}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node-3{left:-5%}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-center{width:112px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-center strong{font-size:22px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-center small{font-size:6px;margin-bottom:8px}
}
@media(min-width:751px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-diagram.tv-cycle-diagram{top:-12px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node strong{font-size:13px}
}
@media(min-width:751px) and (max-height:800px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-diagram.tv-cycle-diagram{top:-20px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-node strong{font-size:12px}
}

/* Balance the enlarged wheel with taller production cards. */
@media(min-width:751px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])){padding-top:clamp(24px,3vh,34px)}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-diagram.tv-cycle-diagram{width:min(410px,32cqw,calc(132cqh - 24px));height:min(410px,32cqw,calc(132cqh - 24px))}
 .acv-five-step{padding:18px 14px 12px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-step svg{height:124px;margin-top:8px}
}
@media(min-width:751px) and (max-height:800px){
 .acv-five-step{padding:11px 12px 8px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-step svg{height:80px;margin-top:4px}
}
@media(max-width:750px){
 .acv-five-step{padding:15px 10px 12px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-five-step svg{height:110px}
}
@media(min-width:751px) and (min-height:801px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-diagram.tv-cycle-diagram{top:-34px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail{position:relative;top:-24px}
}
@media(min-width:751px) and (max-height:800px){
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .acv-ring-diagram.tv-cycle-diagram{top:-26px}
 .view-diamond:has(#tv-panel-cycle:not([hidden])) .tv-cycle-detail{position:relative;top:-10px}
}
