/* astra1 2026-11-03 — subject-led editorial pairs with staged entrances. */
main .subject-scene{display:block;padding:clamp(70px,8vw,220px) 4vw;background:#07140e;overflow:clip}
.subject-pair{display:grid;grid-template-columns:1.18fr 1fr;gap:clamp(35px,6vw,180px);align-items:center;perspective:1400px}
.subject-art{margin:0;position:relative;min-width:0;transform-origin:80% 70%}.subject-art img{display:block;width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;border-radius:22px;box-shadow:0 35px 70px #0005}.subject-art figcaption{display:block;padding:24px 4% 0;color:#a8c3b3;font-size:clamp(12px,.85vw,21px);line-height:1.6;max-width:45em}.subject-art figcaption>span{display:block;color:#ff2938;font-size:9px;letter-spacing:.18em;margin-bottom:10px}
.subject-copy .eyebrow{font-size:clamp(10px,.7vw,18px);letter-spacing:.15em;color:#9eb7a8}.subject-copy h2{font-size:clamp(38px,4.5vw,130px)!important;line-height:1.08!important;letter-spacing:-.055em;max-width:14ch;margin:28px 0!important}.subject-copy>p{font-size:clamp(17px,1.15vw,29px);line-height:1.65;color:#acc3b5;max-width:36em}.subject-copy p+p{margin-top:22px}.subject-details{margin-top:clamp(45px,5vw,140px)}.subject-details .journey-rail,.subject-details .repair-steps{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 6vw}.subject-details .journey-rail li,.subject-details .repair-steps li{padding:30px 0;border-top:1px solid #98b9a533}.subject-details .ai-permissions{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 5vw;background:transparent;border:0;padding:0}.subject-details .ai-permissions>.story-tag{grid-column:1/-1}.subject-details .ai-permissions>div{margin:0;padding:25px 0;border-top:1px solid #a0c4ad33}.subject-reverse .subject-art{grid-column:2;grid-row:1;transform-origin:20% 70%}.subject-reverse .subject-copy{grid-column:1;grid-row:1}
/* Content is visible by default. These classes are added only after the observer is ready. */
.build-word{display:inline-block;transform-origin:0 100%}.build-pending.build-heading .build-word{opacity:0;transform:translate3d(-18px,35px,0) rotateZ(5deg) rotateX(35deg)}.build-entered.build-heading .build-word{animation:word-assemble .85s cubic-bezier(.2,.75,.2,1) both}.build-entered .build-word.w1{animation-delay:35ms}.build-entered .build-word.w2{animation-delay:70ms}.build-entered .build-word.w3{animation-delay:105ms}.build-entered .build-word.w4{animation-delay:140ms}.build-entered .build-word.w5{animation-delay:175ms}.build-entered .build-word.w6{animation-delay:210ms}.build-entered .build-word.w7{animation-delay:245ms}.build-entered .build-word.w8{animation-delay:280ms}.build-entered .build-word.w9{animation-delay:315ms}.build-entered .build-word.w10{animation-delay:350ms}.build-entered .build-word.w11{animation-delay:385ms}
.build-pending.build-art{opacity:0;transform:perspective(1400px) translate3d(-65px,35px,0) rotateY(12deg) rotateZ(-4deg) scale(.96)}.build-entered.build-art{animation:art-swing 1.25s cubic-bezier(.18,.72,.22,1) both}.subject-reverse .build-entered.build-art{animation-name:art-swing-right}
.build-pending.build-prose{opacity:0;transform:translate3d(28px,22px,0)}.build-entered.build-prose{animation:prose-assemble .8s 120ms cubic-bezier(.2,.75,.2,1) both}.build-entered.build-prose.build-later{animation-delay:220ms}
@keyframes word-assemble{0%{opacity:0;transform:translate3d(-18px,35px,0) rotateZ(5deg) rotateX(35deg)}70%{opacity:1;transform:translate3d(1px,-2px,0) rotateZ(-.5deg)}100%{opacity:1;transform:none}}
@keyframes art-swing{0%{opacity:0;transform:perspective(1400px) translate3d(-65px,35px,0) rotateY(12deg) rotateZ(-4deg) scale(.96)}65%{opacity:1;transform:perspective(1400px) translate3d(4px,-3px,0) rotateY(-1deg) rotateZ(.7deg) scale(1)}100%{opacity:1;transform:none}}
@keyframes art-swing-right{0%{opacity:0;transform:perspective(1400px) translate3d(65px,35px,0) rotateY(-12deg) rotateZ(4deg) scale(.96)}65%{opacity:1;transform:perspective(1400px) translate3d(-4px,-3px,0) rotateY(1deg) rotateZ(-.7deg) scale(1)}100%{opacity:1;transform:none}}
@keyframes prose-assemble{from{opacity:0;transform:translate3d(28px,22px,0)}to{opacity:1;transform:none}}
@media(max-width:850px){main .subject-scene{padding:65px 6vw}.subject-pair{grid-template-columns:1fr;gap:35px}.subject-reverse .subject-art,.subject-reverse .subject-copy{grid-column:auto;grid-row:auto}.subject-copy{grid-row:1!important}.subject-art{grid-row:2!important}.subject-copy h2{font-size:11vw!important;max-width:17ch}.subject-art img{aspect-ratio:1.35;border-radius:16px}.subject-details .journey-rail,.subject-details .repair-steps,.subject-details .ai-permissions{grid-template-columns:1fr}.subject-copy>p{font-size:16px}.subject-art figcaption{padding:18px 0 0}.build-entered.build-art{animation-duration:1s}}
.no-motion .build-pending,.no-motion .build-entered,.no-motion .build-word{opacity:1!important;transform:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){.build-pending,.build-entered,.build-word{opacity:1!important;transform:none!important;animation:none!important}}
