/* WIZ.AI marketing refresh
   Final visual layer loaded after styles.css. */

@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@500;600;700&display=swap");

:root {
  --ink: #13202a;
  --ink-2: #2a3a45;
  --muted: #667783;
  --soft: #f7fbfc;
  --soft-2: #eef7f8;
  --line: rgba(24, 43, 55, 0.1);
  --blue: #086d9e;
  --blue-deep: #07577d;
  --orange: #ef7730;
  --cyan: #4dcbd7;
  --shadow: 0 22px 58px rgba(18, 32, 43, 0.09);
  --sans: "Inter", Roboto, Helvetica, Arial, sans-serif;
  --display: "IBM Plex Sans", Inter, Roboto, Helvetica, Arial, sans-serif;
  --mono: "JetBrains Mono", "SFMono-Regular", "Cascadia Mono", "Liberation Mono", Menlo, monospace;
}

body {
  background: #ffffff;
  color: var(--ink);
  font-family: var(--sans);
  letter-spacing: -0.01em;
  overflow-x: clip;
}

html {
  overflow-x: clip;
}

.insight-page {
  background: #ffffff;
}

.mobile-cta {
  display: none;
}

.container {
  width: min(1200px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}

.section {
  padding: 80px 0;
  scroll-margin-top: 0;
}

.why,
.products,
.solutions,
.customers,
.samples,
.resources,
.demo {
  min-height: 0;
}

@keyframes header-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.site-header {
  width: 100%;
  max-width: 100%;
  margin-top: 0;
  height: 80px;
  padding: 0 max(24px, calc((100% - 1200px) / 2));
  background: rgba(255, 255, 255, 0);
  border: none;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  overflow: visible;
  transition: background 300ms ease, box-shadow 300ms ease;
  animation: header-fade-in 0.25s ease both;
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.98);
  border-bottom: none;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06);
}

.site-header .brand {
  isolation: isolate;
  flex-shrink: 0;
}

.site-header .brand img {
  filter: none;
  -webkit-filter: none;
  image-rendering: -webkit-optimize-contrast;
  transform: translateZ(0);
}

.site-nav a {
  color: #716f6c;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  border-radius: 999px;
  transition: color 160ms ease, background 160ms ease;
}

.site-nav a:hover {
  color: #146EA4;
  background: rgba(20, 110, 164, 0.08);
}

.nav-panel a,
.nav-panel a:hover {
  color: inherit;
  border-radius: 12px;
  transition: background 120ms ease;
}
.nav-panel a {
  background: rgba(255, 255, 255, 0.58);
}
.nav-panel a:hover {
  background: #F8F7F7;
}

.site-nav .nav-cta {
  position: absolute;
  right: max(24px, calc((100% - 1200px) / 2));
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  padding: 10px 22px;
  border-radius: 999px;
  background: transparent;
  border: 1.5px solid #ef7730;
  color: #ef7730;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: none;
  transition: background 200ms ease, box-shadow 200ms ease, transform 200ms ease, color 200ms ease;
  position: absolute;
  right: max(24px, calc((100% - 1200px) / 2));
}

.site-nav .nav-cta:hover {
  background: #ef7730;
  color: #ffffff;
  transform: translateY(calc(-50% - 1px));
  box-shadow: 0 8px 20px rgba(239, 119, 48, 0.25);
}

.nav-panel-company a[href$="resources.html"] {
  display: none;
}

.footer-grid > div:nth-child(3) {
  display: none;
}

.site-nav {
  position: absolute;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  overflow: visible;
  pointer-events: none;
}

.site-nav > * {
  pointer-events: auto;
}

.nav-menu {
  position: relative;
  display: flex;
  align-items: center;
}

.nav-parent {
  position: relative;
}

.nav-menu:hover .nav-parent,
.nav-menu:focus-within .nav-parent,
.nav-menu.is-open .nav-parent {
  color: #146EA4;
  background: rgba(20, 110, 164, 0.08);
  border-radius: 999px;
}

.nav-panel {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  z-index: 30;
  display: grid;
  grid-template-columns: repeat(2, minmax(172px, 1fr));
  gap: 8px 10px;
  width: min(500px, calc(100vw - 56px));
  padding: 24px;
  border: 1px solid rgba(8, 109, 158, 0.1);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 252, 0.96));
  box-shadow: 0 18px 46px rgba(18, 32, 43, 0.12);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity 160ms ease, transform 160ms ease;
  backdrop-filter: blur(16px);
}

.nav-panel::before {
  content: "";
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  height: 14px;
}

.nav-menu:hover .nav-panel,
.nav-menu:focus-within .nav-panel,
.nav-menu.is-open .nav-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.nav-panel a {
  position: relative;
  display: grid;
  gap: 8px;
  min-height: 78px;
  padding: 16px 18px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.58);
  transition: none;
}

.nav-panel a::before {
  display: none;
}

.nav-panel a:hover {
  background: #F8F7F7;
  border-color: transparent;
}

.nav-panel strong {
  color: #302e2d;
  font-family: var(--display);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}

.nav-panel span {
  max-width: 260px;
  color: #716f6c;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}

.nav-panel a:hover strong {
  color: #302e2d;
}

.nav-panel-company {
  right: 0;
  left: auto;
  width: min(480px, calc(100vw - 56px));
  padding: 24px;
  transform: translate(0, 8px);
}

.nav-menu:hover .nav-panel-company,
.nav-menu:focus-within .nav-panel-company,
.nav-menu.is-open .nav-panel-company {
  transform: translate(0, 0);
}

.nav-panel-product {
  width: min(640px, calc(100vw - 56px));
  padding: 24px;
  gap: 8px 10px;
}

.nav-back {
  display: none;
}

.hero {
  min-height: 0;
  height: auto;
  min-height: min(1020px, 100vh);
  padding: 82px 0 4px;
  background:
    linear-gradient(rgba(8, 109, 158, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 109, 158, 0.06) 1px, transparent 1px),
    radial-gradient(circle at 82% 46%, rgba(77, 203, 215, 0.2), transparent 32%),
    radial-gradient(circle at 14% 84%, rgba(239, 119, 48, 0.12), transparent 28%),
    linear-gradient(112deg, #ffffff 0%, #fbfdfe 48%, #eaf7f8 100%);
  background-size: 54px 54px, 54px 54px, auto, auto, auto;
}

.hero::after {
  right: -12vw;
  top: 14vh;
  width: min(56vw, 760px);
  height: min(56vw, 760px);
  border: 1px solid rgba(8, 109, 158, 0.18);
  background:
    radial-gradient(circle at 50% 50%, rgba(77, 203, 215, 0.22), rgba(77, 203, 215, 0.08) 44%, transparent 68%);
  animation: hero-orb-breathe 6.8s ease-in-out infinite;
  pointer-events: none;
}

@keyframes hero-orb-breathe {
  0%,
  100% {
    transform: scale(0.985);
    opacity: 0.72;
    box-shadow: inset 0 0 0 1px rgba(8, 109, 158, 0.02);
  }

  50% {
    transform: scale(1.025);
    opacity: 0.94;
    box-shadow: inset 0 0 42px rgba(77, 203, 215, 0.12);
  }
}

.hero-grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.72fr);
  gap: clamp(36px, 5vw, 72px);
  min-height: 0;
  height: auto;
}

.hero-grid-solo {
  grid-template-columns: minmax(0, 900px);
  align-content: start;
  justify-content: start;
  padding-top: 14vh;
}

.hero-stats {
  display: flex;
  gap: 48px;
  margin: 36px 0;
}

.hero-stat {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.hero-stat strong {
  color: #146EA4;
  font-family: var(--display);
  font-size: clamp(36px, 3.6vw, 48px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.02em;
}

.hero-stat span {
  color: #716f6c;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
}

.signal-label {
  display: none;
}
.hero-signal-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #146EA4;
  margin-bottom: 12px;
}
.section-kicker,
.stage-label {
  margin-bottom: 12px;
  font-size: 13px;
  letter-spacing: 0.12em;
  line-height: 1.45;
  color: var(--orange);
}

.hero h1 {
  max-width: 900px;
  font-family: var(--display);
  font-size: clamp(50px, 5.15vw, 78px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: 0;
}

.hero-lede {
  max-width: 860px;
  color: #8f8e8d;
  font-size: clamp(18px, 1.42vw, 21px);
  font-weight: 400;
  line-height: 1.58;
}

.button {
  min-height: 50px;
  padding-left: 24px;
  padding-right: 24px;
  border-radius: 999px;
  font-weight: 400;
}

.button svg {
  display: none;
}

.button-primary {
  background: linear-gradient(135deg, #ef7730, #f18b47);
  box-shadow: 0 12px 28px rgba(239, 119, 48, 0.25);
}

.button-primary:hover {
  background: linear-gradient(135deg, #e06820, #ef7730);
}

.button-secondary {
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 30px rgba(18, 32, 43, 0.06);
}

.hero-actions {
  margin-top: 12px;
}

.hero-note {
  margin-top: 20px;
  font-size: 13px;
}

.signal-console {
  min-height: 430px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 28px 70px rgba(18, 32, 43, 0.11);
}

.voice-orbit {
  width: 108px;
  height: 108px;
}

.client-wall {
  background: #ffffff;
  padding: 48px 0 40px;
  border-top: none;
  border-bottom: none;
}

.client-wall-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}

.client-wall-label {
  color: #94A3B8;
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.02em;
  text-align: center;
  margin: 0;
}

.logo-grid {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  grid-auto-rows: 78px;
}

.logo-grid div {
  height: 78px;
  background: rgba(255, 255, 255, 0.74);
}

.logo-marquee {
  position: relative;
  display: grid;
  grid-column: 1 / -1;
  gap: 10px;
  overflow: hidden;
  padding: 2px 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.logo-rail {
  overflow: hidden;
}

.logo-track {
  display: flex;
  width: max-content;
  gap: 10px;
  animation: logo-scroll 80s linear infinite;
}

.logo-rail-reverse .logo-track {
  animation-direction: reverse;
  animation-duration: 48s;
}

.logo-track span {
  display: grid;
  place-items: center;
  width: 180px;
  height: 40px;
  flex: 0 0 auto;
  padding: 0 14px;
  background: transparent;
  border: none;
  border-radius: 0;
}

.logo-track img {
  width: 100%;
  max-width: 152px;
  max-height: 36px;
  object-fit: contain;
  filter: none;
  opacity: 0.75;
  transition: opacity 300ms ease;
}

.logo-track span:hover img {
  filter: none;
  opacity: 1;
}

.logo-marquee:hover .logo-track {
  animation-play-state: paused;
}

@keyframes logo-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.split-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
  margin-bottom: 0;
}

.section-kicker {
  display: none;
}

.split-heading h2,
.wizlynn-copy h2,
.demo-copy h2 {
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
  color: #302e2d;
  text-align: center;
  margin-bottom: 24px;
}

.section-intro,
.wizlynn-copy p {
  font-size: clamp(14px, 1.2vw, 16px);
  font-weight: 400;
  line-height: 1.6;
  color: #8f8e8d;
  text-align: center;
  margin: 0 auto 56px;
}


.differentiator-grid,
.case-grid,
.sample-grid {
  gap: 14px;
}

.differentiator {
  min-height: 214px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 14px 42px rgba(18, 32, 43, 0.055);
}

.differentiator h3,
.product-copy h3,
.industry-panel h3,
.case-card h3,
.sample-card h3 {
  font-size: 23px;
}

.differentiator p {
  margin: 14px 0 0;
  font-size: 14px;
}

.differentiator ul {
  gap: 8px;
  margin-top: 16px;
}

.product-shell,
.industry-board,
.lead-form,
.record-lab {
  box-shadow: 0 18px 54px rgba(18, 32, 43, 0.075);
}

.product-stage {
  min-height: 274px;
  padding: 22px 24px;
}

.product-visual {
  min-height: 220px;
}

.metric-ladder div {
  padding: 14px 16px;
}

.metric-ladder strong {
  font-size: clamp(28px, 3.2vw, 42px);
}

.wizlynn-grid {
  gap: 44px;
}

.wizlynn-media img {
  aspect-ratio: 16 / 9;
}

.value-stack div {
  padding: 13px 15px;
}

.solutions {
  background: #ffffff;
  scroll-margin-top: 96px;
}

/* Industry section (#50 redesign) */
.industry-tabs-wrap {
  margin-bottom: 32px;
}

.industry-tabs {
  display: flex;
  gap: 6px;
  padding: 6px;
  background: #F1F5F9;
  border-radius: 999px;
  border-bottom: none;
  justify-content: center;
}

.industry-tab {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: #716f6c;
  font-size: 14px;
  font-weight: 500;
  font-family: var(--sans);
  cursor: pointer;
  transition: color 200ms ease, background 200ms ease, box-shadow 200ms ease;
  white-space: nowrap;
}

.industry-tab svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: #94A3B8;
  stroke: #94A3B8;
  opacity: 1;
  transition: color 200ms ease, stroke 200ms ease;
}

.industry-tab:hover {
  color: #146EA4;
  background: rgba(255, 255, 255, 0.7);
}

.industry-tab:hover svg {
  color: #146EA4;
  stroke: #146EA4;
}

.industry-tab.is-active {
  color: #ffffff;
  background: #146EA4;
  box-shadow: 0 2px 8px rgba(20, 110, 164, 0.25);
}

.industry-tab.is-active svg {
  opacity: 1;
  color: #ffffff;
  stroke: #ffffff;
}

.industry-card {
  display: grid;
  grid-template-columns: 0.45fr 0.55fr;
  gap: 0;
  overflow: hidden;
  border: none;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 20px 54px rgba(18, 32, 43, 0.08);
}

.industry-card-img {
  position: relative;
  overflow: hidden;
  min-height: 380px;
}

.industry-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 500ms ease;
}

.industry-card:hover .industry-card-img img {
  transform: scale(1.03);
}

.industry-card-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 44px;
}

.industry-card-content .stage-label {
  margin-bottom: 8px;
}

.industry-card-content h3 {
  margin: 0 0 14px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight: 600;
  line-height: 1.12;
}

.industry-card-content > p {
  margin: 0;
  color: #716f6c;
  font-size: 16px;
  line-height: 1.55;
}

.industry-detail-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  color: var(--blue);
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  transition: color 200ms ease;
}

.industry-detail-link:hover {
  color: var(--blue-deep);
  text-decoration: underline;
}

.industry-detail-link::after {
  content: "->";
  color: var(--orange);
}

.industry-card .industry-metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 24px 0 0;
  padding: 0;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  overflow: hidden;
  background: #F8FAFC;
}

.industry-card .industry-metrics div {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 12px;
  align-items: baseline;
  padding: 14px 18px;
  border-bottom: 1px solid #E2E8F0;
}

.industry-card .industry-metrics div:last-child {
  border-bottom: none;
}

.industry-card .industry-metrics dt {
  margin: 0;
  color: #146EA4;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.industry-card .industry-metrics dd {
  margin: 0;
  color: #475569;
  font-size: 14px;
  line-height: 1.45;
}

.case-card {
  min-height: 236px;
  padding: 20px 22px;
}

.case-card > span,
.sample-card span {
  margin-bottom: 22px;
}

.case-metrics strong {
  font-size: 28px;
}

.samples {
  padding: 80px 0;
  scroll-margin-top: 96px;
  background:
    linear-gradient(180deg, #f7fbfc 0%, #ffffff 44%, #f2f8f7 100%);
}

.demo-studio {
  padding: 18px;
  border: 1px solid rgba(24, 43, 55, 0.08);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(246, 251, 251, 0.78)),
    radial-gradient(circle at 12% 20%, rgba(239, 119, 48, 0.08), transparent 30%);
  box-shadow: var(--shadow);
}

.demo-studio-head,
.studio-video-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding: 4px 4px 18px;
}

.demo-studio-head h3,
.studio-video-head h3 {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.04;
}

.studio-expand {
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(8, 109, 158, 0.18);
  border-radius: 999px;
  background: #ffffff;
  color: var(--blue-deep);
  font: inherit;
  font-size: 13px;
  font-weight: 760;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(18, 32, 43, 0.06);
}

.audio-demo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.audio-demo-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  min-height: 146px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(24, 43, 55, 0.09);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 252, 252, 0.96));
  box-shadow: 0 12px 34px rgba(18, 32, 43, 0.06);
}

.audio-demo-card.is-featured {
  min-height: 194px;
  padding: 18px;
  background:
    linear-gradient(150deg, #ffffff 0%, #f4fbfb 62%, rgba(239, 119, 48, 0.1) 100%);
}

.audio-demo-card.is-extra {
  display: none;
}

.demo-studio.is-expanded .audio-demo-card.is-extra {
  display: grid;
}

.audio-play {
  position: relative;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border: 0;
  border-radius: 50%;
  background: var(--ink);
  cursor: pointer;
  box-shadow: 0 12px 22px rgba(18, 32, 43, 0.18);
}

.audio-play::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 14px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #ffffff;
}

.audio-play.is-playing {
  background: var(--orange);
}

.audio-play.is-playing::before {
  left: 15px;
  top: 14px;
  width: 4px;
  height: 16px;
  border: 0;
  background: #ffffff;
  box-shadow: 10px 0 0 #ffffff;
}

.audio-copy {
  min-width: 0;
}

.audio-copy > span {
  display: block;
  color: var(--blue);
  font-size: 11px;
  font-weight: 780;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.audio-copy h3 {
  margin: 7px 0 8px;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.1;
}

.audio-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.audio-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}

.audio-tags span {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(8, 109, 158, 0.08);
  color: var(--blue-deep);
  font-size: 11px;
  font-weight: 740;
}

.audio-wave {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  align-items: end;
  gap: 5px;
  height: 38px;
  margin-top: auto;
}

.audio-wave i {
  display: block;
  height: 40%;
  border-radius: 999px 999px 3px 3px;
  background: linear-gradient(180deg, rgba(77, 203, 215, 0.9), rgba(8, 109, 158, 0.38));
}

.audio-wave i:nth-child(2),
.audio-wave i:nth-child(7) {
  height: 76%;
}

.audio-wave i:nth-child(3),
.audio-wave i:nth-child(6) {
  height: 56%;
}

.audio-wave i:nth-child(4) {
  height: 92%;
  background: linear-gradient(180deg, rgba(239, 119, 48, 0.86), rgba(8, 109, 158, 0.28));
}

.audio-wave i:nth-child(5) {
  height: 64%;
}

.studio-video-block {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(24, 43, 55, 0.08);
}

.sample-card video {
  aspect-ratio: 16 / 8.2;
}

.record-lab {
  grid-template-columns: 300px 1fr;
  margin-top: 12px;
  padding: 14px;
}

.record-card {
  min-height: 98px;
}

.resources {
  background: #ffffff;
}

.resources .split-heading {
  margin-bottom: 64px;
}

.resources .split-heading h2 {
  max-width: 660px;
  font-size: clamp(36px, 4vw, 56px);
}

.insight-hub {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 12px 16px;
  align-items: start;
}

.about-us {
  scroll-margin-top: 96px;
  background: linear-gradient(180deg, #f7fbfc 0%, #ffffff 52%, #f3f8f8 100%);
}

.about-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.about-card {
  min-height: 248px;
  padding: 22px;
  border: 1px solid rgba(24, 43, 55, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 18px 48px rgba(18, 32, 43, 0.07);
}

.about-card-wide {
  grid-column: span 2;
}

.about-card > span {
  display: block;
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.about-card h3 {
  margin: 10px 0 12px;
  color: var(--ink);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.08;
}

.about-card p {
  margin: 0;
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.56;
}

.about-card a {
  display: inline-flex;
  margin-top: 18px;
  color: var(--blue);
  font-weight: 760;
  text-decoration: none;
}

.about-proof {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr;
  gap: 8px 10px;
  align-items: baseline;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(24, 43, 55, 0.1);
}

.about-proof strong {
  color: var(--orange);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
}

.about-proof span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 720;
}

.office-list {
  display: grid;
  gap: 10px;
}

.office-list p {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(24, 43, 55, 0.08);
}

.office-list p:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.office-list strong {
  color: var(--ink);
}

.insight-toolbar {
  grid-column: 1 / -1;
  grid-template-columns: 110px 1fr;
  padding: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.insight-toolbar strong {
  font-size: 22px;
}

.insight-toolbar input {
  min-height: 40px;
}

.insight-filters {
  display: grid;
  grid-row: 2 / span 2;
  gap: 6px;
  max-height: 360px;
  overflow: auto;
  padding-right: 4px;
}

.insight-filters button {
  width: 100%;
  min-height: 34px;
  padding-block: 7px;
  text-align: left;
  line-height: 1.16;
}

.insight-index-head {
  grid-column: 2;
  grid-row: 2;
}

.insight-grid {
  grid-column: 2;
  grid-row: 3;
  max-height: 316px;
}

.insight-card {
  min-height: 80px;
}

.insight-card a {
  grid-template-columns: minmax(0, 1fr) 214px;
  min-height: 80px;
  padding: 11px 15px;
}

.insight-card h3 {
  font-size: 18px;
  line-height: 1.18;
}

.insight-entry-main > span {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.36;
}

.insight-tags span {
  padding: 4px 6px;
  font-size: 10.5px;
}

.demo {
  position: relative;
  overflow: hidden;
  background: #0a1a2e;
  border: none;
}

.demo::before {
  content: "";
  position: absolute;
  inset: -20px;
  background: url("../assets/about-us.jpg") center / cover no-repeat;
  filter: blur(12px);
  z-index: 0;
}

.demo::after {
  content: "";
  position: absolute;
  inset: -40%;
  width: 180%;
  height: 180%;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(8, 109, 158, 0.35), transparent 50%),
    radial-gradient(ellipse at 80% 30%, rgba(77, 203, 215, 0.25), transparent 50%),
    radial-gradient(ellipse at 50% 80%, rgba(239, 119, 48, 0.18), transparent 50%);
  animation: demo-color-flow 12s ease-in-out infinite alternate;
  z-index: 0;
}

@keyframes demo-color-flow {
  0% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(5%, -3%) scale(1.05);
  }
  66% {
    transform: translate(-4%, 4%) scale(0.98);
  }
  100% {
    transform: translate(3%, -2%) scale(1.03);
  }
}

.demo > .container {
  position: relative;
  z-index: 1;
}

.demo-copy {
  margin-left: -8px;
}

.demo-copy h2 {
  text-align: left;
  color: #ffffff;
  font-size: clamp(32px, 3.4vw, 44px);
}

.demo-copy p {
  text-align: left;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.9);
}

.demo-grid {
  grid-template-columns: 0.86fr 1.14fr;
  gap: 60px;
  align-items: start;
}

.lead-form {
  grid-template-columns: 1fr;
  gap: 20px;
  padding: 28px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.lead-form label {
  display: grid;
  gap: 8px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
}

.lead-form input,
.lead-form select,
.lead-form textarea {
  min-height: 50px;
  padding: 0 16px;
  border: 1px solid rgba(24, 43, 55, 0.18);
  border-radius: 10px;
  background: #ffffff;
  font-size: 15px;
}

.lead-form select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23667783' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 7px;
}

.lead-form input:focus,
.lead-form select:focus,
.lead-form textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(8, 109, 158, 0.1);
}

.lead-form textarea {
  min-height: 110px;
  padding: 14px 16px;
}

.lead-form .button-primary {
  width: auto;
  min-height: 48px;
  padding: 0 28px;
  background: linear-gradient(135deg, #ef7730, #f18b47);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(239, 119, 48, 0.3);
  font-size: 15px;
  font-weight: 600;
}

.lead-form .button-primary:hover {
  background: linear-gradient(135deg, #e56a22, #ef7730);
}

.form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 640px) {
  .form-row-2 {
    grid-template-columns: 1fr;
  }
}

/* Security section — early rules cleared; see later block */

.site-footer {
  margin-top: 0;
  padding: 36px 0 0;
  background: #ffffff;
}

.footer-no-gap {
  margin-top: 0 !important;
  padding-top: 44px !important;
  border-top: none !important;
}

.site-footer,
.site-footer a,
.site-footer p,
.site-footer strong {
  font-size: 14px;
  font-weight: 400;
}

.footer-grid strong {
  font-weight: 600;
}

.footer-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 36px;
  padding: 20px 0;
  border-top: 1px solid rgba(24, 43, 55, 0.12);
  font-size: 13px;
  color: #94a3b8;
}

.footer-legal a {
  color: #94a3b8;
  text-decoration: none;
}

.footer-legal a:hover {
  color: var(--ink);
  text-decoration: underline;
}

.article-shell {
  width: min(1120px, calc(100% - 48px));
  padding-top: 172px;
  display: grid;
  grid-template-columns: 220px 1fr;
  column-gap: 40px;
}

.article-shell > .article-breadcrumb,
.article-shell > .article-back,
.article-shell > .article-masthead {
  grid-column: 1 / -1;
}

.article-back {
  display: none;
}

.article-masthead {
  margin-bottom: 60px;
  padding: 20px 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.article-masthead .section-kicker {
  display: none;
}

.article-masthead h1 {
  max-width: 860px;
  font-size: clamp(28px, 2.75vw, 36px);
  font-weight: 400;
  line-height: 1.06;
}

.article-masthead p:not(.section-kicker) {
  display: none;
}

.article-tags {
  margin-top: 14px;
}

.article-feature {
  display: block;
  width: 100%;
  margin: 0 0 24px 0;
  padding: 0;
  grid-column: 2;
  grid-row: 3;
}

@media (max-width: 980px) {
  .article-shell {
    grid-template-columns: 1fr;
  }
  .article-shell > .article-breadcrumb,
  .article-shell > .article-back,
  .article-shell > .article-masthead {
    grid-column: 1;
  }
  .article-feature {
    max-width: 100%;
    margin: 0 0 28px;
    grid-column: 1;
    grid-row: auto;
  }
  .article-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px;
  }
  .article-aside {
    grid-column: 1 !important;
    grid-row: auto !important;
    position: static !important;
    order: -1;
  }
  .article-feature {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  .article-content {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

.article-feature div {
  display: none;
}

.article-feature img {
  display: block;
  width: 100%;
  border-radius: 12px;
}

.article-feature figcaption {
  display: none;
}

.article-references .section-kicker,
.article-links .section-kicker {
  margin: 0;
  color: var(--blue);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.article-layout {
  display: contents;
}

.article-layout--full {
  display: block;
  grid-template-columns: minmax(0, 1fr);
}

.article-layout--full .article-content {
  grid-column: 1;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.article-layout--full .article-body {
  text-align: left;
}

.article-layout--full .article-body h2 {
  font-size: 32px;
  font-weight: 400;
}

.article-back-home {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  color: #667783;
  font-size: 14px;
  text-decoration: none;
  transition: color 200ms ease;
}

.article-back-home:hover {
  color: #146EA4;
  text-decoration: underline;
}

.article-shell:has(.article-layout--full) {
  width: min(1200px, calc(100% - 48px));
  grid-template-columns: 1fr;
  margin-left: auto;
  margin-right: auto;
}

.article-shell:has(.article-layout--full) .article-masthead {
  text-align: center;
}

.article-shell:has(.article-layout--full) .article-masthead h1 {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  font-size: 44px;
}

.article-aside {
  display: block;
  grid-column: 1;
  grid-row: 3 / span 2;
  position: sticky;
  top: 100px;
  align-self: start;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.article-content {
  grid-column: 2;
  grid-row: 4;
}

.article-side-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 0;
}

.article-side-tags span,
.article-tags span {
  padding: 5px 8px;
}

.article-content {
  display: grid;
  gap: 18px;
}

.article-hero {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.article-body {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.article-body p,
.article-body li {
  font-size: 15.5px;
  color: #625e5b;
}

.article-body h2 {
  font-size: clamp(25px, 2.25vw, 32px);
  font-weight: 500;
}

.article-body h3 {
  font-weight: 500;
}

.article-links,
.article-references {
  padding: 18px 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}

.article-links {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 16px;
  align-items: start;
}

.article-links h2,
.article-references h2 {
  margin: 0;
  font-family: var(--display);
  font-size: 18px;
  line-height: 1.15;
}

.article-link-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.article-link-grid a {
  display: inline;
  min-height: 0;
  padding: 0;
  color: var(--blue);
  background: transparent;
  border: 0;
  border-radius: 0;
}

.article-link-grid a:hover {
  text-decoration: underline;
  transform: none;
}

.article-link-grid span {
  display: none;
}

.article-link-grid strong {
  font-size: 14px;
  line-height: 1.35;
  font-weight: 760;
}

.article-references ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.article-references li {
  padding: 0;
  border: 0;
}

.article-references a {
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
  text-decoration: none;
}
.article-references a:hover {
  color: var(--blue);
  text-decoration: underline;
}

@media (max-width: 980px) {
  .container {
    width: calc(100% - 28px);
  }

  .site-header {
    width: 100%;
    padding: 12px 16px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    min-height: auto;
    gap: 28px;
  }

  .split-heading,
  .product-stage,
  .wizlynn-grid,
  .industry-card,
  .demo-grid,
  .client-wall-inner,
  .record-lab {
    grid-template-columns: 1fr;
  }

  .industry-tabs {
    flex-wrap: wrap;
    border-radius: 16px;
    padding: 8px;
  }

  .industry-tab {
    flex: 0 1 auto;
    padding: 0 14px;
    font-size: 13px;
  }

  .industry-card-img {
    min-height: 260px;
  }

  .industry-card-content {
    padding: 28px;
  }

  .client-proof-head h2 {
    white-space: normal;
  }

  .insight-hub {
    grid-template-columns: 1fr;
  }

  .article-feature,
  .article-links,
  .audio-demo-grid {
    grid-template-columns: 1fr;
  }

  .article-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .article-aside {
    position: static;
    order: -1;
  }

  .article-feature figcaption {
    grid-column: auto;
  }

  .article-link-grid {
    grid-template-columns: 1fr;
  }

  .about-grid,
  .about-card-wide {
    grid-template-columns: 1fr;
    grid-column: auto;
  }

  .security-strip-inner {
    grid-template-columns: 1fr;
    align-items: flex-start;
  }

  .security-proof-copy p:not(.section-kicker) {
    max-width: 720px;
  }

  .security-proof-panel {
    width: 100%;
    grid-template-columns: minmax(220px, 280px) 1fr;
  }

  .insight-index-head,
  .insight-grid {
    grid-column: auto;
  }

  .insight-filters {
    display: flex;
    overflow-x: auto;
  }

  .insight-filters button {
    width: auto;
  }
}

@media (max-width: 640px) {
  .section {
    padding: 64px 0;
  }

  .site-header {
    margin-top: 0;
    padding: 10px 14px;
  }

  .brand img {
    width: 118px;
  }

  .hero {
    padding: 104px 0 44px;
  }

  .hero h1 {
    font-size: clamp(36px, 10vw, 43px);
  }

  .client-proof-head h2 {
    font-size: clamp(40px, 14vw, 56px);
  }

  .proof-grid {
    grid-template-columns: 1fr 1fr;
  }

  .proof-item {
    min-height: 92px;
    padding: 14px;
  }

  .about-proof {
    grid-template-columns: auto 1fr;
  }

  .office-list p {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .security-strip-inner {
    padding: 20px;
  }

  .security-proof-panel {
    grid-template-columns: 1fr;
  }

  .security-hero-logo {
    min-height: 210px;
  }

  .security-hero-logo img {
    width: min(100%, 238px);
  }

  .security-cert-list article {
    grid-template-columns: 64px 1fr;
    padding: 12px;
  }

  .security-cert-list img {
    width: 56px;
    max-height: 54px;
  }

  .industry-tabs {
    gap: 6px;
    padding: 6px;
    border-radius: 12px;
  }

  .industry-tab {
    flex: 0 1 auto;
    min-height: 38px;
    padding: 0 12px;
    font-size: 12px;
  }

  .industry-tab svg {
    display: none;
  }

  .industry-card {
    grid-template-columns: 1fr;
    border-radius: 16px;
  }

  .industry-card-img {
    min-height: 200px;
  }

  .industry-card-content {
    padding: 22px;
  }

  .industry-card-content h3 {
    font-size: clamp(22px, 5.5vw, 28px);
  }

  .industry-card .industry-metrics div {
    grid-template-columns: 80px 1fr;
    gap: 8px;
    padding: 12px 14px;
  }

  .hero-lede {
    font-size: 18px;
  }

  .hero-stats {
    flex-wrap: wrap;
    gap: 28px;
  }

  .signal-console {
    min-height: auto;
    padding: 16px;
  }

  .signal-row {
    grid-template-columns: 1fr;
  }

  .sample-grid,
  .record-grid,
  .audio-demo-grid,
  .differentiator-grid,
  .case-grid {
    grid-template-columns: 1fr;
  }

  .demo-studio {
    padding: 14px;
    border-radius: 14px;
  }

  .demo-studio-head,
  .studio-video-head {
    align-items: start;
    flex-direction: column;
    gap: 12px;
  }

  .audio-demo-card,
  .audio-demo-card.is-featured {
    min-height: auto;
  }

  .insight-toolbar,
  .insight-card a {
    grid-template-columns: 1fr;
  }

  .insight-entry-meta {
    justify-items: start;
  }

  .insight-tags {
    text-align: left;
  }

  .article-shell {
    width: calc(100% - 28px);
  }

  .article-feature,
  .article-body,
  .article-links,
  .article-references {
    padding: 18px;
  }

  .article-references ul {
    grid-template-columns: 1fr;
  }
}

/* Sierra-style homepage rebuild */
.hero h1 {
  max-width: 980px;
}

.hero-note {
  display: none;
}

.client-proof-head h2 {
  white-space: normal;
  font-size: clamp(38px, 4.5vw, 66px);
}

.value-section {
  background: linear-gradient(0deg, #EBF0F7 0%, #F2F5FA 35%, #ffffff 58%, #ffffff 100%);
}

.value-grid,
.suite-grid,
.resource-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.value-card,
.suite-card,
.resource-preview-card {
  min-height: 250px;
  padding: 24px;
  border: 1px solid rgba(24, 43, 55, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 16px 44px rgba(18, 32, 43, 0.065);
}

.value-card span,
.suite-card span,
.resource-preview-card span {
  display: block;
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.value-card h3,
.suite-card h3,
.resource-preview-card h3 {
  margin: 16px 0 12px;
  color: var(--ink);
  font-size: clamp(21px, 1.9vw, 28px);
  line-height: 1.08;
}

.value-card p,
.suite-card p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.52;
}

.wizlynn-feature {
  background:
    radial-gradient(circle at 86% 8%, rgba(77, 203, 215, 0.18), transparent 30%),
    linear-gradient(180deg, #f7fbfc 0%, #ffffff 100%);
}

.wizlynn-values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.wizlynn-value-card {
  min-height: 180px;
  padding: 28px;
  border: 1px solid rgba(24, 43, 55, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 44px rgba(18, 32, 43, 0.065);
}

.wizlynn-value-card h3 {
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(22px, 2.1vw, 30px);
  font-weight: 600;
  line-height: 1.08;
}

.wizlynn-value-card p {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.52;
}

@media (max-width: 980px) {
  .wizlynn-values-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .wizlynn-values-grid {
    grid-template-columns: 1fr;
  }

  .wizlynn-value-card {
    min-height: auto;
  }
}

.text-link {
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  color: var(--blue);
  font-weight: 820;
  text-decoration: none;
}

.text-link::after {
  content: "->";
  margin-left: 8px;
  color: var(--orange);
}

.text-link:hover {
  text-decoration: underline;
}

.product-video-frame {
  grid-column: 1 / -1;
  overflow: hidden;
  border: 1px solid rgba(24, 43, 55, 0.1);
  border-radius: 18px;
  background: #0f1d26;
  box-shadow: 0 24px 68px rgba(18, 32, 43, 0.1);
}

.product-video-frame video,
.product-video-card video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 8.8;
  object-fit: cover;
  background: #0f1d26;
}

.product-suite {
  background: #ffffff;
  padding: 96px 0 !important;
}

/* product-suite-sticky removed — no longer using sticky layout */

/* ===== Product suite heading ===== */
.product-suite .split-heading h2 {
  font-weight: 400;
  color: #000000;
}

/* ===== Suite Showcase: nav + panel ===== */
.suite-showcase {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow: visible;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  height: auto;
}

/* Nav below panels — horizontal row */
.suite-nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 4px;
  padding: 24px 0 0;
}

.suite-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  height: 60px;
  padding: 0 18px;
  border: none;
  border-radius: 12px;
  background: transparent;
  cursor: pointer;
  font-family: var(--sans);
  text-align: left;
  transition: background 200ms ease;
}

.suite-nav-item:hover {
  background: #f1f5f9;
}

.suite-nav-item.is-active {
  background: #f1f5f9;
  box-shadow: none;
}

.suite-nav-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: #94A3B8;
  stroke: #94A3B8;
  transition: color 250ms ease, stroke 250ms ease;
}

.suite-nav-item.is-active .suite-nav-icon {
  color: #475569;
  stroke: #475569;
}

.suite-nav-item span {
  color: #94A3B8;
  font-family: var(--display);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  transition: color 200ms ease;
}

.suite-nav-item.is-active span {
  color: var(--ink);
  font-weight: 600;
}

/* Right panel — light blue card */
.suite-display {
  position: relative;
  min-height: 460px;
  background: #F3F9FE;
  border: none;
  border-radius: 22px;
  overflow: hidden;
  padding: 0;
}

/* Panels stacked */
.suite-panel {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 32px;
  padding: 40px 44px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 350ms ease;
}
.suite-panel.is-visible {
  position: relative;
  opacity: 1;
  pointer-events: auto;
}

/* Panel left column: text + CTA */
.suite-panel-label {
  display: block;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 6px;
}

.suite-panel-title {
  margin: 0 0 12px;
  color: #1e293b;
  font-family: var(--display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.suite-panel-desc {
  margin: 0 0 16px;
  color: #8f8e8d;
  font-size: 15px;
  line-height: 1.65;
  max-width: 38ch;
}

.suite-panel-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: 999px;
  background: #146EA4;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.suite-panel-cta:hover {
  background: #0f5a87;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(20, 110, 164, 0.3);
}

.suite-panel-cta::after {
  display: none;
}

.suite-panel-cta svg {
  flex-shrink: 0;
}

/* Stats row — plain text, no card background */
.suite-panel-stats {
  display: flex;
  gap: 12px;
  margin-top: 44px;
}

.suite-panel-stats > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: #fff;
  border: 1px solid #D4E3EF;
  border-radius: 12px;
  padding: 16px 20px;
  box-shadow: none;
}

.suite-panel-stats strong {
  color: #64748b;
  font-family: 'Inter', var(--sans);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  white-space: nowrap;
}

.suite-panel-stats span {
  color: #9ca3af;
  font-size: 14px;
  font-weight: 400;
  white-space: nowrap;
}

/* Panel right column: illustration */
.suite-panel-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}

.suite-illus {
  position: relative;
  width: 280px;
}

/* ── Floating badge (shared) ── */
.illus-float-badge {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border-radius: 10px;
  padding: 8px 14px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  font-size: 12px;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}
.illus-float-badge-top { top: -8px; right: -12px; }
.illus-float-badge-bottom { bottom: -8px; right: -12px; }

/* ========== Wizlynn: Chat card ========== */
.illus-chat-card {
  background: #fff;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 2px 16px rgba(85, 131, 205, 0.10);
}
.illus-chat-header {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 16px; font-size: 13px; font-weight: 600; color: #1e293b;
}
.illus-chat-dot { width: 8px; height: 8px; border-radius: 50%; }
.illus-chat-dot.green { background: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18); }
.illus-chat-title { flex: 1; }
.illus-chat-badge {
  font-size: 10px; font-weight: 600; color: #146EA4;
  background: rgba(20, 110, 164, 0.08); border-radius: 6px; padding: 3px 8px;
}
.illus-chat-msg {
  display: flex; align-items: flex-start; gap: 8px; margin-bottom: 14px;
}
.illus-avatar {
  flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; color: #fff;
}
.illus-avatar-user { background: #ef7730; }
.illus-avatar-ai { background: #146EA4; }
.illus-msg-body { display: flex; flex-direction: column; gap: 2px; }
.illus-msg-body strong { font-size: 11px; font-weight: 600; color: #334155; }
.illus-msg-body span { font-size: 11px; color: #64748b; line-height: 1.4; }
.illus-msg-time { font-size: 10px; color: #cbd5e1; margin-left: auto; flex-shrink: 0; }
.illus-chat-tags { display: flex; gap: 6px; margin-top: 8px; }
.illus-tag { font-size: 10px; font-weight: 600; border-radius: 6px; padding: 3px 8px; }
.illus-tag-blue { color: #146EA4; background: rgba(20, 110, 164, 0.08); }
.illus-tag-green { color: #16a34a; background: rgba(22, 163, 74, 0.08); }

/* ========== Talkbot: Campaign card ========== */
.illus-campaign-card {
  background: #fff; border-radius: 16px; padding: 20px;
  box-shadow: 0 2px 16px rgba(85, 131, 205, 0.10);
}
.illus-campaign-header { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.illus-campaign-icon {
  width: 28px; height: 28px; border-radius: 8px; background: #146EA4;
  display: flex; align-items: center; justify-content: center;
}
.illus-campaign-title { font-size: 13px; font-weight: 600; color: #1e293b; }
.illus-campaign-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 7px 0; font-size: 12px;
}
.illus-campaign-label { color: #94a3b8; }
.illus-campaign-val { color: #334155; font-weight: 500; }
.illus-val-green { color: #16a34a; font-weight: 700; }
.illus-campaign-bar {
  height: 6px; background: #e2eef9; border-radius: 3px; margin: 8px 0; overflow: hidden;
}
.illus-campaign-fill {
  height: 100%; border-radius: 3px; background: linear-gradient(90deg, #146EA4, #4d8fd4);
}

/* ========== QM: Score card ========== */
.illus-score-card {
  background: #fff; border-radius: 16px; padding: 20px;
  box-shadow: 0 2px 16px rgba(85, 131, 205, 0.10);
}
.illus-score-header {
  display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 16px;
}
.illus-score-title { font-size: 13px; font-weight: 600; color: #1e293b; }
.illus-score-number { font-family: var(--mono); font-size: 28px; font-weight: 700; color: #146EA4; }
.illus-score-number small { font-size: 14px; color: #94a3b8; font-weight: 400; }
.illus-score-items { display: flex; flex-direction: column; gap: 14px; }
.illus-score-item { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #475569; }
.illus-score-item svg { flex-shrink: 0; }

/* ========== Language: Detection card ========== */
.illus-lang-card {
  background: #fff; border-radius: 16px; padding: 20px;
  box-shadow: 0 2px 16px rgba(85, 131, 205, 0.10);
}
.illus-lang-header {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; color: #1e293b; margin-bottom: 16px;
}
.illus-lang-wave {
  display: flex; align-items: center; justify-content: center;
  gap: 4px; height: 40px; margin-bottom: 16px;
}
.illus-lang-wave span {
  display: block; width: 3px; border-radius: 2px; background: #4dcbd7;
  animation: illus-wave-anim 1.2s ease-in-out infinite;
}
.illus-lang-wave span:nth-child(1) { height: 40%; animation-delay: 0s; }
.illus-lang-wave span:nth-child(2) { height: 65%; animation-delay: 0.1s; }
.illus-lang-wave span:nth-child(3) { height: 85%; animation-delay: 0.15s; }
.illus-lang-wave span:nth-child(4) { height: 50%; animation-delay: 0.2s; }
.illus-lang-wave span:nth-child(5) { height: 95%; animation-delay: 0.25s; }
.illus-lang-wave span:nth-child(6) { height: 70%; animation-delay: 0.3s; }
.illus-lang-wave span:nth-child(7) { height: 45%; animation-delay: 0.35s; }
.illus-lang-wave span:nth-child(8) { height: 80%; animation-delay: 0.4s; }
.illus-lang-wave span:nth-child(9) { height: 55%; animation-delay: 0.45s; }
.illus-lang-wave span:nth-child(10) { height: 90%; animation-delay: 0.5s; }
.illus-lang-wave span:nth-child(11) { height: 60%; animation-delay: 0.55s; }
.illus-lang-wave span:nth-child(12) { height: 75%; animation-delay: 0.6s; }
@keyframes illus-wave-anim {
  0%, 100% { transform: scaleY(0.4); opacity: 0.5; }
  50% { transform: scaleY(1); opacity: 1; }
}
.illus-lang-detected { display: flex; gap: 8px; margin-bottom: 14px; }
.illus-lang-chip {
  font-size: 11px; font-weight: 600; border-radius: 6px; padding: 5px 12px;
  background: #f1f5f9; color: #64748b;
}
.illus-lang-chip.active { background: rgba(20, 110, 164, 0.1); color: #146EA4; }
.illus-lang-switch {
  display: flex; align-items: center; gap: 6px; font-size: 12px; color: #146EA4; font-weight: 500;
}

/* Legacy — keep for product pages */
.suite-product-name {
  display: block;
  margin: 0 0 18px;
  color: #146EA4;
  font-family: var(--display);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
}

.dash-usecase-label,
.dash-data-title {
  margin: 0;
  color: #64748b;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dash-usecase h3 {
  margin: 10px 0 10px;
  color: #334155;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
}

.dash-usecase p {
  margin: 0;
  max-width: 58ch;
  color: #64748b;
  font-size: 14px;
  line-height: 1.5;
}

.dash-usecase ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.dash-usecase li {
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef6ff;
  color: #476b94;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

/* Top bar */
.dash-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid #E2EEF9;
}

.dash-status {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #64748b;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.dash-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #86efac;
  box-shadow: none;
  animation: dash-pulse 2s ease-in-out infinite;
}

.dash-dot-cyan {
  background: #a5d8e6;
  box-shadow: none;
}

.dash-time {
  color: #94a3b8;
  font-size: 11px;
  font-family: var(--mono);
}

@keyframes dash-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* Caller / contact card */
.dash-caller {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  margin-bottom: 12px;
  border-bottom: 1px solid #E2EEF9;
}

.dash-avatar {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #e2e8f0;
  color: #64748b;
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.dash-avatar-purple {
  background: #ede9fe;
  color: #8b5cf6;
}

.dash-avatar-teal {
  background: #e0f2f1;
  color: #5eaaa8;
}

.dash-caller-info {
  flex: 1;
  min-width: 0;
}

.dash-caller-info strong {
  display: block;
  color: #475569;
  font-family: var(--display);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}

.dash-caller-info span {
  display: block;
  margin-top: 2px;
  color: #94a3b8;
  font-size: 12px;
}

.dash-badge {
  padding: 4px 10px;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  flex-shrink: 0;
}

.dash-badge-green {
  background: #f0f7f4;
  color: #5ba882;
}

.dash-badge-amber {
  background: #f0f4f8;
  color: #8a9bae;
}

.dash-badge-cyan {
  background: #f0f9ff;
  color: #93c5fd;
}

/* Waveform */
.dash-waveform {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0 12px;
  border-bottom: 1px solid #E2EEF9;
  margin-bottom: 12px;
}

.dash-wave-bars {
  display: flex;
  align-items: end;
  gap: 3px;
  height: 24px;
  flex: 1;
}

.dash-wave-bars i {
  display: block;
  width: 3px;
  border-radius: 2px;
  background: #cbd5e1;
  animation: dash-wave 1.2s ease-in-out infinite;
}

.dash-wave-bars i:nth-child(1) { height: 40%; animation-delay: 0s; }
.dash-wave-bars i:nth-child(2) { height: 70%; animation-delay: 0.1s; }
.dash-wave-bars i:nth-child(3) { height: 50%; animation-delay: 0.2s; }
.dash-wave-bars i:nth-child(4) { height: 90%; animation-delay: 0.3s; }
.dash-wave-bars i:nth-child(5) { height: 60%; animation-delay: 0.4s; }
.dash-wave-bars i:nth-child(6) { height: 80%; animation-delay: 0.15s; }
.dash-wave-bars i:nth-child(7) { height: 45%; animation-delay: 0.25s; }
.dash-wave-bars i:nth-child(8) { height: 75%; animation-delay: 0.35s; }
.dash-wave-bars i:nth-child(9) { height: 55%; animation-delay: 0.05s; }
.dash-wave-bars i:nth-child(10) { height: 85%; animation-delay: 0.2s; }
.dash-wave-bars i:nth-child(11) { height: 40%; animation-delay: 0.3s; }
.dash-wave-bars i:nth-child(12) { height: 65%; animation-delay: 0.1s; }

@keyframes dash-wave {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(0.4); }
}

.dash-waveform > span {
  color: #94a3b8;
  font-family: var(--mono);
  font-size: 12px;
  flex-shrink: 0;
}

/* Transcript */
.dash-transcript {
  display: grid;
  gap: 8px;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #E2EEF9;
}

.dash-msg {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.45;
}

.dash-msg-ai {
  background: rgba(85, 131, 205, 0.08);
  color: #334155;
}

.dash-msg-cust {
  background: #f1f5f9;
  color: #475569;
}

.dash-msg-system {
  background: rgba(245, 158, 11, 0.06);
  color: #475569;
}

.dash-label {
  flex-shrink: 0;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #94a3b8;
  min-width: 56px;
}

.dash-msg-cust .dash-label {
  color: #94a3b8;
}

.dash-msg-system .dash-label {
  color: #d97706;
}

/* Metrics row */
.dash-metrics-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 8px;
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

.dash-metrics-row > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 16px 10px;
  border: 1px solid #E2EEF9;
  border-radius: 8px;
  background: #fafbfc;
  text-align: center;
}

.dash-metrics-row strong {
  color: #475569;
  font-family: var(--mono);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
}

.dash-metrics-row span {
  color: #94a3b8;
  font-size: 12px;
  font-weight: 600;
}

.dash-metrics-row .metric-tooltip {
  position: relative;
  cursor: help;
  border-bottom: 1px dotted rgba(71, 85, 105, 0.45);
  outline: none;
}

.dash-metrics-row .metric-tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  z-index: 20;
  width: min(260px, 72vw);
  padding: 9px 11px;
  border-radius: 8px;
  background: #12202b;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  box-shadow: 0 12px 28px rgba(18, 32, 43, 0.16);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.dash-metrics-row .metric-tooltip::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 4px);
  z-index: 21;
  border: 6px solid transparent;
  border-top-color: #12202b;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%);
  transition: opacity 160ms ease;
}

.dash-metrics-row .metric-tooltip:hover::after,
.dash-metrics-row .metric-tooltip:focus::after,
.dash-metrics-row .metric-tooltip:hover::before,
.dash-metrics-row .metric-tooltip:focus::before {
  opacity: 1;
  transform: translate(-50%, 0);
}

.dash-metrics-row .metric-tooltip:hover::before,
.dash-metrics-row .metric-tooltip:focus::before {
  transform: translateX(-50%);
}

/* Pipeline */
.dash-pipeline {
  display: flex;
  gap: 6px;
}

.dash-step {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  border-radius: 6px;
  background: #f1f5f9;
  color: #94a3b8;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 1;
  transition: background 300ms ease, color 300ms ease;
}

.dash-step.is-done {
  background: #f0f4f8;
  color: #64748b;
}

.dash-step.is-active {
  background: #5583CD;
  color: #ffffff;
  box-shadow: none;
}

/* QM-specific: Score grid */
.dash-score-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #E2EEF9;
}

.dash-score-item {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid #E2EEF9;
  border-radius: 8px;
  background: #f8fafc;
  text-align: center;
}

.dash-score-item span {
  color: #94a3b8;
  font-size: 10px;
}

.dash-pass {
  color: #16a34a;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.dash-flag {
  color: #d97706;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* Language Engine: supported languages grid */
.dash-lang-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 0;
  margin: 4px 0 14px;
}

.dash-lang-chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: 20px;
  background: rgba(85, 131, 205, 0.09);
  border: none;
  color: #4a6fa5;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.01em;
  white-space: nowrap;
  line-height: 1.4;
}

.dash-lang-chip:nth-child(4n+2) {
  background: rgba(77, 203, 215, 0.1);
  color: #1a8f9b;
}

.dash-lang-chip:nth-child(4n+3) {
  background: rgba(8, 109, 158, 0.09);
  color: #086d9e;
}

.dash-lang-chip:nth-child(4n) {
  background: rgba(20, 110, 164, 0.09);
  color: #146EA4;
}

/* Language Engine-specific: Language detection bars (legacy) */
.dash-lang-detect {
  display: grid;
  gap: 8px;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #E2EEF9;
}

.dash-lang-bar {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  align-items: center;
  gap: 10px;
}

.dash-lang-bar > span {
  color: #716f6c;
  font-size: 11px;
  font-weight: 500;
}

.dash-bar-fill {
  height: 6px;
  border-radius: 3px;
  background: linear-gradient(90deg, #5583CD, #6a96d8);
}

.dash-bar-cyan {
  background: linear-gradient(90deg, var(--cyan), #69d9e2);
}

.dash-bar-orange {
  background: linear-gradient(90deg, var(--orange), #f5a066);
}

.dash-lang-bar strong {
  color: #475569;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
}

/* Suite showcase — large screens (sticky removed, keep display sizing) */

/* Suite showcase responsive */
@media (max-width: 980px) {
  .product-suite {
    padding: 60px 0 !important;
  }

  .suite-nav {
    flex-wrap: wrap;
    gap: 6px;
    padding: 16px 0 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .suite-nav-item {
    flex-shrink: 0;
    padding: 10px 16px;
    border-radius: 10px;
  }

  .suite-panel {
    grid-template-columns: 1fr;
    padding: 32px 28px;
    gap: 24px;
  }

  .suite-display {
    border-radius: 18px;
  }
}

@media (max-width: 640px) {
  .suite-display {
    border-radius: 14px;
  }

  .suite-panel {
    padding: 28px 20px;
  }

  .suite-panel-title {
    font-size: 22px;
  }

  .suite-panel-stats {
    gap: 16px;
  }

  .suite-panel-visual {
    display: none;
  }
}

.suite-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.suite-card-feature {
  background:
    linear-gradient(145deg, rgba(8, 109, 158, 0.08), rgba(255, 255, 255, 0.92)),
    #ffffff;
}

a.suite-card,
a.audio-demo-card {
  color: inherit;
  text-decoration: none;
}

a.suite-card:hover,
a.audio-demo-card:hover,
.product-page-stack a:hover {
  transform: translateY(-2px);
}

a.suite-card,
a.audio-demo-card,
.product-page-stack a {
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}


.resources-preview .split-heading {
  margin-bottom: 64px;
}

.resource-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.resource-preview-card {
  min-height: 210px;
}

.resource-preview-card a {
  display: inline-flex;
  margin-top: 18px;
  color: var(--blue);
  font-weight: 780;
  text-decoration: none;
}

.resource-preview-card a:hover {
  text-decoration: underline;
}

.product-page-stack {
  display: grid;
  gap: 12px;
}

.product-page-stack a {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 18px;
  align-items: center;
  min-height: 88px;
  padding: 16px 18px;
  border: 1px solid rgba(24, 43, 55, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 12px 32px rgba(18, 32, 43, 0.055);
}

.product-page-stack a strong {
  color: var(--ink);
  font-family: var(--display);
  font-size: 18px;
  line-height: 1.1;
}

.product-page-stack a span {
  grid-column: 1;
  max-width: 360px;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.42;
}

.product-page-stack a::after {
  content: "->";
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--orange);
  font-weight: 820;
}

.product-journey {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(24, 43, 55, 0.14);
}

.product-journey a {
  display: grid;
  grid-template-columns: 48px minmax(0, 0.82fr) minmax(0, 1.18fr) 24px;
  gap: 18px;
  align-items: baseline;
  padding: 22px 0;
  border-bottom: 1px solid rgba(24, 43, 55, 0.14);
  color: var(--ink);
  text-decoration: none;
  transition: color 180ms ease, transform 180ms ease;
}

.product-journey a::after {
  content: "->";
  color: var(--orange);
  font-weight: 820;
}

.product-journey a:hover {
  color: var(--blue);
  transform: translateX(4px);
}

.product-journey span {
  color: var(--orange);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0.08em;
}

.product-journey strong {
  font-family: var(--display);
  font-size: clamp(22px, 2.35vw, 32px);
  font-weight: 760;
  line-height: 1.05;
}

.product-journey em {
  color: var(--muted);
  font-size: 15px;
  font-style: normal;
  line-height: 1.45;
}

.product-page-hero {
  padding-top: 86px;
  padding-bottom: 64px;
}

.product-page-hero .trust-hero-grid {
  grid-template-columns: minmax(0, 0.86fr);
  gap: 0;
  align-items: start;
}

.product-demo-showcase {
  padding-top: 118px;
  padding-bottom: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(77, 203, 215, 0.18), transparent 30%),
    radial-gradient(circle at 82% 0%, rgba(8, 109, 158, 0.1), transparent 34%),
    linear-gradient(180deg, #f7fbfc 0%, #ffffff 100%);
}

.product-demo-showcase-inner {
  display: grid;
  justify-items: center;
  gap: 0;
  text-align: center;
  width: min(100%, 100%);
}

.product-demo-showcase-copy {
  display: grid;
  justify-items: center;
  gap: 14px;
  max-width: 760px;
}

.product-demo-showcase-copy h2 {
  max-width: 760px;
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
}

.product-demo-showcase-copy p:not(.section-kicker) {
  max-width: 620px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.58;
}

.product-demo-showcase-frame {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.product-demo-status {
  position: absolute;
  top: 30px;
  right: 28px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  pointer-events: none;
}

.product-demo-status span {
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(10, 22, 30, 0.68);
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.product-demo-showcase-frame::before {
  display: none;
}

.product-demo-showcase-frame video {
  display: block;
  width: 100%;
  max-height: none;
  border-radius: 0;
  background: #0f1d26;
  object-fit: contain;
}

.product-detail-feature {
  background: #ffffff;
}

.product-directory {
  position: relative;
  overflow: hidden;
  padding-top: 86px;
  background:
    linear-gradient(rgba(8, 109, 158, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 109, 158, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%);
  background-size: 44px 44px, 44px 44px, auto;
}

.product-directory .split-heading {
  margin-bottom: 38px;
}

.product-directory-nav {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  overflow: visible;
  margin-bottom: 86px;
  padding: 12px;
  border: 1px solid rgba(8, 109, 158, 0.14);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(238, 247, 248, 0.82));
  box-shadow: 0 24px 70px rgba(18, 32, 43, 0.08);
}

.product-directory-nav a {
  position: relative;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  align-content: stretch;
  gap: 12px;
  min-height: 188px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(24, 43, 55, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--ink);
  font-family: var(--display);
  line-height: 1.08;
  text-decoration: none;
  box-shadow: 0 12px 36px rgba(18, 32, 43, 0.04);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.product-directory-nav a::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--orange), var(--cyan));
  opacity: 0;
  transition: opacity 180ms ease;
}

.product-directory-nav a::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(8, 109, 158, 0.2);
  border-radius: 50%;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(77, 203, 215, 0.14));
  transition: transform 180ms ease, border-color 180ms ease;
}

.product-directory-nav a:hover {
  transform: translateY(-5px);
  border-color: rgba(8, 109, 158, 0.24);
  background: #ffffff;
  box-shadow: 0 24px 52px rgba(18, 32, 43, 0.1);
}

.product-directory-nav a:hover::before {
  opacity: 1;
}

.product-directory-nav a:hover::after {
  border-color: rgba(239, 119, 48, 0.34);
  transform: translate(4px, -4px);
}

.product-directory-nav span {
  display: inline-grid;
  width: fit-content;
  min-width: 42px;
  place-items: center;
  padding: 7px 10px;
  border: 1px solid rgba(239, 119, 48, 0.18);
  border-radius: 999px;
  background: rgba(239, 119, 48, 0.08);
  color: var(--orange);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0.08em;
}

.product-directory-nav strong {
  color: var(--ink);
  font-size: 27px;
  line-height: 1;
}

.product-directory-nav em {
  max-width: 240px;
  color: var(--muted);
  font-size: 14px;
  font-style: normal;
  line-height: 1.45;
}

.product-directory-nav b {
  align-self: end;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(8, 109, 158, 0.08);
  color: var(--blue-deep);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.product-story-sections {
  display: grid;
  gap: 28px;
}

.product-story-panel {
  position: relative;
  scroll-margin-top: 96px;
  min-height: auto;
  display: grid;
  align-items: center;
  padding: 0;
  border-top: 0;
  background: transparent;
}

.product-story-panel:nth-child(even) {
  background: transparent;
}

.product-story-panel:last-child {
  border-bottom: 0;
}

.product-story-panel-grid {
  display: grid;
  grid-template-columns: minmax(300px, 390px) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
  min-height: 500px;
  padding: 34px;
  border: 1px solid rgba(8, 109, 158, 0.13);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 251, 252, 0.9));
  box-shadow: 0 30px 86px rgba(18, 32, 43, 0.08);
}

.product-story-panel:nth-child(even) .product-story-panel-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
  background:
    linear-gradient(135deg, rgba(247, 251, 252, 0.96), rgba(255, 255, 255, 0.94));
}

.product-story-panel:nth-child(even) .product-story-copy {
  order: 2;
}

.product-story-panel:nth-child(even) .product-story-visual {
  order: 1;
}

.product-story-copy {
  display: grid;
  align-content: center;
  justify-items: start;
  max-width: 576px;
  padding-left: 0;
  border-left: none;
}

.product-story-index {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 9px;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(102, 119, 131, 0.98);
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.product-story-panel h3 {
  max-width: 380px;
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: 36px;
  line-height: 1.05;
  letter-spacing: 0;
}

.product-story-copy strong {
  display: block;
  max-width: 360px;
  margin-top: 18px;
  color: var(--ink);
  font-family: var(--display);
  font-size: 19px;
  line-height: 1.12;
  letter-spacing: 0;
}

.product-story-panel p:not(.product-story-index) {
  max-width: 360px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.product-story-proof {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  gap: 8px;
  margin-top: 18px;
}

.product-story-proof span {
  padding: 7px 10px;
  border: 1px solid rgba(8, 109, 158, 0.1);
  border-radius: 10px;
  background: rgba(8, 109, 158, 0.045);
  color: var(--ink-2);
  font-size: 11px;
  font-weight: 650;
  line-height: 1;
}

.product-story-copy a {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  padding: 10px 14px;
  border: 1px solid rgba(8, 109, 158, 0.18);
  border-radius: 999px;
  background: #ffffff;
  color: var(--blue-deep);
  font-size: 14px;
  font-weight: 740;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(18, 32, 43, 0.06);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.product-story-copy a::after {
  display: none;
}

.product-story-copy a:hover {
  text-decoration: none;
}

.product-story-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 430px;
  margin: 0;
  padding: 28px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.product-story-visual::before {
  display: none;
}

.product-story-visual img,
.product-story-visual video {
  position: relative;
  display: block;
  width: 100%;
  max-height: 410px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #f8fafb;
  object-fit: contain;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.product-story-visual video {
  aspect-ratio: 16 / 10;
}


.product-directory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.product-directory-card {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  min-height: 620px;
  border: 1px solid rgba(24, 43, 55, 0.1);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 24px 68px rgba(18, 32, 43, 0.075);
}

.product-directory-media {
  display: grid;
  align-items: stretch;
  min-height: 278px;
  border-bottom: 1px solid rgba(24, 43, 55, 0.09);
  background:
    linear-gradient(135deg, rgba(8, 109, 158, 0.08), rgba(77, 203, 215, 0.08)),
    #f7fbfc;
}

.product-directory-media video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 278px;
  object-fit: cover;
  background: #0f1d26;
}

.product-directory-audio {
  padding: 22px;
}

.product-directory-audio .audio-demo-card {
  min-height: 234px;
  margin: 0;
  box-shadow: none;
}

.product-directory-body {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 30px;
}

.product-directory-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.product-directory-topline span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.product-directory-topline strong {
  color: var(--orange);
  font-family: var(--display);
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1;
  white-space: nowrap;
}

.product-directory-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(30px, 3.6vw, 52px);
  line-height: 1.02;
}

.product-directory-card p {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.5;
}

.product-directory-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.product-directory-tags span {
  padding: 8px 10px;
  border: 1px solid rgba(8, 109, 158, 0.15);
  border-radius: 999px;
  background: rgba(8, 109, 158, 0.06);
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 800;
}

.product-directory-card .text-link {
  align-self: end;
  margin-top: 8px;
}

.product-flow-section {
  background:
    linear-gradient(180deg, rgba(248, 251, 252, 0.72), rgba(255, 255, 255, 0.94));
}

.product-flow-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(420px, 1fr);
  gap: 36px;
  align-items: center;
}

.product-flow-copy h2 {
  margin: 0 0 24px;
  color: var(--ink);
  font-size: clamp(40px, 4.6vw, 68px);
  line-height: 0.98;
}

.product-flow-steps {
  display: grid;
  gap: 12px;
}

.product-flow-steps article {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  padding: 16px 0;
  border-top: 1px solid rgba(24, 43, 55, 0.09);
}

.product-flow-steps span {
  color: var(--orange);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.product-flow-steps h3 {
  margin: 0;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.2;
}

.product-flow-steps p {
  grid-column: 2;
  margin: -6px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.product-flow-visual {
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(18, 32, 43, 0.1);
  overflow: hidden;
}

.product-flow-visual img {
  display: block;
  width: 100%;
  height: auto;
}

.product-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.product-detail-card {
  min-height: 350px;
  padding: 34px;
  border: 1px solid rgba(24, 43, 55, 0.1);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 44px rgba(18, 32, 43, 0.065);
}

.product-video-card {
  display: grid;
  gap: 16px;
  overflow: hidden;
  padding: 0;
}

.product-video-card > :not(video) {
  margin-left: 28px;
  margin-right: 28px;
}

.product-video-card ul {
  margin-bottom: 0;
}

.product-video-card .text-link {
  margin-top: 0;
  margin-bottom: 28px;
}

.product-hero-video {
  overflow: hidden;
  border: 1px solid rgba(24, 43, 55, 0.1);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.product-hero-video video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #0f1d26;
}

.language-audio-panel {
  display: grid;
  gap: 16px;
  padding: 14px;
  border: 1px solid rgba(8, 109, 158, 0.11);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.8), rgba(247, 251, 252, 0.74));
  box-shadow: 0 20px 54px rgba(18, 32, 43, 0.08);
}

.language-audio-panel .audio-demo-card {
  min-height: 176px;
  padding: 20px;
}

.product-audio-card .audio-demo-card {
  margin: 0;
  border-width: 0 0 1px;
  border-radius: 0;
  box-shadow: none;
}

.product-flow-list {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-flow-list li {
  padding: 18px 20px;
  border: 1px solid rgba(24, 43, 55, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--muted);
  line-height: 1.5;
}

.product-data-section {
  padding-top: 78px;
  padding-bottom: 54px;
  background:
    radial-gradient(circle at 12% 0%, rgba(239, 119, 48, 0.07), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%);
}

.product-data-section + .section {
  padding-top: 74px;
}

.product-data-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
  gap: 42px;
  align-items: stretch;
  padding: 42px;
  border: 1px solid rgba(8, 109, 158, 0.14);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(244, 251, 252, 0.98)),
    radial-gradient(circle at 100% 100%, rgba(77, 203, 215, 0.16), transparent 34%);
  box-shadow: 0 24px 68px rgba(18, 32, 43, 0.08);
}

.product-data-copy {
  align-content: center;
}

.product-data-copy h2 {
  max-width: 720px;
  margin: 12px 0 18px;
  color: var(--ink);
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.04;
}

.product-data-copy p:not(.section-kicker) {
  max-width: 690px;
  margin: 0;
  color: var(--ink-2);
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.42;
}

.product-data-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.product-data-tags span {
  padding: 12px 15px;
  border: 1px solid rgba(8, 109, 158, 0.18);
  border-radius: 10px;
  background: rgba(8, 109, 158, 0.07);
  color: var(--blue-deep);
  font-size: 14px;
  font-weight: 820;
}

.product-metric-grid {
  display: grid;
  gap: 16px;
  align-content: center;
}

.product-metric-grid article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  min-height: 112px;
  padding: 24px 28px;
  border: none;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 12px 30px rgba(18, 32, 43, 0.045);
}

.product-metric-grid span {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.35;
}

.product-metric-grid strong {
  color: var(--ink);
  font-family: var(--display);
  font-size: 40px;
  line-height: 0.95;
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .product-directory-grid {
    grid-template-columns: 1fr;
  }

  .product-directory-card {
    min-height: auto;
  }

  .product-flow-layout {
    grid-template-columns: 1fr;
  }

  .product-directory-media,
  .product-directory-media video {
    min-height: 248px;
  }

  .product-page-hero .trust-hero-grid {
    gap: 34px;
  }

  .product-journey a {
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    gap: 12px 16px;
  }

  .product-journey em {
    grid-column: 2 / span 2;
  }

  .product-demo-showcase {
    padding-top: 102px;
    padding-bottom: 0;
  }

  .product-demo-showcase-frame {
    border-radius: 0;
    padding: 0;
  }

  .product-demo-status {
    top: 24px;
    right: 22px;
  }

  .product-data-panel {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .product-story-panel {
    min-height: auto;
    padding: 0;
  }

  .product-story-panel-grid {
    grid-template-columns: 1fr;
    gap: 34px;
    min-height: auto;
    padding: 34px;
    border-radius: 28px;
  }

  .product-story-panel:nth-child(even) .product-story-panel-grid {
    grid-template-columns: 1fr;
  }

  .product-story-panel:nth-child(even) .product-story-copy,
  .product-story-panel:nth-child(even) .product-story-visual {
    order: initial;
  }

  .product-story-index {
    margin-bottom: 20px;
  }

  .product-story-panel p:not(.product-story-index) {
    margin-top: 10px;
  }

  .product-story-visual {
    min-height: 360px;
    padding: 30px;
  }

  .product-story-visual img,
  .product-story-visual video {
    max-height: 420px;
  }

  .product-directory-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 56px;
  }

  .product-story-step {
    grid-template-columns: minmax(0, 1fr) 24px;
    gap: 10px 18px;
    padding: 28px 0;
  }

  .product-story-step span,
  .product-story-step h3,
  .product-story-step p {
    grid-column: 1;
  }

  .product-story-step::after {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (max-width: 640px) {
  .product-directory {
    padding-top: 58px;
  }

  .product-directory-card {
    border-radius: 18px;
  }

  .product-directory-media,
  .product-directory-media video {
    min-height: 204px;
  }

  .product-directory-audio {
    padding: 14px;
  }

  .product-directory-audio .audio-demo-card {
    min-height: 190px;
  }

  .product-directory-body {
    padding: 22px;
  }

  .product-flow-visual {
    border-radius: 22px;
  }

  .product-directory-topline {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .product-page-hero {
    padding-top: 58px;
    padding-bottom: 54px;
  }

  .product-journey a {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 18px 0;
  }

  .product-journey a::after {
    display: none;
  }

  .product-journey strong {
    font-size: 22px;
  }

  .product-journey em {
    grid-column: 2;
    font-size: 14px;
  }

  .product-demo-showcase {
    padding-top: 82px;
    padding-bottom: 0;
  }

  .product-demo-showcase-frame {
    width: 100%;
    padding: 0;
    border-radius: 0;
  }

  .product-demo-showcase-frame video {
    border-radius: 0;
  }

  .product-demo-status {
    top: 14px;
    right: 14px;
  }

  .product-demo-status span {
    padding: 7px 9px;
    font-size: 9.5px;
  }

  .product-directory .split-heading {
    margin-bottom: 44px;
  }

  .product-directory-nav {
    grid-template-columns: 1fr;
    margin-bottom: 42px;
    padding: 10px;
    border-radius: 20px;
  }

  .product-directory-nav a {
    min-height: 158px;
    padding: 18px;
  }

  .product-directory-nav strong {
    font-size: 25px;
  }

  .product-story-panel {
    padding: 0;
  }

  .product-story-sections {
    gap: 18px;
  }

  .product-story-panel-grid {
    padding: 24px;
    border-radius: 24px;
  }

  .product-story-panel h3 {
    font-size: 30px;
  }

  .product-story-panel p:not(.product-story-index) {
    font-size: 14px;
  }

  .product-story-copy strong {
    font-size: 18px;
  }

  .product-story-copy {
    max-width: none;
    padding-left: 14px;
  }

  .product-story-proof {
    grid-template-columns: 1fr;
  }

  .product-story-visual {
    min-height: 260px;
    padding: 22px;
    border-radius: 22px;
  }

  .product-story-visual img,
  .product-story-visual video {
    max-height: 300px;
    border-radius: 12px;
  }

  .product-story-step h3 {
    font-size: 27px;
  }

  .product-story-step p {
    font-size: 15px;
  }

  .language-audio-panel {
    padding: 10px;
  }

  .language-audio-panel .audio-demo-card {
    min-height: 152px;
  }

  .product-data-panel {
    padding: 24px;
  }

  .product-metric-grid article {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 20px;
  }

  .product-metric-grid strong {
    text-align: left;
  }
}

.product-detail-card span {
  display: block;
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.product-story-hero {
  padding-top: 150px;
  padding-bottom: 86px;
  background: #fff;
}

.product-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(380px, 0.88fr);
  gap: 62px;
  align-items: center;
}

.product-story-copy h1 {
  max-width: 940px;
  margin: 12px 0 24px;
  color: var(--ink);
  font-size: 44px;
  line-height: 1.1;
}

.product-story-copy p {
  max-width: 650px;
  margin: 0;
  color: var(--ink-2);
  font-size: clamp(20px, 1.9vw, 28px);
  line-height: 1.28;
}

.product-story-copy {
  display: flex;
  flex-direction: column;
  max-width: 576px;
}

.product-story-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
  order: -1;
}

.product-story-tags span,
.product-story-tags a {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border: none;
  border-radius: 4px;
  background: #f0f1f3;
  color: #5a5e66;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: background 150ms ease, color 150ms ease;
}

.product-story-tags a:hover {
  background: #e2e4e8;
  color: #13202a;
}

.product-screen-placeholder {
  position: relative;
  min-height: 500px;
  padding: 32px;
  overflow: hidden;
  border: 1px solid rgba(24, 43, 55, 0.1);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 251, 252, 0.96)),
    radial-gradient(circle at 100% 0%, rgba(239, 119, 48, 0.1), transparent 36%);
  box-shadow: 0 24px 70px rgba(18, 32, 43, 0.1);
}

.product-screen-placeholder::before {
  content: "";
  position: absolute;
  inset: 88px 30px auto;
  height: 230px;
  border: 1px dashed rgba(8, 109, 158, 0.22);
  border-radius: 18px;
  background:
    linear-gradient(90deg, rgba(8, 109, 158, 0.08) 0 32%, transparent 32% 36%, rgba(77, 203, 215, 0.12) 36% 100%);
}

.product-screen-placeholder::after {
  content: "10s";
  position: absolute;
  top: 118px;
  right: 60px;
  display: grid;
  place-items: center;
  width: 72px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--orange);
  color: #ffffff;
  font-family: var(--display);
  font-size: 25px;
  box-shadow: 0 14px 28px rgba(239, 119, 48, 0.24);
}

.product-screen-placeholder span,
.product-screen-placeholder strong,
.product-screen-placeholder p {
  position: relative;
  z-index: 1;
}

.product-screen-placeholder span,
.product-operating-card span,
.product-idea-card span {
  display: block;
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.product-screen-placeholder strong {
  display: block;
  margin-top: 318px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1;
}

.product-screen-placeholder p {
  max-width: 390px;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.45;
}

.product-phrase-section {
  padding-top: 88px;
  padding-bottom: 88px;
  background: #ffffff;
}

.product-phrase-block {
  max-width: 1120px;
}

.product-phrase-block h2 {
  margin: 0 0 24px;
  color: var(--ink);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
}

.product-operating-section {
  padding-top: 78px;
  padding-bottom: 84px;
  background:
    radial-gradient(circle at 12% 0%, rgba(77, 203, 215, 0.12), transparent 26%),
    linear-gradient(180deg, #f7fbfc 0%, #ffffff 100%);
}

.product-operating-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.product-operating-grid-five {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.product-operating-grid-five .product-operating-card > span:not(.product-metric-icon) {
  color: var(--ink);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

.product-operating-card {
  min-height: 0;
  padding: clamp(28px, 3vw, 36px);
  border: none;
  border-radius: 20px;
  background: #f4f7fb;
  box-shadow: none;
  text-align: left;
}
.product-idea-card {
  min-height: 250px;
  padding: 30px;
  border: none;
  border-radius: 16px;
  background: #F2F9FF;
  box-shadow: none;
}

.product-operating-card h3,
.product-idea-card h3 {
  margin: 24px 0 14px;
  font-family: var(--display, 'IBM Plex Sans', sans-serif);
  color: #13202a;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.25;
}

.product-operating-grid-five .product-operating-card h3 {
  margin-top: 28px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
}

.product-operating-card p,
.product-idea-card p {
  margin: 0;
  color: #716f6c;
  font-size: 15px;
  line-height: 1.55;
}

.product-ideas-section {
  padding-top: 88px;
  padding-bottom: 104px;
  background: #ffffff;
}

/* Product pages: align scale with homepage */
.product-story-hero {
  padding-top: 80px;
  padding-bottom: 72px;
}

.product-story-grid {
  grid-template-columns: minmax(0, 0.96fr) minmax(360px, 0.78fr);
  gap: 44px;
}

.product-story-copy .signal-label {
  display: none;
}

.product-story-copy h1 {
  max-width: 576px;
  font-family: var(--display);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.1;
  word-spacing: 0.025em;
}

.product-story-copy p {
  max-width: 576px;
  font-size: 18px;
  line-height: 1.5;
  color: #716f6c;
}

.product-screen-placeholder {
  min-height: 390px;
  border-radius: 18px;
}

.product-screen-placeholder::before {
  inset: 78px 26px auto;
  height: 170px;
  border-radius: 14px;
}

.product-screen-placeholder::after {
  top: 104px;
  right: 52px;
  width: 58px;
  font-size: 20px;
}

.product-screen-placeholder strong {
  margin-top: 248px;
  font-size: clamp(26px, 2.4vw, 34px);
  font-weight: 560;
  line-height: 1.08;
}

.product-screen-placeholder p {
  font-size: 15px;
}

.product-phrase-section {
  padding-top: 76px;
  padding-bottom: 76px;
}

.product-phrase-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
}

.product-phrase-block .section-kicker {
  text-align: center;
  margin: 0 0 12px;
}

.product-phrase-block h2 {
  margin: 0 0 24px;
  max-width: 780px;
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
}

.product-phrase-block p:not(.section-kicker) {
  max-width: 660px;
  margin: 0 auto 56px;
  color: #716f6c;
  font-size: clamp(14px, 1.2vw, 16px);
  line-height: 1.6;
}

.product-operating-section,
.product-proof-section,
.product-ideas-section {
  padding-top: 76px;
  padding-bottom: 82px;
}

.product-operating-card,
.product-idea-card {
  min-height: 210px;
  padding: 26px;
  border-radius: 14px;
}

.product-operating-card h3,
.product-idea-card h3 {
  margin-top: 34px;
  font-size: 16px;
  font-weight: 400;
}

.product-operating-card p,
.product-idea-card p {
  font-size: 15px;
  line-height: 1.5;
}

.product-proof-section .product-proof-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
}

.product-proof-section .product-proof-copy h2 {
  max-width: 780px;
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
  text-align: center;
  margin: 0 0 24px;
}

.product-proof-section .product-metric-grid {
  gap: 16px;
}

.product-proof-section .product-metric-grid article {
  min-height: 150px;
  padding: 24px;
  border-radius: 14px;
}

.product-proof-section .product-metric-grid span {
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.12;
}

.product-proof-section .product-metric-grid strong {
  font-family: var(--display);
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 400;
}


@media (max-width: 980px) {
  .product-story-grid,
  .product-operating-grid {
    grid-template-columns: 1fr;
  }

  .product-ideas-split {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .product-screen-placeholder {
    min-height: 460px;
  }

  .product-phrase-block,
  .product-proof-section .product-proof-copy {
    grid-template-columns: 1fr;
  }

  .product-phrase-block p:not(.section-kicker) {
    grid-column: auto;
    margin-top: 0;
  }
}

@media (max-width: 640px) {
  .product-story-hero {
    padding-top: 118px;
    padding-bottom: 58px;
  }

  .product-screen-placeholder,
  .product-operating-card,
  .product-idea-card {
    padding: 24px;
  }

  .product-screen-placeholder {
    min-height: 390px;
  }

  .product-screen-placeholder::before {
    inset: 78px 22px auto;
    height: 170px;
  }

  .product-screen-placeholder::after {
    top: 100px;
    right: 42px;
    width: 58px;
    font-size: 21px;
  }

  .product-screen-placeholder strong {
    margin-top: 244px;
  }

  .product-story-copy h1 {
    font-size: 44px;
  }

  .product-proof-section .product-metric-grid article {
    min-height: auto;
  }
}

.product-job-hero {
  padding-top: 150px;
  padding-bottom: 88px;
  background:
    radial-gradient(circle at 88% 6%, rgba(77, 203, 215, 0.14), transparent 30%),
    linear-gradient(180deg, #f8fbfc 0%, #ffffff 100%);
}

.product-job-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr);
  gap: 56px;
  align-items: end;
}

.product-job-copy h1 {
  max-width: 920px;
  margin: 12px 0 22px;
  color: var(--ink);
  font-size: clamp(52px, 7.6vw, 104px);
  line-height: 0.94;
}

.product-job-copy p {
  max-width: 760px;
  margin: 0;
  color: var(--ink-2);
  font-size: clamp(18px, 1.65vw, 24px);
  line-height: 1.38;
}

.product-job-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  margin-top: 34px;
}

.product-job-card,
.product-placeholder-card,
.product-media-placeholder {
  padding: 34px;
  border: 1px solid rgba(8, 109, 158, 0.13);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 20px 58px rgba(18, 32, 43, 0.08);
}

.product-job-card span,
.product-placeholder-card span,
.product-media-placeholder span,
.product-simple-card span {
  display: block;
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.product-job-card strong,
.product-placeholder-card strong,
.product-media-placeholder strong {
  display: block;
  margin-top: 18px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.02;
}

.product-job-card p,
.product-placeholder-card p,
.product-media-placeholder p {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.5;
}

.career-openings {
  background:
    radial-gradient(circle at 88% 14%, rgba(77, 203, 215, 0.12), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%);
}

#teams {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfc 100%);
}

#teams .reveal {
  opacity: 1;
  transform: none;
}

#teams .split-heading {
  display: block;
  margin-bottom: 30px;
  text-align: center;
}

#teams .split-heading h2 {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
}

#teams .section-intro {
  max-width: 690px;
  margin: 16px auto 0;
}

#teams .product-detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

#teams .product-detail-card {
  display: flex;
  min-height: 286px;
  padding: 28px;
  flex-direction: column;
  justify-content: flex-start;
  border-radius: 14px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 253, 0.88));
}

#teams .product-detail-card span {
  color: var(--blue);
  font-size: 11px;
  letter-spacing: 0.11em;
}

#teams .product-detail-card h2 {
  margin: 18px 0 14px;
  font-size: clamp(25px, 2vw, 32px);
  line-height: 1.12;
}

#teams .product-detail-card p {
  margin: 0;
  max-width: 34em;
  font-size: 16px;
  line-height: 1.52;
}

.career-openings-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 34px;
  border: 1px solid rgba(8, 109, 158, 0.13);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 20px 58px rgba(18, 32, 43, 0.08);
}

.career-openings-panel > div > span {
  display: block;
  color: var(--blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.career-openings-panel h3 {
  max-width: 640px;
  margin: 14px 0 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.04;
}

.career-openings-panel p {
  max-width: 720px;
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

.career-apply-button {
  font-weight: 400;
}

@media (max-width: 760px) {
  #teams .split-heading {
    text-align: left;
  }

  #teams .product-detail-grid {
    grid-template-columns: 1fr;
  }

  #teams .product-detail-card {
    min-height: 0;
  }

  .career-openings-panel {
    grid-template-columns: 1fr;
    padding: 26px;
  }
}

.product-media-placeholder {
  position: relative;
  display: grid;
  align-content: end;
  min-height: 420px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(8, 109, 158, 0.08), rgba(77, 203, 215, 0.1)),
    #ffffff;
}

.product-media-placeholder::before {
  content: "";
  position: absolute;
  inset: 28px 28px auto auto;
  width: 96px;
  aspect-ratio: 1;
  border: 1px solid rgba(8, 109, 158, 0.16);
  border-radius: 50%;
  background:
    linear-gradient(90deg, transparent 47%, rgba(8, 109, 158, 0.18) 48%, rgba(8, 109, 158, 0.18) 52%, transparent 53%),
    linear-gradient(0deg, transparent 47%, rgba(8, 109, 158, 0.18) 48%, rgba(8, 109, 158, 0.18) 52%, transparent 53%);
}

.product-media-placeholder::after {
  content: "10s";
  position: absolute;
  top: 54px;
  right: 58px;
  color: var(--orange);
  font-family: var(--display);
  font-size: 26px;
  line-height: 1;
}

.product-simple-section {
  padding-top: 78px;
  padding-bottom: 84px;
  background: #ffffff;
}

.product-simple-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.product-simple-card {
  min-height: 280px;
  padding: 30px;
  border: 1px solid rgba(24, 43, 55, 0.1);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 252, 0.9));
  box-shadow: 0 16px 44px rgba(18, 32, 43, 0.055);
}

.product-simple-card h2 {
  margin: 46px 0 14px;
  color: var(--ink);
  font-size: clamp(28px, 3.1vw, 44px);
  line-height: 1;
}

.product-simple-card p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.5;
}

.product-proof-section {
  position: relative;
  padding-top: 104px;
  padding-bottom: 84px;
  color: #fff;
  overflow: hidden;
}

.product-proof-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('../assets/stock/office-meeting.jpg') center / cover no-repeat;
  filter: blur(6px);
  transform: scale(1.04);
  z-index: 0;
}

.product-proof-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(30,42,56,0.82) 0%, rgba(30,42,56,0.75) 50%, rgba(30,42,56,0.85) 100%);
  z-index: 1;
}

.product-proof-section > * {
  position: relative;
  z-index: 2;
}

.product-proof-grid,
.product-demo-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(390px, 1fr);
  gap: 42px;
  align-items: center;
}

.product-proof-section .product-proof-grid {
  grid-template-columns: 1fr;
  gap: 32px;
}

.product-proof-copy h2,
.product-demo-copy h2 {
  max-width: 780px;
  margin: 0 0 24px;
  color: #ffffff;
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
}

.product-proof-section .product-proof-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
}

.product-proof-section .product-proof-copy h2 {
  max-width: 780px;
  margin: 0 0 24px;
  font-size: 44px;
}

.product-proof-section .section-kicker {
  margin-bottom: 12px;
  text-align: center;
}

.product-proof-section .product-metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-proof-section .product-metric-grid article {
  display: grid;
  grid-template-columns: 1fr;
  align-content: space-between;
  min-height: 210px;
}

.product-proof-section .product-metric-grid strong {
  text-align: left;
}

.product-demo-copy p {
  max-width: 620px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.5;
}

.product-demo-section {
  padding-top: 84px;
  padding-bottom: 96px;
  background: #ffffff;
}

.product-demo-section .product-hero-video {
  border-radius: 18px;
}

.product-placeholder-card {
  min-height: 330px;
  display: grid;
  align-content: center;
  background:
    linear-gradient(135deg, rgba(8, 109, 158, 0.08), rgba(77, 203, 215, 0.08)),
    #ffffff;
}

@media (max-width: 980px) {
  .product-job-grid,
  .product-proof-grid,
  .product-demo-grid {
    grid-template-columns: 1fr;
  }

  .product-simple-grid {
    grid-template-columns: 1fr;
  }

  .product-proof-section .product-proof-copy,
  .product-proof-section .product-metric-grid {
    grid-template-columns: 1fr;
  }

  .product-simple-card {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .product-job-hero {
    padding-top: 118px;
    padding-bottom: 58px;
  }

  .product-job-card,
  .product-placeholder-card,
  .product-media-placeholder,
  .product-simple-card {
    padding: 24px;
  }

  .product-media-placeholder {
    min-height: 300px;
  }

  .product-simple-section,
  .product-proof-section,
  .product-demo-section {
    padding-top: 58px;
    padding-bottom: 62px;
  }

  .product-job-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  /* 44px headings → clamp for mobile */
  .product-demo-showcase-copy h2,
  .product-phrase-block h2,
  .product-pair-copy h2,
  .product-split-copy h2 {
    font-size: clamp(26px, 5.5vw, 44px);
  }

  /* Metric numbers: allow wrapping, scale down */
  .product-metric-grid strong {
    white-space: normal;
    font-size: clamp(28px, 7vw, 40px);
  }

  /* 4-col score grid → 2 cols on mobile */
  .dash-score-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.product-detail-card h2 {
  margin: 16px 0 12px;
  color: var(--ink);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.04;
}

.product-detail-card p,
.product-detail-card li {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.product-detail-card ul {
  display: grid;
  gap: 8px;
  margin: 20px 0 0;
  padding-left: 18px;
}

a.product-detail-card {
  color: inherit;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

a.product-detail-card:hover {
  transform: translateY(-3px);
  border-color: rgba(8, 109, 158, 0.2);
  box-shadow: 0 22px 58px rgba(18, 32, 43, 0.09);
}

.location-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.location-card {
  min-height: 220px;
  padding: 28px;
  border: 1px solid rgba(24, 43, 55, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 48px rgba(18, 32, 43, 0.07);
}

.location-card span {
  display: block;
  color: var(--orange);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.location-card h2 {
  margin: 16px 0 12px;
  color: var(--ink);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.02;
}

.location-card p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

@media (max-width: 980px) {
  .value-grid,
  .suite-grid,
  .resource-card-grid,
  .product-detail-grid,
  .location-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .value-grid,
  .suite-grid,
  .resource-card-grid,
  .product-detail-grid,
  .location-grid {
    grid-template-columns: 1fr;
  }

  .value-card,
  .suite-card,
  .resource-preview-card {
    min-height: auto;
  }
}

.trust-hero {
  padding-top: 132px;
  padding-bottom: 80px;
  background:
    radial-gradient(circle at 88% 48%, rgba(77, 203, 215, 0.22), transparent 34%),
    linear-gradient(112deg, #ffffff 0%, #fbfdfe 48%, #eaf7f8 100%);
}

.trust-hero-content {
  max-width: none;
  text-align: left;
}

.trust-cert-row {
  display: flex;
  gap: 16px;
  margin-top: 40px;
}

.trust-hero h1 {
  max-width: 840px;
  margin: 0;
  color: var(--ink);
  font-size: 44px;
  line-height: 1.15;
}

.trust-hero p:not(.signal-label) {
  max-width: 720px;
  margin: 22px 0 0;
  color: var(--ink-2);
  font-size: 16px;
  line-height: 1.55;
}

.trust-cert-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 20px 24px;
  border: 1px solid rgba(24, 43, 55, 0.08);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(18, 32, 43, 0.04);
  transition: transform 300ms ease, box-shadow 300ms ease;
}

.trust-cert-badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(18, 32, 43, 0.08);
}

.trust-cert-badge img {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.trust-cert-badge figcaption,
.trust-cert-text-badge span {
  color: #60707d;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.trust-cert-text-badge strong {
  color: var(--blue-deep);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.trust-cert-text-badge {
  background:
    radial-gradient(circle at 86% 12%, rgba(40, 199, 216, 0.15), transparent 34%),
    linear-gradient(180deg, #ffffff, #f4fafc);
}

.trust-detail-grid {
  gap: 20px;
}

.trust-pillars,
.trust-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.trust-pillar {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 380px;
  padding: 32px 28px;
  border: 1px solid rgba(24, 43, 55, 0.06);
  border-radius: 20px;
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(18, 32, 43, 0.04);
  transition: transform 350ms ease, box-shadow 350ms ease;
}

.trust-pillar:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 44px rgba(18, 32, 43, 0.09);
}

/* Real scene background image */
.trust-pillar-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 60%;
  object-fit: cover;
  filter: blur(0.5px) saturate(0.85);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
  mask-image: linear-gradient(to bottom, black 40%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 40%, transparent 100%);
}

.trust-pillar .trust-pillar-icon {
  display: none;
}

.trust-pillar-icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--ink);
  stroke-width: 1.8;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.trust-detail-grid .trust-pillar-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f8fc;
  border-radius: 12px;
  margin-bottom: 20px;
}

.trust-detail-grid .trust-pillar-icon svg {
  stroke: var(--blue);
}

.trust-pillar span {
  position: relative;
  z-index: 1;
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.trust-pillar h2 {
  position: relative;
  z-index: 1;
  margin: 10px 0 8px;
  color: var(--ink);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
}

.trust-pillar p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.trust-detail-section {
  background: #ffffff;
}

.trust-hero .signal-label,
.trust-detail-section .section-kicker {
  color: var(--blue);
  font-weight: 650;
}

.trust-detail-section:nth-of-type(even) {
  background: #f9fbfc;
}

.trust-detail-section .suite-card {
  position: relative;
  transition: transform 350ms ease, box-shadow 350ms ease;
}

.trust-detail-section .suite-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 44px rgba(18, 32, 43, 0.09);
}

@media (max-width: 980px) {
  .trust-pillars,
  .trust-detail-grid {
    grid-template-columns: 1fr;
  }

  .trust-cert-row {
    flex-wrap: wrap;
  }
}

@media (max-width: 980px) {
  .nav-menu {
    display: grid;
    width: 100%;
  }

  .nav-panel,
  .nav-panel-company {
    display: none;
  }

  .nav-panel::before {
    content: none;
  }
}

/* Modern clarity pass */
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 760ms ease, transform 760ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.hero-copy.reveal {
  transition-delay: 70ms;
}

.hero-bg {
  opacity: 0.58;
  animation: grid-drift 18s linear infinite;
}

@keyframes grid-drift {
  to {
    background-position: 54px 54px;
  }
}

.split-heading h2,
.client-proof-head h2,
.wizlynn-copy h2,
.security-proof-copy h2,
.demo-copy h2 {
  letter-spacing: 0;
  font-family: var(--display);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 24px;
}

.section-intro,
.wizlynn-copy p,
.security-proof-copy p:not(.section-kicker) {
  max-width: 660px;
  color: #716f6c;
  font-weight: 400;
}

.client-wall {
  border-top: none;
  border-bottom: none;
}

.proof-item,
.value-card,
.suite-card,
.audio-demo-card,
.resource-preview-card,
.security-cert-list article,
.lead-form,
.industry-board {
  backdrop-filter: blur(16px);
}

.proof-item,
.value-card,
.suite-card,
.resource-preview-card {
  border-color: rgba(8, 109, 158, 0.11);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 252, 252, 0.84));
}

.value-card,
.suite-card,
.resource-preview-card {
  position: relative;
  overflow: hidden;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.value-card::after,
.suite-card::after,
.resource-preview-card::after {
  display: none;
}

.value-card:hover,
.suite-card:hover,
.resource-preview-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 62px rgba(18, 32, 43, 0.1);
}

.value-card:hover::after,
.suite-card:hover::after,
.resource-preview-card:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.value-card h3,
.suite-card h3,
.resource-preview-card h3 {
  letter-spacing: 0;
  font-family: var(--display);
  font-weight: 650;
}

.proof-item strong,
.case-metrics strong,
.about-proof strong,
.insight-toolbar strong {
  font-family: var(--mono);
  letter-spacing: 0;
  font-weight: 700;
}

.security-strip-inner {
  border-radius: 28px;
}

.wizlynn-values article {
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.wizlynn-values article:hover {
  transform: translateX(6px);
  border-color: rgba(8, 109, 158, 0.18);
  box-shadow: 0 16px 38px rgba(18, 32, 43, 0.08);
}

.audio-play {
  animation: play-breathe 2.4s ease-in-out infinite;
}

@keyframes play-breathe {
  50% {
    transform: scale(1.15);
    box-shadow: 0 16px 30px rgba(18, 32, 43, 0.22), 0 0 0 8px rgba(77, 203, 215, 0.1);
  }
}

@media (max-width: 980px) {
  .hero {
    padding-top: 104px;
  }
}

@media (max-width: 640px) {
  .container {
    width: calc(100% - 28px);
  }

  .site-header {
    width: 100%;
    padding: 10px 14px;
  }

  .hero {
    padding-top: 96px;
  }

  .hero h1 {
    font-size: clamp(38px, 11vw, 52px);
    line-height: 1;
  }

  .hero-lede {
    font-size: 17px;
  }

  .hero-actions {
    flex-direction: column;
  }

  .button {
    width: 100%;
  }

  .client-proof-head h2 {
    font-size: clamp(34px, 10vw, 48px);
  }

  .proof-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* Lighter typography pass */
.site-nav a {
  font-weight: 400;
}

.button {
  font-weight: 400;
}

.product-page-stack a,
.resource-preview-card a {
  font-weight: 650;
}

.signal-label,
.section-kicker,
.stage-label {
  font-weight: 400;
}

.value-card span,
.suite-card span,
.resource-preview-card span,
.audio-copy > span,
.security-hero-logo span,
.about-card > span,
.trust-pillar span {
  font-weight: 650;
}

.hero h1 {
  font-family: var(--display);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  word-spacing: 0.02em;
}

h1 {
  font-family: var(--display);
}

.split-heading h2,
.client-proof-head h2,
.wizlynn-copy h2,
.security-proof-copy h2,
.demo-copy h2,
.trust-hero h1 {
  font-size: 44px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
  margin-bottom: 24px;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  word-spacing: 0.025em;
}

.section-heading-link {
  color: inherit;
  text-decoration: none;
}

.section-heading-link:hover {
  color: var(--blue);
}

.client-proof-head h2 {
  max-width: 1040px;
  font-size: clamp(40px, 4.7vw, 64px);
  line-height: 1.12;
}

.value-card h3,
.suite-card h3,
.resource-preview-card h3,
.audio-copy h3,
.wizlynn-values span,
.industry-panel h3,
.security-cert-list strong,
.trust-pillar h2 {
  font-weight: 300;
}
.about-card h3 {
  font-weight: 600;
}

.hero-lede,
.section-intro,
.wizlynn-copy p,
.security-proof-copy p:not(.section-kicker),
.value-card p,
.suite-card p,
.resource-preview-card p,
.audio-copy p {
  font-weight: 400;
}

.proof-item strong,
.case-metrics strong,
.about-proof strong,
.insight-toolbar strong {
  font-weight: 600;
}

/* WIZ three-color card refresh */
.value-card,
.suite-card,
.resource-preview-card,
.audio-demo-card,
.proof-item,
.wizlynn-values article,
.security-cert-list article {
  border-color: rgba(8, 109, 158, 0.13);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 251, 252, 0.88));
  box-shadow: 0 14px 36px rgba(18, 32, 43, 0.06);
}

.value-card,
.suite-card,
.resource-preview-card {
  isolation: isolate;
}

.value-card::before,
.suite-card::before,
.resource-preview-card::before {
  display: none;
}

.value-card:nth-child(3n + 1),
.suite-card:nth-child(3n + 1),
.resource-preview-card:nth-child(3n + 1),
.value-card:nth-child(3n + 2),
.suite-card:nth-child(3n + 2),
.resource-preview-card:nth-child(3n + 2),
.value-card:nth-child(3n),
.suite-card:nth-child(3n),
.resource-preview-card:nth-child(3n) {
  border-top: none;
}

.suite-card span,
.resource-preview-card span {
  display: inline-flex;
  width: fit-content;
  padding: 0;
  border-radius: 0;
  background: none;
  color: #667783;
}

.value-card:nth-child(3n + 2) span,
.suite-card:nth-child(3n + 2) span,
.resource-preview-card:nth-child(3n + 2) span {
  background: rgba(77, 203, 215, 0.15);
}

.value-card:nth-child(3n) span,
.suite-card:nth-child(3n) span,
.resource-preview-card:nth-child(3n) span {
  background: rgba(239, 119, 48, 0.14);
  color: #a64816;
}

.value-section .value-card .value-icon {
  background: rgba(8, 109, 158, 0.08);
  color: var(--blue-deep);
}

.suite-card-feature {
  border-top: none;
  background:
    linear-gradient(135deg, rgba(239, 119, 48, 0.12), rgba(255, 255, 255, 0.92) 42%, rgba(77, 203, 215, 0.14)),
    #ffffff;
}

.audio-demo-card.is-featured {
  border-left: none;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(238, 247, 248, 0.84)),
    radial-gradient(circle at 92% 92%, rgba(239, 119, 48, 0.16), transparent 32%);
}

.proof-item {
  position: relative;
  overflow: hidden;
}

.proof-item::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -42px;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: rgba(77, 203, 215, 0.12);
}

.proof-item:nth-child(even)::after {
  background: rgba(239, 119, 48, 0.12);
}

/* Industry solution detail pages */
.solution-detail-hero {
  min-height: 500px;
  display: flex;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 60px;
  background:
    linear-gradient(rgba(8, 109, 158, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 109, 158, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 86% 20%, rgba(77, 203, 215, 0.2), transparent 34%),
    linear-gradient(112deg, #ffffff 0%, #f8fbfc 54%, #eef7f8 100%);
  background-size: 48px 48px, 48px 48px, auto, auto;
}

.solution-detail-hero h1 {
  max-width: 900px;
}

.solution-hero-showcase {
  display: grid;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(8, 109, 158, 0.12);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(239, 248, 250, 0.82));
  box-shadow: 0 28px 82px rgba(18, 32, 43, 0.1);
}

.solution-hero-image {
  position: relative;
  min-height: 250px;
  margin: 0;
  overflow: hidden;
  border-radius: 20px;
  background:
    linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    linear-gradient(135deg, #102033, #0b3043);
  background-size: 34px 34px, 34px 34px, auto;
}

.solution-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 19, 30, 0.04), rgba(8, 19, 30, 0.34)),
    linear-gradient(90deg, rgba(8, 109, 158, 0.18), transparent 46%);
  pointer-events: none;
}

.solution-hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
}

.solution-hero-showcase img[src$=".svg"] {
  padding: 22px;
  object-fit: contain;
}

.solution-demo-card {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(24, 43, 55, 0.08);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 14px 36px rgba(18, 32, 43, 0.06);
}

.solution-demo-card span {
  color: var(--orange);
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}

.solution-demo-card h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: 22px;
  line-height: 1.08;
}

.solution-demo-card p {
  max-width: 380px;
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.45;
}

.solution-demo-bars {
  display: grid;
  grid-template-columns: 0.65fr 1fr 0.45fr 0.82fr;
  gap: 7px;
  align-items: end;
  height: 42px;
  margin-top: 4px;
}

.solution-demo-bars i {
  display: block;
  border-radius: 999px 999px 6px 6px;
  background: linear-gradient(180deg, rgba(77, 203, 215, 0.9), rgba(8, 109, 158, 0.7));
}

.solution-demo-bars i:nth-child(1) { height: 38%; }
.solution-demo-bars i:nth-child(2) { height: 74%; }
.solution-demo-bars i:nth-child(3) {
  height: 52%;
  background: linear-gradient(180deg, rgba(239, 119, 48, 0.92), rgba(239, 119, 48, 0.58));
}
.solution-demo-bars i:nth-child(4) { height: 88%; }

.solution-logo-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.solution-logo-row img,
.solution-logo-row b {
  display: grid;
  place-items: center;
  min-height: 58px;
  padding: 12px;
  border: 1px solid rgba(8, 109, 158, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  font-family: var(--display);
  font-size: 15px;
  font-weight: 650;
  line-height: 1;
  text-align: center;
}

.solution-logo-row img {
  width: 100%;
  height: 58px;
  object-fit: contain;
}

.solution-quick-links {
  display: grid;
  gap: 10px;
}

.solution-quick-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 13px 16px;
  border: 1px solid rgba(8, 109, 158, 0.11);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 12px 30px rgba(18, 32, 43, 0.055);
}

.solution-quick-links a::after {
  content: "->";
  color: var(--orange);
}

.solution-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.solution-stat {
  min-height: 182px;
  padding: 24px;
  border: 1px solid rgba(8, 109, 158, 0.12);
  border-radius: 20px;
  background:
    linear-gradient(rgba(8, 109, 158, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 109, 158, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 251, 252, 0.88));
  background-size: 28px 28px, 28px 28px, auto;
  box-shadow: 0 18px 46px rgba(18, 32, 43, 0.065);
}

.solution-stat:nth-child(3n + 2) {
  border-color: rgba(77, 203, 215, 0.2);
}

.solution-stat:nth-child(3n) {
  border-color: rgba(239, 119, 48, 0.22);
  background:
    linear-gradient(rgba(239, 119, 48, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(239, 119, 48, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 251, 252, 0.88));
  background-size: 28px 28px, 28px 28px, auto;
}

.solution-stat strong {
  display: block;
  color: var(--orange);
  font-family: var(--mono);
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 600;
  line-height: 1;
}

.solution-stat span {
  display: block;
  margin-top: 12px;
  color: var(--ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

.solution-stat p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.42;
}

.solution-proof-grid,
.solution-workflow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.solution-proof-card,
.solution-workflow-card {
  position: relative;
  min-height: 248px;
  padding: 26px;
  overflow: hidden;
  border: 1px solid rgba(8, 109, 158, 0.11);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 42px rgba(18, 32, 43, 0.06);
}

.solution-workflow-card::after,
.solution-proof-card::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(8, 109, 158, 0.13);
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(77, 203, 215, 0.14), rgba(255, 255, 255, 0.7));
}

.solution-proof-card span,
.solution-workflow-card span {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(8, 109, 158, 0.08);
  color: var(--blue-deep);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.solution-proof-card h3,
.solution-workflow-card h3 {
  margin: 16px 0 12px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 600;
  line-height: 1.08;
}

.solution-proof-card p,
.solution-workflow-card p,
.solution-proof-card li {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.solution-proof-card ul {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding-left: 18px;
}

.solution-proof-card a {
  display: inline-flex;
  margin-top: 16px;
  color: var(--blue);
  font-weight: 600;
}

.solution-next-band {
  background: linear-gradient(180deg, #eef7f8 0%, #ffffff 100%);
}

.industry-overview-section {
  position: relative;
  overflow: hidden;
  background: #F3F8FF;
  padding-top: 0;
}

.industry-overview-head {
  margin-bottom: 42px;
}

.industry-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.industry-overview-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 120px;
  align-items: start;
  min-height: auto;
  overflow: hidden;
  border: none;
  border-radius: 16px;
  background: #ffffff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 2px 12px rgba(18, 32, 43, 0.06);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.industry-overview-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(18, 32, 43, 0.1);
}

.industry-overview-card figure {
  position: relative;
  order: 2;
  width: 100px;
  height: 100px;
  margin: 24px 24px 0 0;
  overflow: hidden;
  border-radius: 14px;
  background: #e8eef3;
  flex-shrink: 0;
  justify-self: end;
}

.industry-overview-card figure::after {
  display: none;
}

.industry-overview-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 520ms ease;
}

.industry-overview-card:hover img {
  transform: scale(1.06);
}

.industry-overview-card[href*="telecommunications"] img {
  padding: 12px;
  background:
    linear-gradient(135deg, #102033, #0b3043);
  background-size: auto;
  object-fit: contain;
}

.industry-overview-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  order: 1;
  padding: 24px 0 24px 28px;
}

.industry-overview-copy span {
  width: fit-content;
  margin-bottom: 12px;
  padding: 0;
  border-radius: 0;
  background: none;
  color: #667783;
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}

.industry-overview-copy h2 {
  max-width: 360px;
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.18;
}

.industry-overview-copy p {
  max-width: 360px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.industry-overview-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 16px;
}

.industry-overview-meta b {
  padding: 6px 10px;
  border: none;
  border-radius: 999px;
  background: rgba(8, 109, 158, 0.06);
  color: var(--blue-deep);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.industry-overview-copy em {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  color: var(--blue);
  font-size: 13.5px;
  font-style: normal;
  font-weight: 650;
}

.industry-overview-copy em::after {
  content: "->";
  color: var(--orange);
}

@media (max-width: 980px) {
  .solution-stat-grid,
  .solution-proof-grid,
  .solution-workflow-grid,
  .industry-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .industry-overview-card {
    grid-template-columns: 1fr 100px;
  }

  .industry-overview-card figure {
    width: 80px;
    height: 80px;
    margin: 20px 20px 0 0;
  }

  .industry-overview-copy {
    padding: 20px 0 20px 22px;
  }

  .solution-hero-showcase {
    max-width: 720px;
  }
}

@media (max-width: 640px) {
  .solution-stat-grid,
  .solution-proof-grid,
  .solution-workflow-grid,
  .industry-overview-grid {
    grid-template-columns: 1fr;
  }

  .industry-overview-section {
    padding-top: 70px;
  }

  .industry-overview-head {
    margin-bottom: 28px;
  }

  .industry-overview-card {
    grid-template-columns: 1fr 90px;
    border-radius: 14px;
  }

  .industry-overview-card figure {
    width: 70px;
    height: 70px;
    margin: 18px 16px 0 0;
    border-radius: 12px;
  }

  .industry-overview-copy {
    padding: 18px 0 18px 20px;
  }

  .industry-overview-copy h2 {
    font-size: 18px;
  }

  .industry-overview-copy p {
    font-size: 13px;
  }

  .solution-hero-showcase {
    padding: 10px;
    border-radius: 20px;
  }

  .solution-hero-image,
  .solution-hero-image img {
    min-height: 190px;
  }

  .solution-demo-card {
    padding: 15px;
  }

  .solution-logo-row {
    grid-template-columns: 1fr;
  }

  .solution-quick-links a {
    min-height: 48px;
  }
}

/* ===== Wiki / Insights module ===== */
#wiki {
  background: #ffffff;
}

#wiki .section-header {
  margin-bottom: 46px;
  text-align: center;
}

#wiki .section-header .section-kicker {
  text-align: center;
}

#wiki .section-header h2 {
  font-size: clamp(26px, 2.9vw, 38px);
  font-weight: 400;
  line-height: 46px;
  margin-bottom: 24px;
  text-align: center;
}

#wiki .section-subtitle {
  max-width: 660px;
  margin: 0 auto 56px;
  color: #8f8e8d;
  font-size: clamp(14px, 1.2vw, 16px);
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
}

.wiki-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: stretch;
}

.wiki-search-box {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 48px;
  padding: 0 20px;
  background: #ffffff;
  border: 1px solid #E2E8F0;
  border-radius: 999px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  transition: border-color 200ms ease;
}

.wiki-search-box:focus-within {
  border-color: #146EA4;
  box-shadow: 0 0 0 3px rgba(20, 110, 164, 0.08);
}

.wiki-search-box svg {
  color: #94A3B8;
  flex-shrink: 0;
}

.wiki-search-box input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 14px;
  font-family: var(--sans);
  background: transparent;
  color: var(--ink);
}

.wiki-search-box input::placeholder {
  color: #94A3B8;
}

.wiki-topbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  width: 100%;
  margin-bottom: 32px;
}

.wiki-blog-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  border: none;
  border-radius: 999px;
  background: #146EA4;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  font-family: var(--sans);
  cursor: pointer;
  transition: transform 200ms ease, box-shadow 200ms ease;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(20, 110, 164, 0.2);
  position: relative;
}

.wiki-blog-btn::before,
.wiki-blog-btn::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 999px;
  border: 2px solid #146EA4;
  opacity: 0;
  pointer-events: none;
  animation: blogBtnPulse 2.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.wiki-blog-btn::after {
  animation-delay: 1.25s;
}

@keyframes blogBtnPulse {
  0% { opacity: 0.6; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.18); }
}

.wiki-blog-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(20, 110, 164, 0.3);
}

.wiki-blog-btn:hover::before,
.wiki-blog-btn:hover::after {
  animation-play-state: paused;
  opacity: 0;
}

/* Featured card */
.wiki-featured {
  display: flex;
  align-items: stretch;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  transition: transform 300ms ease, box-shadow 300ms ease;
  cursor: pointer;
  width: 100%;
  margin-bottom: 24px;
}

.wiki-featured:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(20, 110, 164, 0.12);
}

.wiki-featured-img {
  flex: 0 0 45%;
  position: relative;
  overflow: hidden;
  background: #f0f7ff;
  border-radius: 12px;
}

.wiki-featured-img img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
  padding: 0;
}

.wiki-featured:hover .wiki-featured-img img {
  transform: scale(1.04);
}

.wiki-featured-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 44px;
}

.wiki-card-cat,
.wiki-card .wiki-card-cat {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: #146EA4;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 12px;
  background: rgba(20, 110, 164, 0.08);
  border: none;
  border-radius: 4px;
  margin: 0 0 12px;
  align-self: flex-start;
}

.wiki-featured-title {
  font-size: 24px;
  font-weight: 700;
  font-family: var(--display);
  color: #0F172A;
  line-height: 1.4;
  margin-bottom: 16px;
}

.wiki-featured-desc {
  font-size: 15px;
  color: #716f6c;
  line-height: 1.7;
  margin-bottom: 24px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.wiki-featured-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}

.wiki-featured-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.wiki-featured-author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.wiki-featured-author-name {
  font-size: 13px;
  font-weight: 600;
  color: #0F172A;
}

.wiki-featured-author-date {
  font-size: 12px;
  color: #94A3B8;
}

.wiki-featured-read {
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(6px);
  padding: 4px 12px;
  border-radius: 999px;
  letter-spacing: 0.02em;
  position: absolute;
  top: 16px;
  left: 16px;
}

.wiki-card-read {
  font-size: 11px;
  font-weight: 600;
  color: #94A3B8;
  background: #f0f2f5;
  padding: 3px 10px;
  border-radius: 999px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* Regular cards row */
.wiki-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
}

.wiki-card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  height: 182px;
  padding: 0;
  background: #ffffff;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  gap: 0;
  transition: transform 300ms ease, box-shadow 300ms ease;
}

.wiki-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(20, 110, 164, 0.1);
}

.wiki-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 16px;
  min-width: 0;
}

.wiki-card div span {
  border: none;
}

.wiki-card h3.wiki-card-title {
  font-size: 16px;
  font-weight: 700;
  font-family: var(--display);
  color: #0F172A;
  line-height: 1.45;
  margin-bottom: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.wiki-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
}

.wiki-card .wiki-card-date {
  font-size: 13px;
  color: #94A3B8;
  font-weight: 400;
  background: none;
  padding: 0;
  margin: 0;
  border: none;
}

.wiki-card .wiki-card-read {
  font-size: 11px;
  font-weight: 600;
  color: #94A3B8;
  background: #f0f2f5;
  padding: 3px 10px;
  border-radius: 999px;
  border: none;
  margin: 0;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.wiki-card-right {
  flex: 0 0 140px;
  position: relative;
  overflow: hidden;
  border-radius: 0;
}

.wiki-card-thumb {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border-radius: 0;
}

.wiki-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.wiki-card:hover .wiki-card-thumb img {
  transform: scale(1.04);
}

/* ===== Blog list overlay ===== */
.blog-list-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 90;
  background: #fff;
  overflow-y: auto;
  overflow-x: hidden;
  padding-top: 72px;
}

.blog-list-footer {
  border-top: 1px solid rgba(24, 43, 55, 0.12);
}

.blog-list-overlay.active {
  display: block;
}

.blog-list-header {
  padding: 32px 0 0;
  text-align: center;
}

.blog-list-header h1 {
  font-family: var(--display);
  font-size: 44px;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 16px;
  line-height: 1.2;
}

.blog-list-header p {
  font-size: 16px;
  color: #64748B;
  max-width: 640px;
  margin: 0 auto 40px;
  line-height: 1.65;
}

.blog-list-bar {
  max-width: 520px;
  margin: 0 auto 32px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.blog-list-bar .wiki-search-box {
  flex: 1;
  height: 50px;
  border-radius: 999px;
  border: 1px solid #E2E8F0;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

.blog-list-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  color: #0F172A;
  cursor: pointer;
  background: none;
  border: none;
  font-family: var(--display);
  transition: color 200ms ease, background 200ms ease;
  padding: 8px 16px;
  border-radius: 999px;
  margin-bottom: 8px;
}

.blog-list-back:hover {
  color: #146EA4;
  background: rgba(20, 110, 164, 0.06);
}

.blog-list-filters-wrap {
  display: flex;
  justify-content: center;
}

.blog-list-filters {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0 auto 40px;
  padding: 4px;
  background: #F1F5F9;
  border-radius: 999px;
}

.blog-list-filter-btn {
  padding: 10px 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: #64748B;
  font-size: 14px;
  font-family: var(--sans);
  font-weight: 500;
  cursor: pointer;
  transition: color 200ms ease, background 200ms ease, border-color 200ms ease;
  white-space: nowrap;
}

.blog-list-filter-btn:hover {
  color: #0F172A;
  background: #fff;
  border-color: #E2E8F0;
}

.blog-list-filter-btn.active {
  background: #0F172A;
  color: #fff;
  border-color: #0F172A;
  box-shadow: none;
}

.blog-list-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px 80px;
}

.blog-list-card {
  display: flex;
  flex-direction: row;
  background: #EFF6FF;
  border: none;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 300ms ease, background 300ms ease;
}

.blog-list-card:hover {
  transform: translateY(-3px);
  background: #E0EDFF;
}

.blog-list-card-img {
  flex: 0 0 120px;
  width: 120px;
  height: auto;
  position: relative;
  overflow: hidden;
  order: 2;
  align-self: center;
  margin: 20px 20px 20px 0;
  border-radius: 12px;
}

.blog-list-card-img img {
  width: 100%;
  height: 100%;
  min-height: 90px;
  object-fit: cover;
  display: block;
  border-radius: 12px;
  transition: transform 0.4s ease;
}

.blog-list-card:hover .blog-list-card-img img {
  transform: scale(1.05);
}

.blog-list-card-read {
  position: absolute;
  bottom: 8px;
  right: 8px;
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(6px);
  padding: 4px 10px;
  border-radius: 999px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.blog-list-card-body {
  padding: 24px 16px 24px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
  order: 1;
  min-width: 0;
}

.blog-list-card-cat {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: #146EA4;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  background: rgba(20, 110, 164, 0.08);
  border: none;
  border-radius: 4px;
  margin-bottom: 10px;
  align-self: flex-start;
}

.blog-list-card-title {
  font-size: 17px;
  font-weight: 700;
  font-family: var(--display);
  color: #0F172A;
  line-height: 1.45;
  margin-bottom: 16px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-list-card-date {
  font-size: 13px;
  color: #94A3B8;
  margin-top: auto;
}

/* Wiki responsive */
@media (max-width: 1024px) {
  .wiki-cards {
    grid-template-columns: 1fr;
  }

  .wiki-featured {
    flex-direction: column;
  }

  .wiki-featured-img {
    flex: none;
  }

  .wiki-featured-img img {
    min-height: 220px;
  }

  .wiki-featured-body {
    padding: 28px;
  }

  .wiki-card {
    flex-direction: row;
    height: 182px;
  }

  .wiki-card-right {
    flex: 0 0 120px;
  }

  .wiki-card-thumb {
    min-height: 0;
  }

  .wiki-topbar {
    flex-direction: column;
    align-items: stretch;
  }

}

@media (max-width: 640px) {
  .wiki-cards {
    grid-template-columns: 1fr;
  }

  .wiki-card {
    flex-direction: row;
    height: auto;
    min-height: 160px;
  }

  .wiki-card-right {
    flex: 0 0 120px;
  }

  .wiki-card-thumb {
    min-height: 0;
  }

  .wiki-featured {
    flex-direction: column;
  }

  .wiki-featured-img {
    flex: none;
  }

  .wiki-featured-img img {
    min-height: 180px;
  }

  .wiki-featured-body {
    padding: 24px;
  }

  .wiki-featured-title {
    font-size: 20px;
  }

  .wiki-topbar {
    flex-direction: column;
    align-items: stretch;
  }

  .blog-list-grid {
    grid-template-columns: 1fr;
  }

  .blog-list-card {
    flex-direction: row;
  }

  .blog-list-card-img {
    flex: 0 0 90px;
    width: 90px;
    margin: 16px 16px 16px 0;
  }

  .blog-list-header h1 {
    font-size: 28px;
  }
}

/* ===== Demo Preview & Security Compliance — visual unification ===== */


/* --- Security Compliance section --- */
/* Security section — old card layout removed, now handled by later rules */

/* Industry card pre-rendered toggle */

/* Core strengths and security certification presentation */
.value-section .split-heading {
  justify-content: center;
  margin-bottom: 42px;
}

.value-section .split-heading .reveal {
  width: 100%;
  text-align: center;
}

.value-section .split-heading .section-kicker {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.05;
}

.security-strip {
  position: relative;
  padding: 80px 0;
  background: #ffffff;
}
.security-strip::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(to bottom, #E8EFF6, #ffffff);
  pointer-events: none;
}

.security-strip-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  min-height: 0;
}

.security-copy {
  text-align: center;
}

.security-title {
  margin: 0 0 8px;
  color: #302e2d;
  font-family: var(--display);
  font-size: 38px;
  font-weight: 400;
  line-height: 1.3;
}

.security-subtitle {
  margin: 0;
  color: #8f8e8d;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

.security-cert-list {
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: nowrap;
  justify-content: center;
}

.security-cert-list article {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-height: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.security-cert-list article:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}

.security-cert-list img {
  width: 80px;
  height: 80px;
  max-height: none;
  object-fit: contain;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.security-cert-list span {
  display: block;
  margin-top: 0;
  color: #716f6c;
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
}

@media (max-width: 980px) {
  .security-cert-list {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (max-width: 760px) {
  .value-section .split-heading .section-kicker {
    font-size: clamp(24px, 8vw, 34px);
    letter-spacing: 0.12em;
  }

  .security-strip {
    padding: 32px 0;
  }

  .security-cert-list {
    gap: 24px;
  }
}
.industry-card[data-industry-card] {
  display: none;
}
.industry-card[data-industry-card].is-active {
  display: grid;
}

/* Core strengths: single-row cards without small number captions */
.value-section .value-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.value-section .value-card::after {
  display: none;
  content: none;
}

.value-section .value-card h3 {
  margin: 0 0 14px;
}

@media (max-width: 980px) {
  .value-section .value-grid {
    grid-template-columns: 1fr;
  }
}

/* Remove all tag/label borders inside cards */
.suite-card span,
.resource-preview-card span,
.product-directory-tags span,
.audio-tags span,
.insight-tags span,
.article-tags span,
.article-side-tags span,
.record-card span,
.product-points span,
.demo-promises span,
.console-footer span,
.solution-proof-card span,
.solution-workflow-card span,
.wiki-card-cat,
.blog-list-card-cat {
  border: none;
}


/* Value-card 2×2 redesign */
.value-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.value-card {
  min-height: auto;
  padding: 32px;
  border: none;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  backdrop-filter: none;
  display: block;
  text-decoration: none;
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.value-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.value-card:focus-visible {
  outline: 3px solid rgba(59, 130, 246, 0.35);
  outline-offset: 4px;
}

.value-card > span:not(.value-icon) {
  display: none;
}

.value-card > .value-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(20, 110, 164, 0.08);
  color: #146EA4;
  margin-bottom: 0;
  padding: 0;
  font-size: 0;
  letter-spacing: 0;
  text-transform: none;
}

.value-card h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 10px;
  color: #0F172A;
}

.value-card p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #716f6c;
  margin: 0;
}

@media (max-width: 640px) {
  .value-grid {
    grid-template-columns: 1fr;
  }
}

/* Operations capability matrix: replace generic icons with structured signals. */
.value-section {
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdfe 56%, #eef4f9 100%);
}

.value-grid {
  gap: 20px;
}

.value-card {
  position: relative;
  min-height: 190px;
  padding: 30px 32px 30px 34px;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 253, 0.88));
  box-shadow: 0 18px 44px rgba(15, 32, 45, 0.055);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.value-card::before {
  content: "";
  display: block;
  position: absolute;
  inset: 18px auto 18px 18px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--orange), rgba(77, 203, 215, 0.55));
  opacity: 0.72;
}

.value-card::after {
  content: attr(data-step) "  " attr(data-tag);
  display: block;
  position: absolute;
  left: 34px;
  top: 30px;
  width: auto;
  height: auto;
  background: transparent;
  color: var(--blue);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 1;
}

.value-card:hover {
  transform: translateY(-4px);
  border-color: rgba(8, 109, 158, 0.18);
  box-shadow: 0 24px 58px rgba(15, 32, 45, 0.085);
}

.value-card-meta {
  display: none;
  align-items: center;
  gap: 12px;
  margin: 0 0 38px;
}

.value-card .value-marker,
.value-card .value-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  font-family: var(--mono);
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.value-card .value-marker {
  background: transparent;
  color: var(--orange);
  font-size: 12px;
  font-weight: 700;
}

.value-card .value-marker::after {
  content: "";
  width: 28px;
  height: 1px;
  margin-left: 10px;
  background: rgba(239, 119, 48, 0.5);
}

.value-card .value-tag {
  padding: 7px 10px;
  background: rgba(8, 109, 158, 0.06);
  color: rgba(19, 32, 42, 0.66);
  font-size: 10px;
  font-weight: 600;
}

.value-card:nth-child(3n + 2) .value-marker,
.value-card:nth-child(3n) .value-marker {
  background: transparent;
}

.value-card:nth-child(3n + 2) .value-tag {
  background: rgba(77, 203, 215, 0.12);
}

.value-card:nth-child(3n) .value-tag {
  background: rgba(239, 119, 48, 0.1);
  color: #a64816;
}

.value-card h3 {
  margin: 42px 0 12px;
  font-size: clamp(20px, 1.9vw, 24px);
  line-height: 1.16;
}

.value-card p {
  max-width: 460px;
  font-size: 15px;
  line-height: 1.55;
}

@media (max-width: 780px) {
  .value-card {
    min-height: 168px;
    padding: 26px 26px 26px 30px;
  }

  .value-card-meta {
    margin-bottom: 28px;
  }
}

/* ===== Meet Wizlynn — dark premium section ===== */
.wizlynn-feature {
  position: relative;
  overflow: visible;
  background: transparent;
  height: 300vh;
}

.wizlynn-feature.wizlynn-flat {
  height: auto;
  overflow: visible;
}

.wizlynn-feature-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 40px;
  overflow: hidden;
}

/* ===== Wizlynn Flat 3-Card Grid ===== */
.wizlynn-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px;
}

.wizlynn-flat-card {
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  overflow: hidden;
  transition: transform 300ms ease, box-shadow 300ms ease;
}

.wizlynn-flat-card[data-slide="0"] { background: #F0F9FF; }
.wizlynn-flat-card[data-slide="1"] { background: #B2E3FF; }
.wizlynn-flat-card[data-slide="2"] { background: linear-gradient(135deg, #7AB8F5 0%, #5A9DE8 40%, #4A8AD8 100%); }

.wizlynn-flat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(18,89,176,0.12);
}

.wizlynn-flat-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 24px 16px;
  height: 420px;
  flex: none;
  overflow: hidden;
}

.wizlynn-flat-visual .feat-visual {
  transform: scale(0.88);
  transform-origin: center center;
}

/* ── Pillar illustration cards (Reliable / Dialect / Deploy) ── */
.pillar-illustration {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.pillar-svg {
  width: 100%;
  max-width: 340px;
  height: auto;
}

/* Floating animation */
@keyframes pillarFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(var(--float-y, -6px)); }
}
.pillar-float {
  animation: pillarFloat 3.5s ease-in-out infinite;
  animation-delay: var(--float-delay, 0s);
}

/* Sparkle pulse */
@keyframes pillarSparkle {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50%      { opacity: 1; transform: scale(1.6); }
}
.pillar-sparkle {
  animation: pillarSparkle 2.5s ease-in-out infinite;
  animation-delay: var(--sparkle-delay, 0s);
}

/* Shield subtle scale breathe */
@keyframes shieldBreathe {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.02); }
}
.pillar-shield {
  transform-origin: 160px 150px;
  animation: shieldBreathe 4s ease-in-out infinite;
}

/* Checkmark draw-in */
@keyframes checkDraw {
  from { stroke-dashoffset: 100; }
  to   { stroke-dashoffset: 0; }
}
.pillar-check {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: checkDraw 1s ease-out 0.5s forwards;
}

/* Progress ring fill */
@keyframes progressFill {
  from { stroke-dashoffset: 113; }
  to   { stroke-dashoffset: 14; }
}
.pillar-progress {
  animation: progressFill 1.5s ease-out 0.8s forwards;
  stroke-dashoffset: 113;
}

/* City pulse waves */
@keyframes cityPulse {
  0%   { transform: scale(1); opacity: 0.35; }
  100% { transform: scale(2.2); opacity: 0; }
}
.pillar-wave {
  transform-origin: center;
  animation: cityPulse 2.5s ease-out infinite;
  animation-delay: var(--pulse-delay, 0s);
}
.pillar-wave-2 { animation-delay: calc(var(--pulse-delay, 0s) + 0.4s); }
.pillar-wave-3 { animation-delay: calc(var(--pulse-delay, 0s) + 0.8s); }

/* Map region subtle shimmer */
@keyframes mapShimmer {
  0%, 100% { opacity: 0.35; }
  50%      { opacity: 0.5; }
}
.pillar-map-region {
  animation: mapShimmer 4s ease-in-out infinite;
}

/* Waveform flow */
@keyframes waveformFlow {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: -60; }
}
.pillar-waveform-line {
  stroke-dasharray: 8 4;
  animation: waveformFlow 2s linear infinite;
  animation-delay: var(--wf-delay, 0s);
}

/* Timeline pulse */
@keyframes timelinePulse {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: -240; }
}
.pillar-timeline-pulse {
  animation: timelinePulse 3s linear infinite;
}

/* Node appear */
@keyframes nodeAppear {
  from { opacity: 0; transform: scale(0.6); }
  to   { opacity: 1; transform: scale(1); }
}
.pillar-node {
  opacity: 0;
  animation: nodeAppear 0.6s ease-out forwards;
  animation-delay: var(--node-delay, 0s);
}

/* Node pulse ring */
@keyframes nodePulseRing {
  0%   { transform: scale(1); opacity: 0.25; }
  100% { transform: scale(1.5); opacity: 0; }
}
.pillar-node-pulse {
  transform-origin: center;
  animation: nodePulseRing 2.5s ease-out infinite;
}

/* ── Deploy stack: vertical glassmorphism cards ── */
.deploy-stack {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
  max-width: 300px;
  padding: 12px 0 4px;
}

.deploy-glass {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 20px;
  border-radius: 16px;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.22);
  box-shadow: 0 4px 20px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.18);
  opacity: 0;
  transform: translateY(20px) scale(0.95);
  animation: glassAppear 0.5s ease-out forwards;
  animation-delay: var(--glass-delay, 0s);
  transition: transform 300ms ease, box-shadow 300ms ease;
}
.deploy-glass:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 8px 32px rgba(0,0,0,0.1), inset 0 1px 0 rgba(255,255,255,0.25);
}

@keyframes glassAppear {
  from { opacity: 0; transform: translateY(20px) scale(0.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Size progression: top (largest) → bottom (smallest) */
.deploy-glass-3 { width: 92%; padding: 18px 24px; }
.deploy-glass-2 { width: 78%; padding: 14px 20px; }
.deploy-glass-1 { width: 62%; padding: 10px 14px; }

.deploy-glass-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.18);
}
.deploy-glass-1 .deploy-glass-icon { width: 38px; height: 38px; border-radius: 10px; }

.deploy-glass-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.deploy-glass-text strong {
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  line-height: 1.2;
}
.deploy-glass-1 .deploy-glass-text strong { font-size: 13px; }
.deploy-glass-text span {
  font-size: 12px;
  color: rgba(255,255,255,0.6);
  line-height: 1.2;
}
.deploy-glass-1 .deploy-glass-text span { font-size: 11px; }

/* Vertical connecting line */
.deploy-line {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  z-index: 0;
  pointer-events: none;
}
.deploy-line-track {
  position: absolute;
  inset: 12px 0;
  border-radius: 1px;
  background: rgba(255,255,255,0.18);
  transform: scaleY(0);
  transform-origin: bottom;
  animation: lineGrow 0.6s ease-out 0.8s forwards;
}
@keyframes lineGrow {
  from { transform: scaleY(0); }
  to   { transform: scaleY(1); }
}
.deploy-line-pulse {
  position: absolute;
  left: -1px;
  width: 4px;
  height: 40px;
  border-radius: 2px;
  background: linear-gradient(to top, transparent, #7DD3FC, #38BDF8, transparent);
  box-shadow: 0 0 10px rgba(56,189,248,0.6), 0 0 20px rgba(56,189,248,0.3);
  opacity: 0;
  animation: deployPulseUp 2s ease-in-out 1.6s infinite;
}
@keyframes deployPulseUp {
  0%   { bottom: 10px; opacity: 0; }
  8%   { opacity: 1; }
  80%  { opacity: 1; }
  100% { bottom: calc(100% - 50px); opacity: 0; }
}

.deploy-glass {
  position: relative;
  z-index: 1;
}

.deploy-glass-badge {
  margin-left: auto;
  flex-shrink: 0;
  padding: 3px 10px;
  border-radius: 20px;
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.25);
  font-size: 11px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.deploy-live-dot {
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #39E6C8;
  flex-shrink: 0;
  animation: liveDotBeat 2s ease-in-out infinite;
}
@keyframes liveDotBeat {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(0.5); }
}

/* ── Dialect orbit: radial scatter animation ── */
.dialect-orbit {
  position: relative;
  width: 280px;
  height: 280px;
  animation: orbitSpin 1.2s ease-out forwards;
}
@keyframes orbitSpin {
  from { transform: rotate(-60deg); }
  to   { transform: rotate(0deg); }
}

/* Center hub */
.dialect-hub {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: rgba(255,255,255,0.22);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1.5px solid rgba(255,255,255,0.4);
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.35);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding-left: 22px;
  z-index: 2;
  animation: hubPulse 3s ease-in-out infinite;
}
.dialect-hub-num {
  font-size: 32px;
  font-weight: 400;
  color: #3b82f6;
  line-height: 1;
  letter-spacing: -0.02em;
  /* Counter-rotate so text stays upright during orbit spin */
  animation: hubCounterSpin 1.2s ease-out forwards;
}
.dialect-hub-label {
  font-size: 10px;
  font-weight: 500;
  color: #3b82f6;
  line-height: 1;
  margin-top: 3px;
  letter-spacing: 0.04em;
  animation: hubCounterSpin 1.2s ease-out forwards;
}
@keyframes hubCounterSpin {
  from { transform: rotate(60deg); }
  to   { transform: rotate(0deg); }
}

@keyframes hubPulse {
  0%, 100% { box-shadow: 0 4px 24px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.35), 0 0 0 0 rgba(255,255,255,0.15); }
  50%      { box-shadow: 0 4px 24px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.35), 0 0 0 14px rgba(255,255,255,0); }
}

/* Faint orbit ring */
.dialect-orbit::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 1px dashed rgba(255,255,255,0.18);
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0;
  animation: orbitRingIn 0.5s ease-out 0.4s forwards;
}
@keyframes orbitRingIn {
  from { opacity: 0; transform: translate(-50%, -50%) scale(0.4); }
  to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

/* Satellite nodes — pill chip: avatar left + name right in one container */
.dialect-sat {
  position: absolute;
  left: 50%;
  top: 50%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  z-index: 1;
  white-space: nowrap;
  padding: 4px 12px 4px 4px;
  border-radius: 24px;
  background: rgba(255,255,255,0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.3);
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  transform: translate(-50%, -50%) rotate(var(--sat-angle, 0deg)) translateY(0px) rotate(calc(-1 * var(--sat-angle, 0deg))) scale(0);
  opacity: 0;
  animation: satScatter 0.7s cubic-bezier(0.34, 1.4, 0.64, 1) forwards;
  animation-delay: calc(0.15s + var(--sat-delay, 0s));
}

@keyframes satScatter {
  0% {
    transform: translate(-50%, -50%) rotate(var(--sat-angle, 0deg)) translateY(0px) rotate(calc(-1 * var(--sat-angle, 0deg))) scale(0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) rotate(var(--sat-angle, 0deg)) translateY(-130px) rotate(calc(-1 * var(--sat-angle, 0deg))) scale(1);
    opacity: 1;
  }
}

/* Avatar circle photo */
.dialect-sat-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1.5px solid rgba(255,255,255,0.6);
  /* Counter-rotate so faces stay upright during orbit spin */
  animation: satCounterSpin 1.2s ease-out forwards;
}
.dialect-sat-flag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
  clip-path: circle(50%);
  font-size: 62px;
  line-height: 0.8;
  flex-shrink: 0;
  animation: satCounterSpin 1.2s ease-out forwards;
}
@keyframes satCounterSpin {
  from { transform: rotate(60deg); }
  to   { transform: rotate(0deg); }
}

.dialect-sat-name {
  font-size: 12px;
  font-weight: 400;
  color: #3b82f6;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: 0.02em;
  /* Counter-rotate so text stays upright */
  animation: satCounterSpin 1.2s ease-out forwards;
}

.wizlynn-flat-visual .ops-flow {
  transform: none;
  max-width: 100%;
  width: 100%;
  padding: 20px 12px;
  box-sizing: border-box;
  gap: 12px;
}
.ops-flow-badges-row {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}
.wizlynn-flat-visual .ops-flow .ops-flow-badge {
  margin: 0;
  flex-shrink: 0;
}
.wizlynn-flat-visual .ops-flow .ops-flow-steps {
  width: 100%;
}

.wizlynn-flat-text {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 28px 32px 40px;
}

.wizlynn-flat-text h3 {
  margin: 0;
  font-family: var(--display);
  font-size: 30px;
  font-weight: 400;
  color: #302e2d;
  line-height: 1.2;
}

.pillar-list,
.wizlynn-flat-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 15px;
  line-height: 2.2;
  color: #716f6c;
}

.pillar-list li,
.wizlynn-flat-list li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pillar-list li::before,
.wizlynn-flat-list li::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.wizlynn-flat-card[data-slide="0"] .pillar-list li::before {
  background: #B2E3FF;
}
.wizlynn-flat-card[data-slide="1"] .pillar-list li::before {
  background: #5A9DE8;
}
.wizlynn-flat-card[data-slide="2"] .wizlynn-flat-list li::before {
  background: rgba(255,255,255,0.7);
}

.wizlynn-flat-card[data-slide="2"] .wizlynn-flat-list {
  color: rgba(255,255,255,0.85);
}

.wizlynn-flat-text p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #8f8e8d;
}

.wizlynn-flat-card[data-slide="2"] .wizlynn-flat-text h3 {
  color: #fff;
}
.wizlynn-flat-card[data-slide="2"] .wizlynn-flat-text p {
  color: rgba(255,255,255,0.85);
}

.wizlynn-flat-text {
  transition: transform 300ms ease;
}

.wizlynn-flat-card:hover .wizlynn-flat-text {
  transform: translateY(-8px);
}

.wizlynn-flat-text .wizlynn-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding: 12px 28px;
  border: none;
  border-radius: 999px;
  background: #13202a;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  width: fit-content;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 300ms ease, transform 300ms ease, background 200ms ease, box-shadow 200ms ease;
  pointer-events: none;
}

.wizlynn-flat-card:hover .wizlynn-flat-text .wizlynn-cta {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  box-shadow: 0 2px 8px rgba(19,32,42,0.18);
}

.wizlynn-flat-text .wizlynn-cta::after {
  display: none;
}

.wizlynn-flat-text .wizlynn-cta:hover {
  background: #2a3a45;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(19,32,42,0.25);
}

.wizlynn-flat-text .wizlynn-cta .cta-arrow {
  display: none;
}

.wizlynn-flat-card[data-slide="0"] .wizlynn-flat-text .wizlynn-cta {
  background: #5BB8E0;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(91,184,224,0.25);
}
.wizlynn-flat-card[data-slide="0"] .wizlynn-flat-text .wizlynn-cta:hover {
  background: #4AA8D0;
  box-shadow: 0 6px 20px rgba(91,184,224,0.35);
}
.wizlynn-flat-card[data-slide="1"] .wizlynn-flat-text .wizlynn-cta {
  background: #5A9DE8;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(90,157,232,0.25);
}
.wizlynn-flat-card[data-slide="1"] .wizlynn-flat-text .wizlynn-cta:hover {
  background: #4A8AD8;
  box-shadow: 0 6px 20px rgba(90,157,232,0.35);
}
.wizlynn-flat-card[data-slide="2"] .wizlynn-flat-text .wizlynn-cta {
  background: #ffffff;
  color: #4A8AD8;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.wizlynn-flat-card[data-slide="2"] .wizlynn-flat-text .wizlynn-cta:hover {
  background: #f0f6ff;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

/* Flat grid responsive — tablet */
@media (max-width: 1024px) {
  .wizlynn-cards-grid {
    gap: 20px;
  }
  .wizlynn-flat-text h3 {
    font-size: 22px;
  }
  .wizlynn-flat-visual .feat-visual {
    transform: scale(0.75);
  }
  .wizlynn-flat-visual {
    height: 380px;
  }
  .deploy-stack { gap: 16px; }
  .deploy-glass-3 { width: 96%; }
  .deploy-glass-2 { width: 82%; }
  .deploy-glass-1 { width: 68%; }
}

/* Flat grid responsive — mobile */
@media (max-width: 768px) {
  .wizlynn-cards-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 32px;
  }
  .wizlynn-flat-card {
    flex-direction: column;
  }
  .wizlynn-flat-visual {
    min-height: auto;
    width: 100%;
    height: 340px;
    flex-shrink: 0;
    padding: 24px 16px;
  }
  .wizlynn-flat-visual .feat-visual {
    transform: scale(0.82);
  }
  .wizlynn-flat-text {
    padding: 20px 24px 28px;
  }
  .deploy-stack { max-width: 340px; }
  .dialect-orbit { transform: scale(0.68); }
}

/* Flat grid responsive — small mobile */
@media (max-width: 480px) {
  .wizlynn-flat-card {
    flex-direction: column;
  }
  .wizlynn-flat-visual {
    width: 100%;
    height: 300px;
    min-height: auto;
  }
  .wizlynn-flat-visual .feat-visual {
    transform: scale(0.72);
  }
  .wizlynn-flat-text {
    padding: 20px 24px 28px;
  }
  .deploy-stack { gap: 14px; }
  .deploy-glass-text strong { font-size: 13px; }
  .deploy-glass-icon { width: 36px; height: 36px; }
  .dialect-orbit { transform: scale(0.6); }
}

.wizlynn-new-badge {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 2;
  display: inline-block;
  padding: 6px 16px;
  border-radius: 6px;
  background: #22c55e;
  color: #ffffff;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
}

.wizlynn-feature::before {
  display: none;
}

.wizlynn-feature::after {
  display: none;
}

.wizlynn-burst-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.wizlynn-feature > .container {
  position: relative;
  z-index: 1;
}

.wizlynn-feature .section-kicker {
  color: var(--orange);
}

.wizlynn-feature .split-heading {
  padding-top: 10px;
}
.wizlynn-feature .split-heading h2 {
  color: #302e2d;
  font-size: 44px;
}

.wizlynn-feature .section-intro {
  color: #716f6c;
  margin-bottom: 0;
}

/* ===== Wizlynn Carousel (moyin-style) ===== */
.wizlynn-carousel {
  margin-top: 56px;
}

.wizlynn-carousel-card {
  display: flex;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
  height: 870px;
}

.wizlynn-carousel-main {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.wizlynn-carousel-viewport {
  overflow: hidden;
  height: 100%;
}

.wizlynn-carousel-track {
  display: flex;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.wizlynn-slide {
  min-width: 100%;
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 0;
  padding: 68px;
  box-sizing: border-box;
}

.wizlynn-slide[data-slide="0"] { background: #F0F9FF; }
.wizlynn-slide[data-slide="1"] { background: #B2E3FF; }
.wizlynn-slide[data-slide="2"] { background: linear-gradient(135deg, #2F8BFF 0%, #1A6DE0 40%, #146EA4 100%); }


.wizlynn-slide-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding-right: 40px;
}

.wizlynn-slide-text h3 {
  margin: 0;
  font-family: var(--display);
  font-size: 44px;
  font-weight: 600;
  color: #302e2d;
  line-height: 1.2;
}

.wizlynn-slide-text p {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #716f6c;
}

.wizlynn-slide .wizlynn-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding: 14px 32px;
  border: none;
  border-radius: 999px;
  background: #146EA4;
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  width: fit-content;
  transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease;
  box-shadow: 0 4px 16px rgba(18,89,176,0.25);
}

.wizlynn-slide .wizlynn-cta::after {
  display: none;
}

.wizlynn-slide .wizlynn-cta:hover {
  background: #0f5a87;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(18,89,176,0.35);
}

.wizlynn-slide .wizlynn-cta .cta-sparkle {
  display: none;
}

.wizlynn-slide[data-slide="2"] .wizlynn-cta .cta-sparkle {
  filter: brightness(0) saturate(100%) invert(25%) sepia(90%) saturate(1500%) hue-rotate(200deg) brightness(95%);
}

.wizlynn-slide .wizlynn-cta .cta-arrow {
  display: none;
}

/* Slide 3 white button override */
.wizlynn-slide[data-slide="2"] .wizlynn-cta {
  background: #ffffff;
  color: #146EA4;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.wizlynn-slide[data-slide="2"] .wizlynn-cta:hover {
  background: #f0f6ff;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

.wizlynn-slide-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Mock UI — light theme */
.wizlynn-mock-ui {
  width: 100%;
  max-width: 400px;
  border-radius: 16px;
  background: linear-gradient(145deg, #e8f4fd, #d4f0f7);
  border: 1px solid rgba(20, 110, 164, 0.08);
  overflow: hidden;
  box-shadow: none;
}

.mock-topbar {
  display: flex;
  gap: 6px;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(20, 110, 164, 0.06);
}

.mock-topbar span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.mock-topbar span:first-child { background: #ff6b6b; }
.mock-topbar span:nth-child(2) { background: #ffc107; }
.mock-topbar span:nth-child(3) { background: #4caf50; }

.mock-chat {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mock-bubble {
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.5;
  max-width: 85%;
}

.mock-bubble.mock-agent {
  background: rgba(255, 255, 255, 0.85);
  color: #302e2d;
  align-self: flex-start;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.mock-bubble.mock-user {
  background: rgba(20, 110, 164, 0.15);
  color: #1e3a5f;
  align-self: flex-end;
}

.mock-bubble.mock-system {
  background: rgba(34, 197, 94, 0.15);
  color: #16a34a;
  align-self: center;
  font-size: 12px;
  font-weight: 600;
}

.mock-badge {
  margin: 0 18px 18px;
  padding: 8px 14px;
  border-radius: 8px;
  background: rgba(20, 110, 164, 0.1);
  color: #146EA4;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  display: inline-block;
}

.mock-dashboard {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 18px;
}

.mock-stat {
  text-align: center;
  padding: 16px 8px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.7);
}

.mock-stat strong {
  display: block;
  font-size: 22px;
  color: #302e2d;
  margin-bottom: 4px;
}

.mock-stat span {
  font-size: 11px;
  color: #716f6c;
}

/* Vertical right-edge tabs (moyin-style) */
.wizlynn-carousel-tabs {
  display: none;
}

.wizlynn-tab {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 8px;
  border: none;
  cursor: pointer;
  transition: background 300ms ease, color 300ms ease, opacity 300ms ease;
  position: relative;
}

.wizlynn-tab[data-tab="0"] { background: #F0F9FF; }
.wizlynn-tab[data-tab="1"] { background: #B2E3FF; }
.wizlynn-tab[data-tab="2"] { background: #2F8BFF; }

.wizlynn-tab + .wizlynn-tab {
  border-top: none;
}

.wizlynn-tab.is-active {
  display: none;
}

.tab-num {
  font-size: 15px;
  font-weight: 700;
  color: #5a6a7a;
  font-family: var(--display);
  transition: color 300ms ease;
}

.tab-label {
  font-size: 13px;
  font-weight: 600;
  color: #5a6a7a;
  line-height: 1.3;
  text-align: center;
  transition: color 300ms ease;
}

.wizlynn-tab[data-tab="2"] .tab-num,
.wizlynn-tab[data-tab="2"] .tab-label {
  color: #ffffff;
}

.wizlynn-tab:hover {
  opacity: 0.85;
}

.wizlynn-slide[data-slide="2"] .wizlynn-slide-text h3 {
  color: #fff;
}
.wizlynn-slide[data-slide="2"] .wizlynn-slide-text p {
  color: rgba(255,255,255,0.85);
}
.wizlynn-slide[data-slide="2"] .wizlynn-cta {
  background: #fff;
  border-color: #fff;
  color: #2F8BFF;
}
.wizlynn-slide[data-slide="2"] .wizlynn-cta:hover {
  background: #e8f0fe;
}

.wizlynn-slide[data-slide="2"] .wizlynn-mock-ui {
  background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,255,255,0.08));
  border-color: rgba(255,255,255,0.2);
}
.wizlynn-slide[data-slide="2"] .mock-topbar {
  border-bottom-color: rgba(255,255,255,0.1);
}
.wizlynn-slide[data-slide="2"] .mock-bubble.mock-agent {
  background: rgba(255,255,255,0.18);
  color: #ffffff;
  box-shadow: none;
}
.wizlynn-slide[data-slide="2"] .mock-bubble.mock-user {
  background: rgba(255,255,255,0.3);
  color: #ffffff;
}
.wizlynn-slide[data-slide="2"] .mock-bubble.mock-system {
  background: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
}
.wizlynn-slide[data-slide="2"] .mock-badge {
  background: rgba(255,255,255,0.18);
  color: #ffffff;
}
.wizlynn-slide[data-slide="2"] .mock-stat {
  background: rgba(255,255,255,0.15);
}
.wizlynn-slide[data-slide="2"] .mock-stat strong {
  color: #ffffff;
}
.wizlynn-slide[data-slide="2"] .mock-stat span {
  color: rgba(255,255,255,0.7);
}

/* ===== AI-Ops Ready — Horizontal Flow Diagram ===== */
.ops-flow {
  position: relative;
  width: 100%;
  max-width: 580px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 32px 24px;
  border-radius: 24px;
  background: none;
}

/* Connecting pulse line — hidden in 2x2 layout */
.ops-flow-line {
  display: none;
}

/* Steps container — 2x2 grid */
.ops-flow-steps {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
  position: relative;
  z-index: 1;
  width: 100%;
}

/* Arrows — hidden in grid layout */
.ops-flow-arrow {
  display: none;
}

/* Individual step */
.ops-flow-step {
  display: grid;
  grid-template-columns: 40px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 2px;
  align-items: center;
  padding: 12px 12px;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255,255,255,0.14), rgba(255,255,255,0.06));
  border: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  animation: ops-step-in 0.5s ease forwards;
  animation-delay: var(--step-delay, 0s);
}
.ops-flow-step .ops-flow-icon-wrap {
  grid-row: 1 / 3;
}
.ops-flow-step .ops-flow-label {
  grid-column: 2;
  align-self: end;
}
.ops-flow-step .ops-flow-desc {
  grid-column: 2;
  align-self: start;
  margin-top: 0;
}

@keyframes ops-step-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Icon wrapper with ring */
.ops-flow-icon-wrap {
  position: relative;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

.ops-flow-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255,255,255,0.22), rgba(255,255,255,0.1));
  border: 1px solid rgba(255,255,255,0.3);
  display: grid;
  place-items: center;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  z-index: 1;
}

.ops-flow-icon svg {
  width: 20px;
  height: 20px;
}

.ops-flow-icon:hover {
  transform: scale(1.06);
  box-shadow: 0 6px 20px rgba(0,0,0,0.2);
}

.ops-flow-ring {
  display: none;
}

/* Labels */
.ops-flow-label {
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.01em;
  line-height: 1.2;
}

.ops-flow-desc {
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  font-weight: 400;
  margin-top: 2px;
}

/* Floating stat badges */
.ops-flow-badge {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(224,240,255,0.55), rgba(180,220,255,0.35));
  border: 1px solid rgba(255,255,255,0.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-size: 11px;
  color: rgba(255,255,255,0.85);
  white-space: nowrap;
  z-index: 2;
  box-shadow: 0 4px 14px rgba(10,60,140,0.1);
}
.ops-flow-badge strong {
  font-size: 12px;
  font-weight: 700;
  color: #ffffff;
}
.ops-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 8px rgba(74,222,128,0.6);
  flex-shrink: 0;
}
.ops-badge-dot-cyan {
  background: #67e8f9;
  box-shadow: 0 0 8px rgba(103,232,249,0.6);
}

.ops-badge-1 {
  animation: ops-badge-float 4s ease-in-out infinite;
}
.ops-badge-2 {
  animation: ops-badge-float 4s ease-in-out infinite 2s;
}

@keyframes ops-badge-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* Responsive — tablet */
@media (max-width: 1024px) {
  .wizlynn-slide {
    grid-template-columns: 1fr 1fr;
    padding: 48px 40px;
  }
  .wizlynn-slide-text h3 {
    font-size: 34px;
  }
  .wizlynn-carousel-card {
    height: 700px;
  }
}

/* Responsive — mobile */
@media (max-width: 768px) {
  .wizlynn-feature {
    height: auto;
  }
  .wizlynn-feature-sticky {
    position: relative;
    height: auto;
  }
  .wizlynn-carousel {
    margin-top: 32px;
  }
  .wizlynn-carousel-card {
    flex-direction: column;
    height: auto;
  }
  .wizlynn-slide {
    grid-template-columns: 1fr;
    padding: 36px 24px;
    gap: 28px;
    min-height: auto;
    justify-items: center;
  }
  .wizlynn-slide-text {
    padding-right: 0;
    text-align: center;
    align-items: center;
  }
  .wizlynn-slide-text h3 {
    font-size: 28px;
  }
  .wizlynn-slide-text p {
    font-size: 15px;
  }
  .wizlynn-slide .wizlynn-cta {
    align-self: center;
  }
  .wizlynn-slide-visual {
    max-height: 320px;
  }
  .wizlynn-carousel-tabs {
    flex-direction: row;
    width: 100%;
    border-left: none;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
  }
  .wizlynn-tab + .wizlynn-tab {
    border-top: none;
    border-left: 1px solid rgba(0, 0, 0, 0.05);
  }
  .wizlynn-feature .split-heading h2 {
    font-size: 30px;
  }
}

/* Responsive — small mobile */
@media (max-width: 480px) {
  .wizlynn-slide {
    padding: 28px 20px;
    gap: 24px;
  }
  .wizlynn-slide-text h3 {
    font-size: 24px;
  }
  .wizlynn-slide-visual {
    max-height: 260px;
  }
}

/* Keep old CTA base styles for reuse */
.wizlynn-cta-wrap {
  display: none;
}

.wizlynn-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  border: 1px solid rgba(19, 30, 54, 0.15);
  border-radius: 999px;
  background: #131e36;
  backdrop-filter: none;
  color: #ffffff;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 200ms ease, background 200ms ease, box-shadow 200ms ease;
}

.wizlynn-cta:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.14);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
}

.wizlynn-cta::after {
  display: none;
}

@media (max-width: 640px) {
  .wizlynn-value-card {
    min-height: auto;
  }
}

/* ===== Demo Preview cards — vertical white style ===== */
.demo-preview .split-heading h2,
.samples .split-heading h2 {
  font-size: 38px;
  font-weight: 400;
}

.demo-preview .split-heading {
  margin-bottom: 60px;
}

.demo-preview-grid .audio-demo-card.is-featured {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: auto;
  padding: 28px;
  border: none;
  border-left: none;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  backdrop-filter: none;
}

.demo-preview-grid .audio-demo-card.is-featured:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.demo-preview-grid .audio-player-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.demo-preview-grid .audio-play {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  padding: 0;
  border: 0;
  outline: none;
  background: rgba(20, 110, 164, 0.08);
  box-shadow: none;
  animation: none;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
}

.demo-preview-grid .audio-play:hover {
  background: rgba(20, 110, 164, 0.14);
  transform: scale(1.06);
}

.demo-preview-grid .audio-play::before {
  left: 50%;
  top: 50%;
  transform: translate(-40%, -50%);
  width: 14px;
  height: 16px;
  border: 0;
  border-radius: 2px;
  background: #146EA4;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.demo-preview-grid .audio-demo-card.is-playing .audio-play {
  background: #146EA4;
}

.demo-preview-grid .audio-demo-card.is-playing .audio-play:hover {
  background: #0f5a87;
}

.demo-preview-grid .audio-wave-anim {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 32px;
  flex: 1;
  opacity: 1;
}

.demo-preview-grid .audio-wave-anim span {
  display: block;
  width: 2.5px;
  border-radius: 1.5px;
  background: #e0e4e8;
  transition: background 0.4s ease, height 0.3s ease;
  animation: none;
}

/* Static waveform heights — mimics a natural audio waveform shape */
.demo-preview-grid .audio-wave-anim span:nth-child(1)  { height: 6px; }
.demo-preview-grid .audio-wave-anim span:nth-child(2)  { height: 10px; }
.demo-preview-grid .audio-wave-anim span:nth-child(3)  { height: 8px; }
.demo-preview-grid .audio-wave-anim span:nth-child(4)  { height: 14px; }
.demo-preview-grid .audio-wave-anim span:nth-child(5)  { height: 18px; }
.demo-preview-grid .audio-wave-anim span:nth-child(6)  { height: 12px; }
.demo-preview-grid .audio-wave-anim span:nth-child(7)  { height: 22px; }
.demo-preview-grid .audio-wave-anim span:nth-child(8)  { height: 16px; }
.demo-preview-grid .audio-wave-anim span:nth-child(9)  { height: 10px; }
.demo-preview-grid .audio-wave-anim span:nth-child(10) { height: 20px; }
.demo-preview-grid .audio-wave-anim span:nth-child(11) { height: 26px; }
.demo-preview-grid .audio-wave-anim span:nth-child(12) { height: 18px; }
.demo-preview-grid .audio-wave-anim span:nth-child(13) { height: 14px; }
.demo-preview-grid .audio-wave-anim span:nth-child(14) { height: 24px; }
.demo-preview-grid .audio-wave-anim span:nth-child(15) { height: 30px; }
.demo-preview-grid .audio-wave-anim span:nth-child(16) { height: 20px; }
.demo-preview-grid .audio-wave-anim span:nth-child(17) { height: 16px; }
.demo-preview-grid .audio-wave-anim span:nth-child(18) { height: 22px; }
.demo-preview-grid .audio-wave-anim span:nth-child(19) { height: 12px; }
.demo-preview-grid .audio-wave-anim span:nth-child(20) { height: 18px; }
.demo-preview-grid .audio-wave-anim span:nth-child(21) { height: 24px; }
.demo-preview-grid .audio-wave-anim span:nth-child(22) { height: 14px; }
.demo-preview-grid .audio-wave-anim span:nth-child(23) { height: 8px; }
.demo-preview-grid .audio-wave-anim span:nth-child(24) { height: 16px; }
.demo-preview-grid .audio-wave-anim span:nth-child(25) { height: 20px; }
.demo-preview-grid .audio-wave-anim span:nth-child(26) { height: 28px; }
.demo-preview-grid .audio-wave-anim span:nth-child(27) { height: 18px; }
.demo-preview-grid .audio-wave-anim span:nth-child(28) { height: 12px; }
.demo-preview-grid .audio-wave-anim span:nth-child(29) { height: 22px; }
.demo-preview-grid .audio-wave-anim span:nth-child(30) { height: 16px; }
.demo-preview-grid .audio-wave-anim span:nth-child(31) { height: 10px; }
.demo-preview-grid .audio-wave-anim span:nth-child(32) { height: 20px; }
.demo-preview-grid .audio-wave-anim span:nth-child(33) { height: 26px; }
.demo-preview-grid .audio-wave-anim span:nth-child(34) { height: 14px; }
.demo-preview-grid .audio-wave-anim span:nth-child(35) { height: 18px; }
.demo-preview-grid .audio-wave-anim span:nth-child(36) { height: 8px; }
.demo-preview-grid .audio-wave-anim span:nth-child(37) { height: 12px; }
.demo-preview-grid .audio-wave-anim span:nth-child(38) { height: 6px; }
.demo-preview-grid .audio-wave-anim span:nth-child(39) { height: 10px; }
.demo-preview-grid .audio-wave-anim span:nth-child(40) { height: 4px; }

/* Playing state — colored bars with animation */
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span {
  background: #146EA4;
  animation: wave-bar 1.2s ease-in-out infinite;
}

.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(1)  { animation-delay: 0.00s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(2)  { animation-delay: 0.04s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(3)  { animation-delay: 0.08s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(4)  { animation-delay: 0.12s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(5)  { animation-delay: 0.16s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(6)  { animation-delay: 0.20s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(7)  { animation-delay: 0.24s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(8)  { animation-delay: 0.28s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(9)  { animation-delay: 0.32s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(10) { animation-delay: 0.36s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(11) { animation-delay: 0.40s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(12) { animation-delay: 0.44s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(13) { animation-delay: 0.48s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(14) { animation-delay: 0.52s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(15) { animation-delay: 0.56s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(16) { animation-delay: 0.60s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(17) { animation-delay: 0.64s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(18) { animation-delay: 0.68s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(19) { animation-delay: 0.72s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(20) { animation-delay: 0.76s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(21) { animation-delay: 0.80s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(22) { animation-delay: 0.84s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(23) { animation-delay: 0.88s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(24) { animation-delay: 0.92s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(25) { animation-delay: 0.96s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(26) { animation-delay: 1.00s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(27) { animation-delay: 1.04s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(28) { animation-delay: 1.08s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(29) { animation-delay: 1.12s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(30) { animation-delay: 1.16s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(31) { animation-delay: 0.10s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(32) { animation-delay: 0.22s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(33) { animation-delay: 0.34s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(34) { animation-delay: 0.46s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(35) { animation-delay: 0.58s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(36) { animation-delay: 0.70s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(37) { animation-delay: 0.82s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(38) { animation-delay: 0.94s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(39) { animation-delay: 1.06s; }
.demo-preview-grid .audio-demo-card.is-playing .audio-wave-anim span:nth-child(40) { animation-delay: 1.18s; }

/* Play button in playing state — pause icon */
.demo-preview-grid .audio-demo-card.is-playing .audio-play::before {
  clip-path: none;
  width: 12px;
  height: 14px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-left: 4px solid #fff;
  border-right: 4px solid #fff;
  background: transparent;
}

@keyframes wave-bar {
  0%, 100% { height: 4px; }
  50% { height: 28px; }
}

.demo-preview-grid .audio-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: none;
  padding-top: 0;
  margin-top: 20px;
}

.demo-preview-grid .audio-copy > span {
  order: -1;
}

.demo-preview-grid .audio-copy h3 {
  margin: 0;
  font-size: 20px;
}

.demo-preview-grid .audio-copy p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #716f6c;
}

/* ===== Industry pages — concise headings, fuller context ===== */
.solution-detail-hero h1 {
  font-family: var(--display);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0;
}

.solution-detail-hero p:not(.signal-label) {
  max-width: 760px;
  color: #716f6c;
  font-size: 18px;
  line-height: 1.5;
}

.solution-next-band .split-heading h2 {
  max-width: none;
  font-size: 44px;
  font-weight: 400;
  line-height: 46px;
  white-space: nowrap;
}

.solution-next-band .section-intro {
  max-width: 760px;
  font-size: 16px;
}

.solution-workflow-card,
.solution-proof-card {
  min-height: 236px;
  padding: 24px;
}

.solution-workflow-card h3,
.solution-proof-card h3 {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.12;
}

.solution-workflow-card p,
.solution-proof-card p,
.solution-proof-card li {
  font-size: 15px;
  line-height: 1.55;
}

/* ===== Industry detail vertical flow ===== */
.industry-vertical-hero {
  padding-bottom: 0;
}

.industry-showcase-section {
  padding: 80px 0;
  background: #ffffff;
}

.industry-showcase-section .solution-hero-showcase {
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  grid-template-areas:
    "image demo"
    "image logos"
    "image links";
  align-items: stretch;
  border: none;
  background: none;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
  backdrop-filter: none;
}

.industry-showcase-section .solution-hero-image {
  grid-area: image;
  min-height: 480px;
}

.industry-showcase-section .solution-hero-image img {
  min-height: 480px;
}

.industry-showcase-section .solution-demo-card {
  grid-area: demo;
}

.industry-showcase-section .solution-logo-row {
  grid-area: logos;
}

.industry-showcase-section .solution-quick-links {
  grid-area: links;
}

@media (max-width: 980px) {
  .industry-showcase-section .solution-hero-showcase {
    grid-template-columns: 1fr;
    grid-template-areas:
      "image"
      "demo"
      "logos"
      "links";
  }

  .industry-showcase-section .solution-hero-image,
  .industry-showcase-section .solution-hero-image img {
    min-height: 320px;
  }
}

.industry-vertical-hero .trust-hero-grid {
  grid-template-columns: 1fr;
  align-items: start;
  gap: 34px;
}

.industry-vertical-hero h1 {
  max-width: 920px;
}

.industry-vertical-hero .solution-hero-showcase {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  grid-template-areas:
    "image demo"
    "image logos"
    "image links";
  align-items: stretch;
}

.industry-vertical-hero .solution-hero-image {
  grid-area: image;
  min-height: 520px;
}

.industry-vertical-hero .solution-hero-image img {
  min-height: 520px;
}

.industry-vertical-hero .solution-demo-card {
  grid-area: demo;
}

.industry-vertical-hero .solution-logo-row {
  grid-area: logos;
}

.industry-vertical-hero .solution-quick-links {
  grid-area: links;
}

.industry-vertical-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  max-width: 100%;
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid rgba(8, 109, 158, 0.14);
}

.industry-vertical-nav a {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  text-decoration: none;
  box-shadow: none;
  transition: color 180ms ease, transform 180ms ease;
}

.industry-vertical-nav a::after {
  content: "->";
  position: static;
  color: var(--orange);
  font-weight: 820;
}

.industry-vertical-nav a:hover {
  color: var(--blue);
  transform: translateX(3px);
}

.industry-vertical-nav span {
  display: none;
}

.industry-vertical-nav strong {
  max-width: none;
  color: var(--ink);
  font-family: var(--display);
  font-size: 17px;
  line-height: 1.1;
}

.industry-vertical-nav em {
  max-width: none;
  color: var(--muted);
  font-size: 14px;
  font-style: normal;
  line-height: 1.4;
}

.industry-vertical-nav em::before {
  content: "- ";
  color: rgba(102, 119, 131, 0.72);
}

.industry-vertical-flow {
  position: relative;
  overflow: hidden;
  padding-top: 88px;
  background:
    linear-gradient(rgba(8, 109, 158, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 109, 158, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, #ffffff 0%, #f6fbfc 100%);
  background-size: 44px 44px, 44px 44px, auto;
}

.industry-vertical-flow .split-heading {
  margin-bottom: 40px;
}

.industry-story-sections {
  display: grid;
  gap: 0;
}

.industry-story-panel {
  scroll-margin-top: 96px;
  border-top: 1px solid rgba(8, 109, 158, 0.12);
}

.industry-story-panel-grid {
  display: grid;
  grid-template-columns: minmax(300px, 390px) minmax(0, 1fr);
  gap: 40px;
  align-items: center;
  min-height: 0;
  padding: 74px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.industry-story-panel:nth-child(even) .industry-story-panel-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
  background: transparent;
}

.industry-story-panel:nth-child(even) .industry-story-copy {
  order: 2;
}

.industry-story-panel:nth-child(even) .industry-metric-board,
.industry-story-panel:nth-child(even) .industry-journey-stack,
.industry-story-panel:nth-child(even) .industry-control-board,
.industry-story-panel:nth-child(even) .industry-case-list {
  order: 1;
}

.industry-story-copy {
  display: grid;
  align-content: center;
  justify-items: start;
  max-width: 390px;
  padding-left: 0;
  border-left: 0;
}

.industry-story-copy .product-story-index {
  margin-bottom: 16px;
}

.industry-story-copy .product-story-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 22px;
}

.industry-story-copy .product-story-proof span {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--blue-deep);
  font-family: var(--display);
  font-size: 18px;
  font-weight: 650;
  line-height: 1.2;
}

.industry-story-copy .product-story-proof span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--orange);
  vertical-align: 0.12em;
}

.industry-story-copy h3 {
  max-width: 390px;
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: 36px;
  font-weight: 650;
  line-height: 1.05;
}

.industry-story-copy strong {
  display: block;
  max-width: 370px;
  margin-top: 18px;
  color: var(--ink);
  font-family: var(--display);
  font-size: 19px;
  line-height: 1.12;
}

.industry-story-copy p:not(.product-story-index) {
  max-width: 370px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.industry-story-copy a {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  padding: 10px 14px;
  border: 1px solid rgba(8, 109, 158, 0.18);
  border-radius: 999px;
  background: #ffffff;
  color: var(--blue-deep);
  font-size: 14px;
  font-weight: 740;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(18, 32, 43, 0.06);
}

.industry-story-copy a::after {
  content: "->";
  color: var(--orange);
}

.industry-metric-board,
.industry-journey-stack,
.industry-control-board,
.industry-case-list {
  display: grid;
  gap: 12px;
}

.industry-metric-board {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.industry-metric-board article,
.industry-journey-stack article {
  min-height: 0;
  padding: 18px 0;
  border: 0;
  border-top: 1px solid rgba(8, 109, 158, 0.14);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.industry-metric-board strong {
  display: block;
  color: var(--orange);
  font-family: var(--mono);
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 600;
  line-height: 1;
}

.industry-metric-board span,
.industry-journey-stack span,
.industry-control-board span,
.industry-case-list span {
  display: inline-flex;
  width: fit-content;
  color: var(--blue-deep);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.industry-metric-board p,
.industry-journey-stack p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.48;
}

.industry-journey-stack {
  counter-reset: finance-step;
}

.industry-journey-stack article {
  position: relative;
  min-height: 132px;
  padding-left: 0;
}

.industry-journey-stack article::before {
  display: none;
}

.industry-journey-stack h4 {
  margin: 10px 0 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: 26px;
  line-height: 1.05;
}

.industry-control-board {
  position: relative;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-content: center;
  gap: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid rgba(8, 109, 158, 0.14);
  border-bottom: 1px solid rgba(8, 109, 158, 0.14);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.industry-control-board a {
  position: relative;
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 14px;
  min-height: 210px;
  padding: 28px 24px 28px 0;
  border: 0;
  border-right: 1px solid rgba(8, 109, 158, 0.12);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  text-decoration: none;
  backdrop-filter: none;
  transition: color 180ms ease, transform 180ms ease;
}

.industry-control-board a:not(:first-child) {
  padding-left: 24px;
}

.industry-control-board a:last-child {
  border-right: 0;
}

.industry-control-board a::after {
  content: "->";
  position: absolute;
  right: 24px;
  bottom: 28px;
  color: var(--orange);
  font-weight: 820;
}

.industry-control-board a:hover {
  color: var(--blue);
  transform: translateY(-3px);
}

.industry-control-board strong {
  max-width: 190px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 650;
  line-height: 1.05;
}

.industry-control-board em {
  max-width: 190px;
  color: var(--muted);
  font-size: 14px;
  font-style: normal;
  line-height: 1.5;
}

.industry-control-board span {
  color: var(--orange);
}

.industry-case-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-content: stretch;
}

.industry-case-list a {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 18px;
  min-height: 220px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(8, 109, 158, 0.12);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 248, 250, 0.74));
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 18px 44px rgba(18, 32, 43, 0.065);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.industry-case-list a::before {
  display: none;
}

.industry-case-list a::after {
  display: none;
}

.industry-case-list a:hover {
  transform: translateY(-4px);
  border-color: rgba(8, 109, 158, 0.22);
  box-shadow: 0 24px 60px rgba(18, 32, 43, 0.095);
}

.industry-case-list strong {
  max-width: 260px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 650;
  line-height: 1.04;
}

.industry-case-list em {
  align-self: end;
  width: fit-content;
  color: var(--blue-deep);
  font-size: 14px;
  font-style: normal;
  font-weight: 740;
  line-height: 1;
}

.industry-case-list span {
  color: var(--orange);
}

@media (max-width: 980px) {
  .industry-vertical-hero .trust-hero-grid,
  .industry-story-panel-grid,
  .industry-story-panel:nth-child(even) .industry-story-panel-grid {
    grid-template-columns: 1fr;
  }

  .industry-vertical-hero .solution-hero-showcase {
    grid-template-columns: 1fr;
    grid-template-areas:
      "image"
      "demo"
      "logos"
      "links";
  }

  .industry-vertical-hero .solution-hero-image,
  .industry-vertical-hero .solution-hero-image img {
    min-height: 320px;
  }

  .industry-vertical-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .industry-story-panel:nth-child(even) .industry-story-copy,
  .industry-story-panel:nth-child(even) .industry-metric-board,
  .industry-story-panel:nth-child(even) .industry-journey-stack,
  .industry-story-panel:nth-child(even) .industry-control-board,
  .industry-story-panel:nth-child(even) .industry-case-list {
    order: initial;
  }

  .industry-story-copy {
    max-width: 680px;
  }

  .industry-case-list {
    grid-template-columns: 1fr;
  }

  .industry-case-list a {
    min-height: 150px;
  }

  .industry-control-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 0;
  }

  .industry-control-board a {
    min-height: 170px;
    padding: 24px 22px 24px 0;
    border-bottom: 1px solid rgba(8, 109, 158, 0.12);
  }

  .industry-control-board a:nth-child(2n) {
    border-right: 0;
    padding-left: 22px;
  }

  .industry-control-board a:nth-child(2n + 1) {
    padding-left: 0;
  }
}

@media (max-width: 640px) {
  .industry-vertical-nav,
  .industry-metric-board {
    grid-template-columns: 1fr;
  }

  .industry-vertical-hero .solution-hero-image,
  .industry-vertical-hero .solution-hero-image img {
    min-height: 220px;
  }

  .industry-story-panel-grid {
    padding: 52px 0;
    border-radius: 0;
  }

  .industry-story-copy {
    padding-left: 0;
  }

  .industry-story-copy h3 {
    font-size: 30px;
  }

  .industry-journey-stack article {
    padding-left: 24px;
    padding-top: 58px;
  }

  .industry-control-board {
    grid-template-columns: 1fr;
  }

  .industry-control-board a,
  .industry-control-board a:not(:first-child),
  .industry-control-board a:nth-child(2n) {
    min-height: 132px;
    padding: 22px 44px 22px 0;
    border-right: 0;
  }

  .industry-control-board strong,
  .industry-control-board em {
    max-width: none;
  }

  .industry-control-board a::after {
    right: 0;
    bottom: 22px;
  }
}

.product-detail-card h2 {
  font-size: clamp(26px, 2.4vw, 34px);
  line-height: 1.08;
}

.product-detail-card p,
.product-detail-card li {
  font-size: 15px;
  line-height: 1.5;
}

/* ===== Product detail pages — final scale lock ===== */
.product-story-hero {
  min-height: 500px;
  display: flex;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 60px;
}

.product-story-copy h1 {
  font-family: var(--display);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
}

.product-story-copy p {
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
  color: #716f6c;
  margin-bottom: 20px;
}

.product-phrase-section,
.product-operating-section,
.product-proof-section,
.product-ideas-section {
  padding-top: 72px;
  padding-bottom: 160px;
}

.product-operating-section {
  padding-top: 0;
  padding-bottom: 80px;
}

.product-phrase-section {
  padding-top: 40px;
  padding-bottom: 0;
}

.product-phrase-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
}

.product-phrase-block h2 {
  font-family: var(--display);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0;
  text-align: center;
  margin: 0 0 24px;
}

.product-proof-section .product-proof-copy h2 {
  font-family: var(--display);
  font-size: 44px;
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: 0;
  text-align: left;
  color: var(--ink);
  margin: 0 0 24px;
}

.product-phrase-block p:not(.section-kicker) {
  max-width: 660px;
  margin: 0 auto 56px;
  color: #716f6c;
  font-size: clamp(14px, 1.2vw, 16px);
  line-height: 1.6;
}

.product-proof-section .product-proof-grid {
  grid-template-columns: 1fr;
  gap: 28px;
}

.product-proof-section .product-proof-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 0;
}

.product-proof-section .product-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 0;
  row-gap: 48px;
  margin-top: 48px;
}

.product-proof-section .product-metric-grid article {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: auto;
  padding: 0 32px 0 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border: none;
  border-left: 1px solid rgba(255, 255, 255, 0.15);
  padding-left: 24px;
}

.product-proof-section .product-metric-grid article:first-child,
.product-proof-section .product-metric-grid article:nth-child(4) {
  border-left: none;
  padding-left: 0;
}

.product-proof-section .product-metric-grid span {
  color: #ffffff;
  font-family: var(--display);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.12;
  margin-bottom: 16px;
}

.product-proof-section .product-metric-grid strong {
  color: #ffffff;
  font-family: var(--display);
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  text-align: left;
}

.product-proof-section .product-metric-grid p {
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 14px;
  line-height: 1.5;
}


.product-metric-icon {
  display: none;
  align-items: flex-start;
  justify-content: flex-start;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: #767676;
  flex-shrink: 0;
  margin-bottom: 40px;
}

.product-operating-card,
.product-idea-card {
  min-height: 196px;
  padding: 24px;
}

.product-idea-card {
  min-height: auto;
  padding: 20px 24px;
}

.product-operating-card h3,
.product-idea-card h3 {
  margin-top: 30px;
  margin-bottom: 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
}

.product-idea-card h3 {
  margin-top: 16px;
  font-size: clamp(20px, 1.8vw, 26px);
}

.product-operating-card p,
.product-idea-card p {
  font-size: 15px;
  line-height: 1.5;
}

.product-idea-card p {
  font-size: 14px;
}

.product-ideas-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

.product-ideas-left {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.product-ideas-left .section-kicker {
  margin: 0 0 16px;
}

.product-ideas-left h2 {
  font-family: var(--display);
  font-size: clamp(26px, 2.9vw, 38px);
  font-weight: 400;
  line-height: 1.15;
  margin: 0 0 16px;
  color: var(--ink);
}

.product-ideas-desc {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}

.product-ideas-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wizlynn-flow-section {
  padding-top: 72px;
  padding-bottom: 88px;
  background:
    radial-gradient(circle at 8% 0%, rgba(239, 119, 48, 0.08), transparent 26%),
    linear-gradient(180deg, #f7fbfc 0%, #ffffff 100%);
}

.wizlynn-flow-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.wizlynn-flow-grid article {
  min-height: 220px;
  padding: 24px;
  border: 1px solid rgba(18, 32, 43, 0.08);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 2px 12px rgba(18, 32, 43, 0.04);
}

.wizlynn-flow-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #f0f0f0;
  color: #1a1a1a;
  font-family: 'Inter', var(--sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.wizlynn-flow-grid h3,
.wizlynn-readiness-list h3 {
  margin: 28px 0 24px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
}

.wizlynn-flow-grid p,
.wizlynn-readiness-list p,
.wizlynn-readiness-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.wizlynn-readiness-section {
  padding-top: 84px;
  padding-bottom: 96px;
  background: linear-gradient(180deg, #f7fbfc 0%, #ffffff 100%);
}

.wizlynn-readiness-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 48px;
  align-items: start;
}

.wizlynn-readiness-copy h2 {
  margin: 0 0 18px;
  color: var(--ink);
  font-family: var(--display);
  font-size: 44px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.1;
}

.wizlynn-readiness-copy p {
  max-width: 520px;
  font-size: 16px;
}

.wizlynn-readiness-list {
  display: grid;
  gap: 14px;
}

.wizlynn-readiness-list article {
  padding: 24px;
  border: none;
  border-radius: 16px;
  background: #f5f6f7;
  box-shadow: none;
}

.wizlynn-readiness-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #e8e8e8;
  color: #1a1a1a;
  font-family: 'Inter', var(--sans);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 24px;
}

.wizlynn-readiness-list h3 {
  margin-top: 0;
  margin-bottom: 12px;
  font-size: 24px;
  font-weight: 400;
}

@media (max-width: 980px) {
  .product-phrase-block,
  .product-proof-section .product-proof-copy,
  .product-proof-section .product-metric-grid,
  .wizlynn-flow-grid,
  .wizlynn-readiness-grid {
    grid-template-columns: 1fr;
  }

  .product-proof-section .product-metric-grid article {
    border-left: none;
    padding-left: 0;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .product-proof-section .product-metric-grid article:first-child {
    border-top: none;
    padding-top: 0;
  }

  .product-phrase-block p:not(.section-kicker) {
    grid-column: auto;
    margin-top: 0;
  }
}

/* Keep the mobile/tablet header usable after all refresh overrides. */
@media (max-width: 980px) {
  .site-header {
    display: flex;
    grid-template-columns: none;
    width: calc(100% - 24px);
    margin: 12px;
    padding: 10px 12px;
    justify-content: space-between;
    gap: 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 36px rgba(18, 32, 43, 0.12);
    backdrop-filter: blur(14px);
  }

  .brand {
    flex: 0 0 auto;
  }

  .brand img {
    width: 120px;
  }

  .mobile-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 20px;
    margin-left: auto;
    border-radius: 999px;
    background: #146EA4;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(20, 110, 164, 0.2);
    transition: background 200ms ease, transform 200ms ease;
  }

  .mobile-cta:hover {
    background: #0f5a87;
    transform: translateY(-1px);
  }

  .nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-left: 12px;
    position: relative;
  }

  .nav-toggle span {
    position: absolute;
    width: 20px;
    height: 2px;
    background: var(--ink, #12202b);
    border-radius: 1px;
    transition: transform 0.25s ease, opacity 0.2s ease;
  }

  .nav-toggle span:first-child {
    transform: translateY(-4px);
  }

  .nav-toggle span:last-child {
    transform: translateY(4px);
  }

  /* Hamburger → X when nav is open */
  body.nav-open .nav-toggle span:first-child {
    transform: rotate(45deg);
  }

  body.nav-open .nav-toggle span:last-child {
    transform: rotate(-45deg);
  }

  .site-header {
    overflow: visible !important;
  }

  .site-nav {
    position: absolute;
    top: calc(100% + 8px);
    left: -12px;
    right: -12px;
    max-height: calc(100vh - 80px);
    display: none;
    flex: none;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 24px 0 16px;
    overflow-y: auto;
    border: none;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 12px 40px rgba(18, 32, 43, 0.12);
    z-index: 999;
  }

  body.nav-open .site-nav {
    display: flex;
  }

  .site-nav > a:not(.nav-cta) {
    display: block;
    padding: 20px 24px;
    font-size: 18px;
    font-weight: 500;
    color: var(--ink);
  }

  .site-nav .nav-cta {
    display: none;
  }

  /* ── Mobile nav: collapsed list ── */
  .nav-menu {
    display: grid;
    width: 100%;
  }

  .nav-back {
    display: none !important;
  }

  .nav-menu .nav-parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    font-size: 18px;
    font-weight: 500;
    color: var(--ink);
    border-radius: 0 !important;
  }

  .nav-menu:hover .nav-parent,
  .nav-menu:focus-within .nav-parent,
  .nav-menu.is-open .nav-parent {
    border-radius: 0 !important;
  }

  .nav-menu .nav-parent::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid #94a3b8;
    border-bottom: 1.5px solid #94a3b8;
    transform: rotate(45deg);
    flex-shrink: 0;
    margin-left: auto;
    transition: transform 0.2s ease;
  }

  .nav-menu.is-open .nav-parent::after {
    transform: rotate(-135deg);
  }

  .nav-panel,
  .nav-panel-company,
  .nav-panel-product {
    display: none;
  }

  /* ── Mobile nav: accordion expand ── */
  .nav-menu.is-open .nav-panel,
  .nav-menu.is-open .nav-panel-company,
  .nav-menu.is-open .nav-panel-product {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    position: static !important;
    width: 100% !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    box-shadow: none !important;
    border: none !important;
    background: #f9fafb !important;
    border-radius: 0 !important;
  }

  .nav-menu.is-open .nav-panel a {
    display: flex !important;
    align-items: center !important;
    height: 52px !important;
    padding: 0 24px 0 40px !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    min-height: auto !important;
    font-size: 16px !important;
  }

  .nav-menu.is-open .nav-panel a span {
    display: none !important;
  }

  .nav-menu.is-open .nav-panel a strong {
    font-size: 16px;
    font-weight: 400;
    color: var(--ink, #12202b);
  }
}

.value-message {
  max-width: 980px;
  margin: 0 auto 38px;
  text-align: center;
}

.value-section {
  padding: 74px 0 88px;
  scroll-margin-top: 84px;
}

.value-section .reveal {
  opacity: 1;
  transform: none;
}

.value-product {
  width: fit-content;
  margin: 0 auto 18px;
  padding: 8px 15px;
  border: none;
  border-radius: 999px;
  color: var(--blue);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.74);
}

.value-message h2 {
  margin: 0 0 24px;
  color: #302e2d;
  font-family: var(--display);
  font-size: 36px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 46px;
}

.value-support {
  max-width: 760px;
  margin: 0 auto 56px;
  color: #716f6c;
  font-size: clamp(14px, 1.2vw, 16px);
  font-weight: 400;
  line-height: 1.55;
}

.value-section .value-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 32px;
  overflow: visible;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.value-section .value-card h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
  color: #0F172A;
}

.value-card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}


.value-section .value-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 10px;
  background: rgba(20, 110, 164, 0.08);
  color: #146EA4;
  padding: 0;
  margin: 0;
  font-size: 0;
  letter-spacing: 0;
  text-transform: none;
}

.value-section .value-card > p {
  margin: 0 0 20px;
  color: #716f6c;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}

.value-section .value-card {
  min-height: 0;
  padding: 28px 28px 24px;
  border: none;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 4px 20px rgba(18, 32, 43, 0.04);
  display: flex;
  flex-direction: column;
  gap: 0;
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.value-section .value-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(18, 32, 43, 0.1);
}

.value-section .value-card + .value-card {
  border: none;
}

.value-section .value-card::before {
  display: none;
}

.value-section .value-card > p {
  display: none;
}

.value-section .value-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 16px 0 0;
  border-top: 1px solid #E2E8F0;
  list-style: none;
}

.value-section .value-card li {
  position: relative;
  padding-left: 24px;
  color: #716f6c;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
}

.value-section .value-card li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: #716f6c;
  opacity: 0.8;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .value-section .value-grid {
    grid-template-columns: 1fr;
  }

  .value-section .value-card + .value-card {
    border-left: none;
    border-top: none;
  }

  .value-message h2 {
    font-size: clamp(26px, 2.9vw, 38px);
  }
}

/* All card bold text: font-weight 500 */
.value-card h3,
.suite-card h3,
.resource-preview-card h3,
.wizlynn-value-card h3,
.product-story-panel h3,
.product-story-copy strong,
.product-operating-card h3,
.product-idea-card h3,
.product-detail-card h2,
.product-directory-card h3,
.product-simple-card h2,
.product-flow-steps h3,
.product-data-copy h2,
.product-directory-topline strong,
.product-directory-nav strong,
.product-placeholder-card strong,
.product-media-placeholder strong,
.product-job-card strong,
.product-job-copy h1,
.product-screen-placeholder strong,
.audio-copy h3,
.about-card h3,
.trust-pillar h2,
.location-card h2,
.industry-card-content h3,
.industry-story-copy h3,
.industry-story-copy strong,
.industry-overview-copy h2,
.industry-control-board strong,
.industry-case-list strong,
.industry-journey-stack h4,
.solution-proof-card h3,
.solution-workflow-card h3,
.solution-demo-card h2,
.career-openings-panel h3,
#teams .product-detail-card h2,
.case-card h3,
.sample-card h3,
.differentiator h3,
.product-demo-showcase-copy h2,
.wiki-featured-title,
.wiki-card h3.wiki-card-title,
.blog-list-card-title,
.wizlynn-slide-text h3,
.demo-studio-head h3,
.studio-video-head h3 {
  font-weight: 500;
}

.trust-pillar h2 {
  font-weight: 300;
}

/* ── Glassmorphism Feature Visual ─────────────────────── */
.feat-visual {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.feat-compose {
  position: relative;
  width: 440px;
  height: 400px;
}

/* Sparkle */
.feat-star {
  position: absolute;
  top: 16px;
  left: 24px;
  color: rgba(59,130,246,0.45);
  z-index: 5;
  animation: feat-twinkle 3s ease-in-out infinite;
}
@keyframes feat-twinkle {
  0%, 100% { opacity: 0.45; transform: scale(1) rotate(0deg); }
  50% { opacity: 1; transform: scale(1.2) rotate(10deg); }
}

/* Dashed curve — hidden */
.feat-curve {
  display: none;
  position: absolute;
  top: 24px;
  left: 40px;
  width: 240px;
  height: 60px;
  z-index: 1;
  pointer-events: none;
}

/* Background depth layer */
.feat-bg {
  position: absolute;
  left: 0;
  top: 50px;
  width: 290px;
  height: 330px;
  background: rgba(255,255,255,0.28);
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.4);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 0;
}

/* Main glass card */
.feat-main {
  position: absolute;
  left: 14px;
  top: 90px;
  width: 266px;
  background: rgba(255,255,255,0.88);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.75);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(31,38,135,0.09), 0 1.5px 6px rgba(0,0,0,0.03);
  z-index: 2;
  overflow: hidden;
  animation: feat-drift-a 7s ease-in-out infinite;
}
@keyframes feat-drift-a {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* Main blue header */
.feat-m-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* Main body */
.feat-m-body { padding: 6px 14px 14px; }

/* Row */
.feat-m-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
.feat-m-row:last-child { border-bottom: none; }

/* Icon box */
.feat-m-ico {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Text */
.feat-m-info { flex: 1; min-width: 0; }
.feat-m-info strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.3;
}
.feat-m-info span {
  display: block;
  font-size: 11px;
  color: #94a3b8;
  line-height: 1.3;
}

/* Tag */
.feat-m-tag {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Side overlay card */
.feat-side {
  position: absolute;
  right: 0;
  top: 10px;
  width: 200px;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.75);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(31,38,135,0.1), 0 1.5px 6px rgba(0,0,0,0.03);
  z-index: 3;
  overflow: hidden;
  animation: feat-drift-b 7s ease-in-out infinite 1s;
}
@keyframes feat-drift-b {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

/* Side blue header */
.feat-s-top {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 16px;
  background: linear-gradient(135deg, #60a5fa, #3b82f6);
  color: #fff;
}
.feat-s-ava {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.feat-s-title strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  line-height: 1.3;
}
.feat-s-title span {
  display: block;
  font-size: 11px;
  color: rgba(255,255,255,0.75);
  line-height: 1.3;
}

/* Side content */
.feat-s-content { padding: 16px; }

/* Meter */
.feat-s-meter > span {
  display: block;
  font-size: 11px;
  color: #94a3b8;
  margin-bottom: 6px;
}
.feat-s-track {
  height: 4px;
  background: rgba(0,0,0,0.06);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 14px;
}
.feat-s-fill {
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #3b82f6, #06b6d4);
  border-radius: 2px;
  animation: feat-bar-grow 2s ease-out forwards 0.6s;
}
@keyframes feat-bar-grow { to { width: 80%; } }

/* Side action */
.feat-s-act {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #3b82f6;
}
.feat-s-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  animation: feat-blink 2s ease-in-out infinite;
}
@keyframes feat-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

/* Floating pill */
.feat-pill {
  position: absolute;
  bottom: 30px;
  right: 50px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: rgba(255,255,255,0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.6);
  border-radius: 20px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.05);
  font-size: 12px;
  font-weight: 500;
  color: #334155;
  z-index: 4;
  animation: feat-drift-c 6s ease-in-out infinite 2s;
}
@keyframes feat-drift-c {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
.feat-pill-led {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  animation: feat-blink 2s ease-in-out infinite;
}

/* ── Slide-specific ─────────────────────── */
.feat-natural .feat-bg {
  background: rgba(255,255,255,0.22);
}
.feat-controlled .feat-bg {
  display: none;
}

/* Controlled — mirrored layout */
.feat-controlled .feat-main {
  left: auto;
  right: 14px;
  top: 100px;
}

.feat-controlled .feat-side {
  right: auto;
  left: 0;
  top: 20px;
}

.feat-controlled .feat-star {
  left: auto;
  right: 24px;
}

.feat-controlled .feat-pill {
  right: auto;
  left: 40px;
}

.feat-controlled .feat-m-bar {
  background: linear-gradient(135deg, #06b6d4, #0891b2);
}

.feat-controlled .feat-s-top {
  background: linear-gradient(135deg, #22d3ee, #06b6d4);
}

/* ── Responsive ─────────────────────── */
@media (max-width: 1280px) {
  .feat-compose { transform: scale(0.82); }
}
@media (max-width: 1024px) {
  .feat-compose { transform: scale(0.72); }
}
@media (max-width: 980px) {
  .feat-compose { transform: scale(0.68); }
}
@media (max-width: 768px) {
  .feat-compose { transform: scale(0.58); }
  .wizlynn-slide-visual { max-height: none; }
}
@media (max-width: 640px) {
  .feat-compose { transform: scale(0.5); }
}
@media (max-width: 480px) {
  .feat-compose { transform: scale(0.44); }
}

/* ===== Blog carousel ===== */
.resources-carousel {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

#featured.trust-hero {
  padding-top: 120px;
  padding-bottom: 0;
}

#featured > .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 48px;
}

.resources-hero-header {
  margin-bottom: 0;
}

.resources-hero-header h1 {
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
  color: #302e2d;
  margin-bottom: 24px;
}

.resources-hero-desc {
  font-size: 16px;
  font-weight: 400;
  color: #716f6c;
  line-height: 1.6;
  max-width: 660px;
  margin: 0;
}

.resources-hero-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}
.resources-hero-visual svg {
  width: 100%;
  max-width: 480px;
  height: auto;
}

@media (max-width: 1024px) {
  #featured > .container {
    gap: 32px;
  }
}

@media (max-width: 768px) {
  #featured > .container {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .resources-hero-visual svg {
    max-width: 360px;
  }
}

@media (max-width: 640px) {
  .resources-hero-visual svg {
    max-width: 280px;
  }
}

.blog-carousel {
  max-width: 100%;
}

.blog-carousel-track {
  position: relative;
  min-height: 340px;
}

.blog-carousel-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
  align-items: start;
  text-decoration: none;
  color: inherit;
  opacity: 0;
  pointer-events: none;
  transition: opacity 500ms ease;
}

.blog-carousel-slide.is-active {
  position: relative;
  opacity: 1;
  pointer-events: auto;
}

.blog-carousel-img {
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, #f4f9ff 0%, #eaf3fb 100%);
  aspect-ratio: 4 / 3;
}

.blog-carousel-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 400ms ease;
}

.blog-carousel-slide:hover .blog-carousel-img img {
  transform: scale(1.03);
}

.blog-carousel-copy {
  padding-top: 4px;
}

.blog-carousel-cat {
  display: inline-block;
  margin-bottom: 16px;
  padding: 5px 10px;
  border-radius: 4px;
  background: rgba(8, 109, 158, 0.08);
  color: var(--blue-deep);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.blog-carousel-copy h3 {
  margin: 0 0 16px;
  color: #111827;
  font-family: var(--display);
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 500;
  line-height: 1.3;
}

.blog-carousel-copy p {
  margin: 0;
  color: #716f6c;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.7;
}

.blog-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 28px;
}

.blog-carousel-dots {
  display: flex;
  gap: 8px;
}

.blog-carousel-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #cbd5e1;
  cursor: pointer;
  transition: background 200ms ease, transform 200ms ease;
}

.blog-carousel-dot.is-active {
  background: #5583CD;
  transform: scale(1.25);
}

.blog-carousel-arrows {
  display: flex;
  gap: 8px;
}

.blog-carousel-arrow {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  background: #ffffff;
  color: #94a3b8;
  cursor: pointer;
  transition: border-color 200ms ease, color 200ms ease, box-shadow 200ms ease;
}

.blog-carousel-arrow:hover {
  border-color: #cbd5e1;
  color: #334155;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

@media (max-width: 760px) {
  .blog-carousel-slide {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .blog-carousel-track {
    min-height: auto;
  }

  .blog-carousel-slide.is-active {
    position: relative;
  }

  .blog-carousel-img {
    aspect-ratio: 16 / 9;
  }
}

/* Hot blogs section */
.hot-blogs {
  margin-top: 0;
  padding-bottom: 0;
  border-bottom: 1px solid #eee;
  margin-bottom: 40px;
}

.hot-blogs-label {
  margin: 0 0 20px;
  color: var(--ink);
  font-family: var(--display);
  font-size: 18px;
  font-weight: 500;
}

.hot-blogs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.hot-blog-card {
  position: relative;
}

.hot-blog-badge {
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.75);
  line-height: 1;
}
.hot-blog-badge svg {
  width: 16px;
  height: 16px;
}

@media (max-width: 900px) {
  .hot-blogs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .hot-blogs-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}

.insight-entry-main p {
  align-self: flex-start;
  padding: 6px 12px;
  border: 0;
  border-radius: 5px;
  background: #edf4fb;
  color: #146EA4;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}

/* ===== Insight library v2 (vertical card grid) ===== */
.insight-hub-v2 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.insight-search-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 720px;
  margin: 0 auto 40px;
  padding: 14px 24px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(18, 32, 43, 0.05);
  transition: border-color 200ms ease, box-shadow 200ms ease;
}

.insight-search-bar:focus-within {
  border-color: #5583CD;
  box-shadow: 0 0 0 3px rgba(85, 131, 205, 0.1);
}

.insight-search-bar svg {
  flex-shrink: 0;
  color: #94a3b8;
}

.insight-search-bar input {
  flex: 1;
  border: none;
  outline: none;
  background: none;
  font-size: 15px;
  font-family: inherit;
  color: var(--ink);
}

.insight-search-bar input::placeholder {
  color: #94a3b8;
  font-weight: 400;
}

.insight-filters-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: 720px;
  margin: 0 auto 80px;
}

.filter-arrow {
  display: none;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid #E2E8F0;
  border-radius: 50%;
  background: #fff;
  color: #64748B;
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease, box-shadow 200ms ease;
}

.filter-arrow:hover {
  background: #f1f5f9;
  color: #334155;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.insight-filters-v2 {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 6px;
  border-radius: 999px;
  background: #f1f5f9;
}

.insight-filters-v2 button {
  padding: 10px 24px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: #94a3b8;
  font-size: 15px;
  font-weight: 400;
  font-family: inherit;
  cursor: pointer;
  transition: background 200ms ease, color 200ms ease, box-shadow 200ms ease;
}

.insight-filters-v2 button:hover {
  color: #475569;
}

.insight-filters-v2 button.is-active {
  background: rgba(20, 110, 164, 0.1);
  color: #146EA4;
  font-weight: 500;
  box-shadow: none;
}

.insight-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  width: 100%;
}

.insight-no-results {
  grid-column: 1 / -1;
  padding: 60px 24px;
  text-align: center;
  color: #667783;
}

.insight-no-results p {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.6;
}

.insight-no-results p:first-child {
  font-size: 18px;
  color: var(--ink, #13202a);
}

.insight-no-results strong {
  color: #146EA4;
}

.insight-card-v2 {
  display: flex;
  flex-direction: column;
  border: none;
  border-radius: 14px;
  background: #ffffff;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: none;
  transition: transform 300ms ease;
}

.insight-card-v2:hover {
  transform: translateY(-4px);
  box-shadow: none;
}

.insight-card-v2-img {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 24px;
}

.insight-card-v2-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(8px);
  transform: scale(1.1);
  pointer-events: none;
  z-index: 0;
}

.insight-card-v2-img::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  background-size: 150px 150px;
  opacity: 0.8;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 1;
}

.insight-card-v2-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15);
  pointer-events: none;
  z-index: 2;
}

.insight-card-v2-title {
  position: relative;
  z-index: 3;
  color: #ffffff;
  font-family: var(--display);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  text-shadow: none;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.insight-card-v2-read {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.9);
  font-size: 11px;
  font-weight: 600;
  backdrop-filter: blur(6px);
}

.insight-card-v2-body {
  display: flex;
  flex-direction: column;
  padding: 16px 20px 20px;
}

.insight-card-v2-cat {
  display: inline-flex;
  align-self: flex-start;
  padding: 5px 10px;
  margin-bottom: 10px;
  border: none;
  border-radius: 4px;
  background: #f0f1f3;
  color: #4a4a4a;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.insight-card-v2-body h3 {
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.insight-card-v2-summary {
  margin: 8px 0 0;
  color: #716f6c;
  font-size: 13px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Pagination */
.insight-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  align-self: stretch;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #e8eaed;
}

.insight-page-info {
  color: #667783;
  font-size: 14px;
}

.insight-page-info b {
  color: var(--ink);
  font-weight: 600;
}

.insight-page-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.insight-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 50%;
  background: #f5f6f7;
  color: #3a3f47;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.insight-page-btn:hover {
  background: #eaecee;
}

.insight-page-btn.is-active {
  background: #146EA4;
  color: #ffffff;
}

.insight-page-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  color: #667783;
  font-size: 14px;
  letter-spacing: 2px;
}

.insight-page-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 50%;
  background: #f5f6f7;
  color: #3a3f47;
  cursor: pointer;
  transition: all 0.2s;
}

.insight-page-arrow:hover {
  background: #eaecee;
}

@media (max-width: 600px) {
  .insight-pagination {
    flex-direction: column;
    gap: 16px;
    align-items: center;
  }
}

@media (max-width: 900px) {
  .insight-grid-v2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 580px) {
  .insight-grid-v2 {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }

  .filter-arrow {
    display: flex;
  }

  .insight-filters-wrap {
    margin-bottom: 36px;
  }

  .insight-filters-v2 {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .insight-filters-v2::-webkit-scrollbar {
    display: none;
  }

  .insight-filters-v2 button {
    flex-shrink: 0;
  }

  #library .section-header,
  #library .section-header h2 {
    text-align: center;
  }

  #library .section-subtitle {
    margin: 0 auto;
    text-align: center;
  }

  .insight-hub-v2 {
    align-items: center;
  }

  .insight-search-bar {
    max-width: 100%;
    width: 100%;
  }

  .insight-filters-wrap {
    width: 100%;
    justify-content: center;
  }
}

#library .section-header {
  margin-bottom: 46px;
  text-align: center;
}

#library .section-header h2 {
  font-size: clamp(26px, 2.9vw, 38px);
  font-weight: 400;
  line-height: 46px;
  margin-top: 0;
  margin-bottom: 24px;
  text-align: center;
}

#library .section-subtitle {
  max-width: none;
  margin: 0 auto;
  color: #716f6c;
  font-size: clamp(14px, 1.2vw, 16px);
  font-weight: 400;
  white-space: normal;
  line-height: 1.6;
  text-align: center;
}

.insight-hub {
  display: grid;
  grid-template-columns: 238px 1fr;
  gap: 14px 18px;
  align-items: start;
  opacity: 1;
  transform: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.insight-toolbar {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 126px 1fr;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid #dce7f3;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 16px 44px rgba(17, 51, 86, 0.055);
}

.insight-filters {
  display: grid;
  grid-column: 1;
  grid-row: 2 / span 2;
  gap: 10px;
  max-height: 560px;
  margin: 0;
  overflow: auto;
  padding: 0 4px 0 0;
}

.insight-filters button {
  width: 100%;
  min-height: 56px;
  padding: 10px 14px;
  border: 1px solid rgba(13, 23, 32, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  color: #40515f;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.08;
  text-align: left;
  white-space: normal;
}

.insight-filters button.is-active {
  border-color: #f49a19;
  background: #0b7db4;
  box-shadow: 0 0 0 2px #f49a19 inset;
  color: #ffffff;
}

.insight-index-head {
  display: flex;
  grid-column: 2;
  grid-row: 2;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: -2px;
  color: #6b7b88;
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.insight-grid {
  display: grid;
  grid-column: 2;
  grid-row: 3;
  grid-template-columns: 1fr;
  gap: 1px;
  max-height: 560px;
  overflow-y: auto;
  padding: 0;
  border: 1px solid #cbd7e2;
  border-radius: 8px;
  background: #d8e0e6;
}

.insight-card {
  min-width: 0;
  min-height: 176px;
}

.insight-card a {
  position: relative;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  min-height: 176px;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.insight-card:hover a,
.insight-card:focus-within a {
  background: #ffffff;
  box-shadow: inset 4px 0 0 var(--orange);
  transform: translateX(2px);
}

.insight-entry-main {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 46px 34px 22px;
}

.insight-card h3 {
  margin: 20px 0 16px;
  color: #111827;
  font-size: clamp(23px, 2vw, 34px);
  font-weight: 700;
  line-height: 1.18;
}

.insight-entry-main > span {
  display: -webkit-box;
  overflow: hidden;
  color: #95a4b8;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.insight-entry-meta {
  position: static;
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 0 34px 24px;
  pointer-events: none;
}

.insight-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.insight-entry-mobile-tags {
  display: none;
}

.insight-entry-meta strong {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--orange);
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  white-space: nowrap;
}

.insight-entry-meta small {
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef4f8;
  color: #7c8c99;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.insight-entry-art {
  position: relative;
  min-width: 0;
  min-height: 176px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(239, 247, 252, 0.86) 100%),
    #f4f9ff;
}

.insight-entry-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 420ms ease;
}

.insight-card:hover .insight-entry-art img,
.insight-card:focus-within .insight-entry-art img {
  transform: scale(1.035);
}

@media (max-width: 980px) {
  #featured .resource-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  #featured .resource-card-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .insight-hub {
    grid-template-columns: 1fr;
  }

  .insight-filters,
  .insight-index-head,
  .insight-grid {
    grid-column: 1;
  }

  .insight-filters {
    display: flex;
    overflow-x: auto;
  }

  .insight-filters button {
    width: auto;
    min-width: 180px;
    white-space: normal;
  }

  .insight-card a {
    grid-template-columns: 132px minmax(0, 1fr);
  }

  .insight-entry-main {
    padding: 22px 18px 14px;
  }

  .insight-card h3 {
    font-size: 20px;
  }

  .insight-entry-main > span {
    margin-top: 0;
    font-size: 15px;
  }

  .insight-entry-meta {
    padding: 0 18px 18px;
  }

  .insight-tags {
    display: none;
  }
}

/* Subpage palette alignment: keep interior pages on the homepage color system. */
.product-demo-showcase,
.product-page-hero,
.solution-detail-hero,
.industry-vertical-flow,
.product-directory,
#featured.resources-preview {
  background:
    radial-gradient(circle at 88% 48%, rgba(77, 203, 215, 0.22), transparent 34%),
    linear-gradient(112deg, #ffffff 0%, #fbfdfe 48%, #eaf7f8 100%);
}

.product-story-hero {
  background: #fff;
  padding-top: 100px;
  padding-bottom: 100px;
}
.product-story-grid {
  align-items: start;
}

.product-operating-section {
  background: #ffffff;
}

.value-section {
  background:
    radial-gradient(circle at 12% 0%, rgba(77, 203, 215, 0.12), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #f7fbfc 54%, #eef7f8 100%);
}

.product-phrase-section,
.security-strip,
#wiki,
.blog-list-overlay {
  background: #ffffff;
}

.trust-hero h1,
.product-story-copy h1,
.product-demo-showcase-copy h2,
.product-phrase-block h2,
.product-proof-section .product-proof-copy h2,
.product-ideas-section .split-heading h2,
.solution-detail-hero h1,
.industry-story-copy h3,
.industry-case-list strong,
.product-directory-nav strong,
.resource-preview-card h3,
.wiki-featured-title,
.wiki-card h3.wiki-card-title,
.blog-list-card-title,
.insight-card h3,
.value-card h3,
.value-message h2,
.security-title {
  color: var(--ink);
}

.product-proof-section .product-proof-copy h2 {
  color: var(--ink);
}

.trust-hero p:not(.signal-label),
.solution-detail-hero p:not(.signal-label),
.product-story-copy p,
.product-phrase-block p:not(.section-kicker),
.product-demo-showcase-copy p:not(.section-kicker),
.industry-story-copy p:not(.product-story-index),
.industry-journey-stack p,
.industry-metric-board p,
.resource-preview-card p,
.wiki-featured-desc,
.value-card p,
.value-support,
.security-subtitle {
  color: var(--muted);
}

.wiki-blog-btn {
  background: #146EA4;
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(20, 110, 164, 0.2);
}

.site-nav a:hover,
.nav-menu:hover .nav-parent,
.nav-menu:focus-within .nav-parent,
.nav-menu.is-open .nav-parent,
.section-heading-link:hover,
.blog-list-back:hover,
.product-screen-placeholder span,
.product-operating-card span,
.product-idea-card span,
.value-product {
  color: var(--blue);
}

.nav-menu:hover .nav-parent,
.nav-menu:focus-within .nav-parent,
.nav-menu.is-open .nav-parent,
.blog-list-back:hover {
  background: rgba(8, 109, 158, 0.08);
}

.resource-preview-card span,
.product-directory-nav b,
.product-directory-tags span,
.wiki-card-cat,
.wiki-card .wiki-card-cat,
.blog-list-card-cat,
.insight-entry-main p,
.value-section .value-icon {
  background: rgba(8, 109, 158, 0.08);
  color: var(--blue-deep);
}

.trust-detail-grid .suite-card span {
  background: none;
  color: #667783;
  padding: 0;
}

.value-card::before,
.product-directory-nav a::before {
  background: linear-gradient(90deg, var(--orange), var(--cyan));
}

.product-directory-nav span,
.industry-metric-board strong,
.industry-control-board span,
.industry-control-path span,
.industry-case-list span,
.industry-story-copy .product-story-proof span::before,
.industry-story-copy a::after,
.industry-control-board a::after,
.industry-control-path a::after,
.industry-case-list a::after,
.insight-entry-meta strong {
  color: var(--orange);
}

.industry-story-copy .product-story-proof span::before {
  background: var(--orange);
}

.wiki-search-box:focus-within,
.product-directory-nav,
.product-directory-nav a,
.solution-hero-showcase,
.insight-toolbar,
.industry-case-list a {
  border-color: rgba(8, 109, 158, 0.14);
}

.wiki-blog-btn::before,
.wiki-blog-btn::after {
  border-color: var(--ink);
}

.wiki-featured:hover,
.wiki-card:hover,
.blog-list-card:hover {
  box-shadow: 0 18px 48px rgba(18, 32, 43, 0.08);
}

.blog-list-filter-btn.active {
  background: var(--ink);
  border-color: var(--ink);
  color: #ffffff;
}

.blog-list-card,
.blog-list-card:hover,
.wiki-featured-img,
.insight-entry-art {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(238, 247, 248, 0.86));
}

.insight-filters button.is-active {
  border-color: var(--orange);
  background: var(--blue);
  box-shadow: 0 0 0 2px rgba(239, 119, 48, 0.72) inset;
}

.product-demo-showcase {
  padding-bottom: 56px;
}

.product-demo-showcase-frame {
  width: min(1120px, 100%);
  padding: 14px;
  border: 1px solid rgba(8, 109, 158, 0.14);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(238, 247, 248, 0.84));
  box-shadow: 0 24px 70px rgba(18, 32, 43, 0.1);
}

.product-demo-showcase-frame video {
  border-radius: 16px;
  background: var(--ink);
}

/* =============================================
   Locations page redesign
   ============================================= */

.loc-page-hero {
  position: relative;
  overflow: hidden;
  padding-bottom: 80px;
}

.loc-page-hero + .loc-offices {
  padding-top: 80px;
}

.loc-page-hero .container {
  position: relative;
  z-index: 1;
}

.loc-map-bg {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  pointer-events: none;
  opacity: 0.7;
}

.loc-map-bg svg {
  transform: translateX(0);
}

.loc-map-svg {
  width: 100%;
  max-width: 1200px;
  height: auto;
}

.loc-hero-content {
  max-width: 720px;
}

.loc-hero-desc {
  margin-top: 16px;
  color: var(--muted);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
}

.loc-hero-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 32px;
}

.loc-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 20px;
  border: 1px solid rgba(20, 110, 164, 0.15);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
  color: #314553;
  font-size: 14px;
  font-weight: 500;
  transition: all 200ms ease;
  backdrop-filter: blur(8px);
}

.loc-pill svg {
  color: #5583CD;
  flex-shrink: 0;
}

.loc-pill:hover {
  border-color: rgba(20, 110, 164, 0.3);
  background: rgba(255, 255, 255, 0.95);
  color: #146EA4;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(20, 110, 164, 0.1);
}

.loc-pill-accent {
  background: #146EA4;
  border-color: #146EA4;
  color: #ffffff;
}

.loc-pill-accent svg {
  color: rgba(255, 255, 255, 0.85);
}

.loc-pill-accent:hover {
  background: #0f5a87;
  border-color: #0f5a87;
  color: #ffffff;
  box-shadow: 0 4px 20px rgba(20, 110, 164, 0.25);
}

/* Location offices section */
.loc-offices {
  background: #ffffff;
  padding-bottom: 80px;
}

.loc-offices .section-header {
  text-align: center;
  max-width: 100%;
  margin-bottom: 48px;
}

.loc-offices .section-header .section-kicker {
  text-align: center;
  margin-bottom: 12px;
}

.loc-offices .section-header h2 {
  font-size: clamp(26px, 2.9vw, 38px);
  font-weight: 400;
  line-height: 46px;
  margin-bottom: 16px;
}

.loc-section-desc {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

/* Enhanced location cards */
.location-card {
  position: relative;
  display: flex;
  flex-direction: column;
  transition: transform 280ms ease, box-shadow 280ms ease, border-color 280ms ease;
}

.location-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 56px rgba(18, 32, 43, 0.1);
  border-color: rgba(20, 110, 164, 0.18);
}

/* loc-card-icon removed – replaced by loc-card-img */

/* Location card landmark image */
.loc-card-img {
  height: 160px;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
  margin: -28px -28px 20px -28px;
  width: calc(100% + 56px);
}

.loc-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 400ms ease;
}

.location-card:hover .loc-card-img img {
  transform: scale(1.05);
}

/* CTA banner – full-width dark image */
.loc-cta-banner {
  position: relative;
  overflow: hidden;
  height: 456px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loc-cta-banner-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.loc-cta-banner-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.loc-cta-banner-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(10, 24, 42, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.loc-cta-banner-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 620px;
  margin: 0 auto;
}

.loc-cta-banner-content .section-kicker {
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 12px;
}

.loc-cta-banner-content h2 {
  color: #ffffff;
  font-size: 38px;
  font-weight: 400;
  line-height: 46px;
  margin-bottom: 16px;
}

.loc-cta-banner-content > p:not(.section-kicker) {
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
  line-height: 1.55;
  margin: 0 0 32px;
}

.loc-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  border-radius: 100px;
  background: var(--orange);
  color: #ffffff;
  font-weight: 600;
  font-size: 15px;
  border: none;
  transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
  box-shadow: 0 4px 20px rgba(239, 119, 48, 0.3);
  text-decoration: none;
}

.loc-cta-btn svg {
  width: 18px;
  height: 18px;
  stroke: #ffffff;
  stroke-width: 2;
  fill: none;
}

.loc-cta-btn:hover {
  background: #d96520;
  box-shadow: 0 8px 28px rgba(239, 119, 48, 0.4);
  transform: translateY(-1px);
}

@media (max-width: 980px) {
  .loc-map-bg {
    opacity: 0.4;
  }

  .loc-hero-links {
    flex-direction: column;
  }

  .loc-pill {
    justify-content: center;
  }

  .loc-cta-banner {
    height: auto;
    padding: 72px 0;
  }
}

@media (max-width: 640px) {
  .loc-map-bg {
    display: none;
  }

  .loc-cta-banner {
    height: auto;
    padding: 56px 0;
  }
}

/* ===== Article breadcrumb ===== */
.article-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.4;
}

.article-breadcrumb a {
  color: #a0adb8;
  text-decoration: none;
  font-weight: 500;
}

.article-breadcrumb a:hover {
  color: var(--blue);
  text-decoration: underline;
}

.article-breadcrumb .breadcrumb-sep {
  color: var(--muted);
  font-size: 12px;
}

.article-breadcrumb .breadcrumb-current {
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 480px;
}

/* ===== Article sidebar ===== */
.article-side-category {
  display: none;
}

.article-side-category .side-label {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.article-side-category a {
  display: inline-block;
  padding: 5px 12px;
  border: 1px solid rgba(24, 43, 55, 0.12);
  border-radius: 6px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background 200ms ease, border-color 200ms ease;
}

.article-side-category a:hover {
  background: rgba(8, 109, 158, 0.06);
  border-color: var(--blue);
}

.article-side-author {
  margin-bottom: 24px;
}

.article-side-author .side-label {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.article-side-author .author-name {
  display: block;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.article-side-author .author-role {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.article-side-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 0;
  margin-bottom: 24px;
}

.article-side-tags .side-label {
  display: block;
  width: 100%;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: transparent;
}

.article-side-tags span {
  padding: 4px 10px;
  border: 0;
  border-radius: 3px;
  background: #eef4f8;
  color: #7c8c99;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  white-space: nowrap;
}

.article-side-share {
  padding-top: 20px;
  border-top: 1px solid rgba(24, 43, 55, 0.08);
}

.article-side-share .side-label {
  display: block;
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.article-side-share-links {
  display: flex;
  gap: 8px;
}

.article-side-share-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 8px;
  background: #eef4f8;
  color: #5a7083;
  text-decoration: none;
  transition: background 200ms ease, color 200ms ease;
}

.article-side-share-links a:hover {
  background: #dceaf3;
  color: var(--blue);
}

.article-side-share-links svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.article-side-share-links svg[viewBox="0 0 24 24"] path[fill="none"] {
  fill: none;
  stroke: currentColor;
}

/* Hide masthead tags when sidebar is present */
.article-layout .article-aside ~ .article-content .article-tags {
  display: none;
}

/* =============================================
   Trust – AI Safety Showcase (Sierra-style)
   ============================================= */

.trust-showcase-section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.trust-showcase-section .split-heading {
  align-items: flex-start;
  text-align: left;
}

.trust-showcase-section .split-heading h2 {
  text-align: left;
}

.trust-showcase-section .split-heading .section-intro {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}

.trust-showcase-intro {
  display: none;
}

/* Two-column grid: illustration left, features right */
.trust-showcase {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: center;
  margin-top: 0;
}

/* ---- Trust Visual Diagram ---- */

.trust-showcase-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f8fc;
  border-radius: 18px;
  padding: 32px;
}

.trust-vis {
  position: relative;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 1 / 1.05;
}

/* Connection lines */
.trust-vis-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.trust-vis-line {
  stroke: rgba(8, 109, 158, 0.15);
  stroke-width: 1.5;
  stroke-dasharray: 6 4;
  animation: trust-vis-dash 6s linear infinite;
}

.trust-vis-line-2 { animation-delay: -2s; }
.trust-vis-line-3 { animation-delay: -4s; }

/* Shared node styles */
.trust-vis-node {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 2;
}

.trust-vis-node span {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.02em;
}

/* Icon circles (outer nodes) */
.trust-vis-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(8, 109, 158, 0.1);
  box-shadow: 0 4px 20px rgba(18, 32, 43, 0.06);
  transition: transform 400ms ease, box-shadow 400ms ease;
}

.trust-vis-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: var(--blue);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.trust-vis-node:hover .trust-vis-icon {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(8, 109, 158, 0.12);
}

/* Top node: Knowledge */
.trust-vis-node-top {
  top: 2%;
  left: calc(50% - 20px);
  transform: translateX(-50%);
  animation: trust-vis-float 5s ease-in-out infinite;
}

/* Center node: Shield */
.trust-vis-node-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.trust-vis-shield {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #1a96d4, #1285c2);
  box-shadow: 0 8px 32px rgba(26, 150, 212, 0.25);
  z-index: 3;
  position: relative;
}

.trust-vis-shield svg {
  width: 28px;
  height: 28px;
  fill: #ffffff;
  stroke: none;
}

/* Pulse rings */
.trust-vis-pulse {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 64px;
  height: 64px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1.5px solid rgba(8, 109, 158, 0.15);
  animation: trust-vis-pulse 3s ease-out infinite;
  z-index: 1;
}

.trust-vis-pulse-2 {
  animation-delay: 1.5s;
}

/* Bottom-left node */
.trust-vis-node-bl {
  bottom: 6%;
  left: 16%;
  animation: trust-vis-float 5s ease-in-out 1.6s infinite;
}

/* Bottom-right node */
.trust-vis-node-br {
  bottom: 6%;
  right: 16%;
  animation: trust-vis-float 5s ease-in-out 3.2s infinite;
}

/* Floating badge */
.trust-vis-badge {
  position: absolute;
  top: 36%;
  right: 6%;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid rgba(8, 109, 158, 0.08);
  box-shadow: 0 4px 16px rgba(18, 32, 43, 0.05);
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  animation: trust-vis-badge-float 6s ease-in-out infinite;
  z-index: 4;
}

.trust-vis-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  flex-shrink: 0;
}

/* ---- Feature List (right column) ---- */

.trust-showcase-features {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.trust-showcase-feature {
  display: block;
  padding: 28px 0;
  border-bottom: 1px solid rgba(24, 43, 55, 0.07);
}

.trust-showcase-feature:first-child {
  padding-top: 0;
}

.trust-showcase-feature:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.trust-showcase-feature-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.trust-showcase-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: none;
  border-radius: 0;
}

.trust-showcase-feature-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: var(--ink);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.trust-showcase-feature h3 {
  margin: 0;
  color: var(--ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

.trust-showcase-feature p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

/* ---- Trust Vis Keyframe Animations ---- */

@keyframes trust-vis-dash {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: 20; }
}

@keyframes trust-vis-pulse {
  0% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
  100% { transform: translate(-50%, -50%) scale(2.2); opacity: 0; }
}

@keyframes trust-vis-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes trust-vis-badge-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* ---- Trust Showcase Responsive ---- */

@media (max-width: 980px) {
  .trust-showcase {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .trust-showcase-visual {
    display: flex;
    justify-content: center;
  }

  .trust-vis {
    max-width: 360px;
  }
}

@media (max-width: 600px) {
  .trust-showcase-section {
    padding-top: 48px;
    padding-bottom: 56px;
  }

  .trust-vis {
    max-width: 300px;
  }

  .trust-vis-icon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
  }

  .trust-vis-icon svg {
    width: 18px;
    height: 18px;
  }

  .trust-vis-shield {
    width: 52px;
    height: 52px;
  }

  .trust-vis-shield svg {
    width: 22px;
    height: 22px;
  }

  .trust-vis-node span {
    font-size: 11px;
  }

  .trust-vis-badge {
    font-size: 11px;
    padding: 6px 12px;
  }

  .trust-showcase-feature {
    gap: 16px;
    padding: 22px 0;
  }
}

/* ── Join Us / Career Page Enhancements ── */

/* Hero background decoration */
.career-hero {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  padding-top: 152px;
}

.career-hero-bg {
  display: none;
}

.career-hero-bg::before {
  content: "";
  position: absolute;
  top: 40px;
  right: 60px;
  width: 200px;
  height: 200px;
  border: 1px solid rgba(85, 131, 205, 0.1);
  border-radius: 50%;
}

.career-hero-bg::after {
  content: "";
  position: absolute;
  bottom: 30px;
  left: 80px;
  width: 120px;
  height: 120px;
  border: 1px dashed rgba(77, 203, 215, 0.12);
  border-radius: 50%;
}

/* Hero content two-column layout */
.career-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  text-align: left;
}

.career-hero-image img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  border-radius: 18px;
}

.career-hero-content h1,
.career-hero-content > .reveal > p {
  max-width: 720px;
}

.career-hero-content > .reveal > p {
  font-size: 16px;
  font-weight: 400;
}

/* Left-align all join-us page sections */
body:has(.career-hero) .split-heading {
  align-items: center;
  text-align: center;
}

body:has(.career-hero) .split-heading .section-kicker {
  display: none;
}

/* Hero compact pill links */
.career-hero-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.career-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 18px;
  border: 1px solid rgba(8, 109, 158, 0.15);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.career-hero-pill:first-child {
  background: #146EA4;
  border-color: #146EA4;
  color: #fff;
}

.career-hero-pill:first-child:hover {
  background: #0f5a87;
  border-color: #0f5a87;
}

.career-hero-pill:not(:first-child):hover {
  border-color: var(--blue);
  color: var(--blue);
  background: rgba(8, 109, 158, 0.04);
}

/* Hero stats strip */
.career-hero-stats {
  display: flex;
  gap: 32px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(20, 110, 164, 0.1);
}

.career-hero-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.career-hero-stat strong {
  color: var(--blue);
  font-family: var(--display);
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
}

.career-hero-stat span {
  color: var(--muted);
  font-size: 13px;
  letter-spacing: 0.02em;
}

/* Team cards icon */
.career-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 18px;
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(8, 109, 158, 0.08), rgba(77, 203, 215, 0.1));
}

.career-card-icon svg {
  width: 24px;
  height: 24px;
  stroke: var(--blue);
}

/* Team card hover */
#teams .product-detail-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

#teams .product-detail-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(18, 32, 43, 0.1);
}

/* Why WIZ.AI number decorator */
.career-why-num {
  color: rgba(8, 109, 158, 0.12);
  font-family: var(--display);
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 12px;
}

/* Why WIZ.AI card enhancements */
.career-why-grid .solution-workflow-card::after {
  display: none;
}

.career-why-grid .solution-workflow-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.career-why-grid .solution-workflow-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 52px rgba(18, 32, 43, 0.1);
}

/* Open roles banner */
.career-banner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 320px;
  align-items: center;
  min-height: 200px;
  padding: 44px 48px;
  overflow: hidden;
  border-radius: 20px;
  background: linear-gradient(135deg, #eef4fa 0%, #f3f8fc 50%, #eaf5f6 100%);
}

.career-banner-copy {
  position: relative;
  z-index: 1;
}

.career-banner-copy h3 {
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 500;
  line-height: 1.12;
}

.career-banner-copy p {
  max-width: 480px;
  margin: 14px 0 24px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.career-roles {
  display: grid;
  gap: 22px;
}

.career-role-group {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 24px;
  border: none;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 48px rgba(18, 32, 43, 0.07);
}

.career-role-country {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 8px;
  padding: 6px 0;
}

.career-flag {
  width: 32px;
  height: 32px;
  border-radius: 4px;
}

.career-role-country span {
  color: #9ba8b4;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.career-role-country strong {
  color: var(--ink);
  font-family: var(--display);
  font-size: 26px;
  font-weight: 400;
  line-height: 1.05;
}

.career-role-list {
  display: grid;
  gap: 12px;
}

.career-role-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border: none;
  border-radius: 12px;
  background: #F2F9FF;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.career-role-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(18, 32, 43, 0.08);
}

.career-role-card span {
  display: block;
  color: var(--blue);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.career-role-card h3 {
  margin: 8px 0 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(20px, 1.7vw, 26px);
  font-weight: 400;
  line-height: 1.12;
}

.career-role-card p {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.career-role-card > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.career-role-card > a:hover {
  background: #ef7730;
  color: #ffffff;
}

/* Career values */
.career-values {
  background: #ffffff;
  padding: 80px 0 0;
}

.career-values .section-intro {
  max-width: 820px;
  margin-bottom: 0;
}

.career-values-list {
  display: grid;
  gap: 0;
  margin-top: 80px;
  border-top: none;
}

.career-value-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
  padding: 48px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.career-value-index {
  display: none;
}

.career-value-row h3 {
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
}

.career-value-row p {
  margin: 0;
  color: #716f6c;
  font-size: 17px;
  line-height: 1.65;
}

/* ── Career Capability: left visual + right items (image-2 style) ── */
.career-capability-section {
  padding-top: 160px;
  padding-bottom: 96px;
  background: #ffffff !important;
  background-image: none !important;
}

.career-capability-grid {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 56px;
  align-items: start;
}

.career-capability-visual {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: #e4e8ee;
}

.career-capability-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(6px) saturate(0.85);
  transform: scale(1.06);
}

.career-capability-visual--photo {
  aspect-ratio: auto;
}
.career-capability-visual--photo img {
  height: 480px;
  filter: saturate(0.9) brightness(0.95);
  transform: scaleX(-1);
  object-position: center 35%;
  opacity: 0.92;
}

.career-capability-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transform: translateY(10%);
  padding: 2%;
}

.career-photo-keywords {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
  padding: 40px 48px 40px 40px;
  padding-bottom: 30%;
}

.career-photo-keywords span {
  display: block;
  font-family: var(--display, 'IBM Plex Sans', sans-serif);
  font-size: 26px;
  font-weight: 400;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.55);
  text-align: left;
  letter-spacing: 0.01em;
}

.career-photo-keywords .career-keyword-highlight {
  font-size: 34px;
  font-weight: 550;
  color: #ffffff;
}

.career-capability-visual--photo::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.05) 0%,
    rgba(0, 0, 0, 0.18) 40%,
    rgba(0, 0, 0, 0.42) 100%
  );
  pointer-events: none;
  z-index: 0;
}

.career-capability-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: 0.08;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 2;
}

.career-capability-visual--photo.career-capability-visual::after {
  display: block;
  opacity: 0.12;
}

.career-capability-right {
  display: flex;
  flex-direction: column;
}

.career-capability-right h2 {
  margin: 0 0 18px;
  font-family: var(--display, 'IBM Plex Sans', sans-serif);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.1;
  color: #13202a;
}

.career-capability-desc {
  margin: 0 0 36px;
  font-size: 16px;
  line-height: 1.65;
  color: #51626d;
}

.career-capability-items {
  display: flex;
  flex-direction: column;
}

.career-capability-item {
  padding: 8px 0;
}

.career-capability-item h3 {
  margin: 0 0 10px;
  font-family: var(--display, 'IBM Plex Sans', sans-serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  color: #13202a;
}

.career-capability-item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #716f6c;
}

@media (max-width: 820px) {
  .career-capability-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .career-capability-visual {
    max-width: 480px;
  }

  .career-capability-right h2 {
    font-size: 32px;
  }
}

/* Floating icon bubbles */
.career-banner-bubbles {
  position: relative;
  width: 100%;
  height: 180px;
}

.career-bubble {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 4px 16px rgba(18, 32, 43, 0.06);
  animation: career-bubble-float 4s ease-in-out infinite;
}

.career-bubble svg {
  stroke: var(--blue);
}

.career-bubble-1 {
  width: 56px; height: 56px;
  top: 10px; left: 40px;
  animation-delay: 0s;
}
.career-bubble-1 svg { width: 26px; height: 26px; }

.career-bubble-2 {
  width: 64px; height: 64px;
  top: 20px; right: 20px;
  animation-delay: 0.6s;
}
.career-bubble-2 svg { width: 28px; height: 28px; }

.career-bubble-3 {
  width: 48px; height: 48px;
  top: 80px; left: 120px;
  animation-delay: 1.2s;
}
.career-bubble-3 svg { width: 22px; height: 22px; }

.career-bubble-4 {
  width: 52px; height: 52px;
  bottom: 10px; left: 30px;
  animation-delay: 0.4s;
}
.career-bubble-4 svg { width: 24px; height: 24px; }

.career-bubble-5 {
  width: 44px; height: 44px;
  top: 5px; right: 110px;
  animation-delay: 0.9s;
}
.career-bubble-5 svg { width: 20px; height: 20px; }

.career-bubble-6 {
  width: 50px; height: 50px;
  bottom: 20px; right: 80px;
  animation-delay: 1.5s;
}
.career-bubble-6 svg { width: 22px; height: 22px; }

@keyframes career-bubble-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* Open roles section background */
.career-openings {
  background: #ffffff;
}

/* Bottom CTA section */
.career-bottom-cta {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
  background:
    linear-gradient(rgba(13, 32, 42, 0.55), rgba(13, 32, 42, 0.6)),
    url("../assets/stock/career-cta-bg.jpg") center / cover no-repeat;
}

.career-bottom-cta-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.career-bottom-cta-bg::before {
  content: "";
  position: absolute;
  top: 20%;
  left: -40px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(85, 131, 205, 0.08);
  border-radius: 50%;
}

.career-bottom-cta-bg::after {
  content: "";
  position: absolute;
  bottom: 10%;
  right: -30px;
  width: 140px;
  height: 140px;
  border: 1px dashed rgba(77, 203, 215, 0.1);
  border-radius: 50%;
}

.career-bottom-cta-content {
  position: relative;
  z-index: 1;
  max-width: 640px;
  margin: 0 auto;
  padding: 48px 0;
  border-radius: 0;
  border: 0;
  background: none;
  box-shadow: none;
  text-align: center;
}

.career-bottom-cta-content .section-kicker {
  display: block;
  margin-bottom: 12px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.career-bottom-cta-content h2 {
  color: #ffffff;
  font-family: var(--display);
  font-size: clamp(26px, 2.9vw, 38px);
  font-weight: 400;
  line-height: 1.08;
}

.career-bottom-cta-content > p {
  max-width: 480px;
  margin: 16px auto 28px;
  color: rgba(255, 255, 255, 0.75);
  font-size: 16px;
  line-height: 1.55;
}

/* Responsive: career page */
@media (max-width: 760px) {
  .career-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .career-hero-image img {
    max-height: 280px;
  }

  .career-hero-stats {
    gap: 24px;
    flex-wrap: wrap;
  }

  .career-hero-stat strong {
    font-size: 22px;
  }

  .career-hero-bg::before,
  .career-hero-bg::after {
    display: none;
  }

  .career-why-num {
    font-size: 36px;
    margin-bottom: 8px;
  }

  .career-banner {
    grid-template-columns: 1fr;
    padding: 32px 24px;
  }

  .career-banner-bubbles {
    display: none;
  }

  .career-value-row {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 32px 0;
  }

  .career-value-row h3 {
    font-size: 26px;
  }

  .career-role-group {
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .career-role-country {
    position: static;
  }

  .career-role-country strong {
    font-size: 22px;
  }

  .career-role-card {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .career-role-card > a {
    width: 100%;
  }

  .career-bottom-cta {
    padding: 48px 0;
  }

  .career-bottom-cta-content {
    padding: 32px 24px;
  }

  .career-bottom-cta-bg::before,
  .career-bottom-cta-bg::after {
    display: none;
  }
}

/* ── Solutions Page – Horizontal Pill Nav ── */

.solutions-quicknav-inner {
  padding-top: 120px;
  padding-bottom: 80px;
}

.solutions-pills {
  display: flex;
  gap: 6px;
  padding: 6px;
  background: #ffffff;
  border-radius: 999px;
  justify-content: center;
  flex-wrap: wrap;
  box-shadow: 0 2px 12px rgba(18, 32, 43, 0.06);
}

.solutions-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: #716f6c;
  font-size: 14px;
  font-weight: 500;
  font-family: var(--sans);
  white-space: nowrap;
  transition: color 200ms ease, background 200ms ease, box-shadow 200ms ease;
}

.solutions-pill svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  stroke: #94A3B8;
  transition: stroke 200ms ease;
}

.solutions-pill:hover {
  color: #146EA4;
  background: #E8F1FC;
}

.solutions-pill:hover svg {
  stroke: #146EA4;
}

@media (max-width: 980px) {
  .solutions-pills {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .solutions-pills::-webkit-scrollbar {
    display: none;
  }

  .solutions-pill {
    padding: 0 14px;
    font-size: 13px;
    min-height: 40px;
  }
}

.demo-hero-btns {
  display: flex;
  gap: 10px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.demo-hero-btns a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 18px;
  border: 1px solid rgba(8, 109, 158, 0.12);
  border-radius: 8px;
  background: #EFF5FB;
  color: var(--ink);
  font-family: var(--display);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.demo-hero-btns a svg {
  flex-shrink: 0;
  color: var(--blue);
}

.demo-hero-btns a:hover {
  background: #E3EEF8;
  border-color: rgba(8, 109, 158, 0.26);
  transform: translateY(-1px);
}

/* ── About Page ── */

/* Hero */
.about-hero {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  padding-top: 80px;
}

.about-hero-bg {
  display: none;
}

.about-hero-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-top: 80px;
}

.about-hero-center h1 {
  margin: 0;
  font-size: 44px;
  font-weight: 400;
  line-height: 1.08;
  color: var(--ink);
  max-width: 820px;
}

.text-blue {
  color: var(--blue);
}

.about-hero-center h1 .text-blue {
  color: var(--orange);
}

.about-hero-label {
  margin: 24px 0 0;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.about-hero-desc {
  margin: 20px 0 0;
  color: #716f6c;
  font-size: 16px;
  line-height: 1.65;
  max-width: 620px;
}

.about-hero-photo {
  width: 100%;
  max-width: none;
  margin-top: 48px;
  border-radius: 18px;
  overflow: hidden;
}

.about-hero-photo img {
  width: 100%;
  height: 470px;
  object-fit: cover;
  display: block;
}

/* Mission Intro */
.about-mission-intro .split-heading {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  align-items: start;
  text-align: left;
  gap: 40px;
}

.about-mission-intro .split-heading .reveal {
  text-align: left;
}

.about-mission-intro .split-heading h2 {
  font-size: 44px;
  font-weight: 400;
  line-height: 1.12;
  color: var(--ink);
  text-align: left;
}

.about-mission-intro .split-heading .section-intro {
  font-size: 38px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--ink);
  max-width: none;
  text-align: left;
}

.about-mission-intro .split-heading .section-intro .text-blue {
  color: var(--blue);
}

@media (max-width: 768px) {
  .about-mission-intro .split-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Hero Pill */
.about-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding: 6px 16px;
  border-radius: 100px;
  background: rgba(20, 110, 164, 0.07);
  color: #146EA4;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.about-hero-pill-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #146EA4;
  animation: about-pill-pulse 2s ease-in-out infinite;
}

@keyframes about-pill-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* Our Mission (#168) */
.about-our-mission {
  background: #ffffff;
}

.about-our-mission {
  background: #ffffff;
}

.about-our-mission-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 0;
}

.about-our-mission-point {
  position: relative;
  min-height: 190px;
  padding: 30px 32px;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 253, 0.88));
  box-shadow: 0 18px 44px rgba(15, 32, 45, 0.055);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.about-our-mission-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #f0f1f3;
  color: var(--ink);
  margin-bottom: 16px;
}

.about-our-mission-icon svg {
  width: 20px;
  height: 20px;
  display: block;
}

.about-our-mission-point:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 52px rgba(15, 32, 45, 0.09);
}

.about-our-mission-point h3 {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.3;
}

.about-our-mission-point p {
  margin: 0;
  color: #716f6c;
  font-size: 15px;
  line-height: 1.6;
}

.about-brand-story {
  grid-column: span 2;
}

.about-brand-story p {
  max-width: 980px;
  font-size: 16px;
}

/* AI-native About narrative */
.about-native-sequence {
  background: #ffffff;
  padding-top: 0;
  padding-bottom: 104px;
}

.about-direction-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
  margin-bottom: 80px;
}

.about-direction-img {
  border-radius: 16px;
  overflow: hidden;
}

.about-direction-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.about-native-intro {
  max-width: none;
  margin-bottom: 0;
}

.about-native-intro .section-kicker {
  display: block;
  margin-bottom: 18px;
}

.about-native-intro h2 {
  margin: 0;
  max-width: 960px;
  color: var(--ink);
  font-family: var(--display);
  font-size: 36px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.04;
}

.about-native-stack {
  border-top: 1px solid rgba(15, 23, 42, 0.12);
  padding-top: 80px;
}

.about-native-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  padding: 80px 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12);
  align-items: start;
}

.about-native-row:last-child {
  border-bottom: none;
}

.about-native-label {
  position: sticky;
  top: 112px;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about-native-label span {
  color: #9ba8b4;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.about-native-label strong {
  color: #9ba8b4;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.about-native-copy {
  max-width: 920px;
  padding-top: 29px;
}

.about-native-visual {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-top: 12px;
  position: relative;
}

.about-native-visual svg,
.about-native-visual img {
  width: 360px;
  height: 160px;
  border-radius: 16px;
  flex-shrink: 0;
  object-fit: cover;
}

.about-native-visual img {
  position: relative;
}

.about-native-logo {
  position: absolute !important;
  width: 240px !important;
  height: 72px !important;
  top: calc(12px + 80px - 36px);
  right: calc(180px - 120px);
  z-index: 2;
  opacity: 0.8;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.1));
  object-fit: contain !important;
}

.about-native-row:not(.about-native-story) .about-native-visual::after {
  content: "";
  position: absolute;
  top: 12px;
  right: 0;
  width: 360px;
  height: 160px;
  border-radius: 16px;
  background: linear-gradient(
    135deg,
    rgba(99,147,235,0.25) 0%,
    rgba(168,130,230,0.2) 25%,
    rgba(100,200,220,0.2) 50%,
    rgba(99,147,235,0.25) 75%,
    rgba(168,130,230,0.2) 100%
  );
  background-size: 300% 300%;
  animation: aboutColorFlow 6s ease infinite;
  pointer-events: none;
  mix-blend-mode: overlay;
}

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

.about-native-label h3 {
  margin: 0;
  color: var(--ink);
  font-family: var(--display);
  font-size: 32px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.2;
}

.about-native-copy p {
  max-width: none;
  margin: 0 0 16px;
  color: #716f6c;
  font-size: 17px;
  line-height: 1.65;
}

.about-native-copy p:last-child {
  margin-bottom: 0;
}

.about-native-story .about-native-copy p {
  max-width: 860px;
}

/* Mission / Vision / Brand Story — individual sections */
.about-mvb-section {
  border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}

.about-mvb-mission { background: #ffffff; }
.about-mvb-vision  { background: #f8fafc; }
.about-mvb-brand   { background: #ffffff; }

.about-mvb-inner {
  max-width: 980px;
  padding-top: 72px;
  padding-bottom: 72px;
}

.about-mvb-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}

.about-mvb-kicker .about-our-mission-icon {
  margin-bottom: 0;
  flex-shrink: 0;
}

.about-mvb-inner h2 {
  font-size: clamp(24px, 3.2vw, 38px);
  font-weight: 500;
  color: var(--ink);
  line-height: 1.22;
  margin: 0 0 20px;
}

.about-mvb-body {
  color: #716f6c;
  font-size: 17px;
  line-height: 1.72;
  margin: 0;
  max-width: 820px;
}

.about-mvb-body + .about-mvb-body {
  margin-top: 18px;
}

.about-mvb-brand .about-mvb-inner h2 {
  max-width: 860px;
}

.about-mvb-brand .about-mvb-body {
  max-width: 900px;
}

/* Mission */
.about-mission {
  background: #ffffff;
}

.about-mission-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 40px;
  align-items: start;
}

.about-mission-card {
  border-radius: 18px;
  overflow: hidden;
}

.about-mission-illustration {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f6fa;
  padding: 48px 36px;
  min-height: 420px;
}

.ami-panel {
  width: 100%;
  max-width: 360px;
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 12px 36px rgba(15, 32, 45, 0.07);
  overflow: hidden;
}

.ami-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
}

.ami-rows {
  display: flex;
  flex-direction: column;
}

.ami-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.05);
}

.ami-row:last-child {
  border-bottom: none;
}

.ami-row-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  flex-shrink: 0;
}

.ami-icon-blue {
  background: rgba(20, 110, 164, 0.08);
  color: #146EA4;
}

.ami-icon-cyan {
  background: rgba(77, 203, 215, 0.12);
  color: #0891b2;
}

.ami-icon-green {
  background: rgba(34, 197, 94, 0.1);
  color: #16a34a;
}

.ami-row-text {
  flex: 1;
  min-width: 0;
}

.ami-row-text strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.3;
}

.ami-row-text span {
  display: block;
  font-size: 12px;
  color: #8a8a8e;
  line-height: 1.4;
  margin-top: 2px;
}

.ami-tag {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 100px;
}

.ami-tag-blue {
  background: rgba(20, 110, 164, 0.08);
  color: #146EA4;
}

.ami-tag-cyan {
  background: rgba(77, 203, 215, 0.12);
  color: #0891b2;
}

.ami-tag-green {
  background: rgba(34, 197, 94, 0.1);
  color: #16a34a;
}

.ami-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  font-size: 12px;
  color: #8a8a8e;
}

.ami-footer-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #16a34a;
}

.about-mission-right h2 {
  margin: 0 0 16px;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 400;
  line-height: 1.15;
  color: var(--ink);
}

.about-mission-sub {
  margin: 0 0 36px;
  color: #716f6c;
  font-size: 15px;
  line-height: 1.65;
}

.about-mission-points {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.about-mission-point {
  flex: 1;
}

.about-mission-point-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.about-mission-point-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  flex-shrink: 0;
}

.about-mission-point h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.3;
}

.about-mission-point p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

/* Values Accordion */
.about-values {
  background:
    radial-gradient(ellipse 500px 350px at 85% 50%, rgba(77, 203, 215, 0.05), transparent),
    linear-gradient(180deg, #ffffff 0%, #f9fcfd 100%);
}

.about-values-head {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 48px;
}

.about-values-head h2 {
  margin: 14px 0 0;
  font-size: clamp(26px, 2.9vw, 38px);
  font-weight: 400;
  line-height: 1.15;
  color: var(--ink);
}

.about-values-list {
  max-width: 760px;
  margin: 0 auto;
}

.about-values-item {
  border-bottom: 1px solid rgba(24, 43, 55, 0.08);
}

.about-values-item:first-child {
  border-top: 1px solid rgba(24, 43, 55, 0.08);
}

.about-values-item summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 4px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background 200ms ease;
}

.about-values-item summary::-webkit-details-marker {
  display: none;
}

.about-values-item summary::marker {
  display: none;
  content: "";
}

.about-values-item summary:hover {
  background: rgba(20, 110, 164, 0.02);
}

.about-values-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(20, 110, 164, 0.07);
  color: #146EA4;
}

.about-values-label {
  flex: 1;
  font-size: 17px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.3;
}

.about-values-arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--muted);
  transition: transform 300ms ease;
}

.about-values-item[open] > summary .about-values-arrow {
  transform: rotate(180deg);
}

.about-values-body {
  padding: 0 4px 24px 56px;
}

.about-values-body p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.65;
}

/* Stats Strip */
.about-stats-section {
  padding: 56px 0;
  background:
    radial-gradient(ellipse 600px 300px at 50% 50%, rgba(20, 110, 164, 0.04), transparent),
    #f6f9fb;
}

.about-stats-strip {
  display: flex;
  justify-content: center;
  gap: 0;
}

.about-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 48px;
  position: relative;
}

.about-stat-item + .about-stat-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 40px;
  background: rgba(24, 43, 55, 0.1);
}

.about-stat-item strong {
  font-family: var(--display);
  font-size: clamp(32px, 3.2vw, 44px);
  font-weight: 600;
  line-height: 1;
  color: #146EA4;
}

.about-stat-item span {
  margin-top: 8px;
  font-size: 14px;
  color: var(--muted);
  letter-spacing: 0.02em;
}

/* Customer Impact */
.about-impact {
  display: none;
  background: #ffffff;
}

.about-impact-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 48px;
}

.about-impact-head h2 {
  margin: 14px 0 0;
  font-size: clamp(26px, 2.9vw, 38px);
  font-weight: 400;
  line-height: 1.15;
  color: var(--ink);
}

.about-impact-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.about-outcomes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 32px;
}

.about-outcome {
  text-align: left;
  padding: 28px 24px;
  border-radius: 14px;
  background: #f4f8fb;
}

.about-outcome strong {
  display: block;
  font-size: 28px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 10px;
}

.about-outcome span {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.5;
}

.about-impact-card {
  display: flex;
  flex-direction: column;
  padding: 32px 28px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid rgba(24, 43, 55, 0.07);
  box-shadow: 0 4px 20px rgba(18, 32, 43, 0.05);
  transition: transform 250ms ease, box-shadow 250ms ease;
}

.about-impact-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(18, 32, 43, 0.08);
}

.about-impact-card > p {
  flex: 1;
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

.about-impact-card-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid rgba(24, 43, 55, 0.06);
}

.about-impact-card-footer svg {
  flex-shrink: 0;
  color: var(--ink);
}

.about-impact-card-footer strong {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}

.about-impact-card-footer span {
  font-size: 13px;
  color: var(--muted);
}

/* Offices */
.about-offices {
  background:
    radial-gradient(ellipse 500px 300px at 20% 50%, rgba(20, 110, 164, 0.04), transparent),
    linear-gradient(180deg, #f9fcfd 0%, #ffffff 100%);
}

.about-offices-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 32px;
  align-items: start;
}

.about-offices-card {
  background: none;
  padding: 0;
  color: var(--ink);
}

.about-offices-kicker {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange);
}

.about-offices-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
  flex-shrink: 0;
}

.about-offices-card h2 {
  margin: 0 0 12px;
  font-size: clamp(26px, 2.6vw, 36px);
  font-weight: 400;
  line-height: 1.15;
  color: var(--ink);
}

.about-offices-card > p {
  margin: 0;
  color: #716f6c;
  font-size: 15px;
  line-height: 1.65;
}

.about-offices-regions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.about-region-card {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.25s, box-shadow 0.25s;
}

.about-region-wide {
  grid-column: 1 / -1;
}

.about-region-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
  z-index: 0;
}

.about-region-overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 26, 46, 0.45);
  z-index: 1;
  transition: background 0.3s;
}

.about-region-name {
  position: relative;
  z-index: 2;
  font-size: 22px;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.2;
}

.about-region-card:hover {
  transform: translateY(-3px);
}

.about-region-card:hover img {
  transform: scale(1.05);
}

.about-region-card:hover .about-region-overlay {
  background: rgba(10, 26, 46, 0.35);
}

/* Bottom CTA */
.about-bottom-cta {
  position: relative;
  overflow: hidden;
  padding: 96px 0;
  background: #0a1a2e;
}

.about-bottom-cta::before {
  content: "";
  position: absolute;
  inset: -20px;
  background: url("../assets/about-us.jpg") center / cover no-repeat;
  filter: blur(12px);
  z-index: 0;
}

.about-bottom-cta::after {
  content: "";
  position: absolute;
  inset: -40%;
  width: 180%;
  height: 180%;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(8, 109, 158, 0.35), transparent 50%),
    radial-gradient(ellipse at 80% 30%, rgba(77, 203, 215, 0.25), transparent 50%),
    radial-gradient(ellipse at 50% 80%, rgba(239, 119, 48, 0.18), transparent 50%);
  animation: about-cta-flow 12s ease-in-out infinite alternate;
  z-index: 0;
}

@keyframes about-cta-flow {
  0%   { transform: translate(0, 0) scale(1); }
  33%  { transform: translate(5%, -3%) scale(1.05); }
  66%  { transform: translate(-4%, 4%) scale(0.98); }
  100% { transform: translate(3%, -2%) scale(1.03); }
}

.about-bottom-cta-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  max-width: 620px;
  margin: 0 auto;
}

.about-bottom-cta-content .about-cta-btn {
  margin-top: 12px;
}

.about-bottom-cta-copy {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.about-bottom-cta-content h2 {
  margin: 0;
  color: #ffffff;
  font-family: var(--display);
  font-size: clamp(26px, 2.9vw, 38px);
  font-weight: 400;
  line-height: 1.15;
}

.about-bottom-cta-content p {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
  line-height: 1.55;
}

.about-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 36px;
  border-radius: 100px;
  background: var(--orange);
  color: #ffffff;
  font-weight: 600;
  font-size: 15px;
  border: none;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
  box-shadow: 0 4px 24px rgba(239, 119, 48, 0.3);
}

.about-cta-btn svg {
  width: 18px;
  height: 18px;
  stroke: #ffffff;
  stroke-width: 2;
  fill: none;
}

.about-cta-btn:hover {
  background: #e06a20;
  box-shadow: 0 8px 32px rgba(239, 119, 48, 0.4);
  transform: translateY(-1px);
}

/* About page responsive */
@media (max-width: 980px) {
  .about-hero-center h1 {
    font-size: clamp(28px, 6vw, 40px);
  }

  .about-our-mission-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .about-our-mission-cards {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 36px;
  }

  .about-native-row {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .about-native-label {
    position: static;
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .about-native-visual {
    display: none;
  }

  .about-brand-story {
    grid-column: auto;
  }

  .about-mission-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .about-mission-illustration {
    min-height: auto;
    padding: 36px 24px;
  }

  .about-impact-cards {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .about-outcomes {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-offices-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .about-offices-regions {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-stat-item {
    padding: 0 28px;
  }
}

@media (max-width: 640px) {
  .about-hero-bg::before,
  .about-hero-bg::after {
    display: none;
  }

  .about-hero-photo {
    margin-top: 32px;
    border-radius: 14px;
  }

  .about-native-sequence {
    padding-top: 64px;
    padding-bottom: 72px;
  }

  .about-direction-split {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .about-native-intro {
    margin-bottom: 24px;
  }

  .about-native-row {
    padding: 34px 0;
  }

  .about-native-copy h3 {
    font-size: clamp(28px, 8vw, 40px);
  }

  .about-native-copy p {
    font-size: 16px;
  }

  .about-stats-strip {
    flex-wrap: wrap;
    gap: 28px 0;
  }

  .about-stat-item {
    width: 50%;
    padding: 0 16px;
  }

  .about-stat-item:nth-child(n+3)::before {
    display: none;
  }

  .about-stat-item:nth-child(3) {
    padding-top: 8px;
  }

  .about-stat-item:nth-child(4) {
    padding-top: 8px;
  }

  .about-stat-item strong {
    font-size: 28px;
  }

  .about-values-body {
    padding-left: 4px;
  }

  .about-region-card {
    height: 90px;
  }

  .about-bottom-cta {
    padding: 56px 0;
  }

  .about-bottom-cta-content {
    gap: 20px;
  }
}

/* ── Global font rules ── */
h1, h2, h3, h4, h5, h6,
.signal-label,
.section-kicker,
.hero h1,
.product-story-copy h1 {
  font-family: var(--display);
}

small,
.insight-card-v2-cat,
.insight-card-v2-read,
.insight-card-v2-summary,
caption,
figcaption,
label,
.form-result,
.footer-legal,
.footer-legal a {
  font-family: var(--sans);
}

/* ── Form result states ── */
.form-result-success {
  color: #34d399;
  font-size: 15px;
  font-weight: 400;
  text-align: center;
}
.form-result-error {
  color: #c0392b;
  font-weight: 600;
}

/* ── Hide demo preview section ── */
.demo-preview { display: none; }

/* Demo nav link – visible */

/* ── Coming Soon page ── */
.coming-soon-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1000px;
  padding: 120px 0 80px;
  background: linear-gradient(160deg, #f7fbfc 0%, #ffffff 40%, #f0f8fa 100%);
}

.coming-soon-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.coming-soon-puzzle {
  margin-bottom: 32px;
}

.coming-soon-piece-float {
  animation: puzzle-float 3s ease-in-out infinite;
  transform-origin: 42px 42px;
}

@keyframes puzzle-float {
  0%, 100% { transform: translate(108px, -16px) rotate(8deg); }
  50%      { transform: translate(104px, -10px) rotate(4deg); }
}

.coming-soon-kicker {
  margin: 0 0 16px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.coming-soon-center h1 {
  margin: 0 0 16px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 400;
  line-height: 1.2;
}

.coming-soon-desc {
  margin: 0 0 36px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

.coming-soon-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.product-ideas-section {
  display: none;
}

.product-operating-card .product-metric-icon {
  display: block;
  text-align: left;
  color: #94a3b8;
  background: none;
  border-radius: 0;
  width: auto;
  height: auto;
}

.product-operating-card .product-metric-icon svg {
  width: 22px;
  height: 22px;
  stroke-width: 1.6;
}

.product-operating-card .product-metric-icon svg {
  display: block;
  margin: 0;
}

.product-operating-card:has(.product-metric-icon) > span:not(.product-metric-icon) {
  color: #667783;
  font-weight: 400;
  text-transform: capitalize;
}

.product-operating-grid-five .product-operating-card:has(.product-metric-icon) > span:not(.product-metric-icon) {
  color: var(--ink);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

.product-operating-grid-five .product-operating-card h3 {
  margin-top: 28px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
}

.product-metric-grid .product-metric-icon {
  display: none !important;
}

.hero-word-blue {
  color: #000;
}

.hero-word-orange {
  color: var(--orange);
}

.product-phrase-block .section-kicker {
  display: block;
}

.product-operating-card {
  padding: 24px;
}

.product-operating-section {
  padding-top: 0;
}

.product-story-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F3F7FB;
  border: none;
  box-shadow: none;
  min-height: auto;
}
.product-story-visual svg {
  width: 100%;
  max-width: 480px;
  height: auto;
}

/* Chat bubble animation (shared) */
@keyframes wz-fade-up {
  0%   { opacity: 0; transform: translateY(12px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Wizlynn */
.wizlynn-chat-anim .wz-bubble { opacity: 0; }
.wizlynn-chat-anim .wz-bubble.bubble-active { animation: wz-fade-up 0.35s ease-out forwards; }

/* Talkbot */
.tb-bubble { opacity: 0; }
.tb-bubble.bubble-active { animation: wz-fade-up 0.35s ease-out forwards; }

/* QM */
.qm-chat-anim .qm-bubble { opacity: 0; }
.qm-chat-anim .qm-bubble.bubble-active { animation: wz-fade-up 0.35s ease-out forwards; }

.qm-score-bar { width: 0; }
.qm-bubble.bubble-active .qm-score-bar {
  animation: qm-bar-fill 1s ease-out 0.35s forwards;
}
@keyframes qm-bar-fill {
  from { width: 0; }
  to { width: 130px; }
}

/* Voice wave bars animation */
@keyframes voice-wave {
  0%, 100% { transform: scaleY(0.3); }
  50% { transform: scaleY(1); }
}
.voice-wave rect {
  transform-box: fill-box;
  transform-origin: center;
  animation: voice-wave 0.7s ease-in-out infinite;
}
.voice-wave rect:nth-child(1) { animation-delay: 0s; }
.voice-wave rect:nth-child(2) { animation-delay: 0.1s; }
.voice-wave rect:nth-child(3) { animation-delay: 0.2s; }
.voice-wave rect:nth-child(4) { animation-delay: 0.1s; }
.voice-wave rect:nth-child(5) { animation-delay: 0s; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .wizlynn-chat-anim .wz-bubble,
  .tb-bubble,
  .qm-chat-anim .qm-bubble {
    opacity: 1;
    animation: none;
  }
  .voice-wave rect {
    animation: none;
    transform: scaleY(0.6);
  }
}

@media (max-width: 980px) {
  .product-story-visual {
    display: flex;
    justify-content: center;
    max-width: 400px;
    margin: 0 auto;
  }
  .product-story-visual svg {
    max-width: 360px;
  }
}

/* Investors section */
.about-investors {
  background: #F6F8FB;
}

.about-investors-inner {
  text-align: center;
}

.about-investors-inner .section-kicker {
  display: none;
}

.about-investors-inner h2 {
  margin: 12px 0 0;
  font-family: var(--display);
  font-size: clamp(26px, 2.9vw, 38px);
  font-weight: 400;
  line-height: 1.2;
  color: var(--ink);
}

.about-investors-desc {
  margin: 16px auto 0;
  max-width: 600px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--muted);
}

/* Investor marquee — infinite horizontal scroll */
.investor-marquee {
  position: relative;
  overflow: hidden;
  margin-top: 48px;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}

.investor-marquee-track {
  display: flex;
  gap: 20px;
  width: max-content;
  animation: investor-scroll 40s linear infinite;
}

.investor-marquee:hover .investor-marquee-track {
  animation-play-state: paused;
}

@keyframes investor-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.about-investor-card {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  height: 92px;
  padding: 14px 36px;
  border-radius: 14px;
  background: #ffffff;
  border: none;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.about-investor-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}

.about-investor-card img {
  max-width: 150px;
  max-height: 42px;
  object-fit: contain;
}

.about-investor-card img[alt="Beacon Venture Capital"] {
  filter: brightness(0);
}

@media (prefers-reduced-motion: reduce) {
  .investor-marquee-track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: auto;
  }
  .investor-marquee {
    mask-image: none;
    -webkit-mask-image: none;
    width: auto;
    left: auto;
    transform: none;
  }
}

@media (max-width: 768px) {
  .about-investor-card {
    min-width: 150px;
    height: 60px;
    padding: 10px 24px;
  }
  .about-investor-card img {
    max-width: 120px;
    max-height: 36px;
  }
  .investor-marquee-track {
    gap: 14px;
  }
}

/* Awards */
.about-awards {
  background: #fff;
  padding-bottom: 120px;
}

.about-awards-inner {
  text-align: center;
}

.about-awards-inner .section-kicker {
  display: none;
}

.about-awards-inner h2 {
  margin: 12px 0 0;
  font-family: var(--display);
  font-size: clamp(26px, 2.9vw, 38px);
  font-weight: 400;
  line-height: 1.2;
}

.about-awards-desc {
  margin: 16px auto 0;
  max-width: 600px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--muted);
}

.about-awards-img {
  display: block;
  width: 1200px;
  max-width: 100%;
  margin: 40px auto 0;
  border-radius: 12px;
}

/* ── Blog detail mobile: tags above, feature image, then content ── */
@media (max-width: 980px) {
  .article-shell {
    display: flex !important;
    flex-direction: column;
    width: calc(100% - 32px);
    padding-top: 120px;
  }
  .article-layout {
    display: contents !important;
  }
  .article-aside {
    position: static !important;
    order: 1;
    width: 100%;
  }
  .article-feature {
    order: 2;
    width: 100%;
    margin-bottom: 20px;
  }
  .article-content {
    order: 3;
    width: 100%;
  }
  .article-back { order: -2; }
  .article-masthead { order: -1; }
}

/* ============ Language Engine page ============ */

.le-kicker {
  display: block;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange);
  margin: 0 0 16px;
}

.le-section-block {
  padding-top: 40px;
}
.le-section-block .split-heading {
  margin-bottom: 56px;
}

.le-focus-grid .product-operating-card {
  min-height: auto;
  background: #f5f6f7;
  border: none;
  border-radius: 16px;
  box-shadow: none;
  padding: 24px;
}

.le-focus-grid .product-operating-card > span:not(.product-metric-icon) {
  display: block;
  max-width: none;
  min-height: 2.5em;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

.le-focus-grid .product-operating-card:nth-child(1) > span:not(.product-metric-icon),
.le-focus-grid .product-operating-card:nth-child(3) > span:not(.product-metric-icon) {
  color: var(--ink);
}

.le-focus-grid .product-operating-card:nth-child(2) > span:not(.product-metric-icon) {
  color: var(--ink);
}

.le-focus-grid .product-operating-card h3 {
  margin-top: 30px;
  font-size: 16px;
  font-weight: 400;
}

.le-focus-grid .product-operating-card p {
  font-size: 17px;
}

/* SVG animation */
.le-chat-anim .le-bubble { opacity: 0; }
.le-chat-anim .le-bubble.bubble-active { animation: wz-fade-up 0.35s ease-out forwards; }

/* Think dots loading animation */
.le-think-dots circle { animation: le-dot-pulse 1.4s ease-in-out infinite; }
.le-think-dots circle:nth-child(2) { animation-delay: 0.2s; }
.le-think-dots circle:nth-child(3) { animation-delay: 0.4s; }
.le-think-dots circle:nth-child(4) { animation-delay: 0.6s; }
@keyframes le-dot-pulse {
  0%, 100% { opacity: 0.2; }
  50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .le-chat-anim .le-bubble {
    opacity: 1;
    animation: none;
  }
}

/* WER matrix table */
.le-matrix-section {
  padding: 48px 0 120px;
}

.le-matrix-proof-note {
  width: fit-content;
  margin: 28px auto 24px;
  padding: 10px 16px;
  border: none;
  border-radius: 999px;
  background: rgba(238, 246, 255, 0.72);
  color: var(--blue);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-align: center;
  text-transform: none;
}

.le-matrix-card {
  margin-top: 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: visible;
  box-shadow: 0 14px 42px rgba(18, 32, 43, 0.055);
}

table.le-matrix {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

table.le-matrix th {
  text-align: left;
  padding: 14px 18px;
  background: #f3f4f6;
  font-weight: 600;
  color: #667783;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  border-bottom: 1px solid var(--line);
  position: relative;
  overflow: visible;
}
table.le-matrix,
table.le-matrix thead,
table.le-matrix thead tr {
  overflow: visible;
}

table.le-matrix td {
  padding: 13px 18px;
  border-bottom: 1px solid rgba(24, 43, 55, 0.06);
  vertical-align: middle;
  color: var(--ink-2);
  font-variant-numeric: tabular-nums;
}

table.le-matrix tr:last-child td {
  border-bottom: none;
}

table.le-matrix tr:hover td {
  background: #fafdfe;
}

/* Base WER info icon + tooltip */
.le-th-info {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  position: relative;
}
.le-info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #a0aab4;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  transition: color 0.2s;
}
.le-info-icon:hover,
.le-info-icon:focus {
  color: #146EA4;
  outline: none;
}
.le-info-tooltip {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  color: #3a3f45;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  padding: 12px 16px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.12), 0 1px 4px rgba(0,0,0,0.08);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
  z-index: 100;
}
.le-info-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: #fff;
}
.le-info-icon:hover .le-info-tooltip,
.le-info-icon:focus .le-info-tooltip {
  opacity: 1;
  visibility: visible;
}

.le-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-right: 10px;
  background: #f0f2f5;
  border-radius: 6px;
  font-size: 18px;
  line-height: 1;
  vertical-align: middle;
}

.le-lang {
  font-weight: 400;
  color: var(--ink);
}

.le-wer-wiz {
  display: inline-block;
  padding: 4px 12px;
  background: #e8f5ee;
  color: #1a9a6b;
  font-weight: 700;
  border-radius: 6px;
}

.le-wer-other {
  color: var(--muted);
}

.le-delta {
  display: inline-block;
  font-size: 12px;
  color: var(--orange);
  font-weight: 700;
}

/* Language Engine proof section: left-right layout */
.le-proof-section .product-proof-grid {
  grid-template-columns: 1fr;
  gap: 56px;
  align-items: start;
}

.le-proof-section .section-kicker {
  display: block;
  text-align: left;
}

.le-proof-section .product-proof-copy {
  text-align: left;
  align-items: flex-start;
}

.le-proof-section .product-proof-copy h2 {
  text-align: left;
  font-size: clamp(32px, 3.4vw, 44px);
  font-weight: 400;
}

.le-proof-section .product-proof-copy p:not(.section-kicker) {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.le-proof-section .product-metric-icon {
  display: none !important;
}

/* LE proof card styles moved to language-engine-matrix.css */

.language-engine-page main h1,
.language-engine-page main h2,
.language-engine-page main h3,
.language-engine-page main h4,
.language-engine-page main strong,
.language-engine-page main table th,
.language-engine-page main .product-operating-card span,
.language-engine-page main .product-story-tags span,
.language-engine-page main .le-wer-wiz,
.language-engine-page main .le-bench-val,
.language-engine-page main .button,
.language-engine-page main .section-kicker,
.language-engine-page main .signal-label {
  font-weight: 400 !important;
}

.language-engine-page main .product-proof-section .product-metric-grid strong,
.language-engine-page main .le-proof-metric-row strong,
.language-engine-page main .le-wer-wiz {
  color: #ffffff;
}

.language-engine-page main .product-proof-section .product-metric-grid article:nth-child(3) strong,
.language-engine-page main .le-proof-metric-row:nth-of-type(2) strong {
  color: #ffffff;
}

.language-engine-page main .le-proof-row-label-tts {
  color: rgba(255, 255, 255, 0.6);
}

/* Language Engine proof metrics: revised two-row proof block */
.le-proof-grid-revised {
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: start;
}

.le-proof-metric-groups {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.le-proof-row-label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 2px 8px;
  border-bottom: 1px solid var(--blue-soft);
  margin-bottom: 8px;
  color: var(--blue);
  font-family: var(--display);
  font-size: 13px;
  font-weight: 400 !important;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
}

.le-proof-row-label::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: currentColor;
}

.le-proof-row-label-tts {
  border-bottom-color: rgba(245, 160, 106, 0.2);
  margin-top: 18px;
}

.le-proof-metric-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.le-proof-metric-row article {
  display: flex;
  flex-direction: column;
  min-height: 150px;
  padding: 18px 20px 20px;
  border: 1px solid rgba(13, 23, 32, 0.06);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 14px 40px rgba(18, 32, 43, 0.07);
}

.le-proof-metric-row span {
  display: block;
  margin-bottom: 18px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 400 !important;
  letter-spacing: 0;
  line-height: 1.25;
}

.le-proof-metric-row strong {
  display: block;
  margin-top: auto;
  font-family: var(--display);
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 400 !important;
  letter-spacing: 0;
  line-height: 1.08;
  text-align: left;
}

.le-proof-metric-row small {
  color: var(--muted);
  font-size: 0.52em;
  font-weight: 400 !important;
  letter-spacing: 0;
}

.le-proof-metric-row .le-proof-inline-note {
  display: inline;
}

.le-proof-metric-row .le-proof-block-note {
  display: block;
  margin-top: 4px;
  font-size: 0.44em;
  line-height: 1.2;
}

@media (max-width: 1180px) {
  .le-proof-grid-revised {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 760px) {
  .le-proof-metric-row {
    grid-template-columns: 1fr;
  }
}

.le-powers-section .product-operating-card {
  background: #f5f6f7;
  border: none;
  border-radius: 16px;
  box-shadow: none;
  padding: 24px;
}

.le-power-checks {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  border-bottom: none;
  list-style: none;
}

.le-power-checks + p {
  margin-top: 16px;
}

.le-power-checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--ink-2);
  line-height: 1.4;
}

.le-power-checks li svg {
  flex-shrink: 0;
}

/* ── Language Engine: Benchmark CTA banner ── */
.le-benchmark-section {
  padding: 48px 0;
  background: #F6F5F3;
  border-radius: 20px;
  margin: 0 auto 48px;
  width: min(1216px, calc(100% - 48px));
}
.le-benchmark-section .container {
  width: min(1216px, calc(100% - 48px));
}
.le-benchmark-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 48px;
  align-items: center;
}
.le-benchmark-copy h2 {
  font-family: var(--display);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 400;
  line-height: 1.08;
  color: var(--ink);
  margin: 0 0 16px;
}
.le-benchmark-copy > p {
  font-size: 16px;
  color: var(--ink-2);
  line-height: 1.55;
  max-width: 480px;
}
.le-benchmark-label {
  display: inline-block;
  padding: 0;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange);
  background: none;
  margin-bottom: 20px;
}
.le-benchmark-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
  padding: 13px 24px;
  background: #146EA4;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  border-radius: 999px;
  border: none;
  box-shadow: 0 16px 34px rgba(20, 110, 164, 0.28);
  transition: transform .2s ease, box-shadow .2s ease;
}
.le-benchmark-btn:hover {
  transform: translateY(-2px);
  background: #0f5a87;
  box-shadow: 0 18px 40px rgba(20, 110, 164, 0.35);
}
.le-benchmark-card {
  padding: 32px;
  background: #fff;
  border: none;
  border-radius: 14px;
}
.le-benchmark-card h4 {
  margin: 0 0 8px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(10, 108, 162, 0.1);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}
.le-benchmark-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.le-benchmark-card li:last-child {
  border-bottom: none;
}
.le-bench-val {
  color: #146EA4;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  font-size: 13.5px;
}
.le-bench-icon {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(20, 110, 164, 0.07);
  border-radius: 8px;
  margin-right: 14px;
}
.le-benchmark-card li {
  display: flex;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px dashed rgba(10, 108, 162, 0.1);
  font-size: 14.5px;
  font-weight: 400;
  color: var(--ink-2);
  opacity: 0;
  transform: translateY(10px);
  animation: leBenchFadeIn 0.45s ease forwards;
}
.le-benchmark-card li > span:not(.le-bench-icon):not(.le-bench-val) {
  flex: 1;
}
.le-benchmark-card.is-visible li:nth-child(1) { animation-delay: 0.1s; }
.le-benchmark-card.is-visible li:nth-child(2) { animation-delay: 0.2s; }
.le-benchmark-card.is-visible li:nth-child(3) { animation-delay: 0.3s; }
.le-benchmark-card.is-visible li:nth-child(4) { animation-delay: 0.4s; }
.le-benchmark-card.is-visible li:nth-child(5) { animation-delay: 0.5s; }
.le-benchmark-card.is-visible li:nth-child(6) { animation-delay: 0.6s; }
@keyframes leBenchFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Language Engine hero CTA buttons ── */
.product-story-copy .hero-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.product-story-copy .hero-cta-row .button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  font-size: 15px;
  font-weight: 500;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.product-story-copy .hero-cta-row .button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.product-story-copy .hero-cta-row .button-primary {
  background: #146EA4;
  color: #fff;
  padding: 14px 22px 14px 28px;
  box-shadow: 0 14px 30px rgba(20, 110, 164, 0.28);
}
.product-story-copy .hero-cta-row .button-primary:hover {
  background: #0f5a87;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(20, 110, 164, 0.35);
}
.product-story-copy .hero-cta-row .button-secondary {
  background: rgba(255, 255, 255, 0.78);
  color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: 0 12px 30px rgba(18, 32, 43, 0.06);
}
.product-story-copy .hero-cta-row .button-secondary:hover {
  color: var(--blue);
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(18, 32, 43, 0.1);
}

@media (max-width: 980px) {
  table.le-matrix {
    font-size: 13px;
  }
  table.le-matrix th,
  table.le-matrix td {
    padding: 10px 12px;
  }
  .le-matrix-card {
    overflow-x: auto;
  }
  table.le-matrix {
    min-width: 640px;
  }
  .le-metric-grid-wide {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .le-proof-section .product-proof-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 920px) {
  .le-benchmark-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 640px) {
  .le-metric-grid-wide {
    grid-template-columns: 1fr !important;
  }
}

.product-story-copy h1 .hero-word-blue {
  color: #000;
}

.product-story-copy h1 .hero-word-orange {
  color: var(--orange);
}

.talkbot-video-section {
  padding-top: 88px;
  padding-bottom: 96px;
  background: #ffffff;
}

.talkbot-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.talkbot-video-card {
  padding: 24px;
  border: 1px solid rgba(18, 32, 43, 0.08);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(18, 32, 43, 0.08);
}

.talkbot-video-frame {
  overflow: hidden;
  border-radius: 14px;
  background: #f3f7fb;
}

.talkbot-video-frame video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.talkbot-video-card > span {
  display: block;
  margin-top: 24px;
  color: var(--blue);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.talkbot-video-card h3 {
  margin: 10px 0 10px;
  color: var(--ink);
  font-family: var(--display);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.1;
}

.talkbot-video-card p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.talkbot-proof-section {
  padding-top: 88px;
  padding-bottom: 92px;
}

.talkbot-proof-section::before {
  background-image: url('../assets/stock/blog-callcenter.jpg');
}

.talkbot-proof-section .product-proof-grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
  gap: 52px;
  align-items: stretch;
}

.talkbot-proof-section .product-proof-copy {
  align-items: flex-start;
  justify-content: center;
  text-align: left;
}

.talkbot-proof-section .product-proof-copy h2 {
  max-width: 520px;
  margin: 0;
  font-size: clamp(40px, 4vw, 68px);
  line-height: 1.02;
  text-align: left;
  color: #ffffff;
}

.talkbot-proof-section .product-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.talkbot-proof-section .product-metric-grid article {
  min-height: 210px;
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
  box-shadow: none;
}

.talkbot-proof-section .product-metric-grid span {
  color: rgba(255, 255, 255, 0.6);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
}

.talkbot-proof-section .product-metric-grid strong {
  margin-top: 18px;
  font-size: 24px;
  font-weight: 400;
  line-height: 0.98;
  color: #ffffff;
}

.talkbot-proof-section .product-metric-grid p {
  margin-top: 26px;
  max-width: 34ch;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 900px) {
  .talkbot-video-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .talkbot-proof-section .product-proof-grid,
  .talkbot-proof-section .product-metric-grid {
    grid-template-columns: 1fr;
  }

  .talkbot-proof-section .product-proof-copy h2 {
    max-width: 760px;
  }
}

.qm-proof-section.product-proof-section::before {
  display: none;
}

/* Language Engine proof: Wizlynn-style open data presentation. */
.le-proof-section.product-proof-section::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.45);
  z-index: 0;
  filter: none;
  transform: none;
}

.le-proof-section.product-proof-section::after {
  display: none;
  content: none;
}

.le-proof-section .product-proof-copy p:not(.section-kicker) {
  color: rgba(255, 255, 255, 0.55);
}

.le-proof-section .section-kicker {
  color: rgba(255, 255, 255, 0.6);
}

.le-proof-section .product-proof-copy h2 {
  color: #ffffff;
  max-width: none;
  white-space: nowrap;
}

.le-proof-section .le-proof-row-label {
  color: rgba(255, 255, 255, 0.6);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

.le-proof-section .le-proof-metric-row article {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
  box-shadow: none;
}

.le-proof-section .le-proof-metric-row span {
  color: rgba(255, 255, 255, 0.6);
}

.le-proof-section .le-proof-metric-row small {
  color: rgba(255, 255, 255, 0.45);
}

.qm-scorecard-section {
  padding-top: 88px;
  padding-bottom: 96px;
  background: #ffffff;
  overflow: hidden;
}

.qm-term-note {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 0.45em;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
}

.qm-scorecard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 44px;
}

.qm-scorecard-grid article {
  min-height: 280px;
  padding: clamp(28px, 3vw, 42px);
  border: none;
  border-radius: 24px;
  background: #f4f7fb;
  box-shadow: none;
}

.qm-scorecard-grid article:nth-child(3) {
  grid-column: 1 / -1;
}

.qm-workflow-list article {
  padding: 24px;
  border: none;
  border-radius: 16px;
  background: #f5f6f7;
  box-shadow: none;
}

.qm-scorecard-grid span {
  display: inline-flex;
  padding: 6px 0;
  border: none;
  background: transparent;
  color: #146ea4;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
}

.qm-scorecard-grid h3 {
  margin: 30px 0 24px;
  color: #13202a;
  font-family: var(--sans);
  font-size: clamp(25px, 2.4vw, 36px);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.qm-workflow-list h3 {
  margin: 28px 0 24px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
}

.qm-scorecard-grid p {
  margin: 0;
  color: #51626d;
  font-size: 16px;
  line-height: 1.5;
}

.qm-workflow-list p,
.qm-workflow-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.qm-workflow-section {
  padding-top: 90px;
  padding-bottom: 100px;
  background: linear-gradient(180deg, #f7fbfc 0%, #ffffff 100%);
}

.qm-workflow-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 48px;
  align-items: start;
}

.qm-workflow-copy h2 {
  margin: 0 0 18px;
  color: var(--ink);
  font-family: var(--display);
  font-size: 44px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.1;
}

.qm-workflow-copy p {
  max-width: 520px;
  font-size: 16px;
}

.qm-workflow-list {
  display: grid;
  gap: 14px;
}

.qm-workflow-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #e8e8e8;
  color: #1a1a1a;
  font-family: 'Inter', var(--sans);
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 980px) {
  .qm-workflow-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .qm-scorecard-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 32px;
  }

  .qm-scorecard-grid article,
  .qm-scorecard-grid article:nth-child(3) {
    grid-column: auto;
    min-height: 0;
    padding: 28px;
  }
}

.talkbot-proof-section.product-proof-section .product-proof-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
  align-items: stretch;
}

.talkbot-proof-section.product-proof-section .product-proof-copy {
  align-items: flex-start;
  text-align: left;
}

.talkbot-proof-section.product-proof-section .product-proof-copy h2 {
  max-width: 920px;
  margin: 0;
  font-size: 44px;
  font-weight: 300;
  line-height: 1.15;
  text-align: left;
  color: #ffffff;
}

.talkbot-proof-section.product-proof-section .product-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 0;
  row-gap: 48px;
}

.talkbot-proof-section.product-proof-section .product-metric-grid article {
  min-height: auto;
  padding: 0 32px 0 24px;
  border: none;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
  border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.talkbot-proof-section.product-proof-section .product-metric-grid article:first-child {
  border-left: none;
  padding-left: 0;
}

.talkbot-proof-section.product-proof-section .product-metric-grid span {
  color: #ffffff;
  font-family: var(--display);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.12;
  margin-bottom: 16px;
}

.talkbot-proof-section.product-proof-section .product-metric-grid strong {
  margin-top: 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  color: #ffffff;
}

.talkbot-proof-section.product-proof-section .product-metric-grid p {
  margin-top: 12px;
  max-width: none;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 980px) {
  .talkbot-proof-section.product-proof-section .product-metric-grid {
    grid-template-columns: 1fr;
  }

  .talkbot-proof-section.product-proof-section .product-metric-grid article {
    border-left: none;
    padding-left: 0;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .talkbot-proof-section.product-proof-section .product-metric-grid article:first-child {
    border-top: none;
    padding-top: 0;
  }
}

/* Proof sections: clean, consistent open-data layout. */
.talkbot-proof-section.product-proof-section {
  padding-top: 104px;
  padding-bottom: 112px;
}

.talkbot-proof-section.product-proof-section .product-proof-grid {
  gap: 72px;
}

.talkbot-proof-section.product-proof-section .product-proof-copy h2 {
  color: #13202a;
  font-family: var(--display);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
}

.talkbot-proof-section.product-proof-section .product-metric-grid {
  gap: 0;
  border-top: 1px solid rgba(19, 32, 42, 0.2);
  border-bottom: 1px solid rgba(19, 32, 42, 0.2);
  background: transparent !important;
}

.talkbot-proof-section.product-proof-section .product-metric-grid article {
  display: flex;
  min-height: 300px;
  flex-direction: column;
  padding: 28px 36px 32px;
  border: 0;
  border-left: 1px solid rgba(19, 32, 42, 0.2);
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.talkbot-proof-section.product-proof-section .product-metric-grid article:first-child {
  padding-left: 0;
  border-left: 0;
}

.talkbot-proof-section.product-proof-section .product-metric-grid span {
  min-height: 1.35em;
  margin: 0 0 48px;
  color: rgba(19, 32, 42, 0.72);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
}

.talkbot-proof-section.product-proof-section .product-metric-grid strong {
  min-height: 2.1em;
  margin: 0 0 30px;
  color: #13202a;
  font-family: var(--display);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.05;
}

.talkbot-proof-section.product-proof-section .product-metric-grid p {
  margin: auto 0 0;
  color: rgba(19, 32, 42, 0.68);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
}

.le-proof-section .product-proof-grid,
.le-proof-grid-revised {
  gap: 72px;
}

.le-proof-section .le-proof-metric-groups {
  display: grid;
  gap: 54px;
}

.le-proof-section .le-proof-row-label,
.le-proof-section .le-proof-row-label-tts {
  margin: 0 0 -36px;
  padding: 0;
}

.le-proof-section .le-proof-row-label-tts {
  margin-top: 56px;
  padding: 0;
}

.le-proof-section .le-proof-metric-row {
  border-top: 1px solid rgba(19, 32, 42, 0.2);
  border-bottom: 1px solid rgba(19, 32, 42, 0.2);
}

.le-proof-section .le-proof-metric-row article,
.le-proof-section .le-proof-metric-row:last-child article {
  min-height: 220px;
  padding: 30px 36px 32px;
  border-bottom: 0;
}

.le-proof-section .le-proof-metric-row article:first-child {
  padding-left: 0;
}

.le-proof-section .le-proof-metric-row span {
  min-height: 2.7em;
  margin-bottom: 46px;
}

.le-proof-section.product-proof-section {
  padding-top: 104px;
  padding-bottom: 112px;
  background: url("../assets/language-engine-proof-background.png") center / cover no-repeat;
  color: #13202a;
}

.le-proof-section .product-proof-grid {
  gap: 72px;
}

.le-proof-section .product-proof-copy h2 {
  color: #13202a;
  font-family: var(--display);
  font-size: 44px;
  font-weight: 400;
  line-height: 1.15;
}

.le-proof-section .le-proof-metric-groups {
  gap: 54px;
}

.le-proof-section .le-proof-row-label,
.language-engine-page main .le-proof-row-label-tts {
  margin: 0 0 -36px;
  padding: 0;
  border: 0;
  color: rgba(19, 32, 42, 0.68);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.le-proof-section .le-proof-row-label-tts {
  margin-top: 56px;
}

.le-proof-section .le-proof-row-label::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #146ea4;
}

.le-proof-section .le-proof-row-label-tts::before {
  background: #d96825;
}

.le-proof-section .le-proof-metric-row {
  gap: 0;
  border-top: 1px solid rgba(19, 32, 42, 0.2);
  border-bottom: 1px solid rgba(19, 32, 42, 0.2);
}

.le-proof-section .le-proof-metric-row article {
  min-height: 220px;
  padding: 30px 36px 32px;
  border: 0;
  border-right: 1px solid rgba(19, 32, 42, 0.2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.le-proof-section .le-proof-metric-row article:first-child {
  padding-left: 0;
}

.le-proof-section .le-proof-metric-row article:nth-child(3n) {
  border-right: 0;
}

.le-proof-section .le-proof-metric-row:last-child article {
  border-bottom: 0;
}

.le-proof-section .le-proof-metric-row span {
  min-height: 2.7em;
  margin-bottom: 46px;
  color: rgba(19, 32, 42, 0.68);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
}

.language-engine-page main .le-proof-metric-row strong,
.language-engine-page main .le-proof-metric-row:nth-of-type(2) strong {
  color: #13202a;
  font-family: var(--display);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 400;
  line-height: 1.05;
}

.le-proof-section .le-proof-metric-row small {
  color: rgba(19, 32, 42, 0.55);
  font-family: var(--sans);
  font-weight: 400;
}

@media (max-width: 980px) {
  .talkbot-proof-section.product-proof-section .product-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .talkbot-proof-section.product-proof-section .product-metric-grid article,
  .talkbot-proof-section.product-proof-section .product-metric-grid article:first-child {
    padding: 28px 30px 32px;
    border-top: 1px solid rgba(19, 32, 42, 0.18);
    border-left: 1px solid rgba(19, 32, 42, 0.18);
  }

  .talkbot-proof-section.product-proof-section .product-metric-grid article:nth-child(-n + 2) {
    border-top: 0;
  }

  .talkbot-proof-section.product-proof-section .product-metric-grid article:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .talkbot-proof-section.product-proof-section,
  .le-proof-section.product-proof-section {
    padding-top: 80px;
    padding-bottom: 88px;
  }

  .talkbot-proof-section.product-proof-section .product-proof-grid,
  .le-proof-section .product-proof-grid,
  .le-proof-grid-revised {
    gap: 52px;
  }

  .talkbot-proof-section.product-proof-section .product-metric-grid {
    grid-template-columns: 1fr;
  }

  .talkbot-proof-section.product-proof-section .product-metric-grid article,
  .talkbot-proof-section.product-proof-section .product-metric-grid article:first-child,
  .talkbot-proof-section.product-proof-section .product-metric-grid article:nth-child(-n + 2),
  .talkbot-proof-section.product-proof-section .product-metric-grid article:nth-child(odd) {
    min-height: 0;
    padding: 28px 0;
    border-top: 1px solid rgba(19, 32, 42, 0.18);
    border-left: 0;
  }

  .talkbot-proof-section.product-proof-section .product-metric-grid article:first-child {
    border-top: 0;
  }

  .le-proof-section .le-proof-metric-groups {
    gap: 44px;
  }

  .le-proof-section .le-proof-row-label,
  .le-proof-section .le-proof-row-label-tts {
    margin-bottom: -28px;
  }

  .le-proof-section .le-proof-metric-row article,
  .le-proof-section .le-proof-metric-row:last-child article,
  .le-proof-section .le-proof-metric-row article:first-child {
    min-height: 0;
    padding: 26px 0;
  }

  .le-proof-section .le-proof-metric-row article,
  .le-proof-section .le-proof-metric-row article:nth-child(3n),
  .le-proof-section .le-proof-metric-row:last-child article {
    min-height: 0;
    padding: 24px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(19, 32, 42, 0.18);
  }

  .le-proof-section .le-proof-metric-row:last-child article:last-child {
    border-bottom: 0;
  }
}

/* ===== Wizlynn Hero Centered (product pages) ===== */
.wizlynn-hero-centered {
  text-align: center;
  padding: 180px 0 80px;
  position: relative;
  overflow: hidden;
  background:
    #F3F9FE;
}

.wizlynn-hero-centered::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
}

.wizlynn-hero-centered::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.7), rgba(248,251,255,0.5));
  backdrop-filter: blur(0.5px);
  pointer-events: none;
  z-index: 0;
}

.wizlynn-hero-centered > * {
  position: relative;
  z-index: 1;
}

.wizlynn-hero-centered .signal-label {
  margin-bottom: 16px;
}

.wizlynn-hero-centered h1 {
  font-size: clamp(28px, 3.5vw, 44px) !important;
  font-weight: 400;
  line-height: 1.3;
  max-width: 800px;
  margin: 0 auto 20px;
}

.wizlynn-hero-centered p {
  max-width: 620px;
  margin: 0 auto;
  color: #8f8e8d;
  font-size: 16px;
  line-height: 1.6;
}

.wizlynn-hero-centered .product-story-tags {
  justify-content: center;
  margin-top: 24px;
}

.wizlynn-hero-centered .hero-cta-row {
  justify-content: center;
  margin-top: 32px;
}

.wizlynn-hero-centered .wizlynn-hero-visual {
  margin-top: 48px;
  width: 100vw;
  max-width: 1600px;
  margin-left: 50%;
  transform: translateX(-50%);
}

/* ===== Readiness Accordion ===== */
.wizlynn-readiness-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

.readiness-item {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0;
  margin-bottom: 8px;
  overflow: hidden;
  transition: border-color 200ms ease;
}

.readiness-item[open] {
  border-color: var(--blue);
}

.readiness-item summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 24px;
  font-size: 16px;
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}

.readiness-item summary::-webkit-details-marker { display: none; }

.readiness-item summary::after {
  content: "+";
  margin-left: auto;
  font-size: 20px;
  font-weight: 300;
  color: var(--muted);
  transition: transform 200ms ease;
}

.readiness-item[open] summary::after {
  content: "\2212";
}

.readiness-item .readiness-body {
  padding: 0 24px 20px;
  font-size: 14px;
  line-height: 1.65;
  color: #8f8e8d;
}

@media (max-width: 768px) {
  .wizlynn-readiness-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* ===== Language Engine Demo Container ===== */
.le-demo-container {
  position: relative;
  max-width: 800px;
  margin: 48px auto 0;
  border-radius: 16px;
  overflow: hidden;
  background: #0f1d26;
  aspect-ratio: 16 / 9;
}

.le-demo-container .le-demo-poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.le-demo-container .le-demo-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.35);
  cursor: pointer;
  border: none;
  transition: background 200ms ease;
}

.le-demo-container .le-demo-play:hover {
  background: rgba(0, 0, 0, 0.5);
}

.le-demo-container .le-demo-play svg {
  width: 64px;
  height: 64px;
  fill: #fff;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.3));
}

.le-demo-container .le-demo-play-label {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  background: rgba(0,0,0,0.5);
  padding: 6px 16px;
  border-radius: 20px;
}

.le-demo-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.le-demo-container.is-playing .le-demo-poster,
.le-demo-container.is-playing .le-demo-play {
  display: none;
}

/* ── Product Cards Section ── */
.product-cards-section {
  background: #fff;
}
.product-cards-section .split-heading {
  align-items: flex-start;
  text-align: left;
}

.product-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.product-card {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: transform 0.3s ease;
}

.product-card:hover {
  transform: translateY(-4px);
}

.product-card-header {
  margin-bottom: 20px;
}

.product-card-header h3 {
  font-family: var(--display);
  font-size: 24px;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 8px;
}

.product-card-header p {
  font-size: 15px;
  line-height: 1.5;
  color: #64748b;
}

/* 3-column grid for remaining products */
.product-cards-grid-3 {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 48px;
}
@media (max-width: 980px) {
  .product-cards-grid-3 { grid-template-columns: 1fr; }
}

.product-card-banner {
  position: relative;
  width: 100%;
  aspect-ratio: 1600 / 700;
  border-radius: 32px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Noise grain overlay */
.product-card-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  opacity: 0.06;
  mix-blend-mode: soft-light;
  pointer-events: none;
  z-index: 2;
}

/* Subtle dark overlay */
.product-card-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.06);
  pointer-events: none;
  z-index: 3;
}

/* Content layer */
.product-banner-content {
  position: relative;
  z-index: 4;
}

.product-banner-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  border-radius: 12px;
  font-family: var(--display);
  font-size: 16px;
  font-weight: 400;
  color: #1e293b;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
}

.product-banner-chip svg {
  flex-shrink: 0;
}

/* ── Wizlynn: blue-purple to teal ── */
.product-banner-wizlynn {
  background:
    radial-gradient(ellipse 120% 80% at 30% 20%, rgba(180, 190, 230, 0.9), transparent 60%),
    radial-gradient(ellipse 100% 90% at 70% 30%, rgba(200, 210, 240, 0.7), transparent 50%),
    radial-gradient(ellipse 140% 100% at 50% 90%, rgba(60, 140, 170, 0.8), transparent 60%),
    radial-gradient(ellipse 80% 60% at 80% 70%, rgba(80, 130, 160, 0.6), transparent 50%),
    linear-gradient(180deg, #c4cde8 0%, #8db8c8 40%, #4a8a9c 70%, #3d7080 100%);
}

/* ── Talkbot: gray-teal + warm tones ── */
.product-banner-talkbot {
  background:
    radial-gradient(ellipse 100% 80% at 60% 15%, rgba(160, 155, 150, 0.8), transparent 55%),
    radial-gradient(ellipse 80% 60% at 85% 25%, rgba(190, 170, 155, 0.6), transparent 50%),
    radial-gradient(ellipse 120% 90% at 40% 80%, rgba(75, 110, 115, 0.7), transparent 55%),
    radial-gradient(ellipse 80% 50% at 20% 50%, rgba(100, 115, 120, 0.5), transparent 50%),
    linear-gradient(180deg, #a09890 0%, #8a9098 40%, #5a7478 70%, #4a6468 100%);
}

/* ── QM: pink-lavender to blue ── */
.product-banner-qm {
  background:
    radial-gradient(ellipse 120% 70% at 30% 15%, rgba(210, 185, 210, 0.9), transparent 55%),
    radial-gradient(ellipse 90% 60% at 75% 20%, rgba(200, 190, 220, 0.7), transparent 50%),
    radial-gradient(ellipse 130% 100% at 50% 85%, rgba(100, 160, 200, 0.8), transparent 60%),
    radial-gradient(ellipse 80% 50% at 15% 60%, rgba(140, 170, 210, 0.5), transparent 50%),
    linear-gradient(180deg, #d4bdd4 0%, #b0b8d4 35%, #7aaccc 65%, #6899bb 100%);
}

/* ── Language Engine: teal-green to deep blue ── */
.product-banner-lang {
  background:
    radial-gradient(ellipse 110% 70% at 40% 20%, rgba(168, 220, 250, 0.8), transparent 55%),
    radial-gradient(ellipse 90% 60% at 80% 30%, rgba(180, 225, 248, 0.6), transparent 50%),
    radial-gradient(ellipse 130% 90% at 50% 85%, rgba(90, 170, 225, 0.7), transparent 55%),
    radial-gradient(ellipse 80% 50% at 15% 65%, rgba(124, 200, 245, 0.5), transparent 50%),
    linear-gradient(180deg, #d0ecfa 0%, #a8dcfa 35%, #7cc8f5 65%, #5ab4ee 100%);
}

/* ── Product cards responsive ── */
@media (max-width: 980px) {
  .product-cards-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

@media (max-width: 640px) {
  .product-cards-grid {
    gap: 36px;
  }

  .product-card-header h3 {
    font-size: 20px;
  }

  .product-card-banner {
    border-radius: 14px;
  }
}

/* ── Large-screen hero compact ── */
@media (min-width: 1600px) {
  .hero {
    min-height: min(900px, 82vh);
    padding: 64px 0 4px;
  }

  .hero-grid-solo {
    padding-top: 8vh;
  }
}

/* =============================================
   PRODUCT SUITE — 2×2 grid (Linear-style cards)
   ============================================= */
.product-suite-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

/* ── Card ── */
.ps-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #E5E7EB;
  overflow: hidden;
  transition: box-shadow 0.3s, transform 0.3s;
}
.ps-card:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,0.08);
  transform: translateY(-3px);
}

/* ── Visual area (top) ── */
.ps-visual {
  background: #F8FAFC;
  padding: 40px 32px 32px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 280px;
  position: relative;
  overflow: hidden;
}

/* ── Text area (bottom) ── */
.ps-text {
  padding: 24px 28px 28px;
}
.ps-text h3 {
  font-size: 18px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px;
  line-height: 1.3;
}
.ps-text p {
  font-size: 14px;
  line-height: 1.6;
  color: #6B7280;
  margin: 0;
}

/* ── Shared mockup container ── */
.ps-mockup {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 20px;
  width: 100%;
  max-width: 340px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.04);
}

/* ────────────────────────────
   Wizlynn · Chat mockup
   ──────────────────────────── */
.ps-mockup--chat { display: flex; flex-direction: column; gap: 10px; }
.ps-chat-bubble { border-radius: 10px; padding: 10px 14px; font-size: 13px; line-height: 1.5; }
.ps-chat-bubble p { margin: 0; }
.ps-chat--user { background: #F3F4F6; color: #374151; }
.ps-chat-voice { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; color: #9CA3AF; }
.ps-chat-voice small { font-size: 11px; font-variant-numeric: tabular-nums; }
.ps-chat--agent { background: #EFF6FF; color: #1D4ED8; }
.ps-chat-typing { display: flex; gap: 4px; padding: 4px 0 0 4px; }
.ps-chat-typing span {
  width: 6px; height: 6px; border-radius: 50%; background: #D1D5DB;
  animation: psDotPulse 1.2s infinite;
}
.ps-chat-typing span:nth-child(2) { animation-delay: 0.2s; }
.ps-chat-typing span:nth-child(3) { animation-delay: 0.4s; }
@keyframes psDotPulse { 0%,60%,100% { opacity: 0.3; } 30% { opacity: 1; } }

/* ────────────────────────────
   Talkbot · Campaign chart
   ──────────────────────────── */
.ps-mockup--campaign { display: flex; flex-direction: column; gap: 16px; }
.ps-camp-head { display: flex; justify-content: space-between; align-items: center; }
.ps-camp-head strong { font-size: 16px; font-weight: 700; color: #111827; }
.ps-camp-dots { font-size: 20px; color: #9CA3AF; letter-spacing: 2px; }
.ps-camp-kpis { display: flex; gap: 12px; }
.ps-camp-kpi {
  flex: 1; background: #F9FAFB; border: 1px solid #E5E7EB;
  border-radius: 10px; padding: 12px 14px;
  display: flex; flex-direction: column; gap: 4px;
}
.ps-camp-kpi small { font-size: 11px; color: #6B7280; }
.ps-camp-kpi strong {
  font-size: 28px; font-weight: 700; color: #111827;
  display: flex; align-items: baseline; gap: 2px;
}
.ps-camp-kpi strong span { font-size: 16px; font-weight: 500; color: #6B7280; }
.ps-kpi-dot {
  display: inline-block; width: 8px; height: 8px;
  border-radius: 2px; margin-right: 6px; flex-shrink: 0;
  position: relative; top: -2px;
}
.ps-kpi-dot--a { background: #93C5FD; }
.ps-kpi-dot--b { background: #3B82F6; }
.ps-kpi-badge {
  display: inline-flex; align-items: center; gap: 2px;
  font-size: 12px; font-style: normal; font-weight: 600;
  color: #059669; background: #ECFDF5;
  border-radius: 6px; padding: 2px 8px;
  margin-left: auto; align-self: flex-start;
}
.ps-camp-chart { width: 100%; height: 64px; margin-top: 4px; }

/* ────────────────────────────
   QM · Score + metrics
   ──────────────────────────── */
.ps-mockup--qm { display: flex; flex-direction: column; gap: 8px; align-items: center; }
.ps-qm-header { text-align: center; }
.ps-qm-header strong { font-size: 40px; font-weight: 700; color: #111827; }
.ps-qm-header span { font-size: 18px; color: #9CA3AF; }
.ps-qm-sub {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em;
  color: #9CA3AF; display: block; text-align: center;
}
.ps-qm-waveform { width: 100%; height: 36px; margin: 8px 0; }
.ps-qm-metrics {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 6px 20px; width: 100%;
}
.ps-qm-metrics > div {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12.5px; padding: 4px 0;
  border-bottom: 1px solid #F3F4F6;
}
.ps-qm-metrics span { color: #6B7280; }
.ps-qm-metrics strong { color: #111827; font-weight: 600; font-variant-numeric: tabular-nums; }

/* ────────────────────────────
   Language Engine · Tags + wave
   ──────────────────────────── */
.ps-mockup--lang { display: flex; flex-direction: column; gap: 14px; }
.ps-lang-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.ps-lang-tags > span {
  font-size: 12px; padding: 4px 10px; border-radius: 6px;
  background: #F3F4F6; color: #374151; white-space: nowrap;
}
.ps-lang-more { color: #9CA3AF !important; background: transparent !important; }
.ps-lang-waveform { width: 100%; height: 44px; }
.ps-lang-intent {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 13px; color: #6B7280; background: #F9FAFB;
  border: 1px solid #E5E7EB; border-radius: 8px; padding: 8px 12px;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .product-suite-grid { grid-template-columns: 1fr; gap: 20px; }
  .ps-visual { min-height: 220px; padding: 28px 20px 24px; }
  .ps-text { padding: 20px 20px 24px; }
  .ps-camp-kpi strong { font-size: 22px; }
}
@media (max-width: 480px) {
  .ps-visual { min-height: 200px; padding: 24px 16px 20px; }
  .ps-mockup { padding: 16px; }
  .ps-camp-kpis { flex-direction: column; }
}

/* =============================================
   PRODUCT QUAD GRID — 4 cards in one row
   ============================================= */
.wiz-featured-section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.wiz-quad-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
}

.wiz-quad-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  overflow: hidden;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.wiz-quad-card:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.wiz-quad-text {
  padding: 24px 24px 16px;
  transition: transform 0.3s ease;
}
.wiz-quad-card:hover .wiz-quad-text {
  transform: translateY(-6px);
}
.wiz-quad-text h3 {
  font-size: 18px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px;
  line-height: 1.3;
}
.wiz-quad-text p {
  font-size: 13.5px;
  line-height: 1.55;
  color: #716F6C;
  margin: 0;
}

.wiz-quad-visual {
  padding: 0 24px 24px;
  margin-top: auto;
}

.wiz-quad-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wiz-qi {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: #F9FAFB;
  border: 1px solid #F3F4F6;
  border-radius: 8px;
  font-size: 12px;
  color: #374151;
  white-space: nowrap;
  line-height: 1;
}

.wiz-qi-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #EFF6FF;
  flex-shrink: 0;
}
.wiz-qi-icon svg {
  width: 16px;
  height: 16px;
}

/* Color variants */
.wiz-qi-icon.wiz-qi--purple {
  background: #F3E8FF;
}
.wiz-qi-icon.wiz-qi--green {
  background: #ECFDF5;
}
.wiz-qi-icon.wiz-qi--orange {
  background: #FFF7ED;
}

/* ── Responsive: tablet ── */
@media (max-width: 1080px) {
  .wiz-quad-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
}
@media (max-width: 860px) {
  .wiz-quad-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}

/* ── Responsive: 1 col on mobile ── */
@media (max-width: 640px) {
  .wiz-quad-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .wiz-quad-text {
    padding: 20px 20px 12px;
  }
  .wiz-quad-visual {
    padding: 0 20px 20px;
  }
}

/* =============================================
   WIZLYNN FEATURED CARD — 2×2 GRID LAYOUT
   ============================================= */
.wiz-grid-2x2 {
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
}

.wiz-card-vertical {
  grid-column: auto !important;
  display: flex !important;
  flex-direction: column;
  grid-template-columns: unset;
  grid-template-rows: unset;
  column-gap: unset;
  background: #ffffff;
  border: none;
  border-radius: 18px;
  overflow: hidden;
}

.wiz-card-vertical + .wiz-card-vertical {
  margin-top: 0 !important;
}

/* ── Visual area: top of card, fixed height ── */
.wiz-card-vertical .wiz-featured-visual {
  grid-column: unset;
  grid-row: unset;
  border-radius: 18px 18px 0 0;
  padding: 16px 28px 0;
  height: 420px;
  min-height: unset;
}
.wiz-card-vertical .wiz-featured-mockup:not(.wiz-talkbot-mockup):not(.wiz-qm-mockup):not(.wiz-lang-mockup) {
  max-width: 440px;
}
.wiz-card-vertical .wiz-featured-mockup {
  transform: scale(0.78);
  transform-origin: top center;
}

/* ── Info area: below visual ── */
.wiz-card-info {
  padding: 20px 0 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  align-items: flex-start;
  text-align: left;
}
.wiz-card-info h3 { order: 1; }
.wiz-card-info .wiz-card-tags { order: 2; }
.wiz-card-info > p { order: 3; }
.wiz-card-info h3 {
  font-size: 24px;
  font-weight: 400;
  color: #111827;
  margin: 0;
  line-height: 1.3;
}
.wiz-card-info h3 a {
  color: inherit;
  text-decoration: none;
}
.wiz-card-info h3 a:hover {
  text-decoration: underline;
}
.wiz-card-info > p {
  font-size: 15px;
  line-height: 1.6;
  color: #716F6C;
  margin: 0 0 4px;
}

/* ── Feature tags: horizontal wrap ── */
.wiz-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
  justify-content: flex-start;
}
.wiz-card-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: #F9FAFB;
  border: 1px solid #F3F4F6;
  border-radius: 8px;
  font-size: 13px;
  color: #374151;
  white-space: nowrap;
  line-height: 1;
}
.wiz-card-tag svg {
  flex-shrink: 0;
  stroke: #6B7280;
}

/* ── Keep old class names working for non-vertical cards ── */
.wiz-featured-card:not(.wiz-card-vertical) {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 642px 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 80px;
  text-decoration: none;
  color: inherit;
  background: transparent;
  border: none;
}

.wiz-featured-header {
  grid-column: 2;
  grid-row: 1;
  padding: 0;
  margin-bottom: 60px;
  align-self: start;
}
.wiz-featured-header h3 {
  font-size: 32px;
  font-weight: 400;
  color: #111827;
  margin: 0 0 8px;
  line-height: 1.3;
}
.wiz-featured-header h3 a {
  color: inherit;
  text-decoration: none;
}
.wiz-featured-header h3 a:hover {
  text-decoration: underline;
}
a.wiz-featured-visual {
  display: flex;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.wiz-featured-header p {
  font-size: 16px;
  line-height: 1.6;
  color: #716F6C;
  margin: 0;
  max-width: 640px;
}

.wiz-featured-body {
  display: contents;
}

.wiz-featured-visual {
  grid-column: 1;
  grid-row: 1 / 3;
  min-width: 0;
  background-color: #F3F6F9;
  background-image:
    linear-gradient(to right, rgba(0,0,0,0.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,0.025) 1px, transparent 1px);
  background-size: 24px 24px;
  border-radius: 18px;
  padding: 36px 32px 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
}

.wiz-featured-mockup {
  background: #ffffff;
  border: 1px solid #CFDAE8;
  border-radius: 18px 18px 0 0;
  border-bottom: none;
  padding: 28px 28px 0;
  width: 100%;
  max-width: 440px;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  z-index: 2;
  margin-top: 20px;
}

/* ── Chat flow container ── */
.wiz-chat-flow {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 32px;
}

/* ── Voice player bar (contained block) ── */
.wiz-voice-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #E8EEF4;
  border-radius: 14px;
  padding: 16px 22px;
}
.wiz-voice-indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #3B6FD4;
  flex-shrink: 0;
  animation: wizPulse 1.5s ease-in-out infinite;
}
@keyframes wizPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.8); }
}

.wiz-voice-wave {
  display: flex;
  align-items: center;
  gap: 3px;
  flex: 1;
}
.wiz-voice-wave span {
  display: block;
  width: 2.5px;
  border-radius: 1.5px;
  background: #5B7294;
  animation: wizWave 1.2s ease-in-out infinite;
}
.wiz-voice-wave span:nth-child(1) { height: 10px;  animation-delay: 0s; }
.wiz-voice-wave span:nth-child(2) { height: 22px; animation-delay: 0.1s; }
.wiz-voice-wave span:nth-child(3) { height: 12px; animation-delay: 0.2s; }
.wiz-voice-wave span:nth-child(4) { height: 26px; animation-delay: 0.15s; }
.wiz-voice-wave span:nth-child(5) { height: 16px; animation-delay: 0.3s; }
.wiz-voice-wave span:nth-child(6) { height: 10px;  animation-delay: 0.25s; }
.wiz-voice-wave span:nth-child(7) { height: 24px; animation-delay: 0.05s; }
.wiz-voice-wave span:nth-child(8) { height: 14px; animation-delay: 0.35s; }
.wiz-voice-wave span:nth-child(9) { height: 8px;  animation-delay: 0.2s; }

@keyframes wizWave {
  0%, 100% { transform: scaleY(0.35); }
  50% { transform: scaleY(1); }
}

.wiz-voice-time {
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  color: #8B9BB5;
  flex-shrink: 0;
  letter-spacing: 0.02em;
}

/* ── Chat bubbles (sequential typewriter) ── */
.wiz-chat-bubble {
  border-radius: 16px;
  padding: 14px 20px;
  font-size: 15.5px;
  line-height: 1.55;
  max-width: 85%;
  opacity: 0;
  animation: wizFadeUp 0.3s ease forwards;
}
.wiz-chat-bubble p {
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  max-width: 0;
  animation: wizType 1s steps(20) forwards;
}

.wiz-chat--user {
  background: #F0F1F4;
  color: #3B4A5E;
  align-self: flex-start;
}
.wiz-chat--agent {
  background: #D4E4FC;
  color: #111827;
  align-self: flex-end;
}

/* ── Staggered message appearance + typing (natural pace) ── */
/* Msg 1: user — "I'd like to activate my new SIM card." (38 chars, ~2s) */
.wiz-chat-animating .wiz-msg-1 { animation-delay: 1s; }
.wiz-chat-animating .wiz-msg-1 p { animation: wizType 2s steps(38) forwards; animation-delay: 1.1s; }

/* pause 1.5s for agent to "think", msg 2 at 4.5s — "Sure! Can I have your phone number?" (35 chars) */
.wiz-chat-animating .wiz-msg-2 { animation-delay: 4.5s; }
.wiz-chat-animating .wiz-msg-2 p { animation: wizType 2s steps(35) forwards; animation-delay: 4.6s; }

/* pause 1.5s, msg 3 at 8s — "It's 9182 7364." (15 chars, ~1s) */
.wiz-chat-animating .wiz-msg-3 { animation-delay: 8s; }
.wiz-chat-animating .wiz-msg-3 p { animation: wizType 1s steps(15) forwards; animation-delay: 8.1s; }

/* pause 1.5s, msg 4 at 10.5s — "Your SIM is now activated and ready to use." (42 chars, ~2.5s) */
.wiz-chat-animating .wiz-msg-4 { animation-delay: 10.5s; }
.wiz-chat-animating .wiz-msg-4 p { animation: wizType 2.5s steps(42) forwards; animation-delay: 10.6s; }

/* pause 1.5s, msg 5 at 14.5s — "That was fast, thanks!" (22 chars, ~1.2s) */
.wiz-chat-animating .wiz-msg-5 { animation-delay: 14.5s; }
.wiz-chat-animating .wiz-msg-5 p { animation: wizType 1.2s steps(22) forwards; animation-delay: 14.6s; }

/* ── Typing dots (centered, no background) ── */
.wiz-chat-dots {
  display: flex;
  gap: 8px;
  align-self: center;
  padding: 10px 0;
  background: none;
}
.wiz-chat-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7BA5D8;
  animation: wizDotBounce 1.2s ease-in-out infinite;
}
.wiz-chat-dots span:nth-child(2) { animation-delay: 0.15s; }
.wiz-chat-dots span:nth-child(3) { animation-delay: 0.3s; }

@keyframes wizDotBounce {
  0%, 60%, 100% { opacity: 0.35; transform: translateY(0); }
  30% { opacity: 1; transform: translateY(-4px); }
}

@keyframes wizFadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes wizType {
  from { max-width: 0; }
  to   { max-width: 50ch; }
}


/* ── Features list (right side) ── */
.wiz-featured-feats {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 28px;
  align-self: start;
}

.wiz-feat {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.wiz-feat-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.wiz-feat-icon svg {
  width: 20px;
  height: 20px;
}

.wiz-feat-text h4 {
  font-size: 16px;
  font-weight: 400;
  color: #111827;
  margin: 0 0 6px;
  line-height: 1.3;
}
.wiz-feat-text p {
  font-size: 16px;
  line-height: 1.6;
  color: #716F6C;
  margin: 0;
}

/* ── 120px spacing between featured cards ── */
.wiz-featured-card + .wiz-featured-card {
  margin-top: 160px;
}

/* ── Reversed featured card (Language Engine) ── */
.wiz-featured-reverse {
  grid-template-columns: 1fr 642px;
}
.wiz-featured-reverse .wiz-featured-header {
  grid-column: 1;
  grid-row: 1;
}
.wiz-featured-reverse .wiz-featured-visual {
  grid-column: 2;
  grid-row: 1 / 3;
}
.wiz-featured-reverse .wiz-featured-feats {
  grid-column: 1;
  grid-row: 2;
}

/* ── Horizontal feature labels (Talkbot) ── */
.wiz-feats-horizontal {
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 0 !important;
}
.wiz-feat-label {
  font-size: 15px;
  font-weight: 500;
  color: #111827;
  padding: 12px 0;
  border-bottom: 1px solid #E5E7EB;
  flex: 1 1 0;
  min-width: 120px;
  text-align: center;
}
.wiz-feat-label:last-child {
  border-bottom: none;
}

/* ── Talkbot visual area ── */
.wiz-featured-visual--talkbot {
  background: #EFF6FF;
  padding: 0 0 32px 0 !important;
  position: relative;
}
/* Remove scale from talkbot mockup — stats are now in overlay */
.wiz-card-vertical .wiz-featured-visual--talkbot .wiz-featured-mockup {
  transform: none;
}

/* ── Talkbot campaign dashboard ── */
/* Stats overlay — positioned absolutely in the visual, not affected by mockup scale */
.wiz-tb-overlay {
  position: absolute;
  top: 24px;
  left: 32px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wiz-tb-overlay .wiz-tb-stats-row {
  padding: 0;
}
.wiz-tb-overlay .wiz-tb-legend {
  padding: 0;
}

.wiz-talkbot-mockup {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  background: transparent;
  border: none;
  border-radius: 0;
  max-width: none;
  padding: 0;
  box-shadow: none;
  height: 100%;
  justify-content: flex-end;
  position: relative;
  z-index: 5;
}

/* Stats row — 2x2 grid */
.wiz-tb-stats-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 24px;
  padding: 0 24px;
  justify-items: start;
}
.wiz-tb-stat {
  border: none;
  border-radius: 0;
  padding: 4px 0;
  background: transparent;
  text-align: left;
}
.wiz-tb-stat-label {
  display: block;
  font-size: 14px;
  color: #6B7280;
  margin-bottom: 2px;
}
.wiz-tb-stat-value {
  font-size: 34px;
  font-weight: 400;
  color: #374151;
  line-height: 1.1;
}

/* Legend */
.wiz-tb-legend {
  display: flex;
  gap: 20px;
  padding: 0 24px;
}
.wiz-tb-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #6B7280;
}
.wiz-tb-legend-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Chart area */
.wiz-tb-chart {
  position: relative;
  margin: 0;
  z-index: 10;
}
.wiz-tb-chart-svg {
  width: 100%;
  height: 180px;
  display: block;
}
/* Line draw-in animation */
.wiz-tb-line {
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 900;
  stroke-dashoffset: 900;
  animation: tbLineDraw 2.5s ease forwards;
}
.wiz-tb-line--dark { animation-delay: 0.3s; }
.wiz-tb-line--light { animation-delay: 0s; }
@keyframes tbLineDraw {
  to { stroke-dashoffset: 0; }
}
/* Area fade in */
.wiz-tb-area-light, .wiz-tb-area-dark {
  opacity: 0;
  animation: tbAreaFade 1s ease forwards 1.5s;
}
.wiz-tb-area-dark { animation-delay: 1.8s; }
@keyframes tbAreaFade {
  to { opacity: 1; }
}
/* SVG dots hidden — replaced by HTML dots to avoid ellipse from preserveAspectRatio="none" */
.wiz-tb-chart-dot {
  display: none;
}
/* HTML dots: always round */
.wiz-tb-dot-html {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: 12;
  pointer-events: none;
  transition: opacity 0.4s ease;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.8);
}
.wiz-tb-dot-html--light { background: #93C5FD; }
.wiz-tb-dot-html--dark { background: #2563EB; }
/* Tooltip */
.wiz-tb-tooltip {
  position: absolute;
  top: 4px;
  left: 58%;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 8px 16px;
  font-size: 15px;
  color: #374151;
  white-space: nowrap;
  box-shadow: 0 4px 16px rgba(0,0,0,0.10);
  opacity: 0;
  pointer-events: none;
  transition: none;
  z-index: 20;
}
.wiz-tb-tooltip-date {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}
.wiz-tb-tooltip-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #6B7280;
}
.wiz-tb-tooltip-row strong {
  margin-left: auto;
  padding-left: 16px;
  font-weight: 600;
  color: #111827;
}
.wiz-tb-tooltip-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
/* tooltip opacity now controlled by JS for smooth fade-in during sweep */
.wiz-tb-chart.is-animating .wiz-tb-scanline {
  opacity: 1;
}
.wiz-tb-chart.is-animating .wiz-tb-chart-dot,
.wiz-tb-chart.is-animating .wiz-tb-dot-html {
  opacity: 1;
}
/* Fake cursor – hidden */
.wiz-tb-cursor { display: none; }
/* Vertical scan line — JS sets top & height dynamically */
.wiz-tb-scanline {
  position: absolute;
  left: 66.6%;
  width: 1.5px;
  background: #111827;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.wiz-tb-scanline-dot {
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #111827;
}
/* X axis */
.wiz-tb-xaxis {
  display: flex;
  justify-content: space-between;
  padding: 6px 12px 8px;
  font-size: 16px;
  color: #9CA3AF;
  font-weight: 500;
}

/* ── QM mockup (scorecard dashboard) ── */
.wiz-featured-visual--qm {
  background: #EFF6FF;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 32px !important;
}
.wiz-qm-mockup {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: auto;
  width: 100%;
  padding: 28px;
  justify-content: center;
  border-radius: 18px;
  border-bottom: 1px solid #CFDAE8;
}
/* ── Sequenced step animation ── */
.wiz-qm-step {
  opacity: 0;
  transform: translateY(12px);
}
.wiz-qm-seq .wiz-qm-step {
  animation: qmStepIn 0.5s ease forwards;
  animation-delay: calc(var(--qm-step) * 0.35s);
}
@keyframes qmStepIn {
  to { opacity: 1; transform: translateY(0); }
}
/* ── Top row: donut + stat badges ── */
.wiz-qm-top {
  display: flex;
  align-items: center;
  gap: 20px;
}
.wiz-qm-donut {
  position: relative;
  width: 130px;
  height: 130px;
  flex-shrink: 0;
}
.wiz-qm-donut svg {
  width: 100%;
  height: 100%;
  display: block;
}
.wiz-qm-donut-progress {
  animation: qmDonutFill 1.5s ease-out forwards;
  stroke-dasharray: 0 314.16;
}
@keyframes qmDonutFill {
  to { stroke-dasharray: 289.03 314.16; }
}
.wiz-qm-donut-center {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding-top: 46px;
}
.wiz-qm-donut-num {
  font-size: 44px;
  font-weight: 400;
  color: #1E293B;
  line-height: 1;
  letter-spacing: -0.02em;
}
.wiz-qm-donut-denom {
  font-size: 14px;
  font-weight: 400;
  color: #94A3B8;
  margin-left: 2px;
}
/* Stat badges */
.wiz-qm-badges {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.wiz-qm-badge {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
}
.wiz-qm-badge-val {
  font-size: 22px;
  font-weight: 400;
  color: #1E293B;
  line-height: 1.2;
}
.wiz-qm-badge-label {
  font-size: 12px;
  font-weight: 500;
  color: #64748B;
}
.wiz-qm-bar {
  width: 100%;
  height: 4px;
  background: #E2E8F0;
  border-radius: 2px;
  margin-top: 6px;
  overflow: hidden;
}
.wiz-qm-bar-fill {
  height: 100%;
  width: 0;
  background: #3B82F6;
  border-radius: 2px;
  animation: qmBarGrow 1.2s ease forwards;
  animation-delay: calc(var(--qm-step, 1) * 0.35s);
}
@keyframes qmBarGrow {
  to { width: var(--bar-pct); }
}
/* ── Feed: compliance flags ── */
.wiz-qm-feed {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wiz-qm-feed-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  padding: 10px 14px;
  border-radius: 10px;
  font-weight: 500;
}
.wiz-qm-feed--ok {
  background: #F0FDF4;
  color: #166534;
}
.wiz-qm-feed--warn {
  background: #FFF7ED;
  color: #9A3412;
}
.wiz-qm-feed-item span:first-of-type {
  flex: 1;
}
.wiz-qm-feed-tag {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  border-radius: 6px;
  flex: none;
}
.wiz-qm-feed--ok .wiz-qm-feed-tag {
  background: #DCFCE7;
  color: #166534;
}
.wiz-qm-feed--warn .wiz-qm-feed-tag {
  background: #FFEDD5;
  color: #9A3412;
}
@media (max-width: 600px) {
  .wiz-qm-top {
    flex-direction: column;
    align-items: center;
  }
  .wiz-qm-donut {
    width: 100px;
    height: 100px;
  }
  .wiz-qm-donut-num {
    font-size: 26px;
  }
}

/* ── Language Engine mockup (v2 — no inner card) ── */
.wiz-featured-visual--lang {
  background: #EEF3FB;
  position: relative;
  overflow: hidden;
  padding: 0 !important;
}
/* Scene: fills the visual area, no inner card / glass */
.wiz-le-scene {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  position: relative;
  z-index: 1;
  padding: 0;
  overflow: hidden;
  transform: scale(1.15);
  transform-origin: top center;
}

/* ── Gradient fade mask at top ── */
.wiz-le-fade-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100px;
  background: linear-gradient(to bottom, #EEF3FB 40%, transparent 100%);
  z-index: 10;
  pointer-events: none;
  opacity: 0;
  animation: leFadeTopShow 14s ease 1 forwards;
}
@keyframes leFadeTopShow {
  0%, 25%  { opacity: 0; }
  35%,100% { opacity: 1; }
}

/* ── Upper block: chips + cursor + waveform — slides up ── */
.wiz-le-upper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
  padding: 32px 24px 0;
  animation: leUpperSlide 14s ease 1 forwards;
}
@keyframes leUpperSlide {
  0%, 25%  { transform: translateY(0); }
  40%,100% { transform: translateY(-80px); }
}

/* ── Step entrance ── */
.wiz-le-step {
  opacity: 0;
  transform: translateY(10px);
}
/* Chip entries (steps 1-9) */
.wiz-le-step[style*="--step:1"]  { animation: leStepIn 0.5s ease 0.00s 1 forwards; }
.wiz-le-step[style*="--step:2"]  { animation: leStepIn 0.5s ease 0.15s 1 forwards; }
.wiz-le-step[style*="--step:3"]  { animation: leStepIn 0.5s ease 0.30s 1 forwards; }
.wiz-le-step[style*="--step:4"]  { animation: leStepIn 0.5s ease 0.45s 1 forwards; }
.wiz-le-step[style*="--step:5"]  { animation: leStepIn 0.5s ease 0.60s 1 forwards; }
.wiz-le-step[style*="--step:6"]  { animation: leStepIn 0.5s ease 0.75s 1 forwards; }
.wiz-le-step[style*="--step:7"]  { animation: leStepIn 0.5s ease 0.90s 1 forwards; }
.wiz-le-step[style*="--step:8"]  { animation: leStepIn 0.5s ease 1.05s 1 forwards; }
.wiz-le-step[style*="--step:9"]  { animation: leStepIn 0.5s ease 1.20s 1 forwards; }
/* Waveform (step 10) */
.wiz-le-step[style*="--step:10"] { animation: leStepIn 0.5s ease 2.40s 1 forwards; }
/* Intent cards (steps 11-13): staggered stack-in with progressive sizing */
.wiz-le-step[style*="--step:11"] { animation: leCardStackSm 0.6s ease 5.00s 1 forwards; }
.wiz-le-step[style*="--step:12"] { animation: leCardStackMd 0.6s ease 5.80s 1 forwards; }
.wiz-le-step[style*="--step:13"] { animation: leCardStackLg 0.6s ease 6.60s 1 forwards; }

@keyframes leStepIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* Small card: fly in then settle at 0.88 scale, dimmed */
@keyframes leCardStackSm {
  0%   { opacity: 0; transform: translateY(24px) scale(0.85); }
  60%  { opacity: 0.7; transform: translateY(0) scale(0.92); }
  100% { opacity: 0.55; transform: translateY(0) scale(0.88); }
}
/* Medium card: fly in then settle at 0.94 scale */
@keyframes leCardStackMd {
  0%   { opacity: 0; transform: translateY(24px) scale(0.88); }
  60%  { opacity: 0.85; transform: translateY(0) scale(0.97); }
  100% { opacity: 0.75; transform: translateY(0) scale(0.94); }
}
/* Large card: fly in to full scale */
@keyframes leCardStackLg {
  from { opacity: 0; transform: translateY(24px) scale(0.92); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ── Chip selected highlight (Bahasa = 4th child) ── */
.wiz-le-chip:nth-child(4) {
  animation: leStepIn 0.5s ease 0.45s 1 forwards, leChipSelect 0.4s ease 1.80s 1 forwards;
}
@keyframes leChipSelect {
  from { background: #fff; border-color: #E2E8F0; color: #334155; box-shadow: none; }
  to   { background: #2563EB; border-color: #2563EB; color: #fff; box-shadow: 0 2px 8px rgba(37,99,235,0.25); }
}

/* ── Language chips ── */
.wiz-le-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 360px;
}
.wiz-le-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 100px;
  font-size: 12.5px;
  font-weight: 500;
  color: #334155;
  white-space: nowrap;
  transition: background 0.3s, border-color 0.3s, color 0.3s, box-shadow 0.3s;
}
.wiz-le-chip-flag {
  font-size: 13px;
}
.wiz-le-chip-more {
  padding: 6px 12px;
  font-size: 16px;
  color: #94A3B8;
  letter-spacing: 2px;
}

/* ── Voice waveform ── */
.wiz-le-waveform {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  height: 44px;
}
.wiz-le-waveform span {
  display: block;
  width: 2.5px;
  border-radius: 2px;
  background: linear-gradient(180deg, #60A5FA, #3B82F6);
  height: 4px;
  will-change: height, opacity;
}

.wiz-le-waveform span:nth-child(1)  { animation: leRS 2.0s ease-in-out 0.00s infinite; }
.wiz-le-waveform span:nth-child(2)  { animation: leRS 2.0s ease-in-out 0.08s infinite; }
.wiz-le-waveform span:nth-child(3)  { animation: leRM 2.0s ease-in-out 0.16s infinite; }
.wiz-le-waveform span:nth-child(4)  { animation: leRM 2.0s ease-in-out 0.24s infinite; }
.wiz-le-waveform span:nth-child(5)  { animation: leRM 2.0s ease-in-out 0.32s infinite; }
.wiz-le-waveform span:nth-child(6)  { animation: leRL 2.0s ease-in-out 0.40s infinite; }
.wiz-le-waveform span:nth-child(7)  { animation: leRL 2.0s ease-in-out 0.48s infinite; }
.wiz-le-waveform span:nth-child(8)  { animation: leRL 2.0s ease-in-out 0.56s infinite; }
.wiz-le-waveform span:nth-child(9)  { animation: leRL 2.0s ease-in-out 0.64s infinite; }
.wiz-le-waveform span:nth-child(10) { animation: leRL 2.0s ease-in-out 0.72s infinite; }
.wiz-le-waveform span:nth-child(11) { animation: leRL 2.0s ease-in-out 0.80s infinite; }
.wiz-le-waveform span:nth-child(12) { animation: leRL 2.0s ease-in-out 0.88s infinite; }
.wiz-le-waveform span:nth-child(13) { animation: leRL 2.0s ease-in-out 0.96s infinite; }
.wiz-le-waveform span:nth-child(14) { animation: leRL 2.0s ease-in-out 1.04s infinite; }
.wiz-le-waveform span:nth-child(15) { animation: leRL 2.0s ease-in-out 1.12s infinite; }
.wiz-le-waveform span:nth-child(16) { animation: leRL 2.0s ease-in-out 1.20s infinite; }
.wiz-le-waveform span:nth-child(17) { animation: leRL 2.0s ease-in-out 1.28s infinite; }
.wiz-le-waveform span:nth-child(18) { animation: leRL 2.0s ease-in-out 1.36s infinite; }
.wiz-le-waveform span:nth-child(19) { animation: leRL 2.0s ease-in-out 1.44s infinite; }
.wiz-le-waveform span:nth-child(20) { animation: leRM 2.0s ease-in-out 1.52s infinite; }
.wiz-le-waveform span:nth-child(21) { animation: leRM 2.0s ease-in-out 1.60s infinite; }
.wiz-le-waveform span:nth-child(22) { animation: leRM 2.0s ease-in-out 1.68s infinite; }
.wiz-le-waveform span:nth-child(23) { animation: leRS 2.0s ease-in-out 1.76s infinite; }
.wiz-le-waveform span:nth-child(24) { animation: leRS 2.0s ease-in-out 1.84s infinite; }
.wiz-le-waveform span:nth-child(25) { animation: leRS 2.0s ease-in-out 1.92s infinite; }

@keyframes leRS { 0%,100%{height:4px;opacity:0.3} 50%{height:18px;opacity:0.75} }
@keyframes leRM { 0%,100%{height:4px;opacity:0.3} 50%{height:32px;opacity:0.9} }
@keyframes leRL { 0%,100%{height:4px;opacity:0.3} 50%{height:44px;opacity:1} }

/* ── Intent cards: progressive sizing (sm < md < lg) ── */
.wiz-le-intents {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: 380px;
  margin-top: -28px;
  padding: 0 16px;
  position: relative;
}
.wiz-le-icard {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid #E8ECF1;
  border-radius: 14px;
  width: 100%;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
  color: #64748B;
}
/* Small card: smallest, at the back */
.wiz-le-icard--sm {
  padding: 7px 12px;
  font-size: 11.5px;
  z-index: 1;
}
/* Medium card: overlaps sm */
.wiz-le-icard--md {
  padding: 9px 14px;
  font-size: 12.5px;
  margin-top: -10px;
  z-index: 2;
}
/* Large card (active, biggest): overlaps md */
.wiz-le-icard--lg {
  padding: 12px 18px;
  font-size: 14px;
  margin-top: -10px;
  z-index: 3;
}
.wiz-le-icard--active {
  border-color: #DBEAFE;
  background: #F8FBFF;
  box-shadow: 0 2px 10px rgba(37,99,235,0.08);
  position: relative;
}
.wiz-le-icard-label {
  font-weight: 500;
  color: #1E293B;
  flex: 1;
}
.wiz-le-icard:not(.wiz-le-icard--active) .wiz-le-icard-label {
  color: #64748B;
}
.wiz-le-icard-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
}
.wiz-le-icard-tag--blue {
  background: #EFF6FF;
  color: #3B82F6;
}
.wiz-le-icard-tag--amber {
  background: #FFF7ED;
  color: #EA580C;
}
.wiz-le-icard-check {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  opacity: 0;
  animation: leCheckPop 0.5s ease 7.60s 1 forwards;
}
@keyframes leCheckPop {
  0%   { opacity: 0; transform: scale(0.5); }
  50%  { opacity: 1; transform: scale(1.15); }
  100% { opacity: 1; transform: scale(1); }
}

/* ── Featured card responsive ── */
@media (max-width: 1080px) {
  .wiz-grid-2x2 { gap: 24px !important; }
  .wiz-card-vertical .wiz-featured-visual { height: 340px; padding: 24px 20px 0; }
  .wiz-card-info { padding: 24px 0 20px; }
  .wiz-card-info h3 { font-size: 22px; }

  .wiz-featured-card:not(.wiz-card-vertical) {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }
  .wiz-featured-header { grid-column: 1; grid-row: 1; }
  .wiz-featured-visual { grid-column: 1; grid-row: 2; }
  .wiz-featured-feats { grid-column: 1; grid-row: 3; align-self: start; }
  .wiz-featured-reverse { grid-template-columns: 1fr; }
  .wiz-featured-reverse .wiz-featured-header { grid-column: 1; grid-row: 1; }
  .wiz-featured-reverse .wiz-featured-visual { grid-column: 1; grid-row: 2; }
  .wiz-featured-reverse .wiz-featured-feats { grid-column: 1; grid-row: 3; }
}
@media (max-width: 900px) {
  .wiz-grid-2x2 { grid-template-columns: 1fr !important; }
  .wiz-grid-2x2 .wiz-card-vertical:nth-child(n+3) { display: none !important; }
}
@media (max-width: 640px) {
  .wiz-card-vertical .wiz-featured-visual { height: 300px; padding: 20px 16px 0; }
  .wiz-card-info { padding: 20px 0 18px; }
  .wiz-card-info h3 { font-size: 20px; }
  .wiz-card-info > p { font-size: 14px; }
  .wiz-card-tags { gap: 6px; }
  .wiz-card-tag { font-size: 12px; padding: 4px 10px; }

  .wiz-featured-header h3 { font-size: 24px; }
  .wiz-featured-visual { padding: 24px 20px; }
  .wiz-featured-feats { gap: 20px; }
  .wiz-featured-card:not(.wiz-card-vertical) + .wiz-featured-card:not(.wiz-card-vertical) { margin-top: 72px; }
  .wiz-tb-stat-value { font-size: 24px; }
  .wiz-tb-stats-row { grid-template-columns: repeat(2, 1fr); gap: 8px 16px; }
  .wiz-tb-tooltip { z-index: 30; }
  .wiz-tb-chart { z-index: 10; }

  /* Wizlynn chat mockup: fit mobile without clipping */
  .wiz-card-vertical .wiz-featured-visual { height: auto; min-height: 300px; }
  .wiz-card-vertical .wiz-featured-mockup { transform: none; max-width: 100%; }
  .wiz-featured-mockup { padding: 20px 16px 0; gap: 12px; margin-top: 12px; }
  .wiz-chat-bubble { padding: 10px 14px; font-size: 13.5px; }
  .wiz-chat-bubble p { white-space: normal; max-width: none; overflow: visible; }
  .wiz-chat-flow { gap: 10px; padding-bottom: 20px; }
  .wiz-voice-bar { padding: 10px 14px; gap: 8px; }
  .wiz-voice-indicator { width: 10px; height: 10px; }
  .wiz-voice-wave span { width: 2px; }

  /* Language Engine: fit mobile without clipping */
  .wiz-featured-visual--lang { overflow: visible; }
  .wiz-le-upper { padding: 20px 16px 0; gap: 14px; }
  .wiz-le-chips { max-width: 100%; gap: 6px; }
  .wiz-le-chip { padding: 4px 8px; font-size: 12px; }
  .wiz-le-intents { max-width: 100%; padding: 0 16px 16px; }
  .wiz-le-icard--sm { padding: 6px 10px; font-size: 11px; }
  .wiz-le-icard--md { padding: 7px 12px; font-size: 11.5px; }
  .wiz-le-icard--lg { padding: 10px 14px; font-size: 13px; }
}
