.mcta {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 90;
  display: none;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(to top, rgba(7, 10, 18, .98) 62%, rgba(7, 10, 18, 0));

  transform: translateY(120%);
  transition: transform .35s var(--ease-out);
  pointer-events: none;
}
.mcta .btn {
  width: 100%;
  min-height: 52px;
  font-size: 16px;
  box-shadow: 0 -2px 30px rgba(20, 227, 196, .2), var(--glow-teal);
}
.mcta.in {
  transform: translateY(0);
  pointer-events: auto;
}

@media (max-width: 1020px) {
  .mcta { display: block; }

  .foot-bottom { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
}

.mcta:not(.in) .btn { visibility: hidden; }

@media (max-width: 860px) {

  a, button, summary, .qa summary, label { -webkit-tap-highlight-color: transparent; }

  .btn { min-height: 48px; padding-inline: 22px; }
  .btn-sm { min-height: 44px; }
  .btn-lg { min-height: 54px; font-size: 16.5px; }
  .btn:active { transform: scale(.975); }

  .nav-toggle { width: 46px; height: 44px; }
  .lang-toggle { min-width: 46px; height: 44px; font-size: 14px; }
  .nav-drawer-link { min-height: 50px; display: flex; align-items: center; font-size: 16px; }

  .qa summary { padding: 16px 18px; min-height: 52px; }
  .qa summary:active { background: rgba(255, 255, 255, .04); }

  .toc a { padding-block: 9px; display: block; min-height: 44px; }

  .foot-col a { display: flex; align-items: center; min-height: 44px; padding-block: 4px; }
  .foot-col li + li { margin-top: 0; }
  .brand { min-height: 44px; }

  .crumbs a { display: inline-flex; align-items: center; min-height: 44px; }
  .crumbs li { display: inline-flex; align-items: center; }

  .prose p a, .powered-by a { padding-block: 3px; }

  .type-card:active, .tool-card:active, .rel-card:active,
  .country-card:active, .feature-card:active { transform: scale(.99); }

  .callout-cta { display: inline-flex; align-items: center; min-height: 44px; }
  .contact-link { display: inline-flex; align-items: center; min-height: 44px; }
}

@media (max-width: 1020px) {
  .nav-drawer {
    position: fixed;
    inset: var(--nav-h) 0 0;
    z-index: 95;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 18px 20px calc(28px + env(safe-area-inset-bottom, 0px));
    background: rgba(7, 10, 18, .985);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .nav-drawer[hidden] { display: none; }
  .nav-drawer .btn { margin-top: 16px; min-height: 52px; }

  body.drawer-open { overflow: hidden; }
}

@media (max-width: 640px) {
  :root {
    --nav-h: 60px;

    --measure: 100%;
  }

  body { font-size: 16px; line-height: 1.7; }

  .prose > * + * { margin-block-start: 18px; }
  .prose h2 { margin-block-start: 44px; }
  .prose h3 { margin-block-start: 26px; }

  h1, h2, h3, .lead, .answer p, .prose p, .prose li { overflow-wrap: break-word; }
  h1 { text-wrap: pretty; }

  .lead { font-size: 17px; }
  .answer { padding: 16px 18px; }
  .answer p { font-size: 17px; }

  .hero { padding-block: 30px 44px; }
  .hero-actions { gap: 10px; }
  .hero-actions .btn { width: 100%; }
  .hero-price { margin-block-start: 14px; font-size: 13.5px; justify-content: center; text-align: center; }
  .page-head { padding-block: 26px 22px; }

  .related { padding-block: 40px; }
  .cta-band { padding-block: 46px; }
  .cta-band .btn { width: 100%; max-width: 420px; }
  .store-pills { gap: 10px; }
  .store-pill { flex: 1 1 auto; justify-content: center; min-height: 52px; }

  .callout { padding: 20px; margin-block: 30px !important; }
  .section-title { font-size: 21px; }

  .type-grid, .tool-grid, .rel-grid, .contact-grid, .feature-grid,
  .steps-compact, .calc-fields { grid-template-columns: minmax(0, 1fr); }
  .country-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .step { padding: 16px; gap: 13px; }
  .steps-compact .step { flex-direction: row; }
  .step-num { width: 34px; height: 34px; font-size: 15px; }

  .foot { padding-block: 38px 0; }
  .foot-grid { gap: 26px; }
}

@media (max-width: 380px) {

  .wrap { width: min(100% - 22px, var(--container)); }
  .nav-inner { width: min(100% - 22px, var(--container)); gap: 10px; }
  .brand-text strong { font-size: 15.5px; }
  .brand-text small { font-size: 9.5px; }
  .brand img { width: 30px; height: 30px; }
  .country-grid { grid-template-columns: minmax(0, 1fr); }
  .btn-lg { font-size: 15.5px; padding-inline: 18px; }
  .eyebrow { font-size: 12px; padding: 5px 11px; }
  .stat-value { font-size: 26px; }
}

@media (max-width: 640px) {

  .point-grid, .metric-grid, .check-grid, .flow { grid-template-columns: minmax(0, 1fr); }

  .anatomy, .phone-demo { border-radius: var(--radius); }
  .anatomy-legend li { grid-template-columns: 24px minmax(0, 1fr); gap: 3px 11px; }

  .stamp { width: clamp(40px, 12vw, 54px); }
  .stampcard { padding: 18px 16px; }
  .stampcard-head { gap: 8px; }

  .metric-value { font-size: 30px; }
  .pullquote { padding: 18px 20px; }
  .pullquote p { font-size: 19px; }

  .country-chips { gap: 8px; margin-block-start: 20px; }
  .country-chip { padding: 9px 13px; }
  .country-chip dd { font-size: 14px; }
  .market-band { padding-block: 30px; }

  .head-panel { padding: 20px; }
  .rail-step { padding: 16px 16px 16px 58px; }
  html[dir="rtl"] .rail-step { padding: 16px 58px 16px 16px; }
}

@media (max-width: 380px) {

  .pin-1, .pin-3 { inset-inline-start: -8px; }
  .pin-2, .pin-5 { inset-inline-end: -8px; }
  .wpass { padding: 15px 14px 13px; }
  .wpass-stamp { width: 26px; height: 26px; }
}

@media (max-width: 640px) {

  .table-wrap {
    position: relative;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;

    background-image: linear-gradient(to left, var(--bg-2) 0%, rgba(12, 18, 32, 0) 100%);
    background-position: right center;
    background-size: 30px 100%;
    background-repeat: no-repeat;
    background-attachment: local, scroll;
  }
  html[dir="rtl"] .table-wrap {
    background-image: linear-gradient(to right, var(--bg-2) 0%, rgba(12, 18, 32, 0) 100%);
    background-position: left center;
  }
  .table-wrap::after {
    content: attr(data-hint);
    display: block;
    padding: 8px 14px 12px;
    font-size: 11.5px;
    color: var(--muted);
    border-block-start: 1px solid var(--line);
  }
  .table-wrap:empty::after { content: none; }

  table { font-size: 13.5px; }
  caption { padding: 14px 14px 10px; font-size: 15px; }
  th, td { padding: 10px 12px; }
  thead th { font-size: 11px; }

  tbody th { position: sticky; inset-inline-start: 0; background: var(--bg-2); z-index: 1; min-width: 116px; }
  td { min-width: 108px; }
  td:last-child, th:last-child { scroll-snap-align: end; }
}

@media (max-width: 640px) {
  .calc { padding: 18px; border-radius: var(--radius); }

  .field input, .field select { font-size: 16px; min-height: 50px; }
  .field > span { font-size: 13.5px; }
  .calc-out { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .out { padding: 13px 14px; }
  .out dd { font-size: 19px; }
  .calc-scale span { height: 40px; font-size: 13px; }
}

@media (max-width: 380px) {
  .calc-out { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 480px) {
  .deck { min-height: 232px; }
  .deck-stage { width: 178px; height: 200px; }
  .deck-slot { width: 106px; }
  .deck-slot.s2 { --x: -48px; --z: -70px; }
  .deck-slot.s4 { --x: 48px; --z: -70px; }
  html[dir="rtl"] .deck-slot.s2 { --x: 48px; }
  html[dir="rtl"] .deck-slot.s4 { --x: -48px; }
}

@media (max-height: 460px) and (orientation: landscape) {

  .deck { display: none; }
  .mcta { display: none; }
  .hero { padding-block: 22px 30px; }
  .nav-drawer { padding-block: 12px; }
}

@media (pointer: coarse) {

  .tilt, .btn-magnetic { transform: none !important; }
  .deck:hover .deck-slot { transform: translate(-50%, -50%) translateX(var(--x)) translateY(var(--y)) translateZ(var(--z)) rotateY(var(--ry)) rotateZ(var(--rz)); }
  .btn-primary:hover { transform: none; }
}
