/* =============================================================================
   RESPONSIVE // FIRST PASS
   Shared region contract:
   .deck-slide > .slide-content > .slide-copy + .slide-visual
   IDs are assigned by engine.js as <deck>-slide-XX-(content|copy|visual|title).
   This layer intentionally does not override the recovered optics transitions.
   ============================================================================= */

.deck-slide,
.slide-content,
.slide-copy,
.slide-visual {
  min-width: 0;
}

.deck-slide {
  touch-action: pan-y;
}

.slide-content {
  min-height: 0;
}

.slide-copy,
.slide-visual {
  width: 100%;
}

.slide-copy > :last-child {
  margin-bottom: 0;
}

.slide-visual img,
.slide-visual svg,
.slide-visual canvas {
  max-width: 100%;
}

/* Keep one uniform title scale across hero, interior, and signup slides. */
.launch-title,
.launch-title--hero,
.launch-title--signup {
  font-size: clamp(2.2rem, 4vw, 4.35rem);
}

@media (max-width: 1180px) {
  .slide-content {
    gap: clamp(1.8rem, 3.2vw, 2.6rem);
  }

  .slide-copy {
    max-width: 560px;
  }

  .launch-lede {
    max-width: 540px;
  }
}

/* Tablet / stacked layout --------------------------------------------------- */
@media (max-width: 900px) {
  html,
  body {
    height: 100%;
    min-height: 100%;
  }

  .deck-container {
    height: 100vh;
    height: 100svh;
    min-height: 100svh;
  }

  .deck-slide {
    padding: 5.1rem 1.4rem 4.8rem 4.65rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    justify-content: flex-start;
    scroll-padding-block: 5rem 4rem;
  }

  .deck-slide::-webkit-scrollbar {
    width: 0;
    height: 0;
  }

  .slide-content,
  .launch-shell,
  .signup-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: min(760px, 100%);
    margin-inline: auto;
    gap: clamp(1.65rem, 4vw, 2.4rem);
    align-items: start;
    padding: .7rem 0 2.5rem;
  }

  .slide-copy,
  .launch-copy {
    width: 100%;
    max-width: 680px;
    margin-inline: auto;
  }

  .slide-visual,
  .launch-visual {
    width: 100%;
    min-height: clamp(430px, 58svh, 560px);
    max-height: none;
    margin-inline: auto;
  }

  .hero-shell .slide-visual,
  .hero-shell .launch-visual {
    min-height: clamp(450px, 62svh, 580px);
  }

  .launch-title,
  .launch-title--hero,
  .launch-title--signup {
    font-size: clamp(2.15rem, 7.2vw, 3.75rem);
    line-height: .94;
    margin-bottom: 1.15rem;
  }

  .launch-kicker {
    margin-bottom: .95rem;
  }

  .launch-lede {
    max-width: 620px;
    font-size: clamp(.94rem, 2.2vw, 1.06rem);
    line-height: 1.62;
  }

  .launch-actions,
  .launch-callout,
  .launch-metric-row,
  .hero-proofline {
    margin-top: 1.45rem;
  }

  .launch-visual > * {
    min-width: 0;
  }

  /* Keep dense diagrams readable when they move below the copy. */
  .company-runtime-map,
  .intent-map,
  .lineage-tree,
  .reconcile-map {
    min-height: 430px;
  }

  .dimension-rig {
    min-height: 520px;
  }

  .trace-rig,
  .scenario-rig,
  .sales-transform-rig,
  .execution-mesh-rig,
  .scale-rig,
  .module-dock-rig,
  .provider-swap-rig,
  .extension-rig,
  .unified-workspace-rig,
  .friction-rig,
  .lineage-rig,
  .remix-rig {
    height: auto;
  }

  .alpha-form input,
  .alpha-form textarea,
  .alpha-form select,
  .alpha-submit {
    min-height: 44px;
  }

  .alpha-form textarea {
    min-height: 110px;
  }
}

/* Phone -------------------------------------------------------------------- */
@media (max-width: 620px) {
  .launch-hud {
    inset: 8px;
    padding: 9px;
  }

  .launch-hud .hud-row {
    gap: .65rem;
    font-size: .48rem;
    letter-spacing: .09em;
  }

  .launch-hud .hud-top > :not(.hud-tag),
  .launch-hud .hud-bottom > :not(#activeSectionReadout) {
    display: none;
  }

  .launch-hud .hud-tag,
  #activeSectionReadout {
    max-width: calc(100vw - 70px);
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .launch-hud .slide-progress {
    left: 2px;
    gap: 7px;
  }

  .launch-hud .progress-node {
    width: 36px;
    height: 18px;
  }

  .launch-hud .progress-node::after {
    left: 2px;
    width: 15px;
  }

  .launch-hud .progress-node.active::after {
    width: 26px;
  }

  .launch-hud .progress-node.active::before {
    display: none;
  }

  .deck-slide {
    padding: 4.45rem .85rem 4.1rem 2.75rem;
    scroll-padding-block: 4.5rem 3.8rem;
  }

  .slide-content,
  .launch-shell,
  .signup-shell {
    width: 100%;
    gap: 1.45rem;
    padding: .55rem 0 2rem;
  }

  .launch-title,
  .launch-title--hero,
  .launch-title--signup {
    font-size: clamp(1.9rem, 9vw, 2.75rem);
    line-height: .96;
    letter-spacing: -.045em;
    margin-bottom: 1rem;
  }

  .launch-kicker {
    gap: 7px;
    font-size: .57rem;
    letter-spacing: .14em;
    margin-bottom: .8rem;
  }

  .launch-lede {
    font-size: .94rem;
    line-height: 1.58;
  }

  .launch-actions {
    align-items: stretch;
    gap: .6rem;
    margin-top: 1.25rem;
  }

  .launch-primary,
  .launch-text-button {
    width: 100%;
    min-height: 44px;
  }

  .launch-text-button {
    text-align: left;
    padding-inline: 0;
  }

  .hero-proofline {
    gap: .45rem;
    margin-top: 1.3rem;
    padding-top: .85rem;
  }

  .launch-callout {
    grid-template-columns: 34px 1fr;
    gap: .75rem;
    margin-top: 1.2rem;
    padding: .85rem;
  }

  .callout-index {
    min-width: 34px;
    font-size: .95rem;
  }

  .launch-metric-row {
    grid-template-columns: 1fr;
    margin-top: 1.25rem;
  }

  .launch-metric-row > div {
    padding: .8rem;
  }

  .slide-visual,
  .launch-visual {
    min-height: 410px;
    border-left-color: rgba(255,255,255,.075);
    border-right-color: rgba(255,255,255,.075);
    box-shadow: 0 22px 60px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
  }

  .hero-shell .slide-visual,
  .hero-shell .launch-visual {
    min-height: 430px;
  }

  .console-topline,
  .console-footer,
  .velocity-head,
  .sandbox-heading,
  .signup-panel-head,
  .signup-panel-foot,
  .trace-toolbar {
    gap: .5rem;
    font-size: .5rem;
    letter-spacing: .08em;
  }

  .hero-run-grid {
    grid-template-columns: 1fr;
    padding: 1rem 0;
  }

  .run-card--wide {
    grid-column: auto;
  }

  .run-number {
    font-size: clamp(2.2rem, 13vw, 3.6rem) !important;
  }

  .context-strip {
    min-height: 62px;
    scrollbar-width: none;
  }

  .context-strip::-webkit-scrollbar {
    display: none;
  }

  .company-runtime-map,
  .intent-map,
  .lineage-tree,
  .reconcile-map {
    min-height: 460px;
  }

  .dimension-rig {
    min-height: 500px;
  }

  .company-runtime-core {
    width: 118px;
    height: 118px;
  }

  .company-objective {
    width: 88%;
  }

  .company-stakeholders {
    inset-inline: 4%;
  }

  .company-owned-strip {
    left: 4%;
    right: 4%;
  }

  .scenario-cloud {
    gap: .25rem;
  }

  .trace-body,
  .trace-waterfall,
  .scale-rows,
  .transaction-matrix,
  .plain-trace-summary,
  .failure-inspector {
    min-width: 0;
  }

  .trace-line {
    grid-template-columns: 48px 54px minmax(0, 1fr);
  }

  .trace-line > i {
    left: calc(102px + var(--x));
    max-width: calc(100% - 112px - var(--x));
  }

  .compare-row {
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, .72fr));
  }

  .sandbox-column,
  .signup-panel,
  .alpha-mini-form,
  .signal-grid,
  .company-runtime-rig,
  .parallel-rig,
  .asset-boundary-rig,
  .reconcile-rig,
  .scenario-rig,
  .sales-transform-rig,
  .execution-mesh-rig,
  .scale-rig,
  .module-dock-rig,
  .provider-swap-rig,
  .extension-rig,
  .intent-rig,
  .unified-workspace-rig,
  .friction-rig,
  .lineage-rig,
  .remix-rig {
    padding: .8rem;
  }

  .alpha-form-grid,
  .signup-recap,
  .alpha-inventory {
    gap: .6rem;
  }

  .alpha-form input,
  .alpha-form textarea,
  .alpha-form select {
    font-size: 16px; /* prevents iOS input zoom */
  }
}

/* Narrow phones ------------------------------------------------------------ */
@media (max-width: 430px) {
  .deck-slide {
    padding-left: 2.55rem;
    padding-right: .7rem;
  }

  .launch-title,
  .launch-title--hero,
  .launch-title--signup {
    font-size: clamp(1.78rem, 8.8vw, 2.35rem);
  }

  .launch-lede {
    font-size: .9rem;
  }

  .slide-visual,
  .launch-visual {
    min-height: 390px;
  }

  .company-runtime-map,
  .intent-map,
  .lineage-tree,
  .reconcile-map {
    min-height: 440px;
  }

  .company-stakeholders,
  .company-owned-strip,
  .assumption-rail,
  .signup-recap,
  .alpha-inventory,
  .asset-accumulator,
  .remix-ingredients {
    grid-template-columns: 1fr 1fr;
  }

  .company-stakeholders span,
  .company-owned-strip span {
    font-size: .42rem;
  }

  .intent-core {
    width: 124px;
    height: 124px;
  }

  .intent-node {
    width: 88px;
  }

  .lineage-node {
    width: 88px;
  }
}

/* Short landscape phones / tablets ---------------------------------------- */
@media (max-height: 560px) and (orientation: landscape) and (max-width: 1000px) {
  .launch-hud {
    inset: 7px;
  }

  .deck-slide {
    padding-top: 3.65rem;
    padding-bottom: 3.4rem;
  }

  .slide-content,
  .launch-shell,
  .signup-shell {
    gap: 1.25rem;
  }

  .launch-title,
  .launch-title--hero,
  .launch-title--signup {
    font-size: clamp(1.8rem, 5vw, 2.8rem);
  }

  .slide-visual,
  .launch-visual,
  .hero-shell .slide-visual,
  .hero-shell .launch-visual {
    min-height: 360px;
  }
}

/* =============================================================================
   RESPONSIVE // STATIC COMPOSITION PASS 02
   Narrow screens are compositions, not long documents. Compact fact sets stay
   horizontal; only narrative regions stack. The slide itself never scrolls.
   ============================================================================= */

@media (max-width: 900px) {
  .deck-slide,
  .launch-slide {
    overflow: hidden !important;
    overscroll-behavior: none;
    justify-content: center;
  }

  .slide-content,
  .launch-shell,
  .signup-shell {
    height: 100%;
    min-height: 0;
    max-height: 100%;
    padding-block: 0;
    align-items: stretch;
  }

  .slide-copy,
  .launch-copy,
  .slide-visual,
  .launch-visual {
    min-height: 0 !important;
    max-height: 100%;
  }

  .slide-visual,
  .launch-visual,
  .hero-shell .slide-visual,
  .hero-shell .launch-visual {
    height: 100%;
    min-height: 0 !important;
  }

  /* Tablet keeps the desktop side-by-side logic instead of producing a long
     vertical stack. */
  @media (min-width: 621px) {
    .deck-slide,
    .launch-slide {
      padding: 4.6rem 1.1rem 3.85rem 4.15rem;
    }

    .slide-content,
    .launch-shell,
    .signup-shell {
      width: min(820px, 100%);
      grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
      grid-template-rows: minmax(0, 1fr);
      gap: 1.35rem;
    }

    .launch-title,
    .launch-title--hero,
    .launch-title--signup {
      font-size: clamp(1.8rem, 4.3vw, 2.8rem);
      margin-bottom: .85rem;
    }

    .launch-lede {
      font-size: .88rem;
      line-height: 1.48;
    }
  }

  /* Compact UI sets should remain spatially comparable at responsive sizes. */
  .hero-proofline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    padding-top: 0;
    border: 1px solid var(--launch-line);
    background: var(--launch-line);
  }

  .hero-proofline span {
    min-width: 0;
    padding: .55rem .45rem;
    background: rgba(5,7,10,.94);
    text-align: center;
  }

  .hero-proofline span::before { display: none; }

  .launch-metric-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .signup-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid var(--launch-line);
    background: var(--launch-line);
  }

  .signup-points span {
    min-width: 0;
    padding: .55rem .6rem;
    background: rgba(5,7,10,.94);
  }

  .signup-points span::before { margin-right: .4rem; }

  .signup-recap,
  .alpha-inventory {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .parallel-work { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .output-fan { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .asset-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .vendor-pool { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .vendor-rail { grid-template-columns: 1.25fr repeat(4, minmax(0, .8fr)) !important; }
  .provider-row { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .owned-runtime-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .transaction-matrix { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .dock-modules { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .workspace-branches { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .asset-accumulator,
  .remix-ingredients { grid-template-columns: repeat(6, minmax(0, 1fr)) auto !important; }
  .assumption-rail { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .company-owned-strip { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .company-stakeholders { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }

  .scenario-field { grid-template-columns: 1.1fr auto 1fr !important; }
  .scenario-arrow { transform: none !important; }
  .scenario-cloud { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .sales-flow { grid-template-columns: .95fr 1.05fr .95fr !important; }
  .execution-mesh { grid-template-columns: 72px minmax(0, 1fr) 135px !important; }
  .extension-stage { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  .remix-stage { grid-template-columns: .82fr auto 1.12fr !important; }
  .sandbox-rig { grid-template-columns: 1fr 1fr !important; }
  .sandbox-column--research {
    border-left: 1px solid var(--launch-line) !important;
    border-top: 0 !important;
    padding-left: .75rem !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 620px) {
  /* Much smaller progress hit-shape/active mark. The HUD remains usable without
     reading as a large selected block on the left edge. */
  .launch-hud .slide-progress {
    left: 1px;
    gap: 4px;
  }

  .launch-hud .progress-node {
    width: 22px;
    height: 11px;
  }

  .launch-hud .progress-node::after {
    left: 2px;
    width: 7px;
    height: 1px;
  }

  .launch-hud .progress-node.active::after {
    width: 13px;
  }

  .deck-slide,
  .launch-slide {
    padding: 3.65rem .55rem 3.05rem 2rem;
  }

  .slide-content,
  .launch-shell,
  .signup-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    gap: .55rem;
    width: 100%;
  }

  .slide-copy,
  .launch-copy {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .launch-kicker {
    margin-bottom: .42rem;
    font-size: .45rem;
    letter-spacing: .12em;
    line-height: 1.2;
  }

  .launch-title,
  .launch-title--hero,
  .launch-title--signup {
    font-size: clamp(1.45rem, 7vw, 1.82rem);
    line-height: .92;
    letter-spacing: -.04em;
    margin-bottom: .55rem;
  }

  .launch-lede {
    max-width: none;
    font-size: .76rem;
    line-height: 1.34;
    letter-spacing: -.005em;
  }

  .launch-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .78fr);
    gap: .42rem;
    margin-top: .7rem;
  }

  .launch-primary,
  .launch-text-button {
    width: 100%;
    min-height: 34px;
    padding: .55rem .62rem;
    font-size: .5rem;
    line-height: 1.15;
    letter-spacing: .08em;
  }

  .launch-text-button { text-align: center; }

  .hero-proofline {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: .62rem;
    font-size: .4rem;
    line-height: 1.18;
    letter-spacing: .045em;
  }

  .hero-proofline span {
    padding: .42rem .18rem;
  }

  .launch-callout {
    grid-template-columns: 26px minmax(0, 1fr);
    gap: .5rem;
    margin-top: .65rem;
    padding: .48rem .55rem;
  }

  .callout-index {
    min-width: 26px;
    font-size: .7rem;
  }

  .launch-callout p {
    font-size: .68rem;
    line-height: 1.34;
  }

  .launch-metric-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .65rem;
  }

  .launch-metric-row > div {
    min-width: 0;
    padding: .44rem .35rem;
    gap: .15rem;
  }

  .launch-metric-row strong { font-size: .67rem; }
  .launch-metric-row span { font-size: .39rem; letter-spacing: .055em; }

  .slide-visual,
  .launch-visual,
  .hero-shell .slide-visual,
  .hero-shell .launch-visual {
    min-height: 0 !important;
    height: 100%;
    max-height: 100%;
    box-shadow: 0 14px 40px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.035);
  }

  .console-topline,
  .console-footer,
  .velocity-head,
  .sandbox-heading,
  .signup-panel-head,
  .signup-panel-foot,
  .trace-toolbar {
    font-size: .38rem;
    letter-spacing: .055em;
  }

  .console-topline,
  .velocity-head,
  .trace-toolbar,
  .signup-panel-head {
    padding-bottom: .42rem;
  }

  .console-footer,
  .signup-panel-foot { padding-top: .4rem; }

  .visual-note,
  .research-footer {
    font-size: .38rem;
    letter-spacing: .065em;
  }

  /* Default / announcement hero: keep metrics spatial, not vertical. */
  .hero-console,
  .velocity-rig,
  .trace-rig,
  .sandbox-rig,
  .signup-panel,
  .company-runtime-rig,
  .parallel-rig,
  .asset-boundary-rig,
  .reconcile-rig,
  .scenario-rig,
  .sales-transform-rig,
  .execution-mesh-rig,
  .scale-rig,
  .module-dock-rig,
  .provider-swap-rig,
  .extension-rig,
  .intent-rig,
  .unified-workspace-rig,
  .friction-rig,
  .lineage-rig,
  .remix-rig {
    padding: .48rem;
    gap: .42rem;
  }

  .hero-run-grid {
    grid-template-columns: 1.25fr .7fr .7fr;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: .38rem;
    padding: .42rem 0;
  }

  .run-card,
  .run-card--wide {
    grid-column: auto;
    min-height: 0;
    padding: .48rem;
  }

  .run-card:first-child { grid-column: auto; }
  .hero-run-grid .context-strip { grid-column: 1 / -1; }
  .run-card strong { font-size: .58rem; }
  .run-number { font-size: clamp(1.35rem, 7vw, 1.9rem) !important; }
  .run-card small,
  .run-label { font-size: .38rem; }
  .run-progress { margin-top: .4rem; }

  .context-strip {
    min-height: 0;
    height: auto;
    overflow: hidden;
    gap: .22rem;
    padding: .3rem !important;
  }

  .context-strip span {
    min-width: 0;
    padding: .28rem .08rem;
    font-size: .34rem;
  }

  /* General hero: one compact horizontal row of capabilities. */
  .workspace-question {
    width: min(78%, 280px);
    margin: .42rem auto .22rem;
    padding: .4rem .5rem;
  }

  .workspace-question span { font-size: .34rem; }
  .workspace-question strong { font-size: .63rem; }

  .workspace-branches {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: .22rem;
    margin-top: .32rem;
  }

  .workspace-branches div {
    min-height: 42px;
    padding: .32rem .2rem;
    text-align: center;
  }

  .workspace-branches span { font-size: .38rem; }
  .workspace-branches b { font-size: .31rem; }
  .workspace-thread { height: 18px; gap: .22rem; }

  .workspace-result {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .32rem;
    padding: .38rem .42rem;
    text-align: left;
  }

  .workspace-result span,
  .workspace-result b { font-size: .33rem; }
  .workspace-result strong { font-size: .42rem; }

  /* The low-friction before/after graphic stays horizontal and compresses
     labels instead of wrapping into multiple rows. */
  .friction-lane {
    padding: .42rem;
  }

  .friction-lane > span { margin-bottom: .35rem; font-size: .34rem; }
  .friction-lane > div { flex-wrap: nowrap !important; gap: .14rem; }
  .friction-lane b,
  .friction-lane strong {
    padding: .3rem .2rem;
    font-size: .31rem;
  }
  .friction-lane i { min-width: 3px !important; }
  .friction-lane small { margin-top: .35rem; font-size: .36rem; }
  .friction-lane--before { margin-top: .35rem; }
  .compression-mark { font-size: .78rem; }

  /* Five-way and four-way business/developer sets stay horizontal. */
  .parallel-work,
  .output-fan,
  .workspace-branches { gap: .2rem; }

  .parallel-work div {
    min-height: 48px;
    padding: .34rem .24rem;
  }
  .parallel-work span { font-size: .4rem; }
  .parallel-work b { font-size: .31rem; }

  .asset-grid { gap: .26rem; padding-top: .28rem; }
  .asset-grid div {
    min-height: 48px;
    padding: .34rem;
  }
  .asset-grid span { font-size: .32rem; }
  .asset-grid strong { font-size: .42rem; }

  .vendor-pool,
  .provider-row,
  .transaction-matrix,
  .dock-modules,
  .owned-runtime-grid { gap: .22rem; }

  .vendor-pool div,
  .provider-row div { padding: .36rem .3rem; gap: .2rem; }
  .vendor-pool span,
  .vendor-pool b,
  .provider-row span,
  .provider-row b { font-size: .31rem; }

  .dock-modules div {
    min-height: 54px;
    padding: .34rem .25rem;
    gap: .18rem;
  }
  .dock-modules div > span { font-size: .32rem; }
  .dock-modules strong { font-size: .4rem; }
  .dock-modules small { font-size: .34rem; line-height: 1.2; }

  .owned-runtime-grid div {
    min-height: 44px;
    padding: .32rem;
  }
  .owned-runtime-grid span { font-size: .31rem; }
  .owned-runtime-grid strong { font-size: .39rem; }

  .transaction-matrix div { padding: .34rem .28rem; }
  .transaction-matrix span { font-size: .3rem; }
  .transaction-matrix strong { font-size: .5rem; }

  /* Company map uses width efficiently instead of two-column label stacks. */
  .company-runtime-map,
  .intent-map,
  .lineage-tree,
  .reconcile-map,
  .dimension-rig {
    min-height: 0 !important;
    height: 100%;
  }

  .company-stakeholders {
    inset-inline: 3%;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: .16rem;
  }

  .company-stakeholders span,
  .company-owned-strip span { font-size: .29rem; padding: .3rem .08rem; }
  .company-runtime-core { width: 82px; height: 82px; }
  .company-runtime-core strong { font-size: .55rem; }
  .company-runtime-core span,
  .company-runtime-core small { font-size: .3rem; }
  .company-objective { padding: .42rem; }
  .company-objective span,
  .company-objective small { font-size: .3rem; }
  .company-objective strong { font-size: .52rem; }
  .vendor-rail { gap: .18rem; }
  .vendor-rail span,
  .vendor-rail b { padding: .3rem .18rem; font-size: .29rem; }

  /* Scenario and sales visualizations keep their comparative axes. */
  .scenario-field {
    grid-template-columns: 1.05fr auto 1fr !important;
    gap: .28rem;
  }
  .scenario-cloud { gap: .15rem; }
  .scenario-cloud span { min-height: 22px; font-size: .31rem; }
  .scenario-finalists { gap: .22rem; }
  .scenario-finalists div { padding: .32rem; gap: .22rem; }
  .scenario-finalists span { font-size: .3rem; }
  .scenario-finalists strong { font-size: .55rem; }
  .scenario-finalists small { font-size: .31rem; }
  .scenario-arrow { font-size: .8rem; }

  .assumption-rail { gap: .18rem; }
  .assumption-rail div { padding: .3rem .2rem; }
  .assumption-rail span { font-size: .28rem; }
  .assumption-rail b { font-size: .36rem; }

  .sales-flow {
    grid-template-columns: .9fr 1.05fr .9fr !important;
    gap: .22rem;
  }
  .sales-source,
  .sales-context,
  .sales-output { padding: .34rem; gap: .2rem; }
  .sales-source > span,
  .sales-context > span,
  .sales-output > span { font-size: .3rem; padding-bottom: .24rem; }
  .sales-source div,
  .sales-output div { padding: .32rem .2rem; font-size: .31rem; }
  .sales-context strong { font-size: .5rem; }
  .sales-context small { font-size: .34rem; line-height: 1.2; }

  /* Technical diagrams preserve topology instead of turning into lists. */
  .execution-mesh {
    min-height: 0;
    height: 100%;
    grid-template-columns: 48px minmax(0, 1fr) 94px !important;
    gap: .28rem;
  }
  .mesh-source { height: auto; min-height: 50px; }
  .mesh-source strong { font-size: 1.1rem; }
  .mesh-inspector { padding: .35rem; gap: .22rem; }
  .mesh-inspector > span { font-size: .29rem; }
  .mesh-inspector div b,
  .mesh-inspector div strong { font-size: .3rem; }
  .mesh-legend { gap: .18rem; }
  .mesh-legend span { padding: .25rem .28rem; font-size: .29rem; }

  .scale-rows { gap: .32rem; }
  .scale-rows > div {
    grid-template-columns: 48px 32px minmax(0, 1fr) 76px;
    gap: .25rem;
  }
  .scale-rows span,
  .scale-rows em { font-size: .31rem; }
  .scale-rows b { font-size: .48rem; }
  .scale-row-final b { font-size: .7rem !important; }

  .extension-stage { gap: .3rem; }
  .extension-flow { gap: .2rem; }
  .extension-flow span { font-size: .31rem; }
  .runtime-sockets { gap: .18rem; }
  .runtime-sockets div { padding: .28rem; font-size: .29rem; }

  /* Sandbox: four starters are a compact grid, not four full-width rows. */
  .sandbox-rig {
    grid-template-columns: .98fr 1.02fr !important;
    gap: .38rem;
  }
  .sandbox-column { gap: .28rem; }
  .sandbox-column--research { padding-left: .38rem !important; }
  .sandbox-card {
    grid-template-columns: 18px minmax(0, 1fr) auto;
    gap: .28rem;
    padding: .34rem;
    min-height: 38px;
  }
  .sandbox-card > span,
  .sandbox-card b { font-size: .29rem; }
  .sandbox-card strong { font-size: .4rem; margin-bottom: .1rem; }
  .sandbox-card small { font-size: .31rem; line-height: 1.12; }
  .research-cloud { gap: .2rem; padding: .28rem 0; }
  .research-cloud span,
  .starter-kit span { padding: .28rem .3rem; font-size: .29rem; }
  .starter-mini-trace { gap: .24rem; padding: .3rem 0; }
  .starter-mini-trace div { grid-template-columns: 40px 1fr 32px; gap: .28rem; }
  .starter-mini-trace span,
  .starter-mini-trace b { font-size: .29rem; }

  /* Compounding/remix metadata is a single horizontal rail. */
  .lineage-tree { min-height: 0 !important; }
  .lineage-node { width: 68px; min-height: 48px; padding: .32rem; }
  .lineage-node span { font-size: .28rem; }
  .lineage-node strong { font-size: .36rem; }
  .lineage-node small { font-size: .28rem; }
  .asset-accumulator,
  .remix-ingredients {
    grid-template-columns: repeat(6, minmax(0, 1fr)) auto !important;
    gap: .14rem;
  }
  .asset-accumulator span,
  .asset-accumulator b,
  .remix-ingredients span,
  .remix-ingredients b { padding: .28rem .12rem; font-size: .27rem; }

  .remix-stage {
    grid-template-columns: .82fr auto 1.12fr !important;
    gap: .28rem;
  }
  .starter-shape { padding: .35rem; gap: .2rem; }
  .starter-shape div { padding: .3rem .12rem; font-size: .29rem; }
  .starter-shape > span,
  .invented-shape > span { font-size: .3rem; }
  .remix-arrow { font-size: .28rem; }
  .remix-arrow b { font-size: .8rem; }
  .invented-shape { min-height: 120px; padding: .35rem; }
  .invented-shape div { padding: .3rem; font-size: .28rem; }

  /* Signup pages: compact horizontal summary + compact two-column form. */
  .signup-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: .65rem;
    font-size: .39rem;
    line-height: 1.2;
    letter-spacing: .045em;
  }
  .signup-points span { padding: .4rem .38rem; }

  .signup-recap,
  .alpha-inventory {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1px;
    margin-top: .38rem;
  }
  .signup-recap div,
  .alpha-inventory div { padding: .32rem .2rem; text-align: center; }
  .signup-recap span,
  .alpha-inventory span { font-size: .27rem; margin-bottom: .12rem; }
  .signup-recap strong,
  .alpha-inventory strong { font-size: .48rem; }

  .dev-recap {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1px;
    margin-top: .38rem;
    background: var(--launch-line);
  }
  .dev-recap i { display: none !important; }
  .dev-recap span { padding: .34rem .2rem; font-size: .3rem; text-align: center; background: rgba(5,7,10,.95); }

  .alpha-form,
  .alpha-mini-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .34rem;
    padding: .42rem 0;
  }

  .alpha-form-grid {
    display: contents;
  }

  .alpha-form > label:first-child { grid-column: 1 / -1; }
  .alpha-form > label:not(:first-child) { grid-column: 1 / -1; }
  .alpha-form > .alpha-form-grid + label { grid-column: 1 / -1; }
  .alpha-form label { gap: .2rem; min-width: 0; }
  .alpha-form-grid > label { grid-column: auto !important; }
  .alpha-form label > span { font-size: .31rem; letter-spacing: .055em; }

  .alpha-form input,
  .alpha-form textarea,
  .alpha-form select {
    min-height: 32px;
    height: 32px;
    padding: .4rem .45rem;
    font-size: 16px;
    line-height: 1.05;
  }
  .alpha-form textarea {
    min-height: 42px;
    height: 42px;
    max-height: 42px;
    resize: none;
  }
  .alpha-submit {
    grid-column: 1 / -1;
    min-height: 32px;
    margin-top: 0;
  }
  .alpha-form-status {
    grid-column: 1 / -1;
    font-size: .3rem;
    line-height: 1.22;
  }

  .signup-panel-head,
  .signup-panel-foot { font-size: .31rem; }
}

/* Small/short phones get one more density step so every slide remains a fixed
   viewport composition instead of reintroducing internal scrolling. */
@media (max-width: 430px) and (max-height: 740px) {
  .deck-slide,
  .launch-slide { padding-top: 3.35rem; padding-bottom: 2.8rem; }
  .slide-content,
  .launch-shell,
  .signup-shell { gap: .38rem; }
  .launch-kicker { font-size: .4rem; margin-bottom: .3rem; }
  .launch-title,
  .launch-title--hero,
  .launch-title--signup { font-size: clamp(1.28rem, 6.3vw, 1.55rem); margin-bottom: .38rem; }
  .launch-lede { font-size: .68rem; line-height: 1.26; }
  .launch-actions { margin-top: .48rem; }
  .hero-proofline,
  .launch-metric-row,
  .signup-points { margin-top: .45rem; }
  .launch-callout { margin-top: .45rem; }
  .launch-callout p { font-size: .61rem; }
  .alpha-form { gap: .24rem; padding: .3rem 0; }
  .alpha-form input,
  .alpha-form select { height: 29px; min-height: 29px; }
  .alpha-form textarea { height: 36px; min-height: 36px; max-height: 36px; }
}

/* Short landscape: retain two-column composition and remove document scrolling. */
@media (max-height: 560px) and (orientation: landscape) and (max-width: 1000px) {
  .deck-slide,
  .launch-slide {
    overflow: hidden !important;
    padding: 3.15rem .8rem 2.9rem 3.6rem;
  }
  .slide-content,
  .launch-shell,
  .signup-shell {
    height: 100%;
    grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
    grid-template-rows: minmax(0, 1fr);
    gap: .9rem;
    padding: 0;
  }
  .launch-title,
  .launch-title--hero,
  .launch-title--signup { font-size: clamp(1.35rem, 3.2vw, 1.9rem); margin-bottom: .45rem; }
  .launch-lede { font-size: .7rem; line-height: 1.3; }
  .launch-actions { margin-top: .5rem; }
  .slide-visual,
  .launch-visual,
  .hero-shell .slide-visual,
  .hero-shell .launch-visual { min-height: 0 !important; height: 100%; }
}

/* Audit corrections: remove remaining mobile stack regressions left by the
   original launch.css breakpoints. */
@media (max-width: 620px) {
  .velocity-chain {
    grid-template-columns: 1fr .18fr 1fr .18fr 1fr .18fr 1fr !important;
    gap: .2rem;
    padding: .42rem 0 .28rem;
  }
  .velocity-node {
    min-height: 58px;
    padding: .38rem .28rem;
    gap: .2rem;
  }
  .velocity-node > span { font-size: .31rem; }
  .velocity-node strong { font-size: .4rem; }
  .velocity-node small { font-size: .32rem; line-height: 1.16; }

  .compare-row {
    grid-template-columns: 1.45fr repeat(3, minmax(0, .72fr));
    gap: .25rem;
    padding: .38rem .4rem;
    font-size: .38rem;
  }
  .compare-header { font-size: .31rem; }

  .trace-rig { gap: .3rem; }
  .trace-waterfall,
  .trace-waterfall--compact { gap: .16rem; padding: .2rem 0; }
  .trace-waterfall--compact .trace-line,
  .trace-line { min-height: 27px; }
  .trace-line {
    grid-template-columns: 40px 48px minmax(0, 1fr);
    gap: .22rem;
  }
  .trace-line > span { font-size: .3rem; }
  .trace-line > b { font-size: .33rem; }
  .trace-line > em { font-size: .3rem; padding-right: .2rem; }
  .trace-line > i {
    left: calc(88px + var(--x));
    max-width: calc(100% - 94px - var(--x));
  }

  .trace-inspector {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1px;
  }
  .trace-inspector > div { padding: .34rem .25rem; }
  .trace-inspector span { font-size: .28rem; margin-bottom: .12rem; }
  .trace-inspector strong { font-size: .48rem; }

  .explain-panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
    gap: .3rem;
    padding: .38rem .42rem;
  }
  .failure-inspector {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: .32rem;
    padding: .38rem .42rem;
  }
  .plain-trace-summary {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: .3rem;
    padding: .38rem .42rem;
  }
  .explain-panel div span,
  .plain-trace-summary span,
  .failure-inspector span { font-size: .29rem; }
  .explain-panel div strong,
  .plain-trace-summary strong,
  .failure-inspector strong { font-size: .37rem; line-height: 1.2; }
  .explain-panel > b,
  .failure-inspector b { font-size: .28rem; }

  .time-compress { gap: .2rem; }
  .time-compress div {
    grid-template-columns: 48px minmax(0, 1fr) 68px !important;
    gap: .25rem;
  }
  .time-compress b { grid-column: auto !important; }
  .time-compress span,
  .time-compress b { font-size: .3rem; }

  .parallel-source,
  .parallel-output,
  .reconcile-gate {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .35rem;
    padding: .4rem .45rem;
  }
  .parallel-source span,
  .parallel-output span,
  .reconcile-gate span { font-size: .31rem; }
  .parallel-source strong,
  .parallel-output strong,
  .reconcile-gate strong { font-size: .42rem; }
  .parallel-source small,
  .reconcile-gate b { font-size: .3rem; }

  .reconcile-resolution {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .3rem;
    padding: .38rem .42rem;
  }
  .reconcile-resolution span,
  .reconcile-resolution b { font-size: .29rem; }
  .reconcile-resolution strong { font-size: .38rem; }

  .policy-gates {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .18rem;
    margin-top: .3rem;
  }
  .policy-gates b { padding: .28rem .16rem; font-size: .28rem; text-align: center; }

  .sales-lineage {
    gap: .28rem;
  }
  .sales-lineage span,
  .sales-lineage b { font-size: .29rem; }

  .host-app {
    width: min(68%, 260px);
    margin: .38rem auto .2rem;
    padding: .4rem .5rem;
  }
  .host-app span,
  .host-app small { font-size: .29rem; }
  .host-app strong { font-size: .5rem; margin: .14rem 0; }

  .module-foot {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .28rem;
    font-size: .29rem;
  }
  .module-foot b { padding: .28rem; }

  .stable-interface {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .3rem;
    padding: .28rem 0;
  }
  .stable-interface span { font-size: .29rem; }

  .extension-stage {
    grid-template-columns: .9fr .62fr 1fr !important;
    gap: .28rem;
  }
  .runtime-block,
  .custom-node {
    min-height: 82px;
    padding: .4rem;
  }
  .runtime-block span,
  .runtime-block small,
  .custom-node span,
  .custom-node small { font-size: .29rem; }
  .runtime-block strong,
  .custom-node strong { font-size: .5rem; margin: .18rem 0; }
  .custom-node b { margin-top: .28rem; font-size: .29rem; }
  .extension-flow {
    grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto !important;
    gap: .18rem;
  }
  .extension-flow i { display: block !important; }
  .extension-flow span { font-size: .29rem; }

  .dimension-axis {
    min-width: 0;
    width: 72px;
    padding: .34rem .38rem;
    gap: .25rem;
    font-size: .31rem;
  }
  .dimension-footer {
    left: .45rem;
    right: .45rem;
    bottom: .45rem;
    gap: .3rem;
    font-size: .29rem;
    letter-spacing: .04em;
  }

  .starter-kit {
    flex-wrap: nowrap;
    gap: .14rem;
  }
  .starter-kit span {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: .12rem;
    text-align: center;
  }
}

@media (max-width: 900px) {
  /* Dynamic proof rows: three-item and four-item variants both distribute
     evenly without leaving an artificial empty grid cell. */
  .hero-proofline {
    display: flex;
    flex-wrap: nowrap;
  }
  .hero-proofline span { flex: 1 1 0; }
}

@media (max-width: 620px) {
  .launch-hud .progress-node {
    width: 30px;
    height: 16px;
  }
  body[data-deck="default"] .signup-points {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* =============================================================================
   RESPONSIVE // MOBILE COMPOSITION PASS 03
   Phone-only corrections. Desktop/tablet remain untouched.
   Preserve original component styling; only redistribute/resize for the viewport.
   ============================================================================= */
@media (max-width: 620px) {
  /* Smaller HUD progress marker; active state should read as a tick, not a block. */
  .launch-hud .slide-progress {
    left: 1px;
    gap: 4px;
  }
  .launch-hud .progress-node {
    width: 18px;
    height: 10px;
  }
  .launch-hud .progress-node::after {
    left: 2px;
    width: 5px;
    height: 1px;
  }
  .launch-hud .progress-node.active::after {
    width: 10px;
  }

  /* Let the phone composition size itself naturally inside the static slide.
     This removes the artificial 100%-height visual wells that created large
     dead zones between small groups of content. */
  .slide-content,
  .launch-shell,
  .signup-shell {
    height: auto;
    min-height: 0;
    max-height: calc(100svh - 6.35rem);
    grid-template-rows: auto auto;
    align-content: start;
    align-items: start;
    gap: .42rem;
  }

  .deck-slide,
  .launch-slide {
    padding-top: 3.5rem;
    padding-bottom: 2.85rem;
  }

  /* Restore hierarchy: titles were over-compressed while the lede stayed large. */
  .launch-kicker {
    margin-bottom: .34rem;
    font-size: .42rem;
    line-height: 1.15;
  }

  .launch-title,
  .launch-title--hero,
  .launch-title--signup {
    font-size: clamp(1.8rem, 8.4vw, 2.18rem);
    line-height: .9;
    letter-spacing: -.047em;
    margin-bottom: .42rem;
  }

  .launch-lede {
    font-size: .68rem;
    line-height: 1.34;
    letter-spacing: -.002em;
  }

  .launch-actions {
    margin-top: .54rem;
    gap: .34rem;
  }

  .launch-primary,
  .launch-text-button {
    min-height: 31px;
    padding: .46rem .5rem;
    font-size: .45rem;
  }

  /* Original proof-line visual language, kept as one horizontal mobile rail.
     No boxed/grid restyle. */
  .hero-proofline {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
    gap: .28rem;
    margin-top: .48rem;
    padding-top: .44rem;
    border: 0 !important;
    border-top: 1px solid var(--launch-line) !important;
    background: transparent !important;
    font-size: clamp(.27rem, 1.15vw, .34rem);
    line-height: 1.12;
    letter-spacing: .012em;
  }

  .hero-proofline span {
    flex: 0 1 auto !important;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    white-space: nowrap;
  }

  .hero-proofline span::before {
    display: inline !important;
    content: "+" !important;
    margin-right: .18rem;
    color: var(--launch-cyan);
  }

  /* Supporting callouts/metrics remain subordinate to the larger title. */
  .launch-callout {
    margin-top: .5rem;
    padding: .42rem .48rem;
    gap: .42rem;
  }
  .launch-callout p {
    font-size: .61rem;
    line-height: 1.28;
  }
  .callout-index {
    font-size: .65rem;
  }

  .launch-metric-row {
    margin-top: .5rem;
  }
  .launch-metric-row > div {
    padding: .36rem .28rem;
  }
  .launch-metric-row strong { font-size: .61rem; }
  .launch-metric-row span { font-size: .34rem; }

  /* Visual stages get a deliberate phone height instead of swallowing all
     remaining space. Dense rigs receive a little more room below. */
  .slide-visual,
  .launch-visual,
  .hero-shell .slide-visual,
  .hero-shell .launch-visual {
    height: clamp(315px, 42svh, 365px) !important;
    min-height: 0 !important;
    max-height: none !important;
    align-self: start;
  }

  .trace-rig,
  .dimension-rig,
  .reconcile-rig,
  .intent-rig,
  .sandbox-rig,
  .lineage-rig,
  .remix-rig,
  .sales-transform-rig {
    height: clamp(335px, 45svh, 395px) !important;
  }

  /* Group compact visual sections instead of pinning a final note to the bottom
     of a much taller container. */
  .visual-note,
  .time-compress {
    margin-top: .22rem !important;
  }

  .velocity-rig,
  .parallel-rig,
  .asset-boundary-rig,
  .provider-swap-rig,
  .module-dock-rig,
  .extension-rig,
  .friction-rig,
  .unified-workspace-rig {
    justify-content: space-between;
  }

  .workspace-question {
    margin-top: .16rem;
  }

  /* Preserve the original unboxed list language on signup copy. */
  .signup-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .26rem .55rem;
    margin-top: .48rem;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: .32rem;
    line-height: 1.22;
    letter-spacing: .035em;
  }

  .signup-points span {
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .signup-points span::before {
    display: inline;
    content: "↳";
    margin-right: .24rem;
    color: var(--launch-cyan);
  }

  body[data-deck="default"] .signup-points {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  /* Form panels should size to their content instead of becoming a tall empty
     visual well. */
  .signup-shell .slide-visual,
  .signup-shell .launch-visual,
  .signup-panel,
  .signup-panel--recap {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .signup-shell {
    grid-template-rows: auto auto;
  }

  .signup-recap,
  .alpha-inventory,
  .dev-recap {
    margin-top: .28rem;
  }

  .signup-recap div,
  .alpha-inventory div {
    padding: .26rem .14rem;
  }
  .signup-recap span,
  .alpha-inventory span {
    font-size: .24rem;
    margin-bottom: .08rem;
  }
  .signup-recap strong,
  .alpha-inventory strong {
    font-size: .42rem;
  }
  .dev-recap span {
    padding: .27rem .12rem;
    font-size: .27rem;
  }

  /* Form typography was visually oversized because inputs were forced to 16px.
     The preview now follows the HUD scale instead. */
  .alpha-form,
  .alpha-mini-form {
    gap: .26rem;
    padding: .32rem 0;
  }

  .alpha-form label {
    gap: .14rem;
  }

  .alpha-form label > span {
    font-size: .27rem;
    line-height: 1.05;
    letter-spacing: .05em;
  }

  .alpha-form input,
  .alpha-form textarea,
  .alpha-form select {
    min-height: 28px;
    height: 28px;
    padding: .3rem .38rem;
    font-family: var(--font-family-mono, monospace);
    font-size: .68rem;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: .005em;
  }

  .alpha-form textarea {
    min-height: 34px;
    height: 34px;
    max-height: 34px;
  }

  .alpha-submit {
    min-height: 29px;
    font-size: .43rem;
  }

  .alpha-form-status {
    font-size: .27rem;
    line-height: 1.16;
  }

  .signup-panel-head,
  .signup-panel-foot {
    font-size: .27rem;
  }
}

/* Short phones: preserve the same hierarchy rather than shrinking the title
   back below the paragraph scale. */
@media (max-width: 430px) and (max-height: 740px) {
  .deck-slide,
  .launch-slide {
    padding-top: 3.25rem;
    padding-bottom: 2.62rem;
  }

  .slide-content,
  .launch-shell,
  .signup-shell {
    max-height: calc(100svh - 5.95rem);
    gap: .32rem;
  }

  .launch-title,
  .launch-title--hero,
  .launch-title--signup {
    font-size: clamp(1.62rem, 7.7vw, 1.92rem);
    margin-bottom: .32rem;
  }

  .launch-lede {
    font-size: .61rem;
    line-height: 1.27;
  }

  .launch-kicker {
    margin-bottom: .26rem;
    font-size: .38rem;
  }

  .hero-proofline {
    margin-top: .35rem;
    padding-top: .34rem;
    font-size: .25rem;
  }

  .slide-visual,
  .launch-visual,
  .hero-shell .slide-visual,
  .hero-shell .launch-visual {
    height: clamp(270px, 39svh, 315px) !important;
  }

  .trace-rig,
  .dimension-rig,
  .reconcile-rig,
  .intent-rig,
  .sandbox-rig,
  .lineage-rig,
  .remix-rig,
  .sales-transform-rig {
    height: clamp(290px, 42svh, 330px) !important;
  }

  .signup-shell .slide-visual,
  .signup-shell .launch-visual,
  .signup-panel,
  .signup-panel--recap {
    height: auto !important;
  }

  .launch-callout p { font-size: .56rem; }
  .alpha-form input,
  .alpha-form textarea,
  .alpha-form select { font-size: .62rem; }
}

/* Phone landscape only: same type hierarchy, no tablet/desktop changes. */
@media (max-height: 560px) and (orientation: landscape) and (max-width: 1000px) {
  .launch-title,
  .launch-title--hero,
  .launch-title--signup {
    font-size: clamp(1.48rem, 3.45vw, 1.95rem);
  }

  .launch-lede {
    font-size: .61rem;
    line-height: 1.25;
  }

  .alpha-form input,
  .alpha-form textarea,
  .alpha-form select {
    font-size: .62rem;
  }
}

/* Final phone containment polish from 320–430px audit. */
@media (max-width: 620px) {
  .deck-slide,
  .launch-slide {
    justify-content: flex-start;
  }

  .slide-visual:not(.signup-panel),
  .launch-visual:not(.signup-panel) {
    overflow: hidden;
  }
}

@media (max-width: 430px) and (max-height: 740px) {
  .hero-proofline {
    font-size: .28rem;
    gap: .2rem;
  }

  .trace-rig {
    height: 300px !important;
  }

  .dimension-rig .orbit-a { width: 38%; }
  .dimension-rig .orbit-b { width: 54%; }
  .dimension-rig .orbit-c { width: 70%; }

  .workspace-result {
    gap: .2rem;
    padding-inline: .3rem;
  }
}

/* =============================================================================
   RESPONSIVE // MOBILE COMPOSITION PASS 04
   Final phone-only normalization. Desktop/tablet are intentionally untouched.
   - remove inherited strokes/fills from compact horizontal proof rails
   - scale support/form typography down smoothly for narrow viewports
   - reduce the navigation marker to a hairline/tick treatment
   - separate the business hero runtime layers so the core never covers labels
   ============================================================================= */
@media (max-width: 620px) {
  /* Navigation: the base theme paints .progress-node.active itself. Neutralize
     that fill/width so only the tiny ::after tick is visible on phones. */
  .launch-hud .slide-progress {
    left: 0 !important;
    gap: 3px !important;
  }

  .launch-hud .progress-node,
  .launch-hud .progress-node.active {
    width: 12px !important;
    height: 8px !important;
    min-width: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .launch-hud .progress-node::after,
  .launch-hud .progress-node.active::after {
    left: 1px !important;
    top: 50% !important;
    height: 1px !important;
    transform: translateY(-50%) !important;
    background: var(--border-hairline-bright) !important;
    opacity: .42 !important;
  }

  .launch-hud .progress-node::after { width: 3px !important; }
  .launch-hud .progress-node.active::after {
    width: 7px !important;
    background: var(--light-specular) !important;
    opacity: .95 !important;
  }

  .launch-hud .progress-node.active::before { display: none !important; }

  /* Support copy: preserve desktop hierarchy while reducing much more
     decisively on a phone. */
  .launch-lede {
    font-size: clamp(.54rem, 2.15vw, .64rem) !important;
    line-height: 1.3 !important;
    letter-spacing: -.004em !important;
    max-width: 100% !important;
  }

  .launch-callout p {
    font-size: clamp(.5rem, 2vw, .58rem) !important;
    line-height: 1.25 !important;
  }

  /* Horizontal proof rails retain the original + label language only.
     Remove every inherited card/grid stroke, including the row divider. */
  .hero-proofline,
  .hero-proofline span,
  .signup-points,
  .signup-points span {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .hero-proofline {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .2rem !important;
    margin-top: .42rem !important;
    padding: 0 !important;
    font-size: clamp(.245rem, 1.05vw, .31rem) !important;
    line-height: 1.08 !important;
    letter-spacing: .008em !important;
  }

  .hero-proofline span {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  .hero-proofline span::before {
    display: inline-block !important;
    content: "+" !important;
    margin-right: .12rem !important;
    color: var(--launch-cyan) !important;
  }

  .signup-points {
    padding: 0 !important;
  }

  .signup-points span {
    padding: 0 !important;
  }

  /* Form typography: scale smoothly from compact phone to large phone instead
     of inheriting desktop-sized input text. */
  .alpha-form,
  .alpha-mini-form {
    gap: .22rem !important;
    padding: .26rem 0 !important;
  }

  .alpha-form label {
    gap: .1rem !important;
  }

  .alpha-form label > span,
  .signup-panel-head,
  .signup-panel-foot,
  .alpha-form-status {
    font-size: clamp(.22rem, .92vw, .27rem) !important;
    line-height: 1.08 !important;
    letter-spacing: .045em !important;
  }

  .alpha-form input,
  .alpha-form textarea,
  .alpha-form select {
    min-height: 25px !important;
    height: 25px !important;
    padding: .24rem .32rem !important;
    font-size: clamp(.46rem, 1.9vw, .54rem) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }

  .alpha-form textarea {
    min-height: 31px !important;
    height: 31px !important;
    max-height: 31px !important;
  }

  .alpha-form input::placeholder,
  .alpha-form textarea::placeholder {
    font-size: inherit !important;
  }

  .alpha-submit {
    min-height: 26px !important;
    padding-block: .3rem !important;
    font-size: clamp(.34rem, 1.45vw, .4rem) !important;
    letter-spacing: .07em !important;
  }

  /* BUSINESS / 01: separate the objective, stakeholder rail, runtime core and
     owned-asset strip into distinct vertical bands on a narrow screen. */
  body[data-deck="business"] .company-runtime-map {
    display: block !important;
    position: relative !important;
  }

  body[data-deck="business"] .company-objective {
    top: 4% !important;
    left: 50% !important;
    width: 86% !important;
    transform: translateX(-50%) !important;
    padding: .34rem .38rem !important;
  }

  body[data-deck="business"] .company-objective strong {
    margin: .12rem 0 !important;
  }

  body[data-deck="business"] .company-stakeholders {
    top: 31% !important;
    bottom: auto !important;
    left: 3% !important;
    right: 3% !important;
    inset-inline: 3% !important;
    gap: .12rem !important;
  }

  body[data-deck="business"] .company-runtime-core {
    position: absolute !important;
    left: 50% !important;
    top: 59% !important;
    transform: translate(-50%, -50%) !important;
    width: 64px !important;
    height: 64px !important;
  }

  body[data-deck="business"] .company-runtime-core strong {
    margin: .18rem 0 !important;
    font-size: .48rem !important;
  }

  body[data-deck="business"] .company-runtime-core span,
  body[data-deck="business"] .company-runtime-core small {
    font-size: .25rem !important;
  }

  body[data-deck="business"] .company-owned-strip {
    left: 3% !important;
    right: 3% !important;
    bottom: 4% !important;
    gap: .12rem !important;
  }

  body[data-deck="business"] .company-owned-strip span,
  body[data-deck="business"] .company-stakeholders span {
    padding: .24rem .05rem !important;
    font-size: .25rem !important;
  }
}

@media (max-width: 430px) and (max-height: 740px) {
  .launch-lede {
    font-size: .52rem !important;
    line-height: 1.24 !important;
  }

  .alpha-form input,
  .alpha-form textarea,
  .alpha-form select {
    font-size: .45rem !important;
  }

  body[data-deck="business"] .company-runtime-core {
    width: 58px !important;
    height: 58px !important;
    top: 60% !important;
  }
}

/* =============================================================================
   RESPONSIVE // SEMANTIC VISUAL PASS 05
   Support the new causal diagrams while preserving the static-screen contract.
   ============================================================================= */
@media (max-width: 900px) {
  .factor-grid-rig,
  .operating-compression-rig {
    height: 100%;
  }

  .hero-experiment-stats { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .rd-program-grid { grid-template-columns: 1fr 1fr; }
  .stakeholder-inputs { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .decision-proof { grid-template-columns:1fr auto 1fr auto .72fr; }
  .claim-transform { grid-template-columns:1fr auto .82fr auto 1.35fr; }
  .weird-topologies { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  /* New visuals are phone compositions, not vertical documents. */
  .factor-grid-rig,
  .operating-compression-rig {
    height: clamp(335px,45svh,395px) !important;
    padding:.58rem !important;
    gap:.34rem !important;
  }

  .hero-console--experiment .experiment-hero-body {
    padding:.42rem .12rem;
    gap:.28rem;
  }
  .hypothesis-card { padding:.42rem .48rem; }
  .hypothesis-card span,.hypothesis-card small { font-size:.26rem; }
  .hypothesis-card strong { margin:.2rem 0; font-size:.48rem; line-height:1.22; }
  .experiment-fanout { height:10px; gap:.2rem; }
  .hero-experiment-stats > div { min-height:48px; padding:.28rem; }
  .hero-experiment-stats span,.hero-experiment-stats small { font-size:.24rem; }
  .hero-experiment-stats strong { font-size:.8rem; }
  .experiment-outcome { padding:.3rem .36rem; gap:.3rem; }
  .experiment-outcome span,.experiment-outcome b { font-size:.24rem; }
  .experiment-outcome strong { font-size:.4rem; }

  .factor-grid { gap:.22rem; }
  .factor-axis,
  .factor-axis:nth-child(2),
  .factor-axis:nth-child(3),
  .factor-axis:nth-child(4),
  .factor-axis:nth-child(5) {
    grid-template-columns:46px repeat(5,minmax(0,1fr));
    gap:.16rem;
  }
  .factor-axis:nth-child(2),.factor-axis:nth-child(3) { grid-template-columns:46px repeat(3,minmax(0,1fr)) 1.2fr; }
  .factor-axis:nth-child(4),.factor-axis:nth-child(5) { grid-template-columns:46px repeat(2,minmax(0,1fr)) 2.2fr; }
  .factor-axis > span { font-size:.25rem; }
  .factor-axis > b { min-height:19px; font-size:.22rem; }
  .factor-cross { padding:.3rem .34rem; gap:.28rem; }
  .factor-cross span,.factor-cross b { font-size:.22rem; }
  .factor-cross strong { font-size:.31rem; }
  .factor-results div { padding:.28rem; }
  .factor-results span { font-size:.21rem; margin-bottom:.08rem; }
  .factor-results strong { font-size:.38rem; }

  .rd-program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.24rem; padding:.28rem 0; }
  .rd-program-grid > div { min-height:60px; padding:.34rem; gap:.12rem; }
  .rd-program-grid span { font-size:.23rem; }
  .rd-program-grid strong { font-size:.32rem; }
  .rd-program-grid small { font-size:.24rem; line-height:1.22; }
  .core-recap { margin-top:.42rem; }
  .core-recap span { padding:.27rem .12rem; font-size:.23rem; }
  .core-recap b { font-size:.35rem; }

  .operating-lane { padding:.34rem .38rem; }
  .operating-lane > span { margin-bottom:.25rem; font-size:.23rem; }
  .operating-lane--old > div { gap:.12rem; }
  .operating-lane--old b { padding:.2rem .14rem; font-size:.19rem; }
  .operating-lane small { margin-top:.2rem; font-size:.23rem; }
  .operating-objective { padding:.25rem .3rem; gap:.3rem; }
  .operating-objective b { font-size:.24rem; }
  .operating-fanout { margin:.28rem 1% .25rem; gap:.14rem; }
  .operating-fanout b { padding:.25rem .05rem; font-size:.2rem; }
  .operating-reconcile,.operating-output { padding:.26rem .3rem; gap:.28rem; }
  .operating-reconcile span,.operating-reconcile b,.operating-output b { font-size:.21rem; }
  .operating-reconcile strong,.operating-output span { font-size:.26rem; }
  .time-compress div { grid-template-columns:52px 1fr 72px !important; gap:.25rem; }
  .time-compress span,.time-compress b { font-size:.22rem; }
  .time-compress b { grid-column:auto !important; }

  .decision-proof { grid-template-columns:1fr auto 1.12fr auto .7fr; gap:.16rem; }
  .decision-proof > div { padding:.28rem; }
  .decision-proof span { font-size:.21rem; margin-bottom:.08rem; }
  .decision-proof strong { font-size:.27rem; }

  .stakeholder-inputs { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.18rem; }
  .stakeholder-inputs > div { min-height:55px; padding:.28rem; gap:.14rem; }
  .stakeholder-inputs span { font-size:.21rem; }
  .stakeholder-inputs strong { font-size:.27rem; line-height:1.2; }
  .friction-rail { gap:.18rem; padding:.22rem .05rem; }
  .friction-rail span { font-size:.19rem; }
  .approved-context { padding:.3rem .34rem; gap:.3rem; }
  .approved-context span,.approved-context b { font-size:.21rem; }
  .approved-context strong { font-size:.29rem; }

  .claim-transform { grid-template-columns:1fr auto .78fr auto 1.3fr; gap:.16rem; }
  .claim-transform > div { padding:.26rem; }
  .claim-transform span { font-size:.19rem; margin-bottom:.08rem; }
  .claim-transform strong { font-size:.25rem; line-height:1.18; }
  .claim-transform .claim-result b { font-size:.18rem; margin-top:.12rem; }

  .mesh-selected-path { left:3%; right:3%; bottom:4%; gap:.12rem; padding:.22rem .25rem; }
  .mesh-selected-path span,.mesh-selected-path b { font-size:.19rem; }

  .density-ramp { gap:.24rem; padding:.16rem 0; }
  .density-ramp > div { grid-template-columns:42px 28px 1fr 62px; gap:.24rem; }
  .density-ramp span,.density-ramp small { font-size:.22rem; }
  .density-ramp strong { font-size:.42rem; }
  .density-ramp i { height:18px; background-size:auto; }
  .dock-module b { font-size:.2rem; }

  .provider-swap-event { grid-template-columns:1fr auto 1fr .8fr; gap:.2rem; }
  .provider-swap-event > div { padding:.3rem; }
  .provider-swap-event span,.provider-swap-event b { font-size:.22rem; }
  .provider-swap-event small { font-size:.23rem; }

  .extension-trace { grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto; gap:.14rem; padding:.28rem; }
  .extension-trace span,.extension-trace b,.extension-trace strong { font-size:.19rem; }
  .extension-trace em { display:none; }

  .intent-rig--inverted .intent-core { width:124px !important; height:124px !important; }
  .intent-rig--inverted .intent-model { width:72px !important; }
  .intent-rig--inverted .intent-model strong { font-size:.25rem !important; }

  .weird-topologies { margin-top:.42rem; gap:.2rem; }
  .weird-topologies span { min-height:31px; padding:.28rem .18rem; font-size:.21rem; }
  .weird-topologies span::after { bottom:6px; height:6px; }

  .workspace-focus-path { gap:.12rem; padding:.25rem .28rem; }
  .workspace-focus-path span,.workspace-focus-path b { font-size:.18rem; }
  .selected-request-path { left:4%; right:4%; padding:.25rem .28rem; gap:.12rem; }
  .selected-request-path span,.selected-request-path b,.selected-request-path strong { font-size:.18rem; }

  .mutation-ledger { grid-template-columns:auto 1fr auto 1.25fr auto; gap:.18rem; }
  .mutation-ledger span,.mutation-ledger strong,.mutation-ledger b { padding:.23rem .25rem; font-size:.2rem; }
}

@media (max-width: 430px) and (max-height: 740px) {
  .factor-grid-rig,
  .operating-compression-rig { height:300px !important; }
  .rd-program-grid > div { min-height:50px; }
  .stakeholder-inputs > div { min-height:48px; }
  .weird-topologies span { min-height:26px; }
}
@media (max-width:620px){
  .scenario-decision-field{min-height:205px;grid-template-columns:18px 1fr;grid-template-rows:1fr 18px;gap:.16rem}
  .scenario-axis{font-size:.2rem}.scenario-candidate{min-width:44px;padding:.2rem .22rem;gap:.06rem .12rem}.scenario-candidate span{font-size:.2rem}.scenario-candidate b{font-size:.28rem}.scenario-candidate small{font-size:.19rem}.scenario-plot>i{width:3px;height:3px}
}
