/* ==========================================================================
   InnovatorPlan - Hand-Crafted CSS
   Custom Styles, CSS Variables, Typography & Responsive Layouts
   ========================================================================== */

:root {
  /* Color Palette */
  --color-bg-main: #f8f9fe;
  --color-bg-card: #ffffff;
  --color-bg-subtle: #f1f3f9;
  
  --color-navy: #273375;
  --color-red-accent: #cf202c;
  --color-primary: #273375;
  --color-primary-hover: #1e285d;
  --color-primary-light: #f0f2fb;
  --color-primary-border: #c3c9e9;
  --color-primary-glow: rgba(39, 51, 117, 0.2);

  --color-dark-bg: #131127;
  --color-dark-card: #1c1836;
  --color-dark-border: #2e2854;
  --color-dark-text: #f8fafc;
  --color-dark-muted: #a5b4fc;

  --color-text-main: #0f172a;
  --color-text-body: #334155;
  --color-text-muted: #64748b;
  --color-text-light: #94a3b8;

  --color-border: #e2e8f0;
  --color-border-hover: #cbd5e1;

  --color-success-bg: #dcfce7;
  --color-success-text: #15803d;
  --color-warning-bg: #fef3c7;
  --color-warning-text: #b45309;
  --color-danger-bg: #fee2e2;
  --color-danger-text: #b91c1c;
  --color-info-bg: #e0e7ff;
  --color-info-text: #3730a3;

  /* Typography */
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-serif: Georgia, Cambria, 'Times New Roman', Times, serif;

  /* Spacing & Radii */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.05);
  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 10px 25px -5px rgba(15, 23, 42, 0.1), 0 8px 10px -6px rgba(15, 23, 42, 0.05);
  --shadow-purple: 0 10px 30px rgba(67, 56, 202, 0.2);

  /* Transitions */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.25s ease;
}

/* ==========================================================================
   Base & Reset
   ========================================================================== */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-sans);
  background-color: var(--color-bg-main);
  color: var(--color-text-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

input, select, textarea {
  font-family: inherit;
}

/* Container */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.container-narrow {
  max-width: 960px;
}

/* Typography Utilities */
h1, h2, h3, h4, h5, h6 {
  color: var(--color-text-main);
  font-weight: 700;
  line-height: 1.25;
}

.heading-xl {
  font-size: 3rem;
  letter-spacing: -0.02em;
}

.heading-lg {
  font-size: 2.25rem;
  letter-spacing: -0.015em;
}

.heading-md {
  font-size: 1.5rem;
  letter-spacing: -0.01em;
}

.heading-sm {
  font-size: 1.125rem;
}

.text-gradient {
  background: linear-gradient(135deg, #4338ca 0%, #6366f1 50%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.highlight-box {
  background: linear-gradient(135deg, #4338ca 0%, #6366f1 100%);
  color: #ffffff;
  padding: 2px 10px;
  border-radius: 6px;
  display: inline-block;
}

/* Badges & Tags */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.badge-purple {
  background-color: var(--color-primary-light);
  color: var(--color-primary);
  border: 1px solid var(--color-primary-border);
}

.badge-dark {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--color-dark-muted);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.badge-success {
  background-color: var(--color-success-bg);
  color: var(--color-success-text);
}

.badge-warning {
  background-color: var(--color-warning-bg);
  color: var(--color-warning-text);
}

.badge-danger {
  background-color: var(--color-danger-bg);
  color: var(--color-danger-text);
}

.badge-info {
  background-color: var(--color-info-bg);
  color: var(--color-info-text);
}

/* Consolidated 3D Glass Gradient Capsule Button System */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 28px;
  border-radius: 9999px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  line-height: 1.2;
}

/* Primary Glass Red Button (#cf202c gradient) */
.btn-primary,
.btn-glass-red {
  background: linear-gradient(135deg, #cf202c 0%, #dc2626 40%, #e11d48 75%, #ec4899 100%);
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: 
    0 10px 28px rgba(207, 32, 44, 0.42), 
    inset 0 1.5px 1.5px rgba(255, 255, 255, 0.7), 
    inset 0 -3px 8px rgba(120, 10, 20, 0.35);
}

.btn-primary:hover,
.btn-glass-red:hover {
  transform: translateY(-2px);
  box-shadow: 
    0 14px 36px rgba(207, 32, 44, 0.55), 
    inset 0 2px 2px rgba(255, 255, 255, 0.85), 
    inset 0 -3px 8px rgba(120, 10, 20, 0.45);
}

.btn-primary:active,
.btn-glass-red:active {
  transform: translateY(0);
  box-shadow: 0 4px 14px rgba(207, 32, 44, 0.35);
}

/* Primary Glass Blue Button (#273375 gradient) */
.btn-glass-blue,
.btn-hero-blue-glow {
  background: linear-gradient(135deg, #273375 0%, #36449e 50%, #4f52c9 100%);
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 
    0 10px 28px rgba(39, 51, 117, 0.42), 
    inset 0 1.5px 1.5px rgba(255, 255, 255, 0.65), 
    inset 0 -3px 8px rgba(15, 20, 60, 0.38);
}

.btn-glass-blue:hover,
.btn-hero-blue-glow:hover {
  transform: translateY(-2px);
  box-shadow: 
    0 14px 36px rgba(39, 51, 117, 0.55), 
    inset 0 2px 2px rgba(255, 255, 255, 0.8), 
    inset 0 -3px 8px rgba(15, 20, 60, 0.45);
}

.btn-glass-blue:active,
.btn-hero-blue-glow:active {
  transform: translateY(0);
  box-shadow: 0 4px 14px rgba(39, 51, 117, 0.35);
}

/* Frosted Secondary Glass Capsule Button */
.btn-secondary,
.btn-hero-white-capsule {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #273375 !important;
  font-weight: 700;
  border: 1px solid rgba(218, 226, 250, 0.95);
  box-shadow: 
    0 6px 20px rgba(39, 51, 117, 0.08), 
    inset 0 1.5px 1.5px rgba(255, 255, 255, 0.95);
}

.btn-secondary:hover,
.btn-hero-white-capsule:hover {
  background: #ffffff;
  border-color: #cf202c;
  color: #cf202c !important;
  transform: translateY(-2px);
  box-shadow: 
    0 10px 28px rgba(207, 32, 44, 0.22), 
    inset 0 1.5px 1.5px #ffffff;
}

.btn-ghost {
  color: #273375;
  background: transparent;
  font-weight: 700;
  padding: 10px 20px;
}

.btn-ghost:hover {
  color: #cf202c;
  background-color: rgba(39, 51, 117, 0.06);
}

.btn-dark-ghost {
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.3);
}

.btn-dark-ghost:hover {
  background: rgba(255, 255, 255, 0.28);
  border-color: rgba(255, 255, 255, 0.75);
  transform: translateY(-2px);
}

/* ==========================================================================
   Header & Announcement Bar
   ========================================================================== */

.top-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  height: 64px;
  background-color: #0b091a;
  color: #f1f5f9;
  padding: 0 20px;
  font-size: 0.92rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid rgba(129, 140, 248, 0.25);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}

.top-bar.top-bar-hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

.top-bar-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
}

.top-bar-txt {
  color: #f1f5f9;
  font-size: 0.92rem;
  letter-spacing: -0.01em;
}

.top-bar-link {
  color: #ffffff !important;
  background: linear-gradient(135deg, #cf202c 0%, #dc2626 50%, #e11d48 100%);
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 5px 16px;
  border-radius: 9999px;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  box-shadow: 0 4px 14px rgba(207, 32, 44, 0.45), inset 0 1px 1px rgba(255, 255, 255, 0.6);
  transition: all 0.2s ease;
}

.top-bar-link:hover {
  background: linear-gradient(135deg, #b91c1c 0%, #cf202c 100%);
  border-color: #ffffff;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(207, 32, 44, 0.6), inset 0 1px 1.5px rgba(255, 255, 255, 0.8);
}

/* Floating Rounded Capsule Navbar - Fixed position below top bar */
.navbar-floating-wrapper {
  position: fixed;
  top: 86px;
  left: 0;
  right: 0;
  z-index: 9999;
  width: 100%;
  padding: 0 24px;
  margin: 0;
  background: transparent;
  pointer-events: none;
  transition: top 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.navbar-floating-wrapper.top-bar-scrolled {
  top: 16px;
}

.navbar-pill-container {
  pointer-events: auto;
  max-width: 1140px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.78);
  border-radius: 9999px;
  padding: 8px 12px 8px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(255, 255, 255, 0.92);
  box-shadow: 0 20px 50px -10px rgba(99, 102, 241, 0.28), 0 0 35px rgba(168, 85, 247, 0.22), inset 0 1px 2px rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  transition: all var(--transition-normal);
}

.logo {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.logo-img {
  height: 38px;
  width: auto;
  max-width: 210px;
  object-fit: contain;
  display: block;
}

.footer-logo-img {
  height: 44px;
  max-width: 240px;
}

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

/* Rounded Pill Menu Capsule */
.nav-pill-wrapper {
  background: rgba(241, 245, 249, 0.6);
  padding: 4px;
  border-radius: 9999px;
  border: 1px solid rgba(226, 232, 240, 0.8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.nav-menu {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-link {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #475569;
  text-decoration: none;
  transition: all var(--transition-fast);
}

.nav-link:hover {
  color: #0f172a;
}

.nav-link.active-pill {
  background: linear-gradient(135deg, #273375 0%, #36449e 100%);
  color: #ffffff !important;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 4px 16px rgba(39, 51, 117, 0.38), inset 0 1px 1px rgba(255, 255, 255, 0.5);
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nav-login-btn {
  background: transparent;
  border: none;
  font-size: 0.9rem;
  font-weight: 700;
  color: #273375;
  cursor: pointer;
  padding: 8px 16px;
  transition: all var(--transition-fast);
}

.nav-login-btn:hover {
  color: #cf202c;
}

.btn-qovex-dark {
  background: linear-gradient(135deg, #cf202c 0%, #dc2626 50%, #e11d48 100%);
  color: #ffffff !important;
  padding: 9px 22px;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 0.875rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: 0 6px 20px rgba(207, 32, 44, 0.42), inset 0 1px 1.5px rgba(255, 255, 255, 0.65);
  transition: all var(--transition-normal);
  white-space: nowrap;
}

.btn-qovex-dark:hover {
  background: linear-gradient(135deg, #b91c1c 0%, #cf202c 100%);
  transform: translateY(-1px);
  box-shadow: 0 8px 26px rgba(207, 32, 44, 0.58), inset 0 1.5px 2px rgba(255, 255, 255, 0.8);
}

/* ==========================================================================
   Hero Section - Qovex Inspired Atmospheric Layout
   ========================================================================== */

.hero-qovex-wrapper {
  position: relative;
  overflow: hidden;
  background: radial-gradient(120% 80% at 50% 0%, rgba(220, 228, 254, 0.95) 0%, rgba(238, 242, 255, 0.65) 45%, rgba(255, 255, 255, 0) 85%),
              radial-gradient(circle at 10% 15%, rgba(199, 210, 254, 0.65) 0%, transparent 50%),
              radial-gradient(circle at 90% 15%, rgba(221, 214, 254, 0.65) 0%, transparent 50%),
              #f8fafc;
}

.hero-qovex-style {
  position: relative;
  padding: 250px 0 120px;
  text-align: center;
  background: transparent;
}

/* Ambient Glow Orbs behind Hero */
.ambient-glow-orb {
  position: absolute;
  pointer-events: none;
  z-index: 1;
}

.glow-top-center {
  top: -120px;
  left: 50%;
  transform: translateX(-50%);
  width: 750px;
  height: 400px;
  background: radial-gradient(ellipse, rgba(99, 102, 241, 0.25) 0%, rgba(168, 85, 247, 0.15) 40%, transparent 70%);
  filter: blur(60px);
}

.glow-top-left {
  top: -80px;
  left: -8%;
  width: 550px;
  height: 450px;
  background: radial-gradient(circle, rgba(129, 140, 248, 0.3) 0%, transparent 70%);
  filter: blur(70px);
}

.glow-top-right {
  top: -80px;
  right: -8%;
  width: 550px;
  height: 450px;
  background: radial-gradient(circle, rgba(192, 132, 252, 0.25) 0%, transparent 70%);
  filter: blur(70px);
}

.relative-z {
  position: relative;
  z-index: 2;
}

/* Top Pill Badge */
.hero-top-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  border: 1px solid rgba(218, 226, 250, 0.9);
  padding: 8px 22px;
  border-radius: 9999px;
  box-shadow: 0 4px 18px rgba(99, 102, 241, 0.09);
  margin-bottom: 44px;
}

.badge-red-dot {
  color: #ef4444;
  font-size: 0.75rem;
  line-height: 1;
}

.badge-txt {
  color: #3730a3;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Large Display Title */
.hero-display-headline {
  font-size: clamp(2.8rem, 5.8vw, 4.5rem);
  line-height: 1.14;
  font-weight: 800;
  letter-spacing: -0.038em;
  color: #0f172a;
  max-width: 1020px;
  margin: 0 auto 36px;
}

/* Dual Gradient Headline Highlights matching #273375 and #cf202c */
.gradient-text-blue {
  background: linear-gradient(135deg, #273375 0%, #3b429f 50%, #4f52c9 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  font-weight: 800;
}

.gradient-text-red {
  background: linear-gradient(135deg, #cf202c 0%, #e11d48 60%, #f43f5e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  font-weight: 800;
}

/* Spacious Subtitle */
.hero-spacious-subtitle {
  font-size: 1.25rem;
  color: #475569;
  line-height: 1.7;
  max-width: 800px;
  margin: 0 auto 48px;
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* CTA Wrapper */
.hero-cta-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.hero-cta-wrapper-stacked {
  align-items: flex-start;
}

.hero-cta-primary-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.hero-free-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--color-primary-light);
  color: var(--color-primary);
  border: 1px solid var(--color-primary-border);
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 9999px;
}

/* ==========================================================================
   Hero Visual Stage: toggles between the result-preview mockup and the
   embedded live assessment
   ========================================================================== */

.hero-visual-stage {
  position: relative;
}

[hidden] {
  display: none !important;
}

.hero-assessment-card {
  position: relative;
  max-width: 920px;
  margin: 56px auto 0;
  background: linear-gradient(135deg, #273375 0%, #3b429f 45%, #cf202c 100%);
  border-radius: 32px;
  padding: 4px;
  box-shadow: 0 50px 120px -20px rgba(15, 23, 42, 0.3), 0 0 1px rgba(0, 0, 0, 0.1);
}

.hero-assessment-card .ifv-stage {
  background: #ffffff;
  border-radius: 28px;
  text-align: left;
  padding: 56px 64px 64px;
}

.hero-assessment-card .ifv-qtext {
  font-size: 1.6rem;
}

.hero-assessment-card .ifv-verdict-title {
  font-size: 1.9rem;
}

.hero-assessment-close {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  color: var(--color-text-muted);
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 700;
  cursor: pointer;
  padding: 16px 20px 0;
}

.hero-assessment-close:hover {
  color: var(--color-primary);
}

/* Red Hero Glass Button (#cf202c) with Arrow Badge */
.btn-hero-red-glow,
.btn-glass-red-hero {
  background: linear-gradient(135deg, #cf202c 0%, #dc2626 40%, #e11d48 75%, #ec4899 100%);
  color: #ffffff !important;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 15px 24px 15px 32px;
  border-radius: 9999px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow: 
    0 12px 32px rgba(207, 32, 44, 0.48), 
    inset 0 1.5px 2px rgba(255, 255, 255, 0.75), 
    inset 0 -3px 8px rgba(120, 10, 20, 0.38);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-hero-red-glow:hover,
.btn-glass-red-hero:hover {
  transform: translateY(-2px);
  box-shadow: 
    0 16px 40px rgba(207, 32, 44, 0.6), 
    inset 0 2px 2.5px rgba(255, 255, 255, 0.9), 
    inset 0 -3px 8px rgba(120, 10, 20, 0.45);
}

/* Blue Hero Glass Button (#273375) */
.btn-hero-blue-glow {
  background: linear-gradient(135deg, #273375 0%, #36449e 50%, #4f52c9 100%);
  color: #ffffff !important;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 15px 28px;
  border-radius: 9999px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 
    0 12px 32px rgba(39, 51, 117, 0.45), 
    inset 0 1.5px 2px rgba(255, 255, 255, 0.7), 
    inset 0 -3px 8px rgba(15, 20, 60, 0.4);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-hero-blue-glow:hover {
  transform: translateY(-2px);
  box-shadow: 
    0 16px 40px rgba(39, 51, 117, 0.58), 
    inset 0 2px 2.5px rgba(255, 255, 255, 0.85), 
    inset 0 -3px 8px rgba(15, 20, 60, 0.5);
}

.btn-arrow-badge {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ffffff;
  color: #cf202c;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.btn-hero-red-glow:hover .btn-arrow-badge,
.btn-glass-red-hero:hover .btn-arrow-badge {
  transform: translateX(3px);
}

.btn-arrow-badge-bounce {
  animation: arrowBounceLoop 1.6s ease-in-out infinite;
}

.btn-hero-red-glow:hover .btn-arrow-badge-bounce {
  transform: none;
}

@keyframes arrowBounceLoop {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}

/* Secondary Hero White Capsule Button */
.btn-hero-white-capsule {
  background: #ffffff;
  color: #1e293b;
  font-weight: 600;
  font-size: 1rem;
  padding: 14px 28px;
  border-radius: 9999px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
  transition: all 0.2s ease;
}

.btn-hero-white-capsule:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #0f172a;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

/* Subdisclaimer */
.hero-subdisclaimer {
  font-size: 0.88rem;
  color: #64748b;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 32px;
}

.hero-subdisclaimer svg {
  color: #3b82f6;
}

/* ==========================================================================
   Dashboard Mockup - Floating with Backlight Glow
   ========================================================================== */

.dashboard-preview-floating {
  position: relative;
  max-width: 1080px;
  margin: 72px auto 0;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 24px;
  overflow: hidden;
  text-align: left;
  box-shadow: 0 35px 80px -15px rgba(15, 23, 42, 0.16), 0 0 1px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.dashboard-preview-floating:hover {
  transform: translateY(-3px);
  box-shadow: 0 42px 90px -15px rgba(15, 23, 42, 0.22), 0 0 1px rgba(0, 0, 0, 0.1);
}

.mockup-sample-ribbon {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 24px;
  background: linear-gradient(135deg, #273375 0%, #3b429f 100%);
}

.mockup-sample-tag {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 700;
  color: #ffffff;
  opacity: 0.92;
}

.mockup-sample-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 800;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 6px 14px;
  border-radius: 9999px;
}

/* Backlight Aura Glow behind Mockup */
.mockup-backlight-glow {
  position: absolute;
  top: -30px;
  left: 5%;
  right: 5%;
  height: 240px;
  background: radial-gradient(ellipse at 50% 0%, rgba(99, 102, 241, 0.35) 0%, rgba(168, 85, 247, 0.22) 50%, transparent 80%);
  filter: blur(50px);
  pointer-events: none;
  z-index: 0;
}

.browser-header {
  background: #f8fafc;
  padding: 14px 24px;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

.browser-dots {
  display: flex;
  gap: 6px;
}

.browser-dots .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.dot-red { background-color: #ef4444; }
.dot-yellow { background-color: #f59e0b; }
.dot-green { background-color: #10b981; }

.browser-search-bar {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  padding: 6px 18px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: #64748b;
  width: 360px;
  max-width: 100%;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03);
}

.browser-user-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #64748b;
}

.avatar-circle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4f46e5, #818cf8);
  color: #ffffff;
  font-size: 0.725rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dashboard-body {
  padding: 28px;
  position: relative;
  z-index: 1;
  background: #ffffff;
}

/* Dash Stats Cards Row */
.dash-metrics-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.dash-stat-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 14px 18px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}

.stat-label {
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 6px;
}

.stat-val-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.stat-val {
  font-size: 1.4rem;
  font-weight: 800;
  color: #0f172a;
}

.text-green { color: #16a34a; }
.text-amber { color: #d97706; }
.text-indigo { color: #4f46e5; }

@media (max-width: 900px) {
  .dash-metrics-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .dash-metrics-row {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Dashboard Mockup / Preview
   ========================================================================== */

.dashboard-preview {
  margin-top: 48px;
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(67, 56, 202, 0.05);
  overflow: hidden;
  text-align: left;
}

.browser-header {
  background-color: #f1f5f9;
  padding: 12px 20px;
  border-bottom: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.browser-dots {
  display: flex;
  gap: 6px;
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.dot-red { background-color: #f87171; }
.dot-yellow { background-color: #fbbf24; }
.dot-green { background-color: #34d399; }

.browser-url {
  background-color: #ffffff;
  padding: 4px 16px;
  border-radius: var(--radius-full);
  font-size: 0.75rem;
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  gap: 8px;
}

.dashboard-body {
  padding: 32px;
}

.scorecard-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 28px;
  gap: 20px;
}

.scorecard-meta {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-primary);
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

.scorecard-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-text-main);
  margin-bottom: 4px;
}

.scorecard-sub {
  font-size: 0.875rem;
  color: var(--color-text-muted);
}

.score-badge-large {
  text-align: right;
  background: var(--color-primary-light);
  padding: 12px 20px;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-primary-border);
}

.score-number {
  font-size: 2rem;
  font-weight: 800;
  color: var(--color-primary);
  line-height: 1;
}

.score-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-text-muted);
  margin-top: 4px;
}

.pillar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 28px;
}

.pillar-card {
  background-color: #f8fafc;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 20px;
  transition: transform var(--transition-fast);
}

.pillar-card:hover {
  transform: translateY(-2px);
  border-color: var(--color-primary-border);
}

.pillar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.pillar-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-text-main);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.pillar-desc {
  font-size: 0.8125rem;
  color: var(--color-text-body);
  line-height: 1.5;
}

.progress-bar-bg {
  width: 100%;
  height: 6px;
  background-color: #e2e8f0;
  border-radius: var(--radius-full);
  margin-top: 12px;
  overflow: hidden;
}

.progress-bar-fill {
  height: 100%;
  border-radius: var(--radius-full);
}

.bg-green { background-color: #16a34a; }
.bg-amber { background-color: #d97706; }
.bg-indigo { background-color: #4f46e5; }

.objections-box {
  background-color: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: var(--radius-md);
  padding: 20px;
}

.objections-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  font-weight: 700;
  color: #b45309;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
}

.objections-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.objection-item {
  font-size: 0.8125rem;
  color: #78350f;
  background: #ffffff;
  padding: 12px;
  border-radius: var(--radius-sm);
  border: 1px solid #fef3c7;
}

.objection-item strong {
  display: block;
  color: #92400e;
  margin-bottom: 4px;
}

/* ==========================================================================
   Section Layouts
   ========================================================================== */

.section {
  padding: 140px 0;
}

.sectionb {
  padding: 180px 0;

  position: relative;
  overflow: hidden;
  background: radial-gradient(120% 80% at 50% 0%, rgba(220, 228, 254, 0.95) 0%, rgba(238, 242, 255, 0.65) 45%, rgba(255, 255, 255, 0) 85%),
              radial-gradient(circle at 10% 15%, rgba(199, 210, 254, 0.65) 0%, transparent 50%),
              radial-gradient(circle at 90% 15%, rgba(221, 214, 254, 0.65) 0%, transparent 50%),
              #f8fafc;
}

.section-light {
  background-color: var(--color-bg-main);
}

.section-white {
  background-color: #ffffff;
}

.sectionw {
  padding: 140px 0;
  background: linear-gradient(135deg, rgb(24, 21, 51) 0%, rgb(18, 16, 40) 100%);
  
}

.section-dark {
  background-color: var(--color-dark-bg);
  color: var(--color-dark-text);
}

.section-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 72px;
}

.section-title {
  font-size: clamp(2.2rem, 4vw, 3.25rem);
  line-height: 1.18;
  letter-spacing: -0.03em;
  font-weight: 800;
  color: #0f172a;
}

.section-subtitle {
  font-size: 1.2rem;
  color: var(--color-text-muted);
  margin-top: 18px;
  line-height: 1.65;
}

/* ==========================================================================
   Six Pillars Grid
   ========================================================================== */

.six-pillars-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.feature-card {
  background-color: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 32px;
  transition: all var(--transition-normal);
  display: flex;
  flex-direction: column;
}

.feature-card:hover {
  border-color: var(--color-primary-border);
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}

.feature-icon-box {
  width: 48px;
  height: 48px;
  background-color: var(--color-primary-light);
  color: var(--color-primary);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin-bottom: 20px;
}

.feature-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.feature-desc {
  font-size: 0.9375rem;
  color: var(--color-text-muted);
}

/* ==========================================================================
   Split Feature Section & Evidence Matrix
   ========================================================================== */

.split-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: stretch;
}

.evidence-matrix-card {
  background-color: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: 36px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.matrix-widget {
  background-color: #f8fafc;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 20px;
  margin-top: 24px;
}

.matrix-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
}

.matrix-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--color-border);
  font-size: 0.875rem;
  font-weight: 600;
}

.matrix-row:last-child {
  border-bottom: none;
}

.dark-feature-card {
  background: linear-gradient(135deg, #1e1b4b 0%, #17153a 100%);
  border: 1px solid var(--color-dark-border);
  border-radius: var(--radius-xl);
  padding: 36px;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}

.dark-feature-card .feature-desc {
  color: #c7d2fe;
}

.bottom-banner-card {
  margin-top: 32px;
  background-color: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* ==========================================================================
   Interactive Quiz Wizard & IFV Readiness Assessment Engine
   ========================================================================== */

.quiz-container {
  background-color: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}

.quiz-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
}

.quiz-sidebar {
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  padding: 48px 40px;
  border-right: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.quiz-checklist {
  list-style: none;
  margin: 28px 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.quiz-checklist li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--color-text-main);
}

.quiz-checklist li svg {
  color: #16a34a;
  flex-shrink: 0;
}

.quiz-note {
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  background-color: rgba(255, 255, 255, 0.7);
  padding: 16px;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  line-height: 1.5;
}

.quiz-main {
  padding: 40px 48px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 520px;
}

/* IFV Assessment Engine Component Styles */
.ifv-progress {
  height: 6px;
  background: var(--color-border);
  border-radius: 9999px;
  overflow: hidden;
  margin-bottom: 24px;
}

.ifv-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #273375, #cf202c);
  width: 0%;
  transition: width 0.35s ease;
}

.ifv-qmeta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.ifv-qnum {
  color: var(--color-text-muted);
}

.ifv-qtag {
  color: #273375;
  text-align: right;
  font-weight: 800;
}

.ifv-qtext {
  font-size: 1.25rem;
  font-weight: 800;
  margin: 8px 0 20px;
  color: var(--color-text-main);
  line-height: 1.35;
}

.ifv-intro-list {
  margin: 18px 0 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ifv-intro-item {
  display: flex;
  gap: 12px;
  font-size: 0.9375rem;
  color: var(--color-text-body);
  line-height: 1.5;
}

.ifv-intro-item::before {
  content: "";
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 2px;
  background: #273375;
  margin-top: 8px;
}

.ifv-opts {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ifv-opt {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1.5px solid var(--color-border);
  border-radius: 12px;
  padding: 14px 16px;
  cursor: pointer;
  background: #ffffff;
  font-size: 0.9375rem;
  line-height: 1.45;
  transition: border-color 0.15s, background 0.15s;
  width: 100%;
  text-align: left;
  font-family: inherit;
  color: var(--color-text-main);
}

.ifv-opt:hover {
  border-color: #273375;
  background: #f8fafc;
}

.ifv-opt.sel {
  border-color: #273375;
  background: #f0f2fb;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(39, 51, 117, 0.08);
}

.ifv-dot {
  flex: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #b9c1d0;
  margin-top: 2px;
  transition: all 0.15s;
}

.ifv-opt.sel .ifv-dot {
  border-color: #273375;
  border-width: 5.5px;
}

.ifv-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--color-border);
}

.ifv-btn {
  font-weight: 700;
  font-size: 0.9rem;
  border-radius: 9999px;
  padding: 12px 24px;
  cursor: pointer;
  border: 1.5px solid transparent;
  transition: all 0.2s ease;
  line-height: 1.2;
}

.ifv-btn-primary {
  background: linear-gradient(135deg, #cf202c 0%, #dc2626 50%, #e11d48 100%);
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: 0 6px 18px rgba(207, 32, 44, 0.38), inset 0 1px 1px rgba(255, 255, 255, 0.6);
}

.ifv-btn-primary:hover {
  background: linear-gradient(135deg, #b91c1c 0%, #cf202c 100%);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(207, 32, 44, 0.5);
}

.ifv-btn-primary:disabled {
  background: #cbd5e1;
  border-color: transparent;
  color: #ffffff !important;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

.ifv-btn-ghost {
  background: transparent;
  color: var(--color-text-muted);
  border-color: var(--color-border);
}

.ifv-btn-ghost:hover {
  border-color: #273375;
  color: #273375;
}

/* Results Section Styling */
.ifv-verdict-band {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: inline-block;
  padding: 6px 14px;
  border-radius: 9999px;
  margin-bottom: 12px;
}

.band-ready { background: #dcfce7; color: #15803d; }
.band-borderline { background: #fef3c7; color: #b45309; }
.band-early { background: #ffedd5; color: #c2410c; }
.band-notready { background: #fee2e2; color: #b91c1c; }

.ifv-verdict-title {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--color-text-main);
  margin-bottom: 8px;
}

.ifv-verdict-msg {
  color: var(--color-text-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.ifv-meter {
  margin: 20px 0 12px;
}

.ifv-meter-track {
  display: flex;
  gap: 6px;
  height: 12px;
}

.ifv-meter-seg {
  flex: 1;
  border-radius: 4px;
  background: #e2e8f0;
}

.ifv-meter-seg.lit-1 { background: #ef4444; }
.ifv-meter-seg.lit-2 { background: #f97316; }
.ifv-meter-seg.lit-3 { background: #f59e0b; }
.ifv-meter-seg.lit-4 { background: #22c55e; }

.ifv-meter-labels {
  display: flex;
  gap: 4px;
  margin-top: 8px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.ifv-meter-labels span {
  flex: 1;
  text-align: center;
}

.ifv-score-line {
  font-size: 0.9375rem;
  font-weight: 700;
  margin-top: 16px;
  color: var(--color-text-main);
}

.ifv-score-line b {
  font-size: 1.4rem;
  color: #273375;
}

.ifv-subscores {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ifv-subrow {
  display: grid;
  grid-template-columns: 140px 1fr 50px;
  align-items: center;
  gap: 12px;
  font-size: 0.85rem;
}

.ifv-subrow .lbl {
  font-weight: 700;
  color: var(--color-text-main);
}

.ifv-subbar {
  height: 8px;
  background: #e2e8f0;
  border-radius: 4px;
  overflow: hidden;
}

.ifv-subbar i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #273375, #36449e);
  border-radius: 4px;
  transition: width 0.5s ease;
}

.ifv-subrow .val {
  text-align: right;
  color: var(--color-text-muted);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.ifv-section-h {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 20px 0 10px;
  padding-top: 16px;
  border-top: 1px solid var(--color-border);
}

.ifv-flag, .ifv-gap {
  border-left: 3px solid #ef4444;
  background: #fef2f2;
  border-radius: 0 8px 8px 0;
  padding: 12px 16px;
  font-size: 0.85rem;
  margin-bottom: 10px;
  color: #7f1d1d;
  line-height: 1.45;
}

.ifv-gap {
  border-left-color: #f59e0b;
  background: #fffbeb;
  color: #78350f;
}

.ifv-gap b {
  display: block;
  font-weight: 700;
  margin-bottom: 3px;
  color: #92400e;
}

.ifv-gap-resource {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #273375;
  background: #ffffff;
  border: 1px solid rgba(39, 51, 117, 0.25);
  padding: 4px 10px;
  border-radius: 9999px;
}

.ifv-cta {
  margin-top: 22px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.ifv-disclaimer {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  margin-top: 16px;
  line-height: 1.4;
}

.quiz-progress-wrapper {
  margin-bottom: 24px;
}

.quiz-progress-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}

.quiz-progress-bar {
  width: 100%;
  height: 8px;
  background-color: #e2e8f0;
  border-radius: var(--radius-full);
  overflow: hidden;
}

.quiz-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #4338ca, #6366f1);
  width: 10%;
  transition: width var(--transition-normal);
  border-radius: var(--radius-full);
}

.question-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-text-main);
  margin-bottom: 8px;
}

.question-sub {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  margin-bottom: 24px;
}

.options-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 32px;
}

.option-card {
  padding: 16px 20px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all var(--transition-fast);
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background-color: #ffffff;
}

.option-card:hover {
  border-color: var(--color-primary-border);
  background-color: #f8fafc;
}

.option-card.selected {
  border-color: var(--color-primary);
  background-color: var(--color-primary-light);
  box-shadow: 0 0 0 1px var(--color-primary);
}

.radio-indicator {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid var(--color-border);
  margin-top: 2px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.option-card.selected .radio-indicator {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
}

.radio-indicator::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #ffffff;
  display: none;
}

.option-card.selected .radio-indicator::after {
  display: block;
}

.option-content strong {
  display: block;
  font-size: 0.9375rem;
  color: var(--color-text-main);
  margin-bottom: 2px;
}

.option-content p {
  font-size: 0.8125rem;
  color: var(--color-text-muted);
}

.quiz-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
}

/* Result Modal View */
.quiz-result-view {
  display: none;
  text-align: center;
  padding: 20px 0;
}

.result-score-circle {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4338ca, #6366f1);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  box-shadow: var(--shadow-purple);
}

.result-score-number {
  font-size: 2.25rem;
  font-weight: 800;
  line-height: 1;
}

.result-score-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  opacity: 0.9;
}

/* ==========================================================================
   Pathway Sequence
   ========================================================================== */

.pathway-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.pathway-card {
  background-color: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  transition: all var(--transition-normal);
  position: relative;
}

.pathway-card:hover {
  transform: translateY(-4px);
  border-color: var(--color-primary-border);
  box-shadow: var(--shadow-md);
}

.pathway-number {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.pathway-step {
  width: 24px;
  height: 24px;
  background-color: var(--color-primary-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  color: var(--color-primary);
}

.pathway-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.pathway-desc {
  font-size: 0.8125rem;
  color: var(--color-text-muted);
}

/* ==========================================================================
   Targeted Professional Review Section
   ========================================================================== */

.dark-container-card {
  background: linear-gradient(135deg, #181533 0%, #121028 100%);
  border: 1px solid var(--color-dark-border);
  border-radius: var(--radius-xl);
  padding: 64px 48px;
  color: #ffffff;
}

.dark-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 40px 0;
}

.dark-item-card {
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-lg);
  padding: 28px;
  transition: all var(--transition-fast);
}

.dark-item-card:hover {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: rgba(165, 180, 252, 0.3);
}

.dark-item-title {
  font-size: 1.15rem;
  color: #ffffff;
  margin-bottom: 10px;
}

.dark-item-desc {
  font-size: 0.875rem;
  color: #a5b4fc;
}

/* ==========================================================================
   Pricing Section
   ========================================================================== */

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

.pricing-card {
  background-color: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all var(--transition-normal);
  position: relative;
}

.pricing-card.featured {
  border: 2px solid var(--color-primary);
  box-shadow: var(--shadow-purple);
  transform: scale(1.02);
}

.popular-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-primary);
  color: #ffffff;
  padding: 4px 16px;
  border-radius: var(--radius-full);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pricing-header {
  margin-bottom: 24px;
}

.pricing-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 4px;
}

.pricing-sub {
  font-size: 0.84rem;
  color: var(--color-text-muted);
}

.pricing-price {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--color-text-main);
  margin: 16px 0;
  line-height: 1;
}

.pricing-features {
  list-style: none;
  margin: 24px 0 36px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pricing-features li {
  font-size: 0.875rem;
  color: var(--color-text-body);
  display: flex;
  align-items: center;
  gap: 10px;
}

.pricing-features li svg {
  color: #16a34a;
  flex-shrink: 0;
}

/* ==========================================================================
   Accordion FAQ Section
   ========================================================================== */

.faq-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 48px;
}

.accordion-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.accordion-item {
  background-color: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: border-color var(--transition-fast);
}

.accordion-item.active {
  border-color: var(--color-primary-border);
}

.accordion-header {
  width: 100%;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-text-main);
  text-align: left;
}

.accordion-header:hover {
  color: var(--color-primary);
}

.accordion-icon {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition-fast);
  color: var(--color-text-muted);
}

.accordion-item.active .accordion-icon {
  transform: rotate(180deg);
  color: var(--color-primary);
}

.accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background-color: #f8fafc;
}

.accordion-content {
  padding: 0 24px 20px;
  font-size: 0.9375rem;
  color: var(--color-text-body);
  line-height: 1.6;
}

/* ==========================================================================
   Final Call To Action Banner
   ========================================================================== */

.cta-banner {
  background: linear-gradient(135deg, #181533 0%, #121028 100%);
  border-radius: var(--radius-xl);
  padding: 72px 48px;
  color: #ffffff;
  text-align: center;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--color-dark-border);
}

.cta-banner::before {
  content: '';
  position: absolute;
  top: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 300px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.25) 0%, rgba(0,0,0,0) 70%);
  pointer-events: none;
}

.cta-banner .hero-title {
  color: #ffffff;
}

.cta-banner .hero-subtitle {
  color: var(--color-dark-muted);
}

.cta-badges {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 32px;
  font-size: 0.8125rem;
  color: var(--color-dark-muted);
  flex-wrap: wrap;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.footer {
  background-color: #ffffff;
  border-top: 1px solid var(--color-border);
  padding: 80px 0 40px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 60px;
}

.footer-brand p {
  font-size: 0.9375rem;
  color: var(--color-text-muted);
  margin-top: 16px;
  max-width: 360px;
}

.footer-col-title {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-text-main);
  letter-spacing: 0.05em;
  margin-bottom: 20px;
}

.footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-links a {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  transition: color var(--transition-fast);
}

.footer-links a:hover {
  color: var(--color-primary);
}

.footer-bottom {
  padding-top: 32px;
  border-top: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.8125rem;
  color: var(--color-text-light);
  flex-wrap: wrap;
  gap: 16px;
}

.footer-legal-links {
  display: flex;
  gap: 20px;
}

.footer-disclaimer-text {
  width: 100%;
  margin-top: 16px;
  font-size: 0.75rem;
  color: var(--color-text-light);
  line-height: 1.5;
}

/* ==========================================================================
   Modal Dialogs
   ========================================================================== */

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(4px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-normal);
}

.modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

.modal-card {
  background-color: #ffffff;
  border-radius: var(--radius-xl);
  padding: 40px;
  width: 100%;
  max-width: 480px;
  box-shadow: var(--shadow-lg);
  transform: translateY(20px);
  transition: transform var(--transition-normal);
  position: relative;
}

.modal-overlay.active .modal-card {
  transform: translateY(0);
}

.modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 1.25rem;
  color: var(--color-text-muted);
  cursor: pointer;
}

.form-group {
  margin-bottom: 20px;
  text-align: left;
}

.form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text-main);
  margin-bottom: 6px;
}

.form-input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  font-size: 0.9375rem;
  transition: border-color var(--transition-fast);
}

.form-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-glow);
}

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */

@media (max-width: 1024px) {
  .heading-xl { font-size: 2.25rem; }
  .heading-lg { font-size: 1.75rem; }

  .pillar-grid,
  .six-pillars-grid,
  .dark-grid-3,
  .pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }

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

  .split-grid,
  .quiz-grid,
  .faq-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .quiz-sidebar {
    border-right: none;
    border-bottom: 1px solid var(--color-border);
  }

  .bottom-banner-card {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .navbar-floating-wrapper {
    padding: 0 12px;
  }

  .navbar-pill-container {
    padding: 10px 16px;
    border-radius: 28px;
  }

  .nav-menu {
    display: none;
  }

  .pillar-grid,
  .six-pillars-grid,
  .dark-grid-3,
  .pricing-grid,
  .pathway-grid,
  .objections-list {
    grid-template-columns: 1fr;
  }

  .hero {
    padding: 36px 0 20px;
  }

  .hero-cta {
    flex-direction: column;
    width: 100%;
  }

  .btn {
    width: 100%;
  }

  .scorecard-header {
    flex-direction: column;
  }

  .score-badge-large {
    text-align: left;
    width: 100%;
  }
}

/* ==========================================================================
   Toolkit Showcase Section Styles (Inside InnovatorPlan Toolkit)
   ========================================================================== */

.toolkit-showcase-section {
  position: relative;
  padding: 120px 0 140px;
  background-color: #0b1120;
  overflow: hidden;
  color: #ffffff;
}

.tk-bg-wrapper {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;
}

.tk-bg-grad {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.tk-grad-blue {
  top: -10%;
  left: -10%;
  width: 60%;
  height: 65%;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.45) 0%, rgba(37, 99, 235, 0) 70%);
  filter: blur(80px);
}

.tk-grad-cyan {
  top: -5%;
  right: -10%;
  width: 55%;
  height: 60%;
  background: radial-gradient(circle, rgba(6, 182, 212, 0.4) 0%, rgba(6, 182, 212, 0) 70%);
  filter: blur(80px);
}

.tk-grad-violet {
  top: 20%;
  left: 20%;
  width: 60%;
  height: 55%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.35) 0%, rgba(139, 92, 246, 0) 70%);
  filter: blur(90px);
}

.tk-grad-peach {
  bottom: -15%;
  left: 15%;
  width: 70%;
  height: 50%;
  background: radial-gradient(circle, rgba(254, 215, 170, 0.45) 0%, rgba(254, 215, 170, 0) 70%);
  filter: blur(90px);
}

.tk-grad-haze {
  top: 35%;
  left: 50%;
  transform: translateX(-50%);
  width: 85%;
  height: 50%;
  background: radial-gradient(circle, rgba(224, 231, 255, 0.5) 0%, rgba(224, 231, 255, 0) 70%);
  filter: blur(100px);
}

.tk-container {
  position: relative;
  z-index: 10;
  max-width: 1240px;
  margin: 0 auto;
}

.tk-intro-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 52px;
}

.tk-eyebrow {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #38bdf8;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.tk-main-heading {
  font-size: clamp(2rem, 3.5vw, 2.9rem);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin-bottom: 16px;
}

.tk-supporting-copy {
  font-size: 1.05rem;
  line-height: 1.65;
  color: #cbd5e1;
  margin-bottom: 14px;
}

.tk-value-line {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #a5b4fc;
}

.tk-nav-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1180px;
  margin: 0 auto 16px;
  padding: 8px 18px;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 9999px;
}

.tk-nav-labels {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.tk-nav-pill {
  padding: 8px 18px;
  border-radius: 9999px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #94a3b8;
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.25s ease;
  font-family: inherit;
  white-space: nowrap;
}

.tk-nav-pill:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

.tk-nav-pill.active {
  background: #1e1b4b;
  color: #38bdf8;
  font-weight: 700;
  border-color: rgba(56, 189, 248, 0.35);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}

.tk-nav-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.tk-arrow-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.tk-arrow-btn:hover {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.4);
}

.tk-counter {
  font-size: 0.88rem;
  font-weight: 700;
  color: #e2e8f0;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.05em;
  margin: 0 4px;
}

.tk-progress-track {
  max-width: 1180px;
  margin: 0 auto 38px;
  height: 3px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 9999px;
  overflow: hidden;
}

.tk-progress-bar {
  height: 100%;
  width: 16.66%;
  background: linear-gradient(90deg, #38bdf8, #818cf8);
  transition: width 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  border-radius: 9999px;
}

.tk-panels-stack {
  position: relative;
  max-width: 1180px;
  margin: 0 auto;
}

/* Ambient Slider Backlight Glow Effect */
.tk-panels-stack::before {
  content: '';
  position: absolute;
  inset: -20px;
  background: radial-gradient(ellipse at center, rgba(37, 99, 235, 0.42) 0%, rgba(56, 189, 248, 0.2) 45%, rgba(0, 0, 0, 0) 75%);
  filter: blur(32px);
  border-radius: 32px;
  pointer-events: none;
  z-index: 0;
}

.tk-panel-rear-1 {
  position: absolute;
  top: -24px;
  left: 50%;
  transform: translateX(-50%) scale(0.93);
  width: 95%;
  max-width: 1120px;
  opacity: 0.35;
  background: rgba(241, 245, 249, 0.65);
  backdrop-filter: blur(12px);
  border-radius: 18px 18px 0 0;
  border: 1px solid rgba(255, 255, 255, 0.6);
  height: 50px;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

.tk-panel-rear-2 {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%) scale(0.965);
  width: 97.5%;
  max-width: 1150px;
  opacity: 0.65;
  background: rgba(248, 250, 252, 0.82);
  backdrop-filter: blur(14px);
  border-radius: 18px 18px 0 0;
  border: 1px solid rgba(255, 255, 255, 0.8);
  height: 50px;
  overflow: hidden;
  pointer-events: none;
  z-index: 2;
}

.tk-panel-active {
  position: relative;
  width: 100%;
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 0 50px rgba(37, 99, 235, 0.3), 0 25px 65px -15px rgba(15, 23, 42, 0.45);
  z-index: 3;
  overflow: hidden;
  color: #0f172a;
}

/* Fading Top Effect on Slide Container Top Edge */
.tk-panel-active::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 42px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 10;
}

.tk-browser-header {
  height: 52px;
  padding: 0 24px;
  border-bottom: 1px solid #e2e8f0;
  background: rgba(255, 255, 255, 0.98);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  font-size: 0.8rem;
  font-weight: 600;
  color: #64748b;
  position: relative;
  z-index: 11;
}

.tk-bh-left {
  text-align: left;
  letter-spacing: -0.01em;
  color: #475569;
  font-weight: 700;
}

.tk-bh-center {
  text-align: center;
  color: #2563eb;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tk-bh-right {
  text-align: right;
  color: #94a3b8;
  font-size: 0.76rem;
  font-family: monospace;
}

/* ==========================================================================
   Tab-Driven Folder Layout (InnovatorPlan Toolkit)
   ========================================================================== */

.tk-folder-wrapper {
  margin-top: 36px;
  position: relative;
  z-index: 5;
}

/* Folder Header Tabs */
.tk-folder-tabs {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  padding: 0 12px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  position: relative;
  z-index: 2;
}

.tk-folder-tabs::-webkit-scrollbar {
  display: none;
}

.tk-folder-tab {
  background: #cbd5e1;
  color: #334155;
  border: none;
  border-radius: 12px 12px 0 0;
  padding: 12px 24px;
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  transition: background 0.2s ease, color 0.2s ease;
  box-shadow: inset 0 -2px 4px rgba(0, 0, 0, 0.05);
}

.tk-folder-tab:hover:not(.active) {
  background: #e2e8f0;
  color: #0f172a;
}

/* Active Folder Tab - connects seamlessly into folder card */
.tk-folder-tab.active {
  background: #f1f5f9;
  color: #0f172a;
  padding-top: 16px;
  padding-bottom: 14px;
  font-weight: 800;
  z-index: 3;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.04);
}

/* Main Folder Card Body */
.tk-folder-card {
  background: #f1f5f9;
  border-radius: 0 20px 24px 24px;
  padding: 48px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
  position: relative;
  z-index: 1;
  margin-bottom: 32px;
}

.tk-slide-content {
  display: grid;
  grid-template-columns: 52% 48%;
  gap: 40px;
  align-items: center;
  min-height: 380px;
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.tk-slide-content.sliding {
  opacity: 0;
  transform: translateX(8px);
}

/* Left Column */
.tk-folder-left-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.tk-res-tag {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #2563eb;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.tk-folder-headline {
  font-family: var(--font-sans);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.25;
  color: #0f172a;
  letter-spacing: -0.03em;
  margin-bottom: 16px;
}

.tk-folder-desc {
  font-family: var(--font-sans);
  font-size: 1.05rem;
  line-height: 1.65;
  color: #475569;
  letter-spacing: -0.01em;
  margin-bottom: 24px;
}

/* Features Text List (No chips, no pills) */
.tk-folder-features-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tk-feature-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  color: #1e293b;
}

.tk-feature-bullet {
  color: #2563eb;
  font-size: 1.2rem;
  line-height: 1;
}

/* Right Column: Transparent Image without any frame, glow, box or effects */
.tk-folder-right-col {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tk-transparent-image-wrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  box-shadow: none;
  border: none;
  padding: 0;
}

.tk-transparent-img {
  max-width: 100%;
  max-height: 380px;
  width: auto;
  height: auto;
  object-fit: contain;
  background: transparent;
  box-shadow: none;
  border: none;
  filter: none;
  cursor: pointer;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.tk-transparent-image-wrap:hover .tk-transparent-img {
  transform: scale(1.02);
}

/* ==========================================================================
   Plan Readiness — Toolkit Slider (image-left, InnovatorPlan dark theme)
   Modeled on the "Direction in Practice" reference layout
   ========================================================================== */

.pr-slider-wrapper {
  margin-top: 36px;
  position: relative;
  z-index: 5;
}

.pr-slide-card {
  display: grid;
  grid-template-columns: 42% 58%;
  min-height: 440px;
  background: #10162b;
  border: none;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(2, 6, 23, 0.45);
  opacity: 1;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.pr-slide-card.sliding {
  opacity: 0;
}

.pr-slide-media {
  position: relative;
  background: linear-gradient(160deg, #161d3a 0%, #0b1120 100%);
  min-height: 100%;
}

.pr-slide-media-fallback {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: rgba(165, 180, 252, 0.22);
}

.pr-slide-media-fallback svg {
  width: 40px;
  height: 40px;
}

.pr-slide-media-fallback span {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pr-slide-img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 36px;
  box-sizing: border-box;
  display: block;
}

.pr-slide-media-tag {
  position: absolute;
  z-index: 2;
  top: 28px;
  left: 28px;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
}

.pr-slide-media-pill {
  position: absolute;
  z-index: 2;
  left: 28px;
  bottom: 28px;
  max-width: calc(100% - 56px);
  background: rgba(11, 17, 32, 0.72);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(207, 32, 44, 0.55);
  color: #ffb4b9;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 9999px;
}

.pr-slide-content {
  padding: 56px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pr-slide-dots {
  display: flex;
  gap: 6px;
  margin-bottom: 20px;
}

.pr-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(148, 163, 253, 0.3);
}

.pr-dot.active {
  background: #cf202c;
}

.pr-slide-headline {
  font-family: var(--font-sans);
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1.25;
  color: #ffffff;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
}

.pr-slide-desc {
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.7;
  color: #a5b4fc;
  margin-bottom: 22px;
}

.pr-slide-accent {
  width: 64px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, #cf202c, #f43f5e);
  margin-bottom: 26px;
}

.pr-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pr-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  color: #e2e8f0;
}

.pr-feature-bullet {
  color: #cf202c;
  font-size: 1.2rem;
  line-height: 1;
}

.pr-slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 28px;
}

.pr-arrow {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(148, 163, 253, 0.3);
  background: transparent;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.pr-arrow:hover {
  border-color: #cf202c;
  background: rgba(207, 32, 44, 0.12);
}

.pr-slide-counter {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #a5b4fc;
  min-width: 64px;
  text-align: center;
}

@media (max-width: 860px) {
  .pr-slide-card {
    grid-template-columns: 1fr;
  }
  .pr-slide-media {
    min-height: 220px;
  }
  .pr-slide-content {
    padding: 32px 24px;
  }
}

/* Closing Panel Text List (No chips/pills) */
.tk-included-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 24px;
}

.tk-included-item {
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  color: #cbd5e1;
}

.tk-included-sep {
  color: #3b82f6;
  font-size: 0.8rem;
}

/* Responsive adjustments for folder layout */
@media (max-width: 991px) {
  .tk-slide-content {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .tk-folder-card {
    padding: 28px 20px;
    border-radius: 0 16px 20px 20px;
  }
  .tk-folder-tabs {
    padding: 0 4px;
  }
  .tk-folder-tab {
    padding: 10px 16px;
    font-size: 0.85rem;
  }
  .tk-folder-headline {
    font-size: 1.6rem;
  }
}

@media (max-width: 640px) {
  .tk-folder-tab {
    padding: 8px 12px;
    font-size: 0.8rem;
  }
  .tk-folder-card {
    padding: 20px 16px;
  }
  .tk-folder-headline {
    font-size: 1.35rem;
  }
}

.tk-closing-panel {
  margin-top: 90px;
  padding-top: 70px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
  color: #ffffff;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 10;
}

.tk-closing-heading {
  font-family: var(--font-sans);
  font-size: clamp(1.75rem, 3.2vw, 2.35rem);
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.03em;
  line-height: 1.22;
  margin-bottom: 16px;
}

.tk-closing-body {
  font-family: var(--font-sans);
  font-size: 1.08rem;
  color: #cbd5e1;
  max-width: 680px;
  margin: 0 auto 28px;
  line-height: 1.65;
  letter-spacing: -0.01em;
}

.tk-included-tags {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.tk-tag-item {
  padding: 6px 14px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 0.82rem;
  font-weight: 600;
  color: #e2e8f0;
}

.tk-closing-statement {
  font-family: var(--font-sans);
  font-size: 1.02rem;
  font-weight: 700;
  color: #38bdf8;
  letter-spacing: -0.01em;
  margin-bottom: 32px;
}

.tk-closing-ctas {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.tk-btn-main {
  font-size: 1.05rem !important;
  padding: 16px 36px !important;
}

.tk-microcopy {
  font-family: var(--font-sans);
  font-size: 0.82rem;
  color: #94a3b8;
  letter-spacing: -0.01em;
}

/* Document Graphics / Spread Visuals in Centre Column */
.tk-doc-spread {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  position: relative;
  perspective: 1000px;
}

.tk-doc-page {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 10px 30px -5px rgba(0,0,0,0.1), 0 4px 10px -2px rgba(0,0,0,0.05);
  padding: 20px;
  position: relative;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #334155;
}

.tk-doc-cover {
  background: linear-gradient(145deg, #0f172a 0%, #1e293b 100%);
  color: #ffffff;
  border-radius: 8px;
  padding: 24px 20px;
  box-shadow: 0 12px 35px -8px rgba(15, 23, 42, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 320px;
}

.tk-doc-badge {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #38bdf8;
  text-transform: uppercase;
}

.tk-doc-cover-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.3;
  margin-top: 12px;
}

.tk-doc-cover-sub {
  font-size: 0.75rem;
  color: #94a3b8;
  margin-top: 6px;
}

.tk-doc-cover-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 12px;
  font-size: 0.68rem;
  color: #64748b;
  margin-top: 20px;
}

.tk-doc-header-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #f1f5f9;
  padding-bottom: 8px;
  margin-bottom: 12px;
  font-size: 0.68rem;
  font-weight: 700;
  color: #64748b;
}

.tk-doc-page-heading {
  font-size: 0.92rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 8px;
}

.tk-doc-paragraph-skeleton {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}

.tk-doc-line {
  height: 6px;
  background: #e2e8f0;
  border-radius: 4px;
}

.tk-doc-line.w-80 { width: 80%; }
.tk-doc-line.w-90 { width: 90%; }
.tk-doc-line.w-60 { width: 60%; }
.tk-doc-line.w-75 { width: 75%; }

.tk-doc-callout {
  background: #f8fafc;
  border-left: 3px solid #2563eb;
  padding: 10px 12px;
  border-radius: 0 6px 6px 0;
  font-size: 0.72rem;
  margin: 10px 0;
}

.tk-doc-example-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}

.tk-doc-example-box {
  padding: 8px;
  border-radius: 6px;
  font-size: 0.68rem;
}

.tk-doc-example-box.weak {
  background: #fef2f2;
  border: 1px solid #fca5a5;
  color: #991b1b;
}

.tk-doc-example-box.strong {
  background: #f0fdf4;
  border: 1px solid #86efac;
  color: #166534;
}

/* Spread Table / Spreadsheet View for Financials */
.tk-sheet-container {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  width: 100%;
  overflow: hidden;
  font-size: 0.72rem;
}

.tk-sheet-tabs {
  display: flex;
  background: #f1f5f9;
  border-bottom: 1px solid #cbd5e1;
  overflow-x: auto;
}

.tk-sheet-tab {
  padding: 6px 12px;
  font-weight: 600;
  color: #64748b;
  border-right: 1px solid #cbd5e1;
  white-space: nowrap;
}

.tk-sheet-tab.active {
  background: #ffffff;
  color: #2563eb;
  font-weight: 700;
  border-bottom: 2px solid #2563eb;
}

.tk-sheet-grid {
  width: 100%;
  border-collapse: collapse;
}

.tk-sheet-grid th {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  padding: 6px 8px;
  text-align: left;
  font-size: 0.68rem;
  color: #475569;
}

.tk-sheet-grid td {
  border: 1px solid #e2e8f0;
  padding: 6px 8px;
  color: #1e293b;
  font-variant-numeric: tabular-nums;
}

.tk-sheet-grid tr.highlight td {
  background: #eff6ff;
  font-weight: 700;
  color: #1d4ed8;
}

@media (max-width: 1024px) {
  .tk-slide-content {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .tk-col-left, .tk-col-center, .tk-col-right {
    border-right: none;
    border-bottom: 1px solid #f1f5f9;
    padding: 24px;
  }

  .tk-col-right {
    border-bottom: none;
  }

  .tk-panel-rear-1, .tk-panel-rear-2 {
    display: none;
  }
}

@media (max-width: 640px) {
  .toolkit-showcase-section {
    padding: 60px 0 80px;
  }

  .tk-intro-header {
    margin-bottom: 24px;
  }

  .tk-nav-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .tk-nav-controls {
    justify-content: space-between;
    margin-top: 8px;
  }

  .tk-slide-footer {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }

  .tk-footer-right {
    width: 100%;
    justify-content: space-between;
  }

  .tk-closing-panel {
    padding-top: 40px;
  }
}

.tk-slide-img-badge {
  display: none !important;
}

/* ==========================================================================
   Grey Areas & Assessment Bridge Section (Mosaic Bento Grid)
   ========================================================================== */
.grey-areas-section {
  padding: 88px 0;
  background-color: #f8fafc;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.grey-areas-header-centered {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 52px;
}

.grey-areas-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 22px;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #ffffff;
  color: #3730a3;
  border: 1px solid rgba(218, 226, 250, 0.9);
  box-shadow: 0 4px 18px rgba(99, 102, 241, 0.09);
  margin-bottom: 24px;
  font-family: var(--font-sans);
}

.grey-areas-title-large {
  font-family: var(--font-sans);
  font-size: clamp(2.2rem, 4vw, 3.25rem);
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.035em;
  line-height: 1.16;
  margin-bottom: 20px;
}

.grey-areas-supporting-text {
  font-family: var(--font-sans);
  font-size: 1.15rem;
  line-height: 1.68;
  color: #475569;
  letter-spacing: -0.01em;
  font-weight: 400;
}

/* 5-Card Mosaic Grid Layout */
.mosaic-grid {
  display: grid;
  grid-template-columns: 320px 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 20px;
  margin-bottom: 40px;
}

.mosaic-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.04);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
}

.mosaic-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 40px -12px rgba(15, 23, 42, 0.08);
  border-color: #cbd5e1;
}

/* CARD 1 — Tall left card */
.mosaic-card-tall {
  grid-column: 1;
  grid-row: 1 / span 2;
  padding: 0;
  justify-content: space-between;
}

.mosaic-visual-frame {
  width: 100%;
  background: linear-gradient(135deg, #fdf2f8 0%, #eff6ff 50%, #f0fdf4 100%);
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #f1f5f9;
}

.mosaic-abstract-svg {
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.mosaic-card-content {
  padding: 28px 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mosaic-card-title {
  font-family: var(--font-sans);
  font-size: 1.3rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.mosaic-card-title-sm {
  font-family: var(--font-sans);
  font-size: 1.2rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.3;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}

.mosaic-card-body {
  font-family: var(--font-sans);
  font-size: 0.95rem;
  line-height: 1.6;
  color: #475569;
}

.mosaic-card-emphasis {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 700;
  color: #2563eb;
  margin-top: 4px;
}

/* CARD 2 — Soft Blue Stat Card */
.mosaic-card-stat-blue {
  background: linear-gradient(145deg, #dbeafe 0%, #eff6ff 100%);
  border: 1px solid #bfdbfe;
  justify-content: center;
}

.mosaic-stat-number {
  font-family: var(--font-sans);
  font-size: 2.4rem;
  font-weight: 800;
  color: #1e40af;
  letter-spacing: -0.035em;
  line-height: 1.1;
  margin-bottom: 10px;
}

.mosaic-stat-number-dark {
  font-family: var(--font-sans);
  font-size: 2.2rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.035em;
  line-height: 1.1;
  margin-bottom: 10px;
}

/* CARD 3 — Info Card */
.mosaic-card-info {
  justify-content: flex-start;
}

.mosaic-card-label {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2563eb;
  margin-bottom: 8px;
  display: block;
}

.mosaic-bullet-list {
  list-style: none;
  padding: 0;
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mosaic-bullet-list li {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 600;
  color: #1e293b;
  display: flex;
  align-items: center;
  gap: 10px;
}

.mosaic-bullet-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2563eb;
  display: inline-block;
  flex-shrink: 0;
}

/* CARD 4 — Wide Feature Card with bottom Mesh Glow */
.mosaic-card-feature {
  position: relative;
  justify-content: space-between;
}

.mosaic-tags-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  position: relative;
  z-index: 2;
}

.mosaic-tag-pill {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1e293b;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  padding: 6px 14px;
  border-radius: 9999px;
  white-space: nowrap;
}

.mosaic-card-gradient-glow {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 55%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(192, 132, 252, 0.12) 50%, rgba(56, 189, 248, 0.18) 100%);
  pointer-events: none;
  z-index: 1;
}

/* CARD 5 — Compact Impact Card */
.mosaic-card-stat-light {
  background: linear-gradient(145deg, #f0fdf4 0%, #ffffff 100%);
  border: 1px solid #bbf7d0;
  justify-content: center;
}

/* Bottom CTA Strip */
.mosaic-cta-strip {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 40px 48px;
  box-shadow: 0 12px 36px -8px rgba(15, 23, 42, 0.06);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.mosaic-cta-strip::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #2563eb 0%, #7c3aed 100%);
}

.mosaic-cta-eyebrow {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2563eb;
  margin-bottom: 6px;
  display: block;
}

.mosaic-cta-heading {
  font-family: var(--font-sans);
  font-size: 1.6rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.25;
  letter-spacing: -0.025em;
  margin-bottom: 10px;
}

.mosaic-cta-body {
  font-family: var(--font-sans);
  font-size: 0.975rem;
  line-height: 1.6;
  color: #475569;
  max-width: 680px;
}

.mosaic-cta-action-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}

.mosaic-cta-microcopy {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  color: #64748b;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

/* Responsive Breakpoints for Mosaic Section */
@media (max-width: 1024px) {
  .mosaic-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .mosaic-card-tall {
    grid-column: 1 / span 2;
    grid-row: auto;
    flex-direction: row;
    align-items: center;
  }

  .mosaic-visual-frame {
    width: 45%;
    border-bottom: none;
    border-right: 1px solid #f1f5f9;
  }

  .mosaic-card-content {
    width: 55%;
  }

  .mosaic-cta-strip {
    grid-template-columns: 1fr;
    padding: 32px;
  }

  .mosaic-cta-action-col {
    align-items: flex-start;
  }
}

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

  .mosaic-card-tall {
    grid-column: 1;
    flex-direction: column;
  }

  .mosaic-visual-frame {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #f1f5f9;
  }

  .mosaic-card-content {
    width: 100%;
    padding: 24px;
  }

  .mosaic-card {
    padding: 24px;
  }

  .mosaic-cta-strip {
    padding: 24px;
  }

  .mosaic-cta-action-col .btn {
    width: 100%;
  }

  .mosaic-cta-microcopy {
    white-space: normal;
  }
}



/* ==========================================================================
   The Practical Outcome Section
   ========================================================================== */

.outcomes-section {
  padding-top: 100px;
  padding-bottom: 100px;
}

.outcomes-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 44px;
}

.outcomes-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 760px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 32px;
}

.outcomes-list li {
  position: relative;
  padding-left: 30px;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--color-text-body);
  font-weight: 600;
}

.outcomes-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--color-primary-light);
  border: 1.5px solid var(--color-primary-border);
}

.outcomes-list li::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-primary);
}

.outcomes-closing {
  text-align: center;
  max-width: 640px;
  margin: 44px auto 0;
  padding-top: 32px;
  border-top: 1px solid var(--color-border);
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--color-text-main);
  font-style: italic;
  line-height: 1.6;
}

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

/* ==========================================================================
   Buying Journey Comparison Table
   ========================================================================== */

.journey-table-wrap {
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  overflow-x: auto;
  border-radius: 16px;
}

.journey-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
  font-family: var(--font-sans);
}

.journey-table th {
  text-align: left;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a5b4fc;
  background: rgba(255, 255, 255, 0.05);
  padding: 16px 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.journey-table td {
  padding: 18px 22px;
  font-size: 0.9375rem;
  color: #e2e8f0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  vertical-align: top;
}

.journey-table tr:last-child td {
  border-bottom: none;
}

.journey-table td strong {
  color: #ffffff;
  font-weight: 700;
}

.hero-headline-followup {
  font-family: var(--font-sans);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-top: 4px;
  letter-spacing: -0.01em;
}

/* ==========================================================================
   Built Around What a Credible Business Plan Must Prove
   ========================================================================== */

.criteria-overview-section {
  padding-top: 40px;
  padding-bottom: 80px;
}

.criteria-overview-card {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 32px;
  padding: 64px 56px;
  box-shadow: 0 30px 70px -30px rgba(15, 23, 42, 0.15);
}

.criteria-overview-header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 40px;
}

.criteria-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.criteria-overview-item {
  background: #f8fafc;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 28px;
}

.criteria-overview-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  margin-bottom: 16px;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}

.criteria-overview-title {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--color-primary);
  margin-bottom: 8px;
}

.criteria-overview-desc {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--color-text-muted);
}

@media (max-width: 900px) {
  .criteria-overview-grid {
    grid-template-columns: 1fr 1fr;
  }
  .criteria-overview-card {
    padding: 40px 28px;
  }
}

@media (max-width: 560px) {
  .criteria-overview-grid {
    grid-template-columns: 1fr;
  }
}

/* ========================================================================== 
   InnovatorPlan Baseline Enhancement - July 2026
   ========================================================================== */

.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: #2949c9;
  font-family: 'Sora', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.section-kicker::before { content:""; width:18px; height:2px; background:currentColor; }
.section-kicker-light { color:#a5b4fc; }

/* Navigation */
.mobile-nav-toggle {
  display:none;
  width:44px;
  height:44px;
  border:1px solid rgba(17,28,46,.14);
  border-radius:50%;
  background:#fff;
  padding:11px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
}
.mobile-nav-toggle span { width:18px; height:2px; background:#111c2e; border-radius:2px; transition:.25s ease; }
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Authority strip */
.authority-section {
  padding: 86px 0 72px;
  background:#fff;
  border-top:1px solid #e7eaf1;
  border-bottom:1px solid #e7eaf1;
}
.authority-heading-row {
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:72px;
  align-items:end;
  margin-bottom:34px;
}
.authority-heading-row .heading-lg { margin:0; max-width:560px; }
.authority-heading-row > p { color:#5e6d86; font-size:1.05rem; line-height:1.75; max-width:620px; }
.authority-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid #dfe4ee;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.authority-item {
  min-height:170px;
  padding:30px 26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:24px;
  border-right:1px solid #dfe4ee;
}
.authority-item:last-child{border-right:0}
.authority-item strong { font-family:'Sora',sans-serif; font-size:1.05rem; color:#172554; }
.authority-item span { color:#66748c; font-size:.9rem; line-height:1.55; }
.authority-item-emphasis { background:linear-gradient(145deg,#172554,#2949c9); }
.authority-item-emphasis strong { color:#fff; font-size:3.4rem; line-height:1; }
.authority-item-emphasis span { color:#dbe4ff; }
.authority-disclaimer { margin-top:14px; color:#8792a7; font-size:.75rem; text-align:right; }

/* Grey area conversion bridge */
.grey-areas-cta {
  margin-top:34px;
  padding:30px 34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  background:#fff;
  border:1px solid #dfe4ee;
  border-radius:16px;
}
.grey-areas-cta h3 { margin:0 0 8px; color:#111c2e; font-family:'Sora',sans-serif; font-size:clamp(1.35rem,2vw,1.85rem); }
.grey-areas-cta p { max-width:720px; color:#65748d; line-height:1.65; }
.grey-areas-cta .btn { flex:none; }

/* Toolkit resource navigation and editorial slider */
.pr-resource-tabs {
  display:flex;
  gap:8px;
  margin:0 auto 18px;
  padding:6px;
  max-width:100%;
  overflow-x:auto;
  scrollbar-width:none;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.65);
  border-radius:999px;
  backdrop-filter:blur(12px);
}
.pr-resource-tabs::-webkit-scrollbar{display:none}
.pr-resource-tab {
  flex:1 0 auto;
  min-height:42px;
  padding:10px 17px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#67758e;
  font-family:'Sora',sans-serif;
  font-size:.78rem;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  transition:all .25s ease;
}
.pr-resource-tab span { margin-right:6px; color:#94a0b5; }
.pr-resource-tab.active { color:#172554; background:#fff; box-shadow:0 5px 20px rgba(27,42,99,.1); }
.pr-resource-tab.active span { color:#2949c9; }

.pr-slide-card {
  min-height:610px !important;
  display:grid !important;
  grid-template-columns:27% 47% 26% !important;
  gap:0 !important;
  padding:0 !important;
  overflow:hidden;
  background:#fff !important;
  border:1px solid rgba(84,99,141,.17) !important;
  border-radius:20px !important;
  box-shadow:0 28px 70px rgba(46,55,98,.13) !important;
}
.pr-editorial-column,
.pr-features-column {
  padding:44px 34px;
  min-width:0;
}
.pr-editorial-column { border-right:1px solid #e5e9f1; }
.pr-features-column { border-left:1px solid #e5e9f1; background:#fbfcff; }
.pr-resource-label,
.pr-features-title {
  display:block;
  color:#2949c9;
  font-family:'Sora',sans-serif;
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.pr-slide-headline { margin:15px 0 18px !important; font-size:clamp(1.45rem,2.25vw,2.05rem) !important; line-height:1.22 !important; color:#111c2e !important; }
.pr-slide-desc { color:#5d6b84 !important; font-size:.94rem !important; line-height:1.75 !important; white-space:normal; }
.pr-best-for { margin-top:28px; padding:16px 18px; background:#eef1fb; border-left:3px solid #2949c9; border-radius:0 9px 9px 0; }
.pr-best-for span { color:#2949c9; font-family:'Sora',sans-serif; font-size:.66rem; font-weight:700; letter-spacing:.1em; }
.pr-best-for p { margin-top:5px; color:#43506b; font-size:.82rem; line-height:1.55; }
.pr-slide-media {
  position:relative;
  min-height:610px;
  padding:40px 30px 76px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 50% 35%,#f7f9ff 0,#edf1fb 58%,#e5eaf6 100%) !important;
  border-radius:0 !important;
  overflow:hidden;
}
.pr-document-stack { position:relative; width:100%; height:470px; max-width:520px; }
.pr-page-preview { position:absolute; padding:0; border:0; background:transparent; cursor:zoom-in; filter:drop-shadow(0 15px 18px rgba(20,29,69,.13)); transition:transform .3s cubic-bezier(.16,1,.3,1),filter .3s; }
.pr-page-preview img { width:100%; height:100%; object-fit:contain; display:block; background:#fff; }
.pr-page-preview.page-1 { width:42%; height:82%; left:7%; top:8%; z-index:4; transform:rotate(-3deg); }
.pr-page-preview.page-2 { width:36%; height:68%; left:33%; top:1%; z-index:2; transform:rotate(2deg); }
.pr-page-preview.page-3 { width:35%; height:69%; right:4%; top:14%; z-index:3; transform:rotate(4deg); }
.pr-page-preview.page-4 { width:34%; height:57%; left:38%; bottom:0; z-index:5; transform:rotate(-1deg); }
.pr-page-preview:hover,.pr-page-preview:focus-visible { transform:translateY(-7px) rotate(0); filter:drop-shadow(0 22px 22px rgba(20,29,69,.2)); outline:none; }
.pr-preview-button { position:absolute; left:50%; bottom:22px; transform:translateX(-50%); border:1px solid #cfd7ea; background:#fff; color:#172554; border-radius:999px; padding:11px 18px; font-family:'Sora',sans-serif; font-weight:650; font-size:.78rem; cursor:pointer; box-shadow:0 8px 25px rgba(34,47,97,.09); white-space:nowrap; }
.pr-features-title { margin-bottom:18px; }
.pr-feature-list { display:flex !important; flex-direction:column; gap:10px !important; margin:0 !important; }
.pr-feature-item { display:flex !important; align-items:flex-start; gap:10px; padding:13px 12px !important; border:1px solid #e1e6f0; border-radius:9px; background:#fff; color:#293750 !important; font-size:.82rem !important; line-height:1.4; }
.pr-feature-check { flex:none; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; color:#2949c9; background:#e9edfb; font-size:.7rem; font-weight:800; }
.pr-file-meta { margin-top:22px; padding-top:18px; border-top:1px solid #dde3ee; }
.pr-file-meta strong { display:block; color:#172554; font-family:'Sora',sans-serif; font-size:.85rem; }
.pr-file-meta span { display:block; margin-top:6px; color:#8590a4; font-size:.68rem; line-height:1.45; word-break:break-word; }
.pr-financial-visual { width:92%; max-width:500px; display:grid; grid-template-columns:1.1fr .9fr; gap:18px; align-items:center; }
.pr-financial-visual > img { width:100%; border-radius:10px; box-shadow:0 16px 35px rgba(32,46,99,.15); }
.sheet-stack { display:flex; flex-direction:column; gap:8px; }
.sheet-stack span { padding:14px 16px; background:#fff; border:1px solid #dfe5f0; border-radius:8px; color:#29406f; font-family:'Sora',sans-serif; font-size:.77rem; box-shadow:0 7px 18px rgba(35,51,106,.06); }
.pr-slider-controls { margin-top:20px !important; }

/* Toolkit offer */
.tk-closing-panel { padding:0 !important; overflow:hidden; background:linear-gradient(135deg,#172554 0%,#263b99 72%,#6046d7 100%) !important; }
.toolkit-offer-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:0; }
.toolkit-offer-copy { padding:54px 56px; }
.toolkit-offer-copy .tk-closing-heading { max-width:640px; color:#fff; font-size:clamp(2rem,3.5vw,3.5rem); line-height:1.08; }
.toolkit-offer-copy .tk-closing-statement { max-width:660px; color:#cfd7ff; font-size:1.02rem; line-height:1.65; }
.toolkit-offer-copy .tk-included-list { display:grid; grid-template-columns:1fr 1fr; gap:10px 22px; margin-top:30px; }
.toolkit-offer-copy .tk-included-item { position:relative; padding-left:22px; color:#fff; font-size:.85rem; }
.toolkit-offer-copy .tk-included-item::before { content:'✓'; position:absolute; left:0; color:#a5b4fc; font-weight:800; }
.toolkit-purchase-card { margin:26px; padding:34px; border-radius:16px; background:#fff; color:#111c2e; box-shadow:0 26px 70px rgba(8,17,60,.28); }
.toolkit-price-label { color:#66748c; font-family:'Sora',sans-serif; font-size:.69rem; font-weight:700; letter-spacing:.12em; }
.toolkit-price { margin:8px 0 14px; color:#172554; font-family:'Sora',sans-serif; font-size:3.8rem; font-weight:750; line-height:1; }
.toolkit-purchase-card p { color:#58667e; font-size:.91rem; line-height:1.6; }
.toolkit-purchase-card ul { margin:22px 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; }
.toolkit-purchase-card li { position:relative; padding-left:23px; color:#33425c; font-size:.84rem; }
.toolkit-purchase-card li::before { content:'✓'; position:absolute; left:0; color:#167a5b; font-weight:800; }
.toolkit-purchase-card .tk-btn-main { width:100%; justify-content:center; margin:4px 0 15px; text-decoration:none; }
.toolkit-purchase-card small { display:block; color:#8792a7; font-size:.67rem; line-height:1.5; }

/* Methodology / founder */
.methodology-section { padding:110px 0; background:#fff; border-top:1px solid #e6eaf2; }
.methodology-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:76px; align-items:center; }
.methodology-proof-card { min-height:430px; padding:42px; border-radius:22px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(150deg,#111c2e 0%,#172554 48%,#2949c9 100%); box-shadow:0 28px 70px rgba(25,39,91,.2); color:#fff; overflow:hidden; position:relative; }
.methodology-proof-card::before { content:''; position:absolute; width:280px; height:280px; border-radius:50%; right:-80px; top:-70px; border:1px solid rgba(255,255,255,.16); box-shadow:0 0 0 45px rgba(255,255,255,.04),0 0 0 90px rgba(255,255,255,.025); }
.methodology-proof-card > span { font-family:'Sora',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.12em; color:#b7c5ff; }
.methodology-proof-card strong { margin-top:20px; font-family:'Sora',sans-serif; font-size:6.6rem; line-height:.85; }
.methodology-proof-card p { margin-top:12px; max-width:240px; color:#dbe4ff; line-height:1.5; }
.methodology-lines { margin-top:30px; display:flex; gap:7px; }
.methodology-lines i { display:block; height:5px; border-radius:5px; background:#9bb0ff; }
.methodology-lines i:nth-child(1){width:52px}.methodology-lines i:nth-child(2){width:30px;opacity:.65}.methodology-lines i:nth-child(3){width:14px;opacity:.35}
.methodology-copy .heading-lg { max-width:700px; margin-bottom:22px; }
.methodology-copy > p { max-width:720px; color:#5c6a82; font-size:1.02rem; line-height:1.8; margin-bottom:15px; }
.founder-signature { margin-top:28px; padding-top:23px; border-top:1px solid #e1e6ef; display:flex; flex-direction:column; gap:5px; }
.founder-signature strong { color:#172554; font-family:'Sora',sans-serif; font-size:1rem; }
.founder-signature span { color:#7d899d; font-size:.83rem; }

/* Expert support */
.expert-header { text-align:center; max-width:800px; margin:0 auto 38px; }
.expert-header h2 { color:#fff; margin:15px 0 15px; }
.expert-header p { color:#b9c5f4; line-height:1.7; }
.expert-service-grid { align-items:stretch; }
.expert-service-card { display:flex; flex-direction:column; min-height:510px; }
.service-number { color:#8798e7; font-family:'Sora',sans-serif; font-size:.75rem; font-weight:700; letter-spacing:.12em; }
.expert-service-card .dark-item-title { margin:18px 0 22px; color:#fff; font-size:1.35rem; }
.expert-service-card dl { margin:0; display:flex; flex-direction:column; gap:18px; flex:1; }
.expert-service-card dl div { padding-top:16px; border-top:1px solid rgba(255,255,255,.1); }
.expert-service-card dt { color:#899cf2; font-family:'Sora',sans-serif; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.expert-service-card dd { margin:6px 0 0; color:#c8d1f3; font-size:.84rem; line-height:1.55; }
.service-link { margin-top:24px; padding:0; border:0; background:none; color:#fff; font-family:'Sora',sans-serif; font-size:.82rem; font-weight:650; text-align:left; cursor:pointer; }
.expert-fee-note { margin:24px 0 0; color:#91a0df; font-size:.76rem; text-align:center; }
.comparison-block { margin-top:58px; padding-top:42px; border-top:1px solid rgba(255,255,255,.12); }
.comparison-header { margin-bottom:22px; }
.comparison-header h3 { margin:0; color:#fff; font-family:'Sora',sans-serif; font-size:1.7rem; }
.feature-comparison-table th:first-child,.feature-comparison-table td:first-child{text-align:left}
.feature-comparison-table th,.feature-comparison-table td { min-width:150px; }

/* Final CTA */
.final-cta-actions { display:flex; justify-content:center; align-items:center; gap:15px; flex-wrap:wrap; margin-top:28px; }
.final-cta-link { color:#172554; font-family:'Sora',sans-serif; font-weight:650; text-decoration:none; padding:12px 4px; }

/* Forms and modals */
.modal-overlay[aria-hidden="true"] { visibility:hidden; }
.modal-overlay.active[aria-hidden="false"] { visibility:visible; }
.modal-card-wide { max-width:760px !important; max-height:92vh; overflow:auto; }
.modal-intro { margin:10px 0 24px; color:#69768c; line-height:1.6; }
.form-grid-two { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.form-label span { color:#8b96a8; font-weight:400; }
.form-textarea { min-height:135px; resize:vertical; line-height:1.55; }
.character-count { margin-top:5px; text-align:right; color:#8a95a8; font-size:.7rem; }
.consent-row { display:flex; align-items:flex-start; gap:10px; margin:13px 0; color:#5d6a80; font-size:.78rem; line-height:1.45; }
.consent-row input { margin-top:2px; }
.form-submit-btn { width:100%; margin-top:12px; }
.form-status { min-height:24px; margin-top:13px; font-size:.78rem; line-height:1.5; }
.form-status.success { color:#167a5b; }
.form-status.error { color:#a83a2a; }
.form-status a { color:inherit; font-weight:700; }
.hp-field { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; }

.preview-modal { padding:24px; }
.preview-modal-card { position:relative; width:min(1180px,96vw); height:min(900px,92vh); padding:28px; border-radius:18px; background:#fff; box-shadow:0 35px 100px rgba(9,17,49,.35); display:flex; flex-direction:column; outline:none; }
.preview-modal-header { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; padding-right:50px; border-bottom:1px solid #e1e6ef; padding-bottom:17px; }
.preview-modal-header h3 { margin:3px 0 0; color:#172554; font-family:'Sora',sans-serif; font-size:1.2rem; }
#preview-page-counter { color:#65728a; font-family:'Sora',sans-serif; font-size:.8rem; font-weight:650; }
.preview-stage { flex:1; min-height:0; display:grid; grid-template-columns:50px minmax(0,1fr) 50px; align-items:center; gap:14px; padding:22px 0 10px; background:#f3f5fa; border-radius:12px; margin-top:18px; overflow:hidden; }
.preview-stage img { width:100%; height:100%; min-height:0; object-fit:contain; }
.preview-nav { width:42px; height:42px; border:1px solid #d8dfeb; border-radius:50%; background:#fff; color:#172554; font-size:1.7rem; cursor:pointer; justify-self:center; }
.preview-note { margin:12px 0 0; color:#7b879a; font-size:.75rem; text-align:center; }

@media (max-width: 1050px) {
  .authority-grid { grid-template-columns:1fr 1fr; }
  .authority-item:nth-child(2){border-right:0}.authority-item:nth-child(-n+2){border-bottom:1px solid #dfe4ee}
  .pr-slide-card { grid-template-columns:34% 66% !important; }
  .pr-features-column { grid-column:1/-1; border-left:0; border-top:1px solid #e5e9f1; padding:25px 30px; }
  .pr-feature-list { display:grid !important; grid-template-columns:repeat(3,1fr); }
  .pr-slide-media { min-height:560px; }
  .toolkit-offer-grid { grid-template-columns:1fr; }
  .toolkit-purchase-card { max-width:560px; margin:0 48px 48px; }
  .methodology-grid { grid-template-columns:.85fr 1.15fr; gap:44px; }
}

@media (max-width: 820px) {
  .mobile-nav-toggle { display:flex; }
  .nav-actions .btn-qovex-dark { display:none; }
  .nav-center { position:fixed; inset:0; z-index:90; display:none; padding:110px 24px 30px; background:rgba(245,247,252,.98); backdrop-filter:blur(18px); }
  .nav-center.mobile-open { display:block; }
  .nav-center .nav-pill-wrapper { width:100%; padding:0; background:transparent; box-shadow:none; }
  .nav-center .nav-menu { display:flex; flex-direction:column; align-items:stretch; gap:9px; }
  .nav-center .nav-menu li a { display:block; padding:16px 18px; border:1px solid #dce2ed; border-radius:12px; background:#fff; font-size:1rem; }
  body.nav-open { overflow:hidden; }
  .navbar-pill-container { position:relative; z-index:100; }
  .authority-heading-row { grid-template-columns:1fr; gap:20px; }
  .grey-areas-cta { align-items:flex-start; flex-direction:column; }
  .pr-slide-card { grid-template-columns:1fr !important; }
  .pr-editorial-column { border-right:0; border-bottom:1px solid #e5e9f1; }
  .pr-slide-media { min-height:520px; }
  .pr-features-column { grid-column:auto; }
  .pr-feature-list { grid-template-columns:1fr 1fr !important; }
  .toolkit-offer-copy { padding:44px 32px; }
  .toolkit-offer-copy .tk-included-list { grid-template-columns:1fr; }
  .toolkit-purchase-card { margin:0 24px 28px; }
  .methodology-grid { grid-template-columns:1fr; }
  .methodology-proof-card { min-height:330px; }
  .form-grid-two { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
  .top-bar-txt { max-width:75%; font-size:.65rem; }
  .top-bar-link { font-size:.65rem; }
  .authority-section { padding:64px 0 54px; }
  .authority-grid { grid-template-columns:1fr; }
  .authority-item { border-right:0 !important; border-bottom:1px solid #dfe4ee; min-height:135px; }
  .authority-item:last-child{border-bottom:0}
  .grey-areas-cta { padding:25px 22px; }
  .pr-resource-tabs { border-radius:12px; }
  .pr-slide-card { min-height:auto !important; }
  .pr-editorial-column,.pr-features-column { padding:30px 22px; }
  .pr-slide-media { min-height:450px; padding:28px 12px 70px !important; }
  .pr-document-stack { height:385px; }
  .pr-feature-list { grid-template-columns:1fr !important; }
  .pr-financial-visual { grid-template-columns:1fr; width:85%; }
  .sheet-stack { display:grid; grid-template-columns:1fr 1fr; }
  .toolkit-offer-copy { padding:38px 24px; }
  .toolkit-purchase-card { margin:0 14px 18px; padding:27px 22px; }
  .methodology-section { padding:75px 0; }
  .methodology-proof-card { padding:30px; }
  .methodology-proof-card strong { font-size:5rem; }
  .expert-service-card { min-height:auto; }
  .feature-comparison-table { min-width:720px; }
  .preview-modal { padding:8px; }
  .preview-modal-card { width:100%; height:96vh; padding:18px 12px; border-radius:12px; }
  .preview-stage { grid-template-columns:38px minmax(0,1fr) 38px; gap:4px; }
  .preview-nav { width:34px; height:34px; }
}

@media (prefers-reduced-motion: reduce) {
  .pr-page-preview,.pr-resource-tab,.mobile-nav-toggle span { transition:none !important; }
}

/* ===== July 29 refinement pass: premium glass, trust, agitation, reviews, CTA polish ===== */

.hero-proof-strip {
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  gap:14px;
  align-items:stretch;
  max-width:1120px;
  margin:22px auto 10px;
}
.hero-proof-stars,
.hero-proof-chip {
  border:1px solid rgba(164,180,219,.38);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-radius:20px;
  padding:14px 18px;
  box-shadow:0 14px 40px rgba(22,34,81,.08);
  display:flex;
  flex-direction:column;
  gap:5px;
}
.hero-stars {
  color:#f59e0b;
  font-size:1.1rem;
  letter-spacing:.15em;
}
.hero-proof-stars strong,
.hero-proof-chip-value {
  font-family:'Sora',sans-serif;
  color:#0f172a;
  font-size:.98rem;
  font-weight:700;
}
.hero-proof-stars span:last-child,
.hero-proof-chip-label {
  color:#52617b;
  font-size:.86rem;
  line-height:1.45;
}

.glass-panel {
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 24px 80px rgba(10,18,56,.18);
}

.authority-item,
.criteria-overview-card,
.toolkit-purchase-card,
.methodology-proof-card,
.methodology-copy,
.review-card,
.expert-service-card,
.cta-banner {
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.risk-signal-section {
  padding:18px 0 14px;
  background:linear-gradient(180deg,#f5f7fb 0%,#f8faff 100%);
}
.risk-signal-card {
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(900px 260px at 10% 0%, rgba(70,94,245,.18), transparent 60%),
    radial-gradient(600px 300px at 100% 10%, rgba(215,70,255,.14), transparent 58%),
    linear-gradient(135deg, #0e1233 0%, #17174a 46%, #11153a 100%);
  color:#eef2ff;
  padding:34px 38px;
  display:grid;
  grid-template-columns:1.55fr .85fr;
  gap:26px;
  align-items:center;
}
.risk-signal-copy h2 { color:#fff; margin:10px 0 14px; }
.risk-signal-copy p { color:#cfd7ff; font-size:1rem; line-height:1.72; margin:0 0 12px; }
.risk-signal-note { color:#9fb0df !important; font-size:.88rem !important; }
.risk-signal-stat {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  padding:26px 24px;
  text-align:center;
}
.risk-stat-badge {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:34px; padding:0 14px; border-radius:999px;
  background:rgba(255,255,255,.08); color:#c7d2fe;
  border:1px solid rgba(255,255,255,.12);
  font-family:'Sora',sans-serif; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700;
}
.risk-stat-number { font-family:'Sora',sans-serif; font-weight:800; font-size:4.2rem; line-height:.95; margin:18px 0 8px; color:#fff; }
.risk-stat-label { color:#cbd5f5; font-size:.92rem; line-height:1.55; max-width:280px; margin:0 auto 20px; }
.risk-signal-stat .btn { width:100%; justify-content:center; }

/* Grey areas section */
.mosaic-grid {
  grid-template-columns:1.16fr 1.42fr 1.42fr;
  gap:20px;
  align-items:stretch;
}
.mosaic-card {
  border:1px solid rgba(137,155,193,.3);
  box-shadow:0 12px 40px rgba(34,47,97,.07);
  overflow:hidden;
}
.mosaic-card-tall {
  min-height:720px;
}
.mosaic-card-hero-visual .mosaic-card-content {
  padding-top:26px;
}
.mosaic-visual-frame-solid {
  background:linear-gradient(180deg,#eff5ff 0%,#f7faff 60%,#f6fbff 100%);
  border-bottom:1px solid rgba(198,208,230,.65);
}
.mosaic-folder-scene {
  position:relative;
  height:250px;
  overflow:hidden;
}
.mosaic-folder-scene .scene-blob {
  position:absolute;
  border-radius:26px;
  filter:blur(0px);
  opacity:.92;
}
.mosaic-folder-scene .blob-blue { width:116px; height:116px; background:#cfe0ff; left:26px; bottom:18px; }
.mosaic-folder-scene .blob-rose { width:152px; height:104px; background:#f8dce6; right:20px; top:14px; }
.mosaic-folder-scene .blob-mint { width:120px; height:52px; background:#e6f5f0; left:0; right:0; margin:auto; bottom:-10px; border-radius:18px 18px 0 0; opacity:.8; }
.scene-doc {
  position:absolute; background:#fff; border-radius:18px; border:1px solid #e5ebf5;
  box-shadow:0 18px 40px rgba(15,23,42,.14);
}
.scene-doc-back { width:180px; height:126px; left:62px; top:28px; transform:rotate(-6deg); opacity:.78; }
.scene-doc-middle { width:185px; height:132px; left:102px; top:34px; transform:rotate(4deg); opacity:.92; }
.scene-doc-front { width:198px; height:138px; left:92px; top:56px; padding:18px 18px 16px; }
.scene-doc-pill {
  display:inline-flex; align-items:center; min-height:24px; padding:0 12px; border-radius:999px;
  background:#edf4ff; color:#2755d7; font:700 .7rem 'Plus Jakarta Sans',sans-serif; letter-spacing:.04em;
}
.scene-doc-line { height:4px; width:118px; border-radius:999px; background:#7b8dad; margin-top:12px; }
.scene-doc-line-lg { width:132px; background:#253147; margin-top:16px; }
.scene-doc-line-sm { width:94px; background:#9ba9c1; }
.scene-verified-pill {
  position:absolute; right:16px; bottom:16px; min-height:24px; padding:0 11px; border-radius:999px;
  background:#2755d7; color:#fff; display:inline-flex; align-items:center; font:700 .68rem 'Plus Jakarta Sans',sans-serif;
}
.mosaic-card-info,
.mosaic-card-feature,
.mosaic-card-stat-blue,
.mosaic-card-stat-light {
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(251,252,255,.96));
}
.mosaic-card-stat-blue {
  background:linear-gradient(135deg,#dfeaff 0%,#eff5ff 100%);
}
.mosaic-card-stat-light {
  background:linear-gradient(135deg,#eef8f3 0%,#f6fbf8 100%);
  border-color:#b7e4cb;
}
.grey-areas-cta {
  margin-top:24px;
  padding:28px 30px;
  border-radius:28px;
  background:linear-gradient(135deg,#11163e 0%,#16195a 52%,#11163e 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 90px rgba(9,17,49,.18);
}
.grey-areas-cta p, .grey-areas-cta h3 { color:#fff; }
.grey-areas-cta p { color:#c6d2f4; max-width:720px; }
.grey-areas-cta .btn { min-width:270px; justify-content:center; }

/* Toolkit */
.toolkit-offer-grid { gap:36px; }
.toolkit-purchase-card {
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 60px rgba(16,26,74,.18);
}
.toolkit-purchase-card ul li::marker { color:#1fbf75; }
.tk-btn-main { width:100%; justify-content:center; margin-top:12px; }
.tk-included-item {
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.12);
}

/* Methodology and reviews */
.methodology-section { padding-top:34px; }
.methodology-proof-card,
.methodology-copy {
  border:1px solid rgba(115,133,196,.16);
}
.reviews-section { padding:0 0 28px; }
.reviews-shell {
  border-radius:30px;
  background:
    radial-gradient(500px 220px at 12% 0%, rgba(102,130,255,.12), transparent 65%),
    radial-gradient(420px 220px at 100% 0%, rgba(222,84,255,.10), transparent 65%),
    linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
  padding:34px 34px 30px;
  border:1px solid rgba(130,149,201,.24);
}
.reviews-header {
  display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:24px;
}
.reviews-header p { max-width:720px; color:#5a6884; margin:10px 0 0; }
.reviews-summary-stars {
  min-width:250px; border-radius:22px; padding:16px 18px; background:rgba(15,23,42,.96);
  color:#fff; display:flex; flex-direction:column; gap:6px; box-shadow:0 18px 40px rgba(8,16,44,.16);
}
.reviews-summary-stars span { color:#f59e0b; letter-spacing:.16em; font-size:1rem; }
.reviews-summary-stars strong { font-family:'Sora',sans-serif; font-size:.96rem; color:#fff; }
.reviews-summary-stars small { font-size:.83rem; color:#b8c5ea; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.review-card {
  border-radius:24px; padding:24px 24px 22px; background:rgba(255,255,255,.78);
  border:1px solid rgba(154,171,218,.3); min-height:250px; display:flex; flex-direction:column; gap:18px;
}
.review-stars { color:#f59e0b; letter-spacing:.14em; font-size:1rem; }
.review-quote { color:#17223b; font-size:1.02rem; line-height:1.72; margin:0; flex:1; }
.review-meta { display:flex; justify-content:space-between; gap:12px; align-items:center; border-top:1px solid rgba(186,198,228,.45); padding-top:14px; }
.review-meta strong { font-family:'Sora',sans-serif; font-size:.83rem; color:#1f2a44; }
.review-meta span { color:#607091; font-size:.82rem; }

/* Expert support */
.dark-container-card {
  background:
    radial-gradient(800px 260px at 50% 0%, rgba(76,95,255,.15), transparent 60%),
    linear-gradient(180deg,#10153d 0%,#11143b 100%);
}
.expert-header {
  max-width:980px; margin:0 auto 28px; text-align:center;
}
.expert-header p { max-width:860px; margin:16px auto 0; }
.expert-header-actions,
.expert-inline-cta,
.final-cta-actions {
  display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:center;
}
.expert-header-actions { margin-top:24px; }
.expert-header-btn,
.expert-inline-cta .btn { min-width:240px; justify-content:center; }
.expert-service-grid { margin-top:28px; }
.expert-service-card {
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.12);
  border-radius:26px;
  padding:26px 28px 22px;
  box-shadow:0 20px 60px rgba(8,16,46,.12);
}
.expert-service-card .service-link {
  display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 20px;
  border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  color:#fff; font-family:'Sora',sans-serif; font-weight:650; font-size:.95rem; margin-top:26px; width:100%;
  transition:all .25s ease;
}
.expert-service-card .service-link:hover { background:rgba(255,255,255,.16); transform:translateY(-2px); }
.expert-inline-cta { margin:22px 0 8px; }
.comparison-block { margin-top:28px; }

/* Final CTA */
.cta-banner {
  background:
    radial-gradient(560px 220px at 50% 0%, rgba(77,95,255,.16), transparent 60%),
    linear-gradient(180deg,#10143d 0%,#0f1337 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 90px rgba(11,18,50,.18);
}
.cta-banner::before { opacity:.18; }
.cta-banner .hero-title,
.cta-banner .hero-subtitle,
.cta-banner .cta-badges span { color:#fff; }
.cta-banner .hero-subtitle { color:#c7d1f3; }
.cta-badges span {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
  color:#d8e1ff;
}
.btn-dark-ghost.btn-dark-ghost-light,
.final-cta-actions .btn-dark-ghost {
  color:#fff;
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);
}
.btn-dark-ghost.btn-dark-ghost-light:hover,
.final-cta-actions .btn-dark-ghost:hover { background:rgba(255,255,255,.14); color:#fff; }
.final-cta-link { color:#cdd7ff; }

/* responsive refinements */
@media (max-width: 1100px) {
  .hero-proof-strip,
  .reviews-grid,
  .mosaic-grid,
  .risk-signal-card,
  .toolkit-offer-grid,
  .methodology-grid { grid-template-columns:1fr; }
  .mosaic-card-tall { min-height:auto; }
  .reviews-header { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 820px) {
  .hero-proof-strip { margin-top:16px; }
  .hero-proof-stars,
  .hero-proof-chip { padding:14px 16px; border-radius:18px; }
  .risk-signal-card,
  .reviews-shell,
  .grey-areas-cta { padding:24px 20px; }
  .risk-stat-number { font-size:3.35rem; }
  .mosaic-folder-scene { height:220px; }
  .scene-doc-front { left:68px; width:190px; }
}
@media (max-width: 640px) {
  .hero-proof-strip { grid-template-columns:1fr; }
  .reviews-grid { grid-template-columns:1fr; }
  .risk-signal-stat .btn,
  .grey-areas-cta .btn,
  .expert-header-btn,
  .expert-inline-cta .btn,
  .final-cta-actions .btn { width:100%; }
  .cta-badges { gap:8px; }
  .cta-badges span { width:100%; text-align:center; }
}

/* ==========================================================
   Premium polish pass — July 2026
   ========================================================== */

.glass-surface {
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: 0 20px 45px -18px rgba(15,23,42,0.22), inset 0 1px 0 rgba(255,255,255,0.55);
}

.hero-social-proof {
  margin: 18px auto 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.hero-stars-pill {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(255,255,255,0.75);
  box-shadow: 0 14px 30px rgba(39, 51, 117, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #273375;
  font-size: .92rem;
  font-weight: 700;
}
.hero-stars-icons {
  letter-spacing: .16em;
  color: #f59e0b;
  font-size: 1rem;
}
.hero-proof-pills {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}
.hero-proof-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.56);
  border: 1px solid rgba(218,226,250,.9);
  color: #43516f;
  font-size: .84rem;
  font-weight: 600;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hero-proof-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg,#ef4444,#8b5cf6);
  box-shadow: 0 0 0 4px rgba(99,102,241,.08);
}

.grey-areas-section .container,
.risk-signal-section .container,
.review-proof-section .container { max-width: 1280px; }

.mosaic-grid {
  grid-template-columns: minmax(360px, 1.05fr) 1fr 1fr;
  gap: 22px;
}
.mosaic-card {
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(215,223,238,0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 16px 36px -16px rgba(15, 23, 42, 0.09), inset 0 1px 0 rgba(255,255,255,0.7);
}
.mosaic-card-tall {
  justify-content: flex-start;
  min-height: 640px;
}
.mosaic-visual-frame {
  min-height: 260px;
  padding: 26px;
  border-bottom: 1px solid #ecf1f8;
}
.mosaic-card-content {
  padding: 30px 28px 30px;
}
.mosaic-card-title { font-size: 1.45rem; }
.mosaic-card-body { font-size: 1.02rem; line-height: 1.72; }
.mosaic-card-emphasis { font-size: .96rem; line-height: 1.55; }

.mosaic-folder-composition {
  position: relative;
  width: 100%;
  height: 210px;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,0.4), rgba(255,255,255,0.18));
  overflow: hidden;
}
.folder-glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(14px);
  opacity: .55;
}
.folder-glow-blue { width: 150px; height: 150px; background: rgba(96,165,250,.45); left: -18px; bottom: -42px; }
.folder-glow-rose { width: 160px; height: 160px; background: rgba(251,113,133,.32); right: -24px; top: -50px; }
.folder-glass {
  position: absolute;
  width: 148px;
  height: 112px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(190,205,255,0.22), rgba(164,180,252,0.08));
  border: 1px solid rgba(255,255,255,.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.folder-left { left: 24px; bottom: 20px; transform: rotate(-10deg); }
.folder-right { right: 22px; top: 18px; transform: rotate(8deg); background: linear-gradient(180deg, rgba(255,218,230,0.24), rgba(251,191,208,0.08)); }
.folder-document-card {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 168px;
  min-height: 120px;
  padding: 18px 16px 20px;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: 0 16px 28px -12px rgba(15,23,42,.18);
}
.folder-doc-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: #ecf3ff;
  color: #2451da;
  font-size: .62rem;
  font-family: 'Sora', sans-serif;
  font-weight: 700;
  letter-spacing: .06em;
}
.folder-doc-line {
  height: 4px;
  border-radius: 999px;
  background: #93a6cb;
  margin-top: 14px;
}
.folder-doc-line-strong { width: 82%; background: #1e293b; }
.folder-doc-line:not(.folder-doc-line-strong) { width: 70%; }
.folder-doc-line-short { width: 58%; }
.folder-doc-badge {
  margin-top: 16px;
  margin-left: auto;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg,#2563eb,#3b82f6);
  color: #fff;
  font-size: .62rem;
  font-family: 'Sora', sans-serif;
  font-weight: 800;
  letter-spacing: .04em;
}
.mosaic-card-stat-blue,
.mosaic-card-stat-light,
.mosaic-card-feature {
  background: linear-gradient(160deg, rgba(240,247,255,.88) 0%, rgba(255,255,255,.78) 100%);
}
.mosaic-card-info {
  background: linear-gradient(160deg, rgba(255,255,255,.88), rgba(249,251,255,.78));
}
.mosaic-tag-pill {
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.grey-areas-cta {
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(223,228,238,.9);
  box-shadow: 0 16px 42px -18px rgba(15,23,42,.14);
}

.risk-signal-section {
  padding: 26px 0 10px;
}
.risk-signal-card {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 28px;
  border-radius: 30px;
  padding: 38px;
  background: linear-gradient(135deg, rgba(16,24,70,.98), rgba(26,37,104,.95) 48%, rgba(64,46,144,.92));
  color: #fff;
  box-shadow: 0 28px 60px -24px rgba(15,23,42,.36);
  border: 1px solid rgba(140, 159, 255, 0.18);
}
.risk-signal-card .section-kicker,
.risk-signal-card .heading-lg,
.risk-signal-card p,
.risk-signal-card li { color: inherit; }
.risk-signal-card .section-kicker { color: #c7d2fe; }
.risk-signal-copy p { color: #d7ddf5; max-width: 780px; line-height: 1.72; }
.risk-signal-list { list-style:none; padding:0; margin:18px 0 16px; display:grid; grid-template-columns:1fr; gap:10px; }
.risk-signal-list li { position:relative; padding-left:20px; font-weight:600; color:#ffffff; }
.risk-signal-list li::before { content:""; position:absolute; left:0; top:.62em; width:8px; height:8px; border-radius:50%; background:linear-gradient(135deg,#ef4444,#fb7185); box-shadow:0 0 0 5px rgba(251,113,133,.12); }
.risk-signal-note { font-size:.92rem; color:#b8c5ee !important; }
.risk-signal-stat {
  padding: 28px 26px;
  border-radius: 24px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  background: rgba(255,255,255,0.1);
  color: #fff;
}
.risk-signal-stat-label { font-size:.8rem; font-weight:700; letter-spacing:.1em; color:#c7d2fe; text-transform:uppercase; }
.risk-signal-big { font-family:'Sora',sans-serif; font-size: clamp(3.4rem, 8vw, 5.6rem); font-weight:800; line-height: .92; letter-spacing:-.05em; }
.risk-signal-stat p { color:#d8e0ff; font-size:.92rem; line-height:1.6; }
.risk-signal-stat .btn { width: fit-content; margin-top: 6px; }

.review-proof-section { padding: 0 0 32px; }
.review-proof-header { max-width: 760px; margin-bottom: 26px; }
.review-proof-header p { color: #66748c; font-size: 1.04rem; line-height: 1.7; }
.review-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.review-proof-card {
  padding: 26px;
  border-radius: 24px;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.review-stars {
  color: #f59e0b;
  font-size: 1.1rem;
  letter-spacing: .22em;
}
.review-proof-card h3 { font-size: 1.3rem; line-height: 1.25; color: #0f172a; margin: 0; }
.review-proof-card p { color: #5d6a82; line-height: 1.7; margin: 0; }
.review-tag {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(39,51,117,0.08);
  border: 1px solid rgba(99,102,241,0.14);
  color: #273375;
  font-weight: 700;
  font-size: .82rem;
}

.toolkit-offer-grid {
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 24px 56px -24px rgba(2,6,23,.42);
}
.toolkit-offer-copy {
  background: linear-gradient(135deg, rgba(37,52,141,.92), rgba(43,56,158,.94) 52%, rgba(91,49,205,.92));
}
.toolkit-purchase-card {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.dark-container-card {
  background: radial-gradient(circle at top center, rgba(88,105,255,.08), transparent 40%), linear-gradient(180deg,#090c2a 0%, #12143c 100%);
  border: 1px solid rgba(136,146,214,.18);
}
.expert-header { max-width: 980px; margin: 0 auto 22px; }
.expert-cta-row {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.expert-top-cta { min-width: 220px; justify-content: center; }
.expert-service-card {
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.045));
  border: 1px solid rgba(183,193,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 36px -24px rgba(0,0,0,.48);
}
.expert-service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(183,193,255,.28);
}
.service-cta {
  width: 100%;
  justify-content: center;
  margin-top: 24px;
  font-size: .95rem;
}
.expert-fee-note { color:#aeb7dc; }

.cta-banner {
  background: linear-gradient(135deg, rgba(10,12,39,.98), rgba(16,20,58,.95) 54%, rgba(21,17,69,.93));
  border: 1px solid rgba(135,146,217,.18);
  box-shadow: 0 24px 58px -26px rgba(2,6,23,.4);
}
.cta-banner .hero-subtitle { color: #cad4ff; }
.final-cta-actions { gap: 16px; }
.final-cta-button { color: #fff !important; }
.cta-badges { color: #d0d7fb; font-weight: 500; }
.cta-badges span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.cta-badges span::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #a5b4fc;
}

@media (max-width: 1080px) {
  .mosaic-grid { grid-template-columns: 1fr 1fr; }
  .risk-signal-card,
  .toolkit-offer-grid,
  .review-proof-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1024px) {
  .mosaic-card-tall { min-height: auto; }
}

@media (max-width: 768px) {
  .hero-stars-pill { font-size: .84rem; }
  .mosaic-grid { grid-template-columns: 1fr; }
  .mosaic-card-tall { grid-row: auto; }
  .mosaic-visual-frame { min-height: 220px; }
  .risk-signal-card { padding: 28px 22px; }
  .risk-signal-big { font-size: 3.4rem; }
  .review-proof-card { min-height: auto; }
  .expert-cta-row { flex-direction: column; }
  .expert-top-cta, .service-cta, .final-cta-button { width: 100%; }
}

@media (max-width: 640px) {
  .hero-proof-pills { justify-content: flex-start; }
  .hero-social-proof { align-items: stretch; }
  .hero-stars-pill { justify-content: center; }
}

/* ===== Refinement pass v3: hero client faces, wide toolkit close, original reviews ===== */

.hero-social-proof-with-faces {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:18px auto 4px;
}
.hero-endorsement-pill-image {
  width:min(100%, 540px);
  height:auto;
  display:block;
  border-radius:999px;
  box-shadow:0 16px 36px rgba(18,31,85,.16);
}
.hero-social-proof-with-faces .hero-proof-pills {
  justify-content:center;
}
.hero-social-proof-with-faces .hero-proof-pill {
  background:rgba(255,255,255,.78);
  border:1px solid rgba(157,172,218,.28);
}

.tk-container {
  max-width:1340px;
}
.tk-closing-panel {
  margin-top:28px;
  width:100%;
}
.toolkit-offer-grid-wide {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(380px,.9fr);
  gap:42px;
  align-items:stretch;
  width:100%;
  max-width:1220px;
  margin:0 auto;
  min-height:640px;
  background:linear-gradient(135deg,#25318f 0%,#24349a 42%,#4e36d1 100%);
  border-radius:34px;
  padding:30px;
  box-shadow:0 24px 70px rgba(5,16,58,.22);
}
.toolkit-offer-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
  padding:22px 10px 22px 12px;
}
.tk-closing-heading {
  font-size:clamp(3rem, 6vw, 5rem);
  line-height:.98;
  max-width:620px;
  margin-top:18px;
}
.tk-closing-statement {
  font-size:1.15rem;
  max-width:520px;
  margin-top:18px;
  color:#d9e1ff;
}
.tk-included-list {
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 18px;
  max-width:650px;
}
.tk-included-item {
  justify-content:flex-start;
  padding:14px 16px;
  min-height:64px;
  line-height:1.4;
}
.toolkit-purchase-card-centered {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  min-height:100%;
  border-radius:28px;
  max-width:360px;
  width:100%;
  margin:auto;
  padding:34px 36px;
}
.toolkit-purchase-card-centered ul {
  width:100%;
  text-align:left;
  margin:18px 0 10px;
}
.toolkit-purchase-card-centered .tk-btn-main {
  max-width:290px;
}
.toolkit-purchase-card-centered small {
  display:block;
  margin-top:16px;
  text-align:center;
}

.reviews-original {
  padding:36px 0 44px;
  background:#f4f6fb;
}
.reviews-original-container {
  max-width:1320px;
}
.reviews-original-header {
  text-align:center;
  margin-bottom:40px;
}
.reviews-original-header .section-kicker {
  color:#2f3351;
  letter-spacing:.06em;
  font-weight:600;
}
.reviews-original-header h2 {
  margin-top:12px;
}
.reviews-original-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:42px;
  align-items:start;
}
.review-original-card {
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.review-original-stars {
  color:#f2a519;
  font-size:1.65rem;
  letter-spacing:.14em;
  margin-bottom:16px;
}
.review-original-quote {
  font-size:1.15rem;
  line-height:1.62;
  color:#1f2740;
  margin:0 0 28px;
  max-width:370px;
}
.review-original-person {
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:auto;
  margin-bottom:26px;
  font-size:1rem;
  color:#212941;
}
.review-avatar {
  width:46px;
  height:46px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 8px 16px rgba(18,31,82,.14);
}
.review-proof-wrap {
  min-height:255px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-top:8px;
}
.review-proof-image {
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}
.review-proof-angled {
  max-width:240px;
  transform:rotate(-8deg);
}

@media (max-width: 1100px) {
  .toolkit-offer-grid-wide,
  .reviews-original-grid {
    grid-template-columns:1fr;
  }
  .toolkit-offer-grid-wide {
    min-height:auto;
  }
  .toolkit-purchase-card-centered {
    max-width:560px;
  }
  .review-original-card {
    padding-bottom:10px;
    border-bottom:1px solid rgba(190,198,216,.65);
  }
  .review-original-card:last-child { border-bottom:none; }
}
@media (max-width: 768px) {
  .tk-closing-heading { font-size:clamp(2.45rem,10vw,3.4rem); }
  .tk-included-list { grid-template-columns:1fr; }
  .toolkit-offer-grid-wide { padding:22px; gap:24px; }
  .review-original-quote { max-width:none; }
  .review-proof-wrap { min-height:180px; }
}

/* ===== Refinement pass v4: transparent hero proof, full-width pricing, interactive original reviews ===== */
.hero-endorsement-pill-image {
  width:min(100%, 496px);
  background:transparent !important;
  border-radius:0;
  box-shadow:none;
  filter:drop-shadow(0 12px 16px rgba(24,37,94,.18));
}
.hero-proof-stars-line {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  color:#263578;
  font-family:'Sora',sans-serif;
  font-weight:700;
  font-size:1rem;
  line-height:1.2;
  margin-top:2px;
}
.hero-proof-stars-line span {
  color:#f59e0b;
  letter-spacing:.14em;
  font-size:1.22rem;
}

/* Remove the previous narrow closing-card constraint and make the offer match the slider width. */
.tk-closing-panel {
  max-width:none !important;
  width:100% !important;
  margin:34px 0 0 !important;
  padding:0 !important;
  border-top:0 !important;
  background:transparent !important;
  overflow:visible !important;
  text-align:left !important;
}
.toolkit-offer-grid-wide {
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  grid-template-columns:minmax(0,1.35fr) minmax(380px,.85fr) !important;
  min-height:650px;
  padding:34px 38px !important;
  border-radius:28px !important;
}
.toolkit-offer-copy {
  padding:34px 28px !important;
  justify-content:center;
}
.toolkit-purchase-card-centered {
  align-self:center;
  justify-self:center;
  width:min(100%,390px) !important;
  max-width:390px !important;
  min-height:560px !important;
  padding:38px 34px !important;
}

/* Interactive original testimonials */
.reviews-interactive {
  padding:46px 0 58px;
  background:linear-gradient(180deg,#f5f7fc 0%,#eef2f9 100%);
}
.reviews-carousel-container {
  max-width:1280px;
}
.reviews-original-header p {
  max-width:720px;
  margin:14px auto 0;
  color:#65728b;
  font-size:1rem;
  line-height:1.65;
}
.reviews-carousel-shell {
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 52px;
  align-items:center;
  gap:18px;
}
.reviews-carousel-viewport {
  overflow:hidden;
  border-radius:30px;
  outline:none;
  box-shadow:0 24px 70px rgba(20,31,72,.13);
}
.reviews-carousel-track {
  display:flex;
  width:100%;
  transition:transform .55s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
.review-carousel-slide {
  flex:0 0 100%;
  min-width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:44px;
  align-items:center;
  min-height:510px;
  padding:46px 52px;
  background:
    radial-gradient(440px 240px at 0% 0%,rgba(100,127,255,.13),transparent 65%),
    radial-gradient(380px 260px at 100% 0%,rgba(224,102,255,.10),transparent 68%),
    rgba(255,255,255,.92);
  border:1px solid rgba(154,171,218,.28);
}
.review-carousel-slide[aria-hidden="true"] {
  pointer-events:none;
}
.review-carousel-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.review-carousel-copy blockquote {
  margin:12px 0 30px;
  max-width:650px;
  color:#172039;
  font-size:clamp(1.35rem,2.1vw,2.05rem);
  line-height:1.45;
  letter-spacing:-.025em;
  font-weight:500;
}
.review-carousel-copy .review-original-person {
  margin:0;
}
.review-carousel-copy .review-original-person div {
  display:flex;
  flex-direction:column;
  gap:4px;
}
.review-carousel-copy .review-original-person strong {
  font-family:'Sora',sans-serif;
  color:#19223c;
  font-size:1rem;
}
.review-carousel-copy .review-original-person span {
  color:#77839b;
  font-size:.86rem;
}
.review-carousel-proof {
  border:0;
  background:rgba(248,250,255,.78);
  border-radius:24px;
  padding:22px;
  min-height:380px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  cursor:zoom-in;
  box-shadow:inset 0 0 0 1px rgba(176,190,226,.34),0 18px 42px rgba(24,37,94,.09);
  transition:transform .25s ease,box-shadow .25s ease;
}
.review-carousel-proof:hover,
.review-carousel-proof:focus-visible {
  transform:translateY(-5px);
  box-shadow:inset 0 0 0 1px rgba(130,151,218,.44),0 26px 54px rgba(24,37,94,.14);
  outline:none;
}
.review-carousel-proof img {
  display:block;
  width:100%;
  max-height:300px;
  object-fit:contain;
}
.review-carousel-proof span {
  color:#304482;
  font-family:'Sora',sans-serif;
  font-size:.78rem;
  font-weight:700;
}
.reviews-carousel-arrow {
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(111,130,188,.28);
  background:rgba(255,255,255,.82);
  color:#253572;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(18,31,82,.10);
  transition:transform .2s ease,background .2s ease;
}
.reviews-carousel-arrow:hover { transform:scale(1.06); background:#fff; }
.reviews-carousel-dots {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:22px;
}
.reviews-carousel-dots button {
  width:10px;
  height:10px;
  border-radius:999px;
  border:0;
  background:#c9d1e6;
  cursor:pointer;
  transition:width .25s ease,background .25s ease;
}
.reviews-carousel-dots button.is-active {
  width:34px;
  background:linear-gradient(90deg,#2949c9,#6046d7);
}

@media (max-width: 1050px) {
  .toolkit-offer-grid-wide {
    grid-template-columns:1fr !important;
  }
  .toolkit-purchase-card-centered {
    min-height:auto !important;
    max-width:620px !important;
  }
  .review-carousel-slide {
    grid-template-columns:1fr;
    gap:28px;
    padding:38px;
  }
  .review-carousel-proof { min-height:300px; }
}
@media (max-width: 720px) {
  .hero-proof-stars-line { flex-direction:column; gap:5px; }
  .toolkit-offer-grid-wide { padding:22px !important; }
  .toolkit-offer-copy { padding:22px 8px !important; }
  .reviews-carousel-shell { grid-template-columns:1fr; }
  .reviews-carousel-arrow {
    position:absolute;
    z-index:3;
  }
  .reviews-carousel-shell { position:relative; }
  .reviews-carousel-prev { left:12px; top:50%; }
  .reviews-carousel-next { right:12px; top:50%; }
  .review-carousel-slide { padding:30px 24px; }
  .review-carousel-copy blockquote { font-size:1.25rem; }
}

/* ===== Build 4.1 testimonial proof cleanup ===== */
.review-carousel-proof.review-proof-plain {
  appearance:none;
  border:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  padding:0;
  margin:0;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.review-carousel-proof.review-proof-plain:hover,
.review-carousel-proof.review-proof-plain:focus-visible {
  transform:none;
  background:transparent;
  box-shadow:none;
  outline:none;
}
.review-carousel-proof.review-proof-plain img {
  width:auto;
  max-width:92%;
  max-height:360px;
  height:auto;
  object-fit:contain;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  display:block;
}
.review-carousel-copy .review-original-person {
  align-items:center;
}
.review-carousel-copy .review-avatar {
  width:50px;
  height:50px;
  border-radius:50%;
  object-fit:contain;
  object-position:center;
  background:transparent;
  border:0;
  box-shadow:none;
  display:block;
}
@media (max-width: 900px) {
  .review-carousel-proof.review-proof-plain img {
    max-height:300px;
  }
}
.review-carousel-proof.review-proof-plain { cursor:default; }
