/* RC33: mobile composition and a layout-safe static XF. Desktop geometry is retained. */
body.nf-demand.cf-home .xf-stage { transform:none; translate:0 -48%; will-change:auto; }
body.nf-demand.cf-home .hero .media-layer:not(.is-active) { display:none; animation:none; background-image:none; }
body.nf-demand.cf-home .hero .media-routes { animation:media-drift 14s ease-in-out infinite alternate; }
body.nf-demand.cf-home .hero[data-xf-state="paused"] .media-layer,
body.nf-demand.cf-home .hero[data-xf-state="paused"] .signal-live { animation-play-state:paused !important; }
body.nf-demand.cf-home .hero[data-xf-state="reduced"] .media-layer,
body.nf-demand.cf-home .hero[data-xf-state="static"] .media-layer { animation:none !important; transform:scale(1.08) translate3d(-1%,0,0); }
body.nf-demand.cf-home .hero[data-xf-state="reduced"] .signal-live,
body.nf-demand.cf-home .hero[data-xf-state="static"] .signal-live { animation:none !important; stroke-dashoffset:0; }
body.nf-demand.cf-home .hero .motion-toggle:disabled { opacity:1; color:#d2d4d5; cursor:default; }
@media(max-width:1023px) {
 body.nf-demand.cf-home .hero { display:flex; flex-direction:column; height:auto; min-height:0; max-height:none; padding:110px 24px 24px; overflow:hidden; }
 body.nf-demand.cf-home .hero-copy { position:relative; inset:auto; width:100%; transform:none; margin:0; padding:0; }
 body.nf-demand.cf-home .hero-copy h1 { font-size:clamp(38px,10.6vw,64px)!important; line-height:1.06; letter-spacing:-.05em; margin:0 0 20px; max-width:620px; }
 html[lang^="zh"] body.nf-demand.cf-home .hero-copy h1 { font-size:clamp(36px,9.5vw,60px)!important; line-height:1.16; letter-spacing:0; }
 body.nf-demand.cf-home .hero-copy .eyebrow { font-size:10px; margin:0 0 18px; }
 body.nf-demand.cf-home .hero-deck { font-size:16px; line-height:1.6; margin:0 0 22px; padding:0; border:0; background:transparent; }
 body.nf-demand.cf-home .hero-actions { gap:10px; }
 body.nf-demand.cf-home .hero-actions .cf-button { min-height:52px; font-size:13px; }
 body.nf-demand.cf-home .hero-actions .cf-text-button { font-size:12px; min-height:40px; }
 body.nf-demand.cf-home .xf-stage { position:relative; inset:auto; width:100%; max-width:520px; height:auto; aspect-ratio:1.5; margin:24px auto 0; transform:none; translate:none; opacity:1; z-index:2; }
 body.nf-demand.cf-home .xf-stage .f-frame { inset:5%; }
 body.nf-demand.cf-home .xf-stage .corner { width:28px; height:28px; }
 body.nf-demand.cf-home .xf-stage .stage-code { font-size:9px; }
 body.nf-demand.cf-home .hero .signal-caption { position:relative; inset:auto; display:flex; width:100%; margin:10px 0 0; gap:10px; font-size:9px; }
 body.nf-demand.cf-home .hero .signal-caption .caption-rule { display:block; flex:1; }
 body.nf-demand.cf-home .hero .motion-toggle { position:relative; inset:auto; align-self:flex-end; margin-top:3px; font-size:10px; min-height:44px; }
}
@media(max-width:360px) {
 body.nf-demand.cf-home .hero { padding-inline:18px; padding-top:100px; }
 body.nf-demand.cf-home .hero-copy h1 { font-size:38px!important; }
 body.nf-demand.cf-home .hero-copy .eyebrow { font-size:9px; letter-spacing:.09em; }
 body.nf-demand.cf-home .hero .signal-caption { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) {
 body.nf-demand.cf-home .hero .signal-pulse { visibility:hidden; }
 body.nf-demand.cf-home .hero .signal-node { fill:var(--gold); }
 body.nf-demand.cf-home .hero .media-layer { animation:none!important; transform:scale(1.08) translate3d(-1%,0,0); }
 body.nf-demand.cf-home .hero .signal-live { animation:none!important; stroke-dashoffset:0; }
}
