/* Mobile fit pass: retain every Terminal component and constrain its geometry. */
@media (max-width: 700px) {
  html, body.terminal-product-page { max-width: 100%; overflow-x: clip; }
  body.terminal-product-page *,
  body.terminal-product-page *::before,
  body.terminal-product-page *::after { box-sizing: border-box; min-width: 0; }
  body.terminal-product-page main { width: 100%; overflow-x: clip; }
  body.terminal-product-page :is(img, video, canvas, svg) { max-width: 100%; }

  body.terminal-product-page {
    --terminal-site-frame: calc(100% - 28px);
    --terminal-site-space: 60px;
    --terminal-hero-edge: 8px;
    --terminal-hero-height: clamp(560px, calc(100svh - 72px), 640px);
  }
  body.terminal-product-page .hero {
    width: calc(100% - 12px) !important;
    padding: 6px 0 68px !important;
  }
  body.terminal-product-page .hero > .container { height: var(--terminal-hero-height) !important; }
  body.terminal-product-page .hero-video-wrap,
  body.terminal-product-page .hero-video-wrap.terminal-scroll-screen {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    border-radius: 18px !important;
  }
  body.terminal-product-page .hero-head {
    width: 100% !important;
    padding: 26px 20px !important;
  }
  body.terminal-product-page .hero-head .display {
    width: 100% !important;
    max-width: 12ch !important;
    font-size: clamp(36px, 10.5vw, 47px) !important;
    line-height: .96 !important;
    text-align: left !important;
    overflow-wrap: normal !important;
  }
  body.terminal-product-page .hero-head .display > span { display: inline !important; text-align: left !important; }
  body.terminal-product-page .hero-copy {
    width: 100% !important;
    max-width: 33ch !important;
    margin: 16px 0 0 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    text-align: left !important;
    text-align-last: left !important;
  }
  body.terminal-product-page .hero-actions {
    width: 100% !important;
    margin: 20px 0 0 !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  body.terminal-product-page .hero-actions .btn { width: auto !important; min-height: 40px !important; }
  body.terminal-product-page .play-badge { width: 42px; height: 42px; }

  body.terminal-product-page .section { padding-top: 72px; padding-bottom: 72px; }
  body.terminal-product-page .container { width: calc(100% - 28px); max-width: 100%; }
  body.terminal-product-page :is(.section-title, .cta-box .section-title) {
    max-width: 100% !important;
    font-size: clamp(36px, 10.8vw, 48px) !important;
    line-height: .98 !important;
    overflow-wrap: normal !important;
  }
  body.terminal-product-page :is(.pillars-intro, .use-cases-intro, .stack-top, .cta-box) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }
  body.terminal-product-page :is(.pillars-intro, .use-cases-intro) { margin-bottom: 42px; }

  /* Same rotating helix, with phone-sized depth instead of desktop 385px. */
  body.terminal-product-page .helix-section { min-height: 650px; overflow: hidden; }
  body.terminal-product-page .helix-heading { margin-bottom: 30px; }
  body.terminal-product-page .helix-stage {
    --helix-depth: clamp(64px, 20vw, 82px);
    width: 100%;
    height: 330px;
    perspective: 900px;
    overflow: hidden;
    touch-action: pan-y;
  }
  body.terminal-product-page .helix-card {
    width: clamp(154px, 48vw, 190px);
    border-radius: 11px;
    transform: translate(-50%, -50%) rotateY(var(--angle)) translateZ(var(--helix-depth)) translateY(var(--y));
  }
  body.terminal-product-page .helix-hint { right: 0; bottom: 0; }

  body.terminal-product-page .pillar-grid,
  body.terminal-product-page .case-grid { grid-template-columns: minmax(0, 1fr); }
  body.terminal-product-page .pillar-card { display: block; min-height: 0; }
  body.terminal-product-page .pillar-image { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; }
  body.terminal-product-page .pillar-content { padding: 24px 20px; }
  body.terminal-product-page .pillar-content h3 { font-size: clamp(30px, 9vw, 38px); }
  body.terminal-product-page .feature-list { margin-top: 24px; }

  body.terminal-product-page .case-card { min-height: 0; }
  body.terminal-product-page .case-card img { width: 100%; height: auto; aspect-ratio: 4 / 3; }
  body.terminal-product-page .case-copy { padding: 24px 20px 28px; }
  body.terminal-product-page .case-copy h3 { font-size: clamp(29px, 8.5vw, 37px); }

  body.terminal-product-page .signal-provenance { padding: 78px 0; }
  body.terminal-product-page .provenance-shell { width: 100%; padding-inline: 14px; }
  body.terminal-product-page .provenance-heading { width: 100%; margin-bottom: 46px; }
  body.terminal-product-page .provenance-card { min-height: 0; padding: 22px 24px 30px; }
  body.terminal-product-page .provenance-icon { margin-bottom: 22px; }
  body.terminal-product-page .provenance-card p { margin-top: 18px; }

  body.terminal-product-page .logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 44px; }
  body.terminal-product-page .logo-cell { min-height: 108px; padding: 16px 10px; }
  body.terminal-product-page .logo-cell-label { font-size: clamp(17px, 5.3vw, 22px); overflow-wrap: anywhere; }

  body.terminal-product-page #faq { padding: 76px 0 !important; }
  body.terminal-product-page #faq .faq-layout { width: 100% !important; padding: 0 14px !important; gap: 32px; }
  body.terminal-product-page #faq .faq-question { gap: 14px; padding: 22px 0; }
  body.terminal-product-page #faq .faq-question span:first-child { font-size: clamp(21px, 6.7vw, 28px); }
  body.terminal-product-page #faq .faq-answer p { padding-right: 0; font-size: 16px; text-align: left !important; }

  body.terminal-product-page .cta-section { padding: 76px 0 !important; }
  body.terminal-product-page .cta-box { width: calc(100% - 28px); }
  body.terminal-product-page .cta-box .body-lg { margin: 0; text-align: left !important; text-align-last: left !important; }
  body.terminal-product-page .cta-actions { flex-direction: column; width: 100%; }
  body.terminal-product-page .cta-actions .btn { width: 100%; }
}

@media (max-width: 360px) {
  body.terminal-product-page { --terminal-site-frame: calc(100% - 20px); }
  body.terminal-product-page .hero-head { padding-inline: 16px !important; }
  body.terminal-product-page .hero-head .display { font-size: 34px !important; }
  body.terminal-product-page .hero-actions { gap: 7px !important; }
  body.terminal-product-page .hero-actions .btn { padding-inline: 12px !important; font-size: 12px !important; }
}
