/* Responsive corrections: preserve image geometry and keep controls usable. */
[hidden] { display: none !important; }
html { scroll-padding-top: 100px; }
.brand { min-width: 0; flex-shrink: 0; }
.brand img, .footer-inner img { height: auto; aspect-ratio: 2831 / 416; object-fit: contain; flex-shrink: 0; }
.brand img { width: 190px; }
.footer-inner img { width: 180px; }
.mobile-panel { position: absolute; inset: 100% 14px auto; max-height: calc(100vh - var(--nav-height, 80px) - 12px); max-height: calc(100dvh - var(--nav-height, 80px) - 12px); overflow-y: auto; overscroll-behavior: contain; }
.menu-toggle { flex: 0 0 46px; }
.mobile-panel a, .stage-btn { min-height: 44px; }
.hero-grid > *, .section-head > *, .offering-grid > *, .form-grid > *, .builder-copy, .vp-content { min-width: 0; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-width: 0; font-size: 1rem; line-height: 1.5; letter-spacing: normal; text-transform: none; }
.contact-form input, .contact-form select { min-height: 48px; }
.device-triptych .device-desktop { width: 86%; height: 85%; }
.device-triptych .device-phone { width: 20%; height: 82%; }
.builder-media { height: auto; }
.stage-caption span, .reach-strip span, .room-card span, .image-caption { font-size: .8rem; }
.journey-node span { font-size: .8rem; line-height: 1.5; color: rgba(255,255,255,.82); }
.engine-item b { overflow-wrap: anywhere; }
@media (max-width: 800px) {
  .brand img { width: 174px; }
  .section-title, .vp-feature-copy h3 { font-size: clamp(1.8rem, 6.9vw, 2.8rem); line-height: 1.1; overflow-wrap: anywhere; }
  .hero-proof { grid-template-columns: 1fr; gap: 8px; }
  .proof-card { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 12px; padding: 14px 16px; min-height: 0; }
  .proof-card b { font-size: 1.65rem; }
  .proof-card span { margin: 0; font-size: .82rem; line-height: 1.45; }
  .journey-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-height: 0; padding: 18px; }
  .journey-map .orbit-path { display: none; }
  .journey-map .hub-pulse { position: relative; inset: auto; transform: none; width: 100%; height: auto; min-height: 100px; grid-column: 1 / -1; border-radius: 20px; box-shadow: none; padding: 18px; }
  .hub-pulse > div { display: flex; align-items: center; gap: 16px; }
  .hub-pulse img { margin: 0; }
  .journey-map .journey-node { position: relative; inset: auto; transform: none; width: 100%; min-height: 100px; padding: 14px; text-align: left; }
  .journey-map .node-commerce { grid-column: 1 / -1; }
  .journey-node b { font-size: .95rem; line-height: 1.3; }
  .vertical-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 4px 0 16px; overflow: visible; }
  .vertical-btn { padding: 13px 8px; min-height: 48px; }
  .vertical-btn small { font-size: .82rem; margin: 0; }
  .vertical-btn b, .vertical-btn span { display: none; }
  .builder-copy h3 { font-size: 1.65rem; }
  .contact-card { padding: 20px; }
  .contact-form { padding: 16px; }
  .conversion-card { grid-template-columns: minmax(0, 1fr) auto; padding: 20px; }
  .conversion-card b { font-size: 2rem; }
  .stage-caption b { font-size: .95rem; }
  .stage-caption span { font-size: .8rem; }
  .footer-inner { align-items: flex-start; }
}
@media (max-width: 380px) {
  .nav { gap: 12px; }
  .brand img { width: 164px; }
  .journey-map { grid-template-columns: 1fr; }
  .journey-map .journey-node { min-height: 82px; }
  .conversion-card { grid-template-columns: 1fr; }
  .conversion-card b, .conversion-card span, .conversion-card small { grid-column: auto; grid-row: auto; }
  .engine-row { grid-template-columns: 1fr; }
}
@media (pointer: coarse), (prefers-reduced-motion: reduce) {
  .cursor-glow { display: none; }
  .stage-btn, .btn, .journey-node { transform: none !important; }
}
