/* Valuedesign India — corporate redesign layer
   Loaded after the legacy styles so existing content remains compatible while
   the shared shell and redesigned homepage use the new enterprise visual system. */

:root {
  --brand: #20c46a;
  --brand-dark: #11894a;
  --brand-soft: #eaf8f0;
  --ink: #14211b;
  --ink-2: #34463d;
  --muted: #66756d;
  --surface: #ffffff;
  --surface-soft: #f5f8f6;
  --surface-strong: #edf3ef;
  --line: #dfe8e2;
  --line-strong: #c9d7ce;
  --navy-green: #0e2a1c;
  --max: 1240px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --shadow-sm: 0 8px 24px rgba(20, 33, 27, .06);
  --shadow-md: 0 18px 50px rgba(20, 33, 27, .10);

  /* Backward-compatible variables used by legacy pages. */
  --bg: #ffffff;
  --bg-2: #f5f8f6;
  --panel: #ffffff;
  --panel-strong: #ffffff;
  --brand-2: #58d993;
  --brand-3: #11894a;
  --text: #14211b;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background: var(--surface);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body::before { display: none !important; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
svg, video, canvas, iframe { max-width: 100%; }
button, input, select, textarea { max-width: 100%; }
main, section, header, footer, nav, div { min-width: 0; }
p, h1, h2, h3, h4, a, span, strong { overflow-wrap: anywhere; }
.container { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; position: relative; z-index: 2; }

.skip-link {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 9999;
  padding: 10px 14px;
  border-radius: 8px;
  background: var(--ink);
  color: #fff;
  transition: top .2s ease;
}
.skip-link:focus { top: 16px; }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(210, 224, 215, .85);
  backdrop-filter: blur(16px);
  box-shadow: 0 2px 12px rgba(22, 40, 30, .035);
}
.nav-shell {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand { flex: 0 0 auto; display: inline-flex; align-items: center; }
.logo-header { width: 194px; height: auto; }
.nav-links { display: flex; align-items: center; gap: 4px; color: var(--ink-2); font-size: 14px; font-weight: 600; }
.nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  color: var(--ink-2);
  font: inherit;
  padding: 26px 10px 24px;
  cursor: pointer;
  white-space: nowrap;
}
.nav-link:hover, .nav-link:focus-visible, .nav-link.is-active { color: var(--ink); }
.nav-link::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  height: 2px;
  background: var(--brand);
  transform: scaleX(0);
  transition: transform .2s ease;
}
.nav-link:hover::after, .nav-link.is-active::after { transform: scaleX(1); }
.dropdown { position: relative; }
.dropdown-menu {
  position: absolute;
  top: calc(100% - 8px);
  left: 50%;
  transform: translate(-50%, 8px);
  width: 310px;
  display: grid;
  gap: 2px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-md);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.dropdown-menu-wide { width: 390px; }
.dropdown:hover .dropdown-menu,
.dropdown:focus-within .dropdown-menu,
.dropdown.is-open .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
.dropdown-menu a {
  display: grid;
  gap: 1px;
  padding: 12px 13px;
  border-radius: 10px;
  color: var(--ink);
}
.dropdown-menu a:hover { background: var(--surface-soft); }
.dropdown-menu strong { font-size: 13px; }
.dropdown-menu span { color: var(--muted); font-size: 11px; font-weight: 500; }
.nav-actions { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.portal-link { color: var(--muted); font-size: 13px; font-weight: 700; }
.portal-link:hover { color: var(--brand-dark); }
.mobile-only { display: none; }
.menu-toggle { display: none; width: 42px; height: 42px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.menu-toggle span { display: block; width: 19px; height: 2px; margin: 4px auto; background: var(--ink); transition: .2s ease; }

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 11px 17px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-weight: 750;
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--brand); color: #072414; box-shadow: none; }
.btn-primary:hover { background: #25d273; box-shadow: 0 8px 22px rgba(32, 196, 106, .18); }
.btn-secondary { background: #fff; color: var(--ink); border-color: var(--line-strong); }
.btn-secondary:hover { border-color: #aebeb4; background: var(--surface-soft); }
.btn-light { background: #fff; color: var(--navy-green); }
.btn-light:hover { background: #f1f7f3; }
.btn-large { min-height: 50px; padding: 14px 20px; }

/* Homepage hero */
.home-hero { position: relative; padding: 92px 0 76px; overflow: hidden; background: linear-gradient(180deg, #fff 0%, #fbfdfc 100%); border-bottom: 1px solid var(--line); }
.home-hero::before {
  content: "";
  position: absolute;
  right: -13vw;
  top: 90px;
  width: 42vw;
  height: 42vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(32,196,106,.08) 0, rgba(32,196,106,0) 70%);
  pointer-events: none;
}
.home-hero-grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); gap: 72px; align-items: center; }
.corporate-eyebrow, .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--brand-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.corporate-eyebrow span { width: 8px; height: 8px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 5px var(--brand-soft); }
.home-hero h1 { max-width: 720px; margin: 20px 0 20px; color: var(--ink); font-size: clamp(46px, 5.4vw, 78px); line-height: 1.02; letter-spacing: -.045em; font-weight: 760; }
.home-hero h1 em { color: var(--brand-dark); font-style: normal; }
.hero-lead { max-width: 680px; margin: 0; color: var(--muted); font-size: clamp(17px, 1.55vw, 20px); line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); }
.hero-proof div { padding-right: 18px; }
.hero-proof div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.hero-proof strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: 14px; }
.hero-proof span { color: var(--muted); font-size: 12px; line-height: 1.45; }

.enterprise-visual {
  position: relative;
  min-height: 530px;
  padding: 26px;
  border: 1px solid #d9e6dd;
  border-radius: 28px;
  background:
    linear-gradient(rgba(255,255,255,.93), rgba(255,255,255,.93)),
    linear-gradient(90deg, rgba(32,196,106,.08) 1px, transparent 1px),
    linear-gradient(rgba(32,196,106,.08) 1px, transparent 1px);
  background-size: auto, 34px 34px, 34px 34px;
  box-shadow: 0 28px 80px rgba(20, 48, 32, .11);
  overflow: hidden;
}
.enterprise-visual::after {
  content: "";
  position: absolute;
  inset: auto -70px -100px auto;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(32,196,106,.08);
  filter: blur(3px);
}
.visual-topline, .visual-footer { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.status-dot { color: var(--brand-dark); }
.platform-core { position: relative; z-index: 2; width: 310px; margin: 76px auto 54px; padding: 28px; text-align: center; border: 1px solid #bfe7ce; border-radius: 18px; background: #fff; box-shadow: 0 16px 36px rgba(27, 89, 54, .12); }
.platform-core::before, .platform-core::after { content: ""; position: absolute; top: 50%; width: 56px; height: 1px; background: #b9d5c2; }
.platform-core::before { right: 100%; }
.platform-core::after { left: 100%; }
.platform-logo { width: 150px; margin: 0 auto 16px; }
.platform-core strong { display: block; color: var(--ink); font-size: 20px; letter-spacing: -.02em; }
.platform-core > span { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; }
.flow-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 44px; }
.flow-card { min-height: 112px; padding: 15px 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.9); }
.flow-card small { display: block; color: var(--brand-dark); font-size: 10px; font-weight: 800; }
.flow-card strong { display: block; margin: 14px 0 2px; color: var(--ink); font-size: 13px; }
.flow-card span { color: var(--muted); font-size: 10px; }

.trust-bar { background: var(--navy-green); color: #fff; }
.trust-bar-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 68px; }
.trust-bar-inner span { position: relative; color: rgba(255,255,255,.84); font-size: 12px; font-weight: 700; letter-spacing: .025em; }
.trust-bar-inner span + span::before { content: ""; position: absolute; left: -20px; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: var(--brand); transform: translateY(-50%); }

/* Proof at scale — sourced from the current client-facing sales profile. */
.scale-proof { padding: 28px 0; background: #fff; border-bottom: 1px solid var(--line); }
.scale-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--surface-soft); }
.scale-proof-item { padding: 24px 26px; border-right: 1px solid var(--line); }
.scale-proof-item:last-child { border-right: 0; }
.scale-proof-item strong { display: block; color: var(--brand-dark); font-size: clamp(24px, 2.4vw, 34px); line-height: 1.1; letter-spacing: -.03em; }
.scale-proof-item span { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.5; }

/* Gaming / digital-content capability — positioned as a vertical use case, not a separate platform. */
.gaming-section { background: #f7faf8; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gaming-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 72px; align-items: center; }
.gaming-copy h2 { margin: 12px 0 20px; color: var(--ink); font-size: clamp(32px, 3.4vw, 48px); line-height: 1.12; letter-spacing: -.035em; }
.gaming-copy > p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.gaming-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 28px 0 26px; }
.gaming-stats > div { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.gaming-stats strong { display: block; color: var(--brand-dark); font-size: 30px; line-height: 1; letter-spacing: -.03em; }
.gaming-stats span { display: block; margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.gaming-capabilities { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gaming-capabilities > div { min-height: 190px; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.gaming-capabilities span { color: var(--brand-dark); font-size: 10px; font-weight: 900; }
.gaming-capabilities strong { display: block; margin: 30px 0 8px; color: var(--ink); font-size: 17px; line-height: 1.25; }
.gaming-capabilities p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }

/* Homepage sections */
.corp-section { padding: 98px 0; }
.soft-section { background: var(--surface-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section-heading { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 72px; align-items: end; margin-bottom: 44px; }
.section-heading.compact { margin-bottom: 34px; }
.section-heading h2, .audience-card h2, .why-copy h2, .presence-copy h2, .final-cta h2 { margin: 12px 0 0; color: var(--ink); font-size: clamp(32px, 3.4vw, 48px); line-height: 1.12; letter-spacing: -.035em; }
.section-heading p, .audience-card > p, .why-copy > p, .presence-copy > p, .final-cta p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.75; }
.solution-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.solution-card { position: relative; min-height: 340px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.solution-card:hover { transform: translateY(-4px); border-color: #b9d5c4; box-shadow: var(--shadow-md); }
.solution-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 12px; background: var(--brand-soft); color: var(--brand-dark); font-size: 12px; font-weight: 900; letter-spacing: .06em; }
.solution-no { position: absolute; top: 30px; right: 28px; color: #a9b7af; font-size: 11px; font-weight: 800; }
.solution-card h3 { margin: 48px 0 12px; color: var(--ink); font-size: 21px; line-height: 1.3; letter-spacing: -.02em; }
.solution-card p { margin: 0 0 26px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.text-link { color: var(--brand-dark); font-size: 13px; font-weight: 800; }
.text-link:hover { color: #0c713d; }

.audience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.audience-card { min-height: 500px; padding: 48px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.audience-card h2 { max-width: 580px; font-size: clamp(31px, 3vw, 44px); }
.audience-card > p { max-width: 590px; margin-top: 20px; }
.audience-channel { background: var(--navy-green); border-color: var(--navy-green); color: #fff; }
.audience-channel .section-kicker { color: #79e4a8; }
.audience-channel h2 { color: #fff; }
.audience-channel > p { color: rgba(255,255,255,.72); }
.audience-channel .text-link { color: #7ae5aa; }
.check-list { display: grid; gap: 13px; padding: 0; margin: 34px 0 38px; list-style: none; }
.check-list li { position: relative; padding-left: 28px; color: var(--ink-2); font-size: 14px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--brand-dark); font-weight: 900; }
.audience-channel .check-list li { color: rgba(255,255,255,.84); }
.audience-channel .check-list li::before { color: #7ae5aa; }

.logo-showcase { overflow: hidden; }
.logo-group { margin-top: 24px; }
.logo-group + .logo-group { margin-top: 40px; }
.logo-group-label { margin-bottom: 14px; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.corporate-logo-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.corporate-logo-card { height: 112px; display: flex; align-items: center; justify-content: center; padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.corporate-logo-card img { max-width: 100%; max-height: 55px; object-fit: contain; filter: saturate(.9); }

.dark-band { background: var(--navy-green); color: #fff; }
.why-grid { display: grid; grid-template-columns: .83fr 1.17fr; gap: 90px; align-items: start; }
.light-kicker { color: #78e3a7; }
.why-copy h2, .final-cta h2 { color: #fff; }
.why-copy > p { margin: 22px 0 30px; color: rgba(255,255,255,.7); }
.why-points { display: grid; }
.why-point { display: grid; grid-template-columns: 56px 1fr; gap: 22px; padding: 26px 0; border-top: 1px solid rgba(255,255,255,.12); }
.why-point:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }
.why-point > span { color: #78e3a7; font-size: 11px; font-weight: 900; }
.why-point strong { color: #fff; font-size: 17px; }
.why-point p { margin: 7px 0 0; color: rgba(255,255,255,.64); font-size: 14px; line-height: 1.7; }

.process-row { display: grid; grid-template-columns: 1fr 24px 1fr 24px 1fr 24px 1fr; align-items: stretch; }
.process-card { min-height: 230px; padding: 27px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.process-card > span { color: var(--brand-dark); font-size: 11px; font-weight: 900; }
.process-card h3 { margin: 36px 0 8px; color: var(--ink); font-size: 20px; }
.process-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.process-line { align-self: center; height: 1px; background: var(--line-strong); }

.case-band { background: #f8faf9; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.case-card { min-height: 390px; padding: 30px; border: 1px solid var(--line); border-radius: 16px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.case-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.case-logo { height: 70px; display: flex; align-items: center; margin-bottom: 38px; }
.case-logo img { max-width: 130px; max-height: 60px; object-fit: contain; }
.case-card > span { color: var(--brand-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.case-card h3 { margin: 12px 0; color: var(--ink); font-size: 24px; line-height: 1.2; }
.case-card p { margin: 0 0 30px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.case-card b { color: var(--brand-dark); font-size: 13px; }

.presence-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }
.presence-copy > p { margin-top: 20px; }
.presence-copy .text-link { display: inline-block; margin-top: 26px; }
.market-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.market-list > div { min-height: 94px; display: flex; align-items: center; gap: 14px; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.market-list .market-primary { grid-column: 1 / -1; min-height: 130px; background: var(--brand-soft); border-color: #ccebd8; }
.market-list span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #f1f5f2; color: var(--brand-dark); font-size: 10px; font-weight: 900; }
.market-primary span { width: 50px; height: 50px; background: #fff; }
.market-list strong { color: var(--ink); font-size: 15px; }
.market-list small { display: block; color: var(--muted); font-size: 12px; }

.final-cta-section { padding-top: 28px; }
.final-cta { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 56px; align-items: center; padding: 58px; border-radius: 24px; background: linear-gradient(120deg, #0e2a1c 0%, #133b27 100%); overflow: hidden; }
.final-cta::after { content: ""; position: absolute; right: -80px; top: -110px; width: 300px; height: 300px; border-radius: 50%; border: 62px solid rgba(73, 214, 132, .10); }
.final-cta h2 { max-width: 770px; font-size: clamp(30px, 3.3vw, 46px); }
.final-cta p { max-width: 680px; margin-top: 16px; color: rgba(255,255,255,.68); }
.final-cta-actions { position: relative; z-index: 2; display: grid; gap: 14px; justify-items: center; min-width: 220px; }
.cta-email { color: rgba(255,255,255,.75); font-size: 12px; }
.cta-email:hover { color: #fff; }

/* Footer — retains the current website's service, country and copyright content,
   reorganised into a more professional enterprise footer. */
.main-footer { margin-top: 92px; background: #0b1811; color: #dbe7df; }
.footer-main { display: grid; grid-template-columns: 1.45fr repeat(3, .75fr); gap: 52px; padding: 68px 0 46px; }
.footer-brand { display: inline-flex; padding: 10px 14px; border-radius: 8px; background: #fff; }
.footer-brand img { width: 170px; }
.footer-brand-col p { max-width: 390px; margin: 22px 0 14px; color: #94a59a; font-size: 13px; line-height: 1.75; }
.footer-email { color: #8ce3b2; font-size: 13px; font-weight: 700; }
.footer-col { display: grid; align-content: start; gap: 10px; }
.footer-col h3 { margin: 0 0 8px; color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.footer-col a { color: #9fafA5; font-size: 13px; }
.footer-col a:hover { color: #fff; }
.footer-offices { display: grid; grid-template-columns: 1.1fr 1fr .75fr; gap: 34px; padding: 28px 0; border-top: 1px solid rgba(255,255,255,.10); border-bottom: 1px solid rgba(255,255,255,.10); }
.footer-offices div { display: grid; gap: 5px; }
.footer-offices strong { color: #fff; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.footer-offices span { color: #83958a; font-size: 11px; line-height: 1.65; }
.group-links { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding: 22px 0; color: #809188; font-size: 12px; }
.group-links > span:first-child { margin-right: 12px; color: #c8d6ce; font-weight: 700; }
.group-links a:hover { color: #fff; }
.footer-bottom { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.08); color: #718379; font-size: 11px; }

/* Corporate overrides for legacy secondary pages */
main { min-height: 45vh; }
section:not(.home-hero):not(.trust-bar):not(.corp-section) { position: relative; }
.card, .feature, .panel, .info-card, .team-card, .about-card, .service-card {
  border-color: var(--line) !important;
  background: #fff !important;
  color: var(--ink) !important;
  box-shadow: var(--shadow-sm) !important;
}
.copy, .lead, .card p, .feature p, .info-card p, .section-title p { color: var(--muted) !important; }
.hero-aboutb, .contact-hero {
  min-height: 270px !important;
  background: linear-gradient(180deg, #f5faf7 0%, #fff 100%) !important;
  border-bottom: 1px solid var(--line) !important;
  color: var(--ink) !important;
}
.contact-hero::before, .contact-hero::after { opacity: .2 !important; }
.contact-hero h1, .hero-aboutb h1 { color: var(--ink) !important; letter-spacing: -.035em; }
.contact-hero h1 span { color: var(--brand-dark) !important; }
.hero-breadcrumb, .hero-breadcrumb a { color: var(--muted) !important; }
.section-title h2, .main h2, .main h3 { color: var(--ink); }
.logo-section, .logo-slider, .logo-item { background: #fff !important; }

/* Reveal — intentionally restrained */
.reveal { opacity: 0; transform: translateY(10px); transition: opacity .55s ease, transform .55s ease; }
.reveal.is-visible, .reveal.in, .reveal.show { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}

@media (max-width: 1120px) {
  .nav-actions .portal-link { display: none; }
  .nav-links { gap: 0; }
  .nav-link { padding-inline: 8px; }
  .home-hero-grid { grid-template-columns: 1fr 1fr; gap: 42px; }
  .solution-grid { grid-template-columns: repeat(2, 1fr); }
  .corporate-logo-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-main { grid-template-columns: 1.25fr repeat(3, .75fr); gap: 30px; }
}

@media (max-width: 920px) {
  .container { width: min(var(--max), calc(100% - 32px)); }
  .site-header { position: sticky; }
  .nav-shell { min-height: 68px; }
  .logo-header { width: 168px; }
  .menu-toggle { display: block; margin-left: auto; }
  .nav-actions { display: none; }
  .nav-links {
    position: absolute;
    left: 16px;
    right: 16px;
    top: calc(100% + 8px);
    max-height: calc(100dvh - 92px);
    overflow: auto;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 2px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--shadow-md);
  }
  .nav-links.active { display: flex; }
  .nav-link { width: 100%; justify-content: space-between; padding: 12px 10px; border-radius: 8px; }
  .nav-link::after { display: none; }
  .nav-link:hover { background: var(--surface-soft); }
  .dropdown-menu, .dropdown-menu-wide {
    position: static;
    width: 100%;
    transform: none !important;
    display: none;
    margin: 2px 0 8px;
    border: 0;
    border-radius: 8px;
    background: var(--surface-soft);
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .dropdown.is-open .dropdown-menu { display: grid; }
  .dropdown:hover .dropdown-menu:not(.mobile-open) { display: none; }
  .dropdown.is-open:hover .dropdown-menu { display: grid; }
  .mobile-only { display: flex; }
  .home-hero { padding: 62px 0; }
  .home-hero-grid, .section-heading, .audience-grid, .why-grid, .presence-grid, .final-cta, .gaming-grid { grid-template-columns: 1fr; }
  .home-hero-grid { gap: 46px; }
  .enterprise-visual { min-height: 500px; }
  .section-heading { gap: 18px; }
  .solution-grid { grid-template-columns: 1fr 1fr; }
  .process-row { grid-template-columns: 1fr 1fr; gap: 14px; }
  .process-line { display: none; }
  .case-grid { grid-template-columns: 1fr; }
  .why-grid { gap: 38px; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .scale-proof-grid { grid-template-columns: 1fr 1fr; }
  .scale-proof-item:nth-child(2) { border-right: 0; }
  .scale-proof-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .footer-offices { grid-template-columns: 1fr; }
  .final-cta-actions { justify-items: start; }
}

@media (max-width: 620px) {
  .home-hero h1 { font-size: clamp(36px, 11vw, 44px); }
  .hero-proof { grid-template-columns: 1fr; gap: 14px; }
  .hero-proof div { padding: 0 0 14px; }
  .hero-proof div + div { padding: 0 0 14px; border-left: 0; border-top: 1px solid var(--line); padding-top: 14px; }
  .enterprise-visual { min-height: auto; padding: 18px; border-radius: 18px; }
  .platform-core { width: 75%; margin: 56px auto 42px; padding: 22px 12px; }
  .platform-core::before, .platform-core::after { width: 28px; }
  .flow-grid { grid-template-columns: 1fr 1fr; }
  .trust-bar-inner { min-height: auto; padding: 18px 0; flex-wrap: wrap; justify-content: flex-start; }
  .trust-bar-inner span + span::before { display: none; }
  .corp-section { padding: 72px 0; }
  .solution-grid, .corporate-logo-grid, .process-row, .market-list, .scale-proof-grid, .gaming-capabilities, .gaming-stats { grid-template-columns: 1fr; }
  .solution-card { min-height: 300px; }
  .audience-card { min-height: 0; padding: 32px 26px; }
  .corporate-logo-card { height: 96px; }
  .market-list .market-primary { grid-column: auto; }
  .final-cta { padding: 38px 26px; }
  .footer-main { grid-template-columns: 1fr; gap: 34px; }
  .scale-proof-item { border-right: 0; border-bottom: 1px solid var(--line); }
  .scale-proof-item:last-child { border-bottom: 0; }
  .gaming-capabilities > div { min-height: 0; }
  .footer-bottom { flex-direction: column; align-items: flex-start; justify-content: center; padding: 18px 0; }
  .desktop-text-link { display: none; }
}

/* Contact page */
.page-hero.corporate-page-hero { padding: 82px 0 58px; background: #f7faf8; border-bottom: 1px solid var(--line); }
.page-hero-grid { display: grid; grid-template-columns: 1.1fr .7fr; gap: 80px; align-items: end; }
.page-hero-grid h1 { max-width: 760px; margin: 13px 0 0; color: var(--ink); font-size: clamp(40px, 5vw, 64px); line-height: 1.04; letter-spacing: -.045em; }
.page-hero-grid > p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.contact-section { padding: 78px 0 20px; }
.contact-layout { display: grid; grid-template-columns: 1.35fr .65fr; gap: 24px; align-items: start; }
.contact-form-card, .office-panel { border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.contact-form-card { padding: 42px; }
.contact-card-head h2, .office-panel h2 { margin: 10px 0 6px; color: var(--ink); font-size: 30px; line-height: 1.2; letter-spacing: -.025em; }
.contact-card-head p { margin: 0 0 28px; color: var(--muted); font-size: 13px; }
.corporate-form { display: grid; gap: 18px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.corporate-form label { display: grid; gap: 7px; color: var(--ink-2); font-size: 12px; font-weight: 750; }
.corporate-form input, .corporate-form select, .corporate-form textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; color: var(--ink); padding: 12px 13px; font: inherit; font-size: 14px; outline: none; transition: border-color .18s ease, box-shadow .18s ease; }
.corporate-form textarea { resize: vertical; min-height: 148px; }
.corporate-form input:focus, .corporate-form select:focus, .corporate-form textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(32,196,106,.12); }
.form-submit-row { display: flex; align-items: center; gap: 18px; padding-top: 4px; }
.form-submit-row > span { color: var(--muted); font-size: 12px; }
.form-submit-row a { color: var(--brand-dark); font-weight: 700; }
.form-alert { margin-bottom: 20px; padding: 14px 16px; border-radius: 10px; font-size: 13px; }
.form-alert.success { border: 1px solid #b9e8cc; background: #eefaf3; color: #12683b; }
.form-alert.error { border: 1px solid #f0c4c4; background: #fff5f5; color: #8a2d2d; }
.form-alert ul { margin: 7px 0 0; padding-left: 18px; }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.office-panel { padding: 38px; background: var(--surface-soft); }
.office-panel h2 { margin-bottom: 30px; }
.office-item { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 22px 0; border-top: 1px solid var(--line); }
.office-item > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--brand-dark); font-size: 10px; font-weight: 900; }
.office-item strong { display: block; color: var(--ink); font-size: 14px; }
.office-item p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.office-divider { height: 1px; margin: 12px 0 28px; background: var(--line); }
.regional-markets { margin-top: 13px; color: var(--ink-2); font-size: 13px; font-weight: 700; line-height: 1.8; }
.regional-markets i { color: var(--brand); font-style: normal; margin: 0 3px; }
@media (max-width: 920px) {
  .page-hero-grid, .contact-layout { grid-template-columns: 1fr; gap: 26px; }
  .page-hero-grid { align-items: start; }
}
@media (max-width: 620px) {
  .page-hero.corporate-page-hero { padding: 60px 0 44px; }
  .form-row { grid-template-columns: 1fr; }
  .contact-form-card, .office-panel { padding: 28px 22px; }
  .form-submit-row { align-items: flex-start; flex-direction: column; }
}

/* Core internal corporate pages */
.internal-section { padding: 88px 0; }
.internal-soft { background: var(--surface-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.internal-split { display: grid; grid-template-columns: 1fr .85fr; gap: 90px; align-items: center; }
.internal-copy h2, .group-context h2, .leadership-message h2, .presence-note h2, .leadership-profile h2 { margin: 12px 0 20px; color: var(--ink); font-size: clamp(32px, 3.5vw, 48px); line-height: 1.12; letter-spacing: -.035em; }
.internal-copy p, .group-context p, .leadership-message p, .presence-note p, .leadership-profile p { color: var(--muted); font-size: 15px; line-height: 1.8; }
.fact-panel { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: #fff; }
.fact-panel div { min-height: 145px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fact-panel div:nth-child(2n) { border-right: 0; }
.fact-panel div:nth-last-child(-n+2) { border-bottom: 0; }
.fact-panel strong { display: block; margin-bottom: 8px; color: var(--brand-dark); font-size: 26px; letter-spacing: -.03em; }
.fact-panel span { color: var(--muted); font-size: 12px; line-height: 1.6; }
.principle-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.principle-grid > div { min-height: 250px; padding: 28px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.principle-grid span { color: var(--brand-dark); font-size: 11px; font-weight: 900; }
.principle-grid h3 { margin: 42px 0 9px; font-size: 20px; }
.principle-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.group-context, .presence-note { display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: center; }
.group-context p { max-width: 820px; }
.internal-cta-wrap { padding-top: 22px; }
.internal-cta { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: center; padding: 48px 52px; border-radius: 20px; background: var(--navy-green); }
.internal-cta h2 { max-width: 780px; margin: 10px 0 0; color: #fff; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.15; letter-spacing: -.03em; }
.vision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.vision-card { min-height: 390px; padding: 44px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.vision-card.primary { background: var(--navy-green); border-color: var(--navy-green); }
.vision-card > span { color: var(--brand-dark); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vision-card.primary > span { color: #79e4a8; }
.vision-card h2 { margin: 54px 0 18px; color: var(--ink); font-size: clamp(30px, 3vw, 42px); line-height: 1.16; letter-spacing: -.035em; }
.vision-card.primary h2 { color: #fff; }
.vision-card p { color: var(--muted); font-size: 14px; line-height: 1.8; }
.vision-card.primary p { color: rgba(255,255,255,.68); }
.leadership-message, .leadership-profile { display: grid; grid-template-columns: 360px 1fr; gap: 68px; align-items: center; }
.leadership-image, .india-leader-image { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.leadership-image img, .india-leader-image img { width: 100%; aspect-ratio: 4/4.7; object-fit: cover; }
.leadership-message h3, .leadership-profile h3 { margin: -10px 0 22px; color: var(--brand-dark); font-size: 14px; }
.office-country-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.country-card { min-height: 300px; padding: 34px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.country-card.featured { grid-row: span 2; background: var(--surface-soft); }
.country-code { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 36px; border-radius: 50%; background: var(--brand-soft); color: var(--brand-dark); font-size: 11px; font-weight: 900; }
.country-card h2 { margin: 0 0 18px; color: var(--ink); font-size: 28px; }
.country-card p { margin: 0 0 18px; color: var(--muted); font-size: 13px; line-height: 1.75; }
.country-card a { color: var(--brand-dark); font-size: 12px; font-weight: 800; }
.office-address { padding: 22px 0; border-top: 1px solid var(--line); }
.office-address strong { color: var(--ink); font-size: 13px; }
.office-address p { margin: 6px 0 0; }
.presence-note p { max-width: 600px; margin: 0; }
.leadership-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.leadership-tags span { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); color: var(--ink-2); font-size: 11px; font-weight: 700; }
.people-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.person-card { padding: 28px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.person-avatar { width: 82px; height: 82px; display: grid; place-items: center; margin-bottom: 28px; overflow: hidden; border-radius: 50%; background: var(--brand-soft); color: var(--brand-dark); font-weight: 900; }
.person-avatar img { width: 100%; height: 100%; object-fit: cover; }
.person-function { color: var(--brand-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.person-card h3 { margin: 10px 0 3px; color: var(--ink); font-size: 17px; }
.person-card p { margin: 0; color: var(--muted); font-size: 12px; }
@media (max-width: 920px) {
  .internal-split, .group-context, .vision-grid, .leadership-message, .leadership-profile, .presence-note, .internal-cta { grid-template-columns: 1fr; gap: 34px; }
  .principle-grid, .people-grid { grid-template-columns: 1fr 1fr; }
  .leadership-message, .leadership-profile { align-items: start; }
  .leadership-image, .india-leader-image { max-width: 360px; }
}
@media (max-width: 620px) {
  .internal-section { padding: 66px 0; }
  .fact-panel, .principle-grid, .office-country-grid, .people-grid { grid-template-columns: 1fr; }
  .fact-panel div { border-right: 0; border-bottom: 1px solid var(--line) !important; }
  .fact-panel div:last-child { border-bottom: 0 !important; }
  .country-card.featured { grid-row: auto; }
  .vision-card { min-height: 0; padding: 30px 24px; }
  .vision-card h2 { margin-top: 34px; }
  .internal-cta { padding: 34px 24px; }
}
.footer-group-logos { display: flex; align-items: center; gap: 32px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.10); }
.footer-group-logos > span { flex: 0 0 auto; color: #809188; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.footer-group-logo-grid { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.footer-group-logo-grid img { width: auto; height: 28px; max-width: 122px; object-fit: contain; filter: brightness(0) invert(1); opacity: .62; }
@media (max-width: 620px) { .footer-group-logos { align-items: flex-start; flex-direction: column; gap: 14px; } .footer-group-logo-grid { gap: 18px; } }


/* Device-independent resilience: phones down to 320px, touch devices and legacy content. */
@media (max-width: 480px) {
  .container { width: calc(100% - 28px); }
  .nav-shell { min-height: 64px; }
  .logo-header { width: 150px; }
  .home-hero { padding: 48px 0 52px; }
  .home-hero h1 { font-size: clamp(34px, 10.7vw, 40px); letter-spacing: -.035em; }
  .hero-lead { font-size: 16px; line-height: 1.65; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .btn { width: 100%; }
  .enterprise-visual { padding: 14px; }
  .visual-topline, .visual-footer { align-items: flex-start; flex-direction: column; gap: 6px; }
  .platform-core { width: min(86%, 300px); margin: 42px auto 34px; }
  .platform-core::before, .platform-core::after { display: none; }
  .flow-grid { gap: 8px; margin-bottom: 28px; }
  .flow-card { min-height: 98px; padding: 12px 10px; }
  .corp-section { padding: 62px 0; }
  .section-heading h2, .audience-card h2, .why-copy h2, .presence-copy h2, .final-cta h2, .gaming-copy h2 { font-size: clamp(29px, 9vw, 36px); }
  .audience-card { padding: 28px 22px; }
  .solution-card, .case-card { padding: 24px 22px; min-height: 0; }
  .final-cta { padding: 32px 22px; gap: 30px; }
  .final-cta-actions { width: 100%; min-width: 0; }
  .final-cta-actions .btn { width: 100%; }
  .footer-main { padding-top: 52px; }
  .footer-brand img { width: 150px; }
}

@media (max-width: 360px) {
  .container { width: calc(100% - 24px); }
  .logo-header { width: 138px; }
  .menu-toggle { width: 40px; height: 40px; }
  .home-hero h1 { font-size: 34px; }
  .flow-grid { grid-template-columns: 1fr; }
  .platform-core { width: 100%; }
  .btn { padding-inline: 14px; }
}

@media (hover: none) {
  .solution-card:hover, .case-card:hover, .btn:hover { transform: none; }
}

/* Keep legacy service/blog content responsive inside the redesigned shell. */
main table { width: 100%; max-width: 100%; border-collapse: collapse; }
main pre, main code { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
main iframe, main video { width: 100%; height: auto; aspect-ratio: 16 / 9; }
main img { height: auto; }

/* =========================================================
   Interactive Demo Center — Brand + Distribution API journeys
   ========================================================= */
.demo-center-section { background: linear-gradient(180deg, #f7fbf8 0%, #ffffff 100%); overflow: hidden; }
.demo-center-heading { align-items: end; }
.demo-center-shell { border: 1px solid #dbe8df; border-radius: 24px; background: #fff; box-shadow: 0 28px 70px rgba(13, 54, 35, .10); overflow: hidden; }
.demo-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 10px; border-bottom: 1px solid #e4eee7; background: #f7faf8; }
.demo-tab { min-width: 0; display: flex; align-items: center; gap: 14px; padding: 17px 20px; border: 1px solid transparent; border-radius: 15px; background: transparent; color: var(--muted); text-align: left; cursor: pointer; transition: background .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease; }
.demo-tab:hover { background: #fff; color: var(--ink); }
.demo-tab.is-active { border-color: #cce7d5; background: #fff; color: var(--ink); box-shadow: 0 8px 22px rgba(20, 81, 48, .08); }
.demo-tab-icon { flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: #eaf8ef; color: #13874c; font-size: 11px; font-weight: 900; letter-spacing: -.02em; }
.demo-tab[data-demo-tab="api"] .demo-tab-icon { background: #e9f0ff; color: #315bce; }
.demo-tab strong, .demo-tab small { display: block; }
.demo-tab strong { margin-bottom: 3px; font-size: 14px; }
.demo-tab small { color: #7d8b82; font-size: 11px; }
.demo-panel { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); min-height: 610px; }
.demo-panel[hidden] { display: none !important; }
.demo-panel-copy { padding: 54px 48px 48px; }
.demo-audience-badge { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; color: #137c46; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.demo-audience-badge span { width: 7px; height: 7px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 5px rgba(32,196,106,.12); }
.demo-audience-badge.api-badge { color: #315bce; }
.demo-audience-badge.api-badge span { background: #5579e8; box-shadow: 0 0 0 5px rgba(85,121,232,.12); }
.demo-panel-copy h3 { max-width: 540px; margin: 0 0 14px; color: var(--ink); font-size: clamp(30px, 3vw, 44px); line-height: 1.08; letter-spacing: -.04em; }
.demo-panel-copy > p { max-width: 590px; margin: 0 0 28px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.demo-journey { display: grid; gap: 8px; }
.demo-step { width: 100%; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; padding: 12px; border: 1px solid #e4ece7; border-radius: 12px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.demo-step:hover { border-color: #b9d8c4; transform: translateX(2px); }
.demo-step > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: #f0f6f2; color: #5b7666; font-size: 10px; font-weight: 900; }
.demo-step strong, .demo-step small { display: block; }
.demo-step strong { margin-bottom: 2px; font-size: 12px; }
.demo-step small { color: #7b8a81; font-size: 10px; }
.demo-step.is-active { border-color: #9edcb5; background: #f6fcf8; }
.demo-step.is-active > span { background: var(--brand); color: #06381e; }
[data-demo-panel="api"] .demo-step.is-active { border-color: #b7c6f7; background: #f6f8ff; }
[data-demo-panel="api"] .demo-step.is-active > span { background: #5579e8; color: #fff; }
.demo-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 28px; }
.demo-stage { min-width: 0; padding: 34px; display: flex; align-items: center; background: radial-gradient(circle at 78% 20%, rgba(32,196,106,.17), transparent 32%), linear-gradient(145deg, #052b1a, #073b23 60%, #0a4a2a); }
[data-demo-panel="api"] .demo-stage { background: radial-gradient(circle at 75% 18%, rgba(85,121,232,.28), transparent 32%), linear-gradient(145deg, #071323, #0a1d38 58%, #0d274b); }
.demo-window { width: 100%; max-width: 760px; margin: auto; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: #f9fcfa; box-shadow: 0 28px 70px rgba(0,0,0,.30); overflow: hidden; }
.demo-window-bar { height: 48px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 0 16px; border-bottom: 1px solid #e3ebe6; background: #fff; color: #53655b; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.demo-window-dots { display: flex; gap: 5px; }
.demo-window-dots i { width: 7px; height: 7px; border-radius: 50%; background: #cad6ce; }
.demo-live { justify-self: end; color: #11844a; }
.demo-brand-stage { min-height: 390px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 22px; align-items: center; padding: 36px 30px; background: linear-gradient(140deg, #edf8f1, #ffffff 52%, #f3f8f5); }
.brand-demo-card { position: relative; aspect-ratio: 1.58/1; display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; padding: 22px; border-radius: 18px; background: linear-gradient(145deg, #0b5731, #17ae60 58%, #42df8d); color: #fff; box-shadow: 0 22px 42px rgba(16,97,54,.24); overflow: hidden; }
.brand-demo-card::before { content:""; position:absolute; width:160px; height:160px; right:-45px; top:-70px; border:1px solid rgba(255,255,255,.26); border-radius:50%; box-shadow:0 0 0 22px rgba(255,255,255,.05), 0 0 0 46px rgba(255,255,255,.04); }
.brand-demo-logo { position: absolute; left: 20px; top: 18px; font-size: 9px; font-weight: 900; line-height: .9; letter-spacing: .05em; }
.brand-demo-chip { position:absolute; right:20px; top:20px; width:34px; height:25px; border-radius:6px; background:linear-gradient(135deg,#e8d68c,#fff1b4); opacity:.88; }
.brand-demo-card strong { position: relative; z-index:1; font-size: 11px; opacity:.8; }
.brand-demo-card > span { position: relative; z-index:1; margin: 3px 0 10px; font-size: 26px; font-weight: 800; letter-spacing: -.03em; }
.brand-demo-card small { position: relative; z-index:1; font-size: 8px; opacity:.72; }
.brand-demo-console { min-width:0; }
.console-label { margin-bottom: 9px; color:#11844a; font-size:9px; font-weight:900; letter-spacing:.08em; }
.brand-demo-console h4 { margin:0 0 22px; color:var(--ink); font-size:22px; line-height:1.2; }
.mock-form-row { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid #e1ebe5; font-size:10px; }
.mock-form-row span { color:#7d8b82; }
.mock-form-row b { color:#263c30; text-align:right; }
.mock-status { margin-top:20px; padding:12px; border-radius:10px; background:#e9f8ef; color:#126d3f; font-size:9px; font-weight:800; }
.mock-status i { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#20c46a; }
.demo-stage-footer { display:flex; justify-content:space-between; gap:18px; padding:13px 16px; border-top:1px solid #e3ebe6; background:#fff; color:#7c8a82; font-size:8px; }
.demo-stage-footer b { color:#345442; }
.api-demo-body { min-height:390px; display:grid; grid-template-columns:118px 1fr; background:#0b1420; color:#d9e4ee; }
.api-sidebar { padding:25px 12px; border-right:1px solid rgba(255,255,255,.08); background:#0d1826; }
.api-sidebar strong { display:block; margin:0 8px 22px; color:#fff; font-size:12px; }
.api-sidebar span { display:block; margin:5px 0; padding:8px; border-radius:7px; color:#7890a5; font-size:9px; }
.api-sidebar span.is-active { background:#132b4d; color:#82a8ff; }
.api-console { min-width:0; padding:26px 28px; }
.api-request-title { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.api-request-title code { color:#dce9f5; font-size:10px; }
.method-post { padding:5px 7px; border-radius:5px; background:#173d2a; color:#5de99b; font-size:8px; font-weight:900; }
.api-console pre { margin:0 0 18px; padding:16px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:#09111c; color:#bcd0df; font: 9px/1.65 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.api-response-head { display:flex; justify-content:space-between; margin:0 2px 8px; color:#8197aa; font-size:8px; }
.api-response-head b { color:#5de99b; }
.api-console .api-response { border-color:rgba(93,233,155,.16); background:#0a1715; color:#bfe7ce; }
.api-control-strip { display:flex; flex-wrap:wrap; gap:8px; }
.api-control-strip span { padding:6px 8px; border:1px solid rgba(255,255,255,.08); border-radius:999px; color:#90a7ba; font-size:8px; }
.demo-trust-row { display:grid; grid-template-columns:repeat(4,1fr); margin-top:16px; border:1px solid #e0eae3; border-radius:14px; background:#fff; overflow:hidden; }
.demo-trust-row span { padding:15px 16px; border-right:1px solid #e0eae3; color:#6f7e75; font-size:10px; text-align:center; }
.demo-trust-row span:last-child { border-right:0; }
.demo-trust-row b { color:#264432; }

@media (max-width: 1120px) {
  .demo-panel { grid-template-columns: 1fr 1fr; }
  .demo-panel-copy { padding: 42px 34px; }
  .demo-stage { padding: 24px; }
  .demo-brand-stage { grid-template-columns: 1fr; }
  .brand-demo-card { width: min(320px, 100%); margin: 0 auto; }
}
@media (max-width: 920px) {
  .demo-panel { grid-template-columns: 1fr; }
  .demo-stage { min-height: 530px; }
  .demo-brand-stage { grid-template-columns: .8fr 1.2fr; }
  .demo-trust-row { grid-template-columns: 1fr 1fr; }
  .demo-trust-row span:nth-child(2) { border-right:0; }
  .demo-trust-row span:nth-child(-n+2) { border-bottom:1px solid #e0eae3; }
}
@media (max-width: 620px) {
  .demo-center-shell { border-radius: 18px; }
  .demo-tabs { grid-template-columns: 1fr; gap: 6px; }
  .demo-panel-copy { padding: 34px 22px; }
  .demo-panel-copy h3 { font-size: clamp(28px, 9vw, 36px); }
  .demo-actions { align-items:stretch; flex-direction:column; }
  .demo-actions .btn { width:100%; }
  .demo-stage { min-height:0; padding:18px 12px; }
  .demo-window-bar { grid-template-columns:1fr auto; }
  .demo-window-bar > span:nth-child(2) { display:none; }
  .demo-brand-stage { grid-template-columns:1fr; padding:26px 18px; }
  .brand-demo-console h4 { font-size:19px; }
  .api-demo-body { grid-template-columns:1fr; }
  .api-sidebar { display:flex; gap:4px; padding:10px; border-right:0; border-bottom:1px solid rgba(255,255,255,.08); overflow-x:auto; }
  .api-sidebar strong { margin:8px 8px 0 4px; white-space:nowrap; }
  .api-sidebar span { margin:0; white-space:nowrap; }
  .api-console { padding:20px 16px; }
  .demo-stage-footer { align-items:flex-start; flex-direction:column; gap:5px; }
  .demo-trust-row { grid-template-columns:1fr; }
  .demo-trust-row span { border-right:0 !important; border-bottom:1px solid #e0eae3; }
  .demo-trust-row span:last-child { border-bottom:0; }
}
@media (max-width: 360px) {
  .demo-tab { padding:14px 12px; }
  .demo-tab-icon { flex-basis:40px; width:40px; height:40px; }
  .demo-step { grid-template-columns:36px 1fr; padding:10px; }
  .demo-step > span { width:32px; height:32px; }
  .api-console pre { font-size:8px; padding:12px; }
}

/* Demo Center v5 — interactive distributor catalogue/order simulator */
.api-demo-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.08); }
.api-demo-toolbar small, .api-demo-toolbar strong { display:block; }
.api-demo-toolbar small { margin-bottom:3px; color:#6f879b; font-size:7px; font-weight:900; letter-spacing:.11em; }
.api-demo-toolbar strong { color:#e7f0f7; font-size:10px; letter-spacing:.02em; }
.api-sandbox-pill { padding:6px 9px; border:1px solid rgba(130,168,255,.18); border-radius:999px; background:rgba(85,121,232,.08); color:#91aff7; font-size:7px; font-weight:800; white-space:nowrap; }
.api-interactive-view { min-height:292px; }
.api-view-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:15px; }
.api-view-head h4 { margin:4px 0 0; color:#f0f5fa; font-size:16px; line-height:1.2; }
.api-view-kicker { color:#6d92ec; font-size:7px; font-weight:900; letter-spacing:.12em; }
.method-get { padding:5px 7px; border-radius:5px; background:#152d55; color:#82a8ff; font-size:8px; font-weight:900; }
.api-next-button, .api-place-order { border:0; border-radius:9px; cursor:pointer; font:inherit; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.api-next-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:10px 13px; background:#5579e8; color:#fff; font-size:8px; font-weight:900; }
.api-next-button:hover, .api-place-order:hover { transform:translateY(-1px); box-shadow:0 10px 22px rgba(0,0,0,.22); }
.api-next-button.compact { padding:8px 11px; white-space:nowrap; }
.api-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.api-product-card { min-width:0; display:grid; grid-template-columns:34px 1fr; gap:8px; align-items:center; position:relative; padding:10px; border:1px solid rgba(255,255,255,.09); border-radius:10px; background:#0d1826; color:#dce8f2; text-align:left; cursor:pointer; }
.api-product-card:hover { border-color:rgba(130,168,255,.38); background:#102139; }
.api-product-card.is-selected { border-color:#5579e8; background:#112545; box-shadow:inset 0 0 0 1px rgba(85,121,232,.18); }
.api-product-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:linear-gradient(145deg,#173762,#315bce); color:#d9e7ff; font-size:8px; font-weight:900; }
.api-product-card strong, .api-product-card small { display:block; overflow:hidden; text-overflow:ellipsis; }
.api-product-card strong { color:#eef4f9; font-size:8px; line-height:1.25; white-space:normal; }
.api-product-card small { margin-top:2px; color:#71889b; font-size:7px; }
.api-product-card i { grid-column:1/-1; justify-self:start; color:#7890a5; font-size:6px; font-style:normal; font-weight:800; }
.api-product-card.is-selected i { color:#82a8ff; }
.api-denom-block { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:12px; padding:11px 12px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:#09111c; }
.api-denom-block span, .api-denom-block strong { display:block; }
.api-denom-block span { margin-bottom:3px; color:#6e8598; font-size:7px; }
.api-denom-block strong { color:#dce7f0; font-size:8px; }
.api-denom-chips { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.api-denom-chip { padding:7px 8px; border:1px solid rgba(255,255,255,.09); border-radius:8px; background:#0d1826; color:#9bb0c1; font-size:7px; font-weight:900; cursor:pointer; }
.api-denom-chip:hover { border-color:#4665ba; color:#fff; }
.api-denom-chip.is-selected { border-color:#5579e8; background:#17315b; color:#fff; }
.api-selection-summary { display:grid; grid-template-columns:1fr auto auto; align-items:end; gap:12px; margin-top:12px; padding:11px 12px; border-radius:10px; background:rgba(85,121,232,.08); }
.api-selection-summary small, .api-selection-summary code, .api-selection-summary strong { display:block; }
.api-selection-summary small { margin-bottom:4px; color:#70869b; font-size:7px; }
.api-selection-summary code { color:#b8cdfb; font-size:8px; }
.api-selection-summary strong { color:#fff; font-size:13px; }
.api-order-card { padding:14px; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:#0a1421; }
.api-order-product { display:grid; grid-template-columns:38px 1fr auto; gap:10px; align-items:center; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.07); }
.api-order-product strong, .api-order-product small { display:block; }
.api-order-product strong { color:#eff5fa; font-size:10px; }
.api-order-product small { margin-top:2px; color:#758da2; font-size:7px; }
.api-order-product > b { color:#fff; font-size:14px; }
.api-order-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:12px; }
.api-order-grid label span { display:block; margin-bottom:5px; color:#6f879a; font-size:7px; }
.api-order-grid input { width:100%; box-sizing:border-box; padding:9px 10px; border:1px solid rgba(255,255,255,.09); border-radius:8px; outline:0; background:#09111b; color:#bfcede; font:8px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; }
.api-order-json { margin-top:10px; padding:9px 10px; border-radius:8px; background:#09111b; }
.api-order-json small { display:block; margin-bottom:5px; color:#6f879a; font-size:7px; }
.api-order-json code { color:#9cb3c5; font-size:7px; line-height:1.5; overflow-wrap:anywhere; }
.api-order-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; }
.api-back-link { padding:7px 0; border:0; background:transparent; color:#7991a5; font-size:7px; font-weight:800; cursor:pointer; }
.api-back-link:hover { color:#fff; }
.api-place-order { display:flex; align-items:center; gap:13px; padding:10px 12px; background:linear-gradient(135deg,#315bce,#5579e8); color:#fff; font-size:8px; font-weight:900; }
.api-place-order b { padding-left:11px; border-left:1px solid rgba(255,255,255,.20); font-size:9px; }
.api-success-wrap { padding:5px 2px 0; text-align:left; }
.api-success-icon { width:40px; height:40px; display:grid; place-items:center; margin-bottom:12px; border:1px solid rgba(93,233,155,.28); border-radius:50%; background:rgba(93,233,155,.10); color:#5de99b; font-size:18px; font-weight:900; }
.api-success-wrap h4 { margin:5px 0 5px; color:#f0f7f3; font-size:18px; }
.api-success-wrap > p { max-width:510px; margin:0 0 13px; color:#8399aa; font-size:8px; line-height:1.55; }
.api-success-grid, .api-report-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.api-success-grid > div, .api-report-grid > div { min-width:0; padding:9px; border:1px solid rgba(255,255,255,.08); border-radius:8px; background:#09131e; }
.api-success-grid small, .api-success-grid strong, .api-success-grid code, .api-report-grid small, .api-report-grid strong, .api-report-grid code { display:block; min-width:0; overflow-wrap:anywhere; }
.api-success-grid small, .api-report-grid small { margin-bottom:5px; color:#6e8496; font-size:6px; text-transform:uppercase; letter-spacing:.06em; }
.api-success-grid strong, .api-report-grid strong { color:#e0ebf4; font-size:8px; }
.api-success-grid code, .api-report-grid code { color:#a9c1d4; font-size:7px; }
.status-success { color:#5de99b !important; }
.api-reconcile-strip { display:flex; justify-content:space-between; gap:10px; margin-top:9px; padding:9px 10px; border-radius:8px; background:rgba(93,233,155,.07); color:#8fb3a0; font-size:7px; }
.api-reconcile-strip i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:#5de99b; }
.api-report-note { margin:10px 0; padding:9px 10px; border-left:2px solid #5579e8; background:rgba(85,121,232,.06); color:#7f95a8; font-size:7px; line-height:1.5; }

@media (max-width: 720px) {
  .api-demo-toolbar { align-items:flex-start; flex-direction:column; }
  .api-catalog-grid { grid-template-columns:1fr; }
  .api-denom-block, .api-view-head { align-items:flex-start; flex-direction:column; }
  .api-denom-chips { justify-content:flex-start; }
  .api-selection-summary { grid-template-columns:1fr 1fr; }
  .api-selection-summary .api-next-button { grid-column:1/-1; width:100%; }
  .api-order-grid { grid-template-columns:1fr; }
  .api-success-grid, .api-report-grid { grid-template-columns:1fr 1fr; }
  .api-order-actions, .api-reconcile-strip { align-items:stretch; flex-direction:column; }
  .api-place-order, .api-next-button.compact { width:100%; justify-content:space-between; }
}

@media (max-width: 420px) {
  .api-success-grid, .api-report-grid { grid-template-columns:1fr; }
}

/* Demo Center v6 — premium visual enhancement for Distribution API journey */
.api-flow-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.api-flow-node {
  position: relative;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.03);
}
.api-flow-node::after {
  content: "";
  position: absolute;
  left: calc(100% + 5px);
  top: 50%;
  width: 10px;
  height: 1px;
  background: rgba(255,255,255,.12);
}
.api-flow-node:last-child::after { display: none; }
.api-flow-node span,
.api-flow-node b { display: block; }
.api-flow-node span { margin-bottom: 3px; color: #7287a0; font-size: 7px; font-weight: 900; letter-spacing: .11em; }
.api-flow-node b { color: #9fb2c4; font-size: 8px; }
.api-flow-node.is-active {
  border-color: rgba(130,168,255,.42);
  background: linear-gradient(180deg, rgba(85,121,232,.18), rgba(85,121,232,.06));
  box-shadow: inset 0 0 0 1px rgba(130,168,255,.12);
}
.api-flow-node.is-active span,
.api-flow-node.is-active b { color: #e7efff; }
.api-flow-node.is-complete {
  border-color: rgba(93,233,155,.25);
  background: linear-gradient(180deg, rgba(93,233,155,.14), rgba(93,233,155,.04));
}
.api-flow-node.is-complete span,
.api-flow-node.is-complete b { color: #c8efd9; }
.api-auth-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}
.api-auth-copy h4 { margin: 5px 0 8px; color: #eff6fb; font-size: 20px; }
.api-auth-copy p { margin: 0; color: #8aa0b2; font-size: 9px; line-height: 1.6; max-width: 360px; }
.api-auth-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.api-auth-badges span {
  padding: 8px 10px;
  border: 1px solid rgba(130,168,255,.18);
  border-radius: 999px;
  background: rgba(85,121,232,.08);
  color: #9fbbff;
  font-size: 7px;
  font-weight: 900;
  white-space: nowrap;
}
.api-inline-note { margin: 8px 0 0; color: #8aa0b2; font-size: 8px; line-height: 1.6; max-width: 420px; }
.api-catalog-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.api-catalog-summary span {
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  background: rgba(255,255,255,.03);
  color: #8da4b8;
  font-size: 7px;
  font-weight: 800;
}
.api-catalog-grid { gap: 12px; }
.api-product-card {
  display: block;
  padding: 14px;
  border-radius: 14px;
  background: linear-gradient(180deg, #0d1826, #0b1522);
  min-height: 228px;
}
.api-product-badge {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: #a9bfd4;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.api-product-art {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 84px;
  margin-bottom: 12px;
  padding: 14px;
  border-radius: 12px;
  overflow: hidden;
}
.api-product-art::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.12), transparent 58%);
  pointer-events: none;
}
.api-product-card.theme-shopping .api-product-art { background: linear-gradient(135deg, #0f5b4c, #1fb88c 65%, #42dbc1); }
.api-product-card.theme-dining .api-product-art { background: linear-gradient(135deg, #72420a, #dd8b21 60%, #ffc667); }
.api-product-card.theme-gaming .api-product-art { background: linear-gradient(135deg, #26115c, #6154df 60%, #8da7ff); }
.api-product-icon {
  position: relative;
  z-index: 1;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 9px;
}
.api-product-art-lines {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  width: 44%;
}
.api-product-art-lines i {
  display: block;
  width: 100%;
  height: 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.24);
  grid-column: auto;
  justify-self: auto;
  color: inherit;
  font-size: inherit;
  font-style: normal;
  font-weight: normal;
}
.api-product-art-lines i:nth-child(2) { width: 74%; }
.api-product-art-lines i:nth-child(3) { width: 88%; }
.api-product-copy,
.api-product-note,
.api-product-meta,
.api-product-meta em,
.api-product-meta i {
  display: block;
}
.api-product-copy strong { font-size: 11px; }
.api-product-copy small { margin-top: 3px; color: #89a1b5; font-size: 7px; }
.api-product-note {
  margin-top: 10px;
  color: #7d94a7;
  font-size: 7px;
  line-height: 1.65;
}
.api-product-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
}
.api-product-meta em {
  color: #88a0b5;
  font-size: 7px;
  font-style: normal;
  font-weight: 800;
}
.api-product-meta i {
  color: #90a9bf;
  font-size: 7px;
  font-style: normal;
  font-weight: 800;
}
.api-product-card.is-selected .api-product-badge { background: rgba(130,168,255,.15); color: #c6d8ff; }
.api-product-card.is-selected .api-product-meta i { color: #b9ccff; }
.api-denom-block small {
  display: block;
  margin-top: 4px;
  color: #839aac;
  font-size: 7px;
  line-height: 1.5;
  max-width: 240px;
}
.api-order-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.api-order-highlights span {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: #8ea5b8;
  font-size: 7px;
  font-weight: 800;
}
.api-report-note,
.api-reconcile-strip,
.api-order-json { line-height: 1.6; }
.api-success-wrap,
.api-report-grid { margin-top: 4px; }
@media (max-width: 920px) {
  .api-flow-rail { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .api-auth-hero { align-items: flex-start; flex-direction: column; }
  .api-flow-rail { grid-template-columns: 1fr; }
  .api-product-card { min-height: 0; }
}

/* Demo Center v7 — premium interactive tabs + balanced Gift Card journey */
.demo-tabs {
  gap: 10px;
  padding: 12px;
  background: linear-gradient(180deg, #f8fbf9, #f4f8f6);
}
.demo-tab {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  min-height: 112px;
  padding: 18px 20px;
  border: 1px solid #e0ebe4;
  background: rgba(255,255,255,.78);
}
.demo-tab::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
}
.demo-tab[data-demo-tab="brand"]::before { background: radial-gradient(circle at 12% 18%, rgba(32,196,106,.13), transparent 32%); }
.demo-tab[data-demo-tab="api"]::before { background: radial-gradient(circle at 12% 18%, rgba(85,121,232,.13), transparent 32%); }
.demo-tab:hover::before,
.demo-tab.is-active::before { opacity: 1; }
.demo-tab:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(22,56,38,.07); }
.demo-tab.is-active { box-shadow: 0 14px 30px rgba(20,81,48,.09); }
.demo-tab > * { position: relative; z-index: 1; }
.demo-tab-icon {
  position: relative;
  flex: none;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  overflow: hidden;
}
.demo-tab-icon b { position: relative; z-index: 2; font-size: 14px; }
.demo-tab-icon i {
  position: absolute;
  width: 54px;
  height: 54px;
  right: -25px;
  bottom: -30px;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .24;
  box-shadow: 0 0 0 10px currentColor;
}
.demo-tab-icon-brand { background: linear-gradient(145deg, #e6f8ed, #d9f2e3); color: #11824a; }
.demo-tab-icon-api { background: linear-gradient(145deg, #edf2ff, #dfe8ff); color: #315bce; }
.demo-tab-copy { min-width: 0; }
.demo-tab-copy strong,
.demo-tab-copy small,
.demo-tab-copy em { display: block; }
.demo-tab-copy strong { font-size: 16px; }
.demo-tab-copy small { margin-top: 3px; font-size: 11px; }
.demo-tab-copy em {
  margin-top: 8px;
  color: #91a097;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .01em;
}
.demo-tab-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid #dde9e1;
  border-radius: 999px;
  background: #fff;
  color: #6f7e75;
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
  transition: border-color .2s ease, color .2s ease, transform .2s ease;
}
.demo-tab:hover .demo-tab-cta,
.demo-tab.is-active .demo-tab-cta { transform: translateX(2px); }
.demo-tab[data-demo-tab="brand"]:hover .demo-tab-cta,
.demo-tab[data-demo-tab="brand"].is-active .demo-tab-cta { border-color: #b9dfc7; color: #137c46; }
.demo-tab[data-demo-tab="api"]:hover .demo-tab-cta,
.demo-tab[data-demo-tab="api"].is-active .demo-tab-cta { border-color: #c4d0fa; color: #315bce; }

.premium-brand-stage { position: relative; overflow: hidden; }
.premium-brand-stage::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -80px;
  top: -110px;
  border: 1px solid rgba(22,160,86,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(22,160,86,.035), 0 0 0 76px rgba(22,160,86,.025);
}
.premium-brand-stage > * { position: relative; z-index: 1; }
.premium-gift-card {
  min-height: 216px;
  background: linear-gradient(145deg, #073c25 0%, #0c6f3d 45%, #16b867 78%, #44d98e 100%);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 26px 50px rgba(7,77,42,.28);
}
.premium-gift-card::after {
  content: "";
  position: absolute;
  inset: auto -10% -55% 18%;
  height: 76%;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  transform: rotate(-8deg);
}
.brand-demo-card-top {
  position: absolute;
  inset: 18px 18px auto 18px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.brand-demo-card-top .brand-demo-logo { position: static; }
.brand-card-tag {
  padding: 5px 7px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.86);
  font-size: 6px;
  font-weight: 900;
  letter-spacing: .10em;
}
.brand-demo-orbit {
  position: absolute;
  right: 26px;
  bottom: 50px;
  width: 76px;
  height: 76px;
}
.brand-demo-orbit i {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
}
.brand-demo-orbit i:nth-child(2) { inset: 12px; }
.brand-demo-orbit i:nth-child(3) { inset: 24px; background: rgba(255,255,255,.08); }
.brand-demo-chip { top: 65px; left: 22px; right: auto; }
.premium-gift-card[data-brand-state="1"] { background: linear-gradient(145deg, #075249, #0c8c72 55%, #2fd4ae); }
.premium-gift-card[data-brand-state="2"] { background: linear-gradient(145deg, #17304f, #245ba8 55%, #4c8bdf); }
.premium-gift-card[data-brand-state="3"] { background: linear-gradient(145deg, #2b2f33, #43554c 55%, #5e7c69); }
.premium-gift-card.is-pulse { animation: brandCardPulse .34s ease; }
@keyframes brandCardPulse {
  0% { transform: scale(.992); opacity: .86; }
  100% { transform: scale(1); opacity: 1; }
}
.premium-brand-console { min-width: 0; }
.brand-progress-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 7px;
  margin-bottom: 18px;
}
.brand-progress-rail span {
  position: relative;
  padding: 8px 9px;
  border: 1px solid #e2ebe5;
  border-radius: 9px;
  background: #f8fbf9;
}
.brand-progress-rail span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 3px);
  width: 6px;
  height: 1px;
  background: #dbe7df;
}
.brand-progress-rail span:last-child::after { display: none; }
.brand-progress-rail i,
.brand-progress-rail b { display: block; }
.brand-progress-rail i { color: #8ea096; font-size: 6px; font-style: normal; font-weight: 900; }
.brand-progress-rail b { margin-top: 2px; color: #698073; font-size: 7px; }
.brand-progress-rail .is-active { border-color: #a9dfbc; background: #eefaf2; }
.brand-progress-rail .is-active i,
.brand-progress-rail .is-active b { color: #137c46; }
.brand-progress-rail .is-complete { border-color: #c8ead3; background: #f4fbf6; }
.brand-progress-rail .is-complete i,
.brand-progress-rail .is-complete b { color: #4e8d67; }
.brand-console-lead {
  margin: -12px 0 15px;
  color: #7a8a81;
  font-size: 9px;
  line-height: 1.55;
}
.brand-mini-kpis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}
.brand-mini-kpis span {
  padding: 9px 10px;
  border: 1px solid #e2ebe5;
  border-radius: 10px;
  background: #f8fbf9;
}
.brand-mini-kpis small,
.brand-mini-kpis b { display: block; }
.brand-mini-kpis small { margin-bottom: 3px; color: #91a098; font-size: 6px; text-transform: uppercase; letter-spacing: .07em; }
.brand-mini-kpis b { color: #294835; font-size: 8px; }

@media (max-width: 920px) {
  .demo-tab { min-height: 100px; }
}
@media (max-width: 620px) {
  .demo-tab { grid-template-columns: auto 1fr; min-height: 0; }
  .demo-tab-cta { display: none; }
  .demo-tab-copy em { white-space: normal; line-height: 1.4; }
  .brand-progress-rail { grid-template-columns: 1fr 1fr; }
  .brand-mini-kpis { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .premium-gift-card.is-pulse { animation: none; }
}

/* SEO Knowledge Hub */
.seo-knowledge-section{background:linear-gradient(180deg,#fff 0%,#f7fbf8 100%)}
.seo-knowledge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.seo-knowledge-grid a{display:flex;flex-direction:column;min-width:0;min-height:220px;padding:22px;border:1px solid #dce8e0;border-radius:18px;background:#fff;color:#183b27;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.seo-knowledge-grid a:hover{transform:translateY(-3px);border-color:#b7d8c4;box-shadow:0 16px 34px rgba(20,81,48,.08)}
.seo-knowledge-grid span{display:inline-flex;align-self:flex-start;margin-bottom:16px;padding:6px 9px;border-radius:999px;background:#eaf8ef;color:#147b47;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.seo-knowledge-grid strong{display:block;margin-bottom:9px;font-size:18px;line-height:1.3}
.seo-knowledge-grid small{display:block;flex:1;color:#6c7d73;font-size:12px;line-height:1.65}
.seo-knowledge-grid b{display:block;margin-top:16px;color:#13884d;font-size:12px}
.seo-knowledge-more{margin-top:20px}
@media(max-width:1020px){.seo-knowledge-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.seo-knowledge-grid{grid-template-columns:1fr}.seo-knowledge-grid a{min-height:0}}

/* v10 commercial SEO landing pages: Gift Card Processing + Digital Distribution */
.seo-solution-hero { position:relative; overflow:hidden; padding:96px 0 76px; background:linear-gradient(180deg,#f7fbf8 0%,#fff 100%); }
.seo-solution-hero::before { content:""; position:absolute; width:520px; height:520px; right:-170px; top:-210px; border-radius:50%; background:radial-gradient(circle,rgba(32,196,106,.13),rgba(32,196,106,0) 68%); pointer-events:none; }
.seo-distribution-hero::before { background:radial-gradient(circle,rgba(85,121,232,.14),rgba(85,121,232,0) 68%); }
.seo-solution-hero-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:68px; align-items:center; }
.seo-solution-copy h1 { max-width:820px; margin:12px 0 20px; color:var(--ink); font-size:clamp(48px,5.4vw,78px); line-height:.98; letter-spacing:-.055em; }
.seo-hero-lead { max-width:760px; margin:0; color:var(--muted); font-size:17px; line-height:1.75; }
.seo-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.seo-hero-proof { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:30px; }
.seo-hero-proof span { padding:12px 14px; border:1px solid #dbe8df; border-radius:12px; background:#fff; color:#6e7e74; font-size:11px; }
.seo-hero-proof b { color:#173c28; }
.seo-solution-visual { min-width:0; }
.seo-engine-card { padding:24px; border:1px solid #cfe5d6; border-radius:26px; background:linear-gradient(155deg,#062d1b,#0d5a34 58%,#12844a); color:#fff; box-shadow:0 30px 70px rgba(10,77,43,.24); }
.seo-engine-top { display:flex; justify-content:space-between; gap:12px; align-items:center; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.13); }
.seo-engine-top span { color:#62e79b; font-weight:900; }
.seo-engine-top b { font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.seo-engine-flow { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; padding:26px 0 14px; }
.seo-engine-flow div { min-width:0; padding:15px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.05); }
.seo-engine-flow div:nth-of-type(3),.seo-engine-flow div:nth-of-type(4){ margin-top:0; }
.seo-engine-flow span,.seo-engine-flow strong,.seo-engine-flow small { display:block; }
.seo-engine-flow span { color:#67e8a0; font-size:8px; font-weight:900; }
.seo-engine-flow strong { margin:4px 0; font-size:13px; }
.seo-engine-flow small { color:#b9d7c6; font-size:9px; line-height:1.5; }
.seo-engine-flow i { color:#69d99c; font-style:normal; }
.seo-engine-status { margin-top:12px; padding:12px 14px; border-radius:12px; background:rgba(255,255,255,.07); color:#cae7d6; font-size:10px; }
.seo-engine-status span { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#55e993; box-shadow:0 0 0 5px rgba(85,233,147,.11); }
.seo-intent-section { border-top:1px solid #edf2ef; }
.seo-cap-grid,.seo-stack-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.seo-cap-grid article,.seo-stack-grid article { padding:22px; border:1px solid #dfe9e2; border-radius:16px; background:#fff; }
.seo-cap-grid article > span,.seo-stack-grid article > span,.seo-step-grid > div > span { display:inline-grid; place-items:center; width:34px; height:34px; margin-bottom:18px; border-radius:9px; background:#eaf8ef; color:#14864c; font-size:9px; font-weight:900; }
.seo-cap-grid h3,.seo-stack-grid h3,.seo-step-grid h3 { margin:0 0 8px; color:var(--ink); font-size:16px; }
.seo-cap-grid p,.seo-stack-grid p,.seo-step-grid p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.seo-two-col { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:64px; align-items:center; }
.seo-two-col h2,.seo-faq-layout h2,.seo-cta-inner h2 { margin:10px 0 14px; color:var(--ink); font-size:clamp(32px,4vw,52px); line-height:1.05; letter-spacing:-.04em; }
.seo-two-col p,.seo-faq-layout p,.seo-cta-inner p { color:var(--muted); font-size:14px; line-height:1.75; }
.seo-check-list { margin-top:20px; }
.seo-growth-loop { position:relative; min-height:430px; display:grid; place-items:center; }
.seo-growth-loop::before { content:""; position:absolute; width:280px; height:280px; border:1px solid #cfe2d5; border-radius:50%; box-shadow:0 0 0 32px rgba(32,196,106,.025),0 0 0 64px rgba(32,196,106,.02); }
.loop-center { position:relative; z-index:2; width:160px; height:160px; display:grid; place-items:center; align-content:center; border-radius:50%; background:#063522; color:#fff; text-align:center; line-height:1.15; box-shadow:0 20px 45px rgba(6,53,34,.2); }
.loop-center strong { display:block; font-size:18px; }
.seo-growth-loop > span { position:absolute; z-index:2; min-width:94px; padding:11px 14px; border:1px solid #d5e7db; border-radius:999px; background:#fff; color:#28533a; font-size:10px; font-weight:900; text-align:center; box-shadow:0 8px 20px rgba(10,65,38,.07); }
.seo-growth-loop > span:nth-of-type(1){top:24px;left:50%;transform:translateX(-50%)}
.seo-growth-loop > span:nth-of-type(2){top:105px;right:26px}
.seo-growth-loop > span:nth-of-type(3){bottom:105px;right:26px}
.seo-growth-loop > span:nth-of-type(4){bottom:24px;left:50%;transform:translateX(-50%)}
.seo-growth-loop > span:nth-of-type(5){bottom:105px;left:26px}
.seo-growth-loop > span:nth-of-type(6){top:105px;left:26px}
.seo-channel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.seo-channel-grid > div { padding:20px; border:1px solid #e0e9e3; border-radius:14px; background:#fff; }
.seo-channel-grid b,.seo-channel-grid span { display:block; }
.seo-channel-grid b { margin-bottom:5px; color:#173b28; font-size:13px; }
.seo-channel-grid span { color:#78877e; font-size:11px; line-height:1.55; }
.seo-industry-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.seo-industry-grid a { min-width:0; padding:20px; border:1px solid #dfe8e2; border-radius:14px; background:#fff; text-decoration:none; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.seo-industry-grid a:hover { transform:translateY(-2px); border-color:#b8d8c3; box-shadow:0 12px 25px rgba(20,81,48,.07); }
.seo-industry-grid strong,.seo-industry-grid span { display:block; }
.seo-industry-grid strong { color:#173b28; font-size:13px; }
.seo-industry-grid span { margin-top:6px; color:#74847a; font-size:11px; line-height:1.55; }
.seo-control-section { background:linear-gradient(180deg,#052f1d,#073b24); }
.seo-control-section .section-kicker,.seo-control-section h2 { color:#fff; }
.seo-control-section .seo-two-col > div > p { color:#b6d1c0; }
.seo-control-stack { display:grid; gap:10px; }
.seo-control-stack > div { padding:16px 18px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.05); }
.seo-control-stack strong,.seo-control-stack span { display:block; }
.seo-control-stack strong { color:#fff; font-size:12px; }
.seo-control-stack span { margin-top:4px; color:#bcd2c4; font-size:10px; line-height:1.5; }
.seo-step-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.seo-step-grid > div { padding:20px; border:1px solid #dfe9e2; border-radius:14px; background:#fff; }
.seo-faq-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:56px; align-items:start; }
.seo-faq-list { display:grid; gap:10px; }
.seo-faq-list details { border:1px solid #dfe8e2; border-radius:12px; background:#fff; overflow:hidden; }
.seo-faq-list summary { cursor:pointer; list-style:none; padding:17px 18px; color:#1c3b29; font-size:12px; font-weight:900; }
.seo-faq-list summary::-webkit-details-marker { display:none; }
.seo-faq-list summary::after { content:"+"; float:right; color:#16914f; font-size:18px; line-height:1; }
.seo-faq-list details[open] summary::after { content:"−"; }
.seo-faq-list details p { margin:0; padding:0 18px 18px; color:#74837a; font-size:11px; line-height:1.7; }
.seo-commercial-cta { padding-top:42px; }
.seo-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:36px 40px; border:1px solid #d7e7dc; border-radius:22px; background:linear-gradient(135deg,#f2fbf5,#fff 60%); }
.seo-cta-inner > div:first-child { max-width:760px; }
.seo-cta-inner .seo-hero-actions { margin-top:0; flex:0 0 auto; }
.seo-api-map { position:relative; min-height:430px; display:grid; place-items:center; border:1px solid #d8e1f4; border-radius:28px; background:radial-gradient(circle at center,rgba(85,121,232,.13),transparent 52%),linear-gradient(145deg,#f7f9ff,#fff); overflow:hidden; }
.seo-api-map::before,.seo-api-map::after { content:""; position:absolute; width:290px; height:290px; border:1px solid rgba(85,121,232,.15); border-radius:50%; }
.seo-api-map::after { width:390px; height:390px; }
.seo-api-hub { position:relative; z-index:3; width:190px; min-height:150px; display:grid; place-items:center; align-content:center; padding:20px; border-radius:24px; background:linear-gradient(145deg,#102b59,#315bce); color:#fff; text-align:center; box-shadow:0 24px 45px rgba(49,91,206,.22); }
.seo-api-hub small,.seo-api-hub strong,.seo-api-hub span { display:block; }
.seo-api-hub small { color:#adc1ff; font-weight:900; }
.seo-api-hub strong { margin:5px 0; font-size:22px; }
.seo-api-hub span { color:#ced9ff; font-size:9px; }
.seo-api-spoke { position:absolute; z-index:3; min-width:110px; padding:13px 15px; border:1px solid #dbe3f5; border-radius:999px; background:#fff; color:#31508b; font-size:10px; font-weight:900; text-align:center; box-shadow:0 10px 22px rgba(50,78,135,.08); }
.spoke-a{top:48px;left:45px}.spoke-b{top:48px;right:45px}.spoke-c{bottom:48px;left:45px}.spoke-d{bottom:48px;right:45px}
.seo-api-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:12px; align-items:center; }
.seo-api-flow > div { padding:20px; border:1px solid #dfe6f5; border-radius:14px; background:#fff; }
.seo-api-flow > div > span { color:#4268c9; font-size:9px; font-weight:900; }
.seo-api-flow h3 { margin:6px 0; color:#192b4b; font-size:14px; }
.seo-api-flow p { margin:0; color:#788497; font-size:10px; line-height:1.55; }
.seo-api-flow > i { color:#6c8adc; font-style:normal; }
.seo-api-console { min-width:0; border:1px solid #1b2f4e; border-radius:18px; background:#091421; color:#cbd8e5; box-shadow:0 24px 50px rgba(8,24,48,.18); overflow:hidden; }
.seo-console-bar { display:flex; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.08); background:#0d1b2a; color:#a9bbca; font-size:9px; }
.seo-console-endpoint { display:flex; gap:10px; align-items:center; padding:18px 18px 10px; }
.seo-console-endpoint em { padding:5px 7px; border-radius:5px; background:#183c2b; color:#5de99b; font-size:8px; font-style:normal; font-weight:900; }
.seo-console-endpoint code { color:#dbe8f4; font-size:10px; }
.seo-api-console pre { margin:0 18px 14px; padding:16px; border-radius:10px; background:#06101a; color:#b4c8d8; font:10px/1.7 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.seo-console-response { display:flex; justify-content:space-between; margin:0 18px 12px; padding:10px 12px; border-radius:9px; background:rgba(93,233,155,.07); color:#9ab2a5; font-size:9px; }
.seo-console-response b { color:#5de99b; }
.seo-api-console > p { margin:0; padding:0 18px 18px; color:#768a9a; font-size:8px; }
.seo-stack-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.seo-resolution-chain { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; padding:22px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.05); }
.seo-resolution-chain span,.seo-resolution-chain b { padding:10px 12px; border-radius:9px; background:rgba(255,255,255,.07); color:#d7eadf; font-size:9px; }
.seo-resolution-chain b { background:#16a65a; color:#fff; }
.seo-resolution-chain i { color:#62d993; font-style:normal; }
@media (max-width:1120px){
  .seo-solution-hero-grid,.seo-two-col { gap:38px; }
  .seo-cap-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seo-engine-flow { grid-template-columns:1fr 1fr; }
  .seo-engine-flow i { display:none; }
}
@media (max-width:920px){
  .seo-solution-hero-grid,.seo-two-col,.seo-faq-layout { grid-template-columns:1fr; }
  .seo-solution-hero { padding-top:72px; }
  .seo-api-flow { grid-template-columns:1fr 1fr; }
  .seo-api-flow > i { display:none; }
  .seo-step-grid,.seo-stack-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seo-cta-inner { align-items:flex-start; flex-direction:column; }
}
@media (max-width:620px){
  .seo-solution-copy h1 { font-size:clamp(42px,13vw,58px); }
  .seo-hero-proof,.seo-cap-grid,.seo-channel-grid,.seo-industry-grid,.seo-step-grid,.seo-stack-grid,.seo-api-flow { grid-template-columns:1fr; }
  .seo-hero-actions { align-items:stretch; flex-direction:column; }
  .seo-hero-actions .btn { width:100%; text-align:center; }
  .seo-growth-loop { min-height:520px; }
  .seo-growth-loop > span:nth-of-type(2),.seo-growth-loop > span:nth-of-type(3){right:0}
  .seo-growth-loop > span:nth-of-type(5),.seo-growth-loop > span:nth-of-type(6){left:0}
  .seo-api-map { min-height:520px; }
  .spoke-a{top:36px;left:18px}.spoke-b{top:36px;right:18px}.spoke-c{bottom:36px;left:18px}.spoke-d{bottom:36px;right:18px}
  .seo-cta-inner { padding:28px 22px; }
}

/* v12 technical SEO / authority UX */
.site-breadcrumb { border-bottom: 1px solid #edf2ee; background: #fbfdfb; }
.site-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin: 0; padding: 10px 0; list-style: none; font-size: 12px; }
.site-breadcrumb li { display: inline-flex; align-items: center; gap: 7px; color: #708077; }
.site-breadcrumb a { color: #476153; text-decoration: none; }
.site-breadcrumb a:hover { color: #13874c; text-decoration: underline; text-underline-offset: 3px; }
.site-breadcrumb [aria-current="page"] { color: #24392d; font-weight: 700; }
.seo-proof-band { background: linear-gradient(180deg, #f6faf7 0%, #ffffff 100%); }
.seo-proof-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border: 1px solid #dfe9e2; border-radius: 18px; background: #fff; overflow: hidden; }
.seo-proof-grid > div { min-width: 0; padding: 24px 22px; border-right: 1px solid #e3ece6; }
.seo-proof-grid > div:last-child { border-right: 0; }
.seo-proof-grid strong, .seo-proof-grid span { display: block; }
.seo-proof-grid strong { color: #153b28; font-size: clamp(24px, 3vw, 38px); letter-spacing: -.04em; }
.seo-proof-grid span { margin-top: 6px; color: #718078; font-size: 12px; line-height: 1.45; }
@media (max-width: 760px) {
  .seo-proof-grid { grid-template-columns: 1fr 1fr; }
  .seo-proof-grid > div:nth-child(2) { border-right: 0; }
  .seo-proof-grid > div:nth-child(-n+2) { border-bottom: 1px solid #e3ece6; }
}
@media (max-width: 420px) {
  .seo-proof-grid { grid-template-columns: 1fr; }
  .seo-proof-grid > div { border-right: 0; border-bottom: 1px solid #e3ece6; }
  .seo-proof-grid > div:last-child { border-bottom: 0; }
}

/* v13 Demo Center hardening — fix premium Gift Card Demo overlap/distortion */
.premium-brand-stage {
  grid-template-columns: minmax(260px, .82fr) minmax(360px, 1.18fr);
  gap: 34px;
  align-items: start;
  min-height: 470px;
}
.premium-brand-stage .brand-demo-card,
.premium-brand-stage .premium-gift-card {
  width: min(100%, 430px);
  min-height: 286px;
  margin: 56px auto 0;
  justify-self: start;
}
.premium-brand-console {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  padding-top: 4px;
}
.premium-brand-console .console-label,
.premium-brand-console h4,
.premium-brand-console .brand-console-lead,
.premium-brand-console .brand-mini-kpis,
.premium-brand-console .mock-form-row,
.premium-brand-console .mock-status {
  position: relative;
  z-index: 2;
}
.premium-brand-console h4 {
  max-width: 520px;
  margin-bottom: 12px;
  font-size: clamp(18px, 2vw, 26px);
}
.premium-brand-console .brand-console-lead {
  max-width: 500px;
  margin-top: 0;
}
.premium-brand-stage .brand-progress-rail {
  max-width: 440px;
}
.premium-brand-stage .mock-form-row {
  align-items: center;
}
.premium-brand-stage .mock-form-row b {
  max-width: 56%;
}
.premium-brand-stage .mock-status {
  max-width: 440px;
}
@media (max-width: 1280px) {
  .demo-panel { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
  .premium-brand-stage {
    grid-template-columns: minmax(230px, .78fr) minmax(320px, 1.22fr);
    gap: 24px;
    padding: 32px 22px;
  }
  .premium-brand-stage .brand-demo-card,
  .premium-brand-stage .premium-gift-card {
    width: min(100%, 380px);
    margin-top: 64px;
  }
}
@media (max-width: 920px) {
  .premium-brand-stage {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 22px;
  }
  .premium-brand-stage .brand-demo-card,
  .premium-brand-stage .premium-gift-card {
    width: min(100%, 360px);
    margin: 0 auto;
    justify-self: center;
  }
  .premium-brand-stage .brand-progress-rail,
  .premium-brand-stage .mock-status,
  .premium-brand-console h4,
  .premium-brand-console .brand-console-lead {
    max-width: none;
  }
}
@media (max-width: 620px) {
  .premium-brand-stage {
    padding: 22px 16px;
  }
  .premium-brand-stage .brand-demo-card,
  .premium-brand-stage .premium-gift-card {
    width: 100%;
    min-height: 250px;
  }
  .premium-brand-stage .mock-form-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  .premium-brand-stage .mock-form-row b {
    max-width: none;
    text-align: left;
  }
}

/* v15 — Demo Center final layout stabilization */
.demo-brand-window,
.api-window {
  width: min(100%, 900px);
  max-width: 900px;
}
.premium-brand-stage {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
  gap: clamp(18px, 2.2vw, 30px) !important;
  align-items: start !important;
  padding: clamp(24px, 3vw, 34px) !important;
  min-height: 460px;
}
.premium-brand-stage .premium-gift-card,
.premium-brand-stage .brand-demo-card {
  width: min(100%, 310px) !important;
  max-width: 310px !important;
  min-width: 0 !important;
  min-height: 235px !important;
  margin: 72px auto 0 !important;
  justify-self: center !important;
}
.premium-brand-console {
  min-width: 0 !important;
  width: 100% !important;
  overflow: hidden;
}
.premium-brand-console .brand-progress-rail {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.premium-brand-console .brand-progress-rail span {
  min-width: 0;
  overflow: hidden;
}
.premium-brand-console .brand-progress-rail b,
.premium-brand-console .brand-progress-rail i {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.premium-brand-console h4 {
  max-width: 100% !important;
  margin: 0 0 10px !important;
  font-size: clamp(20px, 2.1vw, 27px) !important;
  line-height: 1.12 !important;
  overflow-wrap: anywhere;
}
.premium-brand-console .brand-console-lead {
  max-width: 100% !important;
  margin: 0 0 14px !important;
}
.premium-brand-console .brand-mini-kpis {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  width: 100%;
}
.premium-brand-console .brand-mini-kpis span,
.premium-brand-console .mock-form-row {
  min-width: 0;
}
.premium-brand-console .mock-form-row {
  display: grid !important;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}
.premium-brand-console .mock-form-row span,
.premium-brand-console .mock-form-row b {
  min-width: 0;
  max-width: none !important;
  overflow-wrap: anywhere;
}
.premium-brand-console .mock-form-row b {
  text-align: right !important;
}
.premium-brand-console .mock-status {
  width: 100%;
  max-width: none !important;
  box-sizing: border-box;
}
@media (max-width: 1180px) {
  .premium-brand-stage .premium-gift-card,
  .premium-brand-stage .brand-demo-card {
    max-width: 275px !important;
    margin-top: 84px !important;
  }
  .premium-brand-console h4 { font-size: 22px !important; }
}
@media (max-width: 920px) {
  .premium-brand-stage {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    min-height: 0;
  }
  .premium-brand-stage .premium-gift-card,
  .premium-brand-stage .brand-demo-card {
    width: min(100%, 340px) !important;
    max-width: 340px !important;
    margin: 0 auto !important;
  }
}
@media (max-width: 620px) {
  .premium-brand-console .brand-progress-rail {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .premium-brand-console .brand-mini-kpis {
    grid-template-columns: 1fr !important;
  }
  .premium-brand-console .mock-form-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  .premium-brand-console .mock-form-row b {
    text-align: left !important;
  }
}

/* v18 — Enterprise Experience Upgrade */
.enterprise-entry-section{background:linear-gradient(180deg,#fff 0%,#f7fbf8 100%)}
.enterprise-entry-shell{border:1px solid #dbe8df;border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(18,62,39,.08);overflow:hidden}
.enterprise-entry-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-bottom:1px solid #e4eee7;background:#f8faf9}
.enterprise-entry-tab{min-width:0;padding:20px 18px;border:0;border-right:1px solid #e4eee7;background:transparent;text-align:left;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.enterprise-entry-tab:last-child{border-right:0}.enterprise-entry-tab:hover{background:#fff}.enterprise-entry-tab.is-active{background:#fff;box-shadow:inset 0 -3px 0 #20c46a}
.enterprise-entry-tab>span{display:grid;place-items:center;width:28px;height:28px;margin-bottom:12px;border-radius:8px;background:#eef5f0;color:#668073;font-size:9px;font-weight:900}.enterprise-entry-tab.is-active>span{background:#dff6e8;color:#147c47}
.enterprise-entry-tab strong,.enterprise-entry-tab small{display:block}.enterprise-entry-tab strong{margin-bottom:5px;color:#173d28;font-size:13px}.enterprise-entry-tab small{color:#7c8a82;font-size:10px;line-height:1.5}
.enterprise-entry-stage{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:42px;align-items:center;padding:46px}
.entry-label{display:inline-flex;margin-bottom:12px;color:#14854b;font-size:9px;font-weight:900;letter-spacing:.1em}
.enterprise-entry-content h3{max-width:610px;margin:0 0 14px;color:var(--ink);font-size:clamp(30px,3vw,46px);line-height:1.06;letter-spacing:-.04em}.enterprise-entry-content>p{max-width:620px;margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.entry-capabilities{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.entry-capabilities span{padding:8px 10px;border:1px solid #dfeae2;border-radius:999px;background:#f7fbf8;color:#395848;font-size:9px;font-weight:800}.entry-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.enterprise-entry-visual{position:relative;min-height:360px;border:1px solid #dbe8df;border-radius:20px;background:radial-gradient(circle at 50% 45%,rgba(32,196,106,.12),transparent 33%),linear-gradient(145deg,#f8fcf9,#eef7f2);overflow:hidden}
.entry-visual-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:180px;padding:28px 18px;border-radius:20px;background:#063a23;color:#fff;text-align:center;box-shadow:0 18px 42px rgba(7,67,39,.22)}.entry-visual-core b,.entry-visual-core span{display:block}.entry-visual-core b{font-size:18px}.entry-visual-core span{margin-top:5px;color:#a8d7bd;font-size:9px}
.entry-visual-node{position:absolute;width:154px;padding:13px;border:1px solid #d7e7dc;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(27,72,46,.08)}.entry-visual-node small,.entry-visual-node strong,.entry-visual-node span{display:block}.entry-visual-node small{color:#20a65f;font-size:7px;font-weight:900}.entry-visual-node strong{margin:3px 0;color:#204630;font-size:11px}.entry-visual-node span{color:#7d8b83;font-size:8px;line-height:1.45}.node-a{left:6%;top:10%}.node-b{right:6%;top:10%}.node-c{left:6%;bottom:10%}.node-d{right:6%;bottom:10%}
.architecture-section{background:#071f16;color:#fff}.architecture-section .section-kicker{color:#63df98}.architecture-section .section-heading h2{color:#fff}.architecture-section .section-heading p{color:#a8bdb0}
.architecture-flow{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(240px,1.35fr) auto minmax(180px,1fr) auto minmax(150px,1fr);gap:12px;align-items:center}.arch-node,.arch-core{min-width:0;padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.045)}.arch-node span,.arch-node strong,.arch-node small{display:block}.arch-node span{color:#65dda0;font-size:8px;font-weight:900}.arch-node strong{margin:6px 0;color:#fff;font-size:14px}.arch-node small{color:#9bb3a5;font-size:9px;line-height:1.5}.arch-arrow{color:#52d98f;font-size:20px;text-align:center}.arch-core{background:linear-gradient(145deg,#0b5a36,#118149)}.arch-core>span,.arch-core>strong{display:block}.arch-core>span{color:#70efaa;font-size:8px;font-weight:900;letter-spacing:.1em}.arch-core>strong{margin:5px 0 15px;font-size:18px}.arch-core>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.arch-core b{padding:7px;border-radius:8px;background:rgba(255,255,255,.08);color:#d8eee1;font-size:8px;text-align:center}
.architecture-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.architecture-controls span{padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035);color:#9fb7a9;font-size:9px;line-height:1.5}.architecture-controls b{display:block;margin-bottom:3px;color:#e8f4ed;font-size:10px}
.solution-configurator-section{background:linear-gradient(180deg,#f7fbf8,#fff)}.solution-configurator{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;padding:20px;border:1px solid #dce8e0;border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(20,81,48,.08)}.configurator-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}.configurator-form label{display:block}.configurator-form label>span{display:block;margin-bottom:7px;color:#526a5d;font-size:10px;font-weight:800}.configurator-form select{width:100%;min-height:48px;padding:0 12px;border:1px solid #d9e6de;border-radius:10px;background:#fbfdfc;color:#183d29;font-size:13px;outline:none}.configurator-form select:focus{border-color:#20c46a;box-shadow:0 0 0 3px rgba(32,196,106,.12)}
.configurator-result{padding:34px;border-radius:18px;background:linear-gradient(145deg,#062f1c,#0d6037);color:#fff}.configurator-badge{display:inline-flex;margin-bottom:12px;color:#69e8a0;font-size:8px;font-weight:900;letter-spacing:.1em}.configurator-result h3{margin:0 0 12px;font-size:28px;line-height:1.15}.configurator-result>p{margin:0;color:#b8d7c4;font-size:12px;line-height:1.7}.configurator-stack{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.configurator-stack span{padding:7px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);color:#ddf3e5;font-size:8px;font-weight:800}.configurator-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.configurator-result .text-link{color:#86efb2}.configurator-result>small{display:block;margin-top:18px;color:#86a995;font-size:8px;line-height:1.5}
.trust-center-preview{background:#f7faf8}.trust-preview-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:center}.trust-preview-copy h2{margin:10px 0 14px;font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:-.04em}.trust-preview-copy p{max-width:650px;color:var(--muted);font-size:14px;line-height:1.75}.trust-preview-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:22px}.trust-preview-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trust-preview-cards article{padding:20px;border:1px solid #dce8e0;border-radius:16px;background:#fff}.trust-preview-cards article>span{display:grid;place-items:center;width:30px;height:30px;margin-bottom:14px;border-radius:8px;background:#eaf8ef;color:#15874d;font-size:8px;font-weight:900}.trust-preview-cards strong{display:block;margin-bottom:7px;color:#1d422d;font-size:13px}.trust-preview-cards p{margin:0;color:#738178;font-size:10px;line-height:1.6}
@media(max-width:1120px){.enterprise-entry-tabs{grid-template-columns:1fr 1fr}.enterprise-entry-tab:nth-child(2){border-right:0}.enterprise-entry-tab:nth-child(-n+2){border-bottom:1px solid #e4eee7}.architecture-flow{grid-template-columns:1fr}.arch-arrow{transform:rotate(90deg)}.architecture-controls{grid-template-columns:1fr 1fr}}
@media(max-width:920px){.enterprise-entry-stage,.solution-configurator,.trust-preview-grid{grid-template-columns:1fr}.enterprise-entry-visual{min-height:330px}.configurator-form{grid-template-columns:1fr 1fr}.trust-preview-cards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.enterprise-entry-tabs{grid-template-columns:1fr}.enterprise-entry-tab{border-right:0;border-bottom:1px solid #e4eee7}.enterprise-entry-stage{padding:26px 20px}.enterprise-entry-visual{min-height:420px}.entry-visual-core{width:160px}.entry-visual-node{width:132px}.node-a,.node-c{left:4%}.node-b,.node-d{right:4%}.configurator-form{grid-template-columns:1fr;padding:6px}.solution-configurator{padding:12px}.configurator-result{padding:24px 20px}.architecture-controls,.trust-preview-cards{grid-template-columns:1fr}.entry-actions,.configurator-actions,.trust-preview-actions{align-items:stretch;flex-direction:column}.entry-actions .btn,.configurator-actions .btn,.trust-preview-actions .btn{width:100%;text-align:center}}

/* v18 Trust Center */
.trust-hero{padding:94px 0 76px;background:linear-gradient(180deg,#f7fbf8,#fff)}.trust-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:56px;align-items:center}.trust-hero-copy h1{max-width:820px;margin:12px 0 18px;color:var(--ink);font-size:clamp(48px,5vw,74px);line-height:.99;letter-spacing:-.055em}.trust-hero-copy>p{max-width:760px;margin:0;color:var(--muted);font-size:16px;line-height:1.75}
.trust-hero-panel{padding:26px;border-radius:24px;background:linear-gradient(145deg,#071f16,#0b4d2e);color:#fff;box-shadow:0 28px 65px rgba(6,55,31,.23)}.trust-hero-panel>span{color:#65e29c;font-size:8px;font-weight:900;letter-spacing:.11em}.trust-model-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.trust-model-grid>div{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.045)}.trust-model-grid b,.trust-model-grid strong,.trust-model-grid small{display:block}.trust-model-grid b{color:#63df98;font-size:8px}.trust-model-grid strong{margin:5px 0;color:#fff;font-size:14px}.trust-model-grid small{color:#a7bdb0;font-size:9px;line-height:1.5}
.trust-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.trust-control-grid article{padding:24px;border:1px solid #dce8e0;border-radius:18px;background:#fff}.trust-control-grid article>span{display:inline-flex;margin-bottom:18px;padding:6px 9px;border-radius:999px;background:#eaf8ef;color:#147d48;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.trust-control-grid h3{margin:0 0 8px;color:#1b402c;font-size:16px}.trust-control-grid p{margin:0;color:#728179;font-size:11px;line-height:1.7}
.trust-principles-section{background:#071f16;color:#fff}.trust-principles-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;align-items:start}.trust-principles-grid h2{margin:10px 0 14px;color:#fff;font-size:clamp(36px,4vw,56px);line-height:1.05}.trust-principles-grid p{color:#a8bdb0;line-height:1.75}.trust-principles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.trust-principles>div{padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.04)}.trust-principles strong,.trust-principles span{display:block}.trust-principles strong{margin-bottom:6px;color:#e8f4ed;font-size:12px}.trust-principles span{color:#9fb6a8;font-size:10px;line-height:1.65}
.trust-disclosure{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;border:1px solid #dce8e0;border-radius:20px;background:#fff}.trust-disclosure h2{margin:8px 0 8px;color:#1b402c;font-size:30px}.trust-disclosure p{max-width:700px;margin:0;color:#748279;font-size:12px;line-height:1.7}.trust-disclosure-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
@media(max-width:920px){.trust-hero-grid,.trust-principles-grid{grid-template-columns:1fr}.trust-control-grid{grid-template-columns:1fr 1fr}.trust-disclosure{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.trust-hero{padding:66px 0 50px}.trust-model-grid,.trust-control-grid,.trust-principles{grid-template-columns:1fr}.trust-disclosure{padding:24px 20px}.trust-disclosure-actions{align-items:stretch;flex-direction:column;width:100%}.trust-disclosure-actions .btn{width:100%;text-align:center}}

/* v19 — maintainable, filterable Business Ecosystem */
.ecosystem-showcase { background: linear-gradient(180deg, #ffffff 0%, #f8fbf9 100%); }
.ecosystem-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0 30px;
}
.ecosystem-overview > div {
  min-width: 0;
  padding: 18px;
  border: 1px solid #dfeae3;
  border-radius: 16px;
  background: #fff;
}
.ecosystem-overview strong,
.ecosystem-overview span { display: block; }
.ecosystem-overview strong { color: #0f6f3f; font-size: 24px; line-height: 1; letter-spacing: -.03em; }
.ecosystem-overview span { margin-top: 8px; color: #718178; font-size: 10px; line-height: 1.45; }
.ecosystem-group {
  padding: 26px;
  border: 1px solid #dbe8df;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(19, 67, 39, .05);
}
.ecosystem-group + .ecosystem-group { margin-top: 22px; }
.ecosystem-group-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.ecosystem-label {
  display: inline-block;
  margin-bottom: 6px;
  color: #177d49;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ecosystem-group-head h3 { margin: 0; color: var(--ink); font-size: clamp(18px, 2vw, 25px); line-height: 1.22; }
.ecosystem-count {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid #d7e6dc;
  border-radius: 999px;
  background: #f6faf7;
  color: #708177;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}
.ecosystem-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
.ecosystem-filter {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid #dce8e0;
  border-radius: 999px;
  background: #fff;
  color: #5d7165;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.ecosystem-filter:hover { border-color: #a9d4b8; color: #167b48; transform: translateY(-1px); }
.ecosystem-filter.is-active { border-color: #8dd1a6; background: #eaf8ef; color: #117b45; box-shadow: inset 0 0 0 1px rgba(32,196,106,.06); }
.ecosystem-filter:focus-visible { outline: 3px solid rgba(32,196,106,.22); outline-offset: 2px; }
.ecosystem-logo-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.ecosystem-logo-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe9e3;
  border-radius: 16px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease;
}
.ecosystem-logo-card:hover { border-color: #b8d7c3; box-shadow: 0 12px 28px rgba(19,67,39,.07); transform: translateY(-2px); }
.ecosystem-logo-card[hidden] { display: none !important; }
.ecosystem-logo-media {
  height: 118px;
  display: grid;
  place-items: center;
  padding: 18px;
  border-bottom: 1px solid #edf2ef;
  background: #fff;
}
.ecosystem-logo-media img {
  width: auto;
  max-width: 100%;
  max-height: 68px;
  object-fit: contain;
}
.ecosystem-logo-meta { padding: 11px 12px 12px; }
.ecosystem-logo-meta strong,
.ecosystem-logo-meta span { display: block; min-width: 0; overflow-wrap: anywhere; }
.ecosystem-logo-meta strong { color: #1d3b2a; font-size: 10px; line-height: 1.25; }
.ecosystem-logo-meta span { margin-top: 4px; color: #849189; font-size: 8px; line-height: 1.35; }
.ecosystem-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
  padding: 14px 16px;
  border-left: 3px solid #20c46a;
  border-radius: 10px;
  background: #f6fbf8;
}
.ecosystem-note > span { color: #718178; font-size: 10px; line-height: 1.45; }
@media (max-width: 1120px) {
  .ecosystem-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
  .ecosystem-overview { grid-template-columns: 1fr 1fr; }
  .ecosystem-group-head { align-items: flex-start; flex-direction: column; gap: 10px; }
}
@media (max-width: 620px) {
  .ecosystem-overview { grid-template-columns: 1fr 1fr; gap: 8px; }
  .ecosystem-overview > div { padding: 14px; }
  .ecosystem-group { padding: 18px 14px; border-radius: 18px; }
  .ecosystem-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .ecosystem-filter { flex: 0 0 auto; min-height: 44px; }
  .ecosystem-logo-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .ecosystem-logo-media { height: 96px; padding: 14px; }
  .ecosystem-logo-media img { max-height: 54px; }
  .ecosystem-note { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 380px) {
  .ecosystem-overview { grid-template-columns: 1fr; }
  .ecosystem-logo-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ecosystem-filter,
  .ecosystem-logo-card { transition: none; }
}

/* ============================================================
   v20 — Enterprise Experience: Case Studies, Developer/API Center,
   Gaming & Digital Content commercial page
   ============================================================ */
.v20-hero {
  position: relative;
  overflow: hidden;
  padding: 88px 0 72px;
  background: linear-gradient(180deg,#f7fbf8 0%,#ffffff 100%);
  border-bottom: 1px solid #e7eee9;
}
.v20-hero::after {
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-180px;
  top:-220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(32,196,106,.13),rgba(32,196,106,0) 68%);
  pointer-events:none;
}
.v20-api-hero::after { background:radial-gradient(circle,rgba(85,121,232,.15),rgba(85,121,232,0) 68%); }
.v20-gaming-hero { background:linear-gradient(150deg,#071424,#0a1e39 60%,#0c2c52); color:#fff; border-bottom:0; }
.v20-gaming-hero::after { background:radial-gradient(circle,rgba(91,122,238,.32),rgba(91,122,238,0) 68%); }
.v20-gaming-hero .section-kicker { color:#8faeff; }
.v20-gaming-hero p { color:#b9c9dc; }
.v20-hero-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  gap:56px;
  align-items:center;
}
.v20-hero h1 {
  margin:12px 0 18px;
  max-width:830px;
  color:var(--ink);
  font-size:clamp(48px,5.7vw,78px);
  line-height:.99;
  letter-spacing:-.055em;
}
.v20-gaming-hero h1 { color:#f5f8fb; }
.v20-hero p { max-width:760px; margin:0; color:var(--muted); font-size:16px; line-height:1.75; }
.v20-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:28px; }

.v20-proof-panel {
  padding:22px;
  border:1px solid #d6e5dc;
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 70px rgba(13,54,35,.11);
}
.v20-proof-panel > span { display:block; margin-bottom:12px; color:#658074; font-size:9px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.v20-proof-panel > div { display:grid; grid-template-columns:42px 1fr; gap:11px; margin-top:9px; padding:14px; border:1px solid #e4ece7; border-radius:14px; background:#fbfdfb; }
.v20-proof-panel b { grid-row:1/3; width:36px; height:36px; display:grid; place-items:center; border-radius:10px; background:#e8f7ee; color:#13844a; font-size:9px; }
.v20-proof-panel strong,.v20-proof-panel small { display:block; }
.v20-proof-panel strong { color:#183b27; font-size:13px; }
.v20-proof-panel small { color:#7d8e84; font-size:10px; line-height:1.45; }

.v20-case-section { background:#fff; }
.v20-case-grid { display:grid; gap:24px; }
.v20-case-card {
  display:grid;
  grid-template-columns:minmax(260px,.36fr) minmax(0,.64fr);
  border:1px solid #dce8e0;
  border-radius:24px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(20,81,48,.06);
}
.v20-case-media { min-height:330px; display:grid; place-items:center; padding:34px; background:linear-gradient(145deg,#eef8f2,#f8fbf9); }
.v20-case-media img { width:min(250px,100%); max-height:180px; object-fit:contain; }
.v20-case-body { min-width:0; padding:34px 38px; }
.v20-case-eyebrow { display:block; margin-bottom:10px; color:#16894e; font-size:9px; font-weight:900; letter-spacing:.10em; text-transform:uppercase; }
.v20-case-body h2 { margin:0 0 12px; color:var(--ink); font-size:clamp(25px,2.6vw,36px); line-height:1.15; letter-spacing:-.035em; }
.v20-case-summary { margin:0 0 18px; color:var(--muted); font-size:13px; line-height:1.72; }
.v20-case-triad { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.v20-case-triad > div { padding:14px; border:1px solid #e3ece6; border-radius:12px; background:#fbfdfb; }
.v20-case-triad small { display:block; margin-bottom:6px; color:#13844a; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.v20-case-triad p { margin:0; color:#687a70; font-size:10px; line-height:1.6; }
.v20-case-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:20px; }
.v20-case-cta,.v20-api-cta { display:flex; align-items:center; justify-content:space-between; gap:38px; }
.v20-case-cta > div,.v20-api-cta > div { max-width:780px; }
.v20-case-cta h2,.v20-api-cta h2 { margin:8px 0 10px; color:var(--ink); font-size:clamp(28px,3.4vw,46px); line-height:1.1; letter-spacing:-.04em; }
.v20-case-cta p,.v20-api-cta p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }

.v20-code-window {
  overflow:hidden;
  border:1px solid rgba(85,121,232,.28);
  border-radius:22px;
  background:#0b1420;
  color:#d9e4ee;
  box-shadow:0 28px 68px rgba(4,20,40,.24);
}
.v20-code-bar { height:48px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:0 15px; border-bottom:1px solid rgba(255,255,255,.08); background:#0d1826; }
.v20-code-bar > span { display:flex; gap:5px; }
.v20-code-bar i { width:7px; height:7px; border-radius:50%; background:#65778a; }
.v20-code-bar b { color:#b8c8d6; font-size:9px; }
.v20-code-bar em { justify-self:end; color:#8cabff; font-size:8px; font-style:normal; font-weight:900; }
.v20-code-body { padding:26px; }
.v20-code-body > div:first-child { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.v20-code-body code { color:#c2d4e2; font:9px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; overflow-wrap:anywhere; }
.v20-code-body pre { margin:0 0 16px; padding:16px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:#09111c; color:#bdd0de; white-space:pre-wrap; overflow-wrap:anywhere; }
.v20-code-response { padding:14px; border:1px solid rgba(93,233,155,.16); border-radius:12px; background:#0a1715; }
.v20-code-response span { display:block; margin-bottom:7px; color:#5de99b; font-size:8px; font-weight:900; }

.v20-api-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.v20-api-steps article { position:relative; padding:20px; border:1px solid #dfe9e2; border-radius:16px; background:#fff; }
.v20-api-steps article:not(:last-child)::after { content:"→"; position:absolute; right:-12px; top:24px; z-index:2; color:#a8bab0; font-weight:800; }
.v20-api-steps span { display:inline-grid; place-items:center; width:34px; height:34px; margin-bottom:14px; border-radius:9px; background:#e9efff; color:#315bce; font-size:9px; font-weight:900; }
.v20-api-steps h3 { margin:0 0 7px; color:var(--ink); font-size:14px; }
.v20-api-steps p { margin:0; color:var(--muted); font-size:10px; line-height:1.6; }
.v20-api-grid { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr); gap:38px; align-items:start; }
.v20-api-grid h2 { margin:8px 0 20px; color:var(--ink); font-size:clamp(32px,4vw,52px); line-height:1.08; letter-spacing:-.045em; }
.v20-control-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.v20-control-list > div { padding:15px; border:1px solid #e0e9e3; border-radius:13px; background:#fff; }
.v20-control-list b { color:#1c3c2b; font-size:12px; }
.v20-control-list p { margin:5px 0 0; color:#6c7d73; font-size:10px; line-height:1.55; }
.v20-dev-note { padding:26px; border:1px solid #cfdcf8; border-radius:20px; background:linear-gradient(145deg,#f7f9ff,#eef3ff); }
.v20-dev-note > span { color:#315bce; font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.v20-dev-note h3 { margin:8px 0 14px; color:#17294b; font-size:24px; line-height:1.15; }
.v20-dev-note ul { margin:0 0 20px; padding-left:20px; color:#60708c; }
.v20-dev-note li { margin:8px 0; font-size:11px; line-height:1.5; }
.v20-api-cta > div:last-child { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }

.v20-gaming-proof { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:18px; border:1px solid rgba(255,255,255,.13); border-radius:22px; background:rgba(255,255,255,.05); box-shadow:0 26px 70px rgba(0,0,0,.22); }
.v20-gaming-proof > div { padding:20px; border:1px solid rgba(255,255,255,.08); border-radius:14px; background:rgba(255,255,255,.04); }
.v20-gaming-proof strong,.v20-gaming-proof span { display:block; }
.v20-gaming-proof strong { color:#fff; font-size:36px; letter-spacing:-.04em; }
.v20-gaming-proof span { margin-top:4px; color:#b7c9db; font-size:10px; line-height:1.45; }
.v20-gaming-proof p { grid-column:1/-1; padding:0 4px; color:#7f96ad; font-size:8px; line-height:1.5; }
.v20-gaming-channel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.v20-gaming-channel-grid article { padding:22px; border:1px solid #dfe8e3; border-radius:17px; background:#fff; }
.v20-gaming-channel-grid article > span { display:inline-grid; place-items:center; min-width:38px; height:38px; padding:0 8px; margin-bottom:16px; border-radius:10px; background:#eef2ff; color:#405fd0; font-size:9px; font-weight:900; }
.v20-gaming-channel-grid h3 { margin:0 0 8px; color:var(--ink); font-size:17px; }
.v20-gaming-channel-grid p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }
.v20-gaming-stack { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:50px; align-items:center; }
.v20-gaming-stack h2 { margin:8px 0 14px; color:var(--ink); font-size:clamp(34px,4.4vw,56px); line-height:1.08; letter-spacing:-.045em; }
.v20-gaming-stack > div:first-child p { color:var(--muted); font-size:13px; line-height:1.7; }
.v20-gaming-control-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.v20-gaming-control-grid article { padding:20px; border:1px solid #dce7e0; border-radius:15px; background:#fff; }
.v20-gaming-control-grid span { display:inline-grid; place-items:center; width:32px; height:32px; margin-bottom:12px; border-radius:9px; background:#eaf8ef; color:#13864b; font-size:8px; font-weight:900; }
.v20-gaming-control-grid h3 { margin:0 0 7px; color:var(--ink); font-size:14px; }
.v20-gaming-control-grid p { margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.v20-game-flow-row { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:12px; align-items:center; }
.v20-game-flow-row > div { min-height:126px; padding:18px; border:1px solid #dce7e0; border-radius:15px; background:#fff; }
.v20-game-flow-row > i { color:#8da79a; font-style:normal; font-weight:900; }
.v20-game-flow-row b,.v20-game-flow-row strong,.v20-game-flow-row small { display:block; }
.v20-game-flow-row b { width:30px; height:30px; display:grid; place-items:center; margin-bottom:10px; border-radius:8px; background:#eef2ff; color:#4863c9; font-size:8px; }
.v20-game-flow-row strong { color:#193b29; font-size:13px; }
.v20-game-flow-row small { margin-top:5px; color:#75867c; font-size:9px; line-height:1.5; }
.v20-dark-cta { background:linear-gradient(145deg,#062d1b,#0d5532 62%,#107742); color:#fff; }
.v20-dark-cta .section-kicker { color:#72e7a6; }
.v20-dark-cta h2 { color:#fff; }
.v20-dark-cta p { color:#bbd7c7; }

@media (max-width: 1120px) {
  .v20-hero-grid { grid-template-columns:1fr 1fr; gap:34px; }
  .v20-case-card { grid-template-columns:280px 1fr; }
  .v20-case-triad { grid-template-columns:1fr; }
  .v20-api-steps { grid-template-columns:repeat(3,1fr); }
  .v20-api-steps article::after { display:none; }
  .v20-game-flow-row { grid-template-columns:1fr 1fr; }
  .v20-game-flow-row > i { display:none; }
}
@media (max-width: 920px) {
  .v20-hero { padding:68px 0 54px; }
  .v20-hero-grid,.v20-api-grid,.v20-gaming-stack { grid-template-columns:1fr; }
  .v20-case-card { grid-template-columns:1fr; }
  .v20-case-media { min-height:220px; }
  .v20-api-steps { grid-template-columns:1fr 1fr; }
  .v20-gaming-channel-grid { grid-template-columns:1fr 1fr; }
  .v20-case-cta,.v20-api-cta { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 620px) {
  .v20-hero h1 { font-size:clamp(40px,12vw,58px); }
  .v20-hero-grid { gap:28px; }
  .v20-case-body { padding:26px 22px; }
  .v20-case-triad,.v20-control-list,.v20-gaming-control-grid,.v20-api-steps,.v20-gaming-channel-grid,.v20-gaming-proof,.v20-game-flow-row { grid-template-columns:1fr; }
  .v20-gaming-proof p { grid-column:auto; }
  .v20-code-body { padding:18px; }
  .v20-code-body code { font-size:8px; }
  .v20-hero-actions,.v20-case-actions { align-items:stretch; flex-direction:column; }
  .v20-hero-actions .btn,.v20-case-actions .btn { width:100%; }
}

/* v20 homepage enterprise resource pathways */
.v20-resource-band { background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%); }
.v20-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.v20-resource-card { min-width:0; display:flex; flex-direction:column; min-height:220px; padding:24px; border:1px solid #dce8e0; border-radius:18px; background:#fff; color:var(--ink); text-decoration:none; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.v20-resource-card:hover { transform:translateY(-3px); border-color:#b8d9c4; box-shadow:0 18px 38px rgba(20,81,48,.08); }
.v20-resource-card > span { align-self:flex-start; margin-bottom:18px; padding:6px 9px; border-radius:999px; background:#eaf8ef; color:#137f48; font-size:8px; font-weight:900; letter-spacing:.09em; }
.v20-resource-card strong { margin-bottom:9px; font-size:19px; line-height:1.25; }
.v20-resource-card small { flex:1; color:#6e7e74; font-size:11px; line-height:1.65; }
.v20-resource-card b { margin-top:18px; color:#13874c; font-size:11px; }
@media(max-width:920px){.v20-resource-grid{grid-template-columns:1fr 1fr}.v20-resource-card:last-child{grid-column:1/-1}}
@media(max-width:620px){.v20-resource-grid{grid-template-columns:1fr}.v20-resource-card:last-child{grid-column:auto}.v20-resource-card{min-height:0}}

/* v22 — resilient Our Team photo strip */
.team-portrait-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.team-portrait-item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe9e2;
  border-radius: 18px;
  background: #fff;
}
.team-portrait-media {
  display: grid;
  place-items: center;
  height: 210px;
  overflow: hidden;
  background: linear-gradient(180deg,#f7fbf8,#eef6f1);
}
.team-portrait-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}
.team-portrait-media > span {
  display: grid;
  place-items: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: #eaf8ef;
  color: #147b47;
  font-size: 24px;
  font-weight: 900;
}
.team-portrait-item > div:last-child { padding: 14px 15px 16px; }
.team-portrait-item strong,
.team-portrait-item span { display: block; }
.team-portrait-item strong { color: #183b27; font-size: 13px; line-height: 1.35; }
.team-portrait-item > div:last-child span { margin-top: 4px; color: #75867c; font-size: 10px; line-height: 1.4; }
.team-portrait-lead { border-color: #bfe2cc; box-shadow: 0 12px 28px rgba(19,67,39,.06); }
@media (max-width: 1020px) {
  .team-portrait-strip { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .team-portrait-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .team-portrait-media { height: 180px; }
}
@media (max-width: 420px) {
  .team-portrait-strip { grid-template-columns: 1fr; }
}

/* v22 — animated, swipeable processing-brand carousel */
.ecosystem-slider-shell {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}
.ecosystem-slider-viewport {
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  scroll-behavior: smooth;
  border-radius: 14px;
}
.ecosystem-slider-viewport::-webkit-scrollbar { display: none; }
.ecosystem-slider-track {
  display: flex;
  gap: 12px;
  width: max-content;
  min-width: 100%;
  padding: 2px;
}
.ecosystem-slider-shell .ecosystem-slide {
  flex: 0 0 clamp(180px, 16vw, 230px);
  scroll-snap-align: start;
}
.ecosystem-slider-nav,
.ecosystem-slider-toggle {
  border: 1px solid #cfe0d5;
  background: #fff;
  color: #176f44;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.ecosystem-slider-nav {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 800;
}
.ecosystem-slider-nav:hover,
.ecosystem-slider-toggle:hover { border-color: #8ecba6; background: #eff9f3; }
.ecosystem-slider-nav:active { transform: scale(.96); }
.ecosystem-slider-toggle {
  position: absolute;
  right: 52px;
  top: -54px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
}
.ecosystem-slider-shell.is-paused .ecosystem-slider-toggle { background: #eff9f3; }
.ecosystem-slider-shell .ecosystem-logo-card[hidden] { display: none !important; }
.ecosystem-slider-shell .ecosystem-logo-card {
  animation: ecosystemSlideIn .34s ease both;
}
@keyframes ecosystemSlideIn {
  from { opacity: .35; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 920px) {
  .ecosystem-slider-shell .ecosystem-slide { flex-basis: 220px; }
}
@media (max-width: 620px) {
  .ecosystem-slider-shell { grid-template-columns: minmax(0,1fr); }
  .ecosystem-slider-nav { display: none; }
  .ecosystem-slider-toggle { position: static; justify-self: end; margin-top: 8px; }
  .ecosystem-slider-shell .ecosystem-slide { flex-basis: min(78vw, 250px); }
}
@media (prefers-reduced-motion: reduce) {
  .ecosystem-slider-viewport { scroll-behavior: auto; }
  .ecosystem-slider-shell .ecosystem-logo-card { animation: none; }
}

/* v23 — restored group photography + continuous right-to-left processing brand showcase */
.team-photo-grid-v23 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.team-photo-grid-v23 .team-photo-card {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid #dfe9e2;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(19, 67, 39, .07);
}
.team-photo-grid-v23 .team-photo-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1280 / 589;
  object-fit: cover;
  object-position: center;
  transition: transform .45s ease;
}
.team-photo-grid-v23 .team-photo-card:hover img { transform: scale(1.015); }
.team-photo-grid-v23 .team-photo-label {
  position: absolute;
  left: 16px;
  bottom: 16px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 999px;
  background: rgba(10, 37, 23, .76);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
  backdrop-filter: blur(8px);
}

.brand-marquee-shell {
  position: relative;
  margin-top: 4px;
  padding: 12px 0 2px;
}
.brand-marquee-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 2px 10px;
  color: #6c7e73;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.brand-marquee-toolbar > span { display: inline-flex; align-items: center; gap: 7px; }
.brand-marquee-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #20c46a;
  box-shadow: 0 0 0 5px rgba(32,196,106,.12);
}
.brand-marquee-toggle {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #cfe0d5;
  border-radius: 999px;
  background: #fff;
  color: #176f44;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.brand-marquee-toggle:hover,
.brand-marquee-toggle:focus-visible { border-color: #8ecba6; background: #eff9f3; }
.brand-marquee-toggle:active { transform: scale(.97); }
.brand-marquee-viewport {
  position: relative;
  overflow: hidden;
  min-width: 0;
  padding: 4px 0 8px;
  border-radius: 18px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}
.brand-marquee-track {
  display: flex;
  width: max-content;
  gap: 14px;
  will-change: transform;
  animation: vdBrandMarquee 34s linear infinite;
}
.brand-marquee-sequence {
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
  gap: 14px;
}
.brand-marquee-card {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 184px;
  height: 118px;
  padding: 18px 20px;
  overflow: hidden;
  border: 1px solid #dce8e0;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #fbfdfc 100%);
  box-shadow: 0 8px 22px rgba(19,67,39,.045);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.brand-marquee-card:hover,
.brand-marquee-card:focus-visible {
  transform: translateY(-3px);
  border-color: #9bcfaf;
  box-shadow: 0 16px 32px rgba(19,67,39,.10);
  outline: none;
}
.brand-marquee-card[hidden] { display: none !important; }
.brand-marquee-card img {
  display: block;
  width: 100%;
  max-width: 144px;
  height: 72px;
  object-fit: contain;
  object-position: center;
  filter: saturate(.98);
  transition: transform .25s ease, opacity .25s ease;
}
.brand-marquee-card:hover img,
.brand-marquee-card:focus-visible img { transform: scale(1.035); opacity: .24; }
.brand-marquee-caption {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
  padding: 16px;
  text-align: center;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .22s ease, transform .22s ease;
  pointer-events: none;
}
.brand-marquee-card:hover .brand-marquee-caption,
.brand-marquee-card:focus-visible .brand-marquee-caption { opacity: 1; transform: translateY(0); }
.brand-marquee-caption strong { color: #173d28; font-size: 12px; line-height: 1.25; }
.brand-marquee-caption small { color: #718178; font-size: 9px; line-height: 1.35; }
.brand-marquee-hint {
  margin: 9px 2px 0;
  color: #839188;
  font-size: 9px;
  line-height: 1.5;
}
.brand-marquee-shell:hover .brand-marquee-track,
.brand-marquee-shell:focus-within .brand-marquee-track,
.brand-marquee-shell.is-paused .brand-marquee-track { animation-play-state: paused; }
@keyframes vdBrandMarquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-50% - 7px), 0, 0); }
}
@media (max-width: 820px) {
  .team-photo-grid-v23 { grid-template-columns: 1fr; }
  .brand-marquee-card { flex-basis: 156px; height: 104px; padding: 15px; }
  .brand-marquee-card img { max-width: 126px; height: 62px; }
  .brand-marquee-track { animation-duration: 30s; }
}
@media (max-width: 520px) {
  .team-photo-grid-v23 { gap: 12px; }
  .team-photo-grid-v23 .team-photo-card { border-radius: 16px; }
  .team-photo-grid-v23 .team-photo-label { left: 10px; bottom: 10px; }
  .brand-marquee-card { flex-basis: 138px; height: 94px; border-radius: 15px; }
  .brand-marquee-card img { max-width: 108px; height: 54px; }
  .brand-marquee-viewport { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }
}
@media (prefers-reduced-motion: reduce) {
  .team-photo-grid-v23 .team-photo-card img,
  .brand-marquee-card,
  .brand-marquee-card img,
  .brand-marquee-caption { transition: none; }
  .brand-marquee-viewport { overflow-x: auto; mask-image: none; -webkit-mask-image: none; scrollbar-width: thin; }
  .brand-marquee-track { animation: none; }
  .brand-marquee-sequence[aria-hidden="true"] { display: none; }
}


/* v25 — distribution partner Spotlight + Flow with a subtle network pulse */
.partner-spotlight-grid {
  position: relative;
  isolation: isolate;
}
.partner-spotlight-grid .ecosystem-logo-card {
  position: relative;
  z-index: 2;
  isolation: isolate;
  overflow: hidden;
  transition: transform .52s cubic-bezier(.2,.75,.2,1),
              border-color .42s ease,
              box-shadow .52s ease,
              background-color .42s ease;
}
.partner-spotlight-grid .ecosystem-logo-card::before {
  content: "";
  position: absolute;
  top: -28%;
  left: -48%;
  width: 34%;
  height: 156%;
  z-index: 0;
  opacity: 0;
  transform: skewX(-18deg) translateX(0);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.82), transparent);
  filter: blur(.2px);
  pointer-events: none;
}
.partner-spotlight-grid .ecosystem-logo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 34%, rgba(32,196,106,.15), rgba(32,196,106,.045) 40%, rgba(32,196,106,0) 72%);
  opacity: 0;
  transition: opacity .46s ease;
  pointer-events: none;
}
.partner-spotlight-grid .ecosystem-logo-card > * {
  position: relative;
  z-index: 1;
}
.partner-spotlight-grid .ecosystem-logo-card.is-spotlight {
  border-color: #83cf9f;
  background: #fff;
  box-shadow:
    0 18px 38px rgba(17,67,38,.13),
    0 0 0 1px rgba(32,196,106,.08),
    0 0 26px rgba(32,196,106,.08);
  transform: translateY(-7px) scale(1.018);
}
.partner-spotlight-grid .ecosystem-logo-card.is-spotlight::before {
  opacity: .72;
  animation: partnerLightSweep 1.05s cubic-bezier(.2,.7,.25,1) both;
}
.partner-spotlight-grid .ecosystem-logo-card.is-spotlight::after { opacity: 1; }
.partner-spotlight-grid .ecosystem-logo-card.is-spotlight .ecosystem-logo-media img {
  animation: partnerLogoFocus .82s cubic-bezier(.2,.7,.25,1) both;
}
.partner-spotlight-grid .ecosystem-logo-card.is-flow-next {
  border-color: rgba(32,196,106,.40);
  box-shadow: 0 10px 24px rgba(19,67,39,.065);
}
.partner-spotlight-grid .ecosystem-logo-card.is-flow-next::after { opacity: .34; }

/* Network line is deliberately faint: it communicates flow without turning the grid into a diagram. */
.partner-network-flow {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.partner-network-flow .partner-flow-path-base {
  fill: none;
  stroke: rgba(32,196,106,.105);
  stroke-width: 1.15;
  stroke-linecap: round;
}
.partner-network-flow .partner-flow-path {
  fill: none;
  stroke: rgba(32,196,106,.52);
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-dasharray: 2 11;
  opacity: .55;
  animation: partnerNetworkDash 1.45s linear infinite;
}
.partner-network-flow .partner-flow-dot {
  fill: #20c46a;
  opacity: .58;
  filter: drop-shadow(0 0 5px rgba(32,196,106,.28));
  transform-box: fill-box;
  transform-origin: center;
  animation: partnerNetworkPulse 1.25s ease-in-out infinite;
}
.partner-network-flow.is-hidden { opacity: 0; }

@keyframes partnerLightSweep {
  0% { transform: skewX(-18deg) translateX(0); opacity: 0; }
  18% { opacity: .68; }
  100% { transform: skewX(-18deg) translateX(520%); opacity: 0; }
}
@keyframes partnerLogoFocus {
  0% { transform: scale(.965); opacity: .78; }
  56% { transform: scale(1.065); opacity: 1; }
  100% { transform: scale(1.025); opacity: 1; }
}
@keyframes partnerNetworkDash {
  to { stroke-dashoffset: -26; }
}
@keyframes partnerNetworkPulse {
  0%, 100% { transform: scale(.82); opacity: .34; }
  50% { transform: scale(1.28); opacity: .78; }
}

@media (hover: hover) {
  .partner-spotlight-grid .ecosystem-logo-card:hover {
    border-color: #83cf9f;
    transform: translateY(-7px) scale(1.018);
    box-shadow: 0 18px 38px rgba(17,67,38,.13), 0 0 24px rgba(32,196,106,.07);
  }
}
@media (max-width: 767px) {
  .partner-spotlight-grid .ecosystem-logo-card.is-spotlight {
    transform: translateY(-4px) scale(1.008);
  }
  .partner-network-flow { opacity: .62; }
}
@media (prefers-reduced-motion: reduce) {
  .partner-spotlight-grid .ecosystem-logo-card,
  .partner-spotlight-grid .ecosystem-logo-card::before,
  .partner-spotlight-grid .ecosystem-logo-card::after { transition: none; animation: none; }
  .partner-spotlight-grid .ecosystem-logo-card.is-spotlight .ecosystem-logo-media img { animation: none; }
  .partner-network-flow { display: none; }
}



/* =========================================================
   Production V2 refinements
   ========================================================= */
:root{
  --vd-green:#14c75b;
  --vd-green-dark:#0b6f39;
  --vd-ink:#10271a;
  --vd-soft:#f5faf7;
  --vd-border:#dce8df;
}
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(20,199,91,.42);
  outline-offset:3px;
  border-radius:6px;
}
.hero-actions .btn,
.final-cta-actions .btn{min-height:48px}
.contact-form-card select{min-height:48px}
.hp-field{
  position:absolute!important;
  inline-size:1px!important;
  block-size:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
@media (max-width:620px){
  .home-hero{padding-top:52px}
  .home-hero-copy h1{font-size:clamp(38px,11vw,54px)}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-actions .btn{width:100%;text-align:center}
  .scale-proof-grid{grid-template-columns:1fr 1fr}
  .scale-proof-item{min-height:124px}
  .contact-layout{gap:24px}
}
@media (max-width:420px){
  .scale-proof-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}


/* =========================================================
   Audience landing pages + homepage network/timeline upgrades
   ========================================================= */
.audience-hero-grid,
.gaming-audience-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);
  gap:32px;
  align-items:center;
}
.audience-hero-panel,
.audience-cta-box,
.network-visual-shell,
.gaming-audience-stage,
.gaming-benefit-grid article,
.audience-card-grid article,
.timeline-strip article,
.gaming-journey-step{
  border:1px solid rgba(18,66,40,.12);
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbf8 100%);
  box-shadow:0 18px 42px rgba(18,66,40,.06);
}
.audience-hero-panel{padding:28px}
.audience-badge,
.network-core-label,
.network-label,
.api-business-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  background:rgba(20,199,91,.08);color:#0f6b38;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;
}
.audience-stat-grid,
.audience-card-grid,
.gaming-benefit-grid,
.timeline-strip,
.network-chip-grid,
.audience-chip-list{display:grid;gap:16px}
.audience-stat-grid{grid-template-columns:1fr 1fr;margin-top:18px}
.audience-stat-grid div{padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(20,199,91,.1)}
.audience-stat-grid strong{display:block;color:#0b6f39;font-size:1.05rem;margin-bottom:6px}
.audience-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.audience-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.audience-card-grid article,
.gaming-benefit-grid article{padding:24px}
.audience-card-grid article span,
.gaming-benefit-grid article span,
.timeline-strip article span,
.gaming-journey-step small,
.network-pipeline small{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:14px;background:rgba(20,199,91,.12);color:#0f6b38;font-weight:800;margin-bottom:12px}
.audience-journey-grid,
.network-pipeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.network-pipeline{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}
.audience-journey-grid div,
.network-pipeline > div{padding:20px;border-radius:22px;background:#fff;border:1px solid rgba(16,39,26,.08);box-shadow:0 12px 30px rgba(18,66,40,.05)}
.audience-journey-grid b,
.network-pipeline strong{display:block;font-size:1.04rem;margin-bottom:8px;color:#113f26}
.audience-cta-strip{padding-top:0}
.audience-cta-box{padding:28px 30px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.audience-chip-list{grid-template-columns:repeat(3,max-content);align-content:start}
.audience-chip-list span,
.network-chip-grid span{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid rgba(20,199,91,.18);font-weight:700;color:#144328}
.network-visual-section{padding-top:24px}
.network-visual-shell{padding:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr) minmax(0,1fr);gap:18px;align-items:center;position:relative;overflow:hidden}
.network-visual-shell::before{content:'';position:absolute;inset:auto 14% 44%;height:2px;background:linear-gradient(90deg,rgba(20,199,91,.1),rgba(20,199,91,.45),rgba(20,199,91,.1));}
.network-visual-column{padding:22px;border-radius:22px;background:#fff;border:1px solid rgba(20,199,91,.1)}
.network-visual-column h3{margin:12px 0 12px}
.network-visual-column ul{margin:0;padding-left:18px;display:grid;gap:10px;color:#325043}
.network-visual-core{padding:28px;border-radius:24px;background:linear-gradient(180deg,#163c25 0%,#0f2418 100%);color:#fff;text-align:center;box-shadow:0 18px 40px rgba(8,35,19,.22)}
.network-visual-core strong{display:block;font-size:2rem;letter-spacing:.02em;margin:12px 0 8px;color:#54e18d}
.network-chip-grid{grid-template-columns:repeat(2,max-content)}
.timeline-section .section-heading{margin-bottom:26px}
.timeline-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
.timeline-strip article{padding:22px;position:relative;overflow:hidden}
.timeline-strip article::after{content:'';position:absolute;left:22px;right:22px;bottom:0;height:3px;background:linear-gradient(90deg,#14c75b,#a8edc1)}
.timeline-strip article h3{margin:0 0 10px;font-size:1.05rem}
.timeline-strip article p{margin:0;color:#4b6256}
.gaming-audience-hero{position:relative;padding:92px 0 80px;background:radial-gradient(circle at 20% 20%, rgba(20,199,91,.18), transparent 32%),radial-gradient(circle at 80% 10%, rgba(83,133,255,.16), transparent 28%),linear-gradient(180deg,#08120f 0%,#0f1f1a 55%,#0f281a 100%);color:#fff;overflow:hidden}
.gaming-audience-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);background-size:34px 34px;opacity:.22;pointer-events:none}
.gaming-audience-copy,.gaming-audience-stage{position:relative;z-index:1}
.gaming-audience-copy h1{color:#fff}
.gaming-audience-copy p{color:rgba(240,247,243,.82)}
.gaming-audience-stage{padding:28px;background:linear-gradient(180deg,rgba(20,199,91,.09),rgba(12,29,23,.94));border:1px solid rgba(120,255,184,.18);min-height:380px;display:grid;place-items:center;position:relative;overflow:hidden}
.gaming-stage-core{padding:28px 24px;border-radius:24px;background:rgba(8,20,15,.82);border:1px solid rgba(120,255,184,.18);text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.gaming-stage-core strong{display:block;font-size:2.2rem;color:#5bf39d;text-transform:lowercase;letter-spacing:.04em;margin:8px 0}
.gaming-stage-node{position:absolute;width:220px;padding:16px 18px;border-radius:18px;background:rgba(12,26,21,.9);border:1px solid rgba(120,255,184,.18);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.gaming-stage-node b{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:rgba(91,243,157,.16);color:#5bf39d;margin-bottom:10px}
.gaming-stage-node span{display:block;font-weight:700;color:#fff;margin-bottom:6px}
.gaming-stage-node small{display:block;color:rgba(225,239,231,.7)}
.gaming-stage-node.node-left{left:18px;top:36px}
.gaming-stage-node.node-right{right:18px;top:46px}
.gaming-stage-node.node-bottom{left:50%;bottom:24px;transform:translateX(-50%)}
.gaming-kpi-ribbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.gaming-kpi-ribbon div{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(120,255,184,.12);backdrop-filter:blur(8px)}
.gaming-kpi-ribbon strong{display:block;color:#7efbb3;font-size:1.4rem}
.gaming-kpi-ribbon span{color:rgba(240,247,243,.74)}
.gaming-surface{background:linear-gradient(180deg,#0f1d18 0%,#14261f 100%)}
.light-text h2,.light-text p,.light-text .section-kicker{color:#f1f8f3}
.gaming-benefit-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px}
.gaming-benefit-grid article{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border-color:rgba(120,255,184,.14);color:#f5fbf6}
.gaming-benefit-grid article p{color:rgba(226,238,229,.78)}
.gaming-benefit-grid article h3{color:#fff}
.gaming-benefit-grid article span{background:rgba(91,243,157,.16);color:#7efbb3}
.gaming-journey-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gaming-journey-step{padding:24px}
.gaming-journey-step strong{display:block;font-size:1.08rem;margin-bottom:10px;color:#0f3422}
.gaming-cta-strip .audience-cta-box{background:linear-gradient(135deg,#11251d 0%,#163226 100%);color:#fff;border-color:rgba(120,255,184,.14)}
.gaming-cta-strip .audience-chip-list span{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(120,255,184,.16)}
@media (max-width:1100px){
  .audience-card-grid,.gaming-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeline-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .audience-journey-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .network-visual-shell{grid-template-columns:1fr}
  .network-visual-shell::before{display:none}
  .audience-cta-box{grid-template-columns:1fr}
}
@media (max-width:900px){
  .audience-hero-grid,.gaming-audience-grid{grid-template-columns:1fr}
  .gaming-kpi-ribbon,.audience-stat-grid,.network-pipeline,.gaming-journey-board{grid-template-columns:1fr 1fr}
  .network-chip-grid{grid-template-columns:repeat(3,max-content)}
}
@media (max-width:720px){
  .audience-card-grid,.gaming-benefit-grid,.timeline-strip,.audience-journey-grid,.network-pipeline,.gaming-journey-board,.gaming-kpi-ribbon,.audience-stat-grid{grid-template-columns:1fr}
  .network-chip-grid,.audience-chip-list{grid-template-columns:1fr 1fr}
  .gaming-stage-node{position:static;width:auto;transform:none!important;margin-top:14px}
  .gaming-audience-stage{display:block;min-height:auto}
  .gaming-stage-core{margin-bottom:14px}
}


/* =========================================================
   Final Production QA – mobile & visual consistency polish
   ========================================================= */
@media (max-width: 900px){
  .audience-hero-actions .btn,
  .gaming-audience-copy .btn{min-height:48px}
  .network-visual-core{order:2}
  .network-visual-column:first-child{order:1}
  .network-visual-column-right{order:3}
  .timeline-strip article{min-height:190px}
}
@media (max-width: 720px){
  .audience-hero-actions{display:grid;grid-template-columns:1fr;width:100%}
  .audience-hero-actions .btn{width:100%;text-align:center}
  .audience-hero-panel,
  .network-visual-shell,
  .audience-cta-box,
  .gaming-audience-stage{border-radius:20px}
  .network-chip-grid,.audience-chip-list{grid-template-columns:1fr}
  .network-chip-grid span,.audience-chip-list span{width:100%}
  .gaming-audience-hero{padding:64px 0 54px}
  .gaming-audience-copy h1{font-size:clamp(38px,11vw,54px);line-height:1.05}
  .gaming-audience-copy p{font-size:1rem;line-height:1.7}
  .gaming-stage-core{padding:22px 16px}
  .gaming-stage-core strong{font-size:1.8rem}
  .timeline-strip article{min-height:auto}
}
@media (max-width: 480px){
  .audience-hero-panel,
  .network-visual-shell,
  .audience-cta-box,
  .gaming-audience-stage,
  .audience-card-grid article,
  .gaming-benefit-grid article,
  .timeline-strip article,
  .gaming-journey-step{padding:18px}
  .audience-stat-grid div{padding:14px}
  .network-visual-core strong{font-size:1.7rem}
}


/* =========================================================
   Final responsive architecture pass — no-overlap rules
   ========================================================= */
/* Distribution network: remove decorative line that crossed content. */
.network-visual-shell::before{display:none!important;content:none!important}
.network-visual-shell{overflow:visible;isolation:isolate}
.network-visual-column,.network-visual-core{position:relative;z-index:1;min-width:0}
.network-visual-core{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px}
.network-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.network-chip-grid span{min-width:0;width:100%;white-space:normal;text-align:center}

/* Game-publisher architecture: all nodes participate in layout; no absolute overlap. */
.gaming-audience-stage{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-areas:
    "core core"
    "left right"
    "bottom bottom"!important;
  gap:16px!important;
  place-items:stretch!important;
  align-content:center!important;
  min-height:0!important;
  overflow:hidden!important;
}
.gaming-stage-core{grid-area:core;min-width:0;margin:0!important;padding:26px 22px!important;position:relative;z-index:1}
.gaming-stage-node{position:relative!important;inset:auto!important;transform:none!important;width:auto!important;min-width:0!important;margin:0!important;z-index:1}
.gaming-stage-node.node-left{grid-area:left}
.gaming-stage-node.node-right{grid-area:right}
.gaming-stage-node.node-bottom{grid-area:bottom;justify-self:center;width:min(100%,340px)!important}
.gaming-stage-node small,.gaming-stage-node span,.gaming-stage-core small{overflow-wrap:anywhere}
.gaming-audience-copy h1{font-size:clamp(48px,4.3vw,72px);line-height:1.02;letter-spacing:-.045em}
.gaming-audience-copy h1 em{font-weight:700}
.gaming-audience-grid{grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr)}

/* Information architecture: Solutions = capabilities, Who We Serve = role-based journeys. */
.dropdown-menu a{min-width:0}
.dropdown-menu strong,.dropdown-menu span{overflow-wrap:anywhere}

/* Responsive navigation: switch before the desktop bar becomes crowded. */
@media (max-width:1199px){
  .site-header{position:sticky}
  .nav-shell{min-height:68px}
  .logo-header{width:168px}
  .menu-toggle{display:block;margin-left:auto}
  .nav-actions{display:none}
  .nav-links{
    position:absolute;
    left:16px;right:16px;top:calc(100% + 8px);
    max-height:calc(100dvh - 92px);overflow:auto;
    display:none;align-items:stretch;flex-direction:column;gap:2px;
    padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-md)
  }
  .nav-links.active{display:flex}
  .nav-link{width:100%;justify-content:space-between;padding:12px 10px;border-radius:8px}
  .nav-link::after{display:none}
  .nav-link:hover{background:var(--surface-soft)}
  .dropdown-menu,.dropdown-menu-wide{
    position:static;width:100%;transform:none!important;display:none;margin:2px 0 8px;border:0;border-radius:8px;
    background:var(--surface-soft);box-shadow:none;opacity:1;visibility:visible;pointer-events:auto
  }
  .dropdown.is-open .dropdown-menu{display:grid}
  .dropdown:hover .dropdown-menu:not(.mobile-open){display:none}
  .dropdown.is-open:hover .dropdown-menu{display:grid}
  .mobile-only{display:flex}
}
@media (min-width:1200px){
  .menu-toggle{display:none!important}
  .nav-actions{display:flex}
  .nav-links{display:flex!important;position:static!important}
}

/* Tablet tuning */
@media (max-width:1100px){
  .network-visual-shell{grid-template-columns:1fr!important;gap:14px}
  .network-visual-core{order:2;min-height:190px}
  .network-visual-column:first-child{order:1}
  .network-visual-column-right{order:3}
  .gaming-audience-grid{grid-template-columns:1fr!important}
  .gaming-audience-stage{max-width:820px;width:100%;margin-inline:auto}
}
@media (max-width:760px){
  .gaming-audience-stage{grid-template-columns:1fr!important;grid-template-areas:"core" "left" "right" "bottom"!important}
  .gaming-stage-node.node-bottom{width:100%!important;justify-self:stretch}
  .gaming-audience-copy h1{font-size:clamp(38px,10.5vw,54px);line-height:1.04}
  .network-chip-grid{grid-template-columns:1fr 1fr!important}
  .network-visual-core{min-height:160px;padding:24px 18px}
  .network-visual-column{padding:20px}
}
@media (max-width:480px){
  .container{width:min(var(--max),calc(100% - 24px))}
  .network-chip-grid{grid-template-columns:1fr!important}
  .gaming-audience-stage{padding:16px!important;gap:12px!important}
  .gaming-stage-core,.gaming-stage-node{border-radius:16px!important}
  .gaming-stage-core strong{font-size:1.65rem!important}
  .gaming-kpi-ribbon div{padding:14px}
}

/* Universal defensive layout rules for narrow screens. */
img,svg,video,canvas{max-width:100%}
pre,code{max-width:100%}
pre{overflow:auto}
:where(.solution-card,.process-card,.case-card,.ecosystem-logo-card,.audience-card-grid article,.gaming-benefit-grid article,.timeline-strip article,.gaming-journey-step){min-width:0}
@media (max-width:720px){
  h1,h2,h3,p,a,span,strong,small{overflow-wrap:break-word}
  .btn{white-space:normal;text-align:center}
}
@media (max-width:360px){
  .container{width:min(var(--max),calc(100% - 20px))}
  .logo-header{width:132px}
  .menu-toggle{width:38px;height:38px;padding:8px}
  .home-hero-copy h1,.gaming-audience-copy h1{font-size:clamp(34px,10.2vw,42px)!important}
  .page-hero-grid h1{font-size:clamp(34px,10vw,42px)!important}
  .section-heading h2{font-size:clamp(28px,8.7vw,36px)}
  .audience-hero-panel,.network-visual-shell,.audience-cta-box,.gaming-audience-stage,
  .audience-card-grid article,.gaming-benefit-grid article,.timeline-strip article,.gaming-journey-step{padding:16px}
  .btn{padding-inline:13px}
}
