/* One slow, repeatable timeline owns all illustration movement. */
:is(.service-art,.site-art) g,:is(.service-art,.site-art) .packet{transition:none!important;animation:none!important}
:is(.service-art,.site-art) :is(.lift,.rise,.shift,.join,.scan,.needle,.rotor,.turn,.packet,.release){transform:none;transform-box:fill-box;transform-origin:center}
.composition-layer{transform-box:view-box;transform-origin:center}
:is(.service-art,.site-art) .original-person{transform-box:view-box}
:is(.service-art,.site-art) .original-person *{animation:none!important;transition:none!important}
/* Cancel legacy hover offsets: they otherwise detach whole objects from their supports. */
:is(article,.hero-object,.mode-art,.civic-covenant,.conversation aside,.journal-heading,.flying-card,.door,.frame-stop):is(:hover,:focus-within) :is(.lift,.rise,.shift,.join,.scan,.needle,.rotor,.turn,.packet,.release){transform:none}
#ladder .service-art{filter:grayscale(1);opacity:.55}#ladder article.active .service-art{filter:none;opacity:1}
#ladder .service-art,#doors .service-art{display:grid;place-items:center;width:100%;height:100%}
#ladder .service-art>svg{display:block;width:90%;height:100%;max-height:220px;overflow:visible}
#doors .astra-engagement>.service-art{height:100%}#doors .service-art svg{max-height:100%;width:90%}
@media(prefers-reduced-motion:reduce){.composition-route-signal{display:none}.composition-layer{opacity:1!important;transform:none!important}}
/* Native portrait groups preserve original viewBox proportions and joined anatomy. */
#ladder .service-art>svg{width:100%;max-height:300px}
#doors .service-art>svg{width:100%;height:100%;max-height:310px}
#doors .astra-engagement{height:clamp(210px,21vw,310px)}
#wall .beats{grid-template-columns:1fr 3fr;gap:18px;align-items:stretch}
#wall .intelligaia-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:2px solid #3782F0;border-radius:16px;padding:12px;background:#94c3ff0d;position:relative}
#wall .workflow-brand{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#233464;text-align:left;padding:0 4px 9px;border-bottom:1px solid #94C3FF}
#wall .workflow-brand b{font-size:15px;font-weight:650}#wall .workflow-brand span{font-size:11px}
#wall .beats>button[data-beat="0"]{border:0;justify-content:center}
#wall .beats>button[data-beat="0"]:before{content:'YOUR STARTING POINT';font-size:10px;letter-spacing:.1em;color:#767676}
#wall .intelligaia-workflow button{min-width:0;width:100%}
#wall .intelligaia-workflow .astra-art{width:100%;max-width:260px}
#wall .intelligaia-workflow button:before{display:none}
#wall .workflow-heading{color:#233464}
@media(max-width:760px){#wall .beats{gap:8px;grid-template-columns:1fr 3fr}#wall .intelligaia-workflow{gap:4px;padding:6px;border-radius:10px}#wall .workflow-brand{display:block;padding:0 0 4px}#wall .workflow-brand b{font-size:11px}#wall .workflow-brand span{display:none}#wall .beats strong{font-size:12px}#wall .beats small{font-size:10px}#wall .beats>button[data-beat="0"]:before{font-size:8px}#wall .intelligaia-workflow button{border:0;padding:0}#wall .beats button{gap:3px}#wall .wall-art{padding:12px 8px}#doors .astra-engagement{height:210px}}
.original-person,.original-person g:not([data-joint]){transform-box:view-box!important;transform-origin:0 0}
/* Leave room for the fixed journey cue below the grouped workflow. */
#wall .wall-art{padding-bottom:18px}#wall .wall-card{transform:translateY(-15px)}
body[data-chapter="1"] #cue{bottom:4px}
/* Problem-led content: eyebrow → claim → explanation → a prominent working composition. */
#wall .wall-card{transform:none;width:100%}
#wall .wall-card>.label{display:block;color:#233464;font-size:clamp(12px,1vw,20px);font-weight:600;letter-spacing:.12em;text-transform:uppercase}
#wall .wall-art{width:min(94vw,2800px);margin-top:24px;padding:20px 22px 24px;background:#FEFEFE;border:0;border-radius:22px;backdrop-filter:none;box-shadow:none}
#wall .workflow-heading{font-size:clamp(16px,1.3vw,28px);font-weight:600;gap:20px}
#wall .workflow-heading span+span{font-size:.7em;font-weight:400}
#wall .beats{gap:20px;grid-template-columns:1fr 3fr;margin-top:18px}
#wall .beats>button[data-beat="0"]{background:#FFE999;border:2px solid #FFC800;border-radius:16px;padding:16px 8px;position:relative}
#wall .beats>button[data-beat="0"]:before{content:'NOW · YOUR RUNNING PILOT';color:#233464;font-weight:700;letter-spacing:.08em;font-size:clamp(9px,.8vw,15px)}
#wall .intelligaia-workflow{background:#233464;border:0;border-radius:16px;padding:0 12px 12px;gap:10px;overflow:hidden}
#wall .workflow-brand{margin:0 -12px;padding:14px 20px;color:#FEFEFE;border:0;align-items:center}
#wall .workflow-brand b{font-family:Oswald,sans-serif;font-size:clamp(22px,2vw,38px);font-weight:400;letter-spacing:-.02em}
#wall .workflow-brand span{color:#98EFFF;letter-spacing:.12em;font-size:10px;font-weight:600}
#wall .intelligaia-workflow button{background:#FEFEFE;border-radius:9px;padding:8px 0 14px;gap:2px}
#wall .intelligaia-workflow button.active{background:#E9F3FF;box-shadow:inset 0 -5px #3782F0}
#wall .astra-art,#wall .intelligaia-workflow .astra-art{width:100%;max-width:none;height:clamp(130px,12vw,285px)}
#wall .beats strong{font-size:clamp(15px,1.4vw,29px)}
#wall .beats small{font-size:clamp(12px,.95vw,20px)}
body[data-chapter="1"] #cue{bottom:2px}
@media(min-width:761px) and (max-height:800px){#wall .copy{padding-top:92px;padding-bottom:64px}#wall .wall-card h3{font-size:clamp(38px,4.5vw,68px)}#wall .wall-art{margin-top:18px;padding:16px 20px}#wall .astra-art,#wall .intelligaia-workflow .astra-art{height:140px}#wall .workflow-brand{padding:10px 16px}#wall .beats{margin-top:12px}}
@media(max-width:760px){#wall .wall-art{width:95vw;padding:12px;margin-top:14px}#wall .beats{grid-template-columns:1fr;gap:10px}#wall .beats>button[data-beat="0"]{display:grid;grid-template-columns:1fr 1fr;padding:8px}#wall .beats>button[data-beat="0"]:before{grid-column:1/-1;font-size:10px}#wall .intelligaia-workflow{padding:0 6px 6px;gap:5px}#wall .workflow-brand{margin:0 -6px;padding:10px 12px;display:flex}#wall .workflow-brand b{font-size:21px}#wall .workflow-brand span{display:block;font-size:8px}#wall .workflow-heading span+span{display:none}#wall .astra-art,#wall .intelligaia-workflow .astra-art{height:105px}#wall .beats strong{font-size:12px}#wall .beats small{font-size:10px}#wall .intelligaia-workflow button{padding-bottom:10px}#wall .wall-card h3{font-size:32px}#wall .wall-card>p{font-size:13px}}
@media(prefers-reduced-motion:reduce){#wall .wall-card>.label,#wall-title,#wall-body,#wall .wall-art{opacity:1!important;transform:none!important}}
#wall .copy{width:100%;max-width:none;padding-left:3vw;padding-right:3vw}
#wall .wall-card{padding-left:0;padding-right:0;max-width:none}
#wall .wall-art{width:100%;max-width:2800px}
#wall .beats>button[data-beat="0"]{background:#FFE999!important}
#wall .intelligaia-workflow button{background:#FEFEFE!important}
#wall .intelligaia-workflow button.active{background:#E9F3FF!important}
#wall .beats button{gap:4px;padding-bottom:16px}
#wall .workflow-brand b{font-weight:400}
@media(min-width:761px) and (max-height:800px){#wall .astra-art,#wall .intelligaia-workflow .astra-art{height:170px}#wall .copy{padding-top:82px;padding-bottom:60px}#wall .wall-art{margin-top:14px}#wall .beats button{padding-bottom:10px}}
body[data-chapter="1"] #wall .beats button:is(.active.assembled,:not(:disabled):hover) [data-joint]{animation:task-hands 6s ease-in-out infinite}
@keyframes task-hands{0%,100%{transform:rotate(0deg)}35%{transform:rotate(-3deg)}65%{transform:rotate(2deg)}}
@media(prefers-reduced-motion:reduce){body[data-chapter="1"] #wall [data-joint]{animation:none!important}}
/* Adoption tasks have separate clocks as well: testing versus handover. */
body[data-chapter="1"] #wall [data-beat="2"]:is(.active.assembled,:not(:disabled):hover) [data-joint]{animation:adoption-type 7.2s ease-in-out infinite}
body[data-chapter="1"] #wall [data-beat="2"] [data-joint="30 63"]{animation-delay:.35s!important}
body[data-chapter="1"] #wall [data-beat="3"]:is(.active.assembled,:not(:disabled):hover) [data-joint]{animation:adoption-control 8.6s ease-in-out infinite}
@keyframes adoption-type{0%,40%,100%{transform:rotate(0)}12%,25%{transform:rotate(-1deg)}18%,32%{transform:rotate(.5deg)}}
@keyframes adoption-control{0%,25%,40%,100%{transform:rotate(0)}31%{transform:rotate(1.5deg)}}
@media(prefers-reduced-motion:reduce){body[data-chapter="1"] #wall [data-joint]{animation:none!important}}
