/* ============================================================================
   Reference (finapay.ai handover) stylesheets — VERBATIM, scoped to
   html[data-surface="marketing"].

   Loaded as its OWN <link> from src/routes/__root.tsx (imported with ?url), on
   purpose: it must bypass the Tailwind/Lightning CSS pipeline that processes
   styles.css — that optimizer rewrites the reference CSS (e.g. it dropped the
   unprefixed `backdrop-filter`, which broke every glass surface). Vite's plain
   CSS pipeline only inlines these @imports and leaves the rules untouched.

   raw/*.css are byte-identical copies of the reference assets/css/*.css; the
   *.scoped.css twins are generated by `bun scripts/scope-ref-css.ts`.
   Import order = the reference <head> order. rtl.css is loaded on every page
   (every rule is [dir="rtl"]-prefixed, so it is inert under LTR).
   ============================================================================ *//* GENERATED by scripts/scope-ref-css.ts from src/styles/ref/raw/main.css — DO NOT EDIT.
   Reference stylesheet, verbatim, scoped to html[data-surface="marketing"]. */
/* =========================================================
   FINA - Liquid Glassmorphic Theme
   Light canvas. Cyan accent. Glass surfaces. Atmospheric.
   ========================================================= */

@property --border-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

html[data-surface="marketing"] {
  /* ---------- Canvas (light) ---------- */
  --canvas-base: #FFFFFF;
  --ambient-cyan:radial-gradient(ellipse 60% 50% at 20% 30%, rgba(223, 255, 146, 0.16), transparent 60%);
  --ambient-violet:radial-gradient(ellipse 50% 40% at 80% 70%, rgba(94, 107, 246, 0.10), transparent 60%);
  --ambient-teal:radial-gradient(ellipse 55% 45% at 90% 28%, transparent, transparent 65%);
  --noise: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.015'/></svg>");

  /* ---------- Glass surfaces (more transparent for stronger glassmorphism) ---------- */
  --glass-bg:         rgba(255, 255, 255, 0.38);
  --glass-bg-hover:   rgba(255, 255, 255, 0.55);
  --glass-bg-elev:    rgba(255, 255, 255, 0.62);
  --glass-border:     rgba(15, 23, 42, 0.06);
  --glass-border-top: rgba(255, 255, 255, 0.95);
  --glass-blur:       28px;
  --glass-blur-elev:  44px;
  --glass-saturate:   190%;

  /* ---------- Accent (indigo primary) ---------- */
  --accent:#DFFF92;
  --accent-2:#CDFF55;
  --accent-glow: color-mix(in oklab, var(--accent) 30%, transparent);

  /* ---------- Brand palette ---------- */
  --lime:#5E6BF6;
  --lime-soft:#E2E5FD;
  --lime-deep:#282D6B;

  --ink:#000000;
  --ink-2:#0D0D0D;
  --ink-3:#1A1A1A;

  --violet:#DFFF92;
  --violet-soft:#CDFF55;
  --violet-bg:#F4FAE5;

  /* ---------- Selection ---------- */
  --selection-bg:#5E6BF6;
  --selection-fg:#000000;

  /* ---------- Shimmer-border (animated card/nav border shine) ---------- */
  --shimmer-color:rgb(223, 255, 146);

  --bg:          #FFFFFF;
  --bg-soft:     #F6F7F9;
  --bg-tint:     #F1F2F6;

  --text:#000000;
  --text-2:      #4A5163;
  --text-3:      #8A92A6;
  --hairline:    #E6E8EE;

  /* ---------- Typography (Bricolage brand) ---------- */
  --font-display:'Bricolage Grotesque', 'Gilroy', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-sans:'Gilroy', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;

  --tracking-display: -0.025em;
  --tracking-body:    0;
  --tracking-small:   0.02em;
  --weight-hero:      600;
  --weight-body:      400;

  /* ---------- Layout ---------- */
  --container: 1240px;
  --container-narrow: 1080px;

  --radius-sm: 10px;
  --radius:    16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --r-pill:    999px;

  --s-1: 0.5rem;
  --s-2: 1rem;
  --s-3: 1.5rem;
  --s-4: 2rem;
  --s-5: 3rem;
  --s-6: 4rem;
  --s-7: 6rem;

  /* ---------- Motion ---------- */
  --ease-out:           cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-spring:        cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quint:     cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out-quart:  cubic-bezier(0.76, 0, 0.24, 1);

  /* ---------- Shadows (light) ---------- */
  --shadow-glass:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 -1px 0 rgba(15, 23, 42, 0.04) inset,
    0 12px 30px -12px rgba(15, 23, 42, 0.14),
    0 24px 48px -24px rgba(15, 23, 42, 0.10);
  --shadow-card: var(--shadow-glass);
  --shadow-lift:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 -1px 0 rgba(15, 23, 42, 0.04) inset,
    0 30px 60px -20px rgba(15, 23, 42, 0.22),
    0 12px 24px -12px rgba(15, 23, 42, 0.14);
  --shadow-pop:0 20px 40px -12px rgba(223, 255, 146, 0.28);
  --shadow-glow-cyan:  0 0 60px -8px var(--accent-glow);
  --lime-glow: color-mix(in oklab, var(--lime) 45%, transparent);
}

/* =========================================================
   Reset + base
   ========================================================= */
html[data-surface="marketing"] *,html[data-surface="marketing"]  *::before,html[data-surface="marketing"]  *::after { box-sizing: border-box; }
html[data-surface="marketing"],html[data-surface="marketing"]  body { margin: 0; padding: 0; }
html[data-surface="marketing"] {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: auto;
  background: var(--canvas-base);
  /* Prevent horizontal scroll site-wide. body alone isn't enough on iOS Safari
     when fixed/transformed elements (mobile drawer, nav) sit beyond the viewport. */
  overflow-x: hidden;
}

html[data-surface="marketing"] body {
  font-family: var(--font-sans);
  color: var(--text);
  font-size: 16px;
  line-height: 1.55;
  font-feature-settings: "ss01", "ss02", "cv11";
  overflow-x: hidden;
  max-width: 100vw;
  background:
    var(--ambient-cyan),
    var(--ambient-violet),
    var(--ambient-teal),
    var(--canvas-base);
  background-attachment: fixed;
  min-height: 100vh;
  position: relative;
}

/* Noise overlay above ambient washes, below content */
html[data-surface="marketing"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: var(--noise);
  background-repeat: repeat;
  pointer-events: none;
  z-index: 1;
  opacity: 1;
}

html[data-surface="marketing"] img,html[data-surface="marketing"]  svg,html[data-surface="marketing"]  video { display: block; max-width: 100%; }
html[data-surface="marketing"] button { font: inherit; color: inherit; cursor: pointer; border: 0; background: none; padding: 0; }
html[data-surface="marketing"] a { color: inherit; text-decoration: none; }
html[data-surface="marketing"] input,html[data-surface="marketing"]  textarea,html[data-surface="marketing"]  select { font: inherit; color: inherit; }

/* ---------- Text selection ---------- */
html[data-surface="marketing"] ::selection      { background: var(--selection-bg); color: var(--selection-fg); }
html[data-surface="marketing"] ::-moz-selection { background: var(--selection-bg); color: var(--selection-fg); }

/* Lenis */
html[data-surface="marketing"].lenis { height: auto; }
html[data-surface="marketing"].lenis.lenis-smooth { scroll-behavior: auto; }
html[data-surface="marketing"].lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
html[data-surface="marketing"].lenis.lenis-stopped { overflow: hidden; }

/* =========================================================
   Atmosphere: orb-field
   ========================================================= */
html[data-surface="marketing"] .orb-field {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
html[data-surface="marketing"] .orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(56px);
  opacity: 0.45;
  mix-blend-mode: multiply;
  will-change: transform;
  /* GPU promotion hints — keep orb compositing off the CPU, especially on Safari/Mac */
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
html[data-surface="marketing"] .orb--cyan {
  width: 520px; height: 520px;
  left: -120px; top: -120px;
  background: radial-gradient(circle,rgba(223, 255, 146,.75)0,rgba(223, 255, 146,.3) 35%,transparent 70%);
  animation: drift-cyan 22s ease-in-out infinite;
}
html[data-surface="marketing"] .orb--violet {
  width: 480px; height: 480px;
  right: -100px; top: 20%;
  background: radial-gradient(circle,rgba(94, 107, 246,.65)0,rgba(94, 107, 246,.25) 35%,transparent 70%);
  animation: drift-violet 28s ease-in-out infinite;
}
html[data-surface="marketing"] .orb--teal {
  width: 560px; height: 560px;
  left: 30%; bottom: -160px;
  background: radial-gradient(circle,rgba(0, 0, 0,.55)0,rgba(0, 0, 0,.22) 35%,transparent 70%);
  animation: drift-teal 32s ease-in-out infinite;
  display: none;
}
html[data-surface="marketing"] .orb--pink {
  width: 420px; height: 420px;
  right: 15%; bottom: 10%;
  background: radial-gradient(circle, rgba(244,114,182,0.50) 0%, rgba(244,114,182,0.20) 35%, transparent 70%);
  animation: drift-pink 26s ease-in-out infinite;
}
@keyframes drift-cyan {
  0%   { transform: translate(0, 0) scale(1); }
  33%  { transform: translate(40vw, 30vh) scale(1.15); }
  66%  { transform: translate(10vw, 60vh) scale(0.9); }
  100% { transform: translate(0, 0) scale(1); }
}
@keyframes drift-violet {
  0%   { transform: translate(0, 0) scale(1); }
  33%  { transform: translate(-30vw, 20vh) scale(1.1); }
  66%  { transform: translate(-10vw, 50vh) scale(0.95); }
  100% { transform: translate(0, 0) scale(1); }
}
@keyframes drift-teal {
  0%   { transform: translate(0, 0) scale(1); }
  33%  { transform: translate(20vw, -30vh) scale(0.85); }
  66%  { transform: translate(-15vw, -10vh) scale(1.2); }
  100% { transform: translate(0, 0) scale(1); }
}
@keyframes drift-pink {
  0%   { transform: translate(0, 0) scale(1); }
  33%  { transform: translate(-25vw, -40vh) scale(1.05); }
  66%  { transform: translate(20vw, -20vh) scale(0.9); }
  100% { transform: translate(0, 0) scale(1); }
}

/* ---------- Performance: cut the heaviest GPU work on small/mid screens ----------
   Orbs (huge blurred blended layers), fixed-attachment body gradients, deep glass
   blur, and the noise overlay dominate frame cost on phones. Visual delta is
   minimal at these sizes; the win is large. */
@media (max-width: 900px) {
  html[data-surface="marketing"] .orb { display: none; }
  html[data-surface="marketing"] body { background-attachment: scroll; }
  html[data-surface="marketing"] body::before { display: none; }
  html[data-surface="marketing"] {
    --glass-blur: 12px;
    --glass-blur-elev: 18px;
    --glass-saturate: 140%;
  }
}
/* Desktop: pink orb adds little, costs a full blurred layer */
@media (min-width: 901px) {
  html[data-surface="marketing"] .orb--pink { display: none; }
}

@media (max-width: 640px) {
  html[data-surface="marketing"] .orb { filter: blur(40px); opacity: 0.4; }
}

/* =========================================================
   GPU promotion hints — combat Safari/Mac compositor jank on
   transformed/animated surfaces. Cheap on other browsers.
   ========================================================= */
html[data-surface="marketing"] .values__card,html[data-surface="marketing"] 
.path__card,html[data-surface="marketing"] 
.faq__item,html[data-surface="marketing"] 
.step,html[data-surface="marketing"] 
.pcard,html[data-surface="marketing"] 
.bcard,html[data-surface="marketing"] 
.integ,html[data-surface="marketing"] 
[data-tilt],html[data-surface="marketing"] 
[data-tilt-3d],html[data-surface="marketing"] 
.nav__neon,html[data-surface="marketing"] 
.nav__neon-comet,html[data-surface="marketing"] 
.hero__visual,html[data-surface="marketing"] 
.anim-frame,html[data-surface="marketing"] 
.anim-frame iframe {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/* =========================================================
   Liquid-glass shine border (cards + nav)
   ========================================================= */
@keyframes rotate-border { to { --border-angle: 360deg; } }

/* Light-theme shimmer-border animation: a soft radial glow sweeps diagonally
   across the border ring (back and forth) instead of a rotating conic spot.
   Tuned for white/glass cards with the brand indigo as the shine color. */
@keyframes shimmer-border {
  0%   { background-position:   0%   0%; }
  50%  { background-position: 100% 100%; }
  100% { background-position:   0%   0%; }
}

/* Reusable utility — apply via ::before/::after on any positioned card.
   Stacked drop-shadow filters give the moving shine spot a neon halo that
   bleeds outside the card border (visible on cards with overflow:visible). */
html[data-surface="marketing"] .glass-shine,html[data-surface="marketing"] 
.shimmer-shine {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  pointer-events: none;
  padding: 1.5px;
  background-image: radial-gradient(transparent 0%,transparent 30%,var(--shimmer-color, #DFFF92) 50%,transparent 70%,transparent 100%);
  background-size: 283% 283%;
  background-position: 153% 174%;
  animation: shimmer-border 9s linear infinite;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
          mask-composite: exclude;
  box-shadow: inset 0 0 0 1.5px rgba(223, 255, 146,.1);
  filter: drop-shadow(0 0 8px rgba(223, 255, 146,.29));
}

/* =========================================================
   Custom cursor (dot + lagging ring)
   ========================================================= */
html[data-surface="marketing"] .cursor-dot,html[data-surface="marketing"] 
.cursor-ring {
  display: none;
  position: fixed;
  top: 0; left: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
  will-change: transform;
}
html[data-surface="marketing"] .cursor-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #000000;
  box-shadow:
    0 0 8px rgba(15,23,42,.35),0 0 24px rgba(223, 255, 146,.4),0 0 48px rgba(223, 255, 146,.2);
  z-index: 10000;
  transition: width 200ms, height 200ms, background 200ms;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
html[data-surface="marketing"] .cursor-ring {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(8px) saturate(180%);
  -webkit-backdrop-filter: blur(8px) saturate(180%);
  border: 1.5px solid rgba(15, 23, 42, 0.40);
  box-shadow:
    inset 0 0 12px rgba(255, 255, 255, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 6px 16px -4px rgba(15, 23, 42, 0.18);
  z-index: 9999;
  transition: width 300ms, height 300ms, border-color 250ms, background 250ms;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
/* Custom cursor disabled per request — keep classes for backwards
   compatibility but render nothing and don't hide the native cursor. */
html[data-surface="marketing"] .cursor-dot,html[data-surface="marketing"]  .cursor-ring { display: none !important; }

/* =========================================================
   Typography
   ========================================================= */
html[data-surface="marketing"] .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-2);
  font-weight: 500;
}
/* Canonical Fina star — the 4-point concave sparkle from the wordmark
   (the sparkle above the N in /assets/images/logo.png). */
html[data-surface="marketing"] .eyebrow .star {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  display: inline-block;
  background: var(--lime);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C13 7 17 11 24 12C17 13 13 17 12 24C11 17 7 13 0 12C7 11 11 7 12 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C13 7 17 11 24 12C17 13 13 17 12 24C11 17 7 13 0 12C7 11 11 7 12 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  align-self: center;
  filter: drop-shadow(0 0 6px var(--lime-glow));
}

html[data-surface="marketing"] h1,html[data-surface="marketing"]  h2,html[data-surface="marketing"]  h3,html[data-surface="marketing"]  h4 {
  font-family: var(--font-display);
  font-weight: var(--weight-hero);
  letter-spacing: var(--tracking-display);
  line-height: 1.04;
  margin: 0;
  color: var(--ink);
  text-wrap: balance;
}
html[data-surface="marketing"] h1 { font-size: clamp(44px, 6.6vw, 72px); letter-spacing: -0.04em; font-weight: 600; }
html[data-surface="marketing"] h2 { font-size: clamp(36px, 4.6vw, 64px); letter-spacing: -0.035em; font-weight: 600; }
html[data-surface="marketing"] h3 { font-size: clamp(26px, 2.8vw, 40px); font-weight: 600; }
html[data-surface="marketing"] h4 { font-size: clamp(20px, 1.6vw, 26px); font-weight: 500; }

html[data-surface="marketing"] .display-accent { color: var(--ink); font-style: normal; font-weight: 600; }
html[data-surface="marketing"] .accent { color: var(--ink); }

html[data-surface="marketing"] .lead {
  font-size: clamp(17px, 1.4vw, 19px);
  color: var(--text-2);
  line-height: 1.5;
  max-width: 56ch;
  text-wrap: pretty;
}

/* =========================================================
   Layout
   ========================================================= */
html[data-surface="marketing"] .container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 2;
}
html[data-surface="marketing"] .container--narrow { max-width: var(--container-narrow); }
html[data-surface="marketing"] .section { padding: clamp(64px, 7vw, 110px) 0; position: relative; z-index: 2; }
html[data-surface="marketing"] .section--tight { padding: clamp(48px, 5vw, 80px) 0; }
html[data-surface="marketing"] .section--ink { background: var(--ink); color: #fff; }
html[data-surface="marketing"] .section--ink h1,html[data-surface="marketing"]  .section--ink h2,html[data-surface="marketing"]  .section--ink h3 { color: #fff; }
html[data-surface="marketing"] .section--soft { background: var(--bg-soft); }

html[data-surface="marketing"] .section-head {
  text-align: center;
  margin: 0 auto 48px;
  max-width: 760px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
html[data-surface="marketing"] .section-head .eyebrow { margin-bottom: 4px; }
html[data-surface="marketing"] .section-head .lead { text-align: center; margin: 0 auto; }

@media (max-width: 700px) {
  html[data-surface="marketing"] .container { padding: 0 20px; }
  html[data-surface="marketing"] .section { padding: 80px 0; }
  html[data-surface="marketing"] .section-head { margin-bottom: 44px; }
}

/* =========================================================
   Buttons (pill, glass)
   ========================================================= */
html[data-surface="marketing"] .btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 20px;
  border-radius: var(--r-pill);
  font-weight: 500;
  font-size: 14.5px;
  letter-spacing: -0.005em;
  transition: transform .35s var(--ease-out), background .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease;
  white-space: nowrap;
  position: relative;
  isolation: isolate;
  border: 1px solid transparent;
  overflow: hidden;
}
/* Corner shines + top-edge sheen — static glass highlight */
html[data-surface="marketing"] .btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(60% 120% at 0% 0%,   rgba(255, 255, 255, 0.55), transparent 55%),
    radial-gradient(60% 120% at 100% 0%, rgba(255, 255, 255, 0.35), transparent 55%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.32) 0%, transparent 30%);
  mix-blend-mode: screen;
  opacity: 0.85;
  transition: opacity .25s ease;
}
html[data-surface="marketing"] .btn:hover::before { opacity: 1; }
/* Sweeping sheen on hover */
html[data-surface="marketing"] .btn::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: -40%;
  width: 35%;
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.55) 50%,
    transparent 100%);
  transform: translateX(0);
  transition: transform .9s var(--ease-out);
  mix-blend-mode: screen;
  opacity: 0;
}
html[data-surface="marketing"] .btn:hover::after {
  opacity: 1;
  transform: translateX(420%);
}

/* Primary + lime CTA = indigo pill, white text */
html[data-surface="marketing"] .btn--primary,html[data-surface="marketing"] 
.btn--lime {
  background: var(--accent);
  color: #000;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),inset 0-1px 0 rgba(15,23,42,.2),0 6px 16px -8px rgba(223, 255, 146,.25);
}
html[data-surface="marketing"] .btn--primary:hover,html[data-surface="marketing"] 
.btn--lime:hover {
  background: var(--accent);
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),inset 0-1px 0 rgba(15,23,42,.2),0 14px 30px -10px rgba(15,23,42,.3);
  font-weight: 600;
}

/* Radiating CTA — pulsing halo to make the primary hero action eye-catching
   (LP1 "make it radiating / more prominent"). */
html[data-surface="marketing"] .btn--radiate { animation: ctaRadiate 2.6s ease-in-out infinite; }
@keyframes ctaRadiate {
  0%, 100% {
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.3),inset 0-1px 0 rgba(15,23,42,.2),0 6px 16px -8px rgba(223, 255, 146,.25),0 0 0 0 rgba(223, 255, 146,.45);
  }
  50% {
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.3),inset 0-1px 0 rgba(15,23,42,.2),0 6px 22px -6px rgba(223, 255, 146,.34),0 0 0 12px transparent;
  }
}
@media (prefers-reduced-motion: reduce) { html[data-surface="marketing"] .btn--radiate { animation: none; } }

/* Nav "Get Started" CTA — glossy sheen removed per request. */
html[data-surface="marketing"] .nav__actions .btn--lime::after { display: none; }

/* Ink = dark navy pill, white text */
html[data-surface="marketing"] .btn--ink {
  background: var(--ink);
  color: #fff;
  border-color: transparent;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    inset 0 -1px 0 rgba(0, 0, 0, 0.30),
    0 6px 14px -8px rgba(15, 23, 42, 0.5);
}
html[data-surface="marketing"] .btn--ink::before {
  background:
    radial-gradient(60% 120% at 0% 0%,   rgba(255, 255, 255, 0.30), transparent 55%),
    radial-gradient(60% 120% at 100% 0%, rgba(255, 255, 255, 0.18), transparent 55%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, transparent 35%);
}
html[data-surface="marketing"] .btn--ink:hover {
  background: #1c2335;
  transform: translateY(-1px);
}

/* Ghost = glass-white pill on light canvas */
html[data-surface="marketing"] .btn--ghost {
  background: rgba(255, 255, 255, 0.45);
  color: var(--text);
  border-color: rgba(15, 23, 42, 0.10);
  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(14px) saturate(180%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    inset 0 -1px 0 rgba(15, 23, 42, 0.06),
    0 6px 16px -10px rgba(15, 23, 42, 0.18);
}
html[data-surface="marketing"] .btn--ghost:hover {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(15, 23, 42, 0.18);
  transform: translateY(-1px);
}

/* ----- .btn--shine: rim reflection + opposite-cursor 3D tilt -----
   IDLE: a bright spot orbits the rim (JS rAF drives --shine-angle).
   HOVER: JS locks the spot to the corner OPPOSITE the cursor and tilts the
          button OPPOSITE the cursor too. Orbit resumes seamlessly from the
          locked angle on leave. No CSS animation, so no inline-vs-animation
          conflict. */
@property --shine-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
html[data-surface="marketing"] .btn--shine {
  transform-style: preserve-3d;
  --shine-angle: 0deg;
  transition:
    transform .25s var(--ease-out),
    background .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}
html[data-surface="marketing"] .btn--shine::after {
  content: "";
  position: absolute;
  inset: 0;
  width: auto;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: inherit;
  padding: 1.5px;
  /* Single bright peak in the gradient. With `from var(--shine-angle)`, the
     peak's compass position = shine-angle + 90deg. JS sets shine-angle so the
     peak lands on the corner opposite the cursor when hovered. */
  background: conic-gradient(
    from var(--shine-angle),
    rgba(255, 255, 255, 0)    0deg,
    rgba(255, 255, 255, 0)   60deg,
    rgba(255, 255, 255, 0.85) 86deg,
    #ffffff 90deg,
    rgba(255, 255, 255, 0.85) 94deg,
    rgba(255, 255, 255, 0)  120deg,
    rgba(255, 255, 255, 0)  360deg
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
          mask-composite: exclude;
  pointer-events: none;
  z-index: 2;
  opacity: 1;
  transform: none;
  transition: filter .25s ease;
  mix-blend-mode: normal;
  filter:
    drop-shadow(0 0 2px rgba(255, 255, 255, 0.90))
    drop-shadow(0 0 6px rgba(255, 255, 255, 0.50));
}
html[data-surface="marketing"] .btn--shine.is-shine-locked::after {
  /* On hover, smooth the spot's slide as the cursor moves around */
  transition: filter .25s ease;
  filter:
    drop-shadow(0 0 3px rgba(255, 255, 255, 1))
    drop-shadow(0 0 10px rgba(255, 255, 255, 0.70))
    drop-shadow(0 0 22px rgba(255, 255, 255, 0.45));
}

/* Ghost-on-light variant: white rim shine on a white background loses its halo
   in plain white drop-shadows — give it a subtle dark+indigo contrast halo so
   the shine reads. Core stroke stays white. */
html[data-surface="marketing"] .btn--ghost.btn--shine::after {
  filter:
    drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 3px rgba(15,23,42,.35)) drop-shadow(0 0 8px rgba(223, 255, 146,.45)) drop-shadow(0 0 18px rgba(223, 255, 146,.25));
}
html[data-surface="marketing"] .btn--ghost.btn--shine.is-shine-locked::after {
  filter:
    drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px rgba(15,23,42,.45)) drop-shadow(0 0 12px rgba(223, 255, 146,.29)) drop-shadow(0 0 26px rgba(223, 255, 146,.35));
}
html[data-surface="marketing"] .btn--shine.is-shine-locked {
  /* Smooth slide of --shine-angle to the cursor-mirror as the cursor moves */
  transition:
    transform .25s var(--ease-out),
    background .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    --shine-angle .12s linear;
}

/* Ghost-dark used on dark sections (cta-final). Keep light-on-dark contrast. */
html[data-surface="marketing"] .btn--ghost-dark {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.30),
    inset 0 -1px 0 rgba(0, 0, 0, 0.20),
    0 6px 16px -10px rgba(0, 0, 0, 0.4);
}
html[data-surface="marketing"] .btn--ghost-dark::before {
  background:
    radial-gradient(60% 120% at 0% 0%,   rgba(255, 255, 255, 0.45), transparent 55%),
    radial-gradient(60% 120% at 100% 0%, rgba(255, 255, 255, 0.25), transparent 55%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, transparent 35%);
}
html[data-surface="marketing"] .btn--ghost-dark:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.32);
  transform: translateY(-1px);
}

html[data-surface="marketing"] .btn .arrow { transition: transform .3s var(--ease-out); }
html[data-surface="marketing"] .btn:hover .arrow { transform: translateX(4px); }

html[data-surface="marketing"] .btn--sm { padding: 8px 14px; font-size: 13.5px; }
html[data-surface="marketing"] .btn--lg { padding: 14px 24px; font-size: 15px; }
/* keep the nav "Get Started" CTA the same width in EN + AR (Arabic label is shorter) */
html[data-surface="marketing"] .nav__actions .btn--lime { min-width: 126px; justify-content: center; text-align: center; }

/* Footer app-store buttons (replaces inline-style boxes) */
html[data-surface="marketing"] .store-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 40px;
  padding: 0 14px;
  background: var(--ink);
  color: #fff;
  border-radius: 10px;
  font-size: 13px;
  transition: background .2s ease, transform .25s var(--ease-out);
}
html[data-surface="marketing"] .store-btn:hover {
  background: #1c2335;
  transform: translateY(-1px);
}

/* Link with underline animation */
html[data-surface="marketing"] .tlink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ink);
  font-weight: 500;
  position: relative;
}
html[data-surface="marketing"] .tlink::after {
  content: "";
  position: absolute;
  left: 0; right: 18px;
  bottom: -2px;
  height: 1px;
  background: currentColor;
  transform-origin: left;
  transform: scaleX(0);
  transition: transform .4s var(--ease-out);
}
html[data-surface="marketing"] .tlink:hover::after { transform: scaleX(1); }
html[data-surface="marketing"] .tlink .arrow { transition: transform .3s var(--ease-out); }
html[data-surface="marketing"] .tlink:hover .arrow { transform: translate(3px, -3px); }

/* =========================================================
   Navbar (floating glass pill)
   ========================================================= */
html[data-surface="marketing"] .nav {
  position: fixed;
  top: 16px; left: 0; right: 0;
  z-index: 100;
  padding: 0;
  transition: top .35s ease;
  pointer-events: none;
}
html[data-surface="marketing"] .nav .container.nav__inner {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1180px;
  padding: 8px 8px 8px 20px;
  background: rgba(255, 255, 255, 0.32);
  backdrop-filter: blur(32px) saturate(190%);
  -webkit-backdrop-filter: blur(32px) saturate(190%);
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-top-color: rgba(255, 255, 255, 0.95);
  border-radius: var(--r-pill);
  isolation: isolate;
  overflow: hidden;
  box-shadow: var(--shadow-glass);
  position: relative;
}
/* Static corner shines + top-edge sheen — sits behind content via z-index -1 */
html[data-surface="marketing"] .nav .container.nav__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(70% 110% at 0% 0%, rgba(255, 255, 255, 0.85), transparent 45%),
    radial-gradient(70% 110% at 100% 0%, rgba(255, 255, 255, 0.70), transparent 45%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.45) 0%, transparent 24%);
  mix-blend-mode: screen;
  opacity: 0.95;
  z-index: -1;
}

/* Nav perimeter shimmer — radial glow sweeps diagonally across the entire
   pill border (same technique as the cards). Replaces the old bottom-only
   comet sweep. */
html[data-surface="marketing"] .nav .container.nav__inner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  pointer-events: none;
  padding: 1.5px;
  background-image: radial-gradient(transparent 0%,transparent 30%,var(--shimmer-color, #DFFF92) 50%,transparent 70%,transparent 100%);
  background-size: 283% 283%;
  background-position: 153% 174%;
  animation: shimmer-border 11s linear infinite;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
          mask-composite: exclude;
  box-shadow: inset 0 0 0 1.5px rgba(223, 255, 146,.12);
  filter: drop-shadow(0 0 8px rgba(223, 255, 146,.29));
}
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .nav .container.nav__inner::after { animation: none; opacity: 0.5; }
}

/* Hide the SVG neon scaffold — superseded by the conic-gradient border above */
html[data-surface="marketing"] .nav__neon { display: none; }
html[data-surface="marketing"] .nav.is-scrolled { top: 12px; }
html[data-surface="marketing"] .nav.is-scrolled .container.nav__inner {
  background: rgba(255, 255, 255, 0.55);
}

html[data-surface="marketing"] .nav__logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 22px;
  letter-spacing: -0.04em;
  font-weight: 600;
  color: var(--ink);
}
html[data-surface="marketing"] .nav__logo .logo-mark {
  width: 24px; height: 24px;
  border-radius: 6px;
  background: var(--accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--ink);
  font-size: 14px;
  position: relative;
}
html[data-surface="marketing"] .nav__logo .logo-mark::after {
  content: "";
  position: absolute;
  top: -2px; right: -2px;
  width: 8px; height: 8px;
  border-radius: 2px;
  background: linear-gradient(135deg, #DFFF92, #CDFF55);
  transform: rotate(45deg);
}
html[data-surface="marketing"] .nav__logo .logo-img {
  height: 26px;
  width: auto;
  display: block;
}
/* Light theme: keep dark logo as-is */
html[data-surface="marketing"] .logo-img--ink { filter: brightness(0) saturate(100%); }
html[data-surface="marketing"] .logo-img--light { filter: none; }
html[data-surface="marketing"] .cta-final .logo-img,html[data-surface="marketing"] 
.section--ink .logo-img { filter: brightness(0) invert(1); }

html[data-surface="marketing"] .nav__menu {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  margin-left: 12px;
}
html[data-surface="marketing"] .nav__item {
  position: relative;
  padding: 6px 12px;
  font-size: 14px;
  color: var(--text);
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: background .2s ease, color .2s ease;
}
html[data-surface="marketing"] .nav__item:hover { background: rgba(15, 23, 42, 0.05); color: var(--ink); }
html[data-surface="marketing"] .nav__item .caret { width: 10px; height: 10px; opacity: 0.6; }
/* "Talk to sales" spacing fix — explicit normal word-spacing so inherited
   letter-spacing tweaks don't visually open the gap between "Talk" and "to". */
html[data-surface="marketing"] .nav__item.talk { word-spacing: normal; letter-spacing: -0.005em; white-space: nowrap; }
html[data-surface="marketing"] .nav__actions { display: flex; align-items: center; gap: 8px; }
html[data-surface="marketing"] .nav__hamb {
  display: none;
  width: 40px; height: 40px;
  align-items: center; justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  background: rgba(255, 255, 255, 0.55);
}
html[data-surface="marketing"] .nav__hamb span {
  display: block;
  width: 18px; height: 1.5px;
  background: var(--ink);
  position: relative;
}
html[data-surface="marketing"] .nav__hamb span::before,html[data-surface="marketing"]  .nav__hamb span::after {
  content: ""; position: absolute; left: 0; width: 18px; height: 1.5px; background: var(--ink);
  transition: transform .3s var(--ease-out), top .2s ease;
}
html[data-surface="marketing"] .nav__hamb span::before { top: -6px; }
html[data-surface="marketing"] .nav__hamb span::after { top: 6px; }
html[data-surface="marketing"] .nav__hamb.is-open span { background: transparent; }
html[data-surface="marketing"] .nav__hamb.is-open span::before { top: 0; transform: rotate(45deg); }
html[data-surface="marketing"] .nav__hamb.is-open span::after  { top: 0; transform: rotate(-45deg); }

/* Dropdown */
/* Dropdown portal: rendered at body level by JS so its backdrop-filter can
   see through the page (nav__inner creates its own stacking context). */
html[data-surface="marketing"] .nav__dropdown-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 110;
}
html[data-surface="marketing"] .nav__dropdown {
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(120px) saturate(240%);
  -webkit-backdrop-filter: blur(120px) saturate(240%);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-top-color: rgba(255, 255, 255, 0.85);
  border-radius: var(--radius);
  padding: 10px;
  min-width: 300px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.65),
    inset 0 -1px 0 rgba(15, 23, 42, 0.06),
    0 24px 48px -16px rgba(15, 23, 42, 0.18),
    0 12px 24px -12px rgba(15, 23, 42, 0.12);
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s var(--ease-out);
  isolation: isolate;
  overflow: hidden;
}
/* Top-edge sheen on dropdown */
html[data-surface="marketing"] .nav__dropdown::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(60% 90% at 0% 0%, rgba(255, 255, 255, 0.55), transparent 55%),
    radial-gradient(60% 90% at 100% 0%, rgba(255, 255, 255, 0.40), transparent 55%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.32) 0%, transparent 28%);
  mix-blend-mode: screen;
  opacity: 0.95;
}
html[data-surface="marketing"] .nav__dropdown.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
html[data-surface="marketing"] .nav__dropdown a {
  display: flex;
  flex-direction: column;
  padding: 10px 12px;
  border-radius: 10px;
  transition: background .2s ease;
}
html[data-surface="marketing"] .nav__dropdown a:hover { background: rgba(15, 23, 42, 0.05); }
html[data-surface="marketing"] .nav__dropdown a strong { font-weight: 500; font-size: 14px; color: var(--ink); }
html[data-surface="marketing"] .nav__dropdown a span { font-size: 12.5px; color: var(--text-3); }

/* Mega dropdown — grouped, icon-led (Mondu-style) */
html[data-surface="marketing"] .nav__dropdown--mega { min-width: 560px; padding: 16px; }
html[data-surface="marketing"] .mega__group + .mega__group { margin-top: 8px; }
html[data-surface="marketing"] .mega__label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  padding: 4px 12px 10px;
}
/* Column-major fill: 1,2,3 down the left column, 4,5 down the right. */
html[data-surface="marketing"] .mega__grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, auto); grid-auto-flow: column; gap: 2px; }
html[data-surface="marketing"] .nav__dropdown--mega a.mega__link {
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
}
html[data-surface="marketing"] .mega__ico {
  flex: none;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, 0.05);
  border: 1px solid rgba(15, 23, 42, 0.06);
  color: var(--ink);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
html[data-surface="marketing"] .mega__ico svg { width: 18px; height: 18px; }
html[data-surface="marketing"] .nav__dropdown--mega a.mega__link:hover .mega__ico {
  background: rgba(15,23,42,.09);
  border-color: rgba(15,23,42,.14);
  color: var(--ink);
}
html[data-surface="marketing"] .mega__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
html[data-surface="marketing"] .mega__text strong { font-weight: 500; font-size: 14px; color: var(--ink); }
html[data-surface="marketing"] .mega__text span { font-size: 12.5px; line-height: 1.35; color: var(--text-3); }

/* Featured mega (SS6, shopify.com benchmark) — the "Unlock Liquidity" panel
   promotes two hero tiles flanking a plain product list:
   · Fina for Buyers  = indigo gradient tile w/ drifting Fina 4-point stars + sheen
   · Growth Funding   = lime (#D4F84F) tile in ink
   The middle items (Pay Invoice / Pay in N / Pay Account) stay a plain list. */
html[data-surface="marketing"] .nav__dropdown--mega.nav__dropdown--feat { min-width: 700px; }
html[data-surface="marketing"] .mega__cols { display: grid; grid-template-columns: 190px minmax(0, 1fr) 190px; gap: 10px; align-items: stretch; }
html[data-surface="marketing"] .mega__list { display: flex; flex-direction: column; gap: 2px; justify-content: center; min-width: 0; }
html[data-surface="marketing"] .nav__dropdown a.mega__feature {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 198px;
  padding: 14px;
  border-radius: 14px;
  transition: transform .35s var(--ease-out), box-shadow .35s ease;
}
html[data-surface="marketing"] .nav__dropdown a.mega__feature > * { position: relative; z-index: 2; }
html[data-surface="marketing"] .nav__dropdown a.mega__feature--indigo,html[data-surface="marketing"] 
.nav__dropdown a.mega__feature--indigo:hover {
  background: linear-gradient(155deg,#2B2B2B 0,#111111 42%,#000000 100%);
}
html[data-surface="marketing"] .nav__dropdown a.mega__feature--lime,html[data-surface="marketing"] 
.nav__dropdown a.mega__feature--lime:hover {
  background: linear-gradient(155deg,#f2ffd6 0,#DFFF92 48%,#CDFF55 100%);
}
html[data-surface="marketing"] .nav__dropdown a.mega__feature:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px -18px rgba(14, 19, 32, 0.35);
}
/* Background animation A — drifting Fina 4-point stars (two parallax layers;
   84px translate loops both 84px + 42px tiles seamlessly). */
html[data-surface="marketing"] .mega__feature::before {
  content: "";
  position: absolute;
  inset: -96px 0 0 -96px;
  z-index: 0;
  pointer-events: none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 0c1 8 4 11 12 12-8 1-11 4-12 12-1-8-4-11-12-12 8-1 11-4 12-12Z'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 0c1 8 4 11 12 12-8 1-11 4-12 12-1-8-4-11-12-12 8-1 11-4 12-12Z'/%3E%3C/svg%3E");
  background-repeat: repeat, repeat;
  background-size: 84px 84px, 42px 42px;
  background-position: 14px 22px, 36px 54px;
  opacity: .26;
  animation: megaStarDrift 30s linear infinite;
}
html[data-surface="marketing"] .mega__feature--lime::before {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M12 0c1 8 4 11 12 12-8 1-11 4-12 12-1-8-4-11-12-12 8-1 11-4 12-12Z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M12 0c1 8 4 11 12 12-8 1-11 4-12 12-1-8-4-11-12-12 8-1 11-4 12-12Z'/%3E%3C/svg%3E");
  opacity: .10;
  animation-duration: 38s;
}
@keyframes megaStarDrift { to { transform: translate3d(84px, 84px, 0); } }
/* Background animation B — periodic gradient sweep/sheen. */
html[data-surface="marketing"] .mega__feature::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, 0.22) 50%, transparent 65%);
  background-size: 240% 100%;
  background-position: 130% 0;
  animation: megaSheen 6s ease-in-out infinite;
}
html[data-surface="marketing"] .mega__feature--lime::after {
  background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, 0.42) 50%, transparent 65%);
  background-size: 240% 100%;
  background-position: 130% 0;
  animation-delay: 1.2s;
}
@keyframes megaSheen {
  0%, 58% { background-position: 130% 0; }
  92%, 100% { background-position: -140% 0; }
}
html[data-surface="marketing"] .mega__feature .mega__feature-tag {
  align-self: flex-start;
  margin-bottom: auto;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.32);
}
html[data-surface="marketing"] .mega__feature--lime .mega__feature-tag {
  background: rgba(14, 19, 32, 0.08);
  color: #000000;
  border-color: rgba(14, 19, 32, 0.18);
}
html[data-surface="marketing"] .mega__feature .mega__feature-text { display: flex; flex-direction: column; gap: 3px; }
html[data-surface="marketing"] .mega__feature .mega__feature-text strong {
  font-family: var(--font-display);
  font-size: 16.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #fff;
}
html[data-surface="marketing"] .mega__feature .mega__feature-text span { font-size: 12px; line-height: 1.4; color: rgba(255, 255, 255, 0.78); }
html[data-surface="marketing"] .mega__feature--lime .mega__feature-text strong { color: #000000; }
html[data-surface="marketing"] .mega__feature--lime .mega__feature-text span { color: rgba(14, 19, 32, 0.72); }
html[data-surface="marketing"] .mega__feature .mega__feature-arrow {
  margin-top: 10px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  transition: transform .3s var(--ease-out), background .3s ease;
}
html[data-surface="marketing"] .mega__feature--lime .mega__feature-arrow { background: rgba(14, 19, 32, 0.10); color: #000000; }
html[data-surface="marketing"] .nav__dropdown a.mega__feature:hover .mega__feature-arrow { transform: translate(2px, -2px); }
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .mega__feature::before,html[data-surface="marketing"]  .mega__feature::after { animation: none; }
  html[data-surface="marketing"] .nav__dropdown a.mega__feature:hover { transform: none; }
}

/* Shopify-style "Unlock Liquidity" mega menu: product link column with an accent
   section header, plus a featured right panel carrying the live buyers-hero
   animation as a thumbnail. */
/* Fixed width, not min-width. Shrink-to-fit sized each shop dropdown to its
   own content, so a menu with one long unwrapped description resolved to
   max-content and came out half as wide again as its neighbours. Pinning the
   width makes all three menus the same box and lets the descriptions wrap. */
html[data-surface="marketing"] .nav__dropdown--mega.nav__dropdown--shop {
  width: 620px;
  min-width: 0;
  max-width: calc(100vw - 32px);
  padding: 18px;
}
html[data-surface="marketing"] .megashop { display: grid; grid-template-columns: minmax(0, 1fr) 212px; gap: 22px; }
html[data-surface="marketing"] .megashop__head {
  display: block;
  font-size: 11px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase;
  /* #047857: 4.8:1 on white (WCAG AA) — the lighter brand green washed out */
  color: #047857;
  margin: 2px 8px 10px;
}
html[data-surface="marketing"] .megashop__links { display: flex; flex-direction: column; gap: 2px; }
/* featured panel = a link to /buyers wrapping the animation thumbnail */
html[data-surface="marketing"] .nav__dropdown a.megashop__feat {
  display: flex; flex-direction: column; align-items: stretch;
  padding: 0 0 0 24px; border-inline-start: 1px solid var(--line);
  border-radius: 0;
}
html[data-surface="marketing"] .nav__dropdown a.megashop__feat:hover { background: transparent; }
html[data-surface="marketing"] .megashop__thumb {
  position: relative; display: block; width: 100%; aspect-ratio: 320 / 300;
  border-radius: 12px; overflow: hidden; margin-bottom: 10px;
  background: radial-gradient(120% 120%at 30% 20%,#1b2036,#000000);
  box-shadow: 0 16px 34px -18px rgba(14, 19, 32, 0.5), inset 0 0 0 1px rgba(255,255,255,0.05);
}
/* nav_buyers_thumb.html is authored square (320×320) to fill this box exactly */
html[data-surface="marketing"] .megashop__thumb iframe {
  position: absolute; inset: 0; width: 100%; height: 100%;
  border: 0; pointer-events: none;
}
html[data-surface="marketing"] .megashop__feat strong { font-weight: 600; font-size: 14.5px; color: var(--ink); }
html[data-surface="marketing"] .megashop__feat p { font-size: 12.5px; line-height: 1.4; color: var(--text-3); margin-top: 3px; }
html[data-surface="marketing"] .megashop__cta {
  margin-top: 12px; display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600; color: var(--accent);
}
html[data-surface="marketing"] .megashop__cta svg { transition: transform .3s var(--ease-out); }
html[data-surface="marketing"] .nav__dropdown a.megashop__feat:hover .megashop__cta svg { transform: translateX(3px); }

/* ---- Growth Funding spotlight (client ask) -------------------------------
   Singles Growth Funding out of the Products list WITHOUT promoting it to a
   second featured panel — the right-hand /buyers tile already owns that slot,
   and two hero blocks in one dropdown cancel each other out. Treatment reuses
   the approved brand pairing from .mega__feature--lime: ink icon tile + lime
   (#D4F84F) glyph, a lime wash across the row, the trend line drawing itself
   on a loop, two Fina 4-point stars twinkling in the corner, and the same
   megaSheen sweep the featured tiles run. Decorative only — no copy added, so
   there is nothing new to translate and the AR build is unaffected. */
html[data-surface="marketing"] .nav__dropdown--mega a.mega__link.mega__link--spot {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 11px;
  background:
    linear-gradient(105deg, rgba(212, 248, 79, 0.34) 0%, rgba(212, 248, 79, 0.12) 44%, rgba(212, 248, 79, 0) 80%),
    rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 0 0 1px rgba(162, 200, 40, 0.38);
  transition: background .25s ease, box-shadow .25s ease, transform .25s var(--ease-out);
}
html[data-surface="marketing"] .nav__dropdown--mega a.mega__link.mega__link--spot:hover {
  transform: translateY(-1px);
  background:
    linear-gradient(105deg, rgba(212, 248, 79, 0.48) 0%, rgba(212, 248, 79, 0.18) 48%, rgba(212, 248, 79, 0.02) 84%),
    rgba(255, 255, 255, 0.62);
  box-shadow: inset 0 0 0 1px rgba(162, 200, 40, 0.62), 0 14px 26px -18px rgba(14, 19, 32, 0.45);
}
html[data-surface="marketing"] .mega__link--spot > * { position: relative; z-index: 2; }
/* periodic sheen — same keyframes/rhythm as the featured tiles */
html[data-surface="marketing"] .mega__link--spot::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, 0.58) 50%, transparent 62%);
  background-size: 240% 100%;
  background-position: 130% 0;
  animation: megaSheen 6s ease-in-out infinite;
}
/* ink tile + lime glyph, held through hover (the generic hover turns icon
   tiles indigo — that would erase the spotlight exactly when it is aimed at) */
html[data-surface="marketing"] .mega__link--spot .mega__ico,html[data-surface="marketing"] 
.nav__dropdown--mega a.mega__link.mega__link--spot:hover .mega__ico {
  background: #000000;
  border-color: #000000;
  color: #DFFF92;
}
/* the growth curve redraws itself each cycle, then sweeps out */
html[data-surface="marketing"] .mega__link--spot .mega__ico .spot-draw {
  stroke-dasharray: 26;
  stroke-dashoffset: 26;
  animation: spotDraw 4.6s ease-in-out infinite;
}
@keyframes spotDraw {
  0%        { stroke-dashoffset: 26; }
  30%, 78%  { stroke-dashoffset: 0; }
  100%      { stroke-dashoffset: -26; }
}
/* twinkling Fina stars, top corner (inset-inline-end keeps RTL correct) */
html[data-surface="marketing"] .mega__spark {
  position: absolute;
  top: 6px;
  inset-inline-end: 8px;
  z-index: 3;
  width: 26px;
  height: 22px;
  color: var(--lime);
  pointer-events: none;
}
html[data-surface="marketing"] .mega__spark svg {
  position: absolute;
  display: block;
  transform-origin: center;
  animation: spotTwinkle 3.4s ease-in-out infinite;
}
html[data-surface="marketing"] .mega__spark-a { top: 0; inset-inline-end: 0; width: 12px; height: 12px; }
html[data-surface="marketing"] .mega__spark-b { bottom: 0; inset-inline-end: 13px; width: 7px; height: 7px; animation-delay: .9s; }
@keyframes spotTwinkle {
  0%, 100%  { transform: scale(.45) rotate(0deg);   opacity: 0; }
  22%       { transform: scale(1) rotate(35deg);    opacity: 1; }
  52%       { transform: scale(.72) rotate(70deg);  opacity: .55; }
}
/* Mobile drawer: same lime language, flattened to a left accent bar. */
html[data-surface="marketing"] .nav__macc-panel a.is-spot {
  position: relative;
  padding-inline-start: 26px;
  background: linear-gradient(100deg, rgba(212, 248, 79, 0.30) 0%, rgba(212, 248, 79, 0) 62%);
  color: var(--ink);
}
html[data-surface="marketing"] .nav__macc-panel a.is-spot::before {
  content: "";
  position: absolute;
  inset-inline-start: 6px;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 3px;
  background: #C2EC33;
}
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .mega__link--spot::after,html[data-surface="marketing"] 
  .mega__link--spot .mega__ico .spot-draw,html[data-surface="marketing"] 
  .mega__spark svg { animation: none; }
  html[data-surface="marketing"] .mega__link--spot .mega__ico .spot-draw { stroke-dashoffset: 0; }
  html[data-surface="marketing"] .mega__spark svg { opacity: 1; transform: none; }
  html[data-surface="marketing"] .nav__dropdown--mega a.mega__link.mega__link--spot:hover { transform: none; }
}

/* ---- Outbound nav items (Operate Smarter -> Omni) -----------------------
   The Platform panel is the only menu that sends a visitor off finapay, so its
   row carries a small arrow-out-of-box glyph, visible at rest rather than only
   on hover, plus a screen-reader-only "Opens in a new tab". The glyph is
   mirrored under [dir=rtl] in rtl.css so it still reads as "away from the
   text" in Arabic. Everything else about the row matches the other menus. */
html[data-surface="marketing"] .u-sr-only {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
/* Arrow glyph alone. A "NEW TAB" pill was tried and read as a badge competing
   with the link title; the announcement lives in the .u-sr-only span instead. */
html[data-surface="marketing"] .mega__text strong .mega__ext {
  display: inline-flex;
  align-items: center;
  margin-inline-start: 6px;
  color: var(--text-3);
  vertical-align: middle;
}
html[data-surface="marketing"] .mega__ext svg { width: 9px; height: 9px; flex: none; }
html[data-surface="marketing"] .megashop__cta svg { flex: none; }

/* Mobile drawer: the outbound row carries the same marker. */
html[data-surface="marketing"] .nav__macc-panel a.is-ext {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
html[data-surface="marketing"] .nav__macc-panel a.is-ext svg { flex: none; opacity: .6; }

/* The Platform panel reuses the shop dropdown wholesale — same shell width,
   same link rows, same right-hand panel — so the only rule it needs of its own
   is the outbound arrow picking up the link colour on hover. */
html[data-surface="marketing"] .nav__dropdown--mega a.mega__link--ext:hover .mega__ext { color: var(--ink); }

/* Stacked "Unlock Liquidity" dropdown (SS6): Fina for Buyers as a distinguished
   header, products indented beneath, Growth Funding as a darker footer item. */
html[data-surface="marketing"] .nav__dropdown--mega.nav__dropdown--stack { min-width: 384px; }
html[data-surface="marketing"] .nav__dropdown a.mega__head {
  display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px;
  padding: 13px 15px; margin-bottom: 8px; border-radius: 13px;
  background: linear-gradient(135deg,#DFFF92,#CDFF55);
  box-shadow: 0 10px 22px -12px rgba(223, 255, 146,.27);
}
html[data-surface="marketing"] .nav__dropdown a.mega__head:hover { background: linear-gradient(135deg, #CDFF55, #DFFF92); }
html[data-surface="marketing"] .mega__head-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
html[data-surface="marketing"] .mega__head-text strong { font-weight: 600; font-size: 15px; color: #000; }
html[data-surface="marketing"] .mega__head-text span { font-size: 12px; line-height: 1.35; color: rgba(0, 0, 0, 0.68); }
html[data-surface="marketing"] .mega__head-arrow {
  flex: none; width: 26px; height: 26px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(0, 0, 0, 0.10); color: #000;
  transition: transform .3s var(--ease-out);
}
html[data-surface="marketing"] .nav__dropdown a.mega__head:hover .mega__head-arrow { transform: translate(2px, -2px); }
html[data-surface="marketing"] .mega__list--indent {
  display: flex; flex-direction: column; gap: 2px;
  padding-inline-start: 12px;
  margin-inline-start: 9px;
  border-inline-start: 2px solid var(--line);
}
/* Growth Funding — darker footer item */
html[data-surface="marketing"] .nav__dropdown--mega a.mega__link.mega__link--foot {
  margin-top: 6px; margin-inline-start: -11px;
  background: #000000; border-radius: 11px;
}
html[data-surface="marketing"] .nav__dropdown--mega a.mega__link.mega__link--foot:hover { background: #171D2E; }
html[data-surface="marketing"] .mega__link--foot .mega__text strong { color: #fff; }
html[data-surface="marketing"] .mega__link--foot .mega__text span { color: rgba(255, 255, 255, 0.68); }
html[data-surface="marketing"] .mega__link--foot .mega__ico { background: rgba(255, 255, 255, 0.10); color: #DFFF92; }
html[data-surface="marketing"] .nav__dropdown--mega a.mega__link.mega__link--foot:hover .mega__ico { background: rgba(212, 248, 79, 0.16); color: #DFFF92; }
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .nav__dropdown a.mega__head:hover .mega__head-arrow { transform: none; }
}

/* Mobile menu (glass drawer) — uses left:100%/left:0 instead of translateX so
   the offscreen position can't contribute to horizontal scroll width on iOS. */
html[data-surface="marketing"] .nav__mobile {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 100%;
  width: 100%;
  background: rgba(246, 248, 251, 0.95);
  backdrop-filter: blur(28px) saturate(160%);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
  z-index: 99;
  padding: 96px 32px 32px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: left .5s var(--ease-out);
  overflow-y: auto;
  overflow-x: hidden;
}
html[data-surface="marketing"] .nav__mobile.is-open { left: 0; }
/* Mobile drawer: parents are accordions (tap to expand sub-items); leaf links
   navigate + close the drawer. */
html[data-surface="marketing"] .nav__mobile .nav__macc-head,html[data-surface="marketing"] 
.nav__mobile .nav__mlink {
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: 600;
  padding: 12px 0;
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-align: left;
  background: none;
}
html[data-surface="marketing"] .nav__macc-chev { width: 22px; height: 22px; flex: none; opacity: .55; transition: transform .3s var(--ease-out); }
html[data-surface="marketing"] .nav__macc.is-open .nav__macc-chev { transform: rotate(180deg); }
html[data-surface="marketing"] .nav__macc-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s var(--ease-out);
  display: flex;
  flex-direction: column;
}
html[data-surface="marketing"] .nav__macc.is-open .nav__macc-panel { max-height: 440px; }
html[data-surface="marketing"] .nav__macc-panel a {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 500;
  color: var(--text-2);
  padding: 11px 0 11px 18px;
  border-bottom: 1px solid var(--hairline);
}
html[data-surface="marketing"] .nav__macc-panel a:hover { color: var(--ink);
  font-weight: 600; }

@media (max-width: 960px) {
  html[data-surface="marketing"] .nav__menu,html[data-surface="marketing"]  .nav__actions .btn--lg,html[data-surface="marketing"]  .nav__actions .talk { display: none; }
  html[data-surface="marketing"] .nav__hamb { display: inline-flex; }
  html[data-surface="marketing"] .nav .container.nav__inner { padding-left: 16px; }
  /* Portaled dropdowns shouldn't open on mobile (their triggers are hidden) */
  html[data-surface="marketing"] .nav__dropdown-layer { display: none; }
}

/* =========================================================
   Footer (glass)
   ========================================================= */
html[data-surface="marketing"] .footer {
  background: transparent;
  border-top: 1px solid var(--hairline);
  padding: 80px 0 40px;
  position: relative;
  z-index: 2;
}
html[data-surface="marketing"] .footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 60px;
  margin-bottom: 64px;
}
html[data-surface="marketing"] .footer__brand p { color: var(--text-2); max-width: 30ch; margin: 16px 0 24px; }
html[data-surface="marketing"] .footer__col h5 {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-3);
  margin: 0 0 18px;
  font-weight: 500;
}
html[data-surface="marketing"] .footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
html[data-surface="marketing"] .footer__col a {
  font-size: 14.5px;
  color: var(--text);
  transition: color .2s ease;
  display: inline-block;
  position: relative;
}
html[data-surface="marketing"] .footer__col a:hover { color: var(--ink);
  font-weight: 600; }
html[data-surface="marketing"] .footer__store { display: flex; gap: 8px; margin-bottom: 18px; }
html[data-surface="marketing"] .footer__store img { height: 40px; }
html[data-surface="marketing"] .footer__social { display: flex; gap: 14px; }
html[data-surface="marketing"] .footer__social a {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--hairline);
  background: rgba(255, 255, 255, 0.55);
  color: var(--text-2);
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
html[data-surface="marketing"] .footer__social a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
html[data-surface="marketing"] .footer__bottom {
  display: flex; justify-content: space-between; align-items: center;
  gap: 24px;
  padding-top: 32px;
  border-top: 1px solid var(--hairline);
  font-size: 13px;
  color: var(--text-3);
}
html[data-surface="marketing"] .footer__legal a { color: var(--text-2); }
html[data-surface="marketing"] .footer__legal a:hover { color: var(--ink); text-decoration: underline; }

@media (max-width: 900px) {
  html[data-surface="marketing"] .footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 540px) {
  html[data-surface="marketing"] .footer__grid { grid-template-columns: 1fr; }
  html[data-surface="marketing"] .footer__bottom { flex-direction: column; gap: 12px; align-items: flex-start; }
}

/* =========================================================
   Decorative glass surfaces (uic / fchip)
   ========================================================= */
html[data-surface="marketing"] .uic {
  background: var(--ink);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  color: #fff;
  padding: 16px 18px;
  box-shadow: 0 30px 60px -28px rgba(15, 23, 42, 0.55);
}
html[data-surface="marketing"] .uic__row { display: flex; align-items: center; gap: 14px; }
html[data-surface="marketing"] .uic__logo {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--accent);
  display: grid; place-items: center;
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  position: relative;
  flex-shrink: 0;
}
html[data-surface="marketing"] .uic__logo::after {
  content: ""; position: absolute; top: -3px; right: -3px;
  width: 12px; height: 12px;
  border-radius: 3px;
  background: linear-gradient(135deg, #DFFF92, #CDFF55);
  transform: rotate(45deg);
}
html[data-surface="marketing"] .uic__title { font-size: 17px; font-weight: 500; line-height: 1.25; color: #fff; }
html[data-surface="marketing"] .uic__sub { font-size: 13.5px; color: rgba(255,255,255,0.55); margin-top: 2px; }

html[data-surface="marketing"] .fchip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid var(--glass-border);
  border-top-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px) saturate(160%);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 500;
  box-shadow: var(--shadow-glass);
}
html[data-surface="marketing"] .fchip--lime { background: var(--accent); color: var(--ink); border-color: transparent; }
html[data-surface="marketing"] .fchip__dot {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--accent);
  display: grid; place-items: center;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
}

/* =========================================================
   Reveal states (GSAP animates from these)
   ========================================================= */
html[data-surface="marketing"] .reveal { opacity: 0; transform: translateY(28px); }
html[data-surface="marketing"] .reveal-up { opacity: 0; transform: translateY(40px); }
html[data-surface="marketing"] .reveal-down { opacity: 0; transform: translateY(-30px); }
html[data-surface="marketing"] .reveal-left { opacity: 0; transform: translateX(-40px); }
html[data-surface="marketing"] .reveal-right { opacity: 0; transform: translateX(40px); }
html[data-surface="marketing"] .reveal-scale { opacity: 0; transform: scale(0.94); }
html[data-surface="marketing"].no-js .reveal,
html[data-surface="marketing"].no-js .reveal-up,
html[data-surface="marketing"].no-js .reveal-down,
html[data-surface="marketing"].no-js .reveal-left,
html[data-surface="marketing"].no-js .reveal-right,
html[data-surface="marketing"].no-js .reveal-scale { opacity: 1; transform: none; }

/* =========================================================
   Scrollbar + focus + selection
   ========================================================= */
html[data-surface="marketing"] ::-webkit-scrollbar { width: 10px; height: 10px; }
html[data-surface="marketing"] ::-webkit-scrollbar-track { background: transparent; }
html[data-surface="marketing"] ::-webkit-scrollbar-thumb { background: rgba(15, 23, 42, 0.18); border-radius: 10px; }
html[data-surface="marketing"] ::-webkit-scrollbar-thumb:hover { background: rgba(15, 23, 42, 0.32); }

html[data-surface="marketing"] :where(a, button, [tabindex]):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: inherit;
}

html[data-surface="marketing"] ::selection { background: var(--selection-bg); color: var(--selection-fg); }

/* =========================================================
   Accessibility overrides
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] *,html[data-surface="marketing"]  *::before,html[data-surface="marketing"]  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html[data-surface="marketing"] .orb-field { display: none; }
  html[data-surface="marketing"] .nav .container.nav__inner::before { display: none; }
}

@media (prefers-reduced-transparency: reduce) {
  html[data-surface="marketing"] .orb-field { display: none; }
  html[data-surface="marketing"] body { background: var(--canvas-base); }
  html[data-surface="marketing"] body::before { display: none; }
  html[data-surface="marketing"] .nav .container.nav__inner,html[data-surface="marketing"] 
  .nav__dropdown,html[data-surface="marketing"] 
  .nav__mobile,html[data-surface="marketing"] 
  .fchip,html[data-surface="marketing"] 
  .btn--ghost,html[data-surface="marketing"] 
  .footer__social a {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
  }
  html[data-surface="marketing"] .btn--ghost-dark {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(20, 20, 30, 0.95);
  }
  html[data-surface="marketing"] .cursor-dot,html[data-surface="marketing"]  .cursor-ring { display: none !important; }
  html[data-surface="marketing"] body,html[data-surface="marketing"]  body * { cursor: auto !important; }
}

@media (prefers-contrast: more) {
  html[data-surface="marketing"] {
    --glass-bg: rgba(255, 255, 255, 0.92);
    --glass-bg-hover: rgba(255, 255, 255, 0.98);
    --glass-border: rgba(15, 23, 42, 0.30);
    --text-2: rgba(15, 23, 42, 0.85);
    --text-3: rgba(15, 23, 42, 0.65);
  }
}

/* =========================================================
   Hero cursor-tracking glow (--mx / --my set by glass.js)
   ========================================================= */
html[data-surface="marketing"] .hero,html[data-surface="marketing"]  .page-hero,html[data-surface="marketing"]  .cta-final,html[data-surface="marketing"]  .post-cover { position: relative; }
html[data-surface="marketing"] .hero::after,html[data-surface="marketing"]  .page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle 360px at var(--mx, 50%) var(--my, 30%),rgba(223, 255, 146,.1),transparent 60%);
  pointer-events: none;
  z-index: 1;
  transition: opacity .25s ease;
}


/* Staggered reveal for [data-stagger] children that AREN'T already handled by a
   reveal-* gsap animation (those keep their own reveal — avoids two competing
   tweens stranding cards half-faded). Driven by IntersectionObserver in main.js;
   the hidden start-state is gated behind .has-stagger so a no-JS/no-IO load
   shows everything. Per-item transition-delay is set inline by the script. */
html[data-surface="marketing"].has-stagger [data-stagger] > *:not([class*="reveal"]){
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);
}
html[data-surface="marketing"].has-stagger [data-stagger].is-in > *:not([class*="reveal"]){
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion: reduce){
  html[data-surface="marketing"].has-stagger [data-stagger] > *:not([class*="reveal"]){ transition-duration:.3s; transform:none; }
}

/* ---------- Lime rebrand additions (ported from the client bundle) ---------- */
html[data-surface="marketing"] .tlink:hover {
  font-weight: 600;
}
/* GENERATED by scripts/scope-ref-css.ts from src/styles/ref/raw/landing.css — DO NOT EDIT.
   Reference stylesheet, verbatim, scoped to html[data-surface="marketing"]. */
/* =========================================================
   Landing page - glass repaint
   ========================================================= */

/* ------- HERO ------- */
html[data-surface="marketing"] .hero {
  padding: 160px 0 60px;
  position: relative;
  overflow: hidden;
}
html[data-surface="marketing"] .hero__inner { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; position: relative; z-index: 2; }
html[data-surface="marketing"] .hero h1 { max-width: 14ch; }
html[data-surface="marketing"] .hero h1 .accent { color: var(--ink); font-weight: 500; }
html[data-surface="marketing"] .hero__dots {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.85;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, #000 35%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, #000 35%, transparent 75%);
}
/* margin:0 — the default <p> 1em top/bottom stacked on top of the flex gap and
   pushed the CTAs (and the dashboard below them) way down the fold. */
html[data-surface="marketing"] .hero .lead { font-size: clamp(17px, 1.4vw, 19px); max-width: 56ch; text-align: center; color: var(--text-2); margin: 0; }
html[data-surface="marketing"] .hero__ctas {
  display: flex; gap: 12px; flex-wrap: wrap; justify-content: center;
  margin-top: 4px;
}
html[data-surface="marketing"] .hero__visual {
  margin-top: 24px;
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  perspective: 1400px;
}
html[data-surface="marketing"] .hero__visual img {
  width: 100%;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lift);
}

/* "Liquidity for every business" label bar sitting atop the hero UI
   (LP2 "Hero UI — add this on top of the Hero UI"). Slim gradient strip. */
html[data-surface="marketing"] .hero__uilabel {
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-3);
  padding: 8px 0;
  margin-bottom: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg,transparent 0,rgba(223, 255, 146,.06) 20%,rgba(205, 255, 85,.1) 50%,rgba(255,138,180,.07) 80%,transparent 100%);
}

/* Embedded animation iframes - wrapped in glass shell */
html[data-surface="marketing"] .anim-frame {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  box-shadow: var(--shadow-glass);
  isolation: isolate;
}
html[data-surface="marketing"] .anim-frame iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  pointer-events: none;
  background: transparent;
  color-scheme: light;
}
html[data-surface="marketing"] .anim-frame--hero {
  /* Aspect matches the dashboard pill exactly (1160:680) so the dashboard
     fills the iframe edge-to-edge — no transparent margins, no page
     background bleeding through. */
  aspect-ratio: 1160 / 680;
  background: transparent;
  border: 0;
  box-shadow: none;
  /* No outer radius — the dashboard already has its own rounded corners.
     A heavier wrapper radius was clipping the Fina logo / icons / sidebar.
     Keep overflow:hidden so the 200%-sized scaled iframe can't push
     horizontal scroll. */
  border-radius: 0;
}
html[data-surface="marketing"] .anim-frame--hero iframe {
  width: 200%;
  height: 200%;
  transform: scale(0.5);
  transform-origin: top left;
}
html[data-surface="marketing"] .anim-frame--usecase {
  aspect-ratio: 16 / 9;
  width: 100%;
}
html[data-surface="marketing"] .anim-frame--card {
  aspect-ratio: 16 / 9;
  margin: 16px 0;
  border-radius: 14px;
}

html[data-surface="marketing"] .hero__trust {
  margin-top: 48px;
  display: flex; gap: 40px; justify-content: center; flex-wrap: wrap;
  color: var(--text-2);
  font-size: 14px;
}
html[data-surface="marketing"] .hero__trust span {
  display: inline-flex; align-items: center; gap: 8px;
}
html[data-surface="marketing"] .hero__trust .check {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: rgba(94, 107, 246,.22);
  border: 1px solid rgba(94, 107, 246,.6);
  color: var(--lime-deep);
  display: grid; place-items: center;
  font-size: 11px;
  font-weight: 700;
}

/* Hero glow blob (subtle radial wash above the canvas) */
html[data-surface="marketing"] .hero::before {
  content: "";
  position: absolute;
  top: -10%; left: 50%;
  transform: translateX(-50%);
  width: 1200px; height: 800px;
  background: radial-gradient(50% 50%at 50% 50%,rgba(223, 255, 146,.18)0,transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ------- LOGO STRIP ------- */
/* Hidden per client feedback (LP2 "Trust Bar — hide the logos stripe for now").
   The "Liquidity for every business" label now sits atop the hero UI instead. */
html[data-surface="marketing"] .logo-strip {
  display: none;
  padding: 40px 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  overflow: hidden;
  position: relative;
  z-index: 2;
}
html[data-surface="marketing"] .logo-strip__label {
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-3);
  margin-bottom: 24px;
}
html[data-surface="marketing"] .logo-strip__track {
  display: flex;
  gap: 80px;
  width: max-content;
  animation: marquee 40s linear infinite;
  align-items: center;
}
html[data-surface="marketing"] .logo-strip__track span {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--text-3);
  white-space: nowrap;
  opacity: 0.5;
  transition: opacity .3s ease, color .3s ease;
}
html[data-surface="marketing"] .logo-strip__track span:hover { opacity: 1; color: var(--ink); }
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
html[data-surface="marketing"] .logo-strip__viewport { mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }

/* ------- VALUE CARDS ------- */
html[data-surface="marketing"] .values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  perspective: 1500px;
}
html[data-surface="marketing"] .values__card {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  /* Transparent borders — keep border slot for layout consistency, no visible line */
  border: 1px solid transparent;
  border-top-color: transparent;
  border-radius: var(--radius-xl);
  padding: 28px 32px;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: flex-start;
  transition: transform .6s var(--ease-out), background-color .25s ease, box-shadow .4s ease;
  position: relative;
  isolation: isolate;
  box-shadow: var(--shadow-glass);
  /* will-change: transform removed — was causing browsers to cache the entire
     card (incl. text) as a low-res raster while compositing, blurring text */
  /* Crisp text rendering inside the cards */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}
/* Align the 3 value cards: header pinned top, middle visual CENTERED in the
   free space, a divider just above the bottom caption (pinned bottom). */
html[data-surface="marketing"] .values__card > div:first-child { min-height: 58px; }   /* header */
html[data-surface="marketing"] .values__card > .values__big,html[data-surface="marketing"] 
.values__card > .decision,html[data-surface="marketing"] 
.values__card > .anim-frame--card { flex: 1 1 auto; min-height: 0; margin: 0; display: flex; }
html[data-surface="marketing"] .values__card > .values__big { align-items: center; }                                 /* center the value */
html[data-surface="marketing"] .values__card > .decision { flex-direction: column; justify-content: center; }         /* center the widget */
html[data-surface="marketing"] .values__card > .anim-frame--card { align-items: center; justify-content: center; }     /* center the animation */
html[data-surface="marketing"] .values__card > p:last-child {                                                          /* caption + divider above it */
  margin: 0;
  border-top: 1px solid color-mix(in oklab, currentColor 16%, transparent);
  padding-top: 18px;
}
/* Per-element font-smoothing for the largest text where subpixel matters most */
html[data-surface="marketing"] .values__card h3,html[data-surface="marketing"] 
.values__card p,html[data-surface="marketing"] 
.values__card .values__big {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
/* Shimmer-border: soft indigo glow sweeps diagonally across the border ring */
html[data-surface="marketing"] .values__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  pointer-events: none;
  padding: 1.5px;
  background-image: radial-gradient(transparent 0%,transparent 30%,var(--shimmer-color, #DFFF92) 50%,transparent 70%,transparent 100%);
  background-size: 283% 283%;
  background-position: 153% 174%;
  animation: shimmer-border 10s linear infinite;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
          mask-composite: exclude;
  box-shadow: inset 0 0 0 1.5px rgba(223, 255, 146,.1);
  filter: drop-shadow(0 0 8px rgba(223, 255, 146,.29));
}
html[data-surface="marketing"] .values__card:nth-child(2)::before { animation-duration: 12s; }
html[data-surface="marketing"] .values__card:nth-child(3)::before { animation-duration: 9s; }
html[data-surface="marketing"] .values__card:hover::before {
  animation-duration: 5s;
  filter:
    drop-shadow(0 0 5px #DFFF92) drop-shadow(0 0 14px rgba(223, 255, 146,.34)) drop-shadow(0 0 30px rgba(223, 255, 146,.45));
}
/* Use background-color (not the shorthand) so the feature card's
   background-image (phone) isn't reset to none on hover. */
html[data-surface="marketing"] .values__card:hover {
  background-color: var(--glass-bg-hover);
  /* border stays transparent — user requested no visible borders */
}
html[data-surface="marketing"] .values__card > * { position: relative; z-index: 1; }
html[data-surface="marketing"] .values__card h3 {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ink);
}
html[data-surface="marketing"] .values__card p {
  color: var(--text-2);
  font-size: 15px;
  margin: 0;
}
html[data-surface="marketing"] .values__card--feature {
  background-color: #000000;
  color: #fff;
  /* Consistent dark colour block (LP2) — clean indigo wash behind the
     fast-decision visualization, no photo. */
  background-image:
    radial-gradient(120% 80%at 50%0,rgba(223, 255, 146,.3)0,transparent 55%),radial-gradient(120% 80%at 50% 100%,rgba(157,240,107,.1)0,transparent 55%);
  background-size: cover;
  background-position: center;
}
html[data-surface="marketing"] .values__card--feature h3,html[data-surface="marketing"] 
.values__card--feature p {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}
/* Keep the feature card dark on hover — the generic light hover bg was
   washing it white and hiding the white text. */
html[data-surface="marketing"] .values__card--feature:hover { background-color: #000000; }

/* Value 2 — "fast decision" visualization (Affirm-style). CSS-only loop:
   bar fills, status flips Reviewing… → Approved · 8s, then repeats. */
html[data-surface="marketing"] .decision {
  align-self: center;
  width: 100%;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  padding: 16px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
html[data-surface="marketing"] .decision__row { display: flex; align-items: center; gap: 10px; }
html[data-surface="marketing"] .decision__avatar {
  flex: none; width: 30px; height: 30px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--accent); color: #000;
  font-weight: 600; font-size: 13px;
  overflow: hidden;
}
/* Small round merchant photo (testimonial poster) instead of an initial. */
html[data-surface="marketing"] .decision__avatar img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
html[data-surface="marketing"] .decision__meta { display: flex; flex-direction: column; line-height: 1.2; }
html[data-surface="marketing"] .decision__meta strong { font-size: 13px; font-weight: 600; color: #fff; }
html[data-surface="marketing"] .decision__meta span { font-size: 11px; color: rgba(255, 255, 255, 0.6); }
html[data-surface="marketing"] .decision__amt { margin-left: auto; font-size: 13px; font-weight: 600; color: #fff; }
html[data-surface="marketing"] .decision__bar {
  margin: 14px 0 10px;
  height: 6px; border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  overflow: hidden;
}
html[data-surface="marketing"] .decision__fill {
  display: block; height: 100%; width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), #9DF06B);
  animation: decFill 5s ease-in-out infinite;
}
html[data-surface="marketing"] .decision__statuses { position: relative; height: 18px; }
html[data-surface="marketing"] .decision__status {
  position: absolute; inset: 0;
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 600;
}
html[data-surface="marketing"] .decision__status--review { color: rgba(255, 255, 255, 0.78); animation: decReview 5s ease-in-out infinite; }
html[data-surface="marketing"] .decision__status--ok { color: #9DF06B; animation: decApproved 5s ease-in-out infinite; }
html[data-surface="marketing"] .decision__pulse {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 0 rgba(223, 255, 146,.27);
  animation: decPulse 1.2s ease-out infinite;
}
@keyframes decFill   { 0% { width: 0; } 44% { width: 100%; } 100% { width: 100%; } }
@keyframes decReview { 0%,40% { opacity: 1; } 46%,100% { opacity: 0; } }
@keyframes decApproved { 0%,42% { opacity: 0; } 48%,94% { opacity: 1; } 100% { opacity: 0; } }
@keyframes decPulse {
  0% { box-shadow: 0 0 0 0 rgba(223, 255, 146,.25); }
  100% { box-shadow: 0 0 0 8px rgba(223, 255, 146, 0); }
}
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .decision__fill { width: 100%; animation: none; }
  html[data-surface="marketing"] .decision__status--review { opacity: 0; animation: none; }
  html[data-surface="marketing"] .decision__status--ok { opacity: 1; animation: none; }
  html[data-surface="marketing"] .decision__pulse { animation: none; }
}

html[data-surface="marketing"] .values__big {
  font-family: var(--font-display);
  font-size: clamp(30px, 3.4vw, 44px);
  color: var(--lime);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.03em;
  text-shadow: none;
}

/* Pills demo for flexible card */
html[data-surface="marketing"] .values__pills {
  display: flex; flex-direction: column; gap: 8px;
  margin: 24px 0;
  position: relative;
}
html[data-surface="marketing"] .values__pill {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: var(--r-pill);
  font-size: 13px;
  font-weight: 500;
  width: fit-content;
}
html[data-surface="marketing"] .values__pill--ink { background: var(--ink); color: var(--ink); }
html[data-surface="marketing"] .values__pill--violet { background: var(--accent); color: #0a0a14; padding-right: 4px; }
html[data-surface="marketing"] .values__pill--violet-soft { background: rgba(223, 255, 146,.45); color: #0a0a14; padding-right: 4px; }
html[data-surface="marketing"] .values__pill--white { background: #fff; color: #0a0a14; padding-right: 4px; }
html[data-surface="marketing"] .values__pill .track {
  width: 60px; height: 4px;
  background: rgba(255,255,255,0.4);
  border-radius: 4px;
  margin: 0 8px;
  position: relative;
}
html[data-surface="marketing"] .values__pill .track::after {
  content: ""; position: absolute; left: 0; top: -3px;
  width: 30%; height: 10px;
  background: rgba(255,255,255,0.9);
  border-radius: 8px;
}
html[data-surface="marketing"] .values__pill .knob {
  width: 16px; height: 16px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: rgba(255,255,255,0.2);
  flex-shrink: 0;
}
html[data-surface="marketing"] .values__pill--white .knob { border-color: #0a0a14; background: transparent; }

@media (max-width: 900px) {
  html[data-surface="marketing"] .values { grid-template-columns: 1fr; }
}

/* ------- USE CASES ------- */
html[data-surface="marketing"] .usecases__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 56px;
  margin-bottom: 32px;
}
html[data-surface="marketing"] .usecases__row:last-child { margin-bottom: 0; }
html[data-surface="marketing"] .usecases__row.flip > .usecases__viz { order: -1; }
html[data-surface="marketing"] .usecases__viz {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-xl);
  padding: 0;
  position: relative;
  overflow: hidden;
  transition: transform .6s var(--ease-out), background .25s ease, border-color .25s ease;
  box-shadow: var(--shadow-glass);
  isolation: isolate;
}
html[data-surface="marketing"] .usecases__viz > .anim-frame { border-radius: inherit; border: 0; box-shadow: none; background: transparent; }
html[data-surface="marketing"] .usecases__viz:hover {
  transform: translateY(-4px);
  background: var(--glass-bg-hover);
  border-color: rgba(15, 23, 42, 0.14);
}
html[data-surface="marketing"] .usecases__viz img { max-height: 320px; width: auto; }
html[data-surface="marketing"] .usecases__copy h3 {
  font-size: clamp(28px, 3vw, 40px);
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: 12px;
  color: var(--ink);
}
html[data-surface="marketing"] .usecases__copy .eyebrow { margin-bottom: 14px; display: inline-flex; }
html[data-surface="marketing"] .usecases__copy p { color: var(--text-2); margin-bottom: 16px; max-width: 38ch; }

@media (max-width: 900px) {
  html[data-surface="marketing"] .usecases__row,html[data-surface="marketing"]  .usecases__row.flip { grid-template-columns: 1fr; gap: 32px; }
  html[data-surface="marketing"] .usecases__row.flip > .usecases__viz { order: initial; }
  /* Keep viz flush with the iframe — no padding/min-height so card matches
     the iframe's 16:9 aspect ratio exactly (no white space). */
  html[data-surface="marketing"] .usecases__viz { min-height: 0; padding: 0; }
}

/* ------- USE-CASE STILL FRAMES (SS1) -------
   Ramp-style product stills replace the looping iframes: real merchant
   names + amounts, the change happens INSIDE the card (repayment-term
   chip gets ✓-selected / payout row settles), children rise from below
   via the [data-stagger] reveal. */
html[data-surface="marketing"] .uc-frame{
  --uc-indigo:#DFFF92; --uc-indigo-bg:#F4FAE5; --uc-ink:#000000;
  --uc-t2:#4A5163; --uc-t3:#8A92A6; --uc-line:#EAECF4;
  --uc-green:#000000; --uc-green-bg:#F4FAE5; --uc-lime:#DFFF92;
  position:relative;
  max-width:430px;
  margin:0 auto;
  padding:58px 34px;
}
html[data-surface="marketing"] .uc-card{
  position:relative;
  background:#fff;
  border:1px solid var(--uc-line);
  border-radius:18px;
  box-shadow:0 24px 54px -24px rgba(16,36,62,.28);
  padding:18px;
}
html[data-surface="marketing"] .uc-card__head{display:flex;align-items:center;gap:11px;margin-bottom:14px}
html[data-surface="marketing"] .uc-avatar{
  flex:none;width:38px;height:38px;border-radius:11px;
  display:grid;place-items:center;
  font-family:var(--font-display);font-size:13px;font-weight:700;color:#000;
  background:linear-gradient(145deg,#F4FAE5,#DFFF92);
}
html[data-surface="marketing"] .uc-avatar--lime{background:linear-gradient(145deg,#E6FF85,#C2EC33);color:var(--uc-ink)}
html[data-surface="marketing"] .uc-card__who{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
html[data-surface="marketing"] .uc-card__who b{font-size:13.5px;font-weight:700;color:var(--uc-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-surface="marketing"] .uc-card__who span{font-size:11px;font-weight:600;color:var(--uc-t3)}
html[data-surface="marketing"] .uc-amt{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--uc-ink);white-space:nowrap}
html[data-surface="marketing"] .uc-terms{display:flex;gap:8px;margin-bottom:14px}
html[data-surface="marketing"] .uc-term{
  position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:5px;
  border:1px solid var(--uc-line);border-radius:10px;padding:9px 4px;
  font-size:11.5px;font-weight:700;color:var(--uc-t2);white-space:nowrap;
}
html[data-surface="marketing"] .uc-term--on{animation:ucSelect 6s var(--ease-out) infinite}
html[data-surface="marketing"] .uc-term__tick{
  display:flex;align-items:center;justify-content:center;flex:none;
  width:14px;height:14px;border-radius:50%;
  color:#fff;background:var(--uc-indigo);
  transform:scale(0);animation:ucTick 6s var(--ease-out) infinite;
}
@keyframes ucSelect{
  0%,12%{border-color:var(--uc-line);background:#fff;color:var(--uc-t2);box-shadow:none}
  22%,88%{border-color:var(--uc-indigo);background:rgba(223, 255, 146,.07);color:var(--uc-ink);box-shadow:0 0 0 3px rgba(223, 255, 146,.12)}
  96%,100%{border-color:var(--uc-line);background:#fff;color:var(--uc-t2);box-shadow:none}
}
@keyframes ucTick{
  0%,14%{transform:scale(0)}
  24%,86%{transform:scale(1)}
  94%,100%{transform:scale(0)}
}
html[data-surface="marketing"] .uc-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
html[data-surface="marketing"] .uc-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid var(--uc-line);border-radius:10px;padding:9px 11px;
  font-size:11.5px;font-weight:600;color:var(--uc-t2);
}
html[data-surface="marketing"] .uc-row b{font-size:11.5px;font-weight:700;color:var(--uc-ink);white-space:nowrap}
html[data-surface="marketing"] .uc-row--hl{border-color:#CDFF55;background:rgba(223, 255, 146,.30);animation:ucGlow 5s infinite}
html[data-surface="marketing"] .uc-row--hl b{color:var(--uc-green)}
@keyframes ucGlow{
  0%,30%{box-shadow:0 0 0 0 rgba(22,185,129,0)}
  45%,70%{box-shadow:0 0 0 4px rgba(223, 255, 146,.45)}
  90%,100%{box-shadow:0 0 0 0 rgba(22,185,129,0)}
}
html[data-surface="marketing"] .uc-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
html[data-surface="marketing"] .uc-chip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;border-radius:999px;padding:5px 10px}
html[data-surface="marketing"] .uc-chip--green{color:var(--uc-green);background:var(--uc-green-bg)}
html[data-surface="marketing"] .uc-chip svg{flex:none}
html[data-surface="marketing"] .uc-due{font-size:11px;font-weight:600;color:var(--uc-t3)}
html[data-surface="marketing"] .uc-float{
  position:absolute;z-index:2;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  background:#fff;border:1px solid var(--uc-line);border-radius:11px;padding:7px 11px;
  font-size:11px;font-weight:700;color:var(--uc-ink);
  box-shadow:0 16px 34px -18px rgba(16,36,62,.26);
}
html[data-surface="marketing"] .uc-float svg{flex:none}
html[data-surface="marketing"] .uc-float--a{top:24px;left:6px}
html[data-surface="marketing"] .uc-float--b{bottom:22px;right:8px}
html[data-surface="marketing"] .uc-float--indigo{color:var(--uc-ink);background:#fff;border-color:var(--uc-line)}
html[data-surface="marketing"] .uc-float--green{color:var(--uc-green);background:var(--uc-green-bg);border-color:transparent}
@media (prefers-reduced-motion: reduce){
  html[data-surface="marketing"] .uc-term--on,html[data-surface="marketing"] .uc-term__tick,html[data-surface="marketing"] .uc-row--hl{animation:none!important}
  html[data-surface="marketing"] .uc-term--on{border-color:var(--uc-indigo);background:rgba(223, 255, 146,.07);color:var(--uc-ink)}
  html[data-surface="marketing"] .uc-term__tick{transform:scale(1)}
}
@media (max-width: 540px){
  html[data-surface="marketing"] .uc-frame{padding:46px 12px}
  html[data-surface="marketing"] .uc-float--a{left:0}
  html[data-surface="marketing"] .uc-float--b{right:0}
}

/* ------- CHOOSE PATH ------- */
html[data-surface="marketing"] .path {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 60px;
  align-items: center;
  perspective: 1500px;
}
html[data-surface="marketing"] .path__cards { display: flex; flex-direction: column; gap: 16px; }
html[data-surface="marketing"] .path__card {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 32px;
  border-radius: var(--radius-lg);
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  transition: transform .5s var(--ease-out), background .3s ease, border-color .3s ease;
  cursor: pointer;
  gap: 24px;
  color: var(--ink);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow: var(--shadow-glass);
  will-change: transform;
}
html[data-surface="marketing"] .path__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  pointer-events: none;
  padding: 1.5px;
  background-image: radial-gradient(transparent 0%,transparent 30%,var(--shimmer-color, #DFFF92) 50%,transparent 70%,transparent 100%);
  background-size: 283% 283%;
  background-position: 153% 174%;
  animation: shimmer-border 10s linear infinite;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
          mask-composite: exclude;
  box-shadow: inset 0 0 0 1.5px rgba(223, 255, 146,.1);
  filter: drop-shadow(0 0 8px rgba(223, 255, 146,.29));
}
html[data-surface="marketing"] .path__card > * { position: relative; z-index: 1; }
/* Pixel-art side art (SS2) — artistic grid-of-rounded-squares imagery
   (cart / storefront) in brand indigos + one lime accent. Replaces the old
   flat outline icons. On hover the pixels shimmer + reassemble, staggered
   per pixel — pure SVG/CSS. */
html[data-surface="marketing"] .path__px { flex: none; width: 84px; height: 84px; align-self: center; }
html[data-surface="marketing"] .path__px svg { display: block; width: 100%; height: 100%; overflow: visible; }
html[data-surface="marketing"] .path__px rect { transform-box: fill-box; transform-origin: center; }
html[data-surface="marketing"] .path__card:hover .path__px rect { animation: pxPop .8s var(--ease-out) both; }
html[data-surface="marketing"] .path__card:hover .path__px rect:nth-child(2n) { animation-delay: .05s; }
html[data-surface="marketing"] .path__card:hover .path__px rect:nth-child(3n) { animation-delay: .11s; }
html[data-surface="marketing"] .path__card:hover .path__px rect:nth-child(5n) { animation-delay: .17s; }
html[data-surface="marketing"] .path__card:hover .path__px rect:nth-child(7n+2) { animation-delay: .23s; }
@keyframes pxPop {
  0%   { transform: scale(1); }
  35%  { transform: scale(.25) rotate(45deg); opacity: .35; filter: brightness(1.35); }
  70%  { transform: scale(1.18); opacity: 1; }
  100% { transform: scale(1); filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .path__card:hover .path__px rect { animation: none; }
}
@media (max-width: 540px) {
  html[data-surface="marketing"] .path__px { width: 60px; height: 60px; }
}
html[data-surface="marketing"] .path__card:hover {
  background: var(--glass-bg-hover);
  border-color: rgba(15, 23, 42, 0.14);
}
html[data-surface="marketing"] .path__card h4 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 22px;
  margin: 0 0 10px;
  color: var(--ink);
}
html[data-surface="marketing"] .path__card p { color: var(--text-2); margin: 0; font-size: 14.5px; }
html[data-surface="marketing"] .path__card .arrow-circle {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--bg-soft);
  border: 1px solid var(--glass-border);
  color: var(--ink);
  display: grid; place-items: center;
  flex-shrink: 0;
  transition: background .3s ease, color .3s ease, border-color .3s ease;
}
html[data-surface="marketing"] .path__card:hover .arrow-circle {
  color: #0a0a14;
  border-color: rgba(15,23,42,.22);
  transform: translateX(3px);
}

@media (max-width: 900px) {
  html[data-surface="marketing"] .path { grid-template-columns: 1fr; }
}

/* ------- INTEGRATIONS ------- */
html[data-surface="marketing"] .integrations {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  perspective: 1200px;
}
html[data-surface="marketing"] .integ {
  display: flex;
  flex-direction: column;
  transform-style: preserve-3d;
  transition: transform .6s var(--ease-out), scale .35s var(--ease-out), opacity .35s var(--ease-out);
  will-change: transform;
  scale: 1;
  opacity: 1;
}
html[data-surface="marketing"] .integ__img {
  height: 280px;
  background-size: cover;
  background-position: center;
  border-radius: var(--radius-lg);
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
  transform-style: preserve-3d;
  transition: transform .6s var(--ease-out), box-shadow .6s var(--ease-out);
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  box-shadow: var(--shadow-glass);
}
html[data-surface="marketing"] .integ:hover .integ__img {
  transform: translateZ(40px);
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6), 0 10px 20px -10px rgba(0, 0, 0, 0.4);
  border-color: rgba(15, 23, 42, 0.18);
}
/* Spotlight effect: when any card in the row is being hovered, the others
   shrink to focus attention on the active one. We use the standalone `scale`
   property (not `transform: scale()`) because the [data-tilt-3d] JS sets an
   inline `transform` on every card at init — `scale` composes with that
   instead of conflicting. */
html[data-surface="marketing"] .integrations:hover .integ:not(:hover) {
  scale: 0.92;
  opacity: 0.7;
  transition: scale .35s var(--ease-out), opacity .35s var(--ease-out);
}
html[data-surface="marketing"] .integ__glare {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%),rgba(223, 255, 146,.35),rgba(223, 255, 146,0) 45%);
  opacity: 0;
  transition: opacity .35s var(--ease-out);
  mix-blend-mode: screen;
}
html[data-surface="marketing"] .integ:hover .integ__glare { opacity: 1; }
html[data-surface="marketing"] .integ h4 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 19px;
  margin: 0 0 8px;
  color: var(--ink);
  transform: translateZ(20px);
  transition: transform .6s var(--ease-out);
}
html[data-surface="marketing"] .integ p {
  color: var(--text-2);
  font-size: 14px;
  margin: 0;
  transform: translateZ(12px);
  transition: transform .6s var(--ease-out);
}
@media (hover: none) {
  html[data-surface="marketing"] .integ,html[data-surface="marketing"]  .integ__img,html[data-surface="marketing"]  .integ h4,html[data-surface="marketing"]  .integ p { transform: none !important; }
}

@media (max-width: 900px) {
  html[data-surface="marketing"] .integrations { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  html[data-surface="marketing"] .integrations { grid-template-columns: 1fr; }
}

/* ------- TESTIMONIALS ------- */
html[data-surface="marketing"] .testimonials__viewport {
  overflow: hidden;
}
html[data-surface="marketing"] .testimonials__track {
  display: flex;
  gap: 20px;
  padding: 0 32px;
  cursor: grab;
  will-change: transform;
}
html[data-surface="marketing"] .testimonials__track:active { cursor: grabbing; }
html[data-surface="marketing"] .tcard {
  flex: 0 0 280px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
html[data-surface="marketing"] .tcard__media {
  height: 360px;
  border-radius: var(--radius);
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  box-shadow: var(--shadow-glass);
}
html[data-surface="marketing"] .tcard__media::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.45) 100%);
}
html[data-surface="marketing"] .tcard__play {
  position: absolute;
  bottom: 16px; left: 16px;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--accent);
  color: #0a0a14;
  display: grid; place-items: center;
  z-index: 1;
  transition: transform .3s ease, box-shadow .3s ease;
  box-shadow: 0 0 24px var(--accent-glow);
}
html[data-surface="marketing"] .tcard:hover .tcard__play { transform: scale(1.1); box-shadow: 0 0 36px var(--accent-glow); }
html[data-surface="marketing"] .tcard[data-video] { cursor: pointer; }
html[data-surface="marketing"] .tcard[data-video] .tcard__media { transition: box-shadow .35s var(--ease-out), border-color .35s var(--ease-out); }
html[data-surface="marketing"] .tcard[data-video]:hover .tcard__media {
  box-shadow: 0 20px 50px -20px rgba(0, 0, 0, 0.7);
  border-color: rgba(15, 23, 42, 0.18);
}
/* ============ TGRID: testimonial 2-row filmstrip ============
   Layout: fixed title card on the left (col 1) + ONE 2-row CSS GRID of
   merchant cards sharing ONE scrollport (.tgrid__strip) so they scroll
   together like a filmstrip (grid-auto-flow: column dense — odd children
   fill the top row, even the bottom). Each card is a poster still with a
   slow Ken Burns drift. Click a card → it grows to span BOTH rows (full
   strip height) at a 9:16-friendly width; `dense` re-slots the neighbors
   around it with zero overlap and JS FLIP-animates the reflow. JS appends
   clone sets after the originals for the auto-scroll marquee wrap. */
html[data-surface="marketing"] .tgrid {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 8px;
  --tcard-w: 205px;                          /* resting card width */
  --tcard-h: calc(var(--tcard-w) * 4 / 3);   /* constant per-row height (3:4) */
  --tgrid-gap: 10px;                         /* row/column gap inside the strip */
  /* Expanded (playing) card: full strip height (both rows + the gap) at an
     exact 9:16 width — the testimonial videos are 9:16, so object-fit:cover
     fills the card with essentially zero crop and zero letterboxing. */
  --tcard-tall-h: calc(var(--tcard-h) * 2 + var(--tgrid-gap));
  --tcard-tall-w: calc(var(--tcard-tall-h) * 9 / 16);
}
/* Scroller shell: hosts the strip + the two overlay nav arrows. */
html[data-surface="marketing"] .tgrid__scroller {
  position: relative;
  min-width: 0;
}
/* The single scrollport: a 2-row grid filling column by column, so both
   rows pan together. `dense` lets cards backfill the hole left when a
   playing card re-slots to span both rows. Columns size to their content
   (max-content) so the one wide playing card gets a wide column while
   every other column stays at the resting card width. */
html[data-surface="marketing"] .tgrid__strip {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, var(--tcard-h));
  grid-auto-columns: max-content;
  gap: var(--tgrid-gap);
  /* breathing room so card glass shadows aren't clipped by the scrollport */
  padding: 10px 0;
  margin: -10px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;                     /* Firefox: no scrollbar */
  /* Soft fade on whichever edge still has content beyond it (JS toggles
     can-prev / can-next on the scroller). */
  --fade-start: 0px;
  --fade-end: 0px;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent 100%);
}
html[data-surface="marketing"] .tgrid__strip::-webkit-scrollbar { display: none; }
/* Cards pinned to their row (odd = top, even = bottom): when a card expands
   to span both rows, each row's remaining cards slide HORIZONTALLY within
   their own row — nobody jumps between rows. (.is-playing overrides with
   grid-row: 1/-1 further down.) */
html[data-surface="marketing"] .tgrid__strip > .tcard:nth-child(odd) { grid-row: 1; }
html[data-surface="marketing"] .tgrid__strip > .tcard:nth-child(even) { grid-row: 2; }
html[data-surface="marketing"][dir="rtl"] .tgrid__strip {
  -webkit-mask-image: linear-gradient(to left, transparent 0, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent 100%);
          mask-image: linear-gradient(to left, transparent 0, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent 100%);
}
html[data-surface="marketing"] .tgrid__scroller.can-prev .tgrid__strip { --fade-start: 48px; }
html[data-surface="marketing"] .tgrid__scroller.can-next .tgrid__strip { --fade-end: 48px; }
/* Prev/next arrows: round glass chips overlaying the row's inline edges.
   Logical inset properties keep them dir-aware; the chevron glyph is
   mirrored for RTL below. Hidden (is-off) at the respective end. */
html[data-surface="marketing"] .tgrid__nav {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  z-index: 4;
  cursor: pointer;
  padding: 0;
  color: var(--ink);
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
          backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  box-shadow: var(--shadow-glass);
  transition: background .2s ease, color .2s ease, transform .2s ease,
              opacity .25s ease, visibility .25s ease;
}
html[data-surface="marketing"] .tgrid__nav[hidden] { display: none; }       /* pre-JS state */
html[data-surface="marketing"] .tgrid__nav--prev { inset-inline-start: 12px; }
html[data-surface="marketing"] .tgrid__nav--next { inset-inline-end: 12px; }
html[data-surface="marketing"] .tgrid__nav:hover { background: var(--bg-tint); color: var(--ink); transform: scale(1.12); }
html[data-surface="marketing"] .tgrid__nav svg { display: block; }
html[data-surface="marketing"][dir="rtl"] .tgrid__nav svg { transform: scaleX(-1); }
html[data-surface="marketing"] .tgrid__nav.is-off { opacity: 0; visibility: hidden; pointer-events: none; }
html[data-surface="marketing"] .tgrid__title {
  grid-column: 1;
  grid-row: 1;            /* single row: stretches to the rotor height (no empty 2nd row / bottom gap) */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  padding: 32px 28px;
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
          backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glass);
}
html[data-surface="marketing"] .tgrid__title h2 { margin: 0; font-size: clamp(28px, 2.8vw, 42px); line-height: 1.05; }
html[data-surface="marketing"] .tgrid__title .lead { color: var(--text-2); font-size: 14px; margin: 0; }
html[data-surface="marketing"] .tgrid__title .eyebrow { margin-bottom: 0; }

/* Each card is a fixed-width 3:4 portrait with the merchant's poster photo
   full-bleed behind the caption. Sizing is explicit width/height (the grid
   column tracks are max-content, so a card IS its column) — the JS FLIP
   animates all size/position changes, so no CSS size transitions here. */
html[data-surface="marketing"] .tgrid__strip > .tcard {
  width: var(--tcard-w);
  height: var(--tcard-h);
  min-width: 0;
  aspect-ratio: auto;
  margin: 0;
  display: block;
  cursor: pointer;
}
/* Card face: merchant poster still, full-bleed, with a slow Ken Burns drift. */
html[data-surface="marketing"] .tgrid__strip > .tcard > .tcard__media {
  height: 100%;
  margin: 0;
  border-radius: var(--radius);
  background-color: #10141C;
  background-image: none;
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-glass);
  position: relative;
  overflow: hidden;
}
/* Poster still extracted from each testimonial video — CSS-only motion
   (scale 1 → 1.08, ~12s, alternating) so cells feel alive without any
   autoplaying video. */
html[data-surface="marketing"] .tcard__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 0;
  animation: tcardKenBurns 12s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes tcardKenBurns {
  from { transform: scale(1); }
  to   { transform: scale(1.08); }
}
/* Desynchronise the drift so the strip doesn't breathe in unison. Cards are
   interleaved column-major (odd = top row, even = bottom row) and one clone
   set is 6 cards, so a 6-card delay pattern keeps a card and its marquee
   clones in the SAME animation phase — the wrap jump stays invisible. */
html[data-surface="marketing"] .tgrid__strip > .tcard:nth-child(6n+2) .tcard__poster { animation-delay: -2s; }
html[data-surface="marketing"] .tgrid__strip > .tcard:nth-child(6n+3) .tcard__poster { animation-delay: -4s; }
html[data-surface="marketing"] .tgrid__strip > .tcard:nth-child(6n+4) .tcard__poster { animation-delay: -6s; }
html[data-surface="marketing"] .tgrid__strip > .tcard:nth-child(6n+5) .tcard__poster { animation-delay: -8s; }
html[data-surface="marketing"] .tgrid__strip > .tcard:nth-child(6n)   .tcard__poster { animation-delay: -10s; }
html[data-surface="marketing"] .tcard.is-playing .tcard__poster { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .tcard__poster { animation: none; }
  html[data-surface="marketing"] .tgrid__strip { scroll-behavior: auto; }
  html[data-surface="marketing"] .tgrid__strip > .tcard { transition: none; }   /* instant expand/collapse (JS skips FLIP too) */
}
/* Caption overlay: name + role pinned to the bottom over a soft gradient,
   quote as a smaller secondary line (injected by JS, matched to the video). */
html[data-surface="marketing"] .tcard__caption {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 6px;
  padding: 16px;
  padding-right: 60px;   /* keep clear of the play button */
  text-align: left;
  pointer-events: none;
  transition: transform .25s ease;
  z-index: 2;
}
html[data-surface="marketing"] .tcard__who { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
html[data-surface="marketing"] .tcard__who strong {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(15px, 1.3vw, 18px);
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: #fff;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}
html[data-surface="marketing"] .tcard__who span {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.3;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
}
html[data-surface="marketing"] .tcard p.tcard__quote {
  margin: 0;
  font-style: italic;
  font-weight: 300;
  font-size: 11.5px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.82);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
html[data-surface="marketing"] .tgrid__strip > .tcard:hover > .tcard__media .tcard__caption { transform: scale(1.02); }
/* Fade the caption out once the video starts playing. */
html[data-surface="marketing"] .tcard.is-playing .tcard__caption,html[data-surface="marketing"] 
.tcard__media.is-playing .tcard__caption { opacity: 0; }
/* Soft bottom gradient so the white caption stays legible on any poster. */
html[data-surface="marketing"] .tgrid__strip > .tcard > .tcard__media::after {
  display: block;
  background: linear-gradient(180deg, transparent 38%, rgba(0, 0, 0, 0.35) 62%, rgba(0, 0, 0, 0.78) 100%);
  z-index: 1;
}
/* Play affordance sits bottom-right, clear of the caption text. */
html[data-surface="marketing"] .tgrid__strip > .tcard > .tcard__media .tcard__play {
  left: auto;
  right: 14px;
  bottom: 14px;
  z-index: 3;
}
html[data-surface="marketing"] .tgrid__strip > .tcard > h4,html[data-surface="marketing"] 
.tgrid__strip > .tcard > p { display: none; }

/* Expanded (playing): the card spans BOTH grid rows (full strip height) at
   an exact 9:16 width. Row-pinned cards (odd/even) slide horizontally in
   their own row to make room — nothing overlaps — and the JS FLIP glides every
   card (position AND the playing card's size) to its new slot. The 9:16
   video fills the card edge-to-edge (cover, ~zero crop, no letterboxing). */
html[data-surface="marketing"] .tgrid__strip > .tcard.is-playing {
  grid-row: 1 / -1;
  width: var(--tcard-tall-w);
  height: var(--tcard-tall-h);
}
html[data-surface="marketing"] .tgrid__strip > .tcard.is-playing .tcard__video { object-fit: cover; }

@media (max-width: 1100px) {
  html[data-surface="marketing"] .tgrid { grid-template-columns: 240px minmax(0, 1fr); }
}
@media (max-width: 900px) {
  /* Stack the title above the strip; the strip stays a native touch scroller.
     Videos open in the .tvpop fullscreen popup (cards never expand inline),
     so the arrows are dropped in favour of swiping. */
  html[data-surface="marketing"] .tgrid {
    grid-template-columns: 1fr;
    --tcard-w: 168px;
  }
  html[data-surface="marketing"] .tgrid__title {
    grid-column: 1;
    grid-row: auto;
    padding: 24px;
  }
  html[data-surface="marketing"] .tgrid__nav { display: none; }
}

/* Inline video — when playing, the <video> is appended to .tcard (not .tcard__media)
   and covers the entire card, hiding the h4 + p below until the user clicks again
   or the video ends. */
html[data-surface="marketing"] .tcard {
  position: relative;
  /* NOTE: no width/height transitions here — the tgrid expand/collapse is
     FLIP-animated from JS (WAAPI), and CSS size transitions would corrupt
     the FLIP's before/after measurements. */
}
/* The <video> element itself — fades + scales in from the thumbnail rect,
   then settles to fill the expanded card. */
html[data-surface="marketing"] .tcard__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius);
  background: #000;
  z-index: 5;
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  box-shadow: var(--shadow-lift);
  /* Enter animation: fade + zoom from a slightly smaller scale */
  animation: tcardVideoIn .45s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes tcardVideoIn {
  from {
    opacity: 0;
    transform: scale(0.94);
    filter: blur(2px);
  }
  to {
    opacity: 1;
    transform: scale(1);
    filter: blur(0);
  }
}
/* Sound button gets the same smooth entrance */
html[data-surface="marketing"] .tcard.is-playing .tcard__sound {
  animation: tcardVideoIn .45s cubic-bezier(0.22, 1, 0.36, 1) .15s both;
}
/* Underlying thumbnail / name / quote crossfade out as the video appears,
   crossfade back in when it stops. Uses opacity instead of visibility so the
   transition is smooth in both directions. */
html[data-surface="marketing"] .tcard > .tcard__media,html[data-surface="marketing"] 
.tcard > h4,html[data-surface="marketing"] 
.tcard > p {
  transition: opacity .35s ease;
}
html[data-surface="marketing"] .tcard.is-playing > .tcard__media,html[data-surface="marketing"] 
.tcard.is-playing > h4,html[data-surface="marketing"] 
.tcard.is-playing > p {
  opacity: 0;
  pointer-events: none;
}
/* Hide the play button + bottom-shadow gradient while playing */
html[data-surface="marketing"] .tcard__media.is-playing::after { opacity: 0; }
html[data-surface="marketing"] .tcard__media.is-playing .tcard__play { opacity: 0; pointer-events: none; transform: scale(.85); }
html[data-surface="marketing"] .tcard__play { transition: transform .25s ease, opacity .2s ease, box-shadow .3s ease; }
/* Small mute/unmute toggle in the corner — sits on the video while playing */
html[data-surface="marketing"] .tcard__sound {
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(7, 7, 13, 0.55);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  color: #fff;
  display: grid;
  place-items: center;
  z-index: 6;
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.18);
  transition: background .2s ease, transform .2s ease;
}
html[data-surface="marketing"] .tcard__sound:hover { background: rgba(7, 7, 13, 0.75); transform: scale(1.05); }
html[data-surface="marketing"] .tcard__sound .icon-on  { display: none; }
html[data-surface="marketing"] .tcard__sound .icon-off { display: block; }
html[data-surface="marketing"] .tcard__sound:not(.is-muted) .icon-on  { display: block; }
html[data-surface="marketing"] .tcard__sound:not(.is-muted) .icon-off { display: none; }
/* Close (X) — half-transparent round, top-right with margin. */
html[data-surface="marketing"] .tcard__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(7, 7, 13, 0.45);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  color: #fff;
  display: grid;
  place-items: center;
  z-index: 7;
  cursor: pointer;
  padding: 0;
  line-height: 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  transition: background .2s ease, transform .2s ease;
}
html[data-surface="marketing"] .tcard__close svg { display: block; }
html[data-surface="marketing"] .tcard__close:hover { background: rgba(7, 7, 13, 0.7); transform: scale(1.05); }
html[data-surface="marketing"] .tcard h4 { font-family: var(--font-display); font-weight: 500; font-size: 17px; margin: 0 0 6px; color: var(--ink); }
html[data-surface="marketing"] .tcard p { color: var(--text-2); font-size: 14px; margin: 0; }

/* Mobile fullscreen testimonial popup — the video plays here (not inline) on phones */
html[data-surface="marketing"] .tvpop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(8, 10, 16, 0.94);
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
  animation: tvpopIn .2s ease both;
}
@keyframes tvpopIn { from { opacity: 0; } to { opacity: 1; } }
html[data-surface="marketing"] .tvpop .tcard__video {
  position: relative;
  inset: auto;
  width: auto;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  background: #000;
  animation: tvpopVideoIn .3s ease both;
}
@keyframes tvpopVideoIn { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }
html[data-surface="marketing"] .tvpop .tcard__close {
  position: fixed; top: 14px; right: 14px; z-index: 12;
  width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(255,255,255,0.14); color: #fff;
  display: flex; align-items: center; justify-content: center;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
html[data-surface="marketing"] .tvpop .tcard__close svg { width: 16px; height: 16px; }
html[data-surface="marketing"] .tvpop .tcard__sound {
  position: fixed; bottom: 20px; right: 20px; z-index: 12;
  width: 44px; height: 44px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(0,0,0,0.6); color: #fff;
  display: flex; align-items: center; justify-content: center;
}
html[data-surface="marketing"] .tvpop .tcard__sound svg { width: 18px; height: 18px; }

/* Video lightbox */
html[data-surface="marketing"] .vlight {
  position: fixed;
  inset: 0;
  z-index: 1100;
  pointer-events: none;
  background: rgba(7, 7, 13, 0);
  transition: background .35s var(--ease-out);
}
html[data-surface="marketing"] .vlight.is-open {
  pointer-events: auto;
  background: rgba(7, 7, 13, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
html[data-surface="marketing"] .vlight__player {
  position: fixed;
  top: 0; left: 0;
  width: 0; height: 0;
  border-radius: var(--radius);
  overflow: hidden;
  background: #000;
  box-shadow: 0 40px 100px -30px rgba(0,0,0,0.7);
  transition: top .55s var(--ease-out), left .55s var(--ease-out), width .55s var(--ease-out), height .55s var(--ease-out), border-radius .55s var(--ease-out);
  will-change: top, left, width, height, transform;
}
html[data-surface="marketing"] .vlight.is-open .vlight__player { border-radius: var(--radius-lg); }
html[data-surface="marketing"] .vlight__player video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #000;
}
html[data-surface="marketing"] .vlight__player .vlight__poster {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 1;
  transition: opacity .35s ease;
  pointer-events: none;
}
html[data-surface="marketing"] .vlight__player.is-playing .vlight__poster { opacity: 0; }
html[data-surface="marketing"] .vlight__close {
  position: fixed;
  top: 24px; right: 24px;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(12px) saturate(160%);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  color: var(--ink);
  display: grid;
  place-items: center;
  cursor: pointer;
  opacity: 0;
  transform: scale(0.85);
  transition: opacity .3s ease, transform .35s var(--ease-out), background .25s;
  z-index: 2;
}
html[data-surface="marketing"] .vlight.is-open .vlight__close {
  opacity: 1;
  transform: scale(1);
  transition-delay: .25s;
}
html[data-surface="marketing"] .vlight__close:hover { background: rgba(255,255,255,0.18); transform: scale(1.06); }
html[data-surface="marketing"] .vlight__spinner {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s ease;
}
html[data-surface="marketing"] .vlight__player.is-loading .vlight__spinner { opacity: 1; }
html[data-surface="marketing"] .vlight__spinner::before {
  content: "";
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.18);
  border-top-color: var(--accent);
  animation: vspin 0.8s linear infinite;
}
@keyframes vspin { to { transform: rotate(360deg); } }
html[data-surface="marketing"] .vlight__sound {
  position: absolute;
  bottom: 16px; right: 16px;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(0,0,0,0.55);
  color: var(--ink);
  display: grid;
  place-items: center;
  cursor: pointer;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .35s ease, transform .35s var(--ease-out), background .25s;
  z-index: 2;
}
html[data-surface="marketing"] .vlight.is-open .vlight__sound {
  opacity: 1;
  transform: translateY(0);
  transition-delay: .35s;
}
html[data-surface="marketing"] .vlight__sound:hover { background: rgba(0,0,0,0.75); }
html[data-surface="marketing"] .vlight__sound .icon-on,html[data-surface="marketing"]  .vlight__sound .icon-off { position: absolute; transition: opacity .2s ease; }
html[data-surface="marketing"] .vlight__sound.is-muted .icon-on { opacity: 0; }
html[data-surface="marketing"] .vlight__sound:not(.is-muted) .icon-off { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .vlight,html[data-surface="marketing"]  .vlight__player,html[data-surface="marketing"]  .vlight__close,html[data-surface="marketing"]  .vlight__sound { transition: none; }
}

/* ------- ESTIMATE / CALC ------- */
html[data-surface="marketing"] .estimate {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 60px;
  align-items: center;
}
html[data-surface="marketing"] .estimate ul { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-direction: column; gap: 12px; }
html[data-surface="marketing"] .estimate li { display: flex; align-items: center; gap: 10px; color: var(--text-2); }
html[data-surface="marketing"] .estimate li .check {
  width: 22px; height: 22px; border-radius: 50%;
  background: rgba(94, 107, 246,.22);
  border: 1px solid rgba(94, 107, 246,.6);
  color: var(--lime-deep);
  display: grid; place-items: center;
  font-size: 12px; font-weight: 700;
}
html[data-surface="marketing"] .calc {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-glass);
  isolation: isolate;
}
html[data-surface="marketing"] .calc__top {
  background: rgba(7, 7, 13, 0.55);
  color: var(--ink);
  padding: 28px;
}
html[data-surface="marketing"] .calc__label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-3);
  margin-bottom: 18px;
}
html[data-surface="marketing"] .calc__field {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}
html[data-surface="marketing"] .calc__field span:first-child { color: var(--text-2); font-size: 15px; }
html[data-surface="marketing"] .calc__field .amount { font-family: var(--font-display); font-size: 38px; color: var(--ink); font-weight: 500; }
html[data-surface="marketing"] .calc__slider {
  position: relative;
  height: 6px;
  background: rgba(255,255,255,0.10);
  border-radius: 6px;
  margin: 18px 0 28px;
  cursor: pointer;
}
html[data-surface="marketing"] .calc__slider .fill {
  position: absolute; left: 0; top: 0; height: 100%;
  background: var(--accent);
  border-radius: 6px;
  transition: width .3s var(--ease-out);
  box-shadow: 0 0 12px var(--accent-glow);
}
html[data-surface="marketing"] .calc__slider .knob {
  position: absolute;
  top: 50%; transform: translate(-50%, -50%);
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--accent);
  border: 3px solid #07070d;
  cursor: grab;
  transition: left .3s var(--ease-out);
  box-shadow: 0 0 20px var(--accent-glow);
}
html[data-surface="marketing"] .calc__terms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
html[data-surface="marketing"] .calc__term {
  background: #ffffff;
  border: 1px solid var(--glass-border);
  color: var(--text-2);
  border-radius: 12px;
  padding: 14px;
  text-align: left;
  font-weight: 500;
  font-size: 16px;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
  display: flex; flex-direction: column; gap: 2px;
}
html[data-surface="marketing"] .calc__term .days { font-size: 11px; font-family: 'Inter', sans-serif; letter-spacing: 0.1em; opacity: .6; text-transform: uppercase; }
html[data-surface="marketing"] .calc__term.is-active {
  background: rgba(223, 255, 146,.18);
  color: var(--ink);
  border-color: rgba(223, 255, 146,.29);
}
html[data-surface="marketing"] .calc__term:hover:not(.is-active) {
  background: var(--bg-tint);
  color: var(--ink);
}
html[data-surface="marketing"] .calc__bottom {
  padding: 24px 28px;
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px solid var(--hairline);
  background: rgba(255, 255, 255, 0.02);
}
html[data-surface="marketing"] .calc__bottom span:first-child { color: var(--text-2); font-size: 14px; }
html[data-surface="marketing"] .calc__bottom .total { font-family: var(--font-display); font-size: 28px; color: var(--ink); font-weight: 500; }
html[data-surface="marketing"] .calc__breakdown {
  padding: 16px 28px 24px;
  display: flex; flex-direction: column; gap: 6px;
}
html[data-surface="marketing"] .calc__breakdown div {
  display: flex; justify-content: space-between;
  font-size: 12px; color: var(--text-3);
  font-family: 'Inter', sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  html[data-surface="marketing"] .estimate { grid-template-columns: 1fr; }
}

/* ------- FAQ ------- */
html[data-surface="marketing"] .faq { max-width: 820px; margin: 0 auto; perspective: 1500px; }
html[data-surface="marketing"] .faq__item {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius);
  padding: 6px 24px;
  margin-bottom: 12px;
  transition: background .25s ease, border-color .25s ease, transform .5s var(--ease-out);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow: var(--shadow-glass);
  will-change: transform;
}
html[data-surface="marketing"] .faq__item:hover {
  background: var(--glass-bg-hover);
  border-color: rgba(15, 23, 42, 0.14);
}
html[data-surface="marketing"] .faq__item.is-open {
  background: var(--glass-bg-hover);
  border-color: rgba(223, 255, 146,.3);
}
html[data-surface="marketing"] .faq__q {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  font-size: 18px;
  font-weight: 500;
  padding: 16px 0;
  gap: 24px;
  color: var(--ink);
  font-family: var(--font-display);
  letter-spacing: -0.01em;
}
html[data-surface="marketing"] .faq__icon {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--bg-soft);
  border: 1px solid var(--glass-border);
  color: var(--ink);
  display: grid; place-items: center;
  flex-shrink: 0;
  transition: transform .4s var(--ease-out), background .3s ease;
  font-size: 16px; font-weight: 300;
}
html[data-surface="marketing"] .faq__item.is-open .faq__icon {
  background: var(--accent);
  color: #0a0a14;
  border-color: var(--accent);
  transform: rotate(45deg);
}
html[data-surface="marketing"] .faq__a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .5s var(--ease-out);
  color: var(--text-2);
  font-size: 15.5px;
}
html[data-surface="marketing"] .faq__a > div { padding: 4px 0 16px; max-width: 60ch; }

/* ------- FINAL CTA ------- */
html[data-surface="marketing"] .cta-final {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  padding: clamp(60px, 8vw, 100px);
  color: var(--ink);
  background:
    linear-gradient(125deg,rgba(7,7,13,.85)0,rgba(10,10,25,.65) 50%,rgba(7,7,13,.85) 100%),radial-gradient(800px 600px at 20% 30%,rgba(223, 255, 146,.22),transparent 60%),radial-gradient(700px 500px at 80% 70%,rgba(94, 107, 246,.18),transparent 60%),#0a0a14;
  background-size: 200% 200%, auto, auto, auto;
  animation: ctaShift 14s ease infinite;
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  box-shadow: var(--shadow-glass);
  isolation: isolate;
}
html[data-surface="marketing"] .cta-final__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  z-index: 0;
  pointer-events: none;
  filter: brightness(0.55) saturate(140%);
}
html[data-surface="marketing"] .cta-final::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(7, 7, 13, 0.92) 0%, rgba(7, 7, 13, 0.65) 55%, rgba(7, 7, 13, 0.25) 100%);
  z-index: 1;
}
@media (max-width: 720px) {
  html[data-surface="marketing"] .cta-final__video { object-position: 75% center; }
  html[data-surface="marketing"] .cta-final::after {
    background: linear-gradient(180deg, rgba(7, 7, 13, 0.92) 0%, rgba(7, 7, 13, 0.78) 55%, rgba(7, 7, 13, 0.55) 100%);
  }
}
html[data-surface="marketing"] .cta-final__inner { position: relative; z-index: 2; max-width: 680px; }
html[data-surface="marketing"] .cta-final h2 { color: var(--ink); }
html[data-surface="marketing"] .cta-final h2 .accent { color: var(--accent); }
html[data-surface="marketing"] .cta-final p { color: rgba(255,255,255,0.78); margin: 18px 0 32px; font-size: 17px; }
html[data-surface="marketing"] .cta-final__ctas { display: flex; gap: 12px; flex-wrap: wrap; }

@keyframes ctaShift {
  0%, 100% { background-position: 0% 50%, 0 0, 0 0, 0 0; }
  50%      { background-position: 100% 50%, 0 0, 0 0, 0 0; }
}

html[data-surface="marketing"] .faq-section { padding-bottom: 24px; }
html[data-surface="marketing"] .cta-final-section { padding-top: 32px; }

/* ------- HORIZONTAL SCROLL CONTAINER (testimonials) ------- */
html[data-surface="marketing"] .hpin {
  position: relative;
  margin-top: 24px;
}
html[data-surface="marketing"] .hpin__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
html[data-surface="marketing"] .hpin__viewport::-webkit-scrollbar { display: none; }
html[data-surface="marketing"] .hpin__track {
  display: flex;
  gap: 24px;
  padding: 16px 8vw 32px;
  width: max-content;
}
html[data-surface="marketing"] .hpin__track .tcard { scroll-snap-align: start; }

/* =========================================================
   Dark-bg components - restore white text after bulk-flip
   ========================================================= */
html[data-surface="marketing"] .values__card--feature,html[data-surface="marketing"] 
.values__card--feature h3,html[data-surface="marketing"] 
.values__card--feature p,html[data-surface="marketing"] 
.values__pill--ink,html[data-surface="marketing"] 
.calc__top,html[data-surface="marketing"] 
.calc__top .calc__label,html[data-surface="marketing"] 
.calc__top .calc__field span,html[data-surface="marketing"] 
.calc__top .amount,html[data-surface="marketing"] 
.calc__top .calc__term,html[data-surface="marketing"] 
.calc__bottom .total,html[data-surface="marketing"] 
.tcard__play,html[data-surface="marketing"] 
.vlight__close,html[data-surface="marketing"] 
.vlight__sound,html[data-surface="marketing"] 
.section--ink,html[data-surface="marketing"] 
.section--ink h1,html[data-surface="marketing"]  .section--ink h2,html[data-surface="marketing"]  .section--ink h3,html[data-surface="marketing"]  .section--ink h4,html[data-surface="marketing"]  .section--ink p,html[data-surface="marketing"] 
.cta-final,html[data-surface="marketing"] 
.cta-final h2,html[data-surface="marketing"] 
.cta-final p { color: #fff; }

/* Tinted-bg pills + active states should have ink text */
html[data-surface="marketing"] .tcard__play { color: #0a0a14; }
html[data-surface="marketing"] .calc__term.is-active { color: var(--ink); }
html[data-surface="marketing"] .faq__item.is-open .faq__icon { color: var(--ink); }

/* =========================================================
   PREFOOTER — positioning headline + AI assistant card
   ========================================================= */
html[data-surface="marketing"] .prefooter { padding-top: 40px; padding-bottom: 24px; }
html[data-surface="marketing"] .prefooter__headline {
  font-family: "Bricolage Grotesque","Gilroy",system-ui,sans-serif;
  font-weight: 700;
  font-size: clamp(28px, 4.5vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 40px;
  text-align: center;
}
html[data-surface="marketing"] .prefooter__line { display: block; }
html[data-surface="marketing"] .prefooter__line + .prefooter__line { margin-top: 4px; }
html[data-surface="marketing"] .prefooter__headline .accent { color: var(--ink); }

/* ── Word rotator: accent phrase slides up to reveal the next word
   (mondu.ai-style motion, Fina's own purple accent). Pure CSS, looping.
   Each .wrotator is a 1-line viewport; the track holds 3 words + a clone
   of the first, and translates up one line-height per step for a seamless
   loop. --wlh = the word line-height in em (must match the keyframe steps). */
html[data-surface="marketing"] .prefooter__headline .wrotator {
  /* Taller slot than the glyph so ascenders/descenders (and the much taller
     Arabic forms) never clip; the word is centred in the slot. The track steps
     by --wlh per word, so the loop stays aligned. */
  --wlh: 1.5em;
  display: inline-flex;
  flex-direction: column;
  overflow: hidden;
  height: var(--wlh);
  line-height: 1.05;
  vertical-align: middle;
  /* keep the slot wide enough for the longest word so the layout doesn't jump */
  text-align: left;
  /* fade the top + bottom edges so words ease in/out instead of hard-clipping */
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 28%, #000 72%, transparent 100%);
          mask-image: linear-gradient(to bottom, transparent 0, #000 28%, #000 72%, transparent 100%);
  padding: 0 18px;
  border-radius: var(--r-pill);
  background: var(--accent);
}
html[data-surface="marketing"] .wrotator__track {
  display: flex;
  flex-direction: column;
  animation: finaWordRotate 8s cubic-bezier(0.76, 0, 0.24, 1) infinite;
}
html[data-surface="marketing"] .wrotator__track--b { animation-delay: .12s; }   /* slight offset so the two lines aren't lockstep */
html[data-surface="marketing"] .wrotator__track > span {
  height: var(--wlh);
  line-height: var(--wlh);   /* centre the word vertically in its taller slot */
  white-space: nowrap;
}
/* Vary the colour across the rotating words (4th is the seamless clone of the
   1st, so it must match it). Primary indigo + the brand selection green as the
   secondary, with a lighter indigo for a third step. */
html[data-surface="marketing"] .wrotator__track > span:nth-child(1) { color: #000; }
html[data-surface="marketing"] .wrotator__track > span:nth-child(2) { color: #000; }
html[data-surface="marketing"] .wrotator__track > span:nth-child(3) { color: #000; }
html[data-surface="marketing"] .wrotator__track > span:nth-child(4) { color: #000; }
/* 3 words shown, 4th item is a clone of the 1st → seamless wrap.
   Hold on each word ~ first 28% of its slice, slide during the rest. */
@keyframes finaWordRotate {
  0%,    28%   { transform: translateY(0); }
  33.3%, 61.6% { transform: translateY(calc(-1 * var(--wlh))); }
  66.6%, 94.9% { transform: translateY(calc(-2 * var(--wlh))); }
  100%         { transform: translateY(calc(-3 * var(--wlh))); }
}
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .wrotator__track { animation: none; transform: none; }
}

html[data-surface="marketing"] .ai-card {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  padding: clamp(40px, 6vw, 72px) clamp(24px, 5vw, 64px);
  color: #fff;
  background:
    linear-gradient(135deg,#050505 0%,#1A1A1A 100%);
  isolation: isolate;
  box-shadow: var(--shadow-glass);
}
html[data-surface="marketing"] .ai-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 80% 0%, rgba(255,255,255,0.18), transparent 50%),
    radial-gradient(circle at 0% 100%, rgba(255,255,255,0.08), transparent 50%);
  pointer-events: none;
  z-index: 0;
}

/* Shimmer ring — bright radial spot travels diagonally around the border */
html[data-surface="marketing"] .ai-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  pointer-events: none;
  padding: 1.6px;
  background-image: radial-gradient(
    transparent 0%,
    transparent 30%,
    rgba(255, 255, 255, 0.95) 50%,
    transparent 70%,
    transparent 100%
  );
  background-size: 283% 283%;
  background-position: 153% 174%;
  animation: shimmer-border 10s linear infinite;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
          mask-composite: exclude;
  box-shadow: inset 0 0 0 1.6px rgba(255, 255, 255, 0.16);
  filter:
    drop-shadow(0 0 5px rgba(255,255,255,.85)) drop-shadow(0 0 12px rgba(212,248,79,.55)) drop-shadow(0 0 22px rgba(223, 255, 146,.45));
}

/* Diagonal glare sweep across the card surface */
html[data-surface="marketing"] .ai-card__glare {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
}
html[data-surface="marketing"] .ai-card__glare::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -30%;
  width: 40%;
  height: 200%;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0.0) 38%,
    rgba(255, 255, 255, 0.28) 50%,
    rgba(255, 255, 255, 0.0) 62%,
    transparent 100%
  );
  filter: blur(6px);
  transform: translateX(-120%);
  animation: ai-card-glare 7s ease-in-out infinite;
  animation-delay: 1.5s;
}
@keyframes ai-card-glare {
  0%   { transform: translateX(-120%); opacity: 0; }
  8%   { opacity: 1; }
  55%  { transform: translateX(620%); opacity: 1; }
  62%  { transform: translateX(620%); opacity: 0; }
  100% { transform: translateX(620%); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .ai-card::after,html[data-surface="marketing"] 
  .ai-card__glare::before { animation: none; }
}
html[data-surface="marketing"] .ai-card__inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
html[data-surface="marketing"] .ai-card h3 {
  color: #fff;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 600;
  letter-spacing: -0.015em;
  margin: 0 0 14px;
}
html[data-surface="marketing"] .ai-card p {
  color: rgba(255,255,255,0.86);
  font-size: 16px;
  line-height: 1.55;
  max-width: 560px;
  margin: 0 auto 32px;
}
html[data-surface="marketing"] .ai-card__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
html[data-surface="marketing"] .ai-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: 999px;
  background: rgba(255,255,255,0.96);
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
  box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 8px 20px rgba(7,7,13,0.12);
}
html[data-surface="marketing"] .ai-pill:hover {
  transform: translateY(-2px);
  background: #fff;
  box-shadow: 0 1px 0 rgba(255,255,255,0.8) inset, 0 14px 28px rgba(7,7,13,0.18);
}
html[data-surface="marketing"] .ai-pill__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: var(--ink);
}
html[data-surface="marketing"] .ai-pill__arrow {
  margin-left: 2px;
  opacity: 0.7;
  transition: transform .25s ease, opacity .25s ease;
}
html[data-surface="marketing"] .ai-pill:hover .ai-pill__arrow {
  transform: translateX(3px);
  opacity: 1;
}
html[data-surface="marketing"] .ai-pill--dark {
  background: var(--ink);
  color: #fff;
  box-shadow: 0 8px 20px rgba(7,7,13,0.28);
  border: 1px solid rgba(255,255,255,.22);
}
html[data-surface="marketing"] .ai-pill--dark:hover {
  background: #000;
  box-shadow: 0 14px 28px rgba(7,7,13,0.36);
}
html[data-surface="marketing"] .ai-pill--dark .ai-pill__arrow { color: #fff; }

@media (max-width: 720px) {
  html[data-surface="marketing"] .prefooter__headline { font-size: clamp(26px, 7vw, 40px); margin-bottom: 28px; }
  html[data-surface="marketing"] .ai-card__pills { gap: 8px; }
  html[data-surface="marketing"] .ai-pill { padding: 10px 16px; font-size: 14px; }
}

/* =========================================================
   CHANNELS BENTO — "Liquidity, everywhere you work"
   Replaces the old .integrations image grid. Responsive bento
   of 4 pure-CSS animated tiles, indigo-glass theme.
   ========================================================= */
html[data-surface="marketing"] .cbento{
  --cb-indigo:#DFFF92; --cb-indigo-2:#CDFF55; --cb-indigo-bg:#F4FAE5;
  --cb-ink:#000000; --cb-t2:#4A5163; --cb-t3:#8A92A6;
  --cb-green:#DFFF92; --cb-green-bg:#F4FAE5; --cb-line:#EAECF4; --cb-w:#fff;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:232px;
  gap:20px;
}
html[data-surface="marketing"] .cb{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  padding:20px;
  border-radius:var(--radius-lg);
  background:var(--glass-bg-elev);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));
          backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border:1px solid var(--glass-border);
  border-top-color:var(--glass-border-top);
  box-shadow:var(--shadow-glass);
  transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out);
}
html[data-surface="marketing"] .cb:hover{transform:translateY(-4px);box-shadow:0 30px 60px -24px rgba(223, 255, 146,.4),var(--shadow-glass)}
html[data-surface="marketing"] .cb{min-width:0}
html[data-surface="marketing"] .cb--hero{grid-column:span 2;grid-row:span 2}
html[data-surface="marketing"] .cb--wide{grid-column:span 2}
html[data-surface="marketing"] .cb__stage{position:relative;flex:1;min-width:0;min-height:0;margin-bottom:22px}
html[data-surface="marketing"] .cb__cap h4{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--cb-ink);letter-spacing:-.02em;margin:0 0 4px}
html[data-surface="marketing"] .cb__cap p{font-size:13.5px;line-height:1.45;color:var(--cb-t2);margin:0}
html[data-surface="marketing"] .cb--hero .cb__cap h4{font-size:22px}
html[data-surface="marketing"] .cb--hero .cb__cap p{font-size:14.5px;max-width:340px}
html[data-surface="marketing"] .cb__mock{position:absolute;background:var(--cb-w);border:1px solid var(--cb-line);box-shadow:0 14px 34px rgba(16,36,62,.10)}
html[data-surface="marketing"] .cb-cur{position:absolute;z-index:6;filter:drop-shadow(0 2px 3px rgba(14,19,32,.3))}

/* ---------- shared tiny bits ---------- */
html[data-surface="marketing"] .cb-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;border-radius:999px;padding:4px 9px}
html[data-surface="marketing"] .cb-chip--indigo{color:var(--cb-ink);background:var(--cb-indigo-bg)}
html[data-surface="marketing"] .cb-chip--green{color:#000;background:var(--cb-green-bg)}
html[data-surface="marketing"] .cb-btn{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;font-weight:700;color:#000;background:var(--cb-indigo);border-radius:10px}

/* =========================================================
   TILE 1 — In-Store Checkout (hero)  : tap -> approved
   ========================================================= */
html[data-surface="marketing"] .cb__stage--instore{display:flex;align-items:center;justify-content:center}
html[data-surface="marketing"] .pos{
  position:relative;width:100%;max-width:230px;border-radius:18px;background:var(--cb-w);
  border:1px solid var(--cb-line);box-shadow:0 18px 40px rgba(16,36,62,.14);
  padding:16px 16px 18px;
}
html[data-surface="marketing"] .pos__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
html[data-surface="marketing"] .pos__brand{background:var(--cb-ink);border-radius:7px;padding:5px 9px}
html[data-surface="marketing"] .pos__brand img{height:14px;display:block;filter:brightness(0) invert(1)}
html[data-surface="marketing"] .pos__amt{font-family:var(--font-display);font-size:30px;font-weight:600;color:var(--cb-ink);letter-spacing:-.03em;text-align:center;margin-bottom:4px}
html[data-surface="marketing"] .pos__amt span{font-size:14px;color:var(--cb-t3);font-weight:600;margin-right:4px}
html[data-surface="marketing"] .pos__sub{text-align:center;font-size:11px;color:var(--cb-t3);margin-bottom:16px}
html[data-surface="marketing"] .pos__btn{position:relative;height:46px;border-radius:12px;animation:cbPosBtn 6s infinite}
@keyframes cbPosBtn{0%,55%{transform:scale(1);opacity:1}60%{transform:scale(.96)}63%{transform:scale(1)}72%{opacity:1}74%,100%{opacity:0;transform:scale(.98)}}
html[data-surface="marketing"] .pos__ripple{position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;border:2px solid #fff;transform:translate(-50%,-50%);opacity:0;animation:cbRipple 6s infinite}
@keyframes cbRipple{0%,40%{opacity:0;transform:translate(-50%,-50%) scale(.4)}46%{opacity:.9;transform:translate(-50%,-50%) scale(.5)}58%{opacity:0;transform:translate(-50%,-50%) scale(3.4)}100%{opacity:0}}
html[data-surface="marketing"] .pos__cur{left:54%;bottom:30px;opacity:0;animation:cbPosCur 6s infinite}
@keyframes cbPosCur{0%,20%{opacity:0;transform:translate(40px,34px)}30%{opacity:1;transform:translate(40px,34px)}48%{opacity:1;transform:translate(0,0)}52%{transform:translate(0,0) scale(.82)}57%{transform:translate(0,0) scale(1)}66%{opacity:1}70%,100%{opacity:0}}
html[data-surface="marketing"] .pos__done{position:absolute;inset:0;border-radius:18px;background:var(--cb-w);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;opacity:0;animation:cbPosDone 6s infinite}
@keyframes cbPosDone{0%,72%{opacity:0;transform:translateY(10px)}78%{opacity:1;transform:translateY(0)}93%{opacity:1}97%,100%{opacity:0}}
html[data-surface="marketing"] .pos__tick{width:54px;height:54px;border-radius:50%;background:var(--cb-green-bg);display:flex;align-items:center;justify-content:center}
html[data-surface="marketing"] .pos__done b{font-family:var(--font-display);font-size:17px;color:var(--cb-ink);font-weight:600}
html[data-surface="marketing"] .pos__done small{font-size:12px;color:var(--cb-t3)}

/* =========================================================
   TILE 2 — Online (wide) : cursor clicks Pay with Fina -> Paid
   ========================================================= */
html[data-surface="marketing"] .cb__stage--online{display:flex;align-items:center;justify-content:center}
html[data-surface="marketing"] .browser{position:relative;width:100%;max-width:300px;border-radius:13px;overflow:hidden;background:var(--cb-w);border:1px solid var(--cb-line);box-shadow:0 16px 36px rgba(16,36,62,.12)}
html[data-surface="marketing"] .browser__bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#F7F8FC;border-bottom:1px solid var(--cb-line)}
html[data-surface="marketing"] .browser__bar i{width:8px;height:8px;border-radius:50%;background:#D9DEEC;display:block}
html[data-surface="marketing"] .browser__url{margin-left:8px;flex:1;height:16px;border-radius:999px;background:#fff;border:1px solid var(--cb-line);display:flex;align-items:center;padding:0 9px;font-size:9px;color:var(--cb-t3);font-weight:600}
html[data-surface="marketing"] .browser__body{padding:14px}
html[data-surface="marketing"] .browser__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
html[data-surface="marketing"] .browser__row .sk{height:7px;border-radius:999px;background:var(--cb-line)}
html[data-surface="marketing"] .browser__row b{font-size:12px;color:var(--cb-ink);font-weight:700}
html[data-surface="marketing"] .browser__btn{position:relative;height:38px;margin-top:4px;animation:cbWebBtn 5.5s infinite}
@keyframes cbWebBtn{0%,58%{opacity:1;transform:scale(1)}62%{transform:scale(.97)}66%{transform:scale(1)}74%{opacity:1}77%,100%{opacity:0}}
html[data-surface="marketing"] .browser__paid{position:absolute;left:14px;right:14px;bottom:14px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--text-2);background:var(--bg-soft);opacity:0;animation:cbWebPaid 5.5s infinite}
@keyframes cbWebPaid{0%,74%{opacity:0;transform:translateY(8px)}80%{opacity:1;transform:translateY(0)}95%{opacity:1}99%,100%{opacity:0}}
html[data-surface="marketing"] .online__cur{right:24px;bottom:22px;opacity:0;animation:cbWebCur 5.5s infinite}
@keyframes cbWebCur{0%,30%{opacity:0;transform:translate(34px,30px)}40%{opacity:1;transform:translate(34px,30px)}58%{opacity:1;transform:translate(0,0)}62%{transform:translate(0,0) scale(.82)}67%{transform:translate(0,0) scale(1)}72%{opacity:1}76%,100%{opacity:0}}

/* =========================================================
   TILE 3 — ERP : Fina Button glows, emits Pay Later link
   ========================================================= */
html[data-surface="marketing"] .erp{position:absolute;inset:0;display:flex;flex-direction:column;gap:7px;justify-content:center}
html[data-surface="marketing"] .erp__row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--cb-w);border:1px solid var(--cb-line);border-radius:9px}
html[data-surface="marketing"] .erp__row .dot{width:6px;height:6px;border-radius:50%;background:var(--cb-indigo-2);flex:none}
html[data-surface="marketing"] .erp__row .sk{height:6px;border-radius:999px;background:var(--cb-line);flex:1}
html[data-surface="marketing"] .erp__row .amt{font-size:11px;font-weight:700;color:var(--cb-ink)}
html[data-surface="marketing"] .erp__row--live{animation:cbErpGlow 5s infinite}
@keyframes cbErpGlow{0%,30%{box-shadow:0 0 0 0 rgba(223,255,146,0);border-color:var(--cb-line)}40%,70%{box-shadow:0 0 0 4px rgba(223, 255, 146,.14);border-color:var(--cb-indigo)}85%,100%{box-shadow:0 0 0 0 rgba(223,255,146,0);border-color:var(--cb-line)}}
html[data-surface="marketing"] .erp__btn{font-size:10px;font-weight:700;color:#000;background:var(--cb-indigo);border-radius:6px;padding:4px 8px;white-space:nowrap}
html[data-surface="marketing"] .erp__link{position:absolute;left:50%;bottom:0;transform:translateX(-50%);white-space:nowrap;font-size:10px;padding:4px 8px;opacity:0;animation:cbErpLink 5s infinite}
@keyframes cbErpLink{0%,42%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.9)}50%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}80%{opacity:1}88%,100%{opacity:0}}

/* =========================================================
   TILE 4 — Omni Channel : link bubble + channels light up
   ========================================================= */
html[data-surface="marketing"] .omni{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:12px}
html[data-surface="marketing"] .omni__bubble{align-self:flex-start;max-width:90%;background:var(--cb-indigo-bg);border-radius:12px 12px 12px 3px;padding:9px 11px;opacity:0;animation:cbOmniBubble 5.5s infinite}
@keyframes cbOmniBubble{0%,8%{opacity:0;transform:translateY(8px) scale(.96)}16%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:1}}
html[data-surface="marketing"] .omni__bubble .lab{font-size:9px;font-weight:800;letter-spacing:.4px;color:var(--cb-ink);margin-bottom:5px}
html[data-surface="marketing"] .omni__bubble .link{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--cb-ink)}
html[data-surface="marketing"] .omni__chans{display:flex;gap:9px;justify-content:center}
html[data-surface="marketing"] .omni__chans i{width:30px;height:30px;border-radius:9px;background:var(--cb-w);border:1px solid var(--cb-line);display:flex;align-items:center;justify-content:center;color:var(--cb-t3)}
html[data-surface="marketing"] .omni__chans i:nth-child(1){animation:cbOmniCh 5.5s infinite}
html[data-surface="marketing"] .omni__chans i:nth-child(2){animation:cbOmniCh 5.5s infinite;animation-delay:.5s}
html[data-surface="marketing"] .omni__chans i:nth-child(3){animation:cbOmniCh 5.5s infinite;animation-delay:1s}
html[data-surface="marketing"] .omni__chans i:nth-child(4){animation:cbOmniCh 5.5s infinite;animation-delay:1.5s}
@keyframes cbOmniCh{0%,30%{background:var(--cb-w);border-color:var(--cb-line);color:var(--cb-t3);transform:translateY(0)}40%{background:var(--cb-indigo);border-color:var(--cb-indigo);color:#000;transform:translateY(-4px)}55%,100%{background:var(--cb-w);border-color:var(--cb-line);color:var(--cb-t3);transform:translateY(0)}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  html[data-surface="marketing"] .cbento *{animation:none!important}
  html[data-surface="marketing"] .pos__done,html[data-surface="marketing"] .browser__paid,html[data-surface="marketing"] .erp__link{opacity:0!important}
  html[data-surface="marketing"] .cb-cur{opacity:0!important}
  html[data-surface="marketing"] .omni__bubble{opacity:1!important;transform:none!important}
}

/* ---------- responsive ---------- */
@media (max-width: 900px){
  html[data-surface="marketing"] .cbento{grid-template-columns:repeat(2,1fr);grid-auto-rows:224px}
  html[data-surface="marketing"] .cb--hero{grid-column:span 2;grid-row:span 1;min-height:320px}
  html[data-surface="marketing"] .cb--wide{grid-column:span 2}
}
@media (max-width: 540px){
  html[data-surface="marketing"] .cbento{grid-template-columns:1fr;grid-auto-rows:auto}
  html[data-surface="marketing"] .cb,html[data-surface="marketing"] .cb--hero,html[data-surface="marketing"] .cb--wide{grid-column:span 1}
  html[data-surface="marketing"] .cb__stage{height:200px;flex:none}
  html[data-surface="marketing"] .cb--hero .cb__stage{height:240px}
}

/* =========================================================
   BUYERS WORKFLOW BENTO — unique animations (distinct from the
   homepage channel bento). Reuses .cbento/.cb layout + --cb-*
   tokens; only the stage internals differ.
   ========================================================= */

html[data-surface="marketing"] .bw-pos{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
/* ---- A. POS / In-Store : premium STRAIGHT-ON front-view device composition,
   in the same titanium frame language as the approved buyer control-panel phone.
   A landscape tablet register (titanium gradient frame, hairline light border,
   camera dot, thin uniform bezel) sits on a low minimal stand — short neck +
   slim rounded foot bar. Its screen runs a DENSE Foodics-style register UI:
   slim category rail · small filter chips · 3×3 grid of compact product tiles
   · a tight order ticket (order row, line items, subtotal + VAT, Grand Total,
   Pay with Fina). A front-view handheld terminal (receipt-printer hump)
   overlaps the tablet's lower corner; depth comes from overlap + layered soft
   shadows, never from 3D transforms. Payment beat: once the totals settle a
   detailed contactless card (chip · waves · embossed digits) slides in and
   TAPS the handheld — NFC ripple rings — both devices flip to Approved / Done
   and a small receipt prints out of the hump. Single calm ~6s loop:
   order builds → totals settle → card taps handheld → Approved → receipt. */
html[data-surface="marketing"] .fpos{
  --fp-ti1:#3E4453; --fp-ti2:#262B37; --fp-ti3:#141824; --fp-ti4:#0A0D15;
  --fp-scr:#F4F6FB; --fp-ink:var(--cb-ink); --fp-t2:var(--cb-t2); --fp-t3:var(--cb-t3);
  --fp-indigo:var(--cb-indigo); --fp-green:var(--cb-green); --fp-amber:#F59E0B;
  position:relative;width:352px;height:300px;
  display:flex;align-items:center;justify-content:center;
}
/* soft elliptical ground shadow under the stand foot */
html[data-surface="marketing"] .fpos__shadow{position:absolute;z-index:0;left:50%;bottom:26px;width:276px;height:26px;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(14,19,32,.20),rgba(14,19,32,0) 68%);filter:blur(1px)}

/* ---------- Countertop tablet register on a low minimal stand ---------- */
html[data-surface="marketing"] .fpos__tablet{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
/* landscape tablet: titanium gradient frame + hairline light border, thin
   uniform bezel — the same frame recipe as the approved phone */
html[data-surface="marketing"] .fpos__slab{position:relative;z-index:2;width:300px;padding:8px;border-radius:18px;
  background:linear-gradient(165deg,var(--fp-ti1) 0%,var(--fp-ti2) 34%,var(--fp-ti3) 68%,var(--fp-ti4) 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.10),inset 0 -1px 1px rgba(0,0,0,.45),
    0 24px 44px -30px rgba(14,19,32,.55),0 8px 18px -12px rgba(14,19,32,.28)}
/* titanium edge buttons on the top rim — power right, volume left */
html[data-surface="marketing"] .fpos__slab::before{content:"";position:absolute;top:-4px;right:38px;width:32px;height:3px;
  border-radius:2px;background:linear-gradient(90deg,#4A5060,#20242F)}
html[data-surface="marketing"] .fpos__slab::after{content:"";position:absolute;top:-4px;left:42px;width:18px;height:3px;
  border-radius:2px;background:linear-gradient(90deg,#4A5060,#20242F)}
/* front camera dot centered in the top bezel */
html[data-surface="marketing"] .fpos__cam{position:absolute;z-index:3;top:2px;left:50%;transform:translateX(-50%);
  width:4px;height:4px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#2B3242,#05060A 72%)}
/* screen: three panes — category rail · menu · order/receipt. DENSE register
   scale: everything ~30% smaller than a demo mock so it reads like real
   Foodics-style software at a glance. */
html[data-surface="marketing"] .fpos__screen{position:relative;display:flex;gap:5px;height:184px;padding:6px;
  border-radius:10px;background:var(--fp-scr);overflow:hidden;box-shadow:inset 0 1px 3px rgba(14,19,32,.14)}
/* LEFT — slim colored category rail + Fina mark */
html[data-surface="marketing"] .fpos__rail{flex:none;width:18px;display:flex;flex-direction:column;align-items:center;gap:4px}
html[data-surface="marketing"] .fpos__logo{width:16px;height:16px;border-radius:5px;background:var(--fp-indigo);color:#000;
  font-family:var(--font-display);font-weight:700;font-size:9px;display:flex;align-items:center;justify-content:center;margin-bottom:1px}
html[data-surface="marketing"] .fpos__rail>i{position:relative;width:14px;height:14px;border-radius:5px;background:#fff;border:1px solid var(--cb-line);flex:none}
html[data-surface="marketing"] .fpos__rail>i::after{content:"";position:absolute;inset:3.5px;border-radius:2px}
html[data-surface="marketing"] .fpos__rail>i.c1::after{background:var(--fp-green)}
html[data-surface="marketing"] .fpos__rail>i.c2::after{background:var(--fp-amber)}
html[data-surface="marketing"] .fpos__rail>i.c3::after{background:#5E6BF6}
html[data-surface="marketing"] .fpos__rail>i.c4::after{background:#EC6A9C}
html[data-surface="marketing"] .fpos__rail>i.c5::after{background:#9EA6FA}
html[data-surface="marketing"] .fpos__rail>i.is-on{border-color:var(--fp-indigo);box-shadow:0 0 0 1px var(--fp-indigo)}
/* MIDDLE — small filter chips + dense 3×3 product grid */
html[data-surface="marketing"] .fpos__main{flex:1.5;display:flex;flex-direction:column;gap:4px;min-width:0}
html[data-surface="marketing"] .fpos__chips{display:flex;gap:3px}
html[data-surface="marketing"] .fpos__chips span{font-size:6px;font-weight:700;color:var(--fp-t2);background:#fff;
  border:1px solid var(--cb-line);border-radius:999px;padding:2.5px 5px;white-space:nowrap}
html[data-surface="marketing"] .fpos__chips .is-on{color:#000;background:var(--fp-indigo);border-color:var(--fp-indigo)}
html[data-surface="marketing"] .fpos__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;align-content:start;min-height:0}
html[data-surface="marketing"] .fpos__item{position:relative;display:flex;flex-direction:column;gap:1.5px;background:#fff;
  border:1px solid var(--cb-line);border-radius:5px;padding:3px}
html[data-surface="marketing"] .fpos__thumb{position:relative;height:20px;border-radius:3.5px;background:#DDE1EC;overflow:hidden}
html[data-surface="marketing"] .fpos__thumb::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.4),transparent 55%)}
html[data-surface="marketing"] .fpos__thumb.t-flat{background:linear-gradient(135deg,#D6D2CB,#8B8680)}
html[data-surface="marketing"] .fpos__thumb.t-esp{background:linear-gradient(135deg,#B8B3AB,#5C574F)}
html[data-surface="marketing"] .fpos__thumb.t-latte{background:linear-gradient(135deg,#E4E0D8,#B0AAA0)}
html[data-surface="marketing"] .fpos__thumb.t-cold{background:linear-gradient(135deg,#D0D3D8,#767C87)}
html[data-surface="marketing"] .fpos__thumb.t-crois{background:linear-gradient(135deg,#DDD7C8,#A69C86)}
html[data-surface="marketing"] .fpos__thumb.t-muf{background:linear-gradient(135deg,#D4D0D8,#8D8794)}
html[data-surface="marketing"] .fpos__thumb.t-tea{background:linear-gradient(135deg,#DAD2C4,#A2937A)}
html[data-surface="marketing"] .fpos__thumb.t-cook{background:linear-gradient(135deg,#D2CBBC,#8C8271)}
html[data-surface="marketing"] .fpos__thumb.t-cake{background:linear-gradient(135deg,#DAD3D4,#A69CA0)}
html[data-surface="marketing"] .fpos__item b{font-size:6px;font-weight:700;color:var(--fp-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-surface="marketing"] .fpos__item em{font-family:var(--font-display);font-style:normal;font-size:6px;font-weight:600;color:var(--fp-ink);direction:ltr;unicode-bidi:isolate}
html[data-surface="marketing"] .fpos__item--t1{animation:fposItem1 6s infinite}
html[data-surface="marketing"] .fpos__item--t2{animation:fposItem2 6s infinite}
/* RIGHT — dense order ticket: order row · line items · subtotal/VAT ·
   Grand Total · Pay · terms · action row */
html[data-surface="marketing"] .fpos__order{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff;
  border:1px solid var(--cb-line);border-radius:7px;padding:6px}
html[data-surface="marketing"] .fpos__ohead{display:flex;align-items:center;justify-content:space-between;gap:3px;margin-bottom:4px}
html[data-surface="marketing"] .fpos__ohead b{font-size:6.5px;font-weight:800;letter-spacing:.03em;color:var(--fp-ink);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-surface="marketing"] .fpos__stat{flex:none;font-size:5px;font-weight:700;color:#000;background:var(--cb-green-bg);border-radius:999px;padding:1.5px 4px;white-space:nowrap}
html[data-surface="marketing"] .fpos__lines{display:flex;flex-direction:column;gap:2.5px}
html[data-surface="marketing"] .fpos__line{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:6px;font-weight:600;color:var(--fp-t2)}
html[data-surface="marketing"] .fpos__line span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
html[data-surface="marketing"] .fpos__line em{flex:none;font-family:var(--font-display);font-style:normal;font-weight:600;color:var(--fp-ink);direction:ltr;unicode-bidi:isolate}
html[data-surface="marketing"] .fpos__line--1{animation:fposLine1 6s infinite}
html[data-surface="marketing"] .fpos__line--2{animation:fposLine2 6s infinite}
html[data-surface="marketing"] .fpos__div{height:0;border-top:1px dashed var(--cb-line);margin:3.5px 0}
/* small subtotal / VAT rows — values swap with the same beats as the total */
html[data-surface="marketing"] .fpos__sub{display:flex;align-items:baseline;justify-content:space-between;gap:4px;
  font-size:5.5px;font-weight:600;color:var(--fp-t3);margin-top:1px}
html[data-surface="marketing"] .fpos__sub span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
html[data-surface="marketing"] .fpos__swap{position:relative;display:inline-block;height:7px;min-width:30px;flex:none;text-align:end;
  font-family:var(--font-display);font-size:6px;font-weight:600;color:var(--fp-t2);direction:ltr;unicode-bidi:isolate}
html[data-surface="marketing"] .fpos__swap i{position:absolute;inset-inline-end:0;top:0;font-style:normal;white-space:nowrap}
html[data-surface="marketing"] .fpos__swap .a1{animation:fposA1 6s infinite}
html[data-surface="marketing"] .fpos__swap .a2{opacity:0;animation:fposA2 6s infinite}
html[data-surface="marketing"] .fpos__swap .a3{opacity:0;animation:fposA3 6s infinite}
/* Grand Total — small caps label, Bricolage amount on its own row */
html[data-surface="marketing"] .fpos__total{display:flex;flex-direction:column;margin-top:3px}
html[data-surface="marketing"] .fpos__total>span{font-size:5.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--fp-t3)}
html[data-surface="marketing"] .fpos__amt{position:relative;display:block;height:14px;text-align:end;
  font-family:var(--font-display);font-size:12.5px;font-weight:700;color:var(--fp-ink);direction:ltr;unicode-bidi:isolate}
html[data-surface="marketing"] .fpos__amt i{position:absolute;inset-inline-end:0;top:0;font-style:normal;white-space:nowrap}
html[data-surface="marketing"] .fpos__amt .a1{animation:fposA1 6s infinite}
html[data-surface="marketing"] .fpos__amt .a2{opacity:0;animation:fposA2 6s infinite}
html[data-surface="marketing"] .fpos__amt .a3{opacity:0;animation:fposA3 6s infinite}
html[data-surface="marketing"] .fpos__pay{position:relative;height:19px;border-radius:5px;overflow:hidden;margin-top:4px}
html[data-surface="marketing"] .fpos__pay span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;font-size:7px;font-weight:700;color:#000}
html[data-surface="marketing"] .fpos__pay-idle{background:var(--fp-indigo);animation:fposPayIdle 6s infinite}
html[data-surface="marketing"] .fpos__pay-ok{background:var(--fp-green);opacity:0;animation:fposPayOk 6s infinite}
html[data-surface="marketing"] .fpos__terms{margin-top:3px;font-size:5.5px;font-weight:600;color:var(--fp-t3);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-surface="marketing"] .fpos__acts{display:flex;gap:3px;margin-top:auto;padding-top:3px}
html[data-surface="marketing"] .fpos__acts i{flex:1;height:6px;border-radius:3px}
html[data-surface="marketing"] .fpos__acts .a-grn{background:var(--fp-green)}
html[data-surface="marketing"] .fpos__acts .a-amb{background:var(--fp-amber)}
html[data-surface="marketing"] .fpos__acts .a-ink{background:#2A3140}
/* tap ripples on menu items + pay button */
html[data-surface="marketing"] .fpos__tap{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;
  border-radius:50%;border:1.5px solid var(--fp-indigo);opacity:0;pointer-events:none}
html[data-surface="marketing"] .fpos__item--t1 .fpos__tap{animation:fposTap1 6s infinite}
html[data-surface="marketing"] .fpos__item--t2 .fpos__tap{animation:fposTap2 6s infinite}
html[data-surface="marketing"] .fpos__tap--pay{border-color:#fff;animation:fposPayTap 6s infinite}
/* the LOW MINIMAL stand — a short titanium neck + a slim rounded foot bar;
   small and understated, the device is the hero */
html[data-surface="marketing"] .fpos__wedge{position:relative;z-index:1;margin-top:-2px;width:54px;height:15px;
  background:linear-gradient(180deg,#2A303C,#12161F);
  border-radius:0 0 9px 9px;
  box-shadow:inset 0 -1px 1px rgba(0,0,0,.4),inset 1px 0 0 rgba(255,255,255,.06)}
/* slim rounded foot bar */
html[data-surface="marketing"] .fpos__wedge::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);
  width:132px;height:9px;border-radius:999px;
  background:linear-gradient(180deg,#3E4453,#171B26);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.14),inset 0 -1px 1px rgba(0,0,0,.4),
    0 10px 14px -7px rgba(14,19,32,.45)}

/* ---------- Handheld terminal (front view, same titanium language) ----------
   overlaps the tablet's lower corner for depth — overlap + shadow, no rotation */
html[data-surface="marketing"] .fpos__hand{position:absolute;z-index:4;left:-10px;bottom:12px;width:84px;display:flex;flex-direction:column;align-items:center}
/* its own small elliptical ground shadow */
html[data-surface="marketing"] .fpos__hand::after{content:"";position:absolute;z-index:-1;left:6%;right:6%;bottom:-7px;height:11px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(14,19,32,.28),rgba(14,19,32,0) 70%);filter:blur(1px)}
html[data-surface="marketing"] .fpos__hump{position:relative;width:56px;height:15px;border-radius:9px 9px 3px 3px;margin-bottom:-5px;z-index:2;
  background:linear-gradient(180deg,#3E4453,#141824);
  border:1px solid rgba(255,255,255,.14);border-bottom:none;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.12)}
html[data-surface="marketing"] .fpos__hump::after{content:"";position:absolute;left:50%;top:6px;transform:translateX(-50%);width:36px;height:2px;border-radius:2px;background:#05070c}
html[data-surface="marketing"] .fpos__hbody{position:relative;z-index:1;width:84px;border-radius:14px;padding:7px;
  background:linear-gradient(165deg,var(--fp-ti1) 0%,var(--fp-ti2) 34%,var(--fp-ti3) 68%,var(--fp-ti4) 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.10),inset 0 -1px 1px rgba(0,0,0,.45),
    0 20px 34px -22px rgba(14,19,32,.6),0 6px 14px -8px rgba(14,19,32,.3)}
/* tiny titanium side button on the handheld's right edge */
html[data-surface="marketing"] .fpos__hbody::before{content:"";position:absolute;right:-3px;top:26px;width:3px;height:18px;
  border-radius:2px;background:linear-gradient(180deg,#4A5060,#20242F)}
html[data-surface="marketing"] .fpos__hscreen{border-radius:7px;background:var(--fp-scr);padding:5px;display:flex;flex-direction:column;gap:3.5px;box-shadow:inset 0 1px 2px rgba(14,19,32,.14)}
html[data-surface="marketing"] .fpos__hhead{display:flex;align-items:center;justify-content:space-between;gap:3px}
html[data-surface="marketing"] .fpos__hlogo{font-family:var(--font-display);font-size:6.5px;font-weight:700;color:#000;background:var(--fp-indigo);border-radius:4px;padding:1.5px 4px}
html[data-surface="marketing"] .fpos__hhead b{font-size:6.5px;font-weight:700;color:var(--fp-ink)}
html[data-surface="marketing"] .fpos__hlines{display:flex;flex-direction:column;gap:2.5px}
html[data-surface="marketing"] .fpos__hline{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:6px;font-weight:600;color:var(--fp-t2)}
html[data-surface="marketing"] .fpos__hline span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
html[data-surface="marketing"] .fpos__hline em{flex:none;font-style:normal;font-family:var(--font-display);font-weight:600;color:var(--fp-ink);direction:ltr;unicode-bidi:isolate}
html[data-surface="marketing"] .fpos__hline--2{animation:fposLine2 6s infinite}
html[data-surface="marketing"] .fpos__htot{display:flex;align-items:baseline;justify-content:space-between;gap:3px;border-top:1px dashed var(--cb-line);padding-top:3.5px}
html[data-surface="marketing"] .fpos__htot>span{flex:none;font-size:6px;font-weight:800;color:var(--fp-ink);white-space:nowrap}
html[data-surface="marketing"] .fpos__hamt{position:relative;display:inline-block;height:10px;flex:1;min-width:0;text-align:end;
  font-family:var(--font-display);font-size:8px;font-weight:700;color:var(--fp-ink);direction:ltr;unicode-bidi:isolate}
html[data-surface="marketing"] .fpos__hamt i{position:absolute;inset-inline-end:0;top:0;font-style:normal;white-space:nowrap}
html[data-surface="marketing"] .fpos__hamt .a1{animation:fposHA1 6s infinite}
html[data-surface="marketing"] .fpos__hamt .a2{opacity:0;animation:fposHA2 6s infinite}
html[data-surface="marketing"] .fpos__hpay{position:relative;height:15px;border-radius:5px;overflow:hidden;margin-top:1px}
html[data-surface="marketing"] .fpos__hpay span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;font-size:6.5px;font-weight:700;color:#000}
html[data-surface="marketing"] .fpos__hpay-idle{background:var(--fp-indigo);animation:fposPayIdle 6s infinite}
html[data-surface="marketing"] .fpos__hpay-ok{background:var(--fp-green);opacity:0;animation:fposPayOk 6s infinite}
html[data-surface="marketing"] .fpos__hnav{display:flex;gap:4px;justify-content:center;margin-top:1px}
html[data-surface="marketing"] .fpos__hnav i{width:9px;height:3px;border-radius:2px;background:var(--cb-line)}
html[data-surface="marketing"] .fpos__hnav i:first-child{background:var(--fp-indigo);width:12px}

/* ---------- Receipt printing out of the hump ----------
   a clipped slot sits above the handheld; the paper sliver (two printed
   lines: amount + APPROVED · FINA) steps upward once payment is Done */
html[data-surface="marketing"] .fpos__rslot{position:absolute;z-index:1;left:50%;bottom:calc(100% - 7px);transform:translateX(-50%);
  width:48px;height:31px;overflow:hidden;pointer-events:none}
html[data-surface="marketing"] .fpos__rcpt{position:absolute;left:3px;right:3px;bottom:0;height:27px;
  background:#fff;border:1px solid #E6E8EE;border-bottom:none;border-radius:2px 2px 0 0;
  box-shadow:0 -4px 10px -6px rgba(14,19,32,.4);
  display:flex;flex-direction:column;align-items:center;gap:1.5px;padding-top:4px;
  transform:translateY(103%);animation:fposRcpt 6s infinite}
/* faint torn-edge / print texture at the paper top */
html[data-surface="marketing"] .fpos__rcpt::after{content:"";position:absolute;left:5px;right:5px;bottom:3px;height:2.5px;
  background:repeating-linear-gradient(90deg,#D9DEEA 0 2px,transparent 2px 3.5px);border-radius:1px}
html[data-surface="marketing"] .fpos__rcpt i{font-style:normal;white-space:nowrap;line-height:1.15}
html[data-surface="marketing"] .fpos__rcpt i:first-child{font-family:var(--font-display);font-size:7px;font-weight:700;color:var(--fp-ink);direction:ltr;unicode-bidi:isolate}
html[data-surface="marketing"] .fpos__rcpt i:last-child{font-size:4.2px;font-weight:800;letter-spacing:.05em;color:#000}

/* ---------- Contactless card that TAPS the handheld ----------
   detailed CSS card: indigo gradient body, gold chip, contactless waves,
   embossed digits. Slides in from the outer side, presses against the
   terminal (NFC ripple rings), then withdraws. --cx flips for RTL. */
html[data-surface="marketing"] .fpos__ccard{position:absolute;z-index:6;left:-58px;top:34px;width:50px;height:32px;border-radius:5px;
  --cx:26px;--cpx:3px;
  background:linear-gradient(140deg,#2B2B2B 0,#111111 42%,#000000 78%,#1A1A1A 100%);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.35),0 10px 18px -10px rgba(0,0,0,.45);
  opacity:0;animation:fposCard 6s infinite}
html[data-surface="marketing"] .fpos__ccard::after{content:"";position:absolute;inset:0;border-radius:4px;
  background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.2) 46%,transparent 60%)}
html[data-surface="marketing"] .fpos__ccard .cc-chip{position:absolute;left:5px;top:9px;width:9px;height:7px;border-radius:2px;
  background:linear-gradient(135deg,#F4D98B,#C89B4B);box-shadow:inset 0 0 0 .5px rgba(110,72,16,.55)}
html[data-surface="marketing"] .fpos__ccard .cc-chip::after{content:"";position:absolute;left:1.5px;right:1.5px;top:2.8px;height:1px;background:rgba(110,72,16,.45)}
html[data-surface="marketing"] .fpos__ccard .cc-wave{position:absolute;right:4px;top:4px;width:10px;height:10px}
html[data-surface="marketing"] .fpos__ccard .cc-wave::before,html[data-surface="marketing"] .fpos__ccard .cc-wave::after{content:"";position:absolute;top:50%;right:0;
  border:1.2px solid transparent;border-right-color:rgba(255,255,255,.9);border-radius:50%;transform:translateY(-50%)}
html[data-surface="marketing"] .fpos__ccard .cc-wave::before{width:9px;height:9px}
html[data-surface="marketing"] .fpos__ccard .cc-wave::after{width:4.5px;height:4.5px;right:1px}
html[data-surface="marketing"] .fpos__ccard .cc-num{position:absolute;left:5px;bottom:8px;font-family:var(--font-display);font-size:5px;font-weight:600;
  letter-spacing:.1em;color:#EEF1FF;text-shadow:0 .6px .6px rgba(12,16,60,.6),0 -.3px 0 rgba(255,255,255,.3);
  direction:ltr;unicode-bidi:isolate;white-space:nowrap}
html[data-surface="marketing"] .fpos__ccard .cc-name{position:absolute;left:5px;bottom:2.5px;font-size:3.8px;font-weight:800;
  letter-spacing:.16em;color:rgba(255,255,255,.78)}
/* NFC ripple rings at the tap zone on the handheld */
html[data-surface="marketing"] .fpos__nfc{position:absolute;z-index:7;left:10px;top:35px;width:26px;height:26px;pointer-events:none}
html[data-surface="marketing"] .fpos__nfc::before,html[data-surface="marketing"] .fpos__nfc::after{content:"";position:absolute;inset:0;border-radius:50%;
  border:1.5px solid var(--fp-indigo);opacity:0}
html[data-surface="marketing"] .fpos__nfc::before{animation:fposNfc 6s infinite}
html[data-surface="marketing"] .fpos__nfc::after{animation:fposNfc2 6s infinite}

/* ---- timeline (6s): tap Croissant -> line drops + totals 43.70->71.30 ->
   tap Cold Brew -> line drops + totals ->92.00 -> Pay with Fina pressed ->
   card slides in + taps handheld (NFC rings) -> Approved / Done (both
   devices) -> receipt steps out of the hump -> calm hold -> reset ---- */
@keyframes fposItem1{0%,10%{box-shadow:0 0 0 0 rgba(223,255,146,0);border-color:var(--cb-line)}14%,20%{box-shadow:0 0 0 1.5px var(--fp-indigo);border-color:var(--fp-indigo)}26%,100%{box-shadow:0 0 0 0 rgba(223,255,146,0);border-color:var(--cb-line)}}
@keyframes fposItem2{0%,26%{box-shadow:0 0 0 0 rgba(223,255,146,0);border-color:var(--cb-line)}30%,36%{box-shadow:0 0 0 1.5px var(--fp-indigo);border-color:var(--fp-indigo)}42%,100%{box-shadow:0 0 0 0 rgba(223,255,146,0);border-color:var(--cb-line)}}
@keyframes fposTap1{0%,10%{opacity:0;transform:scale(.4)}13%{opacity:.9}20%,100%{opacity:0;transform:scale(1.6)}}
@keyframes fposTap2{0%,26%{opacity:0;transform:scale(.4)}29%{opacity:.9}36%,100%{opacity:0;transform:scale(1.6)}}
@keyframes fposLine1{0%,12%{opacity:0;transform:translateY(-5px) scale(.96)}18%,94%{opacity:1;transform:none}98%,100%{opacity:0;transform:translateY(-5px) scale(.96)}}
@keyframes fposLine2{0%,29%{opacity:0;transform:translateY(-5px) scale(.96)}35%,94%{opacity:1;transform:none}98%,100%{opacity:0;transform:translateY(-5px) scale(.96)}}
@keyframes fposA1{0%,14%{opacity:1}18%,100%{opacity:0}}
@keyframes fposA2{0%,14%{opacity:0}18%,30%{opacity:1}34%,100%{opacity:0}}
@keyframes fposA3{0%,32%{opacity:0}36%,95%{opacity:1}99%,100%{opacity:0}}
@keyframes fposPayTap{0%,46%{opacity:0;transform:scale(.4)}50%{opacity:.85}58%,100%{opacity:0;transform:scale(1.7)}}
@keyframes fposPayIdle{0%,54%{opacity:1}59%,95%{opacity:0}99%,100%{opacity:1}}
@keyframes fposPayOk{0%,54%{opacity:0}59%,95%{opacity:1}99%,100%{opacity:0}}
@keyframes fposHA1{0%,32%{opacity:1}36%,100%{opacity:0}}
@keyframes fposHA2{0%,32%{opacity:0}36%,95%{opacity:1}99%,100%{opacity:0}}
/* card: slide in from the outer side -> press against the terminal -> hold
   through approval -> withdraw. --cx/--cpx are flipped for RTL. */
@keyframes fposCard{
  0%,36%{opacity:0;transform:translate(0,8px) rotate(12deg)}
  42%{opacity:1}
  47%{transform:translate(var(--cx),0) rotate(-5deg)}
  50%{transform:translate(calc(var(--cx) + var(--cpx)),0) rotate(-4deg)}
  52%,58%{transform:translate(var(--cx),0) rotate(-5deg);opacity:1}
  66%,100%{opacity:0;transform:translate(calc(var(--cx)*.3),12px) rotate(14deg)}}
/* NFC ripple rings while the card is held on the reader */
@keyframes fposNfc{0%,47%{opacity:0;transform:scale(.35)}51%{opacity:.9}59%,100%{opacity:0;transform:scale(1.7)}}
@keyframes fposNfc2{0%,51%{opacity:0;transform:scale(.35)}55%{opacity:.75}63%,100%{opacity:0;transform:scale(1.7)}}
/* receipt: steps out of the hump after Done, holds, is "torn off" at the end */
@keyframes fposRcpt{
  0%,58%{transform:translateY(103%);opacity:1}
  63%{transform:translateY(60%)}
  65%{transform:translateY(60%)}
  70%{transform:translateY(26%)}
  72%{transform:translateY(26%)}
  76%,92%{transform:translateY(0);opacity:1}
  96%,100%{transform:translateY(0);opacity:0}}

/* fit inside shorter stages */
@media (max-width:900px){html[data-surface="marketing"] .fpos{transform:scale(.84)}}
@media (max-width:540px){html[data-surface="marketing"] .fpos{transform:scale(.58)}}
/* RTL: handheld swaps to the opposite corner; pushed further out so it clips
   only the tablet's bezel corner — the order panel (screen stays LTR) sits on
   that side and its Pay/Approved button must stay readable */
html[data-surface="marketing"][dir="rtl"] .fpos__hand{left:auto;right:-36px}
html[data-surface="marketing"][dir="rtl"] .fpos__hbody::before{right:auto;left:-3px}
/* RTL: the card approaches from the outer (right) side and the NFC rings sit
   on the handheld's outer edge; the card face itself stays LTR (chip left) */
html[data-surface="marketing"][dir="rtl"] .fpos__ccard{left:auto;right:-46px;--cx:-30px;--cpx:-3px}
html[data-surface="marketing"][dir="rtl"] .fpos__nfc{left:auto;right:27px}
@media (prefers-reduced-motion:reduce){
  html[data-surface="marketing"] .fpos *,html[data-surface="marketing"] .fpos *::before,html[data-surface="marketing"] .fpos *::after{animation:none!important}
  html[data-surface="marketing"] .fpos__amt .a1,html[data-surface="marketing"] .fpos__amt .a2,html[data-surface="marketing"] .fpos__swap .a1,html[data-surface="marketing"] .fpos__swap .a2{opacity:0!important}
  html[data-surface="marketing"] .fpos__amt .a3,html[data-surface="marketing"] .fpos__swap .a3{opacity:1!important}
  html[data-surface="marketing"] .fpos__hamt .a1{opacity:0!important}html[data-surface="marketing"] .fpos__hamt .a2{opacity:1!important}
  html[data-surface="marketing"] .fpos__line--1,html[data-surface="marketing"] .fpos__line--2,html[data-surface="marketing"] .fpos__hline--2{opacity:1!important;transform:none!important}
  html[data-surface="marketing"] .fpos__pay-idle,html[data-surface="marketing"] .fpos__hpay-idle{opacity:0!important}
  html[data-surface="marketing"] .fpos__pay-ok,html[data-surface="marketing"] .fpos__hpay-ok{opacity:1!important}
  html[data-surface="marketing"] .fpos__item--t1,html[data-surface="marketing"] .fpos__item--t2{box-shadow:0 0 0 1px var(--fp-indigo)!important;border-color:var(--fp-indigo)!important}
  html[data-surface="marketing"] .fpos__tap{opacity:0!important}
  /* settled payment moment: card resting on the reader, receipt printed */
  html[data-surface="marketing"] .fpos__ccard{opacity:1!important;transform:translate(var(--cx),0) rotate(-5deg)!important}
  html[data-surface="marketing"] .fpos__rcpt{transform:translateY(0)!important;opacity:1!important}
}


/* ---- B. ERP & Checkout : Fina Pay-Later option slides into checkout ---- */
html[data-surface="marketing"] .bw-co{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:2px}
html[data-surface="marketing"] .bw-co__logos{display:flex;gap:6px;justify-content:center;margin-bottom:2px}
html[data-surface="marketing"] .bw-co__logos span{font-size:9px;font-weight:700;color:var(--cb-t3);background:var(--cb-w);border:1px solid var(--cb-line);border-radius:6px;padding:3px 8px;animation:bwLogo 4.5s infinite}
html[data-surface="marketing"] .bw-co__logos span:nth-child(2){animation-delay:.4s}
html[data-surface="marketing"] .bw-co__logos span:nth-child(3){animation-delay:.8s}
@keyframes bwLogo{0%,100%{opacity:.5;color:var(--cb-t3);border-color:var(--cb-line)}18%{opacity:1;color:var(--cb-ink);border-color:var(--cb-indigo)}36%{opacity:.5}}
html[data-surface="marketing"] .bw-co__row{display:flex;align-items:center;gap:9px;background:var(--cb-w);border:1px solid var(--cb-line);border-radius:9px;padding:9px 11px}
html[data-surface="marketing"] .bw-co__row .rb{width:13px;height:13px;border-radius:50%;border:2px solid var(--cb-line);flex:none}
html[data-surface="marketing"] .bw-co__row .sk{height:6px;border-radius:999px;background:var(--cb-line)}
html[data-surface="marketing"] .bw-co__fina{position:relative;border-color:var(--cb-indigo);background:rgba(223, 255, 146,.06);opacity:0;animation:bwFina 4.5s infinite}
html[data-surface="marketing"] .bw-co__fina .rb{border-color:var(--cb-indigo);background:radial-gradient(circle at center,var(--cb-indigo) 0 3.5px,transparent 4.5px)}
html[data-surface="marketing"] .bw-co__fina b{font-size:11px;font-weight:700;color:var(--cb-ink)}
html[data-surface="marketing"] .bw-co__fina .tick{margin-left:auto;color:var(--cb-ink);display:flex;opacity:0;animation:bwTick 4.5s infinite}
@keyframes bwFina{0%,28%{opacity:0;transform:translateY(12px)}40%{opacity:1;transform:translateY(0)}48%{box-shadow:0 0 0 4px rgba(223, 255, 146,.14)}60%{box-shadow:0 0 0 0 rgba(223,255,146,0)}100%{opacity:1}}
@keyframes bwTick{0%,55%{opacity:0;transform:scale(.5)}64%{opacity:1;transform:scale(1)}100%{opacity:1}}

/* ---- C. WhatsApp & Sales : chat thread -> link -> paid ---- */
html[data-surface="marketing"] .bw-wa{position:absolute;inset:0;display:flex;flex-direction:column;gap:7px;padding:8px 6px;justify-content:center}
html[data-surface="marketing"] .bw-wa__b{max-width:82%;font-size:10.5px;line-height:1.3;padding:7px 10px;border-radius:12px;opacity:0}
html[data-surface="marketing"] .bw-wa__in{align-self:flex-start;background:var(--cb-w);border:1px solid var(--cb-line);color:var(--cb-ink);border-bottom-left-radius:3px;animation:bwBub 6s infinite}
html[data-surface="marketing"] .bw-wa__out{align-self:flex-end;background:#d8f5e4;color:#0b3d28;border-bottom-right-radius:3px;animation:bwBub 6s infinite;animation-delay:1.1s}
html[data-surface="marketing"] .bw-wa__link{align-self:flex-end;display:flex;align-items:center;gap:6px;background:var(--cb-indigo);color:#000;font-weight:700;border-radius:11px;padding:8px 11px;font-size:10.5px;opacity:0;animation:bwBub 6s infinite;animation-delay:2.2s}
html[data-surface="marketing"] .bw-wa__paid{align-self:flex-start;display:flex;align-items:center;gap:5px;color:var(--cb-green);font-weight:700;font-size:11px;opacity:0;animation:bwBub 6s infinite;animation-delay:3.4s}
@keyframes bwBub{0%{opacity:0;transform:translateY(8px) scale(.96)}7%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:1}}

/* ---- D. Email & Invoice : email parsed into an invoice ---- */
html[data-surface="marketing"] .bw-mail{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
html[data-surface="marketing"] .bw-doc{position:relative;width:140px;border-radius:11px;background:var(--cb-w);border:1px solid var(--cb-line);box-shadow:0 16px 32px rgba(16,36,62,.13);padding:14px 14px 30px;animation:bwDoc 5.5s infinite}
html[data-surface="marketing"] .bw-doc__h{display:flex;align-items:center;gap:7px;margin-bottom:13px}
html[data-surface="marketing"] .bw-doc__h i{width:20px;height:20px;border-radius:6px;background:var(--cb-indigo-bg);display:flex;align-items:center;justify-content:center;color:var(--cb-ink)}
html[data-surface="marketing"] .bw-doc__h b{font-size:10.5px;color:var(--cb-ink);font-weight:700}
html[data-surface="marketing"] .bw-doc__line{height:6px;border-radius:999px;background:var(--cb-line);margin-bottom:10px;width:0;animation:bwFill 5.5s infinite}
html[data-surface="marketing"] .bw-doc__line.l2{animation-delay:.35s}
html[data-surface="marketing"] .bw-doc__amt{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--cb-ink);opacity:0;animation:bwAmtIn 5.5s infinite}
html[data-surface="marketing"] .bw-doc__chip{position:absolute;right:11px;bottom:10px;display:flex;align-items:center;gap:4px;font-size:9px;font-weight:700;color:#000;background:var(--cb-green-bg);border-radius:999px;padding:3px 8px;opacity:0;animation:bwParsed 5.5s infinite}
@keyframes bwDoc{0%{opacity:0;transform:translateY(16px) scale(.96)}10%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:1}}
@keyframes bwFill{0%,16%{width:0}32%{width:78%}100%{width:78%}}
@keyframes bwAmtIn{0%,42%{opacity:0;transform:translateY(6px)}52%{opacity:1;transform:translateY(0)}100%{opacity:1}}
@keyframes bwParsed{0%,64%{opacity:0;transform:scale(.6)}72%{opacity:1;transform:scale(1)}100%{opacity:1}}

@media (prefers-reduced-motion: reduce){
  html[data-surface="marketing"] .bw-co__logos span,html[data-surface="marketing"] .bw-co__fina,html[data-surface="marketing"] .bw-co__fina .tick,html[data-surface="marketing"] 
  .bw-wa__b,html[data-surface="marketing"] .bw-wa__link,html[data-surface="marketing"] .bw-wa__paid,html[data-surface="marketing"] .bw-doc,html[data-surface="marketing"] .bw-doc__line,html[data-surface="marketing"] .bw-doc__amt,html[data-surface="marketing"] .bw-doc__chip{animation:none!important}
  html[data-surface="marketing"] .bw-co__fina{opacity:1!important;transform:none!important}html[data-surface="marketing"] .bw-co__fina .tick{opacity:1!important}
  html[data-surface="marketing"] .bw-wa__b,html[data-surface="marketing"] .bw-wa__link,html[data-surface="marketing"] .bw-wa__paid{opacity:1!important;transform:none!important}
  html[data-surface="marketing"] .bw-doc{opacity:1!important;transform:none!important}html[data-surface="marketing"] .bw-doc__line{width:78%!important}
  html[data-surface="marketing"] .bw-doc__amt{opacity:1!important}html[data-surface="marketing"] .bw-doc__chip{opacity:1!important}
}

/* =========================================================
   HOMEPAGE CHANNEL BENTO REFRESH (SS5)
   · In-Store hero shows a Foodics-style tablet register
     (the shared .fpos device — menu grid + order ticket).
   · Online / ERP / Omni field mocks are differentiated —
     labeled checkout options, invoice rows, channel chips —
     instead of repeating the same skeleton rows.
   ========================================================= */
/* ---- In-Store: the Foodics-style tablet POS (.fpos) is defined above; it
     serves both the homepage hero tile and the buyers-page tile. ---- */
/* ---- Online: real checkout fields + a Fina payment option ---- */
html[data-surface="marketing"] .browser__field{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:11px;font-weight:600;color:var(--cb-t3)}
html[data-surface="marketing"] .browser__field b{font-size:12px;font-weight:700;color:var(--cb-ink)}
html[data-surface="marketing"] .browser__opt{display:flex;align-items:center;gap:8px;border:1px solid var(--cb-line);border-radius:9px;padding:7px 10px;margin-bottom:8px;font-size:11px;font-weight:600;color:var(--cb-t2)}
html[data-surface="marketing"] .browser__opt .rb{width:12px;height:12px;border-radius:50%;border:2px solid var(--cb-line);flex:none}
html[data-surface="marketing"] .browser__opt--fina{border-color:var(--cb-indigo);background:rgba(223, 255, 146,.06);color:var(--cb-ink)}
html[data-surface="marketing"] .browser__opt--fina .rb{border-color:var(--cb-indigo);background:radial-gradient(circle at center,var(--cb-indigo) 0 3px,transparent 4px)}
html[data-surface="marketing"] .browser__opt--fina b{font-size:11px;font-weight:700;color:var(--cb-ink)}
html[data-surface="marketing"] .browser__opt-chip{margin-left:auto;font-size:9px;font-weight:800;color:var(--cb-ink);background:var(--cb-indigo-bg);border-radius:999px;padding:2px 7px;white-space:nowrap}
/* ---- ERP: named invoice rows instead of skeletons ---- */
html[data-surface="marketing"] .erp__inv{font-size:10px;font-weight:600;color:var(--cb-t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* ---- Omni: labeled channel link chips ---- */
html[data-surface="marketing"] .omni__chans--chips{flex-wrap:wrap;gap:7px}
html[data-surface="marketing"] .omni__chip{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:var(--cb-t2);background:var(--cb-w);border:1px solid var(--cb-line);border-radius:999px;padding:6px 10px}
html[data-surface="marketing"] .omni__chip svg{flex:none}
html[data-surface="marketing"] .omni__chip:nth-child(1){animation:cbOmniCh 5.5s infinite}
html[data-surface="marketing"] .omni__chip:nth-child(2){animation:cbOmniCh 5.5s infinite;animation-delay:.5s}
html[data-surface="marketing"] .omni__chip:nth-child(3){animation:cbOmniCh 5.5s infinite;animation-delay:1s}
html[data-surface="marketing"] .omni__chip:nth-child(4){animation:cbOmniCh 5.5s infinite;animation-delay:1.5s}

/* =========================================================
   Rolling installment count — "Pay in N" cycles 1..12.
   Span is filled by a tiny builder in partials.js. Digits are
   language-agnostic, so it works in EN + AR unchanged.
   ========================================================= */
html[data-surface="marketing"] .inst-roll{
  display:inline-block;height:1em;line-height:1;overflow:hidden;
  vertical-align:-0.04em;position:relative;
}
/* Per-context baseline tuning (overflow-box baseline differs by font size). */
html[data-surface="marketing"] .mega__text .inst-roll{
  vertical-align:-0.12em;            /* nudged down a touch */
  color:var(--accent);               /* both counters match the heading accent */
  /* Fade digits in/out at top + bottom so they roll up through a soft edge. */
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24%,#000 76%,transparent 100%);
          mask-image:linear-gradient(to bottom,transparent 0,#000 24%,#000 76%,transparent 100%);
}
/* Heading counter ("Pay in N") = solid black like the heading. No fade mask
   here — the top/bottom fade was washing the digit out to grey. Forced on the
   digit elements directly so nothing can override it back to the muted colour. */
html[data-surface="marketing"] .mega__text strong .inst-roll,html[data-surface="marketing"] 
.mega__text strong .inst-roll .inst-roll__t,html[data-surface="marketing"] 
.mega__text strong .inst-roll i{
  color:var(--ink) !important;
  -webkit-mask-image:none !important;
          mask-image:none !important;
}
html[data-surface="marketing"] h1 .inst-roll,html[data-surface="marketing"]  h2 .inst-roll{vertical-align:-0.16em}   /* big headlines */
/* Stopwatch/odometer feel: hold each number, then roll up to the next. */
html[data-surface="marketing"] .inst-roll .inst-roll__t{display:block;animation:instRoll 11s cubic-bezier(.65,0,.3,1) infinite}
/* Digit FLEX-CENTERED in its 1em cell so the glyph has clearance top + bottom
   (block+line-height was top-aligning it, clipping the top). */
html[data-surface="marketing"] .inst-roll i{display:flex;align-items:center;justify-content:center;height:1em;font-style:normal}
/* Cycles the real installment options: 2 → 3 → 4 (last item duplicates the
   first for a seamless wrap). */
@keyframes instRoll{
  0%,28%{transform:translateY(0)}      /* 2 */
  36%,61%{transform:translateY(-1em)}  /* 3 */
  69%,94%{transform:translateY(-2em)}  /* 4 */
  100%{transform:translateY(-3em)}     /* 2 (dup → loops cleanly) */
}
@media (prefers-reduced-motion:reduce){
  html[data-surface="marketing"] .inst-roll .inst-roll__t{animation:none;transform:translateY(-2em)} /* show 4 */
}

/* In-Store POS hero — scattered floating popups so the big tile never feels empty */
html[data-surface="marketing"] .cb__stage--instore{position:relative}
html[data-surface="marketing"] .cb__stage--instore .pos-pop{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  background:var(--cb-w);border:1px solid var(--cb-line);border-radius:11px;padding:7px 11px;
  font-size:11px;font-weight:700;color:var(--cb-ink);
  box-shadow:0 16px 34px -18px rgba(16,36,62,.26),0 3px 9px -6px rgba(16,36,62,.12);
  opacity:0;animation:posPop 7s var(--ease-out) infinite}
html[data-surface="marketing"] .cb__stage--instore .pos-pop svg{flex:none}
html[data-surface="marketing"] .pos-pop--indigo{color:var(--cb-ink);background:var(--cb-indigo-bg);border-color:transparent}
html[data-surface="marketing"] .pos-pop--green{color:#000;background:var(--cb-green-bg);border-color:transparent}
html[data-surface="marketing"] .pos-pop--a{left:0;top:15%;animation-delay:.2s}
html[data-surface="marketing"] .pos-pop--b{right:1%;top:8%;animation-delay:1.5s}
html[data-surface="marketing"] .pos-pop--c{left:1%;bottom:4%;animation-delay:.8s}
html[data-surface="marketing"] .pos-pop--d{right:0;bottom:23%;animation-delay:2.2s}
@keyframes posPop{0%{opacity:0;transform:translateY(12px) scale(.88)}6%{opacity:1;transform:translateY(0) scale(1)}11%{transform:translateY(-3px)}18%{transform:translateY(0)}90%{opacity:1;transform:translateY(0)}96%,100%{opacity:0;transform:translateY(-6px) scale(.95)}}
@media (prefers-reduced-motion:reduce){html[data-surface="marketing"] .cb__stage--instore .pos-pop{opacity:1;transform:none}}
@media (max-width:540px){html[data-surface="marketing"] .cb__stage--instore .pos-pop--a,html[data-surface="marketing"] .cb__stage--instore .pos-pop--d{display:none}}

/* While scrolling, drop the bento blur so the cards' looping animations don't
   stall behind a per-frame backdrop-filter recompute (see main.js). The cards
   keep their translucent bg + border + shadow, so the look barely changes. */
html[data-surface="marketing"].is-scrolling .cb{ -webkit-backdrop-filter:none; backdrop-filter:none; }

/* ================================================================
   MID-PAGE CARD TREATMENT (.lcx tint / .lct tag / .lci icon)
   Replicates the client-approved "Your score" card language
   (coloured pill tag + small animated corner illustration + soft
   tinted fill) for product grids, steps, who-lists, timelines and
   the shared risk bars. Scroll reveal comes from the existing
   [data-stagger] / .reveal-up hooks — nothing here touches JS.
   ================================================================ */
html[data-surface="marketing"] .lcx{position:relative;--lcx-acc:#7A9A0E;--lcx-txt:#000000}
html[data-surface="marketing"] .lcx.lcx--ind{--lcx-acc:#7A9A0E;--lcx-txt:#000000;background:linear-gradient(155deg,rgba(223, 255, 146,.1),rgba(223, 255, 146,0) 58%),var(--glass-bg)}
html[data-surface="marketing"] .lcx.lcx--lim{--lcx-acc:#A9CC1F;--lcx-txt:#66830A;background:linear-gradient(155deg,rgba(212,248,79,.24),rgba(212,248,79,0) 58%),var(--glass-bg)}
html[data-surface="marketing"] .lcx.lcx--grn{--lcx-acc:#16B981;--lcx-txt:#047857;background:linear-gradient(155deg,rgba(22,185,129,.11),rgba(22,185,129,0) 58%),var(--glass-bg)}
html[data-surface="marketing"] .lcx.lcx--amb{--lcx-acc:#F59E0B;--lcx-txt:#B45309;background:linear-gradient(155deg,rgba(245,158,11,.13),rgba(245,158,11,0) 58%),var(--glass-bg)}
html[data-surface="marketing"] .lcx.lcx--mix{--lcx-acc:#7A9A0E;--lcx-txt:#000000;background:linear-gradient(155deg,rgba(223, 255, 146,.09),rgba(212,248,79,.15) 78%),var(--glass-bg)}
html[data-surface="marketing"] .lcx.lcx--ind:hover{background:linear-gradient(155deg,rgba(223, 255, 146,.13),rgba(223, 255, 146,0) 58%),var(--glass-bg-hover)}
html[data-surface="marketing"] .lcx.lcx--lim:hover{background:linear-gradient(155deg,rgba(212,248,79,.28),rgba(212,248,79,0) 58%),var(--glass-bg-hover)}
html[data-surface="marketing"] .lcx.lcx--grn:hover{background:linear-gradient(155deg,rgba(22,185,129,.14),rgba(22,185,129,0) 58%),var(--glass-bg-hover)}
html[data-surface="marketing"] .lcx.lcx--amb:hover{background:linear-gradient(155deg,rgba(245,158,11,.16),rgba(245,158,11,0) 58%),var(--glass-bg-hover)}
html[data-surface="marketing"] .lcx.lcx--mix:hover{background:linear-gradient(155deg,rgba(223, 255, 146,.12),rgba(212,248,79,.18) 78%),var(--glass-bg-hover)}
html[data-surface="marketing"] .lcx[class*="lcx--"]:hover{box-shadow:0 30px 56px -30px var(--lcx-acc),var(--shadow-glass)}

/* --- pill tag (own element, or recolour an existing .pcard__flavor) --- */
html[data-surface="marketing"] .lct{display:inline-block;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--lcx-txt);font-weight:600;padding:4px 10px;border-radius:999px;
  background:color-mix(in srgb,var(--lcx-acc) 11%,transparent);
  border:1px solid color-mix(in srgb,var(--lcx-acc) 26%,transparent);
  align-self:flex-start}
html[data-surface="marketing"] .risk-item .lct{margin-bottom:10px}
html[data-surface="marketing"] .lcx .pcard__flavor{color:var(--lcx-txt);
  background:color-mix(in srgb,var(--lcx-acc) 11%,transparent);
  border-color:color-mix(in srgb,var(--lcx-acc) 26%,transparent)}

/* --- corner icon shell ---
   `.lcx .lci` (0,2,0) so it beats pages.css `.pcard > *` / `.step > *`
   position:relative resets, which load later at (0,1,0). */
html[data-surface="marketing"] .lcx .lci{position:absolute;z-index:0;top:30px;inset-inline-end:28px;inset-inline-start:auto;width:56px;height:46px;
  color:var(--lcx-acc);pointer-events:none}
html[data-surface="marketing"] .lcx .lci--sm{width:40px;height:32px;top:18px;inset-inline-end:16px}
html[data-surface="marketing"] .lci svg{width:100%;height:100%;overflow:visible;display:block}
html[data-surface="marketing"] .pcard.lcx h3{padding-inline-end:64px}
html[data-surface="marketing"] .step.lcx{padding-inline-end:60px}
html[data-surface="marketing"] .who-list li.lcx>strong,html[data-surface="marketing"] .who-list li.lcx>span:not(.lci){padding-inline-end:48px}
html[data-surface="marketing"] .risk-item.lcx h3{padding-inline-end:80px}
html[data-surface="marketing"] .risk-item.lcx p{padding-inline-end:90px}
html[data-surface="marketing"] .risk-item.lcx .lci{top:50%;transform:translateY(-50%)}
@media (max-width:600px){
  html[data-surface="marketing"] .risk-item.lcx h3{padding-inline-end:64px}
  html[data-surface="marketing"] .risk-item.lcx p{padding-inline-end:0}
  html[data-surface="marketing"] .risk-item.lcx .lci{top:24px;transform:none}
}

/* A. document + paid chip */
html[data-surface="marketing"] .lci--doc .lci__doc{position:absolute;inset:0;inset-inline-end:8px;border-radius:8px;background:#fff;
  border:1px solid rgba(15,23,42,.10);box-shadow:0 10px 22px -12px rgba(15,23,42,.28);
  display:flex;flex-direction:column;gap:6px;padding:9px 8px}
html[data-surface="marketing"] .lci--doc .lci__doc i{height:5px;border-radius:999px;background:color-mix(in srgb,var(--lcx-acc) 34%,#fff);
  animation:lciLine 3.4s ease-in-out infinite}
html[data-surface="marketing"] .lci--doc .lci__doc i:nth-child(2){width:78%;animation-delay:.2s}
html[data-surface="marketing"] .lci--doc .lci__doc i:nth-child(3){width:56%;animation-delay:.4s}
html[data-surface="marketing"] .lci--sm.lci--doc .lci__doc{gap:4px;padding:6px}
html[data-surface="marketing"] .lci--sm.lci--doc .lci__doc i{height:4px}
@keyframes lciLine{0%,55%,100%{opacity:1}70%{opacity:.25}85%{opacity:1}}
html[data-surface="marketing"] .lci__pop{position:absolute;inset-inline-end:-4px;bottom:-8px;width:20px;height:20px;border-radius:50%;
  display:grid;place-items:center;background:#16B981;color:#fff;
  box-shadow:0 6px 14px -6px rgba(22,185,129,.7);animation:lciPop 3.4s var(--ease-out) infinite}
@keyframes lciPop{0%,16%{transform:scale(0);opacity:0}30%,86%{transform:scale(1);opacity:1}97%,100%{transform:scale(0);opacity:0}}

/* B. split chips (installments) */
html[data-surface="marketing"] .lci--split{display:flex;align-items:center;gap:4px}
html[data-surface="marketing"] .lci--split i{flex:1;height:16px;border-radius:5px;border:1.5px solid var(--lcx-acc);
  background:transparent;animation:lciFill 3.8s ease-in-out infinite}
html[data-surface="marketing"] .lci--split i:nth-child(2){animation-delay:.25s}
html[data-surface="marketing"] .lci--split i:nth-child(3){animation-delay:.5s}
html[data-surface="marketing"] .lci--split i:nth-child(4){animation-delay:.75s}
html[data-surface="marketing"] .lci--sm.lci--split i{height:12px;border-radius:4px}
@keyframes lciFill{0%,8%{background:transparent}24%,76%{background:var(--lcx-acc)}92%,100%{background:transparent}}

/* C. revolving ring */
html[data-surface="marketing"] .lci--ring{display:grid;place-items:center}
html[data-surface="marketing"] .lci--ring svg{width:42px;height:42px;animation:lciOrbit 4.2s cubic-bezier(.6,.05,.35,.95) infinite}
html[data-surface="marketing"] .lci--sm.lci--ring svg{width:30px;height:30px}
html[data-surface="marketing"] .lci--ring .lci__rbg{fill:none;stroke:color-mix(in srgb,var(--lcx-acc) 22%,transparent);stroke-width:4}
html[data-surface="marketing"] .lci--ring .lci__arc{fill:none;stroke:var(--lcx-acc);stroke-width:4;stroke-linecap:round}
html[data-surface="marketing"] .lci--ring .lci__orb{fill:var(--lcx-acc)}
@keyframes lciOrbit{0%,12%{transform:rotate(0)}55%,100%{transform:rotate(360deg)}}

/* D. growth curve */
html[data-surface="marketing"] .lci__crv{fill:none;stroke:var(--lcx-acc);stroke-width:3;stroke-linecap:round;
  stroke-dasharray:80;stroke-dashoffset:80;animation:lciDraw 3.8s ease-in-out infinite}
html[data-surface="marketing"] .lci__pt{fill:#C2EC33;transform-box:fill-box;transform-origin:center;animation:lciPt 3.8s ease-in-out infinite}
@keyframes lciDraw{0%{stroke-dashoffset:80;opacity:0}12%{opacity:1}45%,84%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-80;opacity:0}}
@keyframes lciPt{0%,40%{transform:scale(0);opacity:0}52%,84%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}

/* E. calendar filling */
html[data-surface="marketing"] .lci--cal{display:flex;flex-direction:column;gap:4px}
html[data-surface="marketing"] .lci__calh{height:8px;border-radius:4px;background:var(--lcx-acc);opacity:.85}
html[data-surface="marketing"] .lci__calg{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
html[data-surface="marketing"] .lci__calg i{border-radius:3px;background:color-mix(in srgb,var(--lcx-acc) 18%,transparent);
  animation:lciCell 3.8s ease-in-out infinite}
html[data-surface="marketing"] .lci__calg i:nth-child(2){animation-delay:.18s}
html[data-surface="marketing"] .lci__calg i:nth-child(3){animation-delay:.36s}
html[data-surface="marketing"] .lci__calg i:nth-child(4){animation-delay:.54s}
html[data-surface="marketing"] .lci__calg i:nth-child(5){animation-delay:.72s}
html[data-surface="marketing"] .lci__calg i:nth-child(6){animation-delay:.9s}
@keyframes lciCell{0%,10%{background:color-mix(in srgb,var(--lcx-acc) 18%,transparent)}26%,78%{background:var(--lcx-acc)}94%,100%{background:color-mix(in srgb,var(--lcx-acc) 18%,transparent)}}

/* F. lightning (speed) */
html[data-surface="marketing"] .lci--flash{display:grid;place-items:center}
html[data-surface="marketing"] .lci--flash svg{width:30px;height:100%;animation:lciFlash 2.8s ease-in-out infinite;transform-origin:center}
html[data-surface="marketing"] .lci--flash path{fill:var(--lcx-acc)}
@keyframes lciFlash{0%,100%{transform:scale(.9);opacity:.65}45%{transform:scale(1.08);opacity:1}}

/* G. 0% badge */
html[data-surface="marketing"] .lci--zero{display:grid;place-items:center}
html[data-surface="marketing"] .lci--zero b{position:relative;z-index:1;font-family:var(--font-display);font-weight:600;font-size:18px;
  color:var(--lcx-txt);letter-spacing:-.01em;direction:ltr;unicode-bidi:isolate}
html[data-surface="marketing"] .lci--zero::before{content:"";position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;
  border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--lcx-acc) 55%,transparent);
  animation:lciSpinSlow 10s linear infinite}
@keyframes lciSpinSlow{to{transform:rotate(360deg)}}

/* H. linked nodes */
html[data-surface="marketing"] .lci__ln{stroke:var(--lcx-acc);opacity:.4;stroke-dasharray:40;stroke-dashoffset:40;animation:lciLink 3.6s ease-in-out infinite}
html[data-surface="marketing"] .lci__ln--2{animation-delay:.5s}
@keyframes lciLink{0%{stroke-dashoffset:40;opacity:0}35%,80%{stroke-dashoffset:0;opacity:.7}100%{stroke-dashoffset:-40;opacity:0}}
html[data-surface="marketing"] .lci__nd{fill:var(--lcx-acc);transform-box:fill-box;transform-origin:center;animation:lciNode 3.6s ease-in-out infinite}
html[data-surface="marketing"] .lci__nd--2{animation-delay:.4s}
html[data-surface="marketing"] .lci__nd--3{animation-delay:.8s;fill:#C2EC33}
@keyframes lciNode{0%,100%{transform:scale(.75);opacity:.55}40%{transform:scale(1.15);opacity:1}}

/* I. shield + tick */
html[data-surface="marketing"] .lci--shield{display:grid;place-items:center}
html[data-surface="marketing"] .lci--shield svg{width:36px;height:42px;animation:lciBreath 3.2s ease-in-out infinite;transform-origin:center}
html[data-surface="marketing"] .lci--shield .lci__shp{fill:color-mix(in srgb,var(--lcx-acc) 14%,transparent);stroke:var(--lcx-acc);stroke-width:1.8;stroke-linejoin:round}
html[data-surface="marketing"] .lci__tickpath{fill:none;stroke:var(--lcx-acc);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:12;stroke-dashoffset:12;animation:lciTick 3.2s ease-in-out infinite}
@keyframes lciTick{0%,18%{stroke-dashoffset:12;opacity:0}26%{opacity:1}44%,86%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-12;opacity:0}}
@keyframes lciBreath{0%,100%{transform:scale(.97)}50%{transform:scale(1.04)}}

/* J. fingerprint scan */
html[data-surface="marketing"] .lci--fp{display:grid;place-items:center}
html[data-surface="marketing"] .lci--fp svg{width:34px;height:38px}
html[data-surface="marketing"] .lci--fp path{fill:none;stroke:var(--lcx-acc);stroke-width:2;stroke-linecap:round;animation:lciFpWave 3.4s ease-in-out infinite}
html[data-surface="marketing"] .lci--fp path:nth-child(2){animation-delay:.25s}
html[data-surface="marketing"] .lci--fp path:nth-child(3){animation-delay:.5s}
@keyframes lciFpWave{0%,100%{opacity:.35}40%{opacity:1}}
html[data-surface="marketing"] .lci__scan{position:absolute;left:4px;right:4px;top:4px;height:2px;border-radius:2px;background:var(--lcx-acc);
  opacity:0;animation:lciScan 3.4s ease-in-out infinite;box-shadow:0 0 8px color-mix(in srgb,var(--lcx-acc) 70%,transparent)}
@keyframes lciScan{0%,8%{transform:translateY(0);opacity:0}16%{opacity:.9}48%{transform:translateY(32px);opacity:.9}58%,100%{transform:translateY(32px);opacity:0}}

/* K. clock */
html[data-surface="marketing"] .lci--clock{display:grid;place-items:center}
html[data-surface="marketing"] .lci__face{position:relative;width:40px;height:40px;border-radius:50%;
  border:2.5px solid color-mix(in srgb,var(--lcx-acc) 45%,transparent);
  background:color-mix(in srgb,var(--lcx-acc) 8%,transparent)}
html[data-surface="marketing"] .lci__face::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;
  border-radius:50%;background:var(--lcx-acc)}
html[data-surface="marketing"] .lci__hm,html[data-surface="marketing"] .lci__hh{position:absolute;left:50%;bottom:50%;transform-origin:bottom center;border-radius:2px;background:var(--lcx-acc)}
html[data-surface="marketing"] .lci__hm{width:2.5px;height:13px;margin-left:-1.25px;animation:lciHand 5.2s linear infinite}
html[data-surface="marketing"] .lci__hh{width:2.5px;height:9px;margin-left:-1.25px;opacity:.75;animation:lciHand 26s linear infinite}
@keyframes lciHand{to{transform:rotate(360deg)}}

/* L. umbrella */
html[data-surface="marketing"] .lci--umb{display:grid;place-items:center}
html[data-surface="marketing"] .lci--umb svg{width:38px;height:42px;animation:lciSway 4.2s ease-in-out infinite;transform-origin:50% 20%}
html[data-surface="marketing"] .lci--umb .lci__cnp{fill:color-mix(in srgb,var(--lcx-acc) 18%,transparent);stroke:var(--lcx-acc);stroke-width:1.8;stroke-linejoin:round}
html[data-surface="marketing"] .lci--umb .lci__hdl{fill:none;stroke:var(--lcx-acc);stroke-width:2;stroke-linecap:round}
html[data-surface="marketing"] .lci__drop{stroke:var(--lcx-acc);stroke-width:2;stroke-linecap:round;opacity:0;animation:lciDrop 2.8s linear infinite}
html[data-surface="marketing"] .lci__drop--2{animation-delay:1.1s}
@keyframes lciDrop{0%{transform:translateY(-4px);opacity:0}25%{opacity:.85}55%{transform:translateY(4px);opacity:0}100%{opacity:0}}
@keyframes lciSway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}

/* M. chat bubble typing */
html[data-surface="marketing"] .lci--chat{display:grid;place-items:center}
html[data-surface="marketing"] .lci__bub{position:relative;width:46px;height:30px;border-radius:11px;
  background:color-mix(in srgb,var(--lcx-acc) 12%,#fff);
  border:1.5px solid color-mix(in srgb,var(--lcx-acc) 38%,transparent);
  display:flex;gap:4px;align-items:center;justify-content:center}
html[data-surface="marketing"] .lci__bub::after{content:"";position:absolute;bottom:-7px;inset-inline-start:9px;border:4px solid transparent;
  border-top-color:color-mix(in srgb,var(--lcx-acc) 38%,transparent)}
html[data-surface="marketing"] .lci__bub i{width:5px;height:5px;border-radius:50%;background:var(--lcx-acc);animation:lciType 1.5s ease-in-out infinite}
html[data-surface="marketing"] .lci__bub i:nth-child(2){animation-delay:.2s}
html[data-surface="marketing"] .lci__bub i:nth-child(3){animation-delay:.4s}
@keyframes lciType{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}

/* N. switch flipping on */
html[data-surface="marketing"] .lci--switch{display:grid;place-items:center}
html[data-surface="marketing"] .lci__trk{position:relative;width:44px;height:22px;border-radius:999px;
  background:color-mix(in srgb,var(--lcx-acc) 16%,transparent);
  border:1.5px solid color-mix(in srgb,var(--lcx-acc) 32%,transparent);
  animation:lciTrk 4s ease-in-out infinite}
html[data-surface="marketing"] .lci__knob{position:absolute;top:2px;inset-inline-start:2px;width:15px;height:15px;border-radius:50%;
  background:#fff;box-shadow:0 2px 6px rgba(14,19,32,.28);animation:lciKnob 4s var(--ease-out) infinite}
@keyframes lciTrk{0%,15%,95%,100%{background:color-mix(in srgb,var(--lcx-acc) 16%,transparent)}35%,80%{background:color-mix(in srgb,var(--lcx-acc) 65%,transparent)}}
@keyframes lciKnob{0%,15%{transform:translateX(0)}35%,80%{transform:translateX(23px)}95%,100%{transform:translateX(0)}}
html[data-surface="marketing"][dir=rtl] .lci__knob{animation-name:lciKnobR}
@keyframes lciKnobR{0%,15%{transform:translateX(0)}35%,80%{transform:translateX(-23px)}95%,100%{transform:translateX(0)}}

/* O. heart */
html[data-surface="marketing"] .lci--heart{display:grid;place-items:center}
html[data-surface="marketing"] .lci--heart svg{width:32px;height:32px;animation:lciBeat 2.6s ease-in-out infinite;transform-origin:center}
html[data-surface="marketing"] .lci--heart path{fill:color-mix(in srgb,var(--lcx-acc) 22%,transparent);stroke:var(--lcx-acc);stroke-width:1.8;stroke-linejoin:round}
@keyframes lciBeat{0%,55%,100%{transform:scale(.94)}12%{transform:scale(1.08)}24%{transform:scale(.97)}36%{transform:scale(1.05)}}

/* P. rising bars */
html[data-surface="marketing"] .lci--bars{display:flex;align-items:flex-end;gap:5px}
html[data-surface="marketing"] .lci--bars i{flex:1;border-radius:4px 4px 2px 2px;
  background:linear-gradient(180deg,var(--lcx-acc),color-mix(in srgb,var(--lcx-acc) 45%,transparent));
  transform-origin:bottom;animation:lciRise 3.2s var(--ease-out) infinite}
html[data-surface="marketing"] .lci--bars i:nth-child(1){height:34%}
html[data-surface="marketing"] .lci--bars i:nth-child(2){height:52%;animation-delay:.15s}
html[data-surface="marketing"] .lci--bars i:nth-child(3){height:72%;animation-delay:.3s}
html[data-surface="marketing"] .lci--bars i:nth-child(4){height:96%;animation-delay:.45s}
@keyframes lciRise{0%{transform:scaleY(.3);opacity:.45}30%,80%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.3);opacity:.45}}

/* Q. payout coins */
html[data-surface="marketing"] .lci--coins{display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start;gap:3px}
html[data-surface="marketing"] .lci--coins i{width:34px;height:8px;border-radius:999px;
  background:color-mix(in srgb,var(--lcx-acc) 82%,#fff);
  box-shadow:inset 0-2px 0 color-mix(in srgb,var(--lcx-acc) 55%,#000000 12%);
  animation:lciCoin 3.4s var(--ease-out) infinite}
html[data-surface="marketing"] .lci--coins i:nth-child(2){animation-delay:.2s;width:30px}
html[data-surface="marketing"] .lci--coins i:nth-child(3){animation-delay:.4s;width:26px}
@keyframes lciCoin{0%{transform:translateY(-8px);opacity:0}18%,84%{transform:translateY(0);opacity:1}96%,100%{opacity:0}}

/* R. approval tick */
html[data-surface="marketing"] .lci--tick{display:grid;place-items:center}
html[data-surface="marketing"] .lci__ring2{width:38px;height:38px;border-radius:50%;
  background:color-mix(in srgb,var(--lcx-acc) 12%,transparent);
  border:2px solid color-mix(in srgb,var(--lcx-acc) 45%,transparent);
  display:grid;place-items:center;animation:lciHalo 3.2s ease-in-out infinite}
html[data-surface="marketing"] .lci--sm .lci__ring2{width:28px;height:28px}
html[data-surface="marketing"] .lci__ring2 svg{width:18px;height:18px}
html[data-surface="marketing"] .lci--sm .lci__ring2 svg{width:14px;height:14px}
@keyframes lciHalo{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--lcx-acc) 28%,transparent)}45%{box-shadow:0 0 0 8px transparent}}

/* S. code caret */
html[data-surface="marketing"] .lci--code{display:grid;place-items:center}
html[data-surface="marketing"] .lci--code b{font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--lcx-txt);
  direction:ltr;unicode-bidi:isolate;display:inline-flex;align-items:center}
html[data-surface="marketing"] .lci--code b i{display:inline-block;width:2px;height:16px;background:var(--lcx-acc);
  margin-inline-start:4px;animation:lciCaret 1.2s steps(1) infinite}
@keyframes lciCaret{0%,49%{opacity:1}50%,100%{opacity:0}}

/* --- reduced motion: freeze in the resolved state --- */
@media (prefers-reduced-motion:reduce){
  html[data-surface="marketing"] .lci,html[data-surface="marketing"] .lci *,html[data-surface="marketing"] .lci::before,html[data-surface="marketing"] .lci::after{animation:none!important}
  html[data-surface="marketing"] .lci--bars i{transform:none}
  html[data-surface="marketing"] .lci--split i{background:var(--lcx-acc)}
  html[data-surface="marketing"] .lci__crv,html[data-surface="marketing"] .lci__ln,html[data-surface="marketing"] .lci__tickpath{stroke-dashoffset:0!important;opacity:1!important}
  html[data-surface="marketing"] .lci__pop,html[data-surface="marketing"] .lci__pt,html[data-surface="marketing"] .lci__nd{transform:none;opacity:1}
  html[data-surface="marketing"] .lci__knob{transform:translateX(23px)}
  html[data-surface="marketing"][dir=rtl] .lci__knob{transform:translateX(-23px)}
  html[data-surface="marketing"] .lci__trk{background:color-mix(in srgb,var(--lcx-acc) 65%,transparent)}
  html[data-surface="marketing"] .lci__scan,html[data-surface="marketing"] .lci__drop{opacity:0}
  html[data-surface="marketing"] .lcx[class*="lcx--"]:hover{box-shadow:var(--shadow-glass)}
}
/* sm-size refinements for compact cards (steps, who-list) */
html[data-surface="marketing"] .lci--sm .lci__face{width:28px;height:28px;border-width:2px}
html[data-surface="marketing"] .lci--sm .lci__hm{height:9px}
html[data-surface="marketing"] .lci--sm .lci__hh{height:6px}
html[data-surface="marketing"] .lci--sm .lci__bub{width:38px;height:26px;border-radius:9px}
html[data-surface="marketing"] .lci--sm.lci--shield svg{width:26px;height:30px}
html[data-surface="marketing"] .lci--sm.lci--umb svg{width:28px;height:31px}
html[data-surface="marketing"] .lci--sm.lci--heart svg{width:24px;height:24px}
html[data-surface="marketing"] .lci--sm.lci--flash svg{width:22px}
html[data-surface="marketing"] .lci--sm.lci--zero b{font-size:14px}
html[data-surface="marketing"] .lci--sm.lci--zero::before{width:30px;height:30px;margin:-15px 0 0 -15px}
html[data-surface="marketing"] .lci--sm.lci--coins i{width:26px;height:6px}
html[data-surface="marketing"] .lci--sm.lci--coins i:nth-child(2){width:23px}
html[data-surface="marketing"] .lci--sm.lci--coins i:nth-child(3){width:20px}
html[data-surface="marketing"] .lci--sm .lci__trk{width:36px;height:18px}
html[data-surface="marketing"] .lci--sm .lci__knob{width:12px;height:12px}
html[data-surface="marketing"] .lci--sm .lci__trk .lci__knob{animation-name:lciKnobSm}
@keyframes lciKnobSm{0%,15%{transform:translateX(0)}35%,80%{transform:translateX(19px)}95%,100%{transform:translateX(0)}}
html[data-surface="marketing"][dir=rtl] .lci--sm .lci__trk .lci__knob{animation-name:lciKnobSmR}
@keyframes lciKnobSmR{0%,15%{transform:translateX(0)}35%,80%{transform:translateX(-19px)}95%,100%{transform:translateX(0)}}
html[data-surface="marketing"] .lci--sm.lci--code b{font-size:13px}
html[data-surface="marketing"] .lci--sm.lci--code b i{height:12px}
@media (prefers-reduced-motion:reduce){
  html[data-surface="marketing"] .lci--sm .lci__knob{transform:translateX(19px)}
  html[data-surface="marketing"][dir=rtl] .lci--sm .lci__knob{transform:translateX(-19px)}
}

/* ---------- Lime rebrand additions (ported from the client bundle) ---------- */
html[data-surface="marketing"] .accent-blue {
  color: var(--ink);
}
/* GENERATED by scripts/scope-ref-css.ts from src/styles/ref/raw/pages.css — DO NOT EDIT.
   Reference stylesheet, verbatim, scoped to html[data-surface="marketing"]. */
/* =========================================================
   Sub-pages (buyers / sellers / products / blog / get-started)
   Glass repaint
   ========================================================= */

/* Page hero — shared fold-fit container: nav (~90px fixed) + hero must fit a
   768px-tall viewport on every page, so the hero block itself stays ≤ ~660px.
   One consistent size across all sub-pages (EN + AR). */
html[data-surface="marketing"] .page-hero {
  padding: 112px 0 32px;
  position: relative;
  overflow: hidden;
}
html[data-surface="marketing"] .page-hero__inner {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 80px;
  align-items: center;
}
html[data-surface="marketing"] .page-hero__copy h1 { font-size: clamp(44px, 4.6vw, 62px); margin: 14px 0 18px; }
html[data-surface="marketing"] .page-hero__copy h1 .accent { color: var(--ink); }
html[data-surface="marketing"] .page-hero__copy .lead { margin-bottom: 24px; }
html[data-surface="marketing"] .page-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; }
html[data-surface="marketing"] .page-hero__viz {
  position: relative;
  aspect-ratio: 1 / 1;
  /* Height-driven on desktop: the cap keeps the whole hero above the fold on
     1366×768 laptops. animAspect (main.js) sets the real stage aspect inline;
     with height fixed and width auto the wrapper derives its width from that
     ratio and centers in the grid column. max-width guards wide (landscape)
     stages — fit() inside the iframe letterboxes gracefully if capped. */
  justify-self: center;
  align-self: center;
  /* Full available hero height (viewport minus nav + hero paddings), capped
     at the tallest stage's natural 580px. Width derives from the animation's
     real stage ratio (stamped by animAspect as --stage-ar). */
  --viz-h: min(580px, calc(100vh - 235px));
  width: min(100%, calc(var(--viz-h) * var(--stage-ar, 0.76)));
  height: var(--viz-h);
  max-width: 100%;
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-xl);
  display: grid;
  place-items: center;
  overflow: hidden;
  box-shadow: var(--shadow-glass);
  isolation: isolate;
}
html[data-surface="marketing"] .page-hero__viz img { max-width: 90%; max-height: 90%; }

/* Split section: title block left (left-aligned), animation/visual right. */
html[data-surface="marketing"] .section--split .container {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 56px;
  align-items: center;
}
html[data-surface="marketing"] .section--split .section-head {
  text-align: left;
  align-items: flex-start;
  margin: 0;
  max-width: none;
}
html[data-surface="marketing"] .section--split .section-head .lead { text-align: left; margin: 0; }
@media (max-width: 860px) {
  html[data-surface="marketing"] .section--split .container { grid-template-columns: 1fr; gap: 32px; }
  html[data-surface="marketing"] .section--split .section-head { text-align: center; align-items: center; }
  html[data-surface="marketing"] .section--split .section-head .lead { text-align: center; margin: 0 auto; }
}

/* Embedded CSS animations (latest set) — iframe fills its frame; the inner
   stage self-scales (script in each file). */
html[data-surface="marketing"] .aframe { width: 100%; height: 100%; border: 0; display: block; background: transparent; }
html[data-surface="marketing"] .page-hero__viz .aframe { position: absolute; inset: 0; }
html[data-surface="marketing"] .anim-portrait { width: 100%; max-width: none; margin: 0 auto; aspect-ratio: 440 / 560; position: relative; }
html[data-surface="marketing"] .anim-landscape { width: 100%; max-width: 620px; margin: 0 auto; aspect-ratio: 500 / 480; position: relative; }
html[data-surface="marketing"] .anim-square { width: 100%; max-width: 460px; margin: 0 auto; aspect-ratio: 440 / 460; position: relative; }

@media (max-width: 900px) {
  html[data-surface="marketing"] .page-hero__inner { grid-template-columns: 1fr; gap: 40px; }
  html[data-surface="marketing"] .page-hero { padding: 130px 0 40px; }
  /* Mobile: back to width-driven sizing (aspect-ratio derives height). */
  html[data-surface="marketing"] .page-hero__viz { width: 100%; height: auto; justify-self: stretch; }
}

/* Short laptop viewports (e.g. 1366×768 / 1440×900 with browser chrome):
   squeeze paddings, H1 and viz further so nav + full hero always fit. */
@media (min-width: 901px) and (max-height: 820px) {
  html[data-surface="marketing"] .page-hero { padding: 100px 0 24px; }
  html[data-surface="marketing"] .page-hero__copy h1 { font-size: clamp(40px, 4vw, 54px); margin: 12px 0 16px; }
  html[data-surface="marketing"] .page-hero__copy .lead { margin-bottom: 20px; }
  html[data-surface="marketing"] .page-hero__viz { --viz-h: min(580px, calc(100vh - 215px)); }
}

/* How it works steps */
html[data-surface="marketing"] .steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  position: relative;
  perspective: 1500px;
}
html[data-surface="marketing"] .step {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  padding: 24px 26px;
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  transition: transform .5s var(--ease-out), background .25s ease, border-color .25s ease;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow: var(--shadow-glass);
  will-change: transform;
}
html[data-surface="marketing"] .step::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  pointer-events: none;
  padding: 1.5px;
  background-image: radial-gradient(transparent 0%,transparent 30%,var(--shimmer-color, #DFFF92) 50%,transparent 70%,transparent 100%);
  background-size: 283% 283%;
  background-position: 153% 174%;
  animation: shimmer-border 9s linear infinite;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
          mask-composite: exclude;
  box-shadow: inset 0 0 0 1.5px rgba(223, 255, 146,.1);
  /* perf: single soft glow (was 3 stacked animated drop-shadows) */
  filter: drop-shadow(0 0 8px rgba(223, 255, 146,.29));
}
html[data-surface="marketing"] .step:nth-child(2)::before { animation-duration: 11s; }
html[data-surface="marketing"] .step:nth-child(3)::before { animation-duration: 8s; }
html[data-surface="marketing"] .step:nth-child(4)::before { animation-duration: 10s; }
html[data-surface="marketing"] .step > * { position: relative; z-index: 1; }
html[data-surface="marketing"] .step:hover {
  background: var(--glass-bg-hover);
  border-color: rgba(15, 23, 42, 0.14);
}
html[data-surface="marketing"] .step__num {
  font-family: var(--font-display);
  font-size: 36px;
  color: var(--lime);
  line-height: 1;
  font-weight: 500;
  text-shadow: none;
}
html[data-surface="marketing"] .step h4 { font-family: var(--font-display); font-weight: 500; font-size: 18px; margin: 0; color: var(--ink); }
html[data-surface="marketing"] .step p { color: var(--text-2); font-size: 14px; margin: 0; }

@media (max-width: 900px) { html[data-surface="marketing"] .steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { html[data-surface="marketing"] .steps { grid-template-columns: 1fr; } }
/* Column-count modifiers (replace inline grid overrides so they stay responsive).
   `.steps.steps--N` (0,2,0) always beats the base `.steps` media rules (0,1,0);
   the modifier's own breakpoints are ordered widest→narrowest so the narrowest
   match wins. */
html[data-surface="marketing"] .steps.steps--5 { grid-template-columns: repeat(5, 1fr); }
html[data-surface="marketing"] .steps.steps--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1040px) { html[data-surface="marketing"] .steps.steps--5 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px)  { html[data-surface="marketing"] .steps.steps--5 { grid-template-columns: repeat(2, 1fr); }
                             html[data-surface="marketing"] .steps.steps--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { html[data-surface="marketing"] .steps.steps--5 { grid-template-columns: 1fr; }
                             html[data-surface="marketing"] .steps.steps--3 { grid-template-columns: 1fr; } }

/* Feature pair */
html[data-surface="marketing"] .fpair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  margin-bottom: 80px;
}
html[data-surface="marketing"] .fpair:last-child { margin-bottom: 0; }
html[data-surface="marketing"] .fpair.flip > .fpair__viz { order: -1; }
html[data-surface="marketing"] .fpair__viz {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-xl);
  padding: 60px 40px;
  display: grid;
  place-items: center;
  min-height: 440px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-glass);
  isolation: isolate;
}
html[data-surface="marketing"] .fpair__viz img { max-height: 380px; max-width: 100%; }
html[data-surface="marketing"] .fpair__copy h3 { font-size: clamp(28px, 3vw, 44px); margin: 14px 0 14px; font-family: var(--font-display); font-weight: 500; color: var(--ink); }
html[data-surface="marketing"] .fpair__copy p { color: var(--text-2); margin-bottom: 22px; max-width: 38ch; }
html[data-surface="marketing"] .fpair__copy ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
html[data-surface="marketing"] .fpair__copy ul li { display: flex; gap: 10px; align-items: flex-start; color: var(--text); font-size: 15px; }
html[data-surface="marketing"] .fpair__copy ul li .check {
  width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
  background: rgba(94, 107, 246,.22);
  border: 1px solid rgba(94, 107, 246,.6);
  color: var(--lime-deep);
  display: grid; place-items: center;
  font-size: 12px; font-weight: 700;
  margin-top: 1px;
}

@media (max-width: 900px) {
  html[data-surface="marketing"] .fpair,html[data-surface="marketing"]  .fpair.flip { grid-template-columns: 1fr; gap: 32px; }
  html[data-surface="marketing"] .fpair.flip > .fpair__viz { order: initial; }
  html[data-surface="marketing"] .fpair__viz { min-height: 320px; padding: 32px 24px; }
}

/* Stats row */
html[data-surface="marketing"] .stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 40px;
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-glass);
}
html[data-surface="marketing"] .stat__num { font-family: var(--font-display); font-size: clamp(40px, 4vw, 64px); color: var(--ink); line-height: 1; letter-spacing: -0.02em; font-weight: 500; }
html[data-surface="marketing"] .stat__num .accent { color: var(--lime); text-shadow: none; }
html[data-surface="marketing"] .stat__label { color: var(--text-2); font-size: 14px; margin-top: 8px; }
@media (max-width: 700px) { html[data-surface="marketing"] .stats { grid-template-columns: 1fr 1fr; } }

/* Product list */
html[data-surface="marketing"] .products-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  perspective: 1500px;
}
html[data-surface="marketing"] .products-grid > * { flex: 1 1 calc(50% - 12px); max-width: calc(50% - 12px); min-width: 280px; }
@media (max-width: 800px) {
  html[data-surface="marketing"] .products-grid > * { flex-basis: 100%; max-width: 100%; }
}
html[data-surface="marketing"] .prose--center,html[data-surface="marketing"]  .prose--center p,html[data-surface="marketing"]  .prose--center .lead-para { text-align: center; }
html[data-surface="marketing"] .pcard {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-xl);
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: transform .5s var(--ease-out), background .3s ease, border-color .3s ease, box-shadow .4s ease;
  position: relative;
  overflow: hidden;
  min-height: 200px;
  isolation: isolate;
  box-shadow: var(--shadow-glass);
  color: var(--ink);
}
html[data-surface="marketing"] .pcard::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  pointer-events: none;
  padding: 1.5px;
  background-image: radial-gradient(transparent 0%,transparent 30%,var(--shimmer-color, #DFFF92) 50%,transparent 70%,transparent 100%);
  background-size: 283% 283%;
  background-position: 153% 174%;
  animation: shimmer-border 8s linear infinite;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
          mask-composite: exclude;
  box-shadow: inset 0 0 0 1.5px rgba(223, 255, 146,.1);
  /* perf: single soft glow (was 3 stacked animated drop-shadows) */
  filter: drop-shadow(0 0 8px rgba(223, 255, 146,.29));
}
html[data-surface="marketing"] .pcard:nth-child(2)::before { animation-duration: 10s; }
html[data-surface="marketing"] .pcard:nth-child(3)::before { animation-duration: 9s; }
html[data-surface="marketing"] .pcard:nth-child(4)::before { animation-duration: 11s; }
html[data-surface="marketing"] .pcard > * { position: relative; z-index: 1; }
html[data-surface="marketing"] .pcard:hover {
  transform: translateY(-4px);
  background: var(--glass-bg-hover);
  border-color: rgba(15, 23, 42, 0.14);
}
html[data-surface="marketing"] .pcard[data-tilt-3d] {
  transform-style: preserve-3d;
  transition: transform .6s var(--ease-out), background .35s var(--ease-out), border-color .35s;
  will-change: transform;
}
html[data-surface="marketing"] .pcard[data-tilt-3d]:hover { transform: none; }
html[data-surface="marketing"] .pcard[data-tilt-3d] .pcard__icon,html[data-surface="marketing"] 
.pcard[data-tilt-3d] h3,html[data-surface="marketing"] 
.pcard[data-tilt-3d] p,html[data-surface="marketing"] 
.pcard[data-tilt-3d] ul,html[data-surface="marketing"] 
.pcard[data-tilt-3d] .pcard__bottom {
  transition: transform .6s var(--ease-out);
}
html[data-surface="marketing"] .pcard[data-tilt-3d]:hover .pcard__icon { transform: translateZ(16px); }
html[data-surface="marketing"] .pcard[data-tilt-3d]:hover h3 { transform: translateZ(10px); }
html[data-surface="marketing"] .pcard[data-tilt-3d]:hover p { transform: translateZ(6px); }
html[data-surface="marketing"] .pcard[data-tilt-3d]:hover ul { transform: translateZ(4px); }
html[data-surface="marketing"] .pcard[data-tilt-3d]:hover .pcard__bottom { transform: translateZ(8px); }
@media (hover: none) {
  html[data-surface="marketing"] .pcard[data-tilt-3d],html[data-surface="marketing"]  .pcard[data-tilt-3d] * { transform: none !important; }
}
html[data-surface="marketing"] .pcard__icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: var(--bg-soft);
  border: 1px solid var(--glass-border);
  color: var(--lime);
  display: grid; place-items: center;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 500;
  box-shadow: 0 0 24px var(--accent-glow);
}
html[data-surface="marketing"] .pcard h3,html[data-surface="marketing"]  .pcard h2.pcard__title { font-family: var(--font-display); font-weight: 500; font-size: 24px; margin: 0; letter-spacing: -0.01em; color: var(--ink); }
html[data-surface="marketing"] .pcard p { color: var(--text-2); margin: 0; }
html[data-surface="marketing"] .pcard ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
html[data-surface="marketing"] .pcard ul li { font-size: 14px; color: var(--text-2); display: flex; gap: 8px; }
html[data-surface="marketing"] .pcard ul li::before { content: "→"; color: var(--lime); }
html[data-surface="marketing"] .pcard__bottom { margin-top: auto; }

/* ============ Buyers score cards (SS9) ============
   Four distinct cards: per-card tint washes, small animated corner
   illustrations (CSS-only), hover lift + accent border sweep. The
   scroll-staggered rise-in comes from the grid's [data-stagger]. */
html[data-surface="marketing"] .pcard--score { --sc-accent:#7A9A0E; }
html[data-surface="marketing"] .pcard--sc-a { --sc-accent:#7A9A0E; background: linear-gradient(155deg,rgba(223, 255, 146,.1),rgba(223, 255, 146,0) 58%),var(--glass-bg); }
html[data-surface="marketing"] .pcard--sc-b { --sc-accent: #A9CC1F; background: linear-gradient(155deg, rgba(212,248,79,.24), rgba(212,248,79,0) 58%), var(--glass-bg); }
html[data-surface="marketing"] .pcard--sc-c { --sc-accent: #16B981; background: linear-gradient(155deg, rgba(22,185,129,.11), rgba(22,185,129,0) 58%), var(--glass-bg); }
html[data-surface="marketing"] .pcard--sc-d { --sc-accent:#7A9A0E; background: linear-gradient(155deg,rgba(223, 255, 146,.09),rgba(212,248,79,.15) 78%),var(--glass-bg); }
html[data-surface="marketing"] .pcard--sc-a:hover { background: linear-gradient(155deg,rgba(223, 255, 146,.13),rgba(223, 255, 146,0) 58%),var(--glass-bg-hover); }
html[data-surface="marketing"] .pcard--sc-b:hover { background: linear-gradient(155deg, rgba(212,248,79,.28), rgba(212,248,79,0) 58%), var(--glass-bg-hover); }
html[data-surface="marketing"] .pcard--sc-c:hover { background: linear-gradient(155deg, rgba(22,185,129,.14), rgba(22,185,129,0) 58%), var(--glass-bg-hover); }
html[data-surface="marketing"] .pcard--sc-d:hover { background: linear-gradient(155deg,rgba(223, 255, 146,.12),rgba(212,248,79,.18) 78%),var(--glass-bg-hover); }
html[data-surface="marketing"] .pcard--score:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 56px -28px var(--sc-accent), var(--shadow-glass);
}
/* accent border sweep along the top edge on hover */
html[data-surface="marketing"] .pcard--score::after {
  content: "";
  position: absolute;
  top: 0;
  left: -45%;
  width: 45%;
  height: 2.5px;
  z-index: 3;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--sc-accent), transparent);
  opacity: 0;
  pointer-events: none;
}
html[data-surface="marketing"] .pcard--score:hover::after { animation: scSweep .9s var(--ease-out); }
@keyframes scSweep {
  0% { left: -45%; opacity: 0; }
  12% { opacity: 1; }
  100% { left: 110%; opacity: 0; }
}
/* keep the headline clear of the corner art */
html[data-surface="marketing"] .pcard--score h3 { padding-right: 64px; }
/* ---- corner illustrations ---- */
html[data-surface="marketing"] .scart {
  position: absolute;
  top: 32px;
  right: 30px;
  width: 58px;
  height: 48px;
  z-index: 0;
  color: var(--sc-accent);
  pointer-events: none;
}
/* A. rising tick meter */
html[data-surface="marketing"] .scart--rise { display: flex; align-items: flex-end; gap: 5px; }
html[data-surface="marketing"] .scart--rise i {
  flex: 1;
  border-radius: 4px 4px 2px 2px;
  background: linear-gradient(180deg,var(--sc-accent),rgba(223, 255, 146,.45));
  transform-origin: bottom;
  animation: scRise 3.2s var(--ease-out) infinite;
}
html[data-surface="marketing"] .scart--rise i:nth-child(1) { height: 34%; }
html[data-surface="marketing"] .scart--rise i:nth-child(2) { height: 52%; animation-delay: .15s; }
html[data-surface="marketing"] .scart--rise i:nth-child(3) { height: 72%; animation-delay: .3s; }
html[data-surface="marketing"] .scart--rise i:nth-child(4) { height: 96%; animation-delay: .45s; }
@keyframes scRise {
  0% { transform: scaleY(.3); opacity: .45; }
  30%, 80% { transform: scaleY(1); opacity: 1; }
  100% { transform: scaleY(.3); opacity: .45; }
}
html[data-surface="marketing"] .scart__tick {
  position: absolute;
  top: -9px;
  right: -7px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #16B981;
  color: #fff;
  box-shadow: 0 6px 14px -6px rgba(22,185,129,.7);
  animation: scTickPop 3.2s var(--ease-out) infinite;
}
@keyframes scTickPop {
  0%, 16% { transform: scale(0); opacity: 0; }
  28%, 84% { transform: scale(1); opacity: 1; }
  96%, 100% { transform: scale(0); opacity: 0; }
}
/* B. pulsing volume bars (equalizer) */
html[data-surface="marketing"] .scart--vol { display: flex; align-items: center; gap: 5px; }
html[data-surface="marketing"] .scart--vol i {
  flex: 1;
  height: 42%;
  border-radius: 999px;
  background: var(--sc-accent);
  animation: scPulse 1.7s ease-in-out infinite;
}
html[data-surface="marketing"] .scart--vol i:nth-child(2) { animation-delay: .18s; }
html[data-surface="marketing"] .scart--vol i:nth-child(3) { animation-delay: .36s; }
html[data-surface="marketing"] .scart--vol i:nth-child(4) { animation-delay: .54s; }
html[data-surface="marketing"] .scart--vol i:nth-child(5) { animation-delay: .72s; }
@keyframes scPulse {
  0%, 100% { transform: scaleY(.5); opacity: .7; }
  50% { transform: scaleY(1.9); opacity: 1; }
}
/* C. refreshing document */
html[data-surface="marketing"] .scart--doc .scart__doc {
  position: absolute;
  inset: 0 10px 0 0;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 10px 22px -12px rgba(15,23,42,.28);
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 9px 8px;
}
html[data-surface="marketing"] .scart--doc .scart__doc i {
  height: 5px;
  border-radius: 999px;
  background: rgba(22,185,129,.32);
  animation: scDocLine 3.4s ease-in-out infinite;
}
html[data-surface="marketing"] .scart--doc .scart__doc i:nth-child(2) { width: 78%; animation-delay: .2s; }
html[data-surface="marketing"] .scart--doc .scart__doc i:nth-child(3) { width: 56%; animation-delay: .4s; }
@keyframes scDocLine {
  0%, 55%, 100% { opacity: 1; }
  70% { opacity: .25; }
  85% { opacity: 1; }
}
html[data-surface="marketing"] .scart__spin {
  position: absolute;
  right: -2px;
  bottom: -8px;
  width: 24px;
  height: 24px;
  padding: 4px;
  border-radius: 50%;
  background: var(--sc-accent);
  color: #fff;
  box-shadow: 0 6px 14px -6px var(--sc-accent);
  animation: scSpin 3.4s cubic-bezier(.6, .05, .3, 1) infinite;
}
@keyframes scSpin {
  0%, 52% { transform: rotate(0deg); }
  78%, 100% { transform: rotate(360deg); }
}
/* D. linking nodes */
html[data-surface="marketing"] .scart--net svg { width: 100%; height: 100%; overflow: visible; display: block; }
html[data-surface="marketing"] .scart__ln {
  stroke: var(--sc-accent);
  opacity: .4;
  stroke-dasharray: 40;
  stroke-dashoffset: 40;
  animation: scLink 3.6s ease-in-out infinite;
}
html[data-surface="marketing"] .scart__ln--2 { animation-delay: .5s; }
@keyframes scLink {
  0% { stroke-dashoffset: 40; opacity: 0; }
  35%, 80% { stroke-dashoffset: 0; opacity: .7; }
  100% { stroke-dashoffset: -40; opacity: 0; }
}
html[data-surface="marketing"] .scart__nd {
  fill: var(--sc-accent);
  transform-box: fill-box;
  transform-origin: center;
  animation: scNode 3.6s ease-in-out infinite;
}
html[data-surface="marketing"] .scart__nd--2 { animation-delay: .4s; }
html[data-surface="marketing"] .scart__nd--3 { animation-delay: .8s; fill: #C2EC33; }
@keyframes scNode {
  0%, 100% { transform: scale(.75); opacity: .55; }
  40% { transform: scale(1.15); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .scart i,html[data-surface="marketing"]  .scart__tick,html[data-surface="marketing"]  .scart__spin,html[data-surface="marketing"]  .scart__ln,html[data-surface="marketing"]  .scart__nd { animation: none !important; }
  html[data-surface="marketing"] .scart--rise i { transform: none; }
  html[data-surface="marketing"] .scart__tick { transform: none; opacity: 1; }
  html[data-surface="marketing"] .scart__ln { stroke-dashoffset: 0; opacity: .6; }
  html[data-surface="marketing"] .pcard--score:hover { transform: none; }
  html[data-surface="marketing"] .pcard--score:hover::after { animation: none; }
}

@media (max-width: 800px) { html[data-surface="marketing"] .products-grid { grid-template-columns: 1fr; } }

/* Blog */
html[data-surface="marketing"] .blog-hero {
  padding: 160px 0 60px;
  text-align: center;
}
html[data-surface="marketing"] .blog-hero h1 { max-width: 18ch; margin: 18px auto 16px; }
html[data-surface="marketing"] .blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  perspective: 1500px;
}
html[data-surface="marketing"] .bcard {
  display: flex;
  flex-direction: column;
  gap: 16px;
  cursor: pointer;
  transition: transform .4s var(--ease-out);
}
html[data-surface="marketing"] .bcard:hover { transform: translateY(-4px); }
html[data-surface="marketing"] .bcard[data-tilt-3d] {
  transform-style: preserve-3d;
  transition: transform .6s var(--ease-out);
  will-change: transform;
}
html[data-surface="marketing"] .bcard[data-tilt-3d]:hover { transform: none; }
html[data-surface="marketing"] .bcard[data-tilt-3d] .bcard__img,html[data-surface="marketing"] 
.bcard[data-tilt-3d] .bcard__tag,html[data-surface="marketing"] 
.bcard[data-tilt-3d] h3,html[data-surface="marketing"] 
.bcard[data-tilt-3d] p,html[data-surface="marketing"] 
.bcard[data-tilt-3d] .bcard__meta {
  transition: transform .6s var(--ease-out), box-shadow .6s var(--ease-out), border-color .6s var(--ease-out);
}
html[data-surface="marketing"] .bcard[data-tilt-3d]:hover .bcard__img {
  transform: translateZ(40px);
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6), 0 10px 20px -10px rgba(0, 0, 0, 0.4);
  border-color: rgba(15, 23, 42, 0.18);
}
html[data-surface="marketing"] .bcard[data-tilt-3d]:hover .bcard__tag { transform: translateZ(16px); }
html[data-surface="marketing"] .bcard[data-tilt-3d]:hover h3 { transform: translateZ(22px); }
html[data-surface="marketing"] .bcard[data-tilt-3d]:hover p { transform: translateZ(12px); }
html[data-surface="marketing"] .bcard[data-tilt-3d]:hover .bcard__meta { transform: translateZ(8px); }
@media (hover: none) {
  html[data-surface="marketing"] .bcard[data-tilt-3d],html[data-surface="marketing"]  .bcard[data-tilt-3d] * { transform: none !important; }
}
html[data-surface="marketing"] .bcard__img {
  aspect-ratio: 4/3;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius);
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-glass);
}
html[data-surface="marketing"] .bcard__img::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0.35), transparent 50%);
}
html[data-surface="marketing"] .bcard__tag {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-2);
}
html[data-surface="marketing"] .bcard h3 {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 500;
  margin: 0;
  line-height: 1.15;
  color: var(--ink);
}
html[data-surface="marketing"] .bcard p { color: var(--text-2); font-size: 14.5px; margin: 0; }
html[data-surface="marketing"] .bcard__meta { font-size: 12px; color: var(--text-3); display: flex; gap: 12px; }

html[data-surface="marketing"] .bcard--featured {
  grid-column: span 3;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: center;
  padding: 0;
}
html[data-surface="marketing"] .bcard--featured .bcard__img { aspect-ratio: 16/10; }
html[data-surface="marketing"] .bcard--featured h3 { font-size: clamp(28px, 3vw, 40px); }

@media (max-width: 900px) {
  html[data-surface="marketing"] .blog-grid { grid-template-columns: 1fr 1fr; }
  html[data-surface="marketing"] .bcard--featured { grid-column: span 2; grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 540px) {
  html[data-surface="marketing"] .blog-grid { grid-template-columns: 1fr; }
  html[data-surface="marketing"] .bcard--featured { grid-column: span 1; }
}

/* Blog post (article view) */
html[data-surface="marketing"] .post-hero {
  padding: 140px 0 40px;
  text-align: center;
}
html[data-surface="marketing"] .post-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-3);
  margin-bottom: 28px;
  transition: color .25s ease, transform .35s var(--ease-out);
}
html[data-surface="marketing"] .post-back:hover { color: var(--ink); transform: translateX(-3px);
  font-weight: 600; }
html[data-surface="marketing"] .post-tag {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--accent);
  border: 1px solid var(--accent-2);
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 22px;
}
html[data-surface="marketing"] .post-hero h1 {
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  max-width: 22ch;
  margin: 0 auto 24px;
}
html[data-surface="marketing"] .post-meta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 13.5px;
  color: var(--text-3);
  font-family: 'Inter', sans-serif;
}
html[data-surface="marketing"] .post-meta .dot { width: 4px; height: 4px; border-radius: 50%; background: var(--text-3); opacity: .6; }
html[data-surface="marketing"] .post-meta .author { color: var(--text-2); font-weight: 500; }

html[data-surface="marketing"] .post-cover {
  aspect-ratio: 16/9;
  border-radius: var(--radius-xl);
  background-size: cover;
  background-position: center;
  margin: 8px auto 56px;
  max-width: var(--container-narrow);
  position: relative;
  overflow: hidden;
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  box-shadow: var(--shadow-lift);
}
html[data-surface="marketing"] .post-cover::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0.45), transparent 50%);
}

html[data-surface="marketing"] .prose {
  max-width: 720px;
  margin: 0 auto;
  font-size: 17.5px;
  line-height: 1.75;
  color: var(--text-2);
}
html[data-surface="marketing"] .prose > * + * { margin-top: 1.4em; }
html[data-surface="marketing"] .prose .lead-para {
  font-size: 21px;
  line-height: 1.55;
  color: var(--ink);
  font-weight: 400;
}
html[data-surface="marketing"] .prose h2 {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.15;
  margin-top: 2em;
  color: var(--ink);
}
html[data-surface="marketing"] .prose h3 {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 500;
  margin-top: 1.6em;
  color: var(--ink);
}
html[data-surface="marketing"] .prose p { margin: 0; color: var(--text-2); }
html[data-surface="marketing"] .prose a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
html[data-surface="marketing"] .prose a:hover { text-decoration-thickness: 2px; }
html[data-surface="marketing"] .prose ul,html[data-surface="marketing"]  .prose ol { padding-left: 1.4em; margin: 0; }
html[data-surface="marketing"] .prose ul li,html[data-surface="marketing"]  .prose ol li { margin: 0.4em 0; color: var(--text-2); }
html[data-surface="marketing"] .prose blockquote {
  margin: 1.6em 0;
  padding: 4px 0 4px 24px;
  border-left: 3px solid var(--accent);
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.4;
  color: var(--ink);
  font-style: normal;
  letter-spacing: -0.01em;
}
html[data-surface="marketing"] .prose blockquote cite { display: block; font-family: var(--font-sans); font-size: 13px; color: var(--text-3); margin-top: 10px; font-style: normal; letter-spacing: 0.04em; }
html[data-surface="marketing"] .prose code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.92em;
  background: var(--bg-soft);
  border: 1px solid var(--glass-border);
  color: var(--ink);
  padding: 2px 7px;
  border-radius: 6px;
}
html[data-surface="marketing"] .prose hr {
  border: 0;
  border-top: 1px solid var(--hairline);
  margin: 2.4em auto;
  max-width: 80px;
}
html[data-surface="marketing"] .prose figure { margin: 1.6em 0; }
html[data-surface="marketing"] .prose figure img,html[data-surface="marketing"]  .prose figure .figure-img {
  width: 100%;
  border-radius: var(--radius-lg);
  border: 1px solid var(--glass-border);
  display: block;
  aspect-ratio: 16/9;
  background-size: cover;
  background-position: center;
  background-color: #ffffff;
}
html[data-surface="marketing"] .prose figcaption { font-size: 13px; color: var(--text-3); text-align: center; margin-top: 10px; }

html[data-surface="marketing"] .post-share {
  max-width: 720px;
  margin: 56px auto 0;
  padding-top: 28px;
  border-top: 1px solid var(--hairline);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
html[data-surface="marketing"] .post-share span { font-size: 13px; color: var(--text-3); font-family: 'Inter', sans-serif; letter-spacing: 0.06em; text-transform: uppercase; }
html[data-surface="marketing"] .post-share .links { display: flex; gap: 8px; }
html[data-surface="marketing"] .post-share .links a {
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid var(--glass-border);
  color: var(--text-2);
  transition: background .25s, color .25s, transform .35s var(--ease-out), border-color .25s;
}
html[data-surface="marketing"] .post-share .links a:hover {
  background: var(--bg-tint);
  color: var(--ink);
  border-color: rgba(15,23,42,.2);
  transform: translateY(-2px);
}
html[data-surface="marketing"] .post-share .links .copy-link {
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid var(--glass-border);
  color: var(--text-2);
  position: relative;
  transition: background .25s, color .25s, transform .35s var(--ease-out), border-color .25s;
}
html[data-surface="marketing"] .post-share .links .copy-link:hover {
  background: var(--bg-tint);
  color: var(--ink);
  border-color: rgba(15,23,42,.2);
  transform: translateY(-2px);
}
html[data-surface="marketing"] .post-share .links .copy-link .copy-check { position: absolute; opacity: 0; transform: scale(0.6); transition: opacity .25s, transform .25s var(--ease-out); color: #0a0a14; }
html[data-surface="marketing"] .post-share .links .copy-link.copied { background: var(--accent); color: #0a0a14; border-color: var(--accent); }
html[data-surface="marketing"] .post-share .links .copy-link.copied .copy-icon { opacity: 0; }
html[data-surface="marketing"] .post-share .links .copy-link.copied .copy-check { opacity: 1; transform: scale(1); }

html[data-surface="marketing"] .post-related {
  margin-top: 80px;
}
html[data-surface="marketing"] .post-related h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(22px, 2.4vw, 30px);
  margin: 0 0 28px;
  letter-spacing: -0.015em;
  color: var(--ink);
}
html[data-surface="marketing"] .post-related .blog-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { html[data-surface="marketing"] .post-related .blog-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { html[data-surface="marketing"] .post-related .blog-grid { grid-template-columns: 1fr; } }

@media (max-width: 720px) {
  html[data-surface="marketing"] .post-hero { padding: 120px 0 28px; }
  html[data-surface="marketing"] .post-cover { margin-bottom: 36px; border-radius: var(--radius-lg); }
  html[data-surface="marketing"] .prose { font-size: 16.5px; }
  html[data-surface="marketing"] .prose .lead-para { font-size: 18.5px; }
}

/* Form (get-started) */
html[data-surface="marketing"] .form-wrap {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 80px;
  align-items: flex-start;
}
html[data-surface="marketing"] .form-side h1 { font-size: clamp(40px, 4.5vw, 64px); margin: 18px 0 18px; }
html[data-surface="marketing"] .form-side h1 .accent { color: var(--ink); }
html[data-surface="marketing"] .form-side p { color: var(--text-2); }
html[data-surface="marketing"] .form-side ul {
  list-style: none; padding: 0; margin: 32px 0 0;
  display: flex; flex-direction: column; gap: 14px;
}
html[data-surface="marketing"] .form-side ul li {
  display: flex; gap: 12px; align-items: flex-start;
  color: var(--text);
}
html[data-surface="marketing"] .form-side ul li .check {
  width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
  background: rgba(94, 107, 246,.22);
  border: 1px solid rgba(94, 107, 246,.6);
  color: var(--lime-deep);
  display: grid; place-items: center;
  font-size: 12px; font-weight: 700;
  margin-top: 1px;
}

html[data-surface="marketing"] .form {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-xl);
  padding: 36px;
  box-shadow: var(--shadow-glass);
}
html[data-surface="marketing"] .form__row { margin-bottom: 18px; }
html[data-surface="marketing"] .form__row.two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
html[data-surface="marketing"] .form__field { display: flex; flex-direction: column; gap: 6px; }
html[data-surface="marketing"] .form__field label {
  font-size: 12px;
  font-family: 'Inter', sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-3);
  font-weight: 500;
}
html[data-surface="marketing"] .form__field input,html[data-surface="marketing"] 
.form__field select,html[data-surface="marketing"] 
.form__field textarea {
  padding: 14px 16px;
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  background: #ffffff;
  color: var(--ink);
  font-size: 15px;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
  caret-color: var(--accent);
}
html[data-surface="marketing"] .form__field input::placeholder,html[data-surface="marketing"] 
.form__field textarea::placeholder { color: var(--text-3); }
html[data-surface="marketing"] .form__field input:focus,html[data-surface="marketing"] 
.form__field select:focus,html[data-surface="marketing"] 
.form__field textarea:focus {
  outline: 0;
  border-color: var(--accent);
  background: var(--bg-soft);
  box-shadow: 0 0 0 4px rgba(223, 255, 146,.15);
}
html[data-surface="marketing"] .form__chips { display: flex; gap: 8px; flex-wrap: wrap; }
html[data-surface="marketing"] .form__chip {
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid var(--glass-border);
  background: #ffffff;
  color: var(--text-2);
  font-size: 14px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
html[data-surface="marketing"] .form__chip:hover { background: var(--bg-tint); color: var(--ink); }
html[data-surface="marketing"] .form__chip.is-active {
  background: rgba(223, 255, 146,.18);
  color: var(--ink);
  border-color: rgba(223, 255, 146,.29);
}
html[data-surface="marketing"] .form__submit { width: 100%; justify-content: center; margin-top: 8px; }

@media (max-width: 900px) {
  html[data-surface="marketing"] .form-wrap { grid-template-columns: 1fr; gap: 40px; }
  html[data-surface="marketing"] .form { padding: 24px; }
  html[data-surface="marketing"] .form__row.two { grid-template-columns: 1fr; }
}

/* =========================================================
   Talk to sales modal (glass)
   ========================================================= */
html[data-surface="marketing"].is-locked,html[data-surface="marketing"].is-locked body { overflow: hidden; }

html[data-surface="marketing"] .talk-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  visibility: hidden;
  opacity: 0;
  transition: opacity .35s var(--ease-out), visibility .35s;
}
html[data-surface="marketing"] .talk-modal.is-open { visibility: visible; opacity: 1; }

html[data-surface="marketing"] .talk-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 7, 13, 0.55);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
}

html[data-surface="marketing"] .talk-modal__panel {
  position: relative;
  z-index: 1;
  width: min(960px, 100%);
  max-height: calc(100vh - 48px);
  max-height: calc(100svh - 48px);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(28px) saturate(160%);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lift);
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  transform: translateY(20px) scale(0.98);
  transition: transform .45s var(--ease-out);
  isolation: isolate;
}
html[data-surface="marketing"] .talk-modal__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: inherit;
  pointer-events: none;
  padding: 1.5px;
  background-image: radial-gradient(transparent 0%,transparent 30%,var(--shimmer-color, #DFFF92) 50%,transparent 70%,transparent 100%);
  background-size: 283% 283%;
  background-position: 153% 174%;
  animation: shimmer-border 9s linear infinite;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
          mask-composite: exclude;
  box-shadow: inset 0 0 0 1.5px rgba(223, 255, 146,.1);
  /* perf: single soft glow (was 3 stacked animated drop-shadows) */
  filter: drop-shadow(0 0 8px rgba(223, 255, 146,.29));
}
html[data-surface="marketing"] .talk-modal.is-open .talk-modal__panel { transform: translateY(0) scale(1); }

html[data-surface="marketing"] .talk-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 5;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--hairline);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--ink);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background .25s, transform .35s var(--ease-out), border-color .25s;
}
html[data-surface="marketing"] .talk-modal__close:hover { background: #fff; border-color: rgba(15, 23, 42, 0.16); transform: rotate(90deg); }

/* Left media panel - intentionally dark */
html[data-surface="marketing"] .talk-modal__media {
  position: relative;
  background:
    radial-gradient(600px 400px at 70%0,rgba(223, 255, 146,.4),transparent 60%),radial-gradient(500px 400px at 0 100%,rgba(94, 107, 246,.35),transparent 55%),linear-gradient(170deg,#F4FAE5 0,#E2E5FD 100%);
  color: var(--ink);
  padding: clamp(28px, 4vw, 44px);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  min-height: 100%;
}
html[data-surface="marketing"] .talk-modal__media-inner { position: relative; z-index: 2; }
html[data-surface="marketing"] .talk-modal__chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(15,23,42,.75);
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(15,23,42,.1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  margin-bottom: 22px;
}
html[data-surface="marketing"] .talk-modal__chip .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(223, 255, 146,.22);
  animation: tkPulse 1.6s ease-in-out infinite;
}
@keyframes tkPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(223, 255, 146,.22); }
  50% { box-shadow: 0 0 0 9px rgba(223, 255, 146, 0); }
}
html[data-surface="marketing"] .talk-modal__media h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.015em;
  margin: 0 0 12px;
  color: var(--ink);
  max-width: 14ch;
}
html[data-surface="marketing"] .talk-modal__media p {
  color: rgba(15,23,42,.68);
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0 0 22px;
  max-width: 32ch;
}
html[data-surface="marketing"] .talk-modal__media ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
html[data-surface="marketing"] .talk-modal__media ul li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  color: var(--ink);
}
html[data-surface="marketing"] .talk-modal__media ul li .check {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(223, 255, 146,.3);
  border: 1px solid rgba(223, 255, 146,.6);
  color: var(--ink);
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
html[data-surface="marketing"] .talk-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.6;
  pointer-events: none;
}
html[data-surface="marketing"] .talk-orb--lime { width: 240px; height: 240px; background: rgba(223, 255, 146,.32); top: -60px; right: -60px; animation: tkFloatA 14s ease-in-out infinite; }
html[data-surface="marketing"] .talk-orb--violet { width: 280px; height: 280px; background: rgba(94, 107, 246,.7); bottom: -100px; left: -80px; animation: tkFloatB 18s ease-in-out infinite; }
@keyframes tkFloatA { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-20px, 30px); } }
@keyframes tkFloatB { 0%,100% { transform: translate(0,0); } 50% { transform: translate(30px, -20px); } }

/* Right form panel */
html[data-surface="marketing"] .talk-modal__form {
  padding: clamp(28px, 4vw, 40px);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: calc(100vh - 48px);
  max-height: calc(100svh - 48px);
  background: transparent;
}
html[data-surface="marketing"] .talk-modal__form.is-hidden { display: none; }
html[data-surface="marketing"] .talk-modal__form .eyebrow {
  margin-bottom: 4px;
}
html[data-surface="marketing"] .talk-modal__form h2 {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.6vw, 30px);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0;
  color: var(--ink);
}
html[data-surface="marketing"] .talk-modal__sub {
  color: var(--text-2);
  font-size: 14.5px;
  margin: 0 0 6px;
}
html[data-surface="marketing"] .talk-modal__row { display: flex; flex-direction: column; gap: 14px; }
html[data-surface="marketing"] .talk-modal__row.two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
html[data-surface="marketing"] .talk-modal__field { display: flex; flex-direction: column; gap: 6px; }
html[data-surface="marketing"] .talk-modal__field label {
  font-size: 11.5px;
  font-family: 'Inter', sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-3);
  font-weight: 500;
}
html[data-surface="marketing"] .talk-modal__field input,html[data-surface="marketing"] 
.talk-modal__field select,html[data-surface="marketing"] 
.talk-modal__field textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  background: #ffffff;
  font-size: 15px;
  color: var(--ink);
  outline: none;
  transition: border-color .25s, box-shadow .25s, background .25s;
  font-family: inherit;
  caret-color: var(--accent);
}
html[data-surface="marketing"] .talk-modal__field input::placeholder,html[data-surface="marketing"] 
.talk-modal__field textarea::placeholder { color: var(--text-3); }
html[data-surface="marketing"] .talk-modal__field textarea { resize: vertical; min-height: 80px; }
html[data-surface="marketing"] .talk-modal__field input:focus,html[data-surface="marketing"] 
.talk-modal__field select:focus,html[data-surface="marketing"] 
.talk-modal__field textarea:focus {
  border-color: var(--accent);
  background: var(--bg-soft);
  box-shadow: 0 0 0 4px rgba(223, 255, 146,.15);
}
html[data-surface="marketing"] .talk-modal__field select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4 L6 8 L10 4' stroke='%23ffffff' stroke-opacity='0.5' stroke-width='1.5' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}
html[data-surface="marketing"] .talk-modal__field select option {
  background: #0a0a14;
  color: var(--ink);
}
html[data-surface="marketing"] .talk-modal__submit {
  width: 100%;
  justify-content: center;
  margin-top: 6px;
}
html[data-surface="marketing"] .talk-modal__legal {
  font-size: 12px;
  color: var(--text-3);
  margin: 4px 0 0;
}
html[data-surface="marketing"] .talk-modal__legal a { color: var(--text-2); text-decoration: underline; }

/* Success state */
html[data-surface="marketing"] .talk-modal__success {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  display: grid;
  place-items: center;
  padding: 40px;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .35s, transform .45s var(--ease-out);
  grid-column: 1 / -1;
  z-index: 3;
}
html[data-surface="marketing"] .talk-modal__success.is-shown { opacity: 1; transform: translateY(0); pointer-events: auto; }
html[data-surface="marketing"] .talk-modal__success-inner { text-align: center; max-width: 360px; }
html[data-surface="marketing"] .talk-modal__check {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--accent);
  color: #0a0a14;
  display: grid;
  place-items: center;
  margin: 0 auto 20px;
  box-shadow: 0 0 40px var(--accent-glow);
  animation: tkCheck .6s var(--ease-out);
}
@keyframes tkCheck {
  0% { transform: scale(0.4); opacity: 0; }
  60% { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(1); }
}
html[data-surface="marketing"] .talk-modal__success h3 {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
  color: var(--ink);
}
html[data-surface="marketing"] .talk-modal__success p {
  color: var(--text-2);
  margin: 0 0 22px;
  font-size: 15px;
}

/* Responsive */
@media (max-width: 820px) {
  html[data-surface="marketing"] .talk-modal { padding: 0; }
  html[data-surface="marketing"] .talk-modal__panel {
    grid-template-columns: 1fr;
    border-radius: 0;
    max-height: 100vh;
    max-height: 100svh;
    height: 100%;
  }
  html[data-surface="marketing"] .talk-modal__media {
    min-height: auto;
    padding: 24px 24px 28px;
  }
  html[data-surface="marketing"] .talk-modal__media h3 { font-size: 22px; max-width: none; }
  html[data-surface="marketing"] .talk-modal__media ul { display: none; }
  html[data-surface="marketing"] .talk-modal__form { padding: 24px; max-height: none; }
  html[data-surface="marketing"] .talk-modal__row.two { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  html[data-surface="marketing"] .talk-modal__media p { display: none; }
  html[data-surface="marketing"] .talk-modal__media h3 { margin-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-surface="marketing"] .talk-orb,html[data-surface="marketing"]  .talk-modal__chip .dot { animation: none; }
  html[data-surface="marketing"] .talk-modal__panel,html[data-surface="marketing"]  .talk-modal__success,html[data-surface="marketing"]  .talk-modal__close { transition: none; }
  html[data-surface="marketing"] .talk-modal__panel::before { animation: none; }
}

/* =========================================================
   Legal pages (Privacy Policy, Terms of Service)
   ========================================================= */
html[data-surface="marketing"] .legal-page h1 {
  font-family: var(--font-display);
  font-size: clamp(34px, 5vw, 56px);
  letter-spacing: var(--tracking-display);
  font-weight: 600;
  color: var(--ink);
  margin: 16px 0 16px;
}
html[data-surface="marketing"] .legal-page h2 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 22px;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 40px 0 12px;
}
html[data-surface="marketing"] .legal-page p { color: var(--text-2); font-size: 16px; line-height: 1.7; margin: 0 0 12px; }
html[data-surface="marketing"] .legal-page p.lead { font-size: 17px; color: var(--text-2); margin-bottom: 28px; }
html[data-surface="marketing"] .legal-page ul { color: var(--text-2); font-size: 16px; line-height: 1.7; padding-left: 20px; margin: 4px 0 16px; }
html[data-surface="marketing"] .legal-page ul li { margin: 6px 0; }
html[data-surface="marketing"] .legal-page ul li strong { color: var(--ink); font-weight: 500; }
html[data-surface="marketing"] .legal-page a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
html[data-surface="marketing"] .legal-page a:hover { color: var(--ink);
  font-weight: 600; }

/* =========================================================
   Page extras for the rewritten product/buyer pages
   ========================================================= */
/* Hero proof points — inline pills below the CTAs */
html[data-surface="marketing"] .proof-points {
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  color: var(--text-2);
  font-size: 14px;
}
html[data-surface="marketing"] .proof-points li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
html[data-surface="marketing"] .proof-points .check {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: rgba(94, 107, 246,.22);
  border: 1px solid rgba(94, 107, 246,.6);
  color: var(--lime-deep);
  display: grid; place-items: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}

/* Pcard variants — flavor tag above title + subtitle below */
html[data-surface="marketing"] .pcard__flavor {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--accent);
  border: 1px solid var(--accent-2);
  align-self: flex-start;
}
html[data-surface="marketing"] .pcard__sub {
  color: var(--ink);
  font-weight: 500;
  font-size: 15px;
  margin: -8px 0 0 !important;
  letter-spacing: -0.005em;
}

/* Quote grid — 3-column testimonial cards */
html[data-surface="marketing"] .quote-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
html[data-surface="marketing"] .quote-card {
  margin: 0;
  padding: 28px;
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glass);
  display: flex;
  flex-direction: column;
  gap: 18px;
  isolation: isolate;
  position: relative;
}
html[data-surface="marketing"] .quote-card blockquote {
  margin: 0;
  font-family: var(--font-display);
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: -0.005em;
  color: var(--ink);
  font-weight: 500;
}
html[data-surface="marketing"] .quote-card figcaption {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 13px;
  color: var(--text-2);
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
}
html[data-surface="marketing"] .quote-card figcaption strong {
  color: var(--ink);
  font-weight: 600;
}
@media (max-width: 900px) {
  html[data-surface="marketing"] .quote-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  html[data-surface="marketing"] .quote-grid { grid-template-columns: 1fr; }
}

/* Control-panel screenshot block — large glass frame for product UI */
html[data-surface="marketing"] .control-panel {
  border-radius: var(--radius-xl);
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  box-shadow: var(--shadow-lift);
  padding:7px;
  overflow: hidden;
}
html[data-surface="marketing"] .control-panel img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
/* 2-up product screenshot gallery inside the glass frame */
html[data-surface="marketing"] .control-panel__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
}
html[data-surface="marketing"] .control-panel__grid img {
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--hairline);
  box-shadow: 0 18px 36px -18px rgba(15, 23, 42, 0.30);
}
@media (max-width: 760px) {
  html[data-surface="marketing"] .control-panel__grid { grid-template-columns: 1fr; }
}

/* ---------- Phone mockup: half-screen iPhone (dynamic island) ----------
   Presents an embedded app animation inside a latest-iPhone frame, cropped
   to the top half with a faded cut edge — a zoomed-in "peek" treatment.
   The app stage is 440x500; it's scaled to the screen width and top-anchored
   under the island, so only the header + liquidity card show before the fade. */
/* Hero using the phone mockup: drop the square glass box aspect, and show the
   WHOLE phone (no top-half peek / fade) so the app content is fully visible. */
html[data-surface="marketing"] .page-hero__viz--phone { aspect-ratio: auto; padding: 0; overflow: visible; isolation: auto; }
html[data-surface="marketing"] .page-hero__viz--phone .phone-stage {
  height: auto;
  overflow: visible;
  align-items: center;
  padding: 28px 34px 40px;     /* margin so the tilt has room and isn't clipped */
  perspective: 1500px;         /* 3D viewing depth for the tilt */
  -webkit-mask-image: none;
          mask-image: none;
}
/* App fills the whole screen (no top/bottom white gap); screen height matches
   the scaled app (600 * .931 ≈ 558). */
html[data-surface="marketing"] .page-hero__viz--phone .phone__screen {
  height: 560px;
  border-radius: 40px;         /* <= frame inner radius (43) so it tucks inside, no corner poke */
}
html[data-surface="marketing"] .page-hero__viz--phone .phone__screen .aframe { top: 0; }
html[data-surface="marketing"] .page-hero__viz--phone .phone__island { transform: translateX(-50%) translateZ(16px); }
/* Real 3D breadth: layered depth so the phone has thickness when tilted. */
html[data-surface="marketing"] .page-hero__viz--phone .phone {
  transform-style: preserve-3d;
  will-change: transform;
  box-shadow: 0 10px 26px -16px rgba(15,23,42,.30);   /* low */
}
html[data-surface="marketing"] .page-hero__viz--phone .phone::before,html[data-surface="marketing"] 
.page-hero__viz--phone .phone::after { transform: translateZ(4px); }
html[data-surface="marketing"] .phone__depth {
  position: absolute;
  inset: 0;
  border-radius: 56px;
  background: linear-gradient(155deg, #1a1d24, #05070c);
  transform: translateZ(-30px);
  box-shadow: 0 8px 20px -14px rgba(0,0,0,.30);        /* low */
}
html[data-surface="marketing"] .phone-stage {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;     /* keep phone's natural height, top-aligned */
  height: 440px;               /* show the top portion of the phone */
  overflow: hidden;
  /* the cut bottom edge dissolves into the page */
  -webkit-mask-image: linear-gradient(to bottom, #000 74%, rgba(0,0,0,.4) 90%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 74%, rgba(0,0,0,.4) 90%, transparent 100%);
}
html[data-surface="marketing"] .phone {
  --pw: 324px;                 /* full phone width  */
  --bez: 13px;                 /* bezel thickness   */
  position: relative;
  flex: none;
  width: var(--pw);
  padding: var(--bez);
  border-radius: 56px;
  background: linear-gradient(155deg, #23262e, #0c0e14 60%);
  box-shadow:
    0 0 0 2px rgba(255,255,255,.06) inset,
    0 40px 80px -30px rgba(15,23,42,.55),
    0 12px 30px -16px rgba(15,23,42,.40);
}
/* iPhone side buttons — small nubs that peek from the frame edges.
   Left ::before = action + volume-up + volume-down (3 bars via box-shadow).
   Right ::after = the longer power / side button. */
html[data-surface="marketing"] .phone::before {
  content: "";
  position: absolute;
  left: -2.5px;
  top: 104px;
  width: 3px;
  height: 24px;
  border-radius: 3px 0 0 3px;
  background: #15171d;
  box-shadow:
    0 -34px 0 #15171d,          /* action button (above)      */
    0  42px 0 #15171d;          /* volume down (below vol up) */
}
html[data-surface="marketing"] .phone::after {
  content: "";
  position: absolute;
  right: -2.5px;
  top: 150px;
  width: 3px;
  height: 58px;
  border-radius: 0 3px 3px 0;
  background: #15171d;
}
html[data-surface="marketing"] .phone__screen {
  position: relative;
  width: 100%;
  height: 620px;               /* tall iPhone screen; only the top is shown */
  border-radius: 44px;
  overflow: hidden;
  background: #fff;
}
html[data-surface="marketing"] .phone__screen .aframe {
  position: absolute;
  top: 40px;                   /* clear the dynamic island + its top gap */
  left: 50%;
  width: 320px;                /* app's native stage width (portrait)  */
  height: 600px;               /* app's native stage height */
  border: 0;
  transform: translateX(-50%) scale(.931);   /* 298/320 → fills screen width */
  transform-origin: top center;
}
html[data-surface="marketing"] .phone__island {
  position: absolute;
  top: 25px;                   /* gap below the top edge, like a real iPhone */
  left: 50%;
  transform: translateX(-50%);
  width: 86px;
  height: 26px;
  border-radius: 999px;
  background: #05060a;
  box-shadow: 0 0 0 1px rgba(255,255,255,.05);
  z-index: 3;
}
@media (max-width: 380px) {
  html[data-surface="marketing"] .phone { --pw: 280px; }
  html[data-surface="marketing"] .phone__screen .aframe { transform: translateX(-50%) scale(.794); }  /* 254/320 → fills the narrow screen */
}

/* "Who it's for" list — labelled items in a 2/4-col responsive grid */
html[data-surface="marketing"] .who-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;   /* center the cards regardless of count */
  gap: 18px;
}
html[data-surface="marketing"] .who-list li {
  flex: 1 1 240px;
  max-width: 340px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px 20px;
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
          backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glass);
  isolation: isolate;
  position: relative;
}
html[data-surface="marketing"] .who-list li strong {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.005em;
}
html[data-surface="marketing"] .who-list li span {
  color: var(--text-2);
  font-size: 13.5px;
  line-height: 1.5;
}
@media (max-width: 1000px) { html[data-surface="marketing"] .who-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px)  { html[data-surface="marketing"] .who-list { grid-template-columns: 1fr; } }

/* Prose container for narrative sections (Growth Funding "What it is") */
html[data-surface="marketing"] .prose { display: flex; flex-direction: column; gap: 16px; max-width: 760px; margin: 0 auto; }
html[data-surface="marketing"] .prose p { color: var(--text-2); font-size: 16px; line-height: 1.7; margin: 0; }
html[data-surface="marketing"] .prose p strong { color: var(--ink); font-weight: 600; }

/* Repayment-rhythm visualizer (Growth Funding) */
html[data-surface="marketing"] .rhythm-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
html[data-surface="marketing"] .rhythm-card {
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
          backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glass);
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  isolation: isolate;
  position: relative;
}
html[data-surface="marketing"] .rhythm-card h3 {
  font-family: var(--font-display);
  font-size: 20px;
  margin: 0;
  border-top: 1px solid var(--hairline);  /* divider just above the caption */
  padding-top: 18px;
  color: var(--ink);
}
html[data-surface="marketing"] .rhythm-card p { color: var(--text-2); font-size: 14px; margin: 0; }
/* Repayment-rhythm CALENDAR — a shared-clock month: one "today" ring sweeps
   all three cards in sync while cells fill indigo on each card's cadence
   (Fridays = KSA rest day, amber, never filled). The grid and the per-day
   keyframes (rhyCur, rhyFill, rhyMonth) are built by rhythmGrid() in main.js. */
html[data-surface="marketing"] .rhythm-cells {
  display: flex; flex-direction: column; justify-content: center; /* center the calendar */
  flex: 1 1 auto;
  width: 100%; margin: 6px 0 0;
}
html[data-surface="marketing"] .cal-head { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-bottom: 8px; }
html[data-surface="marketing"] .cal-head span { text-align: center; font-size: 9px; font-weight: 700; color: var(--text-3); letter-spacing: .4px; }
html[data-surface="marketing"] .cal-head span.off { color: #F59E0B; }                                /* Friday header — day off */
html[data-surface="marketing"] .cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
html[data-surface="marketing"] .cal-cell {
  position: relative; aspect-ratio: 1; border-radius: 7px;
  background: rgba(15, 23, 42, 0.05);
  color: var(--text-3);                    /* .dnum inherits so keyframes can recolor it */
  display: flex; align-items: center; justify-content: center;
}
html[data-surface="marketing"] .cal-cell--blank { background: transparent; }
html[data-surface="marketing"] .cal-cell .dnum {
  font-family: var(--font-display);
  font-size: 10px; font-weight: 600; color: inherit;
  pointer-events: none;
}
html[data-surface="marketing"] .cal-cell--off { background: rgba(245, 158, 11, 0.12); color: #C7913A; } /* Friday — rest day, never filled */
@media (prefers-reduced-motion: reduce) {
  /* no motion — show the completed month statically */
  html[data-surface="marketing"] .rhythm-cells .cal-grid,html[data-surface="marketing"]  .rhythm-cells .cal-cell { animation: none !important; }
  html[data-surface="marketing"] .rhythm-cells .cal-cell.tick { background: var(--accent); color: #000; }
}
@media (max-width: 800px) { html[data-surface="marketing"] .rhythm-grid { grid-template-columns: 1fr; } }

/* Pill strip — small inline product chips (Sellers page) */
html[data-surface="marketing"] .pill-strip {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0;
}
html[data-surface="marketing"] .pill {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 14.5px;
  color: var(--ink);
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
          backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--r-pill);
  text-decoration: none;
  transition: transform .25s ease, background-color .25s ease, color .25s ease;
}
html[data-surface="marketing"] .pill:hover {
  transform: translateY(-2px);
  background: var(--bg-tint);
  color: var(--ink);
  font-weight: 600;
}

/* Two-column timeline (Sellers "Going Live") */
html[data-surface="marketing"] .timeline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
html[data-surface="marketing"] .timeline__col {
  padding: 32px;
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
          backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glass);
  isolation: isolate;
  position: relative;
}
html[data-surface="marketing"] .timeline__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  color: var(--ink);
  margin-bottom: 18px;
}
html[data-surface="marketing"] .timeline__label .dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 12px var(--accent-glow);
}
html[data-surface="marketing"] .timeline ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
html[data-surface="marketing"] .timeline li {
  display: flex; gap: 10px; align-items: flex-start;
  color: var(--text); font-size: 15px;
}
html[data-surface="marketing"] .timeline li .check {
  width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
  background: rgba(94, 107, 246,.22);
  border: 1px solid rgba(94, 107, 246,.6);
  color: var(--lime-deep);
  display: grid; place-items: center;
  font-size: 12px; font-weight: 700;
  margin-top: 1px;
}
@media (max-width: 720px) { html[data-surface="marketing"] .timeline { grid-template-columns: 1fr; } }

/* Risk ownership — labelled items in a stacked list */
html[data-surface="marketing"] .risk-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
html[data-surface="marketing"] .risk-item {
  padding: 26px 28px;
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
          backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-top-color: var(--glass-border-top);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glass);
  isolation: isolate;
  position: relative;
}
html[data-surface="marketing"] .risk-item h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 19px;
  letter-spacing: -0.005em;
  color: var(--ink);
  margin: 0 0 8px;
}
html[data-surface="marketing"] .risk-item p { color: var(--text-2); margin: 0; font-size: 15px; line-height: 1.6; }

/* ---------- Animations blend fully transparent ----------
   Strip the glass box (bg / border / shadow / backdrop blur) from any
   wrapper that holds an embedded animation iframe — the animations are
   already transparent, so they float on the page with no card around them. */
html[data-surface="marketing"] .page-hero__viz:has(iframe),html[data-surface="marketing"] 
.control-panel:has(iframe),html[data-surface="marketing"] 
.fpair__viz:has(iframe),html[data-surface="marketing"] 
.usecases__viz:has(iframe),html[data-surface="marketing"] 
[class*="anim-frame"]:has(iframe),html[data-surface="marketing"] 
.cb:has(iframe){
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html[data-surface="marketing"] .page-hero__viz:has(iframe)::before,html[data-surface="marketing"] 
.control-panel:has(iframe)::before,html[data-surface="marketing"] 
[class*="anim-frame"]:has(iframe)::before{ display: none !important; }

/* ---------- Scroll perf: skip rendering offscreen animation frames ----------
   Every wrapper below carries an aspect-ratio, so its box is reserved even when
   skipped — no layout shift. Keeps the page smooth on mobile while the 17
   looping animations only cost paint when actually on screen. */
html[data-surface="marketing"] .page-hero__viz,html[data-surface="marketing"] 
.anim-portrait,html[data-surface="marketing"] 
.anim-landscape,html[data-surface="marketing"] 
.anim-square,html[data-surface="marketing"] 
.anim-frame--hero,html[data-surface="marketing"] 
.anim-frame--usecase,html[data-surface="marketing"] 
.anim-frame--card{
  content-visibility: auto;
}

/* =========================================================
   Homepage hero — full width-driven sizing.
   The fold-fit experiment (height-capped dashboard + collapsed
   spacing) made the landing hero read as a small card instead of a
   home page, so it is gone: .hero now uses the landing.css sizing
   (1080px container-narrow dashboard, 28px stack gap) and is allowed
   to run past the fold. Sub-page .page-hero fold-fit above is
   unaffected.
   ========================================================= */

/* ---- Get Started form: required-field error state ------------------------
   The five dropdowns now open on a prompt instead of a real answer, so a
   visitor can reach the button with nothing chosen. The form carries
   `novalidate` and validates itself, so the message is ours and lives in the
   markup — which means the AR build translates it like any other string. */
html[data-surface="marketing"] .form__err {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.35;
  color: #C2410C;
}
html[data-surface="marketing"] .form__err[hidden] { display: none; }
html[data-surface="marketing"] .form__field input.is-invalid,html[data-surface="marketing"] 
.form__field select.is-invalid,html[data-surface="marketing"] 
.form__field textarea.is-invalid {
  border-color: #E0713C;
  background: rgba(224, 113, 60, 0.05);
}
html[data-surface="marketing"] .form__field input.is-invalid:focus,html[data-surface="marketing"] 
.form__field select.is-invalid:focus,html[data-surface="marketing"] 
.form__field textarea.is-invalid:focus {
  border-color: #C2410C;
  box-shadow: 0 0 0 4px rgba(224, 113, 60, 0.16);
}
html[data-surface="marketing"] .form__chips.is-invalid .form__chip {
  border-color: rgba(224, 113, 60, 0.55);
}
/* The prompt option is greyed like a placeholder until a real answer is
   picked, so an unanswered select still reads as unanswered at a glance. */
html[data-surface="marketing"] .form__field select:has(option[value=""]:checked) { color: var(--text-3); }
/* GENERATED by scripts/scope-ref-css.ts from src/styles/ref/raw/rtl.css — DO NOT EDIT.
   Reference stylesheet, verbatim, scoped to html[data-surface="marketing"]. */
/* =========================================================
   RTL + Arabic typography. Loaded ONLY on /ar/ pages
   (which carry <html lang="ar" dir="rtl">).
   ========================================================= */
html[data-surface="marketing"][dir="rtl"]{
  /* Arabic-first font stack; overrides the Latin display/sans vars
     site-wide because all components read these custom properties. */
  --font-display:'IBM Plex Sans Arabic','Gilroy','Inter',system-ui,sans-serif;
  --font-sans:'IBM Plex Sans Arabic','Gilroy','Inter',system-ui,sans-serif;
  --tracking-display:0;   /* Latin negative tracking hurts Arabic */
  --tracking-small:0;
}
html[data-surface="marketing"][dir="rtl"] body{ text-align:right; }

/* Keep product UI mockups / animations left-to-right (they show
   app screens with Latin numerals — mirroring them looks broken). */
html[data-surface="marketing"][dir="rtl"] .cb__stage,
html[data-surface="marketing"][dir="rtl"] .stage,
html[data-surface="marketing"][dir="rtl"] .hero__visual,
html[data-surface="marketing"][dir="rtl"] .anim-frame,
html[data-surface="marketing"][dir="rtl"] [data-anim]{ direction:ltr; }
/* but captions under the animations follow the page direction */
html[data-surface="marketing"][dir="rtl"] .cb__cap{ direction:rtl; text-align:right; }

/* Inline icon+text rows that used physical margins: let flexbox gap
   + RTL handle order; nudge a couple that hard-coded a side. */
html[data-surface="marketing"][dir="rtl"] .btn .arrow,
html[data-surface="marketing"][dir="rtl"] .nav__item .caret{ transform:scaleX(-1); }

/* Arrow glyphs that imply "forward" should point left in RTL. */
html[data-surface="marketing"][dir="rtl"] .ai-pill__arrow,
html[data-surface="marketing"][dir="rtl"] .link-arrow,
html[data-surface="marketing"][dir="rtl"] .arrow-right{ transform:scaleX(-1); }

/* Numerals / currency stay LTR so "SAR 8,200" reads correctly. */
html[data-surface="marketing"][dir="rtl"] .amt,
html[data-surface="marketing"][dir="rtl"] .pos__amt,
html[data-surface="marketing"][dir="rtl"] .num,
html[data-surface="marketing"][dir="rtl"] [data-ltr]{ direction:ltr; unicode-bidi:isolate; }

/* Mega-menu / dropdowns are JS-positioned (portaled to body with an inline
   `left`). Don't also set `right` here — that pins both edges and stretches
   the panel full-width. RTL horizontal anchoring is handled in partials.js. */
html[data-surface="marketing"][dir="rtl"] .mega__label{ text-align:right; }

/* Buyers score-card corner art + headline clearance mirror in RTL. */
html[data-surface="marketing"][dir="rtl"] .scart{ right:auto; left:30px; }
html[data-surface="marketing"][dir="rtl"] .pcard--score h3{ padding-right:0; padding-left:64px; }
html[data-surface="marketing"][dir="rtl"] .pcard--score::after{
  left:auto; right:-45%;
  background:linear-gradient(270deg, transparent, var(--sc-accent), transparent);
  animation-name:scSweepRtl;
}
html[data-surface="marketing"][dir="rtl"] .scart__tick{ right:auto; left:-7px; }
html[data-surface="marketing"][dir="rtl"] .scart__spin{ right:auto; left:-2px; }
html[data-surface="marketing"][dir="rtl"] .scart--doc .scart__doc{ inset:0 0 0 10px; }
@keyframes scSweepRtl{
  0%{ right:-45%; opacity:0; }
  12%{ opacity:1; }
  100%{ right:110%; opacity:0; }
}

/* Lists and check rows that used padding-left for the marker. */
html[data-surface="marketing"][dir="rtl"] ul{ padding-right:1.1em; padding-left:0; }

/* Pull-quote accent bar moves to the right edge in RTL. */
html[data-surface="marketing"][dir="rtl"] .prose blockquote{
  border-left:0;
  border-right:3px solid var(--accent);
  padding:4px 24px 4px 0;
}

/* Arabic headings need more leading — the Latin 1.04 line-height clips
   diacritics/tashkeel and overlaps stacked lines. */
html[data-surface="marketing"][dir="rtl"] h1,
html[data-surface="marketing"][dir="rtl"] h2,
html[data-surface="marketing"][dir="rtl"] h3,
html[data-surface="marketing"][dir="rtl"] h4,
html[data-surface="marketing"][dir="rtl"] .display,
html[data-surface="marketing"][dir="rtl"] [data-hero]{
  line-height: 1.4;
}

/* Word rotator: in Arabic the rotating word must hug the right edge of its slot
   so it sits next to the static "...الآن" text (LTR baseline used text-align:left). */
html[data-surface="marketing"][dir="rtl"] .prefooter__headline .wrotator,
html[data-surface="marketing"][dir="rtl"] .wrotator__track > span{ text-align:right; }

/* Split-section heading + lead are text-align:left for the LTR layout; in Arabic
   they must be right-aligned (align-items:flex-start already flips to the right). */
html[data-surface="marketing"][dir="rtl"] .section--split .section-head,
html[data-surface="marketing"][dir="rtl"] .section--split .section-head h2,
html[data-surface="marketing"][dir="rtl"] .section--split .section-head .lead{ text-align:right; }

/* Testimonial grid captions: name/role/quote overlay is bottom-LEFT aligned for
   the LTR layout; in Arabic pin it to the bottom-right and keep the padding gap
   clear of the play button (which flips to the bottom-left). */
html[data-surface="marketing"][dir="rtl"] .tcard__caption{
  /* align-items stays flex-start: with dir=rtl the flex inline-start already
     resolves to the RIGHT edge (flex-end would push items left). */
  text-align: right;
  padding-right: 16px;
  padding-left: 60px;
}
html[data-surface="marketing"][dir="rtl"] .tgrid__row > .tcard > .tcard__media .tcard__play{
  right: auto;
  left: 14px;
}

/* Outbound-link markers (Operate Smarter -> Omni) and panel CTA arrows.
   The arrow means "away from the text", so in RTL it has to point up-LEFT, not
   up-right — otherwise it reads as pointing back into the sentence. Mirroring
   keeps the only signal that the visitor is about to leave finapay intact in
   Arabic. The hover nudge is mirrored with it, or hover would cancel the flip. */
html[data-surface="marketing"][dir="rtl"] .mega__ext svg,
html[data-surface="marketing"][dir="rtl"] .megashop__cta svg,
html[data-surface="marketing"][dir="rtl"] .nav__macc-panel a.is-ext svg { transform: scaleX(-1); }
html[data-surface="marketing"][dir="rtl"] .nav__dropdown a.megashop__feat:hover .megashop__cta svg { transform: scaleX(-1) translateX(3px); }
/* GENERATED by scripts/scope-ref-css.ts from src/styles/ref/raw/i18n.css — DO NOT EDIT.
   Reference stylesheet, verbatim, scoped to html[data-surface="marketing"]. */
/* =========================================================
   Language toggle + first-visit language banner.
   Loaded on every page (EN + AR). LTR/RTL agnostic.
   ========================================================= */
html[data-surface="marketing"] .lang-toggle{
  display:inline-flex;align-items:center;gap:6px;
  height:36px;padding:0 12px;
  border-radius:999px;
  border:1px solid var(--glass-border, rgba(15,23,42,.1));
  background:var(--glass-bg, rgba(255,255,255,.5));
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  color:var(--text, #000000);
  font:600 13px/1 var(--font-sans, system-ui, sans-serif);
  text-decoration:none;cursor:pointer;
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
html[data-surface="marketing"] .lang-toggle:hover{background:#fff;transform:translateY(-1px);border-color:rgba(15,23,42,.18)}
html[data-surface="marketing"] .lang-toggle svg{width:16px;height:16px;flex:none;opacity:.8}
html[data-surface="marketing"] .lang-toggle__txt{display:inline-block}

/* footer variant */
html[data-surface="marketing"] .footer .lang-toggle,html[data-surface="marketing"] 
.prefooter .lang-toggle{margin-top:4px}

/* first-visit suggestion banner */
html[data-surface="marketing"] .lang-banner{
  position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(10px);
  z-index:9999;
  display:flex;align-items:center;gap:14px;
  max-width:calc(100% - 32px);
  padding:12px 16px;
  border-radius:14px;
  background:rgba(20,24,40,.92);color:#fff;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 18px 50px rgba(0,0,0,.3);
  font:500 14px/1.35 var(--font-sans, system-ui, sans-serif);
  opacity:0;pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
}
html[data-surface="marketing"] .lang-banner.is-on{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
html[data-surface="marketing"] .lang-banner a{
  color:#000000;background:#fff;text-decoration:none;font-weight:700;
  padding:8px 14px;border-radius:999px;white-space:nowrap;
}
html[data-surface="marketing"] .lang-banner button{
  background:transparent;border:0;color:rgba(255,255,255,.7);
  font-size:20px;line-height:1;cursor:pointer;padding:0 2px;
}
html[data-surface="marketing"] .lang-banner button:hover{color:#fff}
/* Self-hosted @font-face set from the reference (Bricolage Grotesque, "Geist"
   and "Inter" aliases, IBM Plex Sans Arabic) — files live in public/assets/fonts. */
/* Self-hosted fonts — generated by scripts/build-fonts.js. Do not edit. */
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 200 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/bricolage-grotesque-25c61ceb.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 200 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/bricolage-grotesque-a4fe79f7.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 200 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/bricolage-grotesque-a9723242.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/assets/fonts/bricolage-grotesque-5de8c8ed.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/assets/fonts/bricolage-grotesque-71d84187.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/assets/fonts/bricolage-grotesque-de2e989a.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/assets/fonts/bricolage-grotesque-d3803c2e.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/assets/fonts/bricolage-grotesque-7c52c09f.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/assets/fonts/bricolage-grotesque-277d00aa.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/assets/fonts/bricolage-grotesque-252ba3bf.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-2c5925a6.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-3ee147b7.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-d0ff48e3.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-b4b8b325.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-00b30da7.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-20f3cd78.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-cd801fd7.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-b9f68601.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-32d75856.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-2829ae4d.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-da4431f2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-0b17f11d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-dda02519.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-77f4bc82.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-586b7be8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-5344fa57.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-5ab42dd5.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-53091531.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-3a07650c.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  size-adjust: 90%;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-arabic-a39bac68.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Gilroy — Radomir Tinkov / Tinkov Fonts. Licensed via Fontspring; see
   /assets/fonts/gilroy/License.txt. Webfont use is subject to the pageview
   limit on the purchase invoice. Self-hosted; weights load only when used. */
@font-face {
  font-family: 'Gilroy';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-Thin.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-ThinItalic.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-UltraLight.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-UltraLightItalic.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-Light.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-LightItalic.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-Regular.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-RegularItalic.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-Medium.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-MediumItalic.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-SemiBold.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-SemiBoldItalic.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-Bold.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-BoldItalic.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-ExtraBold.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-ExtraBoldItalic.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-Heavy.woff2) format('woff2');
}
@font-face {
  font-family: 'Gilroy';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/gilroy/Gilroy-HeavyItalic.woff2) format('woff2');
}
