/*
Theme Name:  CoreMindVision
Theme URI:   https://coremindvision.com
Author:      CoreMindVision
Author URI:  https://coremindvision.com
Description: A clean, modern, high-converting corporate WordPress theme for CoreMindVision — AI for Smart Industry.
Version:     1.1.0
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: coremindvision
Tags:        corporate, ai, technology, responsive, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* =====================================================
   CSS CUSTOM PROPERTIES
   Color DNA extracted from CoreMindVision logo:
   - Electric Blue  (#1A6ED8 → #3D8EF0)  — "CoreMind" text
   - Vivid Purple   (#7B2FF7 → #A855F7)  — "Vision" text + orbit arc
   - Near-black bg  (#05070F)            — logo background
   - Neural accents: orange, cyan, pink, green — brain nodes
   ===================================================== */
:root {
  /* ── Primary: Electric Blue ── */
  --color-primary:        #1A6ED8;
  --color-primary-dark:   #0D4FA3;
  --color-primary-light:  #3D8EF0;
  --color-primary-xlight: #6AAEF6;

  /* ── Accent: Vivid Purple ── */
  --color-accent:         #7B2FF7;
  --color-accent-dark:    #5A1EC2;
  --color-accent-light:   #A855F7;
  --color-accent-xlight:  #C084FC;

  /* ── Brand gradients (blue → purple, mirrors logo text) ── */
  --gradient-brand:       linear-gradient(135deg, #1A6ED8 0%, #7B2FF7 100%);
  --gradient-brand-h:     linear-gradient(90deg,  #1A6ED8 0%, #7B2FF7 100%);
  --gradient-brand-rev:   linear-gradient(135deg, #7B2FF7 0%, #1A6ED8 100%);
  --gradient-glow-blue:   radial-gradient(ellipse at center, rgba(26,110,216,0.35) 0%, transparent 70%);
  --gradient-glow-purple: radial-gradient(ellipse at center, rgba(123,47,247,0.30) 0%, transparent 70%);

  /* ── Neural/brain accent colors (from illustration nodes) ── */
  --color-neural-orange: #FF8C42;
  --color-neural-cyan:   #00D4FF;
  --color-neural-green:  #39D98A;
  --color-neural-pink:   #FF4B8B;

  /* ── Dark backgrounds ── */
  --color-bg-hero:       #05070F;
  --color-bg-dark:       #080B14;
  --color-bg-dark2:      #0C1121;
  --color-bg-dark3:      #101828;
  --color-bg-dark-card:  #111827;

  /* ── Light / neutral backgrounds ── */
  --color-bg:            #FFFFFF;
  --color-bg-alt:        #F5F7FF;
  --color-bg-section:    #EEF2FF;
  --color-off-white:     #F8F9FF;
  --color-light-gray:    #EDEEF5;
  --color-mid-gray:      #C8CCE0;
  --color-border:        #E2E5F0;
  --color-border-dark:   rgba(255,255,255,0.10);
  --color-white:         #FFFFFF;

  /* ── Text ── */
  --color-text:           #0D1324;
  --color-text-light:     #3D4566;
  --color-text-muted:     #6B7399;
  --color-text-on-dark:   rgba(255,255,255,0.85);
  --color-text-muted-dark:rgba(255,255,255,0.50);

  /* ── Typography ── */
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body:    'DM Sans', 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-md:   1.125rem;
  --text-lg:   1.25rem;
  --text-xl:   1.5rem;
  --text-2xl:  1.875rem;
  --text-3xl:  2.25rem;
  --text-4xl:  3rem;
  --text-5xl:  3.75rem;
  --text-6xl:  4.5rem;

  /* ── Spacing ── */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* ── Radius ── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  24px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm:     0 1px 3px rgba(0,0,0,0.10), 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md:     0 4px 16px rgba(0,0,0,0.12), 0 2px 4px rgba(0,0,0,0.06);
  --shadow-lg:     0 10px 40px rgba(0,0,0,0.14), 0 4px 8px rgba(0,0,0,0.08);
  --shadow-xl:     0 20px 60px rgba(0,0,0,0.18), 0 8px 16px rgba(0,0,0,0.10);
  --shadow-blue:   0 6px 24px rgba(26,110,216,0.35);
  --shadow-purple: 0 6px 24px rgba(123,47,247,0.35);
  --shadow-card:   0 2px 20px rgba(26,110,216,0.10);
  --shadow-glow:   0 0 40px rgba(26,110,216,0.20), 0 0 80px rgba(123,47,247,0.15);

  /* ── Transitions ── */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;
  --transition-smooth: 300ms cubic-bezier(0.4, 0, 0.2, 1);

  /* ── Layout ── */
  --container-max:    1200px;
  --container-wide:   1440px;
  --container-narrow: 760px;
  --header-height:    80px;
}

/* =====================================================
   RESET & BASE
   ===================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--color-text);
  background: var(--color-bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: var(--color-primary); text-decoration: none; transition: color var(--transition-base); }
a:hover { color: var(--color-primary-light); }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* =====================================================
   TYPOGRAPHY
   ===================================================== */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-text);
  letter-spacing: -0.02em;
}
h1 { font-size: clamp(var(--text-3xl), 5vw, var(--text-5xl)); }
h2 { font-size: clamp(var(--text-2xl), 3.5vw, var(--text-4xl)); }
h3 { font-size: clamp(var(--text-xl), 2.5vw, var(--text-2xl)); }
h4 { font-size: var(--text-xl); }
h5 { font-size: var(--text-lg); }
h6 { font-size: var(--text-base); }
p  { margin-bottom: var(--space-4); }
p:last-child { margin-bottom: 0; }
.lead { font-size: var(--text-lg); color: var(--color-text-light); line-height: 1.8; }

/* Gradient text — mirrors logo color treatment */
.text-gradient {
  background: var(--gradient-brand-h);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* =====================================================
   LAYOUT
   ===================================================== */
.container        { max-width: var(--container-max);    margin-inline: auto; padding-inline: var(--space-6); }
.container--wide  { max-width: var(--container-wide);   margin-inline: auto; padding-inline: var(--space-6); }
.container--narrow{ max-width: var(--container-narrow); margin-inline: auto; padding-inline: var(--space-6); }

.section      { padding-block: var(--space-20); }
.section--lg  { padding-block: var(--space-24); }
.section--alt { background: var(--color-bg-alt); }
.section--dark{ background: var(--color-bg-dark); color: var(--color-white); }
.section--tinted { background: var(--color-bg-section); }

.section__header {
  text-align: center;
  max-width: 680px;
  margin-inline: auto;
  margin-bottom: var(--space-16);
}

.section__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 600;
  font-family: var(--font-body);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: var(--space-4);
}
.section__eyebrow::before {
  content: '';
  display: block;
  width: 24px; height: 2px;
  background: var(--gradient-brand-h);
  border-radius: 2px;
}

.section__title { margin-bottom: var(--space-5); }
.section__desc  { font-size: var(--text-md); color: var(--color-text-light); line-height: 1.8; }

.section--dark .section__eyebrow       { color: var(--color-primary-xlight); }
.section--dark .section__eyebrow::before{ background: var(--gradient-brand-h); }
.section--dark h2, .section--dark h3   { color: var(--color-white); }
.section--dark .section__desc          { color: var(--color-text-muted-dark); }

/* =====================================================
   GRID
   ===================================================== */
.grid           { display: grid; gap: var(--space-8); }
.grid--2        { grid-template-columns: repeat(2, 1fr); }
.grid--3        { grid-template-columns: repeat(3, 1fr); }
.grid--4        { grid-template-columns: repeat(4, 1fr); }
.grid--auto-fit { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

/* =====================================================
   BUTTONS
   ===================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: all var(--transition-smooth);
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}
.btn::after {
  content: '';
  position: absolute; inset: 0;
  background: rgba(255,255,255,0.10);
  opacity: 0;
  transition: opacity var(--transition-fast);
}
.btn:hover::after { opacity: 1; }

.btn--primary {
  background: var(--gradient-brand);
  color: var(--color-white);
  border-color: transparent;
  box-shadow: var(--shadow-blue);
}
.btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(26,110,216,0.42), 0 4px 14px rgba(123,47,247,0.28);
  color: var(--color-white);
}

.btn--outline {
  background: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.btn--outline:hover {
  background: var(--gradient-brand);
  color: var(--color-white);
  border-color: transparent;
  transform: translateY(-2px);
}

.btn--outline-white {
  background: transparent;
  color: var(--color-white);
  border-color: rgba(255,255,255,0.40);
}
.btn--outline-white:hover {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.80);
  color: var(--color-white);
  transform: translateY(-2px);
}

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

.btn--white {
  background: var(--color-white);
  color: var(--color-primary-dark);
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(0,0,0,0.15);
}
.btn--white:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.20);
  color: var(--color-accent);
}

.btn--lg { padding: var(--space-4) var(--space-8); font-size: var(--text-md); }
.btn--sm { padding: var(--space-2) var(--space-4); font-size: var(--text-sm); }

.btn .btn-arrow { transition: transform var(--transition-fast); }
.btn:hover .btn-arrow { transform: translateX(4px); }

/* =====================================================
   HEADER / NAVIGATION
   ===================================================== */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: rgba(5,7,15,0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(26,110,216,0.12);
  height: var(--header-height);
  transition: background var(--transition-slow), border-color var(--transition-base), box-shadow var(--transition-base);
}
.site-header.scrolled {
  background: rgba(5,7,15,0.96);
  border-color: rgba(26,110,216,0.22);
  box-shadow: 0 4px 30px rgba(0,0,0,0.55);
}

/* Light header on inner (non-front) pages */
body:not(.is-front-page) .site-header {
  background: rgba(255,255,255,0.97);
  border-color: var(--color-border);
}
body:not(.is-front-page) .site-header.scrolled {
  box-shadow: var(--shadow-sm);
  background: #fff;
}
body:not(.is-front-page) .logo-name       { color: var(--color-text); }
body:not(.is-front-page) .logo-tagline    { color: var(--color-text-muted); }
body:not(.is-front-page) .primary-nav a   { color: var(--color-text-light); }
body:not(.is-front-page) .primary-nav a:hover { color: var(--color-primary); background: rgba(26,110,216,0.06); }
body:not(.is-front-page) .header-toolkit-link { color: var(--color-text-muted); }
body:not(.is-front-page) .menu-toggle span{ background: var(--color-text); }

.header-inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-6);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-8);
}

/* Logo */
.site-logo { display: flex; align-items: center; gap: var(--space-3); text-decoration: none; flex-shrink: 0; }
.site-logo img,
.custom-logo { height: 48px; width: auto; max-width: 220px; object-fit: contain; }

.logo-mark {
  width: 42px; height: 42px;
  background: var(--gradient-brand);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 14px rgba(26,110,216,0.40);
  flex-shrink: 0;
}
.logo-mark svg { width: 22px; height: 22px; fill: white; }

.logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.logo-name    { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 700; color: var(--color-white); letter-spacing: -0.02em; }
.logo-tagline { font-size: var(--text-xs); color: rgba(255,255,255,0.45); letter-spacing: 0.05em; font-weight: 500; }

/* Nav links */
.primary-nav { display: flex; align-items: center; }
.primary-nav ul { display: flex; align-items: center; gap: var(--space-1); }
.primary-nav li { position: relative; }
.primary-nav a {
  display: block;
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-sm); font-weight: 500;
  color: rgba(255,255,255,0.78);
  border-radius: var(--radius-sm);
  transition: color var(--transition-fast), background var(--transition-fast);
}
.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a {
  color: var(--color-primary-xlight);
  background: rgba(26,110,216,0.15);
}

/* Dropdown */
.primary-nav .sub-menu {
  position: absolute;
  top: calc(100% + var(--space-2)); left: 0;
  background: var(--color-bg-dark3);
  border: 1px solid rgba(26,110,216,0.20);
  border-radius: var(--radius-lg);
  box-shadow: 0 16px 48px rgba(0,0,0,0.60);
  min-width: 210px; padding: var(--space-2);
  opacity: 0; visibility: hidden;
  transform: translateY(8px);
  transition: all var(--transition-smooth);
  z-index: 100;
  /* Force vertical single-column stack */
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: var(--space-1);
}
.primary-nav li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.primary-nav .sub-menu li { width: 100%; flex: none; }
.primary-nav .sub-menu a {
  display: block;
  width: 100%;
  color: rgba(255,255,255,0.72);
  font-size: var(--text-sm);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  white-space: nowrap;
}
.primary-nav .sub-menu a:hover { color: white; background: rgba(26,110,216,0.18); }

/* Header CTA */
.header-cta { display: flex; align-items: center; gap: var(--space-3); flex-shrink: 0; }

.header-toolkit-link {
  display: flex; align-items: center; gap: var(--space-2);
  font-size: var(--text-sm); font-weight: 600;
  color: rgba(255,255,255,0.55);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  transition: color var(--transition-fast);
}
.header-toolkit-link:hover { color: var(--color-primary-xlight); }
.header-toolkit-link .ext-icon { font-size: 10px; opacity: 0.6; }

/* Mobile toggle */
.menu-toggle { display: none; flex-direction: column; gap: 5px; padding: var(--space-2); border-radius: var(--radius-sm); }
.menu-toggle span { display: block; width: 24px; height: 2px; background: rgba(255,255,255,0.85); transition: all var(--transition-base); transform-origin: center; }
.menu-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* =====================================================
   HERO — Full dark, neural atmosphere
   ===================================================== */
.hero {
  padding-top:    calc(var(--header-height) + var(--space-16));
  padding-bottom: var(--space-20);
  background:     var(--color-bg-hero);
  position:       relative;
  overflow:       hidden;
  min-height:     100vh;
  display:        flex;
  align-items:    center;
}

/* Blue glow — top right */
.hero::before {
  content: '';
  position: absolute;
  top: -20%; right: -15%;
  width: 70vw; height: 70vw;
  background: radial-gradient(ellipse, rgba(26,110,216,0.16) 0%, rgba(26,110,216,0.03) 50%, transparent 70%);
  pointer-events: none; border-radius: 50%;
}

/* Purple glow — bottom left */
.hero::after {
  content: '';
  position: absolute;
  bottom: -15%; left: -15%;
  width: 60vw; height: 60vw;
  background: radial-gradient(ellipse, rgba(123,47,247,0.16) 0%, rgba(123,47,247,0.03) 50%, transparent 70%);
  pointer-events: none; border-radius: 50%;
}

/* Neural grid */
.hero-grid-overlay {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(26,110,216,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26,110,216,0.045) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 40%, black 20%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 40%, black 20%, transparent 100%);
}

/* Floating neural node particles */
.hero-particles { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.hero-particles span {
  position: absolute;
  width: 4px; height: 4px;
  border-radius: 50%;
  animation: float-node 8s ease-in-out infinite;
  opacity: 0.65;
}
.hero-particles span:nth-child(1)  { top:18%; left:12%; background:#1A6ED8; animation-delay:0s;   animation-duration:7s;  }
.hero-particles span:nth-child(2)  { top:35%; left:8%;  background:#7B2FF7; animation-delay:1s;   animation-duration:9s;  width:3px; height:3px; }
.hero-particles span:nth-child(3)  { top:62%; left:18%; background:#FF8C42; animation-delay:2s;   animation-duration:6s;  width:5px; height:5px; }
.hero-particles span:nth-child(4)  { top:75%; left:5%;  background:#1A6ED8; animation-delay:0.5s; animation-duration:10s; }
.hero-particles span:nth-child(5)  { top:10%; left:45%; background:#A855F7; animation-delay:3s;   animation-duration:8s;  width:3px; height:3px; }
.hero-particles span:nth-child(6)  { top:85%; left:55%; background:#00D4FF; animation-delay:1.5s; animation-duration:7s;  }
.hero-particles span:nth-child(7)  { top:22%; left:72%; background:#7B2FF7; animation-delay:4s;   animation-duration:9s;  width:5px; height:5px; }
.hero-particles span:nth-child(8)  { top:50%; left:88%; background:#1A6ED8; animation-delay:2.5s; animation-duration:8s;  }
.hero-particles span:nth-child(9)  { top:68%; left:78%; background:#FF4B8B; animation-delay:0.8s; animation-duration:11s; width:3px; height:3px; }
.hero-particles span:nth-child(10) { top:90%; left:35%; background:#39D98A; animation-delay:3.5s; animation-duration:7s;  }

@keyframes float-node {
  0%,100% { transform:translate(0,0) scale(1);          opacity:0.60; }
  25%     { transform:translate(6px,-10px) scale(1.2);  opacity:1;    }
  50%     { transform:translate(-4px,-18px) scale(0.9); opacity:0.45; }
  75%     { transform:translate(8px,-8px) scale(1.1);   opacity:0.80; }
}

.hero > .container { position: relative; z-index: 2; width: 100%; }

.hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: var(--space-16);
}

/* Left: content */
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: rgba(26,110,216,0.12);
  color: var(--color-primary-xlight);
  font-size: var(--text-sm); font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-full);
  border: 1px solid rgba(26,110,216,0.30);
  margin-bottom: var(--space-6);
  backdrop-filter: blur(8px);
}
.hero-eyebrow .dot {
  width: 6px; height: 6px;
  background: var(--color-neural-cyan);
  border-radius: 50%;
  box-shadow: 0 0 6px var(--color-neural-cyan);
  animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot {
  0%,100%{ opacity:1; transform:scale(1);   box-shadow:0 0 6px var(--color-neural-cyan); }
  50%    { opacity:.5; transform:scale(1.4); box-shadow:0 0 14px var(--color-neural-cyan); }
}

.hero-title {
  font-size: clamp(2.4rem, 5.5vw, 4.2rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--color-white);
  margin-bottom: var(--space-6);
}

/* Key words inherit logo gradient */
.hero-title .highlight {
  background: var(--gradient-brand-h);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-subtitle {
  font-size: var(--text-lg);
  color: rgba(255,255,255,0.78);
  line-height: 1.75;
  margin-bottom: var(--space-8);
  max-width: 500px;
}

.hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; }

.hero-stats {
  display: flex;
  gap: var(--space-8);
  margin-top: var(--space-10);
  padding-top: var(--space-8);
  border-top: 1px solid rgba(255,255,255,0.08);
}
.hero-stat__num {
  font-family: var(--font-heading);
  font-size: var(--text-2xl); font-weight: 800;
  background: var(--gradient-brand-h);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1; margin-bottom: var(--space-1);
}
.hero-stat__label { font-size: var(--text-sm); color: rgba(255,255,255,0.48); font-weight: 500; }

/* Right: video */
.hero-media { position: relative; }

.video-wrapper {
  position: relative;
  border-radius: var(--radius-2xl);
  overflow: hidden;
  background: var(--color-bg-dark2);
  aspect-ratio: 16/9;
  box-shadow:
    0 0 0 1px rgba(26,110,216,0.28),
    0 0 0 4px rgba(26,110,216,0.07),
    var(--shadow-xl),
    0 0 70px rgba(26,110,216,0.16),
    0 0 120px rgba(123,47,247,0.10);
}
.video-wrapper::before {
  content: '';
  position: absolute; inset: -1px;
  border-radius: calc(var(--radius-2xl) + 1px);
  background: linear-gradient(135deg, rgba(26,110,216,0.55), rgba(123,47,247,0.38));
  z-index: -1;
}

.video-thumbnail {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  cursor: pointer;
  transition: transform var(--transition-slow);
}
.video-thumbnail:hover { transform: scale(1.03); }

.video-play-btn {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 76px; height: 76px;
  background: rgba(255,255,255,0.10);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  border: 2px solid rgba(255,255,255,0.25);
  box-shadow: 0 8px 32px rgba(0,0,0,0.40), var(--shadow-glow);
  transition: all var(--transition-smooth);
  z-index: 10;
}
.video-play-btn:hover {
  transform: translate(-50%, -50%) scale(1.12);
  background: rgba(26,110,216,0.30);
  border-color: rgba(26,110,216,0.80);
  box-shadow: 0 12px 40px rgba(0,0,0,0.50), 0 0 50px rgba(26,110,216,0.55);
}
.video-play-btn svg { width: 28px; height: 28px; fill: var(--color-white); margin-left: 4px; }

.video-overlay { position: absolute; inset: 0; background: rgba(5,7,15,0.28); cursor: pointer; transition: background var(--transition-base); }
.video-overlay:hover { background: rgba(5,7,15,0.12); }

.video-iframe-container { position: absolute; inset: 0; display: none; }
.video-iframe-container.active { display: block; }
.video-iframe-container iframe { width: 100%; height: 100%; border: none; }

.video-badge {
  position: absolute;
  bottom: var(--space-5); left: var(--space-5);
  background: rgba(8,11,20,0.88);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(26,110,216,0.30);
  border-radius: var(--radius-lg);
  padding: var(--space-3) var(--space-4);
  display: flex; align-items: center; gap: var(--space-3);
  box-shadow: var(--shadow-md); z-index: 5;
}
.video-badge__icon { width:36px; height:36px; background:var(--gradient-brand); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.video-badge__icon svg { width:18px; height:18px; fill:white; }
.video-badge__text strong { display:block; font-size:var(--text-sm); font-weight:700; color:white; line-height:1.2; }
.video-badge__text span   { font-size:var(--text-xs); color:rgba(255,255,255,0.50); }

/* =====================================================
   SERVICES SECTION
   ===================================================== */
.services { background: var(--color-bg); }

.service-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  transition: all var(--transition-smooth);
  position: relative;
  overflow: hidden;
}
.service-card::before {
  content: ''; position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: var(--gradient-brand-h);
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--transition-smooth);
}
.service-card:hover { border-color: rgba(26,110,216,0.20); box-shadow: var(--shadow-card), var(--shadow-lg); transform: translateY(-5px); }
.service-card:hover::before { transform: scaleX(1); }

.service-card__icon {
  width: 56px; height: 56px;
  background: linear-gradient(135deg, rgba(26,110,216,0.10), rgba(123,47,247,0.06));
  border-radius: var(--radius-lg);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: var(--space-5);
  transition: background var(--transition-smooth);
}
.service-card:hover .service-card__icon { background: var(--gradient-brand); }
.service-card__icon svg { width:26px; height:26px; fill:var(--color-primary); transition:fill var(--transition-base); }
.service-card:hover .service-card__icon svg { fill: white; }

.service-card__title { font-size:var(--text-xl); font-weight:700; margin-bottom:var(--space-3); color:var(--color-text); transition:color var(--transition-fast); }
.service-card:hover .service-card__title { color: var(--color-primary); }
.service-card__desc  { font-size:var(--text-base); color:var(--color-text-light); line-height:1.7; margin-bottom:var(--space-5); }
.service-card__link  { display:inline-flex; align-items:center; gap:var(--space-2); font-size:var(--text-sm); font-weight:600; color:var(--color-primary); transition:gap var(--transition-fast); }
.service-card__link:hover { gap: var(--space-3); }

/* =====================================================
   COREMINDLAB SECTION
   ===================================================== */
.coremindlab-section {
  background: var(--color-bg-dark);
  color: var(--color-white);
  position: relative; overflow: hidden;
}
.coremindlab-section::before {
  content: '';
  position: absolute; top:-20%; right:-15%;
  width:60vw; height:60vw;
  background: radial-gradient(ellipse, rgba(26,110,216,0.20) 0%, transparent 65%);
  pointer-events:none; border-radius:50%;
}
.coremindlab-section::after {
  content: '';
  position: absolute; bottom:-15%; left:-10%;
  width:50vw; height:50vw;
  background: radial-gradient(ellipse, rgba(123,47,247,0.18) 0%, transparent 65%);
  pointer-events:none; border-radius:50%;
}

.coremindlab-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:var(--space-16); position:relative; z-index:1; }
.coremindlab-content h2 { color:var(--color-white); margin-bottom:var(--space-5); }
.coremindlab-content h2 span {
  background: var(--gradient-brand-h);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.coremindlab-content p { color:rgba(255,255,255,0.70); font-size:var(--text-md); line-height:1.8; margin-bottom:var(--space-8); }
.coremindlab-cta { display:flex; align-items:center; gap:var(--space-4); margin-top:var(--space-8); }

.coremindlab-tools { display:grid; gap:var(--space-4); }
.tool-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg);
  padding: var(--space-5) var(--space-6);
  display: flex; align-items: flex-start; gap: var(--space-4);
  transition: all var(--transition-smooth);
}
.tool-card:hover { background:rgba(26,110,216,0.10); border-color:rgba(26,110,216,0.35); transform:translateX(6px); box-shadow:0 4px 20px rgba(26,110,216,0.15); }
.tool-card__icon { width:44px; height:44px; background:var(--gradient-brand); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 4px 12px rgba(26,110,216,0.30); }
.tool-card__icon svg { width:20px; height:20px; fill:none; stroke:white; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.tool-card__title { font-family:var(--font-body); font-size:var(--text-base); font-weight:600; color:var(--color-white); margin-bottom:var(--space-1); }
.tool-card__desc  { font-size:var(--text-sm); color:rgba(255,255,255,0.52); line-height:1.6; }

/* =====================================================
   INDUSTRIES
   ===================================================== */
.industries { background: var(--color-bg-alt); }
.industry-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:var(--space-4); }

.industry-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-6) var(--space-5);
  text-align: center;
  transition: all var(--transition-smooth);
}
.industry-card:hover { border-color:rgba(26,110,216,0.30); box-shadow:var(--shadow-card), 0 8px 30px rgba(26,110,216,0.08); transform:translateY(-4px); }
.industry-card__icon { width:64px; height:64px; background:var(--color-light-gray); border-radius:var(--radius-xl); display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-4); transition:all var(--transition-smooth); }
.industry-card:hover .industry-card__icon { background:var(--gradient-brand); }
.industry-card__icon svg { width:28px; height:28px; fill:none; stroke:var(--color-primary); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:stroke var(--transition-base); }
.industry-card:hover .industry-card__icon svg { stroke:white; }
.industry-card__title { font-family:var(--font-body); font-size:var(--text-base); font-weight:600; color:var(--color-text); margin-bottom:var(--space-2); }
.industry-card__desc  { font-size:var(--text-sm); color:var(--color-text-muted); line-height:1.6; }

/* =====================================================
   WHY CHOOSE US
   ===================================================== */
.why-us { background: var(--color-bg); }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-16); align-items:center; }
.why-points { display:flex; flex-direction:column; gap:var(--space-6); margin-top:var(--space-8); }

.why-point {
  display:flex; gap:var(--space-5); align-items:flex-start;
  padding:var(--space-5);
  background: var(--color-bg-alt);
  border-radius:var(--radius-lg);
  border:1px solid var(--color-border);
  transition: all var(--transition-smooth);
}
.why-point:hover { border-color:rgba(26,110,216,0.25); box-shadow:var(--shadow-md), 0 4px 20px rgba(26,110,216,0.08); transform:translateX(4px); }

.why-point__num {
  font-family:var(--font-heading); font-size:var(--text-2xl); font-weight:800;
  background:var(--gradient-brand-h);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  opacity:0.25; line-height:1; min-width:48px;
  transition:opacity var(--transition-smooth);
}
.why-point:hover .why-point__num { opacity:0.55; }

.why-point__title { font-family:var(--font-body); font-size:var(--text-base); font-weight:700; color:var(--color-text); margin-bottom:var(--space-2); }
.why-point__desc  { font-size:var(--text-sm); color:var(--color-text-light); line-height:1.7; }

.why-graphic {
  background: linear-gradient(135deg, var(--color-bg-dark3) 0%, var(--color-bg-dark) 100%);
  border: 1px solid rgba(26,110,216,0.18);
  border-radius: var(--radius-2xl);
  padding: var(--space-10);
  color: white;
  position: relative; overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25), 0 0 60px rgba(26,110,216,0.08);
}
.why-graphic::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:280px; height:280px;
  background:radial-gradient(circle, rgba(26,110,216,0.22) 0%, transparent 70%);
  pointer-events:none; border-radius:50%;
}
.why-graphic::after {
  content:''; position:absolute; bottom:-60px; left:-60px;
  width:220px; height:220px;
  background:radial-gradient(circle, rgba(123,47,247,0.18) 0%, transparent 70%);
  pointer-events:none; border-radius:50%;
}
.why-graphic__heading { font-size:var(--text-2xl); font-weight:700; margin-bottom:var(--space-6); position:relative; }
.why-metric-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-4); position:relative; }

.why-metric {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius-lg);
  padding:var(--space-5); text-align:center;
  transition:all var(--transition-smooth);
}
.why-metric:hover { background:rgba(26,110,216,0.12); border-color:rgba(26,110,216,0.30); }
.why-metric__val {
  font-family:var(--font-heading); font-size:var(--text-3xl); font-weight:800;
  background:var(--gradient-brand-h);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  line-height:1; margin-bottom:var(--space-1);
}
.why-metric__label { font-size:var(--text-xs); color:rgba(255,255,255,0.55); font-weight:500; letter-spacing:0.05em; }

/* =====================================================
   CTA BANNER
   ===================================================== */
.cta-banner {
  background: var(--color-bg-dark);
  padding-block: var(--space-20);
  text-align: center;
  position: relative; overflow: hidden;
}
.cta-banner::before {
  content:''; position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:900px; height:500px;
  background:
    radial-gradient(ellipse 50% 80% at 30% 50%, rgba(26,110,216,0.22) 0%, transparent 70%),
    radial-gradient(ellipse 50% 80% at 70% 50%, rgba(123,47,247,0.18) 0%, transparent 70%);
  pointer-events:none;
}
.cta-banner .container { position:relative; z-index:1; }
.cta-banner__eyebrow { color:rgba(255,255,255,0.50); letter-spacing:0.1em; font-size:var(--text-sm); font-weight:600; text-transform:uppercase; margin-bottom:var(--space-4); }
.cta-banner h2 { color:var(--color-white); font-size:clamp(var(--text-2xl),3.5vw,var(--text-4xl)); margin-bottom:var(--space-5); }
.cta-banner p  { color:rgba(255,255,255,0.70); font-size:var(--text-lg); max-width:560px; margin-inline:auto; margin-bottom:var(--space-8); }
.cta-banner__actions { display:flex; justify-content:center; gap:var(--space-4); flex-wrap:wrap; }

/* =====================================================
   FOOTER
   ===================================================== */
.site-footer {
  background: var(--color-bg-dark);
  color: rgba(255,255,255,0.65);
  border-top: 1px solid rgba(26,110,216,0.14);
  padding-top: var(--space-20);
}
.footer-top {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:var(--space-12); padding-bottom:var(--space-16);
  border-bottom:1px solid rgba(255,255,255,0.07);
}
.footer-logo { display:flex; align-items:center; gap:var(--space-3); margin-bottom:var(--space-5); text-decoration:none; }
.footer-logo .logo-name { color:white; }
.footer-logo .logo-tagline { color:rgba(255,255,255,0.38); }
.footer-logo img, .footer-logo .custom-logo { height:44px; width:auto; }

.footer-brand__desc { font-size:var(--text-sm); line-height:1.8; color:rgba(255,255,255,0.52); max-width:320px; margin-bottom:var(--space-6); }
.footer-social { display:flex; gap:var(--space-3); }
.footer-social a {
  width:36px; height:36px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius-md);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,0.50);
  font-size:var(--text-sm);
  transition:all var(--transition-fast);
}
.footer-social a:hover { background:var(--gradient-brand); border-color:transparent; color:white; box-shadow:var(--shadow-blue); }

.footer-col__title { font-family:var(--font-body); font-size:var(--text-sm); font-weight:700; color:white; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:var(--space-5); }
.footer-col ul { display:flex; flex-direction:column; gap:var(--space-3); }
.footer-col ul li a { font-size:var(--text-sm); color:rgba(255,255,255,0.48); transition:color var(--transition-fast); }
.footer-col ul li a:hover { color:var(--color-primary-xlight); }

.footer-bottom { padding-block:var(--space-6); display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap; }
.footer-copy { font-size:var(--text-sm); color:rgba(255,255,255,0.32); }
.footer-links { display:flex; gap:var(--space-6); }
.footer-links a { font-size:var(--text-sm); color:rgba(255,255,255,0.32); transition:color var(--transition-fast); }
.footer-links a:hover { color:rgba(255,255,255,0.72); }
.footer-toolkit-badge {
  display:flex; align-items:center; gap:var(--space-2);
  background:rgba(26,110,216,0.12); border:1px solid rgba(26,110,216,0.25);
  border-radius:var(--radius-full); padding:var(--space-2) var(--space-4);
  font-size:var(--text-xs); color:rgba(255,255,255,0.62);
  text-decoration:none; transition:all var(--transition-fast);
}
.footer-toolkit-badge:hover { background:rgba(26,110,216,0.22); border-color:rgba(26,110,216,0.50); color:white; }

/* =====================================================
   SCROLL ANIMATIONS
   ===================================================== */
.animate-on-scroll { opacity:0; transform:translateY(28px); transition:opacity 0.65s ease, transform 0.65s ease; }
.animate-on-scroll.in-view { opacity:1; transform:translateY(0); }
.animate-on-scroll.delay-1 { transition-delay:0.10s; }
.animate-on-scroll.delay-2 { transition-delay:0.20s; }
.animate-on-scroll.delay-3 { transition-delay:0.30s; }
.animate-on-scroll.delay-4 { transition-delay:0.40s; }

/* =====================================================
   PAGE / INNER TEMPLATES
   ===================================================== */
.page-header {
  padding-top:    calc(var(--header-height) + var(--space-16));
  padding-bottom: var(--space-16);
  background:     var(--color-bg-hero);
  text-align:     center;
  position:       relative;
  overflow:       hidden;
}
.page-header::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(26,110,216,0.15) 0%, transparent 70%);
  pointer-events:none;
}
.page-header h1   { color:var(--color-white); margin-bottom:var(--space-4); position:relative; }
.page-header .lead{ color:rgba(255,255,255,0.68); max-width:600px; margin-inline:auto; position:relative; }
.page-header .section__eyebrow { position:relative; }

.content-wrap { padding-block: var(--space-20); }
.content-with-sidebar { display:grid; grid-template-columns:1fr 320px; gap:var(--space-12); align-items:start; }

.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-8); }

.post-card { border-radius:var(--radius-xl); overflow:hidden; border:1px solid var(--color-border); transition:all var(--transition-smooth); background:var(--color-white); }
.post-card:hover { box-shadow:var(--shadow-lg), 0 4px 20px rgba(26,110,216,0.08); transform:translateY(-4px); border-color:rgba(26,110,216,0.15); }
.post-card__thumb { aspect-ratio:16/9; overflow:hidden; }
.post-card__thumb img { width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow); }
.post-card:hover .post-card__thumb img { transform:scale(1.05); }
.post-card__body { padding:var(--space-6); }
.post-card__meta { display:flex; align-items:center; gap:var(--space-3); margin-bottom:var(--space-3); font-size:var(--text-xs); color:var(--color-text-muted); font-weight:500; }
.post-card__cat  { color:var(--color-primary); font-weight:600; }
.post-card__title{ font-size:var(--text-lg); margin-bottom:var(--space-3); }
.post-card__title a { color:var(--color-text); }
.post-card__title a:hover { color:var(--color-primary); }
.post-card__excerpt { font-size:var(--text-sm); color:var(--color-text-light); line-height:1.7; }

/* =====================================================
   FORMS
   ===================================================== */
.form-group { margin-bottom:var(--space-5); }
.form-label { display:block; font-size:var(--text-sm); font-weight:600; color:var(--color-text); margin-bottom:var(--space-2); }
.form-control {
  width:100%; padding:var(--space-3) var(--space-4);
  border:1.5px solid var(--color-border);
  border-radius:var(--radius-md);
  font-family:var(--font-body); font-size:var(--text-base);
  color:var(--color-text); background:var(--color-white);
  transition:border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.form-control:focus { outline:none; border-color:var(--color-primary); box-shadow:0 0 0 3px rgba(26,110,216,0.12); }
.form-control::placeholder { color:var(--color-text-muted); }
textarea.form-control { min-height:140px; resize:vertical; }

/* =====================================================
   UTILITIES
   ===================================================== */
.text-primary  { color:var(--color-primary); }
.text-accent   { color:var(--color-accent); }
.text-muted    { color:var(--color-text-muted); }
.text-white    { color:var(--color-white); }
.text-center   { text-align:center; }
.d-flex        { display:flex; }
.align-center  { align-items:center; }
.justify-center{ justify-content:center; }
.flex-wrap     { flex-wrap:wrap; }
.gap-4         { gap:var(--space-4); }
.gap-6         { gap:var(--space-6); }
.mt-0          { margin-top:0; }
.mb-0          { margin-bottom:0; }
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* =====================================================
   PAGINATION
   ===================================================== */
.cmv-pagination { margin-top:var(--space-12); }
.cmv-pagination .nav-links { display:flex; gap:var(--space-2); flex-wrap:wrap; justify-content:center; }
.cmv-pagination a,
.cmv-pagination span {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0 var(--space-3);
  border-radius:var(--radius-md); border:1px solid var(--color-border);
  font-size:var(--text-sm); font-weight:600; color:var(--color-text-light);
  transition:all var(--transition-fast);
}
.cmv-pagination a:hover { border-color:var(--color-primary); color:var(--color-primary); background:rgba(26,110,216,0.06); }
.cmv-pagination .current { background:var(--gradient-brand); border-color:transparent; color:white; box-shadow:var(--shadow-blue); }

/* =====================================================
   RESPONSIVE — TABLET (≤ 1024px)
   ===================================================== */
@media (max-width:1024px) {
  .hero-inner             { grid-template-columns:1fr; gap:var(--space-12); }
  .hero                   { min-height:auto; padding-bottom:var(--space-16); }
  .hero-subtitle          { max-width:100%; }
  .hero-stats             { gap:var(--space-6); }
  .grid--4                { grid-template-columns:repeat(2,1fr); }
  .industry-grid          { grid-template-columns:repeat(3,1fr); }
  .coremindlab-inner,
  .why-grid               { grid-template-columns:1fr; gap:var(--space-10); }
  .footer-top             { grid-template-columns:1fr 1fr; gap:var(--space-8); }
  .content-with-sidebar   { grid-template-columns:1fr; }
  .posts-grid             { grid-template-columns:repeat(2,1fr); }
}

/* =====================================================
   RESPONSIVE — MOBILE (≤ 768px)
   ===================================================== */
@media (max-width:768px) {
  :root { --header-height:70px; }

  .header-inner         { gap:var(--space-4); }
  .primary-nav,
  .header-toolkit-link  { display:none; }

  .primary-nav.open {
    display:flex; flex-direction:column;
    position:fixed;
    top:var(--header-height); left:0; right:0; bottom:0;
    background:var(--color-bg-hero);
    padding:var(--space-8) var(--space-6);
    overflow-y:auto; z-index:999;
    border-top:1px solid rgba(26,110,216,0.20);
  }
  .primary-nav.open ul { flex-direction:column; gap:var(--space-2); width:100%; }
  .primary-nav.open a  { font-size:var(--text-lg); padding:var(--space-3) var(--space-4); color:rgba(255,255,255,0.85); }
  .primary-nav.open a:hover { background:rgba(26,110,216,0.15); color:white; }

  .menu-toggle          { display:flex; }
  .hero                 { padding-top:calc(var(--header-height) + var(--space-10)); padding-bottom:var(--space-12); }
  .hero-actions         { flex-direction:column; align-items:flex-start; }
  .hero-actions .btn    { width:100%; justify-content:center; }
  .hero-stats           { gap:var(--space-6); }
  .grid--2,.grid--3     { grid-template-columns:1fr; }
  .industry-grid        { grid-template-columns:repeat(2,1fr); }
  .footer-top           { grid-template-columns:1fr; gap:var(--space-8); }
  .footer-bottom        { flex-direction:column; text-align:center; }
  .why-metric-row       { grid-template-columns:1fr 1fr; }
  .cta-banner__actions  { flex-direction:column; align-items:center; }
  .section              { padding-block:var(--space-12); }
  .posts-grid           { grid-template-columns:1fr; }
}

@media (max-width:480px) {
  .industry-grid  { grid-template-columns:1fr 1fr; }
  .hero-stats     { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4); }
  .footer-links   { flex-direction:column; gap:var(--space-3); text-align:center; }
}

/* =====================================================
   PRINT
   ===================================================== */
@media print {
  .site-header,.cta-banner,.site-footer { display:none; }
  body { font-size:12pt; }
  a    { color:inherit; text-decoration:underline; }
}
