/* ---- Self-hosted webfonts (WOFF2, no external CDN) ---- */
@font-face{font-family:"Outfit";src:url("../fonts/outfit-600.8cfe15c2.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Outfit";src:url("../fonts/outfit-700.5d5e3734.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Outfit";src:url("../fonts/outfit-800.eabf8cb2.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-400.8909904a.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-500.f3779f1e.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-600.f9a06e79.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-700.6f56409f.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/jetbrains-mono-400.14425ba9.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/jetbrains-mono-500.cb182fee.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Caveat";src:url("../fonts/caveat-600.d51e2283.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{color-scheme:only light}
html[data-boot-failed] body::before{content:"This page failed to load correctly. Please refresh.";position:fixed;inset:0 0 auto 0;z-index:9999;padding:14px 18px;background:#1a2233;color:#fff;font:600 15px/1.4 system-ui,sans-serif;text-align:center}


/* ============================================================
   MERIDIAN — v4. Bold playful SaaS marketing energy.
   Outfit display + Inter body + JetBrains Mono data + Caveat accents.
   Warm cream surface, electric indigo primary, coral + yellow pop.
   ============================================================ */
:root {
  --bg:        #e8f1f5;
  --bg-2:      #d8e6ed;
  --paper:     #ffffff;
  --ink:       #1a2233;
  --ink-2:     #2a3445;
  --ink-3:     #5a6275;
  --muted:     #8a90a0;
  --rule:      #d8e0e6;
  --rule-2:    #c0c8d2;

  --primary:   #1a2233;          /* cool navy */
  --primary-2: #0a1224;
  --primary-soft: #d8e0e6;
  --coral:     #ff5a3c;           /* rocket red */
  --coral-soft: #ffd9d0;
  --yellow:    #ffaa3c;           /* flame orange */
  --yellow-soft: #ffe8c8;
  --mint:      #ffe8c8;
  --pos:       #15803d;           /* trading green (for up) */
  --pos-soft:  #dcfce7;
  --neg:       #ff5a3c;
  --neg-soft:  #ffd9d0;
  --dark:      #1a2233;
  --grad-fire: linear-gradient(135deg, #ff5a3c 0%, #ffaa3c 100%);
  --grad-fire-bright: linear-gradient(135deg, #ff7a3c 0%, #ffce5a 100%);

  --sans:      "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --display:   "Outfit", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono:      "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  --hand:      "Caveat", "Bradley Hand", cursive;

  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 24px;
  --r-xl: 36px;

  --shadow-1: 0 1px 0 rgba(26,34,51,0.04), 0 4px 14px rgba(26,34,51,0.06);
  --shadow-2: 0 1px 0 rgba(26,34,51,0.05), 0 16px 40px rgba(26,34,51,0.10);
  --shadow-3: 0 22px 60px rgba(255,90,60,0.22);

  --pad: clamp(20px, 4vw, 56px);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: clip; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  letter-spacing: -0.005em;
}
::selection { background: var(--primary); color: #fff; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; }

.wrap { width: 100%; max-width: 1340px; margin: 0 auto; padding: 0 var(--pad); }

/* ---------- TYPE ---------- */
.display, h1, h2, h3 {
  font-family: var(--display);
  font-weight: 700;
  letter-spacing: -0.03em;
  margin: 0;
  line-height: 1.02;
  color: var(--ink);
  text-wrap: balance;
}
h1 { font-size: clamp(40px, 6vw, 92px); font-weight: 800; letter-spacing: -0.04em; }
h2 { font-size: clamp(32px, 4.4vw, 64px); font-weight: 800; letter-spacing: -0.035em; }
h3 { font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -0.025em; line-height: 1.1; }
h4 { font-family: var(--display); font-size: 18px; font-weight: 600; margin: 0; line-height: 1.2; letter-spacing: -0.015em; }
p { margin: 0; }
.lede { font-size: clamp(17px, 1.3vw, 20px); line-height: 1.5; color: var(--ink-3); max-width: 56ch; }
.body { font-size: 16px; line-height: 1.6; color: var(--ink-3); max-width: 56ch; }

.hand {
  font-family: var(--hand);
  font-weight: 600;
  color: var(--coral);
  letter-spacing: 0;
  font-size: 1.18em;
}
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--primary);
  letter-spacing: -0.005em;
}
.eyebrow::before {
  content: ""; width: 8px; height: 8px;
  background: var(--primary); border-radius: 50%;
  flex: none;
}
.serial { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }

/* ---------- BUTTON ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px;
  padding: 14px 22px;
  border-radius: 999px;
  background: var(--grad-fire);
  color: #fff;
  border: 1.5px solid transparent;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.005em;
  cursor: pointer;
  white-space: nowrap;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease, filter .2s ease;
  box-shadow: 0 6px 20px rgba(255,90,60,0.30);
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 14px 38px rgba(255,90,60,0.42); filter: brightness(1.05); }
.btn .ar { transition: transform .25s ease; display: inline-block; }
.btn:hover .ar { transform: translate(2px, -2px) rotate(-2deg); }
.btn.ghost { background: transparent; color: var(--ink); border-color: var(--ink); box-shadow: none; }
.btn.ghost:hover { background: var(--ink); color: #fff; filter: none; }
.btn.small { padding: 10px 16px; font-size: 13.5px; }
.btn.light { background: #fff; color: var(--ink); border-color: #fff; box-shadow: var(--shadow-1); background-image: none; }
.btn.light:hover { background: var(--coral); border-color: var(--coral); color: #fff; box-shadow: 0 12px 32px rgba(255,90,60,0.32); }

/* ============================================================
   ANNOUNCE BAR + TICKER
   ============================================================ */
.announce {
  display: none;
}
.announce .live {
  display: inline-flex; align-items: center; gap: 8px;
}
.announce .live::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--mint);
  box-shadow: 0 0 0 0 rgba(182,240,209,0.7);
  animation: pulse 2.2s ease-in-out infinite;
}
@keyframes pulse { 50% { box-shadow: 0 0 0 6px rgba(182,240,209,0); } }
.announce .right { display: inline-flex; gap: 18px; align-items: center; color: rgba(255,255,255,0.65); }
.announce .right a { color: var(--yellow); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

.ticker {
  background: var(--paper);
  overflow: hidden;
}
.ticker-track {
  display: flex; gap: 40px;
  padding: 10px 0;
  width: max-content;
  animation: tk 90s linear infinite;
  white-space: nowrap;
}
.ticker-item {
  display: inline-flex; align-items: baseline; gap: 8px;
  font-family: var(--mono);
  font-size: 12px;
}
.ticker-item .sym { font-weight: 500; color: var(--ink); }
.ticker-item .val { color: var(--ink-3); }
.ticker-item .delta { padding: 2px 7px; border-radius: 999px; font-size: 11px; }
.ticker-item .delta.up   { color: var(--pos); background: var(--pos-soft); }
.ticker-item .delta.down { color: var(--neg); background: var(--neg-soft); }
.ticker-item::after {
  content: "✦"; color: var(--rule-2); margin-left: 28px;
}
@keyframes tk { to { transform: translateX(-50%); } }

/* ============================================================
   NAV
   ============================================================ */
header.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: background .25s ease, backdrop-filter .25s ease;
}
header.nav.scrolled {
  background: rgba(232, 241, 245, 0.82);
  backdrop-filter: saturate(160%) blur(14px);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
}
.ticker { display: none; }
.nav-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  padding: 16px var(--pad);
  gap: 32px;
}
.brand {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--display);
  font-weight: 800;
  font-size: 24px;
  letter-spacing: -0.025em;
  color: var(--ink);
}
.brand .mark {
  width: 34px; height: 34px;
  border-radius: 10px;
  display: inline-grid; place-items: center;
  position: relative;
  overflow: hidden;
  transition: transform .3s ease;
  flex: none;
}
.brand .mark img { width: 100%; height: 100%; display: block; }
.brand:hover .mark { transform: rotate(-8deg); }
.brand .mark::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 12px;
  background: var(--coral);
  z-index: -1;
  opacity: 0.2;
  filter: blur(8px);
}
.nav-links {
  display: flex; gap: 4px; justify-content: center;
  font-size: 14.5px;
  font-weight: 500;
}
.nav-links a {
  padding: 8px 14px;
  border-radius: 999px;
  color: var(--ink-2);
  transition: background .2s ease, color .2s ease;
}
.nav-links a:hover { background: var(--paper); color: var(--ink); }
.nav-cta { display: inline-flex; gap: 12px; align-items: center; }

.nav-toggle {
  display: none;
  width: 44px; height: 44px;
  border-radius: 12px;
  background: transparent;
  border: 1px solid rgba(10,10,10,0.18);
  cursor: pointer;
  position: relative;
  padding: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.nav-toggle span {
  width: 18px;
  height: 2px;
  background: var(--ink);
  border-radius: 2px;
  transition: transform .25s ease, opacity .2s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 920px) {
  .nav-inner { grid-template-columns: 1fr auto; }
  .nav-toggle { display: inline-flex; }
  .nav-cta .btn { display: none; }
  .nav-links {
    position: fixed;
    top: 70px;
    left: var(--pad);
    right: var(--pad);
    flex-direction: column;
    background: rgba(232, 241, 245, 0.96);
    backdrop-filter: saturate(160%) blur(18px);
    -webkit-backdrop-filter: saturate(160%) blur(18px);
    border: 1px solid var(--rule);
    border-radius: 18px;
    padding: 14px;
    gap: 4px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
  }
  .nav-links a {
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 16px;
  }
  .nav-links.open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
}

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  padding: clamp(100px, 10vw, 140px) 0 clamp(48px, 7vw, 96px);
  overflow: hidden;
  isolation: isolate;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.hero > .wrap { width: 100%; }
.hero-bg-video {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.04);
  transform-origin: center;
  z-index: -2;
  display: block;
  border: 0;
  outline: 0;
}
.hero::before { display: none; }
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg,
    rgba(232,241,245,0.30) 0%,
    rgba(232,241,245,0.05) 30%,
    transparent 55%);
  pointer-events: none;
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
  position: relative;
}
@media (max-width: 980px) { .hero-grid { grid-template-columns: 1fr; } }

.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 6px 6px 6px 14px;
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 999px;
  font-size: 13.5px;
  color: var(--ink-2);
  margin-bottom: 28px;
  box-shadow: var(--shadow-1);
}
.hero-eyebrow .badge {
  background: var(--primary-soft); color: var(--primary);
  font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 999px;
}

.hero h1 .acc {
  background: var(--grad-fire);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  position: relative;
  display: inline-block;
}
.hero h1 .acc::after { content: none; }
.hero h1 .underline {
  position: relative;
  display: inline-block;
}
.hero h1 .underline svg {
  position: absolute;
  left: -4px; right: -4px; bottom: -10px;
  width: calc(100% + 8px);
  height: 12px;
}

.hero-sub {
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.5;
  color: var(--ink-3);
  margin-top: 24px;
  max-width: 52ch;
}
.hero-sub strong { color: var(--ink); font-weight: 600; }

.hero-cta {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-top: 32px;
}
.hero-cta .hand-cue {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--hand);
  font-size: 22px;
  color: var(--coral);
  margin-left: 4px;
  transform: rotate(-6deg);
}

.hero-rating {
  margin-top: 36px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 22px;
}
.hero-rating .avs {
  display: inline-flex;
}
.hero-rating .avs .a {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 2.5px solid var(--bg);
  background: var(--bg-2);
  color: #fff;
  display: grid; place-items: center;
  font-size: 12px;
  font-weight: 600;
  margin-left: -10px;
  overflow: hidden;
}
.hero-rating .avs .a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-rating .avs .a:first-child { margin-left: 0; }
.hero-rating .copy { font-size: 14px; color: var(--ink-3); }
.hero-rating .stars {
  display: inline-flex; align-items: center; gap: 2px;
  color: var(--yellow);
  font-size: 16px;
}
.hero-rating .copy .b { color: var(--ink); font-weight: 600; }

/* ----- hero video player ----- */
.hero-art {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 600px;
  margin: 0 auto;
}
.hero-art .blob {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(255,90,60,0.10) 0%, transparent 60%);
  border-radius: 50%;
}

.hero-video {
  position: absolute;
  inset: 8% 6%;
  border-radius: 28px;
  overflow: hidden;
  background: #1a2233;
  box-shadow:
    0 30px 70px rgba(0,0,0,0.30),
    0 0 0 1px rgba(255,255,255,0.04);
  z-index: 2;
}
.hero-video video,
.hero-video .poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hero-video .poster { z-index: 1; }
.hero-video video { z-index: 2; background: transparent; }
.hero-video video:not([src]),
.hero-video video[src=""] { display: none; }

.hero-video .scene-frame {
  position: absolute; inset: 0;
  z-index: 1;
}
.hero-video .scene-frame svg { width: 100%; height: 100%; display: block; }

.hero-video .vid-top {
  position: absolute; left: 0; right: 0; top: 0;
  padding: 14px 16px;
  display: flex; justify-content: space-between; align-items: center;
  z-index: 4;
  background: linear-gradient(to bottom, rgba(0,0,0,0.45), transparent);
  pointer-events: none;
}
.hero-video .vid-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 10px;
  background: rgba(255,90,60,0.92);
  color: #fff;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
}
.hero-video .vid-badge::before {
  content: "";
  width: 6px; height: 6px; border-radius: 50%; background: #fff;
  animation: pulse 1.6s ease-in-out infinite;
}
.hero-video .vid-viewers {
  font-family: var(--mono);
  font-size: 10.5px;
  color: rgba(255,255,255,0.8);
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(0,0,0,0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 5px 10px;
  border-radius: 999px;
}
.hero-video .vid-viewers svg { width: 12px; height: 12px; }

.hero-video .vid-play {
  position: absolute;
  inset: 0;
  display: grid; place-items: center;
  z-index: 4;
  cursor: pointer;
}
.hero-video .vid-play .pb {
  width: 76px; height: 76px;
  border-radius: 50%;
  background: rgba(255,255,255,0.20);
  border: 2px solid rgba(255,255,255,0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: grid; place-items: center;
  color: #fff;
  font-size: 24px;
  padding-left: 4px;
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
  animation: playPulse 2.6s ease-in-out infinite;
}
.hero-video:hover .vid-play .pb { transform: scale(1.06); background: var(--coral); border-color: var(--coral); }

.hero-video .vid-bottom {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 14px 16px;
  z-index: 4;
  background: linear-gradient(to top, rgba(0,0,0,0.55), transparent);
  display: flex; flex-direction: column; gap: 8px;
  pointer-events: none;
}
.hero-video .scrubber {
  height: 3px;
  background: rgba(255,255,255,0.18);
  border-radius: 999px;
  position: relative;
  overflow: hidden;
}
.hero-video .scrubber::after {
  content: "";
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 0%;
  background: var(--coral);
  border-radius: 999px;
  animation: scrub 18s linear infinite;
}
@keyframes scrub { to { width: 100%; } }
.hero-video .vid-meta {
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--mono);
  font-size: 10.5px;
  color: rgba(255,255,255,0.85);
}
.hero-video .vid-meta .lbl { display: inline-flex; align-items: center; gap: 6px; }
.hero-video .vid-meta svg { width: 12px; height: 12px; opacity: 0.7; }
.hero-video.playing .vid-play { opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.hero-video.playing .vid-top,
.hero-video.playing .vid-bottom { opacity: 0.4; transition: opacity .3s ease; }
.hero-video .vid-play { transition: opacity .3s ease; }
.hero-video .vid-top, .hero-video .vid-bottom { transition: opacity .3s ease; }

/* floating mini tiles around the hero illustration */
.hero-tile {
  position: absolute;
  background: var(--paper);
  border-radius: 18px;
  padding: 14px 18px;
  box-shadow: var(--shadow-2);
  z-index: 3;
  display: flex; flex-direction: column; gap: 6px;
  border: 1px solid rgba(21,16,31,0.04);
  font-family: var(--sans);
  animation: float 6s ease-in-out infinite;
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.hero-tile .k {
  font-family: var(--mono); font-size: 10px;
  letter-spacing: 0.04em; color: var(--muted);
}
.hero-tile .v {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  display: flex; align-items: baseline; gap: 8px;
}
.hero-tile .v .chip {
  font-family: var(--mono);
  font-size: 11px;
  padding: 2px 7px;
  border-radius: 999px;
  font-weight: 500;
}
.hero-tile .v .chip.up { color: var(--pos); background: var(--pos-soft); }
.hero-tile .v .chip.down { color: var(--neg); background: var(--neg-soft); }
.hero-tile.tl { top: 4%;   left: -6%; animation-delay: 0s; }
.hero-tile.tr { top: 14%;  right: -8%; animation-delay: 1.2s; }
.hero-tile.bl { bottom: 8%; left: -10%; animation-delay: 2.4s; }
.hero-tile.br { bottom: 18%; right: -6%; animation-delay: 3.6s; }

@media (max-width: 980px) {
  .hero-tile.tl { left: -2%; }
  .hero-tile.tr { right: -2%; }
  .hero-tile.bl { left: -2%; }
  .hero-tile.br { right: -2%; }
}

.hero-spark { stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: draw 2.6s cubic-bezier(.5,.05,.25,1) .5s forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }

/* sparkle bursts */
.sparkle {
  position: absolute;
  color: var(--yellow);
  font-family: var(--display);
  font-weight: 800;
  font-size: 24px;
  animation: spin 6s linear infinite;
  z-index: 3;
}
.sparkle.s1 { top: 6%; right: 12%; animation-delay: 0s; }
.sparkle.s2 { bottom: 12%; left: 6%; animation-delay: 1.5s; color: var(--coral); }
.sparkle.s3 { top: 38%; right: -2%; animation-delay: 3s; color: var(--primary); }
@keyframes spin { to { transform: rotate(360deg); } }

/* ============================================================
   LOGO ROW
   ============================================================ */
.logorow {
  padding: 28px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  background: var(--bg-2);
}
.logorow-inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 36px;
  align-items: center;
}
.logorow .label {
  font-size: 13px;
  color: var(--ink-3);
  max-width: 16ch;
  font-weight: 500;
}
.logorow .logos {
  display: flex; gap: 36px; flex-wrap: wrap; align-items: center;
}
.logorow .logo {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--display);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ink-3);
  opacity: 0.9;
  transition: opacity .2s, color .2s;
}
.logorow .logo:hover { opacity: 1; color: var(--ink); }
.logorow .logo .gly { width: 18px; height: 18px; display: inline-grid; place-items: center; color: var(--primary); }

@media (max-width: 720px) {
  .logorow-inner { grid-template-columns: 1fr; }
  .logorow .logos { gap: 24px; }
}

/* ============================================================
   SECTION SCAFFOLD
   ============================================================ */
section.s { padding: clamp(64px, 8vw, 120px) 0; position: relative; }
.s-head { text-align: center; margin-bottom: clamp(40px, 5vw, 64px); }
.s-head .eyebrow { justify-content: center; margin-bottom: 16px; }
.s-head h2 { max-width: 18ch; margin: 0 auto; }
.s-head .descr { color: var(--ink-3); max-width: 56ch; margin: 18px auto 0; font-size: 17px; }
.s-head .descr strong { color: var(--ink); font-weight: 600; }

/* ============================================================
   COMPARISON
   ============================================================ */
.compare-wrap {
  display: flex;
  flex-direction: column;
  gap: clamp(48px, 6vw, 72px);
  align-items: center;
  text-align: center;
}
.compare-head {
  max-width: 720px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.compare-head .eyebrow { justify-content: center; }
.compare-head h2 {
  font-size: clamp(36px, 5vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 700;
  margin: 0;
}
.compare-head h2 .acc {
  font-weight: 800;
  background: var(--grad-fire);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.compare-head .descr {
  color: var(--ink-3);
  font-size: 17px;
  max-width: 46ch;
  margin: 0;
  line-height: 1.5;
}

.cmp-cards {
  width: 100%;
  max-width: 980px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
  text-align: left;
}
@media (max-width: 720px) { .cmp-cards { grid-template-columns: 1fr; } }

.cmp-card {
  position: relative;
  border-radius: 24px;
  padding: 44px 36px 36px;
  display: flex;
  flex-direction: column;
  gap: 26px;
  transition: transform .3s ease;
}
.cmp-card:hover { transform: translateY(-4px); }

.cmp-card.cmp-us {
  background: linear-gradient(180deg, #ffffff 0%, #fff6f1 100%);
  border: 1.5px solid rgba(255,90,60,0.22);
  box-shadow: 0 28px 60px -20px rgba(255,90,60,0.22), 0 4px 16px rgba(10,10,10,0.04);
}
.cmp-card.cmp-them {
  background: var(--bg-2);
  border: 1px solid var(--rule);
  box-shadow: 0 4px 16px rgba(10,10,10,0.03);
}

.cmp-badge {
  position: absolute;
  top: -14px; left: 50%; transform: translateX(-50%);
  background: var(--grad-fire);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 7px 16px;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(255,90,60,0.35);
  text-transform: uppercase;
}

.cmp-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(10,10,10,0.06);
}
.cmp-card.cmp-us .cmp-header { border-bottom-color: rgba(255,90,60,0.18); }

.cmp-logo {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: grid; place-items: center;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(255,90,60,0.28);
  margin-bottom: 6px;
}
.cmp-logo img { width: 100%; height: 100%; display: block; }
.cmp-logo-them {
  background: var(--paper);
  color: var(--ink-3);
  box-shadow: 0 4px 12px rgba(10,10,10,0.05);
  border: 1px solid var(--rule);
}

.cmp-card h3 {
  font-family: var(--display);
  font-weight: 700;
  font-size: 26px;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0;
}
.cmp-card.cmp-them h3 { color: var(--ink-2); }
.cmp-sub {
  margin: 0;
  font-size: 13px;
  color: var(--ink-3);
  font-weight: 500;
}

.cmp-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
.cmp-list li {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 16px;
  color: var(--ink);
  font-weight: 500;
  line-height: 1.4;
}
.cmp-card.cmp-them .cmp-list li { color: var(--ink-3); font-weight: 400; }
.cmp-list li strong { font-weight: 700; }
.cmp-card.cmp-them .cmp-list li strong { font-weight: 600; color: var(--ink-2); }

.cmp-check {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--grad-fire);
  color: #fff;
  display: inline-grid; place-items: center;
  flex: none;
  box-shadow: 0 4px 10px rgba(255,90,60,0.30);
}
.cmp-x {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--paper);
  color: var(--muted);
  border: 1.5px solid var(--rule-2);
  display: inline-grid; place-items: center;
  flex: none;
}

.cmp-cta {
  margin-top: auto;
  align-self: stretch;
  justify-content: center;
}
.cmp-cta-disabled {
  margin-top: auto;
  text-align: center;
  padding: 14px 22px;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
  border: 1.5px dashed var(--rule-2);
  font-style: italic;
}

/* ============================================================
   ROCKET MOTIF (reusable across sections)
   ============================================================ */
.rocket-deco {
  position: absolute;
  pointer-events: none;
  z-index: 1;
}
.rocket-deco img, .tier-rocket img, .foot-rocket img {
  width: 100%;
  height: auto;
  display: block;
}

/* COMPARISON */
.compare-wrap { position: relative; }
.cmp-rocket {
  position: absolute;
  width: clamp(180px, 22vw, 320px);
  height: auto;
  top: -60px;
  right: -60px;
  animation: rkBob 5.2s ease-in-out infinite;
  filter: drop-shadow(0 22px 32px rgba(255,90,60,0.25));
}
.cmp-rocket.l {
  right: auto;
  top: auto;
  left: -80px;
  bottom: -60px;
  width: clamp(140px, 16vw, 220px);
  height: auto;
  animation-delay: -2.6s;
  opacity: 0.95;
}
@keyframes rkBob {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}

/* PRICING FEATURED TIER */
.tier-rocket {
  position: absolute;
  top: -80px;
  right: -30px;
  width: 150px;
  height: auto;
  z-index: 3;
  animation: rkBob 4.5s ease-in-out infinite;
  filter: drop-shadow(0 16px 28px rgba(255,90,60,0.40));
}

/* CALL CTA */
.call-rocket {
  right: -80px;
  bottom: -80px;
  width: clamp(360px, 42vw, 560px);
  height: auto;
  z-index: 0;
  opacity: 1;
  transform: rotate(-6deg);
  filter: drop-shadow(0 24px 38px rgba(0,0,0,0.25));
}

/* FOOTER inline brand mark */
.foot-rocket {
  display: inline-block;
  width: 36px;
  height: 36px;
  vertical-align: -10px;
  margin-left: 8px;
}
.foot-rocket img { width: 100%; height: 100%; object-fit: contain; }

/* PAIN section background rocket */
.pain-rocket {
  width: clamp(320px, 38vw, 540px);
  height: auto;
  top: 4%;
  right: -8%;
  opacity: 1;
  z-index: 1;
  filter: drop-shadow(0 28px 48px rgba(255,170,60,0.30));
  animation: rkBob 6.6s ease-in-out infinite;
}
.pain-rocket img { transform: scaleX(-1); }

@media (max-width: 720px) {
  .pain-rocket { opacity: 0.6; right: -20%; width: 90vw; }
  .cmp-rocket { width: 38vw; top: -40px; right: -20px; }
  .cmp-rocket.l { width: 28vw; left: -30px; bottom: -40px; }
  .call-rocket { right: -60px; bottom: -60px; opacity: 0.7; width: 90vw; }
  .tier-rocket { width: 100px; top: -60px; right: -20px; }
}

/* one shared SVG defs block — defined inline below */

/* GLOBAL responsive guards */
img, svg, video { max-width: 100%; }
/* Anchor offset for sticky/fixed nav */
section[id], div[id^="contact"] { scroll-margin-top: 84px; }

/* Containers that hold absolutely-positioned decorations clip them locally */
.hero, .pain-section, .pain, .mkt-panel, .call-card, .demo-card,
.tier { overflow: clip; }
.tier.featured, .tier.elite { overflow: visible; }
.compare-wrap { overflow: visible; }

/* Universal card-width safety on small screens */
@media (max-width: 768px) {
  .mkt-card-inner, .cmp-card, .tier, .pain-card, .hours-card, .team-card,
  .faq-item, .call-list, .demo-card, .pain {
    max-width: 100%;
  }
}

/* Min touch target on mobile */
@media (max-width: 767px) {
  .btn, .t-cta, .mkt-btn, .faq-q, .nav-toggle, .nav-cta .btn,
  .mkt-item {
    min-height: 44px;
  }
}

/* ============================================================
   LAPTOP / SMALL DESKTOP (≤ 1024px)
   ============================================================ */
@media (max-width: 1024px) {
  .wrap { max-width: 100%; }
  section.s { padding: clamp(48px, 7vw, 88px) 0; }
  .hero h1 { font-size: clamp(40px, 7vw, 72px); }
}


/* Mobile comparison tabs */
.cmp-tabs { display: none; }
@media (max-width: 768px) {
  .cmp-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 6px;
    background: var(--bg-2);
    border: 1px solid var(--rule);
    border-radius: 999px;
  }
  .cmp-tab {
    padding: 11px 14px;
    border-radius: 999px;
    font-family: var(--display);
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink-3);
    background: transparent;
    border: 0;
    cursor: pointer;
    transition: background .25s ease, color .25s ease, box-shadow .25s ease;
    min-height: 44px;
  }
  .cmp-tab.active {
    background: var(--grad-fire);
    color: #fff;
    box-shadow: 0 6px 16px rgba(255,90,60,0.28);
  }
  .cmp-cards .cmp-card { display: none !important; }
  .cmp-cards .cmp-card.is-shown { display: flex !important; }
}

/* Mobile markets: horizontal scrollable tab strip */
@media (max-width: 768px) {
  #services { padding: 32px 0 !important; }
  #services .s-head { margin-bottom: 20px !important; }
  #services .s-head h2 { font-size: clamp(30px, 7.6vw, 40px) !important; line-height: 1.06; }
  #services .s-head .descr { font-size: 14px !important; }

  .mkt-tabs { grid-template-columns: 1fr !important; gap: 16px !important; }

  .mkt-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px;
    padding: 0;
    overflow: visible;
  }

  .mkt-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center;
    padding: 10px 8px !important;
    border: 1px solid var(--rule) !important;
    border-radius: 12px;
    background: var(--paper);
    min-height: 42px;
    gap: 0 !important;
    grid-template-columns: none !important;
    text-align: center;
  }
  .mkt-item:hover { padding-left: 8px !important; }
  .mkt-item .mkt-arrow { display: none !important; }
  .mkt-item .mkt-sub { display: none !important; }
  .mkt-item .mkt-text { display: block !important; }
  .mkt-item .mkt-name {
    font-size: 13px !important;
    font-weight: 600;
    white-space: nowrap;
    color: var(--ink-3);
  }
  .mkt-item.active {
    background: var(--grad-fire);
    border-color: transparent !important;
    box-shadow: 0 6px 16px rgba(255,90,60,0.28);
  }
  .mkt-item.active .mkt-name {
    color: #fff !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
  }
  .mkt-item.active::before, .mkt-item.active::after { display: none !important; }
}

/* Mobile pricing carousel */
.tier-nav { display: none; }
@media (max-width: 768px) {
  #pricing .s-head h2 { font-size: clamp(30px, 7.6vw, 40px) !important; line-height: 1.06; }
  .tier-grid {
    display: flex !important;
    grid-template-columns: none !important;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    gap: 14px !important;
    padding: 48px 0 6px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    max-width: 100% !important;
    margin: -48px 0 0 !important;
  }
  .tier-grid::-webkit-scrollbar { display: none; }
  .tier-grid .tier {
    flex: 0 0 calc(100% - 8px);
    scroll-snap-align: center;
    max-width: calc(100% - 8px);
  }
  .tier-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 0 0 22px;
  }
  .tier-arrow {
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--rule);
    background: var(--paper);
    color: var(--ink);
    display: grid; place-items: center;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(10,10,10,0.06);
    transition: background .2s ease, color .2s ease, border-color .2s ease;
  }
  .tier-arrow:active { background: var(--grad-fire); color: #fff; border-color: transparent; }
  .tier-counter {
    font-family: var(--mono);
    font-size: 13px;
    color: var(--ink-3);
    min-width: 46px;
    text-align: center;
  }
  .tier-counter b { color: var(--coral); font-weight: 600; }
}

/* Mobile testimonials carousel */
.team-nav { display: none; }
@media (max-width: 768px) {
  #testimonials .s-head h2 { font-size: clamp(30px, 7.6vw, 40px) !important; line-height: 1.06; }
  .team-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 0 0 22px;
  }
  .team-grid {
    display: flex !important;
    grid-template-columns: none !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 14px !important;
    padding: 4px 0 6px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .team-grid::-webkit-scrollbar { display: none; }
  .team-grid .team-card {
    flex: 0 0 calc(100% - 8px);
    max-width: calc(100% - 8px);
    scroll-snap-align: center;
  }
  .team-grid .team-photo { aspect-ratio: 16 / 9 !important; }
  .team-grid .team-photo img { object-position: center 25%; }
}

/* ============================================================
   TABLET BREAKPOINT (≤ 768px)
   ============================================================ */
@media (max-width: 768px) {
  :root { --pad: 20px; }

  /* Section padding */
  section.s { padding: 40px 0; }

  /* Section heads */
  .s-head { margin-bottom: 28px; }
  .s-head .eyebrow { margin-bottom: 10px; }
  .s-head h2 { font-size: clamp(26px, 5.6vw, 38px); }
  .s-head .descr { font-size: 14.5px; }

  /* HERO — content-driven height on tablet; reposition video so rocket isn't behind text */
  .hero {
    min-height: 0;
    padding: clamp(80px, 14vw, 110px) 0 48px;
  }
  .hero-bg-video { object-position: 70% center; }
  .hero::after {
    background: linear-gradient(180deg,
      rgba(232,241,245,0.85) 0%,
      rgba(232,241,245,0.50) 50%,
      rgba(232,241,245,0.20) 100%);
  }
  .hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .hero-copy { width: 100% !important; max-width: 100%; }
  .hero h1 { font-size: clamp(34px, 6.6vw, 48px) !important; letter-spacing: -0.03em !important; }
  .hero-sub { font-size: 16px; line-height: 1.55; max-width: 100%; }
  .hero-cta { gap: 10px; flex-wrap: wrap; }
  .hero-cta .hand-cue { font-size: 18px; }
  .hero-rating { margin-top: 24px; gap: 18px; }
  .hero-rating .avs .a { width: 34px; height: 34px; }
  .hero-rating .copy { font-size: 13.5px; }

  /* NAV mobile drawer (already at 920) — tighter padding */
  .nav-inner { padding: 14px var(--pad); }

  /* COMPARISON */
  .cmp-cards { grid-template-columns: 1fr; gap: 16px; max-width: 480px; margin: 0 auto; }
  .cmp-card { padding: 30px 26px 26px; }
  .compare-head h2 { font-size: clamp(30px, 6.8vw, 42px) !important; line-height: 1.08; }
  .compare-head .descr { font-size: 15.5px; }
  .cmp-rocket.l { width: 90px; left: -20px; bottom: -20px; opacity: 0.55; }

  /* PAIN POINTS */
  .pain { padding: 44px 22px; border-radius: 28px; }
  .pain h2 { font-size: clamp(28px, 6.4vw, 40px); line-height: 1.08; }
  .pain .pain-sub { font-size: 14.5px; }
  .pain-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 24px; }
  .pain-card { padding: 20px !important; gap: 12px !important; display: grid !important; grid-template-columns: 46px 1fr; align-items: center; }
  .pain-card .ico { width: 46px !important; height: 46px !important; border-radius: 13px !important; }
  .pain-card .ico svg { width: 22px !important; height: 22px !important; }
  .pain-card h3 { font-size: 18px; line-height: 1.2; margin: 0; }
  .pain-card .body { grid-column: 1 / -1; font-size: 13.5px; }
  .pain-section::before { width: 60vw; height: 60vw; opacity: 0.7; right: -16%; top: -16%; }
  .pain-section::after { width: 50vw; height: 50vw; opacity: 0.7; left: -16%; bottom: -16%; }
  .pain-rocket { width: 60vw; max-width: 280px; opacity: 0.30; right: -10%; }

  /* MARKETS TABS */
  .mkt-tabs { grid-template-columns: 1fr; gap: 28px; }
  .mkt-name { font-size: 19px; }
  .mkt-panel { min-height: 0; padding: 24px; border-radius: 22px; }
  .mkt-card { position: relative; inset: 0; transform: none; }
  .mkt-card:not(.active) { display: none; }
  .mkt-card-inner { max-width: 100%; padding: 24px; gap: 18px; }
  .mkt-title { font-size: 24px; }
  .mkt-desc { font-size: 14px; padding-bottom: 14px; }
  .mkt-panel-rocket {
    height: auto; width: 50%; max-width: 220px;
    top: 14px; right: 14px;
    opacity: 0.45;
    transform: rotate(18deg);
  }
  @keyframes mktRocketBob {
    0%, 100% { transform: rotate(18deg); }
    50%      { transform: rotate(18deg) translateY(-8px); }
  }

  /* TRADING HOURS */
  .demo-card { grid-template-columns: 1fr; padding: 32px 22px; gap: 28px; }
  .hours-title { font-size: clamp(30px, 7vw, 40px) !important; margin-bottom: 20px; line-height: 1.1; }
  .hours-gallery { min-height: 0; }
  .hours-page { grid-template-columns: 1fr !important; gap: 10px; }
  .hours-card { padding: 16px; }
  .hc-head { gap: 12px; padding-bottom: 12px; }
  .hc-flag { width: 26px; height: 26px; }
  .hc-name { font-size: 13.5px; line-height: 1.2; }
  .hc-body { font-size: 12px; gap: 5px; }
  .hours-globe { max-width: 320px; }

  /* PRICING */
  .tier-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .tier { padding: 24px 20px; gap: 16px; }
  .tier.featured { transform: none; }
  .tier.featured:hover { transform: translateY(-3px); }
  .tier .name { font-size: 22px; }
  .tier .price { font-size: 34px; padding: 14px 0; }
  .tier .feat li { font-size: 14px; }
  .tier .feat li::before { width: 16px; height: 16px; }
  .tier .feat li::after { left: 4px; top: 6px; }
  .tier-rocket { width: 92px; top: -46px; right: 4px; }

  /* TESTIMONIALS */
  .team-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .team-info { padding: 16px 18px 18px; gap: 10px; }
  .team-info .t-quote { font-size: 14px; line-height: 1.45; }

  /* FAQ */
  .faq-wrap { grid-template-columns: 1fr; gap: 22px; }
  .faq-side { position: static; padding: 26px; }
  .faq-q { padding: 18px 20px; font-size: 16px; }
  .faq-a .inner { padding: 0 50px 20px 20px; font-size: 14.5px; }

  /* CALL CTA */
  .call-card { grid-template-columns: 1fr; padding: 36px 24px; gap: 24px; }
  .call-card h2 { font-size: clamp(28px, 6.8vw, 38px) !important; line-height: 1.08; }
  .call-card .sub { font-size: 15px; }
  .call-card .cta-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }
  .call-card .cta-row .btn { width: 100%; justify-content: center; padding: 13px 12px; font-size: 13.5px; white-space: normal; text-align: center; }
  .call-rocket { width: 60vw; max-width: 320px; right: -30px; bottom: -30px; opacity: 0.45; }
  .call-list { padding: 22px; }

  /* FOOTER */
  footer.foot { padding: 44px 0 22px; }
  .foot-cta { gap: 14px; margin-bottom: 36px; }
  .foot-cta .foot-contact { width: 100% !important; align-self: stretch !important; display: block !important; }
  .foot-cta .foot-contact .pill { display: flex !important; align-items: center; justify-content: center; gap: 12px; width: 100% !important; box-sizing: border-box; padding: 12px 16px; }
  .foot-cta .foot-contact .pill > div:last-child { text-align: left; }
  .foot-cta .ctas { width: 100%; align-self: stretch; }
  .foot-cta h2 { font-size: clamp(24px, 6.2vw, 34px); line-height: 1.1; }
  .foot-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .foot-grid > div:not(.foot-company) {
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,0.1);
  }
  .foot-company { max-width: none; padding-bottom: 20px; order: 1; }
  .foot-legal { order: 2; }
  .foot-nav { order: 3; }
  .foot h5 { font-size: 11px; margin-bottom: 14px; letter-spacing: 0.16em; }
  .foot ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
    font-size: 14px;
  }
}

/* ============================================================
   MOBILE BREAKPOINT (≤ 430px includes iPhone 14 Pro Max)
   ============================================================ */
@media (max-width: 430px) {
  :root { --pad: 18px; }

  section.s { padding: 40px 0; }
  .s-head { margin-bottom: 24px; }

  /* HERO */
  .hero { padding: 76px 0 32px; min-height: 0; }
  .hero-bg-video { object-position: 82% center; transform: scale(1); }
  .hero::after {
    background: linear-gradient(180deg,
      rgba(232,241,245,0.94) 0%,
      rgba(232,241,245,0.72) 50%,
      rgba(232,241,245,0.30) 100%);
  }
  .hero h1 { font-size: clamp(26px, 8vw, 34px) !important; line-height: 1.08; letter-spacing: -0.025em !important; }
  .hero-copy { width: 100% !important; max-width: 100%; }
  .hero .wrap { max-width: 100%; }
  .hero-sub { font-size: 14.5px; line-height: 1.5; max-width: 100%; overflow-wrap: break-word; }
  .hero-cta { width: 100%; flex-direction: column; }
  .hero-cta .btn { width: 100%; justify-content: center; }
  .hero-cta .hand-cue { display: none !important; }
  .hero-rating { gap: 14px; margin-top: 20px; }
  .hero-rating .avs .a { width: 30px; height: 30px; border-width: 2px; margin-left: -8px; }
  .hero-rating .copy { font-size: 12.5px; }

  /* COMPARISON */
  .compare-head h2 { font-size: clamp(28px, 8.4vw, 34px) !important; line-height: 1.08; }
  .compare-head .descr { font-size: 14.5px; }
  .cmp-card { padding: 22px 18px; }
  .cmp-card h3 { font-size: 19px; }
  .cmp-list li { font-size: 14px; gap: 10px; }

  /* PAIN */
  .pain { padding: 32px 16px; border-radius: 22px; }
  .pain h2 { font-size: clamp(26px, 8vw, 32px); line-height: 1.08; max-width: 100%; }
  .pain-sub { font-size: 13.5px; }
  .pain-grid { gap: 10px; margin-top: 20px; }
  .pain-card { padding: 18px 16px !important; gap: 10px 12px !important; border-radius: 18px; grid-template-columns: 40px 1fr; }
  .pain-card .ico { width: 40px !important; height: 40px !important; border-radius: 11px !important; }
  .pain-card .ico svg { width: 19px !important; height: 19px !important; }
  .pain-card h3 { font-size: 16.5px; line-height: 1.2; margin: 0; }
  .pain-card .body { font-size: 13px; line-height: 1.5; }
  .pain-rocket { display: none; }

  /* MARKETS */
  .mkt-panel { padding: 20px; min-height: 0; border-radius: 18px; }
  .mkt-card-inner { padding: 20px; gap: 16px; }
  .mkt-title { font-size: 22px; }
  .mkt-tile-ico { width: 36px; height: 36px; font-size: 17px; }
  .mkt-desc { font-size: 13.5px; }
  .mkt-assets li { font-size: 13px; gap: 10px; }
  .mkt-btn { padding: 12px 18px; font-size: 14px; }
  .mkt-panel-rocket { width: 48%; max-width: 160px; top: 12px; right: 12px; opacity: 0.4; }

  /* HOURS */
  .demo-card { padding: 24px 18px; gap: 22px; }
  .hours-title { font-size: clamp(26px, 8vw, 32px) !important; margin-bottom: 16px; }
  .hours-page { grid-template-columns: 1fr; gap: 10px; }
  .hours-gallery { min-height: 0; }
  .hours-card { padding: 16px 18px; }
  .hours-globe { max-width: 240px; }
  .hours-dots { margin-top: 18px; gap: 10px; }
  .hours-dot { width: 28px; height: 5px; min-height: 0; }
  .hours-dot.active { width: 40px; }

  /* PRICING */
  .tier-grid { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; gap: 14px; }
  .tier { padding: 24px 20px; gap: 16px; }
  .tier .price { font-size: 30px; }
  .tier .name { font-size: 20px; }
  .tier .feat li { font-size: 13.5px; }
  .tier .t-cta { padding: 12px 18px; font-size: 14px; }
  .tier-rocket { width: 78px; top: -38px; right: 2px; }

  /* TESTIMONIALS */
  .team-grid { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; gap: 12px; }
  .team-photo { aspect-ratio: 3 / 2; }

  /* FAQ */
  .faq-q { padding: 16px 18px; font-size: 15px; grid-template-columns: 1fr 28px; gap: 12px; }
  .faq-q .icon { width: 28px; height: 28px; }
  .faq-a .inner { padding: 0 18px 18px; font-size: 14px; }
  .faq-side { padding: 22px; }
  .faq-side h4 { font-size: 19px; }
  .faq-side .body { font-size: 14px; }

  /* CALL */
  .call-card { padding: 28px 18px; gap: 22px; border-radius: 24px; }
  .call-card h2 { font-size: clamp(24px, 7.4vw, 30px) !important; }
  .call-card .sub { font-size: 14.5px; }
  .call-card .cta-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .call-card .cta-row .btn { width: 100%; justify-content: center; padding: 12px 8px; font-size: 12.5px; }
  .call-rocket { display: none; }
  .call-list { padding: 18px; }
  .call-list h4 { font-size: 15px; margin-bottom: 12px; }
  .call-list .item { padding: 12px 0; grid-template-columns: 34px 1fr; gap: 12px; }
  .call-list .item .ic { width: 34px; height: 34px; font-size: 14px; }
  .call-list .item .desc .t { font-size: 14.5px; }
  .call-list .item .desc .d { font-size: 12.5px; }

  /* FOOTER */
  .foot-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .foot-cta h2 { font-size: clamp(22px, 6.6vw, 28px); }
  .foot ul { grid-template-columns: 1fr 1fr; gap: 11px 14px; font-size: 13.5px; }
  .foot-cta .body { font-size: 14px !important; }
  .foot-cta .foot-contact { width: 100%; }
  .foot-cta .foot-contact .pill { display: grid !important; width: 100% !important; padding: 12px 16px; grid-template-columns: 32px 1fr; }
  .foot-cta .foot-contact .pill .ic { width: 32px; height: 32px; }
  .foot-cta .foot-contact .pill .v { font-size: 13px; }
  .foot-bottom { font-size: 11px; }

  /* NAV */
  .nav-inner { padding: 12px var(--pad); }
  .brand { font-size: 19px; gap: 8px; }
  .brand .mark { width: 30px; height: 30px; border-radius: 8px; }
  .nav-toggle { width: 40px; height: 40px; }
}

/* ============================================================
   EXTRA-NARROW (≤ 360px)
   ============================================================ */
/* ============================================================
   SMALL MOBILE (≤ 360px) — iPhone SE, smaller Android phones
   ============================================================ */
@media (max-width: 360px) {
  :root { --pad: 14px; }
  .hero h1 { font-size: 26px; }
  .compare-head h2, .pain h2, .call-card h2, .foot-cta h2 { font-size: 21px; }
  .s-head h2 { font-size: 21px; }
  .tier .price { font-size: 26px; }
  .tier .name { font-size: 18px; }
  .mkt-title { font-size: 19px; }
  .hours-title { font-size: 24px !important; }
  .hours-card { padding: 14px; }
  .call-list .item .ic { width: 28px; height: 28px; font-size: 12px; }
  .brand { font-size: 17px; }
  .btn { padding: 12px 18px; font-size: 13.5px; }
}

@media (max-width: 360px) {
  :root { --pad: 14px; }
  .hero h1 { font-size: 28px; }
  .compare-head h2, .pain h2, .call-card h2, .foot-cta h2 { font-size: 22px; }
}

@media (max-width: 600px) {
  .pain-rocket { opacity: 0.32; }
  .call-rocket { opacity: 0.55; }
  .mkt-panel { padding: 24px; min-height: 0; }
  .mkt-card { inset: 24px; }
  .demo-card { padding: clamp(24px, 5vw, 36px); }
  .hours-title { font-size: clamp(26px, 7.5vw, 34px) !important; }
  .cmp-card { padding: 28px 22px; }
  .pricing-grid, .tier-grid { gap: 16px; }
  .call-card { padding: 32px 24px; }
  .hero h1 { font-size: clamp(36px, 9vw, 48px) !important; }
}
@media (max-width: 400px) {
  :root { --pad: 16px; }
}

/* ============================================================
   PAIN POINTS (Is your...?)
   ============================================================ */
.pain-section {
  background: var(--dark);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.pain-section::before {
  content: "";
  position: absolute;
  top: -10%;
  right: -8%;
  width: clamp(360px, 42vw, 640px);
  aspect-ratio: 1 / 1;
  background: radial-gradient(circle, rgba(255,170,60,0.30) 0%, transparent 65%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.pain-section::after {
  content: "";
  position: absolute;
  bottom: -12%;
  left: -8%;
  width: clamp(360px, 38vw, 580px);
  aspect-ratio: 1 / 1;
  background: radial-gradient(circle, rgba(255,90,60,0.26) 0%, transparent 65%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.pain-section > .wrap { position: relative; z-index: 1; }
.pain-section .pain {
  background: transparent;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}
.pain {
  background: var(--dark);
  color: #fff;
  border-radius: clamp(24px, 3vw, 48px);
  padding: clamp(48px, 6vw, 80px) clamp(24px, 4vw, 56px);
  position: relative;
  overflow: hidden;
}
.pain::before, .pain::after { content: none; }

.pain h2 {
  color: #fff;
  text-align: center;
  max-width: 22ch;
  margin: 0 auto;
  position: relative;
}
.pain h2 .acc {
  background: var(--grad-fire-bright);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.pain .pain-sub {
  text-align: center;
  color: rgba(255,255,255,0.7);
  margin: 16px auto 0;
  max-width: 50ch;
  font-size: 17px;
}

.pain-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 48px;
  position: relative;
}
@media (max-width: 900px) { .pain-grid { grid-template-columns: 1fr; } }

.pain-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 24px;
  padding: 28px;
  display: flex; flex-direction: column; gap: 18px;
  position: relative;
  transition: transform .3s ease, background .3s ease;
}
.pain-card:hover { transform: translateY(-4px); background: rgba(255,255,255,0.09); }
.pain-card .ico {
  width: 72px; height: 72px;
  border-radius: 22px;
  background: var(--grad-fire);
  display: grid; place-items: center;
  box-shadow: 0 12px 28px rgba(255,90,60,0.4);
  flex: none;
}
.pain-card.warm .ico { background: #ffffff; color: var(--ink); box-shadow: 0 8px 24px rgba(0,0,0,0.2); }
.pain-card.warm .ico svg { color: var(--ink); }
.pain-card.gold .ico { background: var(--yellow); color: var(--ink); box-shadow: 0 8px 24px rgba(255,232,200,0.25); }
.pain-card .ico svg { width: 38px; height: 38px; color: #fff; }
.pain-card.gold .ico svg { color: var(--ink); }
.pain-card h3 {
  font-size: clamp(22px, 2vw, 28px);
  color: #fff;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.pain-card .body { color: rgba(255,255,255,0.65); font-size: 15px; }

/* ============================================================
   SERVICES TILES (what we trade)
   ============================================================ */
.services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 980px) { .services { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .services { grid-template-columns: 1fr; } }

.svc-tile {
  background: var(--paper);
  border-radius: var(--r-lg);
  padding: 28px;
  border: 1px solid rgba(21,16,31,0.04);
  box-shadow: var(--shadow-1);
  display: flex; flex-direction: column; gap: 16px;
  position: relative;
  transition: transform .3s ease, box-shadow .3s ease;
  text-align: left;
}
.svc-tile:hover { transform: translateY(-4px); box-shadow: var(--shadow-2); }
.svc-tile .ico {
  width: 72px; height: 72px;
  border-radius: 22px;
  display: grid; place-items: center;
  margin-bottom: 4px;
  transition: transform .3s ease;
}
.svc-tile:hover .ico { transform: rotate(-6deg) scale(1.04); }
.svc-tile .ico svg { width: 40px; height: 40px; color: #fff; }
.svc-tile.indigo .ico { background: var(--primary); box-shadow: 0 10px 24px rgba(26,34,51,0.30); }
.svc-tile.coral  .ico { background: var(--grad-fire);   box-shadow: 0 10px 24px rgba(255,90,60,0.35); }
.svc-tile.yellow .ico { background: var(--yellow);  box-shadow: 0 10px 24px rgba(255,170,60,0.40); color: var(--ink); }
.svc-tile.yellow .ico svg { color: var(--ink); }
.svc-tile.mint   .ico { background: var(--ink);     box-shadow: 0 10px 24px rgba(26,34,51,0.30); }
.svc-tile.dark   .ico { background: var(--grad-fire);   box-shadow: 0 10px 24px rgba(255,90,60,0.35); }
.svc-tile.purple .ico { background: var(--grad-fire-bright); }
.svc-tile h3 {
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 700;
  line-height: 1.15;
  margin: 0;
}
.svc-tile .desc { font-size: 15px; color: var(--ink-3); line-height: 1.5; flex: 1; }
.svc-tile .stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
  padding-top: 16px; border-top: 1px solid var(--rule);
  margin-top: 4px;
}
.svc-tile .stats .k { font-family: var(--mono); font-size: 10px; letter-spacing: 0.04em; color: var(--muted); text-transform: uppercase; }
.svc-tile .stats .v { font-family: var(--display); font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; margin-top: 2px; letter-spacing: -0.015em; }
.svc-tile .arrow {
  position: absolute;
  top: 28px; right: 28px;
  width: 36px; height: 36px;
  background: var(--bg);
  border-radius: 50%;
  display: grid; place-items: center;
  color: var(--ink);
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.svc-tile:hover .arrow { background: var(--primary); color: #fff; transform: translate(2px, -2px); }

/* ============================================================
   CASE STUDIES — video-style cards
   ============================================================ */
.cases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 980px) { .cases { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .cases { grid-template-columns: 1fr; } }

.case-card {
  border-radius: var(--r-lg);
  overflow: hidden;
  position: relative;
  background: var(--paper);
  box-shadow: var(--shadow-1);
  border: 1px solid rgba(21,16,31,0.04);
  transition: transform .3s ease, box-shadow .3s ease;
  cursor: pointer;
}
.case-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-2); }

.case-card .media {
  aspect-ratio: 1.1 / 1;
  position: relative;
  background: linear-gradient(135deg, #2a3445 0%, #1a2233 100%);
  overflow: hidden;
}
.case-card.coral .media   { background: var(--grad-fire); }
.case-card.indigo .media  { background: linear-gradient(135deg, #2a3445 0%, #1a2233 100%); }
.case-card.mint .media    { background: linear-gradient(135deg, #3a4458 0%, #2a3445 100%); }
.case-card.yellow .media  { background: linear-gradient(135deg, #ffefd0 0%, #ffe8c8 100%); }
.case-card.dark .media    { background: linear-gradient(135deg, #2a3445 0%, #1a2233 100%); }

.case-card .media svg.bg-chart {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
}
.case-card .media svg.bg-chart .gridline { stroke: rgba(255,255,255,0.1); stroke-width: 0.5; stroke-dasharray: 4 4; }
.case-card .media svg.bg-chart .line { fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; opacity: 0.9; }
.case-card .media svg.bg-chart .area { fill: rgba(255,255,255,0.12); }
.case-card.yellow .media svg.bg-chart .line { stroke: var(--ink); }
.case-card.yellow .media svg.bg-chart .area { fill: rgba(21,16,31,0.12); }
.case-card.yellow .media svg.bg-chart .gridline { stroke: rgba(21,16,31,0.18); }

.case-card .play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
}
.case-card .play .btn-play {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid rgba(255,255,255,0.5);
  display: grid; place-items: center;
  color: #fff;
  font-size: 18px;
  transition: transform .25s ease, background .25s ease;
}
.case-card.yellow .play .btn-play { color: var(--ink); border-color: rgba(21,16,31,0.4); background: rgba(255,255,255,0.4); }
.case-card:hover .play .btn-play { transform: scale(1.1); background: #fff; color: var(--primary); }

.case-card .client {
  position: absolute;
  left: 20px; top: 20px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: #fff;
  background: rgba(255,255,255,0.16);
  padding: 6px 10px;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.case-card.yellow .client { color: var(--ink); background: rgba(21,16,31,0.1); }

.case-card .duration {
  position: absolute;
  right: 20px; bottom: 20px;
  font-family: var(--mono);
  font-size: 11px;
  color: #fff;
  background: rgba(0,0,0,0.4);
  padding: 5px 9px;
  border-radius: 6px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.case-card.yellow .duration { color: #fff; background: rgba(21,16,31,0.65); }

.case-card .info {
  padding: 22px 24px 24px;
  display: flex; flex-direction: column; gap: 14px;
}
.case-card .info .title {
  font-family: var(--display);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--ink);
  text-wrap: balance;
}
.case-card .info .stats {
  display: flex; gap: 16px; flex-wrap: wrap;
  padding-top: 14px;
  border-top: 1px solid var(--rule);
}
.case-card .info .stat {
  display: flex; flex-direction: column; gap: 2px;
}
.case-card .info .stat .em {
  font-size: 16px;
}
.case-card .info .stat .v {
  font-family: var(--display);
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.case-card .info .stat .k {
  font-size: 11px;
  color: var(--ink-3);
}

/* ============================================================
   ABOUT BLOCK (We join your team)
   ============================================================ */
.about {
  background: var(--paper);
  border-radius: clamp(24px, 3vw, 48px);
  padding: clamp(40px, 5vw, 72px);
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
  border: 1px solid rgba(21,16,31,0.04);
  box-shadow: var(--shadow-1);
  position: relative;
  overflow: hidden;
}
.about::before {
  content: "";
  position: absolute;
  right: -120px; top: -120px;
  width: 320px; height: 320px;
  background: radial-gradient(circle, var(--primary-soft) 0%, transparent 65%);
  border-radius: 50%;
}
@media (max-width: 900px) { .about { grid-template-columns: 1fr; } }

.about .copy h2 { margin-bottom: 20px; }
.about .copy h2 .acc { background: var(--grad-fire); -webkit-background-clip: text; background-clip: text; color: transparent; }
.about .body { font-size: 16.5px; color: var(--ink-3); margin-bottom: 28px; }
.about .ledger {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px;
  padding-top: 24px; border-top: 1px solid var(--rule);
}
.about .ledger .l-num {
  font-family: var(--display);
  font-size: clamp(28px, 2.6vw, 40px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.about .ledger .l-num .unit { font-size: 0.45em; color: var(--primary); margin-left: 2px; }
.about .ledger .l-desc { margin-top: 8px; font-size: 13.5px; color: var(--ink-3); }

.about-visual {
  position: relative;
  aspect-ratio: 1 / 1;
  max-width: 460px;
  margin: 0 auto;
}
.about-visual .planet {
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, #d83820 0%, var(--coral) 50%, #aa2810 100%);
  box-shadow: 0 30px 60px rgba(255,90,60,0.30);
  overflow: hidden;
}
.about-visual .planet::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 18%, rgba(255,255,255,0.4) 0%, transparent 30%),
    radial-gradient(ellipse at 60% 70%, rgba(26,34,51,0.20) 0%, transparent 40%);
}
.about-visual .ring {
  position: absolute;
  inset: 0;
  border: 2px dashed var(--coral);
  border-radius: 50%;
  opacity: 0.45;
  animation: rotate 22s linear infinite;
}
.about-visual .ring.r2 { inset: -12%; opacity: 0.25; animation-duration: 38s; animation-direction: reverse; }
@keyframes rotate { to { transform: rotate(360deg); } }

.about-visual .satellite {
  position: absolute;
  background: var(--paper);
  border-radius: 16px;
  padding: 14px 18px;
  box-shadow: var(--shadow-2);
  display: flex; flex-direction: column; gap: 4px;
  border: 1px solid rgba(21,16,31,0.04);
  animation: float 6s ease-in-out infinite;
}
.about-visual .satellite.s1 { top: -8%; right: 8%; }
.about-visual .satellite.s2 { bottom: 0%; left: -4%; animation-delay: 2s; }
.about-visual .satellite .k { font-family: var(--mono); font-size: 10px; color: var(--muted); }
.about-visual .satellite .v { font-family: var(--display); font-size: 18px; font-weight: 700; letter-spacing: -0.015em; }
.about-visual .satellite .v.green { color: var(--pos); }

/* ============================================================
   PRICING
   ============================================================ */
.tier-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 1080px) { .tier-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 660px)  { .tier-grid { grid-template-columns: 1fr; } }

/* --- 5-tier grid: centre the trailing row --- */
@media (min-width: 1081px) {
  .tier-grid { grid-template-columns: repeat(6, 1fr); }
  .tier-grid .tier { grid-column: span 2; }
  .tier-grid .tier:nth-child(4) { grid-column: 2 / span 2; }
  .tier-grid .tier:nth-child(5) { grid-column: 4 / span 2; }
}
@media (min-width: 661px) and (max-width: 1080px) {
  .tier-grid { grid-template-columns: repeat(4, 1fr); }
  .tier-grid .tier { grid-column: span 2; }
  .tier-grid .tier:nth-child(5) { grid-column: 2 / span 2; }
}


.tier {
  background: var(--paper);
  border-radius: var(--r-xl);
  padding: 32px 28px;
  border: 1px solid rgba(21,16,31,0.04);
  box-shadow: var(--shadow-1);
  display: flex; flex-direction: column; gap: 22px;
  position: relative;
  transition: transform .3s ease, box-shadow .3s ease;
}
.tier:hover { transform: translateY(-4px); box-shadow: var(--shadow-2); }
.tier.featured {
  background: var(--ink);
  color: #fff;
  box-shadow: 0 20px 50px rgba(255,90,60,0.20);
  position: relative;
}
.tier.featured::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: calc(var(--r-xl) + 3px);
  background: var(--grad-fire);
  z-index: -1;
}
.tier.featured .desc, .tier.featured .feat li { color: rgba(255,255,255,0.75); }
.tier.featured .price .num { color: #fff; }
.tier.featured .price .unit { color: rgba(255,255,255,0.5); }
.tier.featured .feat li::before {
  background-color: rgba(255,255,255,0.12);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M5.5 10.5 L8.5 13.5 L14.5 7' fill='none' stroke='%23ffaa3c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}
.tier.featured .t-cta { background: var(--grad-fire); color: #fff; border-color: transparent; box-shadow: 0 8px 22px rgba(255,90,60,0.45); }
.tier.featured .t-cta:hover { background: #fff; border-color: #fff; color: var(--ink); }
.tier.elite {
  border: 2px solid var(--coral);
  background: linear-gradient(180deg, #fff4ef 0%, #fff 80%);
}
.tier.elite .price .num { color: var(--coral); }
.tier.elite .t-cta { background: var(--grad-fire); border-color: transparent; color: #fff; box-shadow: 0 8px 22px rgba(255,90,60,0.40); }
.tier.elite .t-cta:hover { background: var(--ink); border-color: var(--ink); }

.tier .head-row {
  display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: start;
}
.tier .level {
  font-size: 12px; color: var(--ink-3); font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.06em;
}
.tier.featured .level { color: var(--yellow); }
.tier.elite .level { color: var(--coral); }
.tier .name {
  font-family: var(--display);
  font-size: clamp(26px, 2.4vw, 32px);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
  margin-top: 6px;
}
.tier .badge {
  font-size: 11px; font-weight: 600;
  padding: 5px 10px; border-radius: 999px;
  background: var(--yellow); color: var(--ink);
}
.tier.elite .badge { background: var(--coral); color: #fff; }

.tier .price {
  display: flex; align-items: baseline; gap: 8px;
  padding: 18px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
.tier.featured .price { border-color: rgba(255,255,255,0.1); }
.tier.elite .price { border-color: rgba(255,90,60,0.22); }
.tier .price .num {
  font-family: var(--display);
  font-weight: 800;
  font-size: clamp(36px, 3.4vw, 48px);
  letter-spacing: -0.035em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.tier .price .unit { font-size: 13px; color: var(--ink-3); }

.tier .feat { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; flex: 1; }
.tier .feat li {
  font-size: 15px;
  display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: center;
  color: var(--ink-2);
}
.tier .feat li::before {
  content: "";
  width: 20px; height: 20px;
  background-color: var(--coral-soft);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M5.5 10.5 L8.5 13.5 L14.5 7' fill='none' stroke='%23ff5a3c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
  border-radius: 50%;
  flex: none;
}
.tier .feat li { position: relative; }
.tier.featured .feat li::before {
  background-color: rgba(255,255,255,0.12);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M5.5 10.5 L8.5 13.5 L14.5 7' fill='none' stroke='%23ffaa3c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

.tier .t-cta {
  width: 100%;
  padding: 14px 22px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
  background: var(--primary);
  border: 1.5px solid var(--primary);
  color: #fff;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  box-shadow: 0 6px 18px rgba(26,34,51,0.18);
}
.tier .t-cta:hover { transform: translateY(-1px); background: var(--primary-2); border-color: var(--primary-2); }

/* ============================================================
   TECH STACK ("Keep your existing tools")
   ============================================================ */
.stack-card {
  background: var(--paper);
  border-radius: clamp(24px, 3vw, 40px);
  padding: clamp(40px, 5vw, 64px);
  border: 1px solid rgba(21,16,31,0.04);
  box-shadow: var(--shadow-1);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.stack-card h3 { font-size: clamp(24px, 2.4vw, 36px); margin-bottom: 14px; }
.stack-card .body { margin: 0 auto; }
.stack-grid {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}
@media (max-width: 900px) { .stack-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .stack-grid { grid-template-columns: repeat(2, 1fr); } }

.stack-cell {
  background: var(--bg);
  border-radius: 16px;
  padding: 18px 14px;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  transition: transform .25s ease, background .25s ease;
  cursor: default;
}
.stack-cell:hover { transform: translateY(-3px); background: var(--primary-soft); }
.stack-cell .ic {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: var(--paper);
  display: grid; place-items: center;
  box-shadow: var(--shadow-1);
  color: var(--ink);
  font-family: var(--mono); font-size: 13px; font-weight: 600;
}
.stack-cell .nm {
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-2);
}

/* ============================================================
   FREE CALL CTA
   ============================================================ */
.call-card {
  background: linear-gradient(135deg, #1a2233 0%, #d83820 60%, #ffaa3c 100%);
  border-radius: clamp(24px, 3vw, 40px);
  padding: clamp(40px, 5vw, 72px);
  position: relative;
  overflow: hidden;
  color: #fff;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
}
@media (max-width: 900px) { .call-card { grid-template-columns: 1fr; } }

.call-card::before {
  content: "";
  position: absolute;
  right: -120px; bottom: -120px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(255,90,60,0.45) 0%, transparent 65%);
  border-radius: 50%;
  pointer-events: none;
}
.call-card .ph {
  display: inline-flex; align-items: center; gap: 12px;
  background: rgba(255,255,255,0.16);
  padding: 8px 16px 8px 8px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 500;
  margin-bottom: 22px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.2);
}
.call-card .ph .av {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--yellow);
  display: grid; place-items: center;
  font-weight: 700;
  color: var(--ink);
  font-size: 14px;
}
.call-card h2 { color: #fff; max-width: 16ch; }
.call-card h2 .acc {
  background: var(--grad-fire-bright);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.call-card .sub {
  color: rgba(255,255,255,0.85);
  margin-top: 20px;
  max-width: 44ch;
  font-size: 17px;
}
.call-card .cta-row {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-top: 28px;
}

.call-list {
  background: rgba(255,255,255,0.10);
  border-radius: 24px;
  padding: 28px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.18);
  position: relative;
  z-index: 1;
}
.call-list h4 { color: #fff; margin: 0 0 18px; font-size: 17px; font-weight: 600; }
.call-list .item {
  display: grid; grid-template-columns: 40px 1fr; gap: 16px; align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,0.14);
}
.call-list .item:last-child { border-bottom: 0; }
.call-list .item .ic {
  width: 40px; height: 40px;
  border-radius: 12px;
  background: var(--coral);
  color: #fff;
  display: grid; place-items: center;
  font-weight: 800;
  font-family: var(--display);
  font-size: 16px;
}
.call-list .item .ic.coral { background: #fff; color: var(--coral); }
.call-list .item .ic.dark { background: var(--ink); color: var(--coral); }
.call-list .item .desc {
  display: flex; flex-direction: column; gap: 4px;
  color: #fff;
  line-height: 1.4;
}
.call-list .item .desc .t {
  font-family: var(--display);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: #fff;
}
.call-list .item .desc .d {
  font-size: 13.5px;
  color: rgba(255,255,255,0.65);
  line-height: 1.45;
}
.call-list .item .desc strong { color: var(--coral); font-weight: 600; }

/* ============================================================
   FAQ
   ============================================================ */
.faq-wrap {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
}
@media (max-width: 900px) { .faq-wrap { grid-template-columns: 1fr; } }

.faq-list { display: grid; gap: 12px; }
.faq-item {
  background: var(--paper);
  border-radius: 18px;
  border: 1px solid rgba(21,16,31,0.04);
  box-shadow: var(--shadow-1);
  overflow: hidden;
  transition: box-shadow .2s ease;
}
.faq-item:hover { box-shadow: var(--shadow-2); }
.faq-item.open { box-shadow: var(--shadow-2); }
.faq-q {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 32px;
  gap: 16px;
  align-items: center;
  padding: 22px 26px;
  text-align: left;
  cursor: pointer;
  font-family: var(--display);
  font-size: clamp(17px, 1.4vw, 21px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--ink);
  transition: color .2s;
}
.faq-q:hover { color: var(--primary); }
.faq-q .icon {
  width: 32px; height: 32px;
  background: var(--bg);
  border-radius: 50%;
  position: relative;
  flex: none;
  transition: background .2s ease;
}
.faq-q .icon::before, .faq-q .icon::after {
  content: ""; position: absolute; background: var(--ink); border-radius: 2px;
}
.faq-q .icon::before { left: 9px; right: 9px; top: 50%; height: 2px; transform: translateY(-50%); }
.faq-q .icon::after  { top: 9px; bottom: 9px; left: 50%; width: 2px; transform: translateX(-50%); transition: transform .3s ease; }
.faq-item.open .faq-q .icon { background: var(--primary); }
.faq-item.open .faq-q .icon::before, .faq-item.open .faq-q .icon::after { background: #fff; }
.faq-item.open .faq-q .icon::after { transform: translateX(-50%) rotate(90deg); }

.faq-a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .35s ease;
}
.faq-a > div { overflow: hidden; }
.faq-item.open .faq-a { grid-template-rows: 1fr; }
.faq-a .inner {
  padding: 0 60px 26px 26px;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--ink-3);
  max-width: 64ch;
}
.faq-a .inner strong { color: var(--ink); font-weight: 600; }

.faq-side {
  background: var(--ink);
  color: #fff;
  border-radius: 24px;
  padding: 32px;
  position: relative;
  overflow: hidden;
  position: sticky;
  top: 120px;
}
.faq-side::before {
  content: "";
  position: absolute; right: -60px; top: -60px;
  width: 200px; height: 200px;
  background: radial-gradient(circle, var(--primary) 0%, transparent 65%);
  border-radius: 50%; opacity: 0.4;
}
.faq-side h4 { color: #fff; font-size: 22px; margin-bottom: 12px; line-height: 1.2; max-width: 18ch; }
.faq-side h4 .acc { color: var(--yellow); }
.faq-side .body { color: rgba(255,255,255,0.7); font-size: 14.5px; margin-bottom: 22px; max-width: 30ch; }
.faq-side .btn { width: 100%; }

/* ============================================================
   FOOTER
   ============================================================ */
footer.foot {
  padding: 80px 0 28px;
  background: var(--ink);
  color: #fff;
  position: relative;
  overflow: hidden;
}
footer.foot::before {
  content: "";
  position: absolute;
  left: -120px; top: -120px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, var(--coral) 0%, transparent 65%);
  border-radius: 50%; opacity: 0.25;
}

.foot-cta {
  text-align: center;
  margin-bottom: 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.foot-cta h2 {
  color: #fff;
  font-size: clamp(28px, 3.8vw, 44px);
  letter-spacing: -0.025em;
  line-height: 1.1;
  max-width: 22ch;
  margin: 0 auto;
}
.foot-cta h2 .acc {
  background: var(--grad-fire-bright);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.foot-cta .body { color: rgba(255,255,255,0.65); margin: 0 auto; max-width: 44ch; font-size: 15.5px; line-height: 1.5; }
.foot-cta .ctas { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin: 0; }
.foot-cta .foot-contact {
  display: flex;
  justify-content: center;
  margin: 4px 0 0;
}
.foot-cta .foot-contact .pill {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  padding: 12px 16px;
  display: inline-grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: center;
  color: #fff;
  text-decoration: none;
}
.foot-cta .foot-contact .pill .ic {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: var(--grad-fire);
  display: grid; place-items: center;
  color: #fff;
}
.foot-cta .foot-contact .pill .k { font-size: 10.5px; color: rgba(255,255,255,0.55); text-transform: uppercase; letter-spacing: 0.1em; }
.foot-cta .foot-contact .pill .v { font-size: 14px; font-weight: 500; margin-top: 2px; }

.foot-contact {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 56px;
}
@media (max-width: 800px) { .foot-contact { grid-template-columns: 1fr; } }

.foot-contact .pill {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 18px 20px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: center;
  transition: background .2s ease, border-color .2s ease;
}
.foot-contact .pill:hover { background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.2); }
.foot-contact .pill .ic {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--grad-fire);
  display: grid; place-items: center;
  color: #fff;
}
.foot-contact .pill .k { font-size: 11px; color: rgba(255,255,255,0.55); margin-bottom: 2px; }
.foot-contact .pill .v { font-size: 15px; font-weight: 500; }

.foot-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: clamp(32px, 6vw, 80px);
  align-items: start;
}
@media (max-width: 900px) { .foot-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; } }

.foot-company {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 420px;
}
.foot-company .brand { color: #fff; font-size: 26px; margin: 0; }
.foot-company .fc-tag {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  line-height: 1.6;
  margin: 0;
}

.fc-risk {
  margin-top: 44px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media (max-width: 700px) { .fc-risk { margin-top: 32px; padding-top: 22px; } }
.fc-risk h6 {
  font-family: var(--display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--coral);
  margin: 0;
}
.fc-risk-lede {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,0.72);
  margin: 0 0 18px;
  max-width: 60ch;
}
.fc-risk-body {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 900px) { .fc-risk-body { grid-template-columns: 1fr 1fr; gap: 18px; } }
@media (max-width: 560px) { .fc-risk-body { grid-template-columns: 1fr; gap: 14px; } }
.fc-risk-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
}
.fc-risk-num {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--coral);
  font-weight: 500;
}
.fc-risk-item p {
  font-size: 12.5px;
  line-height: 1.55;
  color: rgba(255,255,255,0.6);
  margin: 0;
}
.fc-risk-note {
  margin: 18px 0 0;
  font-size: 12.5px;
  line-height: 1.65;
  color: rgba(255,255,255,0.42);
  max-width: 90ch;
}
.fc-risk-note strong { color: rgba(255,255,255,0.72); font-weight: 600; }
.foot-company .fc-details {
  list-style: none;
  margin: 0;
  padding: 18px 0 0;
  border-top: 1px solid rgba(255,255,255,0.12);
  display: flex;
  flex-direction: column;
  gap: 14px;
  font-size: 13.5px;
}
.foot-company .fc-details li {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 14px;
  align-items: baseline;
}
.foot-company .fc-k {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}
.foot-company .fc-v {
  color: rgba(255,255,255,0.85);
  font-weight: 500;
  letter-spacing: -0.005em;
}
.foot-company .fc-v a {
  color: rgba(255,255,255,0.85);
  border-bottom: 1px solid rgba(255,255,255,0.18);
  transition: color .2s ease, border-color .2s ease;
}
.foot-company .fc-v a:hover { color: var(--coral); border-color: var(--coral); }

.foot .brand { color: #fff; font-size: 26px; margin-bottom: 14px; }
.foot .brand .mark { background: transparent; }
.foot .about p { color: rgba(255,255,255,0.6); font-size: 14px; max-width: 32ch; line-height: 1.5; }
.foot-company .fc-risk {
  display: none;
}

.foot h5 {
  font-family: var(--display);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin: 0 0 18px;
  font-weight: 600;
}
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; font-size: 14.5px; }
.foot ul a { color: rgba(255,255,255,0.78); transition: color .2s ease; }
.foot ul a:hover { color: var(--coral); }

.foot-bottom {
  margin-top: 56px; padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: grid; grid-template-columns: 1fr auto; gap: 16px;
  font-family: var(--mono);
  font-size: 11px;
  color: rgba(255,255,255,0.5);
}
.foot-bottom .live { display: inline-flex; align-items: center; gap: 8px; }
.foot-bottom .live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); animation: pulse 2.2s ease-in-out infinite; }
@media (max-width: 700px) { .foot-bottom { grid-template-columns: 1fr; } }

/* ============================================================
   PLATFORM TOUR — device mockups
   ============================================================ */
.platform {
  background: var(--ink);
  border-radius: clamp(24px, 3vw, 48px);
  padding: clamp(40px, 5vw, 72px) clamp(24px, 4vw, 56px);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.platform::before {
  content: "";
  position: absolute;
  width: 600px; height: 600px;
  right: -200px; top: -200px;
  background: radial-gradient(circle, rgba(255,90,60,0.25) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
}
.platform::after {
  content: "";
  position: absolute;
  width: 500px; height: 500px;
  left: -200px; bottom: -150px;
  background: radial-gradient(circle, rgba(255,232,200,0.06) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
}
.platform .p-head {
  text-align: center;
  margin-bottom: 56px;
  position: relative;
}
.platform .p-head h2 { color: #fff; max-width: 20ch; margin: 0 auto; }
.platform .p-head h2 .acc { background: var(--grad-fire-bright); -webkit-background-clip: text; background-clip: text; color: transparent; }
.platform .p-head .descr { color: rgba(255,255,255,0.65); max-width: 56ch; margin: 18px auto 0; font-size: 17px; }
.platform .p-head .eyebrow { color: var(--coral); justify-content: center; display: flex; margin-bottom: 16px; }
.platform .p-head .eyebrow::before { background: var(--coral); }

.platform-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 24px;
  align-items: end;
  position: relative;
}
@media (max-width: 980px) { .platform-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .platform-grid { grid-template-columns: 1fr; } }

/* desktop terminal mockup */
.dev-desktop {
  position: relative;
  aspect-ratio: 1.55 / 1;
  background: #1a2233;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.05);
  overflow: hidden;
}
.dev-desktop .titlebar {
  height: 28px;
  background: #0a1224;
  display: flex; align-items: center; padding: 0 12px; gap: 6px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.dev-desktop .titlebar .dot { width: 11px; height: 11px; border-radius: 50%; }
.dev-desktop .titlebar .dot:nth-child(1) { background: #ff5f57; }
.dev-desktop .titlebar .dot:nth-child(2) { background: #febc2e; }
.dev-desktop .titlebar .dot:nth-child(3) { background: #28c840; }
.dev-desktop .titlebar .url {
  margin-left: 14px;
  font-family: var(--mono);
  font-size: 10px;
  color: rgba(255,255,255,0.4);
}

.dev-desktop .terminal {
  position: relative;
  height: calc(100% - 28px);
  padding: 14px;
  display: grid;
  grid-template-columns: 50px 1fr 180px;
  gap: 8px;
}
.dev-desktop .sidebar {
  border-right: 1px solid rgba(255,255,255,0.06);
  display: flex; flex-direction: column; gap: 10px;
  padding-right: 8px;
}
.dev-desktop .sidebar .si {
  width: 28px; height: 28px;
  border-radius: 8px;
  background: rgba(255,255,255,0.06);
  display: grid; place-items: center;
  color: rgba(255,255,255,0.6);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
}
.dev-desktop .sidebar .si.active { background: var(--coral); color: #fff; }

.dev-desktop .main { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.dev-desktop .pair-head {
  display: flex; align-items: baseline; gap: 8px;
  font-family: var(--mono);
}
.dev-desktop .pair-head .s { color: #fff; font-size: 13px; font-weight: 500; }
.dev-desktop .pair-head .p { color: #fff; font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; margin-left: 8px; }
.dev-desktop .pair-head .d { color: var(--pos); font-size: 11px; padding: 2px 6px; background: rgba(21,128,61,0.18); border-radius: 999px; }
.dev-desktop .chart-area {
  flex: 1;
  background: rgba(255,255,255,0.02);
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}
.dev-desktop .chart-area svg { width: 100%; height: 100%; display: block; }

.dev-desktop .book {
  display: flex; flex-direction: column; gap: 8px;
  min-width: 0;
}
.dev-desktop .book h6 {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  margin: 0;
}
.dev-desktop .book .row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  font-family: var(--mono);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  padding: 2px 0;
  position: relative;
}
.dev-desktop .book .row .px { color: #fff; }
.dev-desktop .book .row .sz { color: rgba(255,255,255,0.5); text-align: right; }
.dev-desktop .book .row.bid::before,
.dev-desktop .book .row.ask::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0;
  border-radius: 2px; z-index: -1;
}
.dev-desktop .book .row.bid::before { background: rgba(21,128,61,0.15); }
.dev-desktop .book .row.ask::before { background: rgba(255,90,60,0.15); }

/* mobile mockup */
.dev-mobile {
  position: relative;
  aspect-ratio: 9 / 18;
  background: #1a2233;
  border-radius: 36px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 0 6px #1a2233, 0 0 0 7px rgba(255,255,255,0.05);
  overflow: hidden;
  padding: 32px 14px 20px;
}
.dev-mobile::before {
  content: "";
  position: absolute;
  top: 8px; left: 50%; transform: translateX(-50%);
  width: 80px; height: 22px;
  background: #1a2233;
  border-radius: 12px;
}
.dev-mobile .m-top {
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--mono); font-size: 9px; color: rgba(255,255,255,0.5);
  padding: 0 4px; margin-bottom: 10px;
}
.dev-mobile .m-content {
  display: flex; flex-direction: column; gap: 10px;
}
.dev-mobile .m-balance {
  font-family: var(--mono); font-size: 9px;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.dev-mobile .m-amount {
  font-family: var(--display);
  font-weight: 700;
  font-size: 28px;
  letter-spacing: -0.02em;
  color: #fff;
  margin-top: 2px;
}
.dev-mobile .m-amount .pct { font-size: 11px; color: var(--pos); font-weight: 500; margin-left: 6px; padding: 2px 6px; background: rgba(21,128,61,0.18); border-radius: 999px; vertical-align: middle; }
.dev-mobile .m-chart {
  height: 70px;
  background: rgba(255,255,255,0.02);
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}
.dev-mobile .m-chart svg { width: 100%; height: 100%; display: block; }

.dev-mobile .m-list {
  display: flex; flex-direction: column; gap: 6px;
}
.dev-mobile .m-row {
  display: grid; grid-template-columns: 28px 1fr auto;
  gap: 8px; align-items: center;
  padding: 8px;
  background: rgba(255,255,255,0.04);
  border-radius: 8px;
}
.dev-mobile .m-row .ic {
  width: 28px; height: 28px;
  border-radius: 8px;
  background: var(--coral);
  display: grid; place-items: center;
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  color: #fff;
}
.dev-mobile .m-row .ic.dark { background: #1a2233; color: var(--coral); }
.dev-mobile .m-row .ic.beige { background: var(--yellow); color: var(--ink); }
.dev-mobile .m-row .nm { font-size: 11px; color: #fff; font-weight: 500; }
.dev-mobile .m-row .sub { font-size: 9px; color: rgba(255,255,255,0.5); }
.dev-mobile .m-row .pr { font-family: var(--mono); font-size: 11px; color: #fff; font-variant-numeric: tabular-nums; text-align: right; }
.dev-mobile .m-row .pd { font-family: var(--mono); font-size: 9px; }
.dev-mobile .m-row .pd.up { color: var(--pos); }
.dev-mobile .m-row .pd.down { color: var(--coral); }

.dev-mobile .m-cta {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px;
  margin-top: auto; padding-top: 10px;
}
.dev-mobile .m-cta .b {
  text-align: center;
  font-family: var(--display);
  font-weight: 700;
  font-size: 12px;
  padding: 9px;
  border-radius: 999px;
}
.dev-mobile .m-cta .b.buy { background: var(--pos); color: #fff; }
.dev-mobile .m-cta .b.sell { background: rgba(255,255,255,0.08); color: #fff; }

/* widget card mockup */
.dev-widget {
  position: relative;
  aspect-ratio: 9 / 18;
  background: var(--paper);
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.35);
  padding: 26px;
  overflow: hidden;
  display: flex; flex-direction: column; gap: 16px;
}
.dev-widget .w-eyebrow {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  display: flex; align-items: center; gap: 8px;
}
.dev-widget .w-eyebrow::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--coral);
  animation: pulse 2.2s ease-in-out infinite;
}
.dev-widget .w-title {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: var(--ink);
  margin: 0;
}
.dev-widget .w-stat { padding: 12px 0; border-bottom: 1px solid var(--rule); }
.dev-widget .w-stat .k { font-size: 10px; color: var(--muted); font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.06em; }
.dev-widget .w-stat .v { font-family: var(--display); font-weight: 700; font-size: 24px; letter-spacing: -0.025em; margin-top: 4px; color: var(--ink); font-variant-numeric: tabular-nums; }
.dev-widget .w-stat .v .small { font-size: 0.5em; color: var(--coral); margin-left: 3px; }
.dev-widget .w-chart {
  flex: 1;
  background: var(--bg);
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}
.dev-widget .w-chart svg { width: 100%; height: 100%; }
.dev-widget .w-btn {
  margin-top: auto;
  padding: 11px;
  background: var(--ink);
  color: #fff;
  border-radius: 999px;
  font-family: var(--display);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.005em;
}

.dev-label {
  display: flex; align-items: center; gap: 10px;
  margin-top: 18px;
  font-family: var(--mono);
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.04em;
}
.dev-label .num {
  background: var(--coral);
  color: #fff;
  width: 22px; height: 22px;
  border-radius: 6px;
  display: grid; place-items: center;
  font-weight: 600;
}

/* ============================================================
   MARKETS TABS (interactive list + detail)
   ============================================================ */
.mkt-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 56px);
  align-items: stretch;
}
@media (max-width: 980px) { .mkt-tabs { grid-template-columns: 1fr; } }

.mkt-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.mkt-item {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 18px;
  padding: 22px 4px;
  border-bottom: 1px solid var(--rule);
  cursor: pointer;
  position: relative;
  transition: padding .25s ease;
}
.mkt-item:first-child { border-top: 1px solid var(--rule); }
.mkt-item:hover { padding-left: 12px; }
.mkt-arrow {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: var(--paper);
  border: 1px solid var(--rule);
  color: var(--ink-3);
  display: grid; place-items: center;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.mkt-item:hover .mkt-arrow { transform: translateX(2px); }
.mkt-item.active .mkt-arrow {
  background: var(--grad-fire);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 6px 18px rgba(255,90,60,0.30);
}
.mkt-text { display: flex; flex-direction: column; gap: 6px; }
.mkt-name {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(20px, 2vw, 26px);
  letter-spacing: -0.02em;
  color: var(--ink);
}
.mkt-item.active .mkt-name {
  background: var(--grad-fire);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.mkt-sub {
  font-size: 13.5px;
  color: var(--ink-3);
  line-height: 1.4;
}
.mkt-item .mkt-sub { display: none; }
.mkt-item.active .mkt-sub { display: block; }

/* progress bar under active item */
.mkt-item.active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--rule);
  overflow: hidden;
}
.mkt-item.active::before {
  content: "";
  position: absolute;
  left: 0; bottom: -1px;
  height: 2px;
  width: 100%;
  background: var(--grad-fire);
  transform-origin: left;
  animation: mktProgress 6s linear forwards;
  z-index: 1;
}
@keyframes mktProgress {
  0% { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}

/* PANEL */
.mkt-panel {
  position: relative;
  background: var(--ink);
  border-radius: 28px;
  padding: 36px;
  min-height: 580px;
  overflow: hidden;
  display: grid;
  place-items: center;
  align-self: stretch;
}
.mkt-panel::before {
  content: "";
  position: absolute;
  inset: -60px;
  background:
    radial-gradient(circle at 80% 20%, rgba(255,90,60,0.28) 0%, transparent 55%),
    radial-gradient(circle at 20% 90%, rgba(255,170,60,0.18) 0%, transparent 60%);
  pointer-events: none;
}
.mkt-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(255,255,255,0.03) 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(255,255,255,0.03) 39px 40px);
  pointer-events: none;
}
.mkt-card {
  position: absolute;
  inset: 36px;
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease, transform .45s ease;
  transform: translateY(12px);
  z-index: 2;
}
.mkt-card.active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.mkt-card-inner {
  width: 100%;
  max-width: 420px;
  background: var(--paper);
  border-radius: 22px;
  padding: 32px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.45);
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.mkt-head-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
}
.mkt-title {
  font-family: var(--display);
  font-weight: 800;
  font-size: 30px;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0;
}
.mkt-tile-ico {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: rgba(255,90,60,0.14);
  color: var(--coral);
  display: grid; place-items: center;
  font-weight: 700;
  font-size: 20px;
  font-family: var(--display);
}
.mkt-desc {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink-3);
  margin: 0;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rule);
}
.mkt-assets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mkt-assets li {
  display: flex; align-items: center; gap: 12px;
  font-size: 14.5px;
  color: var(--ink);
  font-weight: 500;
}
.mkt-btn {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 22px;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  font-family: var(--display);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.005em;
  transition: background .25s ease, transform .2s ease, box-shadow .2s ease;
}
.mkt-btn:hover {
  background: var(--grad-fire);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(255,90,60,0.40);
}
.mkt-btn .ar { transition: transform .25s ease; }
.mkt-btn:hover .ar { transform: translate(2px, -2px); }

.c-tick {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--grad-fire);
  color: #fff;
  display: inline-grid; place-items: center;
  font-size: 11px;
  font-weight: 800;
  flex: none;
}

.mkt-panel-rocket {
  position: absolute;
  top: 50%;
  right: 20px;
  width: auto;
  height: 92%;
  max-height: 540px;
  opacity: 0.85;
  z-index: 1;
  pointer-events: none;
  filter: drop-shadow(0 30px 50px rgba(255,90,60,0.40));
  transform: translateY(-50%) rotate(22deg);
  transform-origin: center;
  animation: mktRocketBob 6.4s ease-in-out infinite;
}
@keyframes mktRocketBob {
  0%, 100% { transform: translateY(-50%) rotate(22deg); }
  50%      { transform: translate(0, calc(-50% - 12px)) rotate(22deg); }
}
.mkt-card { z-index: 2; }

.demo-card .hours-copy { padding: 0; }
.demo-card .hours-globe { margin: 0; }
.demo-card { align-items: center; }
.hours-title { margin: 0 0 32px; }
.hours-wrap {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: center;
}
@media (max-width: 980px) { .hours-wrap { grid-template-columns: 1fr; } }

.hours-title {
  font-size: clamp(32px, 4.4vw, 56px);
  letter-spacing: -0.03em;
  line-height: 1.05;
  font-weight: 700;
  margin: 0 0 36px;
  max-width: 18ch;
}
.hours-title .acc {
  background: var(--grad-fire);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 800;
}

.hours-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 540px) { .hours-grid { grid-template-columns: 1fr; } }

/* Gallery / paginated */
.hours-gallery {
  position: relative;
  min-height: 220px;
}
.hours-page {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inset: 0;
  transition: opacity .5s ease;
}
.hours-page.active {
  opacity: 1;
  pointer-events: auto;
  position: relative;
}
@media (max-width: 600px) { .hours-page { grid-template-columns: 1fr; } }

.hours-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
}
.hours-dot {
  width: 28px; height: 5px;
  border-radius: 999px;
  background: var(--rule-2);
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: background .3s ease, width .3s ease;
}
.hours-dot.active {
  background: var(--grad-fire);
  width: 40px;
}

.hours-card {
  background: var(--paper);
  border: 1px solid var(--rule);
  border-radius: 18px;
  padding: 20px 22px;
  box-shadow: 0 4px 16px rgba(10,10,10,0.04);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hours-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(10,10,10,0.07);
  border-color: rgba(255,90,60,0.25);
}
.hc-head {
  display: flex; gap: 14px; align-items: center;
  padding-bottom: 14px;
}
.hc-flag {
  width: 32px; height: 32px; border-radius: 50%;
  flex: none;
  border: 1.5px solid var(--rule);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.flag-us { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23b22234'/><rect y='6' width='60' height='5' fill='%23fff'/><rect y='16' width='60' height='5' fill='%23fff'/><rect y='26' width='60' height='5' fill='%23fff'/><rect y='36' width='60' height='5' fill='%23fff'/><rect y='46' width='60' height='5' fill='%23fff'/><rect width='28' height='28' fill='%233c3b6e'/></svg>"); }
.flag-de { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23000'/><rect y='20' width='60' height='20' fill='%23dd0000'/><rect y='40' width='60' height='20' fill='%23ffce00'/></svg>"); }
.flag-uk { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><defs><clipPath id='c'><circle cx='30' cy='30' r='30'/></clipPath></defs><g clip-path='url(%23c)'><rect width='60' height='60' fill='%23012169'/><path d='M0 0 L60 60 M60 0 L0 60' stroke='%23fff' stroke-width='8'/><path d='M0 0 L60 60' stroke='%23c8102e' stroke-width='4' clip-path='polygon(0 0, 30 30, 30 30)'/><path d='M0 0 L60 60' stroke='%23c8102e' stroke-width='4'/><path d='M60 0 L0 60' stroke='%23c8102e' stroke-width='4'/><rect x='25' width='10' height='60' fill='%23fff'/><rect y='25' width='60' height='10' fill='%23fff'/><rect x='27' width='6' height='60' fill='%23c8102e'/><rect y='27' width='60' height='6' fill='%23c8102e'/></g></svg>"); }
.flag-ru { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23fff'/><rect y='20' width='60' height='20' fill='%230039a6'/><rect y='40' width='60' height='20' fill='%23d52b1e'/></svg>"); }
.flag-jp { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23fff'/><circle cx='30' cy='30' r='12' fill='%23bc002d'/></svg>"); }
.flag-es { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23aa151b'/><rect y='20' width='60' height='20' fill='%23f1bf00'/></svg>"); }
.flag-it { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23fff'/><rect width='20' height='60' fill='%23009246'/><rect x='40' width='20' height='60' fill='%23ce2b37'/></svg>"); }
.flag-nl { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23fff'/><rect width='60' height='20' fill='%23ae1c28'/><rect y='40' width='60' height='20' fill='%2321468b'/></svg>"); }
.flag-cy { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23fff'/><path d='M20 24 L30 22 L40 24 L36 30 L30 32 L24 30 Z' fill='%23d57800'/><path d='M22 36 Q26 40 22 42 M30 36 Q34 40 30 42 M38 36 Q42 40 38 42' stroke='%234e5b31' stroke-width='1.5' fill='none'/></svg>"); }
.flag-fi { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23fff'/><rect y='25' width='60' height='10' fill='%23003580'/><rect x='20' width='10' height='60' fill='%23003580'/></svg>"); }
.flag-ch { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23d52b1e'/><rect x='26' y='14' width='8' height='32' fill='%23fff'/><rect x='14' y='26' width='32' height='8' fill='%23fff'/></svg>"); }
.flag-br { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'><circle cx='30' cy='30' r='30' fill='%23009c3b'/><polygon points='30,10 54,30 30,50 6,30' fill='%23ffdf00'/><circle cx='30' cy='30' r='10' fill='%23002776'/></svg>"); }

.hc-name {
  font-family: var(--display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: -0.015em;
  line-height: 1.15;
  color: var(--ink);
}
.hc-rule {
  border: 0; height: 1px; background: var(--rule); margin: 0 0 14px;
}
.hc-body {
  display: flex; flex-direction: column; gap: 6px;
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--ink-2);
}
.hc-line { display: flex; gap: 8px; align-items: baseline; }
.hc-k { color: var(--ink-3); }
.hc-v { font-weight: 500; font-variant-numeric: tabular-nums; color: var(--ink); }
.hours-card .hc-body .hc-line:first-child .hc-k { color: var(--coral); font-weight: 600; }

/* GLOBE */
.hours-globe {
  position: relative;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
}
@media (max-width: 600px) {
  .hours-globe { max-width: 360px; }
}
.hours-globe img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 24px 40px rgba(31,74,138,0.25));
  animation: globeBob 6.4s ease-in-out infinite;
}
@keyframes globeBob {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}
.hours-globe::before, .hours-globe::after, .globe-base { display: none; }
.globe-orb {
  position: relative;
  width: 88%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  box-shadow:
    inset -30px -40px 80px rgba(0,0,0,0.55),
    inset 20px 20px 60px rgba(196,181,253,0.18),
    0 40px 70px -10px rgba(31,19,56,0.5);
  background: #1f1338;
  isolation: isolate;
}
.globe-continents { position: absolute; inset: 0; width: 100%; height: 100%; }
.globe-courtiro {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.18);
  border-top-color: transparent;
  border-bottom-color: transparent;
  transform: rotateY(0deg);
  pointer-events: none;
}
.globe-courtiro.m2 { transform: scaleX(0.5); border-color: rgba(255,255,255,0.12); border-top-color: transparent; border-bottom-color: transparent; }
.globe-courtiro.m3 { transform: scaleX(0.85); border-color: rgba(255,255,255,0.15); border-top-color: transparent; border-bottom-color: transparent; }
.globe-equator {
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 0;
  border-top: 1.5px solid rgba(255,255,255,0.22);
  pointer-events: none;
}
.globe-shine {
  position: absolute;
  top: 8%; left: 16%;
  width: 36%; height: 36%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.25) 0%, transparent 70%);
  pointer-events: none;
  filter: blur(8px);
}

/* metallic stand */
.hours-globe::before {
  content: "";
  position: absolute;
  width: 92%;
  height: 92%;
  border-radius: 50%;
  border: 4px solid;
  border-image: linear-gradient(180deg, #d8dde6 0%, #8a92a3 50%, #d8dde6 100%) 1;
  pointer-events: none;
  z-index: 1;
}
.globe-base {
  position: absolute;
  bottom: 0;
  width: 36%;
  height: 10%;
  background: linear-gradient(180deg, #c8cfd9 0%, #6f7884 100%);
  border-radius: 0 0 50% 50% / 0 0 40% 40%;
  box-shadow: 0 6px 14px rgba(0,0,0,0.18);
}
.globe-base::before, .globe-base::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #c8cfd9 0%, #6f7884 100%);
}
.globe-base::before { left: 16%; bottom: 100%; height: 18%; }
.globe-base::after  { right: 16%; bottom: 100%; height: 18%; }

/* ============================================================
   WATCH DEMO video card
   ============================================================ */
.demo-card {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
  background: var(--paper);
  border-radius: clamp(24px, 3vw, 40px);
  padding: clamp(32px, 4vw, 48px);
  border: 1px solid rgba(26,34,51,0.04);
  box-shadow: var(--shadow-1);
}
@media (max-width: 900px) { .demo-card { grid-template-columns: 1fr; } }
.demo-card h2 { font-size: clamp(28px, 3.4vw, 48px); }
.demo-card h2 .acc { background: var(--grad-fire); -webkit-background-clip: text; background-clip: text; color: transparent; }
.demo-card .sub { color: var(--ink-3); margin-top: 16px; font-size: 17px; max-width: 44ch; }
.demo-card .stats {
  display: flex; gap: 28px; margin-top: 28px; flex-wrap: wrap;
  padding-top: 22px; border-top: 1px solid var(--rule);
}
.demo-card .stat .v { font-family: var(--display); font-weight: 800; font-size: 28px; letter-spacing: -0.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.demo-card .stat .k { font-size: 12px; color: var(--ink-3); margin-top: 4px; }

.demo-video {
  position: relative;
  aspect-ratio: 16 / 10;
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(135deg, #2a3445 0%, #1a2233 100%);
  box-shadow: 0 24px 60px rgba(0,0,0,0.25);
  cursor: pointer;
}
.demo-video svg.frame { position: absolute; inset: 0; width: 100%; height: 100%; }
.demo-video .ghost-ui {
  position: absolute; inset: 0;
  padding: 22px;
  display: flex; flex-direction: column;
}
.demo-video .ghost-ui .top {
  display: flex; gap: 8px; margin-bottom: 18px;
}
.demo-video .ghost-ui .top .dot { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,0.25); }
.demo-video .ghost-ui .grid {
  flex: 1;
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px;
}
.demo-video .ghost-ui .tile {
  background: rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 12px;
}
.demo-video .ghost-ui .tile .k { font-family: var(--mono); font-size: 9px; color: rgba(255,255,255,0.4); letter-spacing: 0.08em; text-transform: uppercase; }
.demo-video .ghost-ui .tile .v { font-family: var(--display); font-weight: 700; font-size: 18px; color: #fff; margin-top: 4px; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.demo-video .ghost-ui .tile.wide { grid-column: span 2; }
.demo-video .ghost-ui .tile .bar {
  height: 36px; margin-top: 8px;
  background: linear-gradient(to right, rgba(255,90,60,0.4), transparent);
  border-radius: 4px;
  position: relative;
}
.demo-video .ghost-ui .tile .bar svg { position: absolute; inset: 0; width: 100%; height: 100%; }

.demo-video .play-overlay {
  position: absolute; inset: 0;
  display: grid; place-items: center;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.55) 100%);
  z-index: 2;
}
.demo-video .play-button {
  display: grid; place-items: center;
  width: 96px; height: 96px;
  border-radius: 50%;
  background: rgba(255,255,255,0.16);
  border: 2px solid rgba(255,255,255,0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  font-size: 28px;
  transition: transform .25s ease, background .25s ease;
  box-shadow: 0 0 0 0 rgba(255,255,255,0.4);
  animation: playPulse 2.4s ease-in-out infinite;
}
@keyframes playPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0.5); }
  60% { box-shadow: 0 0 0 24px rgba(255,255,255,0); }
}
.demo-video:hover .play-button { transform: scale(1.08); background: var(--coral); border-color: var(--coral); }

.demo-video .badge {
  position: absolute; left: 22px; top: 22px;
  padding: 6px 12px;
  background: rgba(255,255,255,0.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 999px;
  color: #fff;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.demo-video .badge::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--coral);
  animation: pulse 2s ease-in-out infinite;
}
.demo-video .duration {
  position: absolute; right: 22px; bottom: 22px;
  padding: 5px 10px;
  background: rgba(0,0,0,0.55);
  border-radius: 6px;
  color: #fff;
  font-family: var(--mono);
  font-size: 11px;
  z-index: 3;
}

/* ============================================================
   TEAM / DESK photos
   ============================================================ */
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
@media (max-width: 900px) { .team-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .team-grid { grid-template-columns: 1fr; } }

.team-card {
  background: var(--paper);
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid rgba(26,34,51,0.04);
  box-shadow: var(--shadow-1);
  transition: transform .3s ease, box-shadow .3s ease;
}
.team-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-2); }
.team-photo {
  aspect-ratio: 4 / 5;
  position: relative;
  background: #d8e0e6;
  overflow: hidden;
}
.team-photo svg { width: 100%; height: 100%; display: block; }
.team-photo .tag {
  position: absolute; left: 14px; bottom: 14px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 5px 10px;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.04em;
  color: var(--ink);
}
.team-info { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 12px; }
.team-info .t-quote {
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.005em;
  text-wrap: pretty;
}
.team-info .t-author {
  padding-top: 12px;
  border-top: 1px solid var(--rule);
}
.team-info .nm { font-family: var(--display); font-weight: 700; font-size: 18px; letter-spacing: -0.02em; }
.team-info .role { font-size: 13px; color: var(--ink-3); margin-top: 4px; }
.team-info .since {
  margin-top: 10px; padding-top: 10px;
  border-top: 1px solid var(--rule);
  font-family: var(--mono);
  font-size: 11px;
  color: var(--muted);
}
.team-info .since strong { color: var(--coral); font-weight: 600; }

/* ============================================================
   REVEAL
   ============================================================ */
.grad-text {
  background: var(--grad-fire);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-block;
}
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--rd, 0ms);
}
.reveal.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0ms !important; transition-duration: 0ms !important; }
}


/* ---- design overrides ---- */

#call .call-list .text-block { background-color: rgba(10, 10, 10, 0) !important }
#call .call-list .text-block-2 { background-color: rgba(10, 10, 10, 0) !important }
#call .call-list .text-block-2 { text-align: left !important }
#call .call-list .text-block { text-align: left !important }
#call .call-list .desc b { font-size: 16px !important }
#call .call-list .desc b { font-weight: 500 !important }
div:nth-child(4) >.desc >div:nth-child(2) { font-size: 15px !important }
div:nth-child(4) >.desc >div:nth-child(2) { font-weight: 400 !important }


/* Footer artwork replacements */
.foot-company-image { max-width: 377px; }
.footer-info-image { display: block; width: 377px; max-width: 100%; height: auto; }
.fc-risk-image-wrap { display: block; }
.risk-disclosure-image { display: block; width: 609px; max-width: 100%; height: auto; }
@media (max-width: 700px) {
  .footer-info-image, .risk-disclosure-image { max-width: 100%; height: auto; }
}

/* Cloudflare-safe fixed artwork sizing: never upscale beyond SVG native width */
.foot-company-image { width: 377px; max-width: 100%; }
.footer-info-image {
  display: block !important;
  width: 377px !important;
  max-width: min(377px, 100%) !important;
  height: auto !important;
  flex: 0 0 auto !important;
}
.fc-risk-image-wrap {
  align-items: flex-start !important;
}
.risk-disclosure-image {
  display: block !important;
  width: 609px !important;
  max-width: min(609px, 100%) !important;
  height: auto !important;
  flex: 0 0 auto !important;
}
@media (max-width: 609px) {
  .risk-disclosure-image { width: 100% !important; max-width: 609px !important; }
}
@media (max-width: 377px) {
  .footer-info-image { width: 100% !important; max-width: 377px !important; }
}
