/* =====================================================================
   Venomers — products.css  v2.0  "The Clinical Masterpiece"
   Products Catalog & Gallery — 100% self-contained.
   ZERO dependency on global.css.
   ─────────────────────────────────────────────────────────────────────
   Architecture:
   • CSS Logical Properties everywhere (LTR/RTL DRY by design)
   • Liquid Glass Backdrop filters & 3D hover transforms
   • Variable font preloading architecture respected
   ===================================================================== */

/* ─────────────────────────────────────────────
   §1 — Self-Hosted Variable Fonts
   ───────────────────────────────────────────── */

@font-face {
  font-family: Inter;
  src: url("/en/font/inter/Inter-VariableFont_opsz,wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("/en/font/Space_Grotesk/SpaceGrotesk-VariableFont_wght.woff2")
    format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Serif 4";
  src: url("/en/font/Source_Serif_4/SourceSerif4-VariableFont_opsz,wght.woff2")
    format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans Arabic VF";
  src: url("/ar/font/Noto_Sans_Arabic/NotoSansArabic-VariableFont_wdth,wght.woff2")
    format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Readex Pro VF";
  src:
    url("/fa/font/Readex_Pro/ReadexPro-VariableFont_HEXP,wght.woff2")
      format("woff2"),
    url("/ar/font/Readex_Pro/ReadexPro-VariableFont_HEXP,wght.woff2")
      format("woff2");
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Noto Naskh Arabic VF";
  src: url("/ar/font/Noto_Naskh_Arabic/NotoNaskhArabic-VariableFont_wght.woff2")
    format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

/* === FA: Yekan Bakh FaNum (400, 500, 600, 700, 800, 300) === */
@font-face {
  font-family: "Yekan Bakh FaNum";
  src:
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-Regular.woff2") format("woff2"),
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Yekan Bakh FaNum";
  src:
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-Medium.woff2") format("woff2"),
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Yekan Bakh FaNum";
  src:
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-SemiBold.woff2") format("woff2"),
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Yekan Bakh FaNum";
  src:
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-Bold.woff2") format("woff2"),
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Yekan Bakh FaNum";
  src:
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-ExtraBold.woff2") format("woff2"),
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-ExtraBold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Yekan Bakh FaNum";
  src:
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-Light.woff2") format("woff2"),
    url("/fa/font/Yekan_Bakh/YekanBakhFaNum-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* ─────────────────────────────────────────────
   §2 — Design Tokens (Page-Scoped)
   ───────────────────────────────────────────── */
:root {
  /* Typography */
  --idx-ff-display: "Space Grotesk", system-ui, sans-serif;
  --idx-ff-body: "Source Serif 4", georgia, serif;
  --idx-ff-ui: "Inter", system-ui, sans-serif;

  /* Pharmaceutical Teal & Cyber Cyan & Clinical Sage palette */
  --idx-teal: #0f766e;
  --idx-cyan: #38bdf8;
  --idx-sage: #99b8ba;
  --idx-sage-soft: rgb(153 184 186 / 12%);
  --idx-sage-border: rgb(153 184 186 / 38%);
  --idx-teal-soft: rgb(15 118 110 / 2%);
  --idx-teal-border: rgb(15 118 110 / 5%);
  --idx-navy: #0f172a;
  --idx-slate: #334155;
  --idx-muted: #64748b;
  --idx-surface: #f8fafc;
  --idx-white: #fff;
  --idx-border: rgb(15 23 42 / 7%);

  /* Local Component geometry */
  --local-gap: clamp(14px, 2.4vw, 24px);
  --local-pad: clamp(16px, 3vw, 28px);
  --local-pad-lg: clamp(20px, 4vw, 36px);
  --media-radius: 16px;
  --chip-radius: 999px;

  /* Shadows */
  --idx-shadow-card:
    0 12px 32px rgb(15 23 42 / 6%), 0 4px 12px rgb(15 23 42 / 3%);
  --idx-shadow-glow: 0 8px 32px rgba(15, 118, 110, 0.12);

  /* Motion */
  --idx-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --idx-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* RTL Typography Swaps */
:root[dir="rtl"] {
  --idx-ff-display:
    "Readex Pro VF", "Noto Sans Arabic VF", system-ui, sans-serif;
  --idx-ff-body: "Noto Naskh Arabic VF", serif;
  --idx-ff-ui: "Readex Pro VF", "Noto Sans Arabic VF", system-ui, sans-serif;
}

/* Persian: Full Yekan Bakh FaNum System for Display, Body, UI & Digits */
:root:lang(fa),
:root[dir="rtl"]:lang(fa),
html[lang="fa"] {
  --idx-ff-display:
    "Yekan Bakh FaNum", "Yekan Bakh", system-ui, -apple-system, sans-serif;
  --idx-ff-body: "Yekan Bakh FaNum", "Yekan Bakh", system-ui, sans-serif;
  --idx-ff-ui: "Yekan Bakh FaNum", "Yekan Bakh", system-ui, sans-serif;
}

/* ─────────────────────────────────────────────
   §3 — Global Resets
   ───────────────────────────────────────────── */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  overflow-x: clip;
}
body {
  background: var(--idx-white);
  color: var(--idx-navy);
  margin: 0;
  padding: 0;
  font-family: var(--idx-ff-body);
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
main {
  position: relative;
  padding-block-start: clamp(80px, 10vh, 100px);
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 40px);
}
h1,
h2,
h3,
h4 {
  font-family: var(--idx-ff-display);
  margin-top: 0;
  color: var(--idx-navy);
}
a {
  color: var(--idx-teal);
  text-decoration: none;
  transition: color 0.2s;
}
a:hover {
  color: var(--idx-cyan);
}
a:focus-visible {
  outline: 2px solid var(--idx-teal);
  outline-offset: 4px;
  border-radius: 4px;
}

/* ─────────────────────────────────────────────
   §3.5 — Accessibility Skip-to-Content Link
   (Hidden off-screen until focused via keyboard Tab)
   ───────────────────────────────────────────── */
.skip-link {
  position: fixed;
  top: -9999px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  padding: 10px 22px;
  background: var(--idx-teal, #0f766e);
  color: #ffffff !important;
  font-family: var(--idx-ff-ui, system-ui, sans-serif);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 9999px;
  box-shadow: 0 8px 24px rgba(15, 118, 110, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition:
    top 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.25s cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
}

.skip-link:focus,
.skip-link:focus-visible {
  top: 16px;
  opacity: 1;
  pointer-events: auto;
  outline: 2px solid var(--idx-cyan, #38bdf8);
  outline-offset: 4px;
}

/* ─────────────────────────────────────────────
   §4 — Products Hero
   ───────────────────────────────────────────── */
/* ─────────────────────────────────────────────
   §4.8 — Hero Bento Video Card (Clinical Glass Framing & Smooth Entry Reveal)
   ───────────────────────────────────────────── */
.hero-bento-video-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  margin-block-end: clamp(40px, 6vw, 80px);
  border-radius: clamp(24px, 3.5vw, 36px);
  overflow: hidden;
  box-shadow:
    0 32px 80px -12px rgba(15, 23, 42, 0.4),
    0 0 0 1px rgba(255, 255, 255, 0.15),
    inset 0 1px 0 0 rgba(255, 255, 255, 0.25);
  border: 1px solid rgba(153, 184, 186, 0.22);
  background: #090d16;
  box-sizing: border-box;
  isolation: isolate;
  animation: hero-video-reveal 1.2s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* Dynamic Liquid Glass Specular Rim Border Shimmer */
.hero-bento-video-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.4) 0%,
    rgba(56, 189, 248, 0.35) 30%,
    rgba(15, 118, 110, 0.1) 70%,
    rgba(255, 255, 255, 0.25) 100%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: 3;
  pointer-events: none;
}

/* Entrance Animation for Hero Video Wrapper */
@keyframes hero-video-reveal {
  0% {
    opacity: 0;
    transform: scale3d(0.97, 0.97, 1) translateY(20px);
    filter: blur(10px);
  }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1) translateY(0);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-bento-video-wrapper {
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }
}

/* Layer 0: Background Video Canvas (100% Crisp Untouched HD Quality) */
.hero-video-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
  filter: none; /* Zero filter, 100% pure video detail */
}

/* Layer 0.5: Ultra-Clear Minimal Vignette Overlay (Zero Murky Navy Tint, Crisp Contrast) */
.hero-video-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(
    ellipse 120% 120% at 50% 40%,
    rgba(15, 23, 42, 0.08) 0%,
    rgba(15, 23, 42, 0.22) 55%,
    rgba(15, 23, 42, 0.52) 100%
  );
}

/* Layer 1: Content Grid Panel (Pure Transparent, Perfectly Symmetrical Edge Padding) */
.hero-content-panel {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(32px, 5vw, 64px) clamp(24px, 4vw, 56px);
  background: transparent;
  box-sizing: border-box;
  max-width: 900px;
}

/* Column 1: B2B Text Content */
.hero-b2b-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.hero-pill-badge {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 10px;
  padding: 6px 18px;
  background: rgba(15, 118, 110, 0.14);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(15, 118, 110, 0.32);
  box-shadow:
    0 4px 16px rgba(15, 23, 42, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  border-radius: 9999px;
  color: #ffffff;
  font-family: var(--idx-ff-ui, system-ui, sans-serif);
  font-size: clamp(0.75rem, 0.8vw, 0.85rem);
  font-weight: 600;
  letter-spacing: 0.4px;
}

.teal-pulse-dot,
.cyan-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--idx-teal, #0f766e);
  box-shadow: 0 0 10px var(--idx-teal, #0f766e);
  animation: pulse-ring-teal 2s infinite;
}

@keyframes pulse-ring-teal {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(15, 118, 110, 0.8);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 8px rgba(15, 118, 110, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(15, 118, 110, 0);
  }
}

.hero-b2b-content h1 {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.85rem, 4vw, 3.6rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: #ffffff;
  margin: 0;
  text-shadow: 0 2px 12px rgba(15, 23, 42, 0.85);
  text-wrap: balance;
  overflow-wrap: break-word;
}

.hero-title-accent {
  color: #ffffff;
  text-shadow: 0 0 20px rgba(15, 118, 110, 0.6);
}

.hero-b2b-lead {
  font-family: var(--idx-ff-body);
  font-size: clamp(1.02rem, 1.2vw, 1.25rem);
  font-weight: 300;
  color: rgba(248, 250, 252, 0.95);
  line-height: 1.8;
  margin: 0;
  max-width: 65ch;
  text-shadow: 0 2px 8px rgba(15, 23, 42, 0.8);
  text-wrap: pretty;
}

/* CTA Buttons Group — Liquid Glass Capsule Engine */
.hero-cta-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(12px, 1.5vw, 18px);
  margin-top: 12px;
}

/* Primary CTA — Clinical Teal Capsule */
.hero-cta-primary {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  text-decoration: none;
  color: #ffffff;
  isolation: isolate;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  --btn-bg: rgba(15, 118, 110, 0.9);
  --btn-bg-hover: rgba(15, 118, 110, 1);
  --btn-shadow: 0 8px 24px rgba(15, 118, 110, 0.35);
  --btn-shadow-hover: 0 16px 36px rgba(15, 118, 110, 0.5);
  --btn-border: rgba(255, 255, 255, 0.25);
  --btn-border-hover: rgba(255, 255, 255, 0.45);
  --btn-rim: inset 0 1px 0 rgba(255, 255, 255, 0.4);
  --btn-rim-hover: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.hero-cta-primary:hover {
  transform: translate3d(0, -3px, 0);
}

.hero-cta-primary svg {
  flex-shrink: 0;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.hero-cta-primary:hover svg {
  transform: translate3d(4px, 0, 0);
}

/* Secondary CTA — Liquid Glass Ghost Capsule over Dark Overlay */
.hero-cta-secondary {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  text-decoration: none;
  color: #ffffff;
  isolation: isolate;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  --btn-bg: rgba(255, 255, 255, 0.12);
  --btn-bg-hover: rgba(255, 255, 255, 0.24);
  --btn-shadow: 0 4px 16px rgba(15, 23, 42, 0.25);
  --btn-shadow-hover: 0 10px 28px rgba(15, 23, 42, 0.4);
  --btn-border: rgba(255, 255, 255, 0.35);
  --btn-border-hover: rgba(255, 255, 255, 0.7);
  --btn-rim: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  --btn-rim-hover: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.hero-cta-secondary:hover {
  transform: translate3d(0, -3px, 0);
}

/* Shared CTA Liquid Glass Container & Layer Mechanics */
.hero-cta-primary .nav-pill-glass-container,
.hero-cta-secondary .nav-pill-glass-container {
  position: absolute;
  inset: 0 !important;
  border-radius: 9999px !important;
  overflow: hidden !important;
  pointer-events: none;
  box-shadow: var(--btn-shadow);
  transition: box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-cta-primary:hover .nav-pill-glass-container,
.hero-cta-secondary:hover .nav-pill-glass-container {
  box-shadow: var(--btn-shadow-hover);
}

.hero-cta-primary .liquid-backdrop,
.hero-cta-secondary .liquid-backdrop {
  position: absolute;
  inset: 0 !important;
  border-radius: 9999px !important;
  background: var(--btn-bg);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  transition: background 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-cta-primary:hover .liquid-backdrop,
.hero-cta-secondary:hover .liquid-backdrop {
  background: var(--btn-bg-hover);
}

.hero-cta-primary .liquid-specular-rim,
.hero-cta-secondary .liquid-specular-rim {
  position: absolute;
  inset: 0 !important;
  border-radius: 9999px !important;
  border: 1px solid var(--btn-border);
  box-shadow: var(--btn-rim);
  pointer-events: none;
  transition:
    border-color 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-cta-primary:hover .liquid-specular-rim,
.hero-cta-secondary:hover .liquid-specular-rim {
  border-color: var(--btn-border-hover);
  box-shadow: var(--btn-rim-hover);
}

.hero-cta-primary .liquid-content,
.hero-cta-secondary .liquid-content {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family:
    "Inter",
    system-ui,
    -apple-system,
    sans-serif;
  font-size: clamp(13px, 0.95vw, 15px);
  color: #ffffff;
  white-space: nowrap;
}

.hero-cta-primary .liquid-content {
  padding-block: clamp(12px, 1.3vw, 15px);
  padding-inline: clamp(24px, 2.6vw, 38px);
  font-weight: 600;
  letter-spacing: 0.08px;
}

.hero-cta-secondary .liquid-content {
  padding-block: clamp(11px, 1.2vw, 14px);
  padding-inline: clamp(22px, 2.4vw, 34px);
  font-weight: 500;
}

/* =====================================================================
   §4.9 — Bio-Value Chain Standalone Liquid Glass Dock Section
   ===================================================================== */
.bio-value-chain-section {
  position: relative;
  width: 100%;
  margin-block-end: clamp(40px, 6vw, 80px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(24px, 3.5vw, 40px);
}

.bio-value-chain-header {
  text-align: center;
  display: flex;
  justify-content: center;
  width: 100%;
}

.hero-brand-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-block: 16px;
}

.hero-brand-title {
  display: inline-flex;
  direction: ltr !important;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-family: var(--idx-ff-display);
  font-size: clamp(2.2rem, 5.5vw, 4.8rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.hero-title-text {
  color: var(--idx-navy);
  background-image: linear-gradient(
    110deg,
    var(--idx-navy) 40%,
    var(--idx-teal) 50%,
    var(--idx-navy) 60%
  );
  background-size: 250% auto;
  background-position: 100% center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  margin-right: 0.85em !important;
}

.hero-brand-center:hover .hero-title-text {
  background-position: 0% center;
}

.hero-title-logo-wrapper {
  position: relative;
  display: inline-flex;
  margin-right: -0.48em !important;
  transform: translateY(0.08em);
}

.hero-title-logo {
  height: clamp(90px, 12vw, 158px);
  width: auto;
  object-fit: contain;
}

.hero-brand-subtitle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 24px;
  border-radius: 100px !important;
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.85rem, 1.3vw, 1.45rem);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--idx-teal, #0f766e);
  margin-top: 16px;
  text-align: center;
  isolation: isolate;
  text-wrap: balance;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(15, 118, 110, 0.2);
  box-shadow:
    0 10px 30px -6px rgba(15, 118, 110, 0.14),
    inset 0 1px 1px rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px) saturate(1.5);
  -webkit-backdrop-filter: blur(16px) saturate(1.5);
  transition:
    transform 0.3s var(--idx-ease),
    box-shadow 0.3s var(--idx-ease),
    border-color 0.3s var(--idx-ease);
}

.hero-brand-subtitle:hover {
  transform: translateY(-2px);
  border-color: var(--idx-teal, #0f766e);
  box-shadow:
    0 14px 36px -4px rgba(15, 118, 110, 0.22),
    inset 0 1px 1px #ffffff;
}

.hero-brand-subtitle .subtitle-pad {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* Centered Bento Grid Dock for 5 Nodes */
/* Centered Flex Container for 5 Circular Liquid Glass Bubbles */
.bio-value-dock-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 3.2vw, 48px);
  width: 100%;
  max-width: 1350px;
  margin-inline: auto;
  padding-block: 40px;
  isolation: isolate;
}

/* 100% Perfect Circle Liquid Glass Bubble Node */
.liquid-glass-dock-card {
  position: relative;
  width: clamp(180px, 16vw, 225px);
  height: clamp(180px, 16vw, 225px);
  aspect-ratio: 1 / 1;
  border-radius: 50% !important;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(16px, 2.1vw, 26px);
  text-decoration: none;
  color: var(--idx-navy);
  background: transparent;
  isolation: isolate;
  cursor: pointer;
  box-sizing: border-box;
  transition:
    transform 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 5;
  will-change: transform;
}

/* Perfect Circle Glass Container Layers */
.liquid-glass-dock-card .nav-pill-glass-container {
  position: absolute;
  inset: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  pointer-events: none;
  box-shadow:
    0 12px 36px -6px rgba(15, 23, 42, 0.1),
    0 4px 12px rgba(15, 118, 110, 0.08);
  transition: box-shadow 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.liquid-glass-dock-card .liquid-backdrop {
  position: absolute;
  inset: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  transition: background 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.liquid-glass-dock-card .liquid-specular-rim {
  position: absolute;
  inset: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(153, 184, 186, 0.35);
  box-shadow:
    inset 0 2px 6px rgba(255, 255, 255, 0.95),
    inset 0 -4px 10px rgba(15, 118, 110, 0.12),
    inset -2px 0 6px rgba(56, 189, 248, 0.08);
  pointer-events: none;
  transition:
    border-color 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Inner Layout Mechanics */
.dock-card-inner {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 2px;
  width: 100%;
  height: 100%;
}

.dock-card-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  text-align: center;
}

.dock-pulse-dot {
  display: none !important;
}

.dock-card-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(0.92rem, 1vw, 1.12rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0;
  line-height: 1.18;
  text-align: center;
}

.dock-card-tagline {
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.72rem, 0.78vw, 0.84rem);
  font-weight: 600;
  color: var(--idx-teal, #0f766e);
  margin: 0;
  line-height: 1.22;
  text-align: center;
}

/* Microcopy collapsed by default inside default bubble */
.dock-card-expand {
  max-height: 0;
  opacity: 0;
  transform: scale(0.88) translateY(6px);
  overflow: hidden;
  transition:
    max-height 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
    margin 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    padding 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  margin-top: 0;
  border-top: none;
  padding-top: 0;
}

.dock-card-microcopy {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.62rem, 0.66vw, 0.72rem);
  color: var(--idx-slate, #334155);
  line-height: 1.3;
  margin: 0;
  text-align: center;
}

/* =========================================================================
   HOVER & ACTIVE STATE — Silky Smooth Liquid Glass Bubble Expansion (1.52x)
   ========================================================================= */
.liquid-glass-dock-card:hover,
.liquid-glass-dock-card:focus-visible,
.liquid-glass-dock-card.is-expanded {
  transform: scale(1.52) translateZ(0);
  z-index: 999 !important;
}

.liquid-glass-dock-card:hover .nav-pill-glass-container,
.liquid-glass-dock-card:focus-visible .nav-pill-glass-container,
.liquid-glass-dock-card.is-expanded .nav-pill-glass-container {
  box-shadow:
    0 28px 70px -10px rgba(15, 23, 42, 0.35),
    0 0 36px rgba(56, 189, 248, 0.32);
}

.liquid-glass-dock-card:hover .liquid-backdrop,
.liquid-glass-dock-card:focus-visible .liquid-backdrop,
.liquid-glass-dock-card.is-expanded .liquid-backdrop {
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(24px) saturate(1.8);
  -webkit-backdrop-filter: blur(24px) saturate(1.8);
}

.liquid-glass-dock-card:hover .liquid-specular-rim,
.liquid-glass-dock-card:focus-visible .liquid-specular-rim,
.liquid-glass-dock-card.is-expanded .liquid-specular-rim {
  border-color: rgba(15, 118, 110, 0.6);
  box-shadow:
    inset 0 3px 12px rgba(255, 255, 255, 1),
    inset 0 -6px 18px rgba(15, 118, 110, 0.3),
    0 0 20px rgba(56, 189, 248, 0.4);
}

.liquid-glass-dock-card:hover .dock-pulse-dot,
.liquid-glass-dock-card:focus-visible .dock-pulse-dot,
.liquid-glass-dock-card.is-expanded .dock-pulse-dot {
  transform: scale(1.3);
  background: var(--idx-cyan, #38bdf8);
  box-shadow: 0 0 12px var(--idx-cyan, #38bdf8);
}

/* Smooth non-truncated microcopy text reveal inside expanded bubble */
.liquid-glass-dock-card:hover .dock-card-expand,
.liquid-glass-dock-card:focus-visible .dock-card-expand,
.liquid-glass-dock-card.is-expanded .dock-card-expand {
  max-height: 240px;
  opacity: 1;
  transform: scale(1) translateY(0);
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px solid rgba(15, 118, 110, 0.2);
}

/* Subtly scale down and soften non-hovered sibling bubbles */
.bio-value-dock-grid:has(.liquid-glass-dock-card:hover)
  .liquid-glass-dock-card:not(:hover),
.bio-value-dock-grid:has(.liquid-glass-dock-card.is-expanded)
  .liquid-glass-dock-card:not(.is-expanded) {
  opacity: 0.55;
  transform: scale(0.94);
  filter: blur(0.8px);
}

/* =========================================================================
   Mobile & Tablet Responsive Tuning for Circular Glass Bubbles
   ========================================================================= */
@media (max-width: 768px) {
  .bio-value-dock-grid {
    gap: 24px;
    padding-block: 28px;
  }

  .liquid-glass-dock-card {
    width: clamp(195px, 52vw, 250px);
    height: clamp(195px, 52vw, 250px);
    padding: clamp(14px, 3.6vw, 22px);
  }

  .dock-card-inner {
    padding-inline: 4px;
  }

  .dock-card-title {
    font-size: clamp(0.78rem, 3.4vw, 0.95rem);
    line-height: 1.15;
  }

  .dock-card-tagline {
    font-size: clamp(0.62rem, 2.8vw, 0.72rem);
    line-height: 1.2;
  }

  .dock-card-microcopy {
    font-size: clamp(0.58rem, 2.5vw, 0.68rem);
    line-height: 1.26;
  }

  .liquid-glass-dock-card:hover,
  .liquid-glass-dock-card:focus-visible,
  .liquid-glass-dock-card.is-expanded {
    transform: scale(1.08) translateZ(0);
  }

  .liquid-glass-dock-card:hover .dock-card-expand,
  .liquid-glass-dock-card:focus-visible .dock-card-expand,
  .liquid-glass-dock-card.is-expanded .dock-card-expand {
    max-height: 280px;
    margin-top: 3px;
    padding-top: 3px;
  }
}

@media (max-width: 480px) {
  .liquid-glass-dock-card {
    width: clamp(170px, 64vw, 220px);
    height: clamp(170px, 64vw, 220px);
    padding: 12px 14px;
  }

  .dock-card-title {
    font-size: 0.82rem;
  }

  .dock-card-tagline {
    font-size: 0.65rem;
  }

  .dock-card-microcopy {
    font-size: 0.6rem;
    line-height: 1.25;
  }

  .liquid-glass-dock-card:hover,
  .liquid-glass-dock-card:focus-visible,
  .liquid-glass-dock-card.is-expanded {
    transform: scale(1.05) translateZ(0);
  }
}

@media (min-width: 992px) {
  .hero-3d-wrapper {
    grid-template-columns: 1.1fr 0.9fr;
  }
}

/* Typographic & CTA Column */
.hero-3d-text {
  display: flex;
  flex-direction: column;
  gap: 20px;
  z-index: 2;
}

.hero-status-pill {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 10px;
  padding: 6px 16px;
  background: rgba(15, 118, 110, 0.08);
  border: 1px solid rgba(15, 118, 110, 0.2);
  border-radius: 999px;
  color: var(--idx-teal);
  font-family: var(--idx-ff-ui);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.status-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--idx-teal);
  box-shadow: 0 0 0 0 rgba(15, 118, 110, 0.7);
  animation: pulse-ring 2s infinite;
}

@keyframes pulse-ring {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(15, 118, 110, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 8px rgba(15, 118, 110, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(15, 118, 110, 0);
  }
}

.hero-3d-text h1 {
  font-size: clamp(1.75rem, 4vw, 3.4rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.text-gradient-teal {
  background: linear-gradient(135deg, var(--idx-teal) 0%, var(--idx-cyan) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.hero-3d-text .lead {
  font-family: var(--idx-ff-ui);
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  color: var(--idx-slate);
  line-height: 1.7;
  margin: 0;
}

.hero-cta-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-block-start: 10px;
}

.btn-primary-teal {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 999px;
  background: var(--idx-teal);
  color: var(--idx-white);
  font-family: var(--idx-ff-ui);
  font-weight: 600;
  font-size: 0.95rem;
  box-shadow: 0 8px 24px rgba(15, 118, 110, 0.25);
  transition:
    transform 0.25s var(--idx-ease),
    box-shadow 0.25s var(--idx-ease);
}

.btn-primary-teal:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(15, 118, 110, 0.35);
  color: var(--idx-white);
}

.btn-outline-glass {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(15, 118, 110, 0.25);
  color: var(--idx-navy);
  font-family: var(--idx-ff-ui);
  font-weight: 600;
  font-size: 0.95rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition:
    transform 0.25s var(--idx-ease),
    border-color 0.25s var(--idx-ease),
    color 0.25s var(--idx-ease);
}

.btn-outline-glass:hover {
  transform: translateY(-2px);
  border-color: var(--idx-teal);
  color: var(--idx-teal);
}

/* 3D Viewport Column & Stage */
.hero-3d-viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: 520px;
  display: flex;
  justify-content: center;
  align-items: center;
  perspective: 1000px;
}

.bio-3d-stage {
  position: relative;
  width: 85%;
  height: 85%;
  display: flex;
  justify-content: center;
  align-items: center;
  transform-style: preserve-3d;
  transition: transform 0.1s ease-out;
}

/* Orbital Bio-Rings */
.orbital-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(15, 118, 110, 0.2);
  pointer-events: none;
}

.ring-outer {
  width: 100%;
  height: 100%;
  border-style: dashed;
  animation: spin-slow 35s linear infinite;
}

.ring-inner {
  width: 72%;
  height: 72%;
  border-color: rgba(56, 189, 248, 0.3);
  animation: spin-slow 22s linear infinite reverse;
}

@keyframes spin-slow {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Core Glass Bio-Vial Object */
.core-bio-vial {
  position: relative;
  width: 170px;
  height: 230px;
  border-radius: 85px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow:
    inset 0 4px 20px rgba(255, 255, 255, 1),
    inset 0 -10px 30px rgba(15, 118, 110, 0.15),
    0 24px 60px -12px rgba(15, 23, 42, 0.2);
  display: flex;
  justify-content: center;
  align-items: center;
  transform-style: preserve-3d;
}

.vial-inner-droplet {
  width: 60px;
  height: 90px;
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  background: radial-gradient(
    circle at 35% 35%,
    var(--idx-cyan) 0%,
    var(--idx-teal) 75%
  );
  box-shadow:
    0 0 32px var(--idx-cyan),
    inset 0 2px 10px rgba(255, 255, 255, 0.9);
  animation: float-droplet 4s ease-in-out infinite alternate;
}

@keyframes float-droplet {
  0% {
    transform: translateY(-8px) scale(0.98);
  }
  100% {
    transform: translateY(8px) scale(1.02);
  }
}

/* Hotspot Nodes */
.hotspot-node {
  position: absolute;
  z-index: 10;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transform: translate(-50%, -50%);
  transition: transform 0.25s var(--idx-ease);
}

.hotspot-node:hover,
.hotspot-node.is-active {
  transform: translate(-50%, -50%) scale(1.08);
}

.hotspot-core {
  position: relative;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--idx-white);
  border: 2px solid var(--idx-teal);
  box-shadow: 0 0 12px var(--idx-teal);
  display: flex;
  justify-content: center;
  align-items: center;
}

.hotspot-core::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--idx-teal);
}

.ping-ring {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid var(--idx-cyan);
  animation: hotspot-ping 2s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes hotspot-ping {
  75%,
  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}

.hotspot-label-pill {
  padding: 5px 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(15, 118, 110, 0.2);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--idx-navy);
  font-family: var(--idx-ff-ui);
  font-weight: 600;
  font-size: 0.8rem;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}

.hotspot-node:hover .hotspot-label-pill,
.hotspot-node.is-active .hotspot-label-pill {
  background: var(--idx-teal);
  color: var(--idx-white);
  border-color: var(--idx-teal);
}

/* Hotspot Detail Popover Card */
.hotspot-card {
  position: absolute;
  z-index: 20;
  width: 250px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px) scale(0.95);
  transition:
    opacity 0.3s var(--idx-ease),
    transform 0.3s var(--idx-ease),
    visibility 0.3s;
}

.hotspot-card.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.hotspot-card-inner {
  padding: 16px;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 20px;
  border: 1px solid rgba(15, 118, 110, 0.25);
  box-shadow: 0 16px 40px -8px rgba(15, 23, 42, 0.18);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.hotspot-card h4 {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--idx-teal);
  margin: 0 0 6px 0;
}

.hotspot-card p {
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--idx-slate);
  margin: 0;
}

/* ─────────────────────────────────────────────
   §5 — Species Card (New Layout)
   ───────────────────────────────────────────── */
.species-card {
  position: relative;
  margin-block-end: clamp(60px, 10vw, 160px);
  container-type: inline-size;
  /* Premium clinical boundary */
  padding: clamp(16px, 3.5vw, 48px);
  background: var(--idx-surface);
  border: 1px solid var(--idx-border-soft);
  border-radius: 32px;
  box-shadow: 0 24px 60px -12px rgba(15, 23, 42, 0.08);
  box-sizing: border-box;
  overflow: hidden;
  max-width: 100%;
}

/* Glass Architecture Logic for Inner Components */
.species-glass-card {
  position: relative;
  border-radius: var(--media-radius, 24px);
  box-shadow:
    0 16px 40px -8px rgba(15, 23, 42, 0.12),
    0 6px 16px -4px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.species-glass-card .nav-pill-glass-container {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.species-glass-card .liquid-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  pointer-events: none;
  z-index: 1;
}

.species-glass-card .liquid-specular-rim {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(15, 118, 110, 0.2);
  box-shadow:
    inset 0 2px 10px rgba(255, 255, 255, 1),
    inset 0 -4px 12px rgba(15, 118, 110, 0.06);
  pointer-events: none;
  z-index: 2;
}

.species-glass-card .liquid-content {
  position: relative;
  z-index: 3;
  border-radius: inherit;
  display: block;
}

.hero-content-pad,
.gallery-content-pad,
.data-content-pad {
  padding: clamp(16px, 3.5vw, 36px);
  box-sizing: border-box;
}

/* ─────────────────────────────────────────────
   Top Section (Hero Top + Title Below)
   ───────────────────────────────────────────── */
.species-top-split {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 4vw, 48px);
  align-items: stretch;
  margin-block-end: var(--local-pad-lg);
  text-align: center;
}

.species-hero {
  margin-inline: auto;
  width: 90%; /* Reduced by 10% as requested */
  max-width: 1400px;
  order: 2;
}

.species-title-area {
  order: 1;
  margin-bottom: 8px;
}

.species-hero .liquid-content {
  padding: 0; /* Remove padding so image goes edge-to-edge */
  border-radius: inherit;
}

.species-hero img {
  width: 100%;
  height: auto;
  max-height: 80vh;
  object-fit: contain;
  border-radius: inherit; /* Match the glass container's radius */
  display: block;
}

/* Title & Taxonomy */
.species-title-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  order: 1;
  margin-bottom: 16px;
  position: relative;
  padding: 24px 20px;
  border-radius: 24px;
  scroll-margin-top: 110px;
  background: radial-gradient(
    circle at 50% 50%,
    rgba(15, 118, 110, 0.05) 0%,
    rgba(56, 189, 248, 0.02) 60%,
    transparent 100%
  );
  border: 1px solid rgba(15, 118, 110, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.8),
    0 8px 24px -6px rgba(15, 23, 42, 0.03);
  transition:
    transform 0.3s var(--idx-ease),
    box-shadow 0.3s var(--idx-ease),
    border-color 0.3s var(--idx-ease);
}

.species-title-area:hover {
  border-color: rgba(15, 118, 110, 0.2);
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.9),
    0 12px 32px -4px rgba(15, 118, 110, 0.08);
}

.species-animated-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.55rem, 3.6vw, 3rem);
  font-weight: 700;
  color: var(--idx-teal);
  margin: 0;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 10px rgba(15, 118, 110, 0.1);
  text-wrap: balance;
}

.species-animated-title .latin-name,
.latin-name {
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 0.82em;
  font-weight: 500;
  color: var(--idx-slate);
  margin-inline: 6px;
  direction: ltr !important;
  unicode-bidi: isolate !important;
  display: inline-block;
}

.latin-sub {
  font-family: "Space Grotesk", var(--idx-ff-ui);
  font-size: 0.84em;
  font-weight: 500;
  color: var(--idx-slate);
  direction: ltr !important;
  unicode-bidi: isolate !important;
  display: inline-block;
  vertical-align: baseline;
}

/* Clean native entrance fallbacks */

.species-taxonomy {
  display: flex;
  gap: 10px 14px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.species-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(15, 118, 110, 0.2);
  border-radius: 100px;
  color: var(--idx-teal);
  font-family: var(--idx-ff-ui);
  font-weight: 600;
  font-size: 0.88rem;
  letter-spacing: 0.02em;
  max-width: 100%;
  white-space: nowrap;
  box-shadow:
    0 4px 14px rgba(15, 118, 110, 0.08),
    inset 0 1px 1px rgba(255, 255, 255, 1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: all 0.25s var(--idx-ease);
}

.species-badge bdi {
  font-family: "Space Grotesk", var(--idx-ff-ui);
  font-weight: 600;
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

.species-badge svg {
  flex-shrink: 0;
}

.species-badge:hover {
  transform: translateY(-2px);
  background: #ffffff;
  border-color: var(--idx-teal);
  box-shadow: 0 8px 20px rgba(15, 118, 110, 0.16);
}

.tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

.tags span {
  display: inline-block;
  background: var(--idx-sage-soft);
  color: var(--idx-teal);
  padding: 6px 16px;
  border-radius: 100px;
  font-family: var(--idx-ff-ui);
  font-weight: 500;
  font-size: 0.9rem;
}

.species-description {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--idx-slate);
}

/* ─────────────────────────────────────────────
   Gallery Full Width
   ───────────────────────────────────────────── */
.species-gallery-fullwidth {
  margin-block-end: var(--local-pad-lg);
}

.species-gallery-fullwidth h3 {
  font-size: 1.5rem;
  color: var(--idx-teal);
  margin-block-end: 24px;
}

/* ─────────────────────────────────────────────
   Data Sections Grid (Bento Architecture)
   ───────────────────────────────────────────── */
.species-data-grid {
  display: grid;
  gap: var(--local-pad-lg);
  grid-template-columns: 1fr;
}

@container (min-width: 900px) {
  .species-data-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .species-data-grid .bento-span-2 {
    grid-column: span 2;
  }
}
@container (max-width: 899px) {
  .species-data-grid .bento-span-2 {
    grid-column: span 1;
  }
}

/* Bento Card Physics & Hover States */
.species-glass-card {
  transition:
    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.species-glass-card:hover {
  transform: translateY(-4px);
}

.species-glass-card:hover .liquid-specular-rim {
  border-color: rgba(15, 118, 110, 0.28);
  box-shadow:
    inset 0 2px 14px rgba(255, 255, 255, 1),
    0 16px 36px -8px rgba(15, 23, 42, 0.08),
    0 0 20px rgba(15, 118, 110, 0.06);
}

/* Bento Highlight Card State */
.species-glass-card.bento-highlight .liquid-backdrop {
  background: rgba(15, 118, 110, 0.035);
}

.species-glass-card.bento-highlight .liquid-specular-rim {
  border-color: rgba(15, 118, 110, 0.25);
  box-shadow:
    inset 0 2px 12px rgba(255, 255, 255, 1),
    inset 0 -4px 16px rgba(15, 118, 110, 0.1);
}

/* Bento Section Title with SVG Icon Badge */
.bento-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--idx-ff-display);
  font-size: clamp(1.15rem, 1.4vw, 1.35rem);
  font-weight: 600;
  color: var(--idx-navy);
  margin-block-end: 20px;
  padding-block-end: 10px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.bento-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(15, 118, 110, 0.08);
  color: var(--idx-teal);
  flex-shrink: 0;
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.8);
  transition:
    transform 0.25s var(--idx-ease),
    background-color 0.25s var(--idx-ease);
}

.species-glass-card:hover .bento-title-icon {
  transform: scale(1.08);
  background: rgba(15, 118, 110, 0.14);
}

.bento-title-icon svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
}

/* Precision Data Lists (<dl>) */
.species-card dl {
  display: grid;
  gap: 10px;
  margin: 0;
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  font-size: 0.98rem;
}

.species-card dt {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--idx-ff-ui);
  font-weight: 700;
  font-size: 0.86rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--idx-navy);
}

.species-card dt::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--idx-teal);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15);
  flex-shrink: 0;
}

.species-card dd {
  margin: 0;
  color: var(--idx-slate);
  font-family: var(--idx-ff-body);
  line-height: 1.6;
}

@container (min-width: 500px) {
  .species-card dl {
    grid-template-columns: 1fr 2fr;
  }
  .species-card dt,
  .species-card dd {
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    padding-block: 10px;
    transition: background-color 0.2s var(--idx-ease);
  }
  .species-card dt:last-of-type,
  .species-card dd:last-of-type {
    border-bottom: none;
    padding-block-end: 0;
  }
}

/* Enhanced Feature Bullet Lists (<ul>) */
.species-card ul.feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.species-card ul.feature-list li {
  position: relative;
  padding-inline-start: 28px;
  padding-block: 6px;
  color: var(--idx-slate);
  line-height: 1.65;
  font-family: var(--idx-ff-body);
  font-size: 1.02rem;
  border-radius: 8px;
  transition: background-color 0.2s var(--idx-ease);
}

.species-card ul.feature-list li:hover {
  background-color: rgba(15, 118, 110, 0.03);
}

.species-card ul.feature-list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 6px;
  top: 15px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--idx-teal);
  box-shadow:
    0 0 0 3px rgba(15, 118, 110, 0.18),
    0 0 8px rgba(56, 189, 248, 0.3);
}

.species-card p {
  color: var(--idx-slate);
  line-height: 1.75;
  margin-bottom: 12px;
  font-size: 1.05rem;
}

.species-card .research p {
  position: relative;
  padding-inline-start: 16px;
  border-inline-start: 3px solid var(--idx-teal);
  margin-bottom: 12px;
}

/* Liquid Glass Analytics & Download Chips */
.analytics-download-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.download-chip {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(15, 118, 110, 0.15);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
  color: var(--idx-navy);
  text-decoration: none;
  transition:
    transform 0.25s var(--idx-ease),
    box-shadow 0.25s var(--idx-ease),
    border-color 0.25s var(--idx-ease);
  overflow: hidden;
}

.download-chip:hover {
  transform: translateY(-3px);
  border-color: var(--idx-teal);
  box-shadow: 0 12px 28px -4px rgba(15, 118, 110, 0.2);
  color: var(--idx-teal);
}

.download-chip-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(15, 118, 110, 0.08);
  color: var(--idx-teal);
  flex-shrink: 0;
}

.download-chip-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
}

.download-chip-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.download-chip-title {
  font-family: var(--idx-ff-ui);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--idx-navy);
}

.download-chip:hover .download-chip-title {
  color: var(--idx-teal);
}

.download-chip-meta {
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--idx-teal);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ─────────────────────────────────────────────
   Master Biological & Ecological Profile Flagship
   ───────────────────────────────────────────── */
.species-biological-profile {
  position: relative;
}

/* Master Title Hero Display */
.bento-title-hero {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.18rem, 2.2vw, 1.55rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 20px 0;
  display: flex;
  align-items: center;
  gap: 12px;
  letter-spacing: -0.01em;
  text-wrap: balance;
  line-height: 1.35;
}

.bento-title-icon-glow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(
    135deg,
    rgba(15, 118, 110, 0.12),
    rgba(56, 189, 248, 0.18)
  );
  border: 1px solid rgba(15, 118, 110, 0.25);
  box-shadow: 0 4px 16px rgba(15, 118, 110, 0.12);
  flex-shrink: 0;
}

.bento-title-icon-glow svg {
  width: 20px;
  height: 20px;
  stroke: var(--idx-teal);
  fill: none;
}

/* Executive Bio Feature Pills Bar */
.bio-executive-pills {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(10px, 1.5vw, 14px);
  padding: clamp(12px, 2.2vw, 18px);
  border-radius: 20px;
  background: linear-gradient(
    135deg,
    rgba(15, 118, 110, 0.04),
    rgba(56, 189, 248, 0.04)
  );
  border: 1px solid rgba(15, 118, 110, 0.15);
  margin-bottom: 24px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-sizing: border-box;
}

@media (min-width: 640px) {
  .bio-executive-pills {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .bio-executive-pills {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media (max-width: 639px) {
  .bio-executive-pills .bio-pill:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

.bio-pill {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(15, 118, 110, 0.12);
  box-shadow: 0 4px 12px -2px rgba(15, 23, 42, 0.03);
  transition:
    transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
    border-color 0.25s ease,
    box-shadow 0.25s ease;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.bio-pill:hover {
  transform: translateY(-2px);
  border-color: rgba(15, 118, 110, 0.35);
  box-shadow: 0 8px 24px -4px rgba(15, 118, 110, 0.15);
}

.bio-pill-label {
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.68rem, 0.9vw, 0.74rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--idx-slate);
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.35;
  text-wrap: balance;
}

.bio-pill-value {
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.86rem, 1.1vw, 0.98rem);
  font-weight: 700;
  color: var(--idx-navy);
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.4;
  text-wrap: pretty;
}

.bio-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(14px, 2.2vw, 22px);
  width: 100%;
  box-sizing: border-box;
}

@container (min-width: 990px) {
  .bio-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@container (min-width: 620px) and (max-width: 989px) {
  .bio-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Base Subblock */
.bio-subblock {
  padding: clamp(16px, 2.8vw, 24px);
  border-radius: 20px;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

/* Sub-block 1: Soft Teal Theme */
.bio-subblock-geo {
  background: rgba(15, 118, 110, 0.04);
  border: 1px solid rgba(15, 118, 110, 0.16);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.9);
}

.bio-subblock-geo:hover {
  border-color: rgba(15, 118, 110, 0.3);
  box-shadow: 0 10px 28px -6px rgba(15, 118, 110, 0.12);
}

/* Sub-block 2: Cyber Cyan Theme */
.bio-subblock-morph {
  background: rgba(56, 189, 248, 0.04);
  border: 1px solid rgba(56, 189, 248, 0.18);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.9);
}

.bio-subblock-morph:hover {
  border-color: rgba(56, 189, 248, 0.35);
  box-shadow: 0 10px 28px -6px rgba(56, 189, 248, 0.15);
}

/* Sub-block 3: Clinical Sage Theme */
.bio-subblock-behavior {
  background: rgba(153, 184, 186, 0.08);
  border: 1px solid rgba(153, 184, 186, 0.22);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.9);
}

.bio-subblock-behavior:hover {
  border-color: rgba(15, 118, 110, 0.25);
  box-shadow: 0 10px 28px -6px rgba(15, 118, 110, 0.1);
}

.bio-subblock-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  flex-wrap: wrap;
}

.bio-subblock-title {
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.86rem, 1.1vw, 0.96rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  gap: 8px;
  text-wrap: balance;
}

.bio-subblock-title svg {
  width: 16px;
  height: 16px;
  stroke: var(--idx-teal);
  fill: none;
  flex-shrink: 0;
}

.bio-block-tag {
  font-family: var(--idx-ff-ui);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 100px;
  background: rgba(15, 118, 110, 0.08);
  color: var(--idx-teal);
  border: 1px solid rgba(15, 118, 110, 0.15);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Provincial Distribution Badges Grid */
.bio-province-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  margin-top: 14px;
}

.bio-province-chip {
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.74rem, 0.88vw, 0.82rem);
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--idx-teal);
  border: 1px solid rgba(15, 118, 110, 0.18);
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.02);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.bio-province-chip:hover {
  background: #0f766e;
  color: #ffffff;
  border-color: #0f766e;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(15, 118, 110, 0.25);
}

/* Anatomical Dimension Stat Cards */
.bio-dim-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 18px;
  width: 100%;
  box-sizing: border-box;
}

.bio-dim-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 10px 6px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(56, 189, 248, 0.2);
  text-align: center;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.02);
  transition: transform 0.2s ease;
  box-sizing: border-box;
  min-width: 0;
  overflow: hidden;
}

.bio-dim-card:hover {
  transform: translateY(-2px);
  border-color: var(--idx-cyan);
}

.bio-dim-label {
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.64rem, 0.85vw, 0.72rem);
  font-weight: 700;
  color: var(--idx-slate);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.25;
  text-wrap: balance;
}

.bio-dim-val {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(0.78rem, 1.2vw, 1.02rem);
  font-weight: 700;
  color: var(--idx-teal);
  font-variant-numeric: tabular-nums;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
  line-height: 1.25;
  display: inline-block;
  max-width: 100%;
}

/* Feature Trait Items */
.bio-trait-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bio-trait-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: clamp(0.85rem, 1vw, 0.92rem);
  line-height: 1.65;
  color: var(--idx-navy);
  text-wrap: pretty;
  overflow-wrap: break-word;
}

.bio-trait-bullet {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--idx-teal);
  margin-top: 8px;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.18);
}

/* Behavior Micro Cards Grid */
.bio-behavior-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
  gap: 10px;
}

.bio-behavior-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(15, 118, 110, 0.12);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease;
  min-width: 0;
  box-sizing: border-box;
}

.bio-behavior-card:hover {
  transform: translateY(-2px);
  border-color: rgba(15, 118, 110, 0.3);
}

.bio-behavior-card-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.74rem, 0.9vw, 0.8rem);
  font-weight: 700;
  color: var(--idx-navy);
  text-transform: uppercase;
  text-wrap: balance;
}

.bio-behavior-card-header svg {
  width: 15px;
  height: 15px;
  stroke: var(--idx-teal);
  fill: none;
  flex-shrink: 0;
}

.bio-behavior-card p {
  margin: 0;
  font-size: clamp(0.82rem, 0.95vw, 0.86rem);
  line-height: 1.55;
  color: var(--idx-slate);
  text-wrap: pretty;
}

/* ─────────────────────────────────────────────
   Unified Master Venom Profile & Dual Analytics System
   ───────────────────────────────────────────── */
.venom-profile-analytics {
  position: relative;
}

.analytics-container {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* Master Overview Feature List Pills */
.venom-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: clamp(12px, 2vw, 16px);
  border-radius: 18px;
  background: rgba(15, 118, 110, 0.03);
  border: 1px solid rgba(15, 118, 110, 0.12);
  margin-bottom: 8px;
  box-sizing: border-box;
}

@media (min-width: 640px) {
  .venom-overview-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .venom-overview-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media (max-width: 639px) {
  .venom-overview-grid .venom-overview-pill:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

.venom-overview-pill {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(15, 118, 110, 0.1);
  min-width: 0;
  box-sizing: border-box;
}

.venom-pill-title {
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.68rem, 0.85vw, 0.74rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--idx-slate);
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.3;
  text-wrap: balance;
}

.venom-pill-val {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(0.88rem, 1.1vw, 1rem);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--idx-navy);
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: balance;
}

/* Analysis Sub-block Headers */
.analysis-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: clamp(16px, 2.8vw, 26px);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.95),
    0 6px 20px -4px rgba(15, 23, 42, 0.03);
  margin-bottom: 8px;
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

.analysis-block-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(15, 118, 110, 0.12);
  flex-wrap: wrap;
}

.analysis-badge-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  border-radius: 100px;
  background: linear-gradient(135deg, #0f766e, #0d655e);
  color: #ffffff;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 8px rgba(15, 118, 110, 0.25);
  white-space: nowrap;
  flex-shrink: 0;
}

.analysis-block-title {
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.92rem, 1.2vw, 1.05rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-wrap: balance;
}

/* 1. Stat Cards Grid (Key Quality Metrics) */
.sds-quality-stats-grid,
.hplc-quality-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .sds-quality-stats-grid,
  .hplc-quality-stats-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
  }
}

.sds-stat-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(15, 118, 110, 0.15);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
  transition:
    transform 0.25s var(--idx-ease),
    border-color 0.25s var(--idx-ease),
    box-shadow 0.25s var(--idx-ease);
  min-width: 0;
  box-sizing: border-box;
}

.sds-stat-card:hover {
  transform: translateY(-2px);
  border-color: rgba(15, 118, 110, 0.35);
  box-shadow: 0 8px 24px -4px rgba(15, 118, 110, 0.15);
}

.sds-stat-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.sds-stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: rgba(15, 118, 110, 0.08);
  color: var(--idx-teal);
  flex-shrink: 0;
}

.sds-stat-icon svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
}

.sds-stat-label {
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.68rem, 0.85vw, 0.75rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--idx-slate);
  line-height: 1.3;
  text-wrap: balance;
}

.sds-stat-value {
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: clamp(0.92rem, 1.3vw, 1.1rem);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--idx-navy);
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  text-wrap: balance;
}

.sds-stat-subtext {
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.7rem, 0.82vw, 0.76rem);
  color: var(--idx-teal);
  line-height: 1.35;
  text-wrap: pretty;
}

/* 2. Interactive Spectrum Wrappers */
.sds-spectrum-wrapper,
.hplc-spectrum-wrapper {
  padding: 22px 24px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(15, 118, 110, 0.16);
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.95),
    0 4px 16px -4px rgba(15, 23, 42, 0.03);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.sds-spectrum-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 8px;
}

.sds-spectrum-title h4 {
  font-family: var(--idx-ff-ui);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-wrap: balance;
}

.sds-matrix-badge {
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 100px;
  background: rgba(15, 118, 110, 0.08);
  color: var(--idx-teal);
  border: 1px solid rgba(15, 118, 110, 0.18);
}

.sds-densitometry-chart,
.hplc-chromatogram-chart {
  width: 100%;
  height: auto;
  max-height: 250px;
  display: block;
  cursor: zoom-in;
  transition: transform 0.25s var(--idx-ease);
}

.sds-densitometry-chart:hover,
.hplc-chromatogram-chart:hover {
  transform: scale(1.005);
}

.spectrum-zoom-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 100px;
  background: rgba(15, 118, 110, 0.08);
  color: var(--idx-teal);
  font-family: var(--idx-ff-ui);
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid rgba(15, 118, 110, 0.2);
  cursor: pointer;
  transition: all 0.2s ease;
}

.spectrum-zoom-badge:hover {
  background: var(--idx-teal);
  color: #ffffff;
  transform: translateY(-1px);
}

/* Scroll-driven Path Stroke Animations */
.chart-path-animated {
  stroke-dasharray: 1200;
  stroke-dashoffset: 1200;
  transition: stroke-dashoffset 2s cubic-bezier(0.16, 1, 0.3, 1);
}

.chart-area-animated {
  opacity: 0;
  transition: opacity 1.5s var(--idx-ease) 0.5s;
}

.sds-densitometry-chart.is-animated .chart-path-animated,
.hplc-chromatogram-chart.is-animated .chart-path-animated {
  stroke-dashoffset: 0;
}

.sds-densitometry-chart.is-animated .chart-area-animated,
.hplc-chromatogram-chart.is-animated .chart-area-animated {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .chart-path-animated {
    stroke-dashoffset: 0 !important;
  }
  .chart-area-animated {
    opacity: 1 !important;
  }
}

/* 3. Extraction & Cold Chain Protocols Grid */
.sds-protocol-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 16px;
}

.sds-protocol-card {
  padding: 18px 20px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.9);
  transition: border-color 0.25s var(--idx-ease);
}

.sds-protocol-card:hover {
  border-color: rgba(15, 118, 110, 0.3);
}

.sds-protocol-card h5 {
  font-family: var(--idx-ff-ui);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 8px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.sds-protocol-card h5 svg {
  width: 16px;
  height: 16px;
  stroke: var(--idx-teal);
  fill: none;
  flex-shrink: 0;
}

.sds-protocol-card p {
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--idx-slate);
  margin: 0;
}

/* 4. HPLC Major Peaks Data Table with Fixed Column Alignment */
.hplc-peaks-table-wrapper,
.hplc-table-wrapper {
  margin-top: 16px;
  padding: clamp(14px, 2.5vw, 20px);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(15, 118, 110, 0.16);
  box-shadow: 0 4px 16px -4px rgba(15, 23, 42, 0.04);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  box-sizing: border-box;
}

.hplc-table-title,
.hplc-table-header {
  font-family: var(--idx-ff-ui);
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 14px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(15, 118, 110, 0.1);
  flex-wrap: wrap;
  gap: 8px;
}

.hplc-table-header h5 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--idx-navy);
  text-wrap: balance;
}

.hplc-table {
  width: 100%;
  min-width: 520px;
  table-layout: auto;
  border-collapse: collapse;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
}

.hplc-table th {
  font-family: var(--idx-ff-ui);
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--idx-slate);
  padding: 10px 12px;
  border-bottom: 2px solid rgba(15, 118, 110, 0.2);
  background: rgba(15, 118, 110, 0.05);
}

.hplc-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  color: var(--idx-navy);
  vertical-align: middle;
}

/* Explicit Column Alignments & Widths */
.hplc-table th:nth-child(1),
.hplc-table td:nth-child(1) {
  text-align: start;
}

.hplc-table th:nth-child(2),
.hplc-table td:nth-child(2) {
  text-align: center;
}

.hplc-table th:nth-child(3),
.hplc-table td:nth-child(3) {
  text-align: end;
}

.hplc-table th:nth-child(4),
.hplc-table td:nth-child(4) {
  text-align: end;
}

.hplc-table th:nth-child(5),
.hplc-table td:nth-child(5) {
  text-align: end;
}

.hplc-table th:nth-child(6),
.hplc-table td:nth-child(6) {
  text-align: center;
}

.hplc-table tr:hover td {
  background: rgba(15, 118, 110, 0.05);
}

@media (max-width: 768px) {
  .hplc-peaks-table-wrapper,
  .hplc-table-wrapper {
    margin: 12px 0;
    padding: 12px;
  }
  .hplc-table-title {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

.peak-row-major td {
  font-weight: 700;
  background: rgba(56, 189, 248, 0.08);
}

.hplc-badge-dominant {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 100px;
  background: #0f766e;
  color: #ffffff;
  font-family: var(--idx-ff-ui);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  box-shadow: 0 2px 6px rgba(15, 118, 110, 0.25);
}

.hplc-badge-major {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 100px;
  background: rgba(56, 189, 248, 0.15);
  color: #0f766e;
  font-family: var(--idx-ff-ui);
  font-size: 0.72rem;
  font-weight: 700;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

/* ─────────────────────────────────────────────
   §6 — Gallery & Lightbox Interactions
   ───────────────────────────────────────────── */
.species-gallery-bento {
  padding: var(--local-pad);
  background: color-mix(in srgb, var(--idx-surface) 40%, transparent);
  border-radius: var(--media-radius);
  border: 1px solid var(--idx-border-soft);
}

.gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (max-width: 768px) {
  .gallery-thumbs {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

.gallery-thumbs > li {
  width: 100%;
  max-width: 100%;
}
.thumb-btn {
  display: block;
  width: 100%;
  padding: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid transparent;
  transition:
    transform 0.2s var(--idx-ease),
    border-color 0.2s;
  background: var(--idx-white);
  cursor: pointer;
}
.thumb-btn img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  transition: transform 0.4s var(--idx-ease);
}
.thumb-btn:hover,
.thumb-btn:focus-visible {
  transform: translateY(-4px);
  border-color: var(--idx-teal);
  box-shadow: 0 8px 20px -4px rgba(15, 118, 110, 0.25);
  outline: none;
}
.thumb-btn:hover img,
.thumb-btn:focus-visible img {
  transform: scale(1.05);
}

/* ─────────────────────────────────────────────
   Global Dynamic Lightbox (Photo & Spectrum Vector)
   ───────────────────────────────────────────── */
#global-gallery-lightbox {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  max-width: 100vw;
  max-height: 100vh;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.3s var(--idx-ease);
  pointer-events: none;
}

#global-gallery-lightbox[open] {
  display: flex;
  opacity: 1;
  pointer-events: auto;
}

#global-gallery-lightbox::backdrop {
  background: transparent;
}

.lightbox-backdrop {
  background: rgba(248, 250, 252, 0.92);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
}

.lightbox-rim {
  border: none !important;
  box-shadow:
    inset 0 2px 20px rgba(255, 255, 255, 0.95),
    inset 0 -4px 16px rgba(15, 118, 110, 0.08) !important;
}

.lightbox-content-wrapper {
  position: relative;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: clamp(60px, 8vh, 80px) clamp(24px, 4vw, 56px) clamp(24px, 4vh, 40px)
    clamp(24px, 4vw, 56px);
  box-sizing: border-box;
  transform: scale(0.96) translateY(10px);
  transition: transform 0.4s var(--idx-ease);
}

#global-gallery-lightbox[open] .lightbox-content-wrapper {
  transform: scale(1) translateY(0);
}

@starting-style {
  #global-gallery-lightbox[open] .lightbox-content-wrapper {
    transform: scale(0.96) translateY(10px);
  }
}

.lightbox-img-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  position: relative;
  z-index: 5;
}

#lightbox-img {
  max-width: 100%;
  max-height: calc(100vh - 130px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 18px;
  box-shadow:
    0 28px 72px -12px rgba(15, 23, 42, 0.28),
    0 0 0 1px rgba(15, 118, 110, 0.18);
  display: block;
  opacity: 0;
  transform: scale(0.97);
  transition:
    opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

#lightbox-img.is-loaded {
  opacity: 1;
  transform: scale(1);
}

/* =========================================================
   Clinical Masterpiece High-Resolution Spectrum Vector Card
   ========================================================= */
.lightbox-chart-view {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  z-index: 10;
  animation: lightbox-fade-in 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes lightbox-fade-in {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.lightbox-spectrum-card {
  width: min(1040px, 94vw);
  max-height: 86vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(28px) saturate(160%);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
  border-radius: 24px;
  border: 1px solid rgba(15, 118, 110, 0.25);
  box-shadow:
    0 32px 80px -16px rgba(15, 23, 42, 0.35),
    inset 0 2px 2px #ffffff;
  padding: clamp(18px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-sizing: border-box;
}

.lightbox-spectrum-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(15, 118, 110, 0.12);
  padding-bottom: 14px;
}

.lightbox-spectrum-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.lightbox-spectrum-badge {
  align-self: flex-start;
  font-family: "Space Grotesk", var(--idx-ff-ui);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--idx-teal);
  background: rgba(15, 118, 110, 0.08);
  border: 1px solid rgba(15, 118, 110, 0.2);
  padding: 4px 12px;
  border-radius: 100px;
}

.lightbox-spectrum-title {
  font-family: var(--idx-ff-ui);
  font-size: clamp(1rem, 1.4vw, 1.28rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0;
  line-height: 1.35;
  text-wrap: balance;
}

.lightbox-spectrum-body {
  width: 100%;
}

.lightbox-spectrum-svg-wrap {
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(15, 118, 110, 0.14);
  border-radius: 18px;
  padding: clamp(12px, 2vw, 20px);
  box-shadow: inset 0 1px 3px rgba(15, 23, 42, 0.04);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.lightbox-spectrum-svg-wrap svg {
  width: 100%;
  height: auto;
  max-height: 52vh;
  display: block;
  min-width: 540px;
  cursor: default;
}

.lightbox-spectrum-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(15, 118, 110, 0.08);
  font-size: 0.8rem;
  color: var(--idx-slate);
}

.lightbox-spectrum-legend {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--idx-ff-ui);
  font-weight: 600;
}

.lightbox-spectrum-legend .legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #38bdf8;
  box-shadow: 0 0 8px #38bdf8;
}

.lightbox-spectrum-note {
  font-family: var(--idx-ff-ui);
  font-size: 0.74rem;
  color: var(--idx-muted);
}

/* =========================================================
   Liquid Glass Navigation & Close Buttons for Lightbox
   ========================================================= */
.lightbox-close-btn,
.lightbox-nav-btn {
  position: fixed;
  z-index: 30;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s var(--idx-ease);
}

.lightbox-close-btn {
  top: clamp(16px, 2.5vh, 28px);
  right: clamp(16px, 2.5vw, 32px);
  width: 48px;
  height: 48px;
}

.lightbox-nav-btn {
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
}

.lightbox-prev-btn {
  left: clamp(20px, 3vw, 44px) !important;
  right: auto !important;
}

.lightbox-next-btn {
  right: clamp(20px, 3vw, 44px) !important;
  left: auto !important;
}

/* 3-Layer Liquid Glass Architecture for Lightbox Buttons */
.lightbox-close-btn .nav-pill-glass-container,
.lightbox-nav-btn .nav-pill-glass-container,
.lightbox-mobile-nav .nav-pill-glass-container {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  box-shadow:
    0 8px 24px -4px rgba(15, 23, 42, 0.12),
    0 2px 8px -2px rgba(15, 23, 42, 0.08);
  transition: box-shadow 0.3s var(--idx-ease);
}

.lightbox-close-btn .liquid-backdrop,
.lightbox-nav-btn .liquid-backdrop,
.lightbox-mobile-nav .liquid-backdrop {
  position: absolute;
  inset: -12px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(16px) saturate(1.4);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  backdrop-filter: url(#liquid-glass-refraction-ca) blur(16px) saturate(1.4);
  -webkit-backdrop-filter: url(#liquid-glass-refraction-ca) blur(16px)
    saturate(1.4);
  transition: background 0.3s var(--idx-ease);
  z-index: 1;
}

.lightbox-close-btn .liquid-specular-rim,
.lightbox-nav-btn .liquid-specular-rim,
.lightbox-mobile-nav .liquid-specular-rim {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow:
    inset 0 2px 4px rgba(255, 255, 255, 0.95),
    inset 0 -2px 6px rgba(15, 118, 110, 0.12),
    0 1px 2px rgba(15, 23, 42, 0.05);
  transition:
    border-color 0.3s var(--idx-ease),
    box-shadow 0.3s var(--idx-ease);
  z-index: 2;
}

.lightbox-close-btn .btn-icon-pad,
.lightbox-nav-btn .btn-icon-pad {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.lightbox-close-btn svg,
.lightbox-nav-btn svg {
  stroke: var(--idx-navy);
  transition:
    stroke 0.3s var(--idx-ease),
    transform 0.3s var(--idx-ease);
  will-change: transform, stroke;
}

.lightbox-close-btn:hover {
  transform: scale(1.08);
}

.lightbox-nav-btn:hover {
  transform: translateY(-50%) scale(1.08);
}

.lightbox-close-btn:hover .nav-pill-glass-container,
.lightbox-nav-btn:hover .nav-pill-glass-container {
  box-shadow:
    0 12px 32px -4px rgba(15, 118, 110, 0.25),
    0 4px 12px -2px rgba(15, 23, 42, 0.12);
}

.lightbox-close-btn:hover .liquid-backdrop,
.lightbox-nav-btn:hover .liquid-backdrop {
  background: rgba(15, 118, 110, 0.18);
}

.lightbox-close-btn:hover .liquid-specular-rim,
.lightbox-nav-btn:hover .liquid-specular-rim {
  border-color: rgba(15, 118, 110, 0.4);
  box-shadow:
    inset 0 2px 6px rgba(255, 255, 255, 1),
    inset 0 -2px 8px rgba(56, 189, 248, 0.3),
    0 0 12px rgba(56, 189, 248, 0.2);
}

.lightbox-close-btn:hover svg,
.lightbox-nav-btn:hover svg {
  stroke: var(--idx-teal);
}

.lightbox-close-btn:hover svg {
  transform: rotate(90deg);
}

.lightbox-prev-btn:hover svg {
  transform: translateX(-2px);
}

.lightbox-next-btn:hover svg {
  transform: translateX(2px);
}

.lightbox-close-btn:focus-visible,
.lightbox-nav-btn:focus-visible {
  outline: 2px solid var(--idx-teal);
  outline-offset: 4px;
}

/* Strict RTL Guardrail: Absolutely NO flipping or directional overrides in RTL */
:root[dir="rtl"] .lightbox-prev-btn {
  left: clamp(20px, 3vw, 44px) !important;
  right: auto !important;
  transform: translateY(-50%) !important;
}
:root[dir="rtl"] .lightbox-next-btn {
  right: clamp(20px, 3vw, 44px) !important;
  left: auto !important;
  transform: translateY(-50%) !important;
}
:root[dir="rtl"] .lightbox-prev-btn:hover {
  transform: translateY(-50%) scale(1.08) !important;
}
:root[dir="rtl"] .lightbox-next-btn:hover {
  transform: translateY(-50%) scale(1.08) !important;
}
:root[dir="rtl"] .lightbox-prev-btn svg,
:root[dir="rtl"] .lightbox-next-btn svg {
  transform: none !important;
}
:root[dir="rtl"] .lightbox-prev-btn:hover svg {
  transform: translateX(-2px) !important;
}
:root[dir="rtl"] .lightbox-next-btn:hover svg {
  transform: translateX(2px) !important;
}

/* Mobile Floating Capsule Navigation */
.lightbox-mobile-nav {
  display: none;
  position: fixed;
  bottom: clamp(14px, 3vh, 24px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 40;
  border-radius: 9999px;
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

.lightbox-mobile-nav-inner {
  display: flex;
  flex-direction: row !important;
  direction: ltr !important;
  unicode-bidi: isolate !important;
  align-items: center;
  gap: 14px;
  padding: 6px 14px;
  position: relative;
  z-index: 3;
}

.lightbox-mobile-nav-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  background: rgba(15, 118, 110, 0.12);
  color: var(--idx-navy);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  direction: ltr !important;
  transition: all 0.2s ease;
}

.lightbox-mobile-nav-btn svg {
  transform: none !important;
}

.lightbox-mobile-nav-btn:hover,
.lightbox-mobile-nav-btn:focus-visible {
  background: var(--idx-teal);
  color: #ffffff;
}

.lightbox-counter {
  direction: ltr !important;
  unicode-bidi: isolate !important;
  display: inline-block;
  font-family: "Space Grotesk", sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--idx-navy);
  font-variant-numeric: tabular-nums;
  min-width: 48px;
  text-align: center;
}

/* Strict RTL Guardrails for Mobile Floating Nav */
:root[dir="rtl"] .lightbox-mobile-nav {
  direction: ltr !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

:root[dir="rtl"] .lightbox-mobile-nav-inner {
  direction: ltr !important;
  flex-direction: row !important;
}

:root[dir="rtl"] .lightbox-mobile-nav-btn svg {
  transform: none !important;
}

@media (max-width: 768px) {
  .lightbox-content-wrapper {
    padding: 56px 12px 76px 12px;
  }
  .lightbox-close-btn {
    top: 12px;
    right: 12px;
    width: 44px;
    height: 44px;
  }
  .lightbox-nav-btn {
    display: none !important;
  }
  .lightbox-mobile-nav {
    display: block;
  }
  #lightbox-img {
    max-height: calc(100vh - 150px);
    border-radius: 14px;
  }
  .lightbox-spectrum-card {
    padding: 16px;
    width: 96vw;
  }
}

/* Native Dialog Lightbox */
.lightbox-dialog {
  padding: 0;
  border: none;
  border-radius: 16px;
  background: transparent;
  max-width: 90vw;
  max-height: 90vh;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5);
  overflow: visible;
  /* Animate entry */
  opacity: 0;
  transform: scale(0.95);
  transition:
    opacity 0.3s var(--idx-ease),
    transform 0.3s var(--idx-ease);
}

.lightbox-dialog[open] {
  opacity: 1;
  transform: scale(1);
}

/* Backdrop */
.lightbox-dialog::backdrop {
  background: rgba(15, 23, 42, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  transition: opacity 0.3s var(--idx-ease);
}

.lightbox-dialog[open]::backdrop {
  opacity: 1;
}

.lightbox-dialog figure {
  margin: 0;
  position: relative;
}
.lightbox-dialog img {
  display: block;
  max-width: 100%;
  max-height: 85vh;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: var(--idx-surface);
}

.lightbox-header {
  position: absolute;
  inset-block-start: -40px;
  inset-inline-end: 0;
  z-index: 2;
}

.lightbox-close {
  background: none;
  border: none;
  color: white;
  font-size: 2.5rem;
  line-height: 1;
  cursor: pointer;
  padding: 0 8px;
  transition:
    color 0.2s,
    transform 0.2s;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
.lightbox-close:hover,
.lightbox-close:focus-visible {
  color: var(--idx-cyan);
  transform: scale(1.1);
  outline: none;
}

.lightbox-controls {
  position: absolute;
  inset-inline: -50px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.lightbox-prev,
.lightbox-next {
  pointer-events: auto;
  background: rgba(15, 23, 42, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: white;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  cursor: pointer;
  backdrop-filter: blur(4px);
  transition:
    background 0.2s,
    color 0.2s,
    transform 0.2s;
}

.lightbox-prev:hover,
.lightbox-next:hover,
.lightbox-prev:focus-visible,
.lightbox-next:focus-visible {
  background: rgba(15, 23, 42, 0.8);
  color: var(--idx-cyan);
  transform: scale(1.1);
  outline: none;
}

@media (max-width: 768px) {
  .lightbox-controls {
    inset-inline: 10px;
  }
}

/* RTL Support */
:root[dir="rtl"] .lightbox-prev {
  transform: scaleX(-1);
}
:root[dir="rtl"] .lightbox-next {
  transform: scaleX(-1);
}
:root[dir="rtl"] .lightbox-prev:hover,
:root[dir="rtl"] .lightbox-next:hover {
  transform: scaleX(-1) scale(1.1);
}

/* ─────────────────────────────────────────────
   §7 — Reduced Motion
   ───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .species-card {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
  .thumb:hover {
    transform: none;
  }
  .thumb img {
    transition: none;
  }
}

@keyframes idx-visual-reveal {
  from {
    opacity: 0;
    transform: translateY(40px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* ─────────────────────────────────────────────
   §8 — Dermocosmetics & Scorpion Oil Section
   ───────────────────────────────────────────── */

.dermocosmetics-section {
  position: relative;
  margin-block-start: clamp(32px, 4vw, 56px);
  margin-block-end: clamp(32px, 4vw, 56px);
  padding-block: clamp(28px, 4vw, 52px);
  padding-inline: clamp(20px, 4vw, 44px);
  border-radius: 24px;
  background:
    radial-gradient(
      100% 100% at 50% 0%,
      rgba(15, 118, 110, 0.02) 0%,
      rgba(248, 250, 252, 0.95) 100%
    ),
    var(--idx-surface);
  border: 1px solid rgba(15, 118, 110, 0.12);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.04);
  overflow: hidden;
  isolation: isolate;
}

.dermo-header {
  text-align: start;
  margin-block-end: clamp(24px, 3vw, 36px);
  position: relative;
  z-index: 2;
}

.dermo-badge-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-block: 5px;
  padding-inline: 13px;
  border-radius: 999px;
  background: rgba(15, 118, 110, 0.06);
  border: 1px solid rgba(15, 118, 110, 0.18);
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.75rem, 0.9vw, 0.825rem);
  font-weight: 600;
  color: var(--idx-teal);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-block-end: 12px;
}

.dermo-badge-dot {
  inline-size: 8px;
  block-size: 8px;
  border-radius: 50%;
  background: var(--idx-teal);
  box-shadow: 0 0 8px rgba(15, 118, 110, 0.4);
  animation: idx-glow-pulse 2s ease-in-out infinite alternate;
}

.dermo-section-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 8px 0;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.dermo-section-subtitle {
  font-family: var(--idx-ff-body);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  color: var(--idx-slate);
  margin: 0;
  font-weight: 400;
}

/* Balanced Two Column Layout Grid */
.dermo-main-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(24px, 3.5vw, 40px);
  position: relative;
  z-index: 2;
}

@media (min-width: 992px) {
  .dermo-main-grid {
    grid-template-columns: 1fr 1.05fr;
    align-items: stretch;
  }
}

/* Left Hero Column: Headline, Description, Visual Showcase, CTA */
.dermo-hero-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
}

.dermo-headline-block {
  margin: 0;
}

.dermo-headline {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.35rem, 2.1vw, 1.75rem);
  font-weight: 700;
  color: var(--idx-navy);
  line-height: 1.3;
  margin: 0 0 12px 0;
}

.dermo-core-desc {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.95rem, 1.15vw, 1.05rem);
  line-height: 1.65;
  color: var(--idx-slate);
  margin: 0;
}

/* Visual Showcase Container */
.dermo-visual-showcase {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #0f172a;
  box-shadow: var(--idx-shadow-card);
  border: 1px solid rgba(15, 118, 110, 0.15);
  margin-block-start: 4px;
}

.dermo-visual-container {
  position: relative;
  inline-size: 100%;
  aspect-ratio: 16 / 9.5;
  overflow: hidden;
}

.dermo-visual-img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.6s var(--idx-ease-out);
  display: block;
}

.dermo-visual-showcase:hover .dermo-visual-img {
  transform: scale(1.03);
}

/* Microcallout Card (Luminous Liquid Glass Overlay) */
.dermo-micro-callout {
  position: absolute;
  inset-block-end: 14px;
  inset-inline-start: 14px;
  inset-inline-end: 14px;
  padding: 14px 18px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(15, 118, 110, 0.18);
  box-shadow:
    0 12px 32px rgba(15, 23, 42, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  color: var(--idx-navy);
  z-index: 3;
}

.dermo-micro-callout-tag {
  display: inline-block;
  font-family: var(--idx-ff-ui);
  font-size: 0.725rem;
  font-weight: 700;
  color: var(--idx-teal);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-block-end: 4px;
}

.dermo-micro-callout-text {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.825rem, 1vw, 0.925rem);
  line-height: 1.5;
  color: var(--idx-slate);
  margin: 0;
}

/* Right Portfolio Column: Bento Grid & B2B Block */
.dermo-portfolio-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
}

/* Bento Cards Grid for Products */
.dermo-bento-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

@media (min-width: 640px) {
  .dermo-bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.dermo-bento-card {
  position: relative;
  padding: 18px;
  border-radius: 16px;
  background: var(--idx-white);
  border: 1px solid rgba(15, 118, 110, 0.12);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
  transition:
    transform 0.3s var(--idx-ease-out),
    box-shadow 0.3s var(--idx-ease-out),
    border-color 0.3s var(--idx-ease-out);
}

.dermo-bento-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.3);
}

.dermo-card-icon {
  inline-size: 36px;
  block-size: 36px;
  border-radius: 10px;
  background: rgba(15, 118, 110, 0.07);
  border: 1px solid rgba(15, 118, 110, 0.15);
  color: var(--idx-teal);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-end: 10px;
}

.dermo-card-icon svg {
  inline-size: 20px;
  block-size: 20px;
  stroke: var(--idx-teal);
}

.dermo-card-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(0.95rem, 1.2vw, 1.075rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 6px 0;
  line-height: 1.35;
}

.dermo-card-specs {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.825rem, 1vw, 0.9rem);
  line-height: 1.5;
  color: var(--idx-muted);
  margin: 0;
}

/* B2B & OEM Opportunities Container */
.dermo-b2b-container {
  padding: 20px 22px;
  border-radius: 16px;
  background:
    linear-gradient(
      135deg,
      rgba(15, 118, 110, 0.04) 0%,
      rgba(153, 184, 186, 0.08) 100%
    ),
    var(--idx-white);
  border: 1px solid rgba(15, 118, 110, 0.16);
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.03);
}

.dermo-b2b-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-block-end: 14px;
}

.dermo-b2b-icon {
  inline-size: 32px;
  block-size: 32px;
  border-radius: 8px;
  background: var(--idx-teal);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dermo-b2b-icon svg {
  inline-size: 18px;
  block-size: 18px;
  stroke: #fff;
}

.dermo-b2b-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.05rem, 1.35vw, 1.175rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0;
}

.dermo-b2b-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

@media (min-width: 768px) {
  .dermo-b2b-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.dermo-b2b-item {
  position: relative;
  padding-inline-start: 18px;
  font-family: var(--idx-ff-body);
  font-size: clamp(0.825rem, 0.95vw, 0.9rem);
  line-height: 1.45;
  color: var(--idx-slate);
}

.dermo-b2b-item::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 7px;
  inline-size: 7px;
  block-size: 7px;
  border-radius: 50%;
  background: var(--idx-teal);
}

.dermo-b2b-item strong {
  color: var(--idx-navy);
  display: block;
  font-family: var(--idx-ff-ui);
  font-size: 0.825rem;
  font-weight: 700;
  margin-block-end: 2px;
}

/* CTA Action Row */
.dermo-cta-row {
  margin-block-start: 4px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.dermo-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-block: 14px;
  padding-inline: 28px;
  border-radius: 9999px;
  background: var(--idx-teal);
  color: var(--idx-white);
  font-family: var(--idx-ff-ui);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow:
    0 8px 24px rgba(15, 118, 110, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transition:
    transform 0.3s var(--idx-ease),
    box-shadow 0.3s var(--idx-ease),
    background-color 0.3s var(--idx-ease);
}

.dermo-cta-btn:hover {
  background: #11877e;
  transform: translate3d(0, -2px, 0);
  box-shadow:
    0 14px 32px rgba(15, 118, 110, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
  color: var(--idx-white);
}

.dermo-cta-btn:focus-visible {
  outline: 2px solid var(--idx-teal);
  outline-offset: 3px;
}

.dermo-cta-icon {
  display: inline-block;
  transition: transform 0.3s var(--idx-ease);
}

:root[dir="ltr"] .dermo-cta-btn:hover .dermo-cta-icon {
  transform: translate3d(4px, 0, 0);
}

:root[dir="rtl"] .dermo-cta-btn:hover .dermo-cta-icon {
  transform: translate3d(-4px, 0, 0) scaleX(-1);
}

:root[dir="rtl"] .dermo-cta-icon {
  transform: scaleX(-1);
}

/* ─────────────────────────────────────────────
   §9 — IoT Data Loggers & Cold-Chain Section
   ───────────────────────────────────────────── */

.iot-coldchain-section {
  position: relative;
  margin-block-start: clamp(32px, 4vw, 56px);
  margin-block-end: clamp(32px, 4vw, 56px);
  padding-block: clamp(28px, 4vw, 52px);
  padding-inline: clamp(20px, 4vw, 44px);
  border-radius: 24px;
  background:
    radial-gradient(
      100% 100% at 50% 0%,
      rgba(15, 118, 110, 0.02) 0%,
      rgba(248, 250, 252, 0.95) 100%
    ),
    var(--idx-surface);
  border: 1px solid rgba(15, 118, 110, 0.12);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.04);
  overflow: hidden;
  isolation: isolate;
}

.iot-header {
  text-align: start;
  margin-block-end: clamp(24px, 3vw, 36px);
  position: relative;
  z-index: 2;
}

.iot-badge-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-block: 5px;
  padding-inline: 13px;
  border-radius: 999px;
  background: rgba(15, 118, 110, 0.06);
  border: 1px solid rgba(15, 118, 110, 0.18);
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.75rem, 0.9vw, 0.825rem);
  font-weight: 600;
  color: var(--idx-teal);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-block-end: 12px;
}

.iot-badge-dot {
  inline-size: 8px;
  block-size: 8px;
  border-radius: 50%;
  background: var(--idx-teal);
  box-shadow: 0 0 8px rgba(15, 118, 110, 0.4);
  animation: idx-glow-pulse 2s ease-in-out infinite alternate;
}

.iot-section-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 8px 0;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.iot-section-subtitle {
  font-family: var(--idx-ff-body);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  color: var(--idx-slate);
  margin: 0;
  font-weight: 400;
}

/* Alternating Mirrored Grid Layout */
.iot-main-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(24px, 3.5vw, 40px);
  position: relative;
  z-index: 2;
}

@media (min-width: 992px) {
  .iot-main-grid {
    grid-template-columns: 1.05fr 1fr;
    align-items: stretch;
  }
}

/* Left Column: Bento Grid & Enterprise B2B Container */
.iot-portfolio-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
}

.iot-bento-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

@media (min-width: 640px) {
  .iot-bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.iot-bento-card {
  position: relative;
  padding: 18px;
  border-radius: 16px;
  background: var(--idx-white);
  border: 1px solid rgba(15, 118, 110, 0.12);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
  transition:
    transform 0.3s var(--idx-ease-out),
    box-shadow 0.3s var(--idx-ease-out),
    border-color 0.3s var(--idx-ease-out);
}

.iot-bento-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.3);
}

.iot-card-icon {
  inline-size: 36px;
  block-size: 36px;
  border-radius: 10px;
  background: rgba(15, 118, 110, 0.07);
  border: 1px solid rgba(15, 118, 110, 0.15);
  color: var(--idx-teal);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-end: 10px;
}

.iot-card-icon svg {
  inline-size: 20px;
  block-size: 20px;
  stroke: var(--idx-teal);
}

.iot-card-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(0.95rem, 1.2vw, 1.075rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 6px 0;
  line-height: 1.35;
}

.iot-card-specs {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.825rem, 1vw, 0.9rem);
  line-height: 1.5;
  color: var(--idx-muted);
  margin: 0;
}

.iot-b2b-container {
  padding: 20px 22px;
  border-radius: 16px;
  background:
    linear-gradient(
      135deg,
      rgba(15, 118, 110, 0.04) 0%,
      rgba(153, 184, 186, 0.08) 100%
    ),
    var(--idx-white);
  border: 1px solid rgba(15, 118, 110, 0.16);
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.03);
}

.iot-b2b-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-block-end: 14px;
}

.iot-b2b-icon {
  inline-size: 32px;
  block-size: 32px;
  border-radius: 8px;
  background: var(--idx-teal);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.iot-b2b-icon svg {
  inline-size: 18px;
  block-size: 18px;
  stroke: #fff;
}

.iot-b2b-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.05rem, 1.35vw, 1.175rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0;
}

.iot-b2b-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

@media (min-width: 768px) {
  .iot-b2b-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.iot-b2b-item {
  position: relative;
  padding-inline-start: 18px;
  font-family: var(--idx-ff-body);
  font-size: clamp(0.825rem, 0.95vw, 0.9rem);
  line-height: 1.45;
  color: var(--idx-slate);
}

.iot-b2b-item::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 7px;
  inline-size: 7px;
  block-size: 7px;
  border-radius: 50%;
  background: var(--idx-teal);
}

.iot-b2b-item strong {
  color: var(--idx-navy);
  display: block;
  font-family: var(--idx-ff-ui);
  font-size: 0.825rem;
  font-weight: 700;
  margin-block-end: 2px;
}

/* Right Column: Headline, Description, Image Showcase & CTA */
.iot-hero-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
}

.iot-headline-block {
  margin: 0;
}

.iot-headline {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.35rem, 2.1vw, 1.75rem);
  font-weight: 700;
  color: var(--idx-navy);
  line-height: 1.3;
  margin: 0 0 12px 0;
}

.iot-core-desc {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.95rem, 1.15vw, 1.05rem);
  line-height: 1.65;
  color: var(--idx-slate);
  margin: 0;
}

.iot-visual-showcase {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #0f172a;
  box-shadow: var(--idx-shadow-card);
  border: 1px solid rgba(15, 118, 110, 0.15);
  margin-block-start: 4px;
}

.iot-visual-container {
  position: relative;
  inline-size: 100%;
  aspect-ratio: 16 / 9.5;
  overflow: hidden;
}

.iot-visual-img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.6s var(--idx-ease-out);
  display: block;
}

.iot-visual-showcase:hover .iot-visual-img {
  transform: scale(1.03);
}

.iot-cta-row {
  margin-block-start: 4px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.iot-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-block: 14px;
  padding-inline: 28px;
  border-radius: 9999px;
  background: var(--idx-teal);
  color: var(--idx-white);
  font-family: var(--idx-ff-ui);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow:
    0 8px 24px rgba(15, 118, 110, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transition:
    transform 0.3s var(--idx-ease),
    box-shadow 0.3s var(--idx-ease),
    background-color 0.3s var(--idx-ease);
}

.iot-cta-btn:hover {
  background: #11877e;
  transform: translate3d(0, -2px, 0);
  box-shadow:
    0 14px 32px rgba(15, 118, 110, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
  color: var(--idx-white);
}

.iot-cta-btn:focus-visible {
  outline: 2px solid var(--idx-teal);
  outline-offset: 3px;
}

.iot-cta-icon {
  display: inline-block;
  transition: transform 0.3s var(--idx-ease);
}

:root[dir="ltr"] .iot-cta-btn:hover .iot-cta-icon {
  transform: translate3d(4px, 0, 0);
}

:root[dir="rtl"] .iot-cta-btn:hover .iot-cta-icon {
  transform: translate3d(-4px, 0, 0) scaleX(-1);
}

:root[dir="rtl"] .iot-cta-icon {
  transform: scaleX(-1);
}

/* ─────────────────────────────────────────────
   §10 — Laboratory & Analytical Testing Section
   ───────────────────────────────────────────── */

.lab-analytical-section {
  position: relative;
  margin-block-start: clamp(32px, 4vw, 56px);
  margin-block-end: clamp(32px, 4vw, 56px);
  padding-block: clamp(28px, 4vw, 52px);
  padding-inline: clamp(20px, 4vw, 44px);
  border-radius: 24px;
  background:
    radial-gradient(
      100% 100% at 50% 0%,
      rgba(15, 118, 110, 0.02) 0%,
      rgba(248, 250, 252, 0.95) 100%
    ),
    var(--idx-surface);
  border: 1px solid rgba(15, 118, 110, 0.12);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.04);
  overflow: hidden;
  isolation: isolate;
}

.lab-header {
  text-align: start;
  margin-block-end: clamp(24px, 3vw, 36px);
  position: relative;
  z-index: 2;
}

.lab-badge-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-block: 5px;
  padding-inline: 13px;
  border-radius: 999px;
  background: rgba(15, 118, 110, 0.06);
  border: 1px solid rgba(15, 118, 110, 0.18);
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.75rem, 0.9vw, 0.825rem);
  font-weight: 600;
  color: var(--idx-teal);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-block-end: 12px;
}

.lab-badge-dot {
  inline-size: 8px;
  block-size: 8px;
  border-radius: 50%;
  background: var(--idx-teal);
  box-shadow: 0 0 8px rgba(15, 118, 110, 0.4);
  animation: idx-glow-pulse 2s ease-in-out infinite alternate;
}

.lab-section-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 8px 0;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.lab-section-subtitle {
  font-family: var(--idx-ff-body);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  color: var(--idx-slate);
  margin: 0;
  font-weight: 400;
}

/* Alternating Grid Layout: Left Hero / Right Portfolio */
.lab-main-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(24px, 3.5vw, 40px);
  position: relative;
  z-index: 2;
}

@media (min-width: 992px) {
  .lab-main-grid {
    grid-template-columns: 1fr 1.05fr;
    align-items: stretch;
  }
}

/* Left Hero Column: Headline, Description, Image Showcase & CTA */
.lab-hero-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
}

.lab-headline-block {
  margin: 0;
}

.lab-headline {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.35rem, 2.1vw, 1.75rem);
  font-weight: 700;
  color: var(--idx-navy);
  line-height: 1.3;
  margin: 0 0 12px 0;
}

.lab-core-desc {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.95rem, 1.15vw, 1.05rem);
  line-height: 1.65;
  color: var(--idx-slate);
  margin: 0;
}

.lab-visual-showcase {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #0f172a;
  box-shadow: var(--idx-shadow-card);
  border: 1px solid rgba(15, 118, 110, 0.15);
  margin-block-start: 4px;
}

.lab-visual-container {
  position: relative;
  inline-size: 100%;
  aspect-ratio: 16 / 9.5;
  overflow: hidden;
}

.lab-visual-img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.6s var(--idx-ease-out);
  display: block;
}

.lab-visual-showcase:hover .lab-visual-img {
  transform: scale(1.03);
}

.lab-cta-row {
  margin-block-start: 4px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.lab-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-block: 14px;
  padding-inline: 28px;
  border-radius: 9999px;
  background: var(--idx-teal);
  color: var(--idx-white);
  font-family: var(--idx-ff-ui);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow:
    0 8px 24px rgba(15, 118, 110, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transition:
    transform 0.3s var(--idx-ease),
    box-shadow 0.3s var(--idx-ease),
    background-color 0.3s var(--idx-ease);
}

.lab-cta-btn:hover {
  background: #11877e;
  transform: translate3d(0, -2px, 0);
  box-shadow:
    0 14px 32px rgba(15, 118, 110, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
  color: var(--idx-white);
}

.lab-cta-btn:focus-visible {
  outline: 2px solid var(--idx-teal);
  outline-offset: 3px;
}

.lab-cta-icon {
  display: inline-block;
  transition: transform 0.3s var(--idx-ease);
}

:root[dir="ltr"] .lab-cta-btn:hover .lab-cta-icon {
  transform: translate3d(4px, 0, 0);
}

:root[dir="rtl"] .lab-cta-btn:hover .lab-cta-icon {
  transform: translate3d(-4px, 0, 0) scaleX(-1);
}

:root[dir="rtl"] .lab-cta-icon {
  transform: scaleX(-1);
}

/* Right Column: Bento Grid & Regulatory Container */
.lab-portfolio-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
}

.lab-bento-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

@media (min-width: 640px) {
  .lab-bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.lab-bento-card {
  position: relative;
  padding: 18px;
  border-radius: 16px;
  background: var(--idx-white);
  border: 1px solid rgba(15, 118, 110, 0.12);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
  transition:
    transform 0.3s var(--idx-ease-out),
    box-shadow 0.3s var(--idx-ease-out),
    border-color 0.3s var(--idx-ease-out);
}

.lab-bento-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.3);
}

.lab-bento-card-full {
  grid-column: 1 / -1;
}

.lab-card-icon {
  inline-size: 36px;
  block-size: 36px;
  border-radius: 10px;
  background: rgba(15, 118, 110, 0.07);
  border: 1px solid rgba(15, 118, 110, 0.15);
  color: var(--idx-teal);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-end: 10px;
}

.lab-card-icon svg {
  inline-size: 20px;
  block-size: 20px;
  stroke: var(--idx-teal);
}

.lab-card-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(0.95rem, 1.2vw, 1.075rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 6px 0;
  line-height: 1.35;
}

.lab-card-specs {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.825rem, 1vw, 0.9rem);
  line-height: 1.5;
  color: var(--idx-muted);
  margin: 0;
}

.lab-b2b-container {
  padding: 20px 22px;
  border-radius: 16px;
  background:
    linear-gradient(
      135deg,
      rgba(15, 118, 110, 0.04) 0%,
      rgba(153, 184, 186, 0.08) 100%
    ),
    var(--idx-white);
  border: 1px solid rgba(15, 118, 110, 0.16);
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.03);
}

.lab-b2b-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-block-end: 14px;
}

.lab-b2b-icon {
  inline-size: 32px;
  block-size: 32px;
  border-radius: 8px;
  background: var(--idx-teal);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lab-b2b-icon svg {
  inline-size: 18px;
  block-size: 18px;
  stroke: #fff;
}

.lab-b2b-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.05rem, 1.35vw, 1.175rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0;
}

.lab-b2b-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

@media (min-width: 768px) {
  .lab-b2b-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.lab-b2b-item {
  position: relative;
  padding-inline-start: 18px;
  font-family: var(--idx-ff-body);
  font-size: clamp(0.825rem, 0.95vw, 0.9rem);
  line-height: 1.45;
  color: var(--idx-slate);
}

.lab-b2b-item::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 7px;
  inline-size: 7px;
  block-size: 7px;
  border-radius: 50%;
  background: var(--idx-teal);
}

.lab-b2b-item strong {
  color: var(--idx-navy);
  display: block;
  font-family: var(--idx-ff-ui);
  font-size: 0.825rem;
  font-weight: 700;
  margin-block-end: 2px;
}

/* ─────────────────────────────────────────────
   §11 — Training & Academy Section
   ───────────────────────────────────────────── */

.academy-section {
  position: relative;
  margin-block-start: clamp(32px, 4vw, 56px);
  margin-block-end: clamp(32px, 4vw, 56px);
  padding-block: clamp(28px, 4vw, 52px);
  padding-inline: clamp(20px, 4vw, 44px);
  border-radius: 24px;
  background:
    radial-gradient(
      100% 100% at 50% 0%,
      rgba(15, 118, 110, 0.02) 0%,
      rgba(248, 250, 252, 0.95) 100%
    ),
    var(--idx-surface);
  border: 1px solid rgba(15, 118, 110, 0.12);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.04);
  overflow: hidden;
  isolation: isolate;
}

.academy-header {
  text-align: start;
  margin-block-end: clamp(24px, 3vw, 36px);
  position: relative;
  z-index: 2;
}

.academy-badge-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-block: 5px;
  padding-inline: 13px;
  border-radius: 999px;
  background: rgba(15, 118, 110, 0.06);
  border: 1px solid rgba(15, 118, 110, 0.18);
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.75rem, 0.9vw, 0.825rem);
  font-weight: 600;
  color: var(--idx-teal);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-block-end: 12px;
}

.academy-badge-dot {
  inline-size: 8px;
  block-size: 8px;
  border-radius: 50%;
  background: var(--idx-teal);
  box-shadow: 0 0 8px rgba(15, 118, 110, 0.4);
  animation: idx-glow-pulse 2s ease-in-out infinite alternate;
}

.academy-section-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 8px 0;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.academy-section-subtitle {
  font-family: var(--idx-ff-body);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  color: var(--idx-slate);
  margin: 0;
  font-weight: 400;
}

/* Alternating Grid Layout: Left Bento & B2G / Right Hero */
.academy-main-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(24px, 3.5vw, 40px);
  position: relative;
  z-index: 2;
}

@media (min-width: 992px) {
  .academy-main-grid {
    grid-template-columns: 1.05fr 1fr;
    align-items: stretch;
  }
}

/* Left Column: Bento Grid & B2G Container */
.academy-portfolio-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
}

.academy-bento-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

@media (min-width: 640px) {
  .academy-bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.academy-bento-card {
  position: relative;
  padding: 18px;
  border-radius: 16px;
  background: var(--idx-white);
  border: 1px solid rgba(15, 118, 110, 0.12);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
  transition:
    transform 0.3s var(--idx-ease-out),
    box-shadow 0.3s var(--idx-ease-out),
    border-color 0.3s var(--idx-ease-out);
}

.academy-bento-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.3);
}

.academy-card-icon {
  inline-size: 36px;
  block-size: 36px;
  border-radius: 10px;
  background: rgba(15, 118, 110, 0.07);
  border: 1px solid rgba(15, 118, 110, 0.15);
  color: var(--idx-teal);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-end: 10px;
}

.academy-card-icon svg {
  inline-size: 20px;
  block-size: 20px;
  stroke: var(--idx-teal);
}

.academy-card-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(0.95rem, 1.2vw, 1.075rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 0 6px 0;
  line-height: 1.35;
}

.academy-card-specs {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.825rem, 1vw, 0.9rem);
  line-height: 1.5;
  color: var(--idx-muted);
  margin: 0;
}

.academy-b2b-container {
  padding: 20px 22px;
  border-radius: 16px;
  background:
    linear-gradient(
      135deg,
      rgba(15, 118, 110, 0.04) 0%,
      rgba(153, 184, 186, 0.08) 100%
    ),
    var(--idx-white);
  border: 1px solid rgba(15, 118, 110, 0.16);
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.03);
}

.academy-b2b-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-block-end: 14px;
}

.academy-b2b-icon {
  inline-size: 32px;
  block-size: 32px;
  border-radius: 8px;
  background: var(--idx-teal);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.academy-b2b-icon svg {
  inline-size: 18px;
  block-size: 18px;
  stroke: #fff;
}

.academy-b2b-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.05rem, 1.35vw, 1.175rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0;
}

.academy-b2b-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

@media (min-width: 768px) {
  .academy-b2b-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.academy-b2b-item {
  position: relative;
  padding-inline-start: 18px;
  font-family: var(--idx-ff-body);
  font-size: clamp(0.825rem, 0.95vw, 0.9rem);
  line-height: 1.45;
  color: var(--idx-slate);
}

.academy-b2b-item::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 7px;
  inline-size: 7px;
  block-size: 7px;
  border-radius: 50%;
  background: var(--idx-teal);
}

.academy-b2b-item strong {
  color: var(--idx-navy);
  display: block;
  font-family: var(--idx-ff-ui);
  font-size: 0.825rem;
  font-weight: 700;
  margin-block-end: 2px;
}

/* Right Hero Column: Headline, Description, Image Showcase & CTA */
.academy-hero-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
}

.academy-headline-block {
  margin: 0;
}

.academy-headline {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.35rem, 2.1vw, 1.75rem);
  font-weight: 700;
  color: var(--idx-navy);
  line-height: 1.3;
  margin: 0 0 12px 0;
}

.academy-core-desc {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.95rem, 1.15vw, 1.05rem);
  line-height: 1.65;
  color: var(--idx-slate);
  margin: 0;
}

.academy-visual-showcase {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #0f172a;
  box-shadow: var(--idx-shadow-card);
  border: 1px solid rgba(15, 118, 110, 0.15);
  margin-block-start: 4px;
}

.academy-visual-container {
  position: relative;
  inline-size: 100%;
  aspect-ratio: 16 / 9.5;
  overflow: hidden;
}

.academy-visual-img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.6s var(--idx-ease-out);
  display: block;
}

.academy-visual-showcase:hover .academy-visual-img {
  transform: scale(1.03);
}

.academy-cta-row {
  margin-block-start: 4px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.academy-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-block: 14px;
  padding-inline: 28px;
  border-radius: 9999px;
  background: var(--idx-teal);
  color: var(--idx-white);
  font-family: var(--idx-ff-ui);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow:
    0 8px 24px rgba(15, 118, 110, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transition:
    transform 0.3s var(--idx-ease),
    box-shadow 0.3s var(--idx-ease),
    background-color 0.3s var(--idx-ease);
}

.academy-cta-btn:hover {
  background: #11877e;
  transform: translate3d(0, -2px, 0);
  box-shadow:
    0 14px 32px rgba(15, 118, 110, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
  color: var(--idx-white);
}

.academy-cta-btn:focus-visible {
  outline: 2px solid var(--idx-teal);
  outline-offset: 3px;
}

.academy-cta-icon {
  display: inline-block;
  transition: transform 0.3s var(--idx-ease);
}

:root[dir="ltr"] .academy-cta-btn:hover .academy-cta-icon {
  transform: translate3d(4px, 0, 0);
}

:root[dir="rtl"] .academy-cta-btn:hover .academy-cta-icon {
  transform: translate3d(-4px, 0, 0) scaleX(-1);
}

:root[dir="rtl"] .academy-cta-icon {
  transform: scaleX(-1);
}

/* ─────────────────────────────────────────────
   §12 — Products Page Closing Transition Banner
   ───────────────────────────────────────────── */

.products-closing-banner {
  position: relative;
  margin-block-start: clamp(40px, 5vw, 72px);
  margin-block-end: clamp(32px, 4vw, 48px);
  padding-block: clamp(36px, 5vw, 64px);
  padding-inline: clamp(24px, 5vw, 56px);
  border-radius: 28px;
  background:
    radial-gradient(
      120% 120% at 50% 0%,
      rgba(15, 118, 110, 0.08) 0%,
      rgba(15, 23, 42, 0.04) 50%,
      rgba(248, 250, 252, 0.98) 100%
    ),
    var(--idx-surface);
  border: 1px solid rgba(15, 118, 110, 0.18);
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.05);
  text-align: center;
  overflow: hidden;
  isolation: isolate;
}

.closing-badge-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-block: 6px;
  padding-inline: 16px;
  border-radius: 999px;
  background: rgba(15, 118, 110, 0.08);
  border: 1px solid rgba(15, 118, 110, 0.22);
  font-family: var(--idx-ff-ui);
  font-size: clamp(0.75rem, 0.9vw, 0.85rem);
  font-weight: 600;
  color: var(--idx-teal);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-block-end: 16px;
}

.closing-badge-dot {
  inline-size: 8px;
  block-size: 8px;
  border-radius: 50%;
  background: var(--idx-teal);
  box-shadow: 0 0 10px rgba(15, 118, 110, 0.5);
  animation: idx-glow-pulse 2s ease-in-out infinite alternate;
}

.closing-title {
  font-family: var(--idx-ff-display);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  font-weight: 700;
  color: var(--idx-navy);
  margin: 0 auto 12px auto;
  max-inline-size: 780px;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.closing-subtitle {
  font-family: var(--idx-ff-body);
  font-size: clamp(0.95rem, 1.2vw, 1.1rem);
  line-height: 1.65;
  color: var(--idx-slate);
  margin: 0 auto clamp(24px, 3vw, 36px) auto;
  max-inline-size: 680px;
}

.closing-cta-group {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

.closing-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-block: 15px;
  padding-inline: 32px;
  border-radius: 9999px;
  background: var(--idx-teal);
  color: var(--idx-white);
  font-family: var(--idx-ff-ui);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 8px 24px rgba(15, 118, 110, 0.25);
  transition:
    transform 0.3s var(--idx-ease),
    box-shadow 0.3s var(--idx-ease),
    background-color 0.3s var(--idx-ease);
}

.closing-btn-primary:hover {
  background: #11877e;
  transform: translate3d(0, -2px, 0);
  box-shadow: 0 14px 32px rgba(15, 118, 110, 0.35);
  color: var(--idx-white);
}

.closing-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-block: 15px;
  padding-inline: 28px;
  border-radius: 9999px;
  background: var(--idx-white);
  color: var(--idx-navy);
  font-family: var(--idx-ff-ui);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(15, 118, 110, 0.2);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
  transition:
    transform 0.3s var(--idx-ease),
    box-shadow 0.3s var(--idx-ease),
    border-color 0.3s var(--idx-ease);
}

.closing-btn-secondary:hover {
  transform: translate3d(0, -2px, 0);
  border-color: var(--idx-teal);
  box-shadow: 0 10px 24px rgba(15, 118, 110, 0.12);
  color: var(--idx-teal);
}

/* ─────────────────────────────────────────────
   §13 — Global Accessibility Reduced Motion Guard
   ───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
