/*
 * Progressive fallback, loaded AFTER page styles.
 * No JS: readable immediately. Pending bootstrap: existing intro styles.
 * Missing animation engine or startup error: return to the readable state.
 * Functional overlays/menus, form steps and calculator tabs are not revealed.
 */
:root.cine-skip-intro #loader { display: none !important; }
:root:not(.cine-ready):not(.cine-pending) body { cursor: auto !important; }
:root:not(.cine-ready):not(.cine-pending) :is(a, button) { cursor: pointer !important; }
:root:not(.cine-ready):not(.cine-pending) :is(
  #loader, #cursor, .stmt-idx, .stmt-counter, .tl-year, .tl-rail,
  .tst-idx, .tst-dots, .hproc-counter, .hproc-rail, .how-tabs
) { display: none !important; }

:root:not(.cine-ready):not(.cine-pending) :is(
  .hl-in, .w-in, .qw,
  .hero-ct, .pgh-ct, .sdh-ct, .cth-ct, .ah-in,
  .hero-badge, .hero-p, .hero-btns, .hero-meta, .hero-scroll,
  .pgh-badge, .pgh-p, .pgh-meta, .pgh-scroll,
  .sdh-bc, .sdh-p, .sdh-scroll, .cth-badge, .cth-p, .cth-scroll,
  .ah-bc, .ah-meta, .ah-lead, .ah-by,
  .sec-tag, .sec-desc, .sd-sub, .stmt-phrase, .stmt-sub p,
  .met, .svc-row, .tech-feat, .term, .proc-step, .proc-p, .cli-more,
  .cta-tagline, .cta-btn, .scard, .secd-card, .diff-card,
  .wall-group, .tst-q, .num-it, .narr-p, .narr-quote, .tl-item, .val-card,
  .stack-row, .prod-card, .int-cell, .pipe-step, .api-box,
  .acc-item, .tf-row, .flip, .offl-cell, .faq-item, .hcard, .how-panel,
  .orow, .resp-card, .rf-p, .rf-quote, .rf-nota, .rf-side, .mn-p, .fee-row, .fee-note,
  .fwrap, .ci-lead, .ci-row, .ci-note, .direct-mail, .direct-label, .direct-tel,
  .as-mod, .as-cta, .nxt-label, .nextart a, .nxt-meta, .rel-tag, .rel-h, .rel-card,
  .aprose h2, .aprose .callout, .aprose .checklist, .aprose .pull, .aprose .sign
) {
  opacity: 1 !important; visibility: visible !important;
  transform: none !important; filter: none !important;
  clip-path: none !important; will-change: auto !important;
}

:root:not(.cine-ready):not(.cine-pending) :is(.hero, .pgh, .sdh:not(:has(.sdh-action))) {
  height: auto; min-height: 100svh;
}
:root:not(.cine-ready):not(.cine-pending) :is(.hero-ct, .pgh-ct, .sdh-ct) { padding-top: 112px; }
:root:not(.cine-ready):not(.cine-pending) :is(.stmt-w, .tl-w, .tst-w, .hproc-w) { height: auto !important; }
:root:not(.cine-ready):not(.cine-pending) :is(.stmt, .tl, .tst, .hproc) {
  position: relative !important; height: auto !important; overflow: visible;
}
:root:not(.cine-ready):not(.cine-pending) :is(.stmt, .tst) {
  flex-direction: column; gap: 40px; padding: 96px var(--pad);
}
:root:not(.cine-ready):not(.cine-pending) :is(.stmt-phrase, .tst-q, .tl-item, .how-panel) {
  position: relative !important; inset: auto !important;
  width: 100%; pointer-events: auto !important;
}
:root:not(.cine-ready):not(.cine-pending) .tst-q { padding: 24px 0; }
:root:not(.cine-ready):not(.cine-pending) .tl-stage { display: block; margin-top: 40px; }
:root:not(.cine-ready):not(.cine-pending) .tl-item { padding: 28px 0; border-top: 1px solid var(--hair-d); }
:root:not(.cine-ready):not(.cine-pending) .tl-item::before {
  content: attr(data-year); color: var(--rojo); font-size: clamp(40px, 8vw, 80px); line-height: 1.1;
}
:root:not(.cine-ready):not(.cine-pending) .hproc-track {
  width: auto; flex-wrap: wrap; transform: none !important;
}
:root:not(.cine-ready):not(.cine-pending) .hcard { max-width: 100%; }
:root:not(.cine-ready):not(.cine-pending) .scard { position: relative !important; top: auto !important; }
:root:not(.cine-ready):not(.cine-pending) .how-grid { grid-template-columns: minmax(0, 1fr); }
:root:not(.cine-ready):not(.cine-pending) .how-panels { display: grid; gap: 32px; min-height: 0; }
:root:not(.cine-ready):not(.cine-pending) .how-panel { grid-area: auto; }
:root:not(.cine-ready):not(.cine-pending) :is(.acc-body, .pipe-result) { max-height: none !important; }
:root:not(.cine-ready):not(.cine-pending) .mk { background-size: 100% 0.5em; }

/* With all scripts blocked, direct contact remains available instead of inert controls. */
:root:not(.cine-ready):not(.cine-pending) :is(.fwrap, .calc-box):not(.cine-functional),
:root:not(.cine-ready):not(.cine-pending) .api-box:not(.cine-functional) .api-run { display: none !important; }
