/* ══════════════════════════════════════════════════
   CODICE VINCI — Premium Stylesheet v5.0
   Moonshot · Preloader · Cursor Glow · Progress
   ══════════════════════════════════════════════════ */

/* ── PRELOADER ── */
#cvw-preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: #06080c;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.9s;
}

#cvw-preloader.hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.cvw-preloader-inner {
  text-align: center;
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}


.cvw-preloader-icon {
  display: block;
  font-size: 1.8rem;
  margin-bottom: 1.2rem;
  animation: cvwPreSpin 3s linear infinite;
  opacity: .5;
}

.cvw-preloader-logo {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
  margin: 0 auto 1.2rem;
  animation: cvwPrePulse 2s ease-in-out infinite;
  filter: drop-shadow(0 0 20px rgba(74,143,231,.3));
}

@keyframes cvwPrePulse {
  0%, 100% { opacity: .6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
}

@keyframes cvwPreSpin {
  to { transform: rotate(360deg); }
}

.cvw-preloader-text {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .15em;
  color: rgba(126,180,242, .9);
  margin-bottom: 1.5rem;
}

.cvw-pre-letter {
  display: inline-block;
  opacity: 0;
  transform: translateY(12px);
  animation: cvwPreLetter .5s ease forwards;
}

.cvw-pre-letter:nth-child(1)  { animation-delay: .1s; }
.cvw-pre-letter:nth-child(2)  { animation-delay: .15s; }
.cvw-pre-letter:nth-child(3)  { animation-delay: .2s; }
.cvw-pre-letter:nth-child(4)  { animation-delay: .25s; }
.cvw-pre-letter:nth-child(5)  { animation-delay: .3s; }
.cvw-pre-letter:nth-child(6)  { animation-delay: .35s; }
.cvw-pre-letter:nth-child(8)  { animation-delay: .5s; }
.cvw-pre-letter:nth-child(9)  { animation-delay: .55s; }
.cvw-pre-letter:nth-child(10) { animation-delay: .6s; }
.cvw-pre-letter:nth-child(11) { animation-delay: .65s; }
.cvw-pre-letter:nth-child(12) { animation-delay: .7s; }

.cvw-pre-dot {
  display: inline-block;
  color: rgba(74,143,231, .4);
  opacity: 0;
  animation: cvwPreLetter .5s ease .42s forwards;
  margin: 0 .15em;
}

@keyframes cvwPreLetter {
  to { opacity: 1; transform: translateY(0); }
}

.cvw-preloader-bar {
  width: 180px;
  height: 1px;
  background: rgba(74,143,231, .1);
  margin: 0 auto;
  overflow: hidden;
  border-radius: 1px;
}

.cvw-preloader-fill {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, rgba(74,143,231,.4), rgba(126,180,242,.7));
  animation: cvwPreFill 1.2s ease .3s forwards;
}

@keyframes cvwPreFill {
  to { width: 100%; }
}

/* ── CURSOR GLOW ── */
#cvw-cursor-glow {
  position: fixed;
  width: 450px;
  height: 450px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle, rgba(74,143,231,0.045) 0%, rgba(212,175,55,0.015) 45%, transparent 70%);
  transform: translate(-50%, -50%);
  transition: opacity 0.4s ease, width 0.4s ease, height 0.4s ease;
  opacity: 0;
  will-change: left, top;
}

body:hover #cvw-cursor-glow {
  opacity: 1;
}

/* ── SCROLL PROGRESS BAR ── */
#cvw-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 2px;
  width: 0%;
  background: linear-gradient(90deg, rgba(74,143,231,.3), rgba(126,180,242,.7), rgba(74,143,231,.3));
  z-index: 100000;
  transition: none;
  will-change: width;
}

/* ── Scroll offset for fixed header ── */
[id^="cvw-"] {
  scroll-margin-top: 70px;
}

/* ── NAV ENHANCED GLASS ── */
#cvw-nav {
  transition: background .4s, backdrop-filter .4s, -webkit-backdrop-filter .4s, box-shadow .4s;
}

#cvw-nav.scrolled {
  background: rgba(8,11,16, .88) !important;
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  box-shadow: 0 1px 0 rgba(74,143,231, .06), 0 4px 20px rgba(0,0,0,.3);
}

/* ── SOUND TOGGLE PULSE ── */
#cvw-sound-toggle {
  animation: cvwSoundPulse 3s ease 4s 3;
}

@keyframes cvwSoundPulse {
  0%, 100% { box-shadow: 0 4px 16px rgba(0,0,0,.4); }
  50% { box-shadow: 0 4px 16px rgba(0,0,0,.4), 0 0 0 6px rgba(74,143,231,.15); }
}

/* ── SOCIAL PROOF BAR ── */
.cvw-social-proof {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 2rem;
  opacity: 0;
  animation: cvwUp .8s ease 2s forwards;
}

.cvw-proof-stat {
  text-align: center;
}

.cvw-proof-num {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: rgba(126,180,242, .8);
  display: block;
  line-height: 1;
}

.cvw-proof-label {
  font-size: .65rem;
  letter-spacing: .08em;
  color: rgba(232,224,216, .3);
  margin-top: .2rem;
  display: block;
}

.cvw-proof-sep {
  width: 1px;
  height: 20px;
  background: rgba(74,143,231, .15);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

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

body {
  background: 
    linear-gradient(rgba(74, 143, 231, 0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74, 143, 231, 0.015) 1px, transparent 1px),
    #080b10;
  background-size: 50px 50px;
  background-position: center;
  color: rgba(232,224,216, .72);
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-weight: 300;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #080b10;
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(74, 143, 231, 0.25) 0%, rgba(212, 175, 55, 0.25) 100%);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(74, 143, 231, 0.5) 0%, rgba(212, 175, 55, 0.5) 100%);
}

/* Custom Selection */
::selection {
  background: rgba(212, 175, 55, 0.25);
  color: #fff;
}

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

img {
  max-width: 100%;
  display: block;
}

.cvw-gold {
  background: linear-gradient(135deg, #fff3d1 0%, #e8c97a 30%, #c9a84c 70%, #fff3d1 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 8px rgba(201,168,76,0.12));
}

/* ══════════════════════════════════════════════════
   NAVIGATION
   ══════════════════════════════════════════════════ */

#cvw-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: rgba(8,11,16, 0);
  border-bottom: 1px solid rgba(74,143,231, 0);
  transition: background .4s, border-color .4s, backdrop-filter .4s;
}

#cvw-nav.scrolled {
  background: rgba(8,11,16, .88);
  border-bottom-color: rgba(74,143,231, .1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.cvw-nav-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: .9rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cvw-logo {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-shrink: 0;
  text-decoration: none;
}

.cvw-logo-icon {
  font-size: 1.2rem;
  animation: cvwSpin 7s linear infinite;
}

.cvw-logo-img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(201,168,76,.25));
  transition: filter .3s;
}

.cvw-logo:hover .cvw-logo-img {
  filter: drop-shadow(0 0 14px rgba(232,201,122,.5));
}

.cvw-footer-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  margin-bottom: .5rem;
  filter: drop-shadow(0 0 12px rgba(201,168,76,.25));
}

.cvw-logo-text {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: .12em;
  color: #c9a84c;
}

.cvw-logo-sep {
  color: rgba(74,143,231, .35);
  padding: 0 .15em;
}

.cvw-logo-phonetic {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: .65rem;
  font-weight: 400;
  font-style: italic;
  color: rgba(232,224,216, .35);
  letter-spacing: .04em;
  margin-left: .5em;
  white-space: nowrap;
}

.cvw-nav-right {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-shrink: 0;
}

.cvw-nav-links {
  list-style: none;
  display: flex;
  gap: 1.2rem;
}

.cvw-nav-links a {
  font-size: .92rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(232,224,216, .5);
  transition: color .3s;
  position: relative;
  font-weight: 400;
}

.cvw-nav-links a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 1px;
  background: #4A8FE7;
  transition: width .3s;
}

.cvw-nav-links a:hover {
  color: #7EB4F2;
}

.cvw-nav-links a:hover::after {
  width: 100%;
}

/* Hamburger */
.cvw-menu-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.cvw-menu-btn span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: #4A8FE7;
  transition: transform .3s, opacity .3s;
}

.cvw-menu-btn.active span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}

.cvw-menu-btn.active span:nth-child(2) {
  opacity: 0;
}

.cvw-menu-btn.active span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* ══════════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════════ */

#cvw-hero {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100vh;
  min-height: 520px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 30% 60%, rgba(74,143,231,.06) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 40%, rgba(80,130,200,.04) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 100%, rgba(60,110,180,.05) 0%, transparent 40%),
    rgba(9,12,17,.75);
  display: flex;
  align-items: center;
  justify-content: center;
}

#cvw-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: block;
  z-index: 0;
  pointer-events: none;
}

.cvw-vig {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 50%, transparent 28%, rgba(7,10,15, .75) 100%);
}

.cvw-ui {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 1.5rem;
  pointer-events: none;
}

.cvw-eye {
  font-family: 'Outfit', sans-serif;
  font-size: .75rem;
  letter-spacing: .3em;
  color: rgba(74,143,231, .55);
  text-transform: uppercase;
  margin-bottom: 1rem;
  font-weight: 400;
  opacity: 0;
  animation: cvwUp .9s ease .4s forwards;
}

/* ── Interactive Title (Dual-span Letters) ── */

#cvw-title {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 0;
  margin: 0;
  pointer-events: all;
  position: relative;
  padding: .7em 1.2em;
}

/* Traveling light removed from title — now on CTA */

@keyframes cvwLightOrbit {
  to { --cvw-light-angle: 360deg; }
}

@keyframes cvwLightBreath {
  0%, 100% { opacity: 1; }
  30% { opacity: 1; }
  45% { opacity: 0; }
  65% { opacity: 0; }
  80% { opacity: 1; }
}

@property --cvw-light-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

/* Letter wrapper */
.cvw-hl-wrap {
  position: relative;
  display: inline-block;
  cursor: pointer;
  user-select: none;
  padding: 0 .01em;
}

/* Shared base for both layers */
.cvw-hl-outline,
.cvw-hl-fill {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: clamp(2.2rem, 7vw, 5rem);
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1;
  display: block;
}

/* Layer 1: Outline (stroke only) */
.cvw-hl-outline {
  -webkit-text-stroke: 1.5px #c9a84c;
  -webkit-text-fill-color: transparent;
  color: transparent;
  opacity: 0;
  transform: translateY(14px) scale(0.88);
  transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Layer 2: Gradient fill (stacked on top) */
.cvw-hl-fill {
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(135deg, #e8c97a 0%, #c9a84c 38%, #9a7228 68%, #e8c97a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.5s;
  filter: drop-shadow(0 0 0px rgba(201,168,76, 0));
}

/* Phase 1: Outline appears */
.cvw-hl-wrap.show-outline .cvw-hl-outline {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Phase 2: Fill fades in over outline */
.cvw-hl-wrap.show-fill .cvw-hl-fill {
  opacity: 1;
  transform: translateY(0);
  filter: drop-shadow(0 0 18px rgba(201,168,76, .25))
          drop-shadow(0 0 6px rgba(0, 0, 0, .9))
          drop-shadow(0 0 14px rgba(0, 0, 0, .7))
          drop-shadow(0 0 28px rgba(0, 0, 0, .4));
}

/* Hover / Active glow boost */
.cvw-hl-wrap.active .cvw-hl-fill,
.cvw-hl-wrap:hover .cvw-hl-fill {
  filter: drop-shadow(0 0 24px rgba(232,201,122, .9))
          drop-shadow(0 0 60px rgba(201,168,76, .6))
          drop-shadow(0 0 8px rgba(0, 0, 0, .85))
          drop-shadow(0 0 20px rgba(0, 0, 0, .5)) !important;
}

.cvw-hl-wrap.active .cvw-hl-outline,
.cvw-hl-wrap:hover .cvw-hl-outline {
  -webkit-text-stroke-color: #e8c97a;
}

/* Separator dot */
.cvw-hl-sep-wrap {
  cursor: default;
  pointer-events: none;
}

.cvw-sep-text {
  -webkit-text-stroke: none;
  -webkit-text-fill-color: rgba(201,168,76, .4);
  color: rgba(201,168,76, .4);
}

.cvw-sub {
  font-family: 'Outfit', sans-serif;
  margin-top: 1.2rem;
  font-size: clamp(.78rem, 1.5vw, .92rem);
  letter-spacing: .2em;
  color: rgba(232,224,216, .5);
  text-transform: none;
  font-weight: 300;
  opacity: 0;
  animation: cvwUp 1s ease 1s forwards;
  text-shadow: 0 0 20px rgba(0,0,0,.5);
}

.cvw-divider {
  margin: 1.7rem auto;
  width: 52px;
  height: 1px;
  background: linear-gradient(to right, transparent, #4A8FE7, transparent);
  opacity: 0;
  animation: cvwUp 1s ease 1.2s forwards;
}

/* ── Sacred 369 ∞ inscription ── */
.cvw-sacred {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin: .6rem auto 1.2rem;
  opacity: 0;
  animation: cvwSacredIn 2.5s ease 2s forwards;
  user-select: none;
  pointer-events: none;
}
.cvw-s-num {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: .15em;
  background: linear-gradient(135deg, #4A8FE7 0%, #9DC5F5 40%, #4A8FE7 60%, #3570C0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.cvw-s-dot {
  font-size: .6rem;
  color: rgba(74,143,231,.3);
}
.cvw-s-inf {
  font-size: 1.3rem;
  margin-left: .3rem;
  background: linear-gradient(135deg, #4A8FE7 0%, #9DC5F5 50%, #4A8FE7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
  animation: cvwInfBreath 4s ease-in-out infinite;
}
@keyframes cvwSacredIn {
  0% { opacity: 0; transform: translateY(8px); letter-spacing: .8em; }
  60% { opacity: .35; }
  100% { opacity: .3; transform: translateY(0); letter-spacing: .15em; }
}
@keyframes cvwInfBreath {
  0%, 100% { opacity: .3; transform: scale(1) rotate(0deg); }
  50% { opacity: .6; transform: scale(1.08) rotate(3deg); }
}

.cvw-cta {
  font-family: 'Outfit', sans-serif;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .55rem 1.6rem;
  border: 1px solid rgba(74,143,231, .35);
  color: #7EB4F2;
  font-size: .82rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: rgba(74,143,231, .04);
  cursor: pointer;
  position: relative;
  transition: color .35s, box-shadow .35s, border-color .35s, background .35s;
  border-radius: 12px;
  opacity: 0;
  animation: cvwUp 1s ease 1.4s forwards;
  pointer-events: all;
  overflow: hidden;
  will-change: transform, box-shadow;
}

/* ── Traveling light impulse around CTA (primary, clockwise) ── */
.cvw-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 12px;
  pointer-events: none;
  background: conic-gradient(
    from var(--cvw-light-angle, 0deg) at 50% 50%,
    transparent 0deg,
    transparent 310deg,
    rgba(74,143,231, .15) 330deg,
    rgba(126,180,242, .5) 345deg,
    rgba(180,210,255, .8) 355deg,
    rgba(126,180,242, .5) 358deg,
    transparent 360deg
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1.5px;
  animation: cvwLightOrbit 4s linear infinite,
             cvwCtaBreath 8s ease-in-out infinite;
  z-index: 1;
}

/* ── Second impulse (counter-clockwise, offset) ── */
.cvw-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 12px;
  pointer-events: none;
  background: conic-gradient(
    from var(--cvw-light-angle2, 180deg) at 50% 50%,
    transparent 0deg,
    transparent 320deg,
    rgba(140,170,220, .12) 340deg,
    rgba(126,180,242, .35) 352deg,
    rgba(140,170,220, .12) 358deg,
    transparent 360deg
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1.5px;
  animation: cvwLightOrbit2 5s linear infinite;
  z-index: 1;
  opacity: .7;
}

@property --cvw-light-angle2 {
  syntax: '<angle>';
  initial-value: 180deg;
  inherits: false;
}

@keyframes cvwLightOrbit2 {
  to { --cvw-light-angle2: -180deg; }
}

@keyframes cvwCtaBreath {
  0%, 100% { opacity: 1; }
  30% { opacity: 1; }
  45% { opacity: .15; }
  55% { opacity: .15; }
  70% { opacity: 1; }
}

.cvw-cta:hover {
  background: rgba(74,143,231, .08);
  box-shadow:
    0 0 28px rgba(74,143,231, .25),
    inset 0 0 20px rgba(74,143,231, .06);
  border-color: rgba(74,143,231, .6);
  color: #fff;
}

/* Speed up orbits on hover */
.cvw-cta:hover::before {
  animation-duration: 2s, 8s;
}
.cvw-cta:hover::after {
  animation-duration: 2.5s;
  opacity: 1;
}

.cvw-gear {
  display: inline-block;
  animation: cvwSpin 7s linear infinite;
}

/* Scroll hint */
.cvw-scroll-hint {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  opacity: 0;
  animation: cvwUp 1s ease 2s forwards;
}

.cvw-scroll-arrow {
  font-size: 1.1rem;
  color: rgba(74,143,231, .4);
  animation: cvwBounce 2s ease-in-out infinite;
}

@keyframes cvwBounce {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(8px);
  }
}

/* ══════════════════════════════════════════════════
   INFO PANEL (constellation-bordered)
   ══════════════════════════════════════════════════ */

#cvw-info-panel {
  position: fixed;
  bottom: 8%;
  left: 0;
  width: 100vw;
  z-index: 999;
  pointer-events: none;
  background: transparent;
  border: none;
  opacity: 0;
  transition: opacity .45s ease;
  overflow: hidden;
  white-space: nowrap;
}

#cvw-info-panel.show {
  opacity: 1;
}

.cvw-info-marquee-inner {
  display: inline-block;
  white-space: nowrap;
  animation: cvwInfoMarquee 20s linear infinite;
  padding-left: 100vw;
}

@keyframes cvwInfoMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

.cvw-info-letter {
  display: inline-block;
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin-right: 1rem;
  background: linear-gradient(135deg, #7EB4F2, #4A8FE7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  opacity: .85;
}

.cvw-info-word {
  display: inline-block;
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  letter-spacing: .15em;
  color: rgba(74,143,231, .8);
  text-transform: uppercase;
  margin-right: 1rem;
}

.cvw-info-desc {
  display: inline-block;
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  color: rgba(232,224,216, .7);
  font-weight: 300;
}

/* ══════════════════════════════════════════════════
   SECTION BACKGROUND CANVASES
   ══════════════════════════════════════════════════ */

.cvw-section-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  opacity: .45;
}

/* ══════════════════════════════════════════════════
   SECTIONS — Common
   ══════════════════════════════════════════════════ */

.cvw-section-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 4rem 2rem;
  position: relative;
  z-index: 1;
}

.cvw-section-tag {
  font-family: 'Outfit', sans-serif;
  font-size: .75rem;
  letter-spacing: .25em;
  color: rgba(74,143,231, .5);
  text-transform: uppercase;
  margin-bottom: .8rem;
  text-align: center;
  font-weight: 400;
}

.cvw-section-title {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-weight: 600;
  letter-spacing: .02em;
  color: rgba(232,224,216, .88);
  text-align: center;
  margin-bottom: 2rem;
  line-height: 1.3;
}

/* Reveal */
.cvw-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .8s ease, transform .8s ease;
}

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

/* Directional reveals */
.cvw-reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity .9s cubic-bezier(0.22, 1, 0.36, 1), transform .9s cubic-bezier(0.22, 1, 0.36, 1);
}

.cvw-reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity .9s cubic-bezier(0.22, 1, 0.36, 1), transform .9s cubic-bezier(0.22, 1, 0.36, 1);
}

.cvw-reveal-left.visible,
.cvw-reveal-right.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Scale-up reveal with blur (for cards & images) */
.cvw-reveal-scale {
  opacity: 0;
  transform: scale(.92) translateY(20px);
  filter: blur(4px);
  transition: opacity .9s cubic-bezier(0.22, 1, 0.36, 1),
              transform .9s cubic-bezier(0.22, 1, 0.36, 1),
              filter .9s cubic-bezier(0.22, 1, 0.36, 1);
}

.cvw-reveal-scale.visible {
  opacity: 1;
  transform: scale(1) translateY(0);
  filter: blur(0);
}

/* ══════════════════════════════════════════════════
   ABOUT
   ══════════════════════════════════════════════════ */

#cvw-about {
  position: relative;
  z-index: 1;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(74,143,231,.04) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(80,120,180,.03) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 90%, rgba(74,143,231,.025) 0%, transparent 40%),
    rgba(8,11,16,.82);
  border-top: 1px solid rgba(74,143,231, .06);
  overflow: hidden;
}

.cvw-about-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 3rem;
  align-items: start;
}

.cvw-about-text p {
  font-size: .95rem;
  line-height: 1.8;
  color: rgba(232,224,216, .6);
  margin-bottom: 1rem;
}

.cvw-about-text strong {
  color: #4A8FE7;
  font-weight: 500;
}

.cvw-about-text em {
  color: rgba(232,224,216, .75);
  font-style: italic;
}

.cvw-about-stats {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding-top: .5rem;
}

/* Stat with ring */
.cvw-stat {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: .8rem 1rem;
  border-radius: 8px;
  transition: background .4s, box-shadow .4s;
}

.cvw-stat:hover {
  background: rgba(74,143,231,.03);
  box-shadow: 0 0 20px rgba(74,143,231,.06);
}

.cvw-stat:hover .cvw-stat-num {
  text-shadow: 0 0 20px rgba(126,180,242,.3);
}

.cvw-stat-ring {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
}

.cvw-stat-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.cvw-ring-bg {
  fill: none;
  stroke: rgba(74,143,231, .08);
  stroke-width: 3;
}

.cvw-ring-fill {
  fill: none;
  stroke: url(#cvw-gold-grad);
  stroke: #4A8FE7;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 226;
  stroke-dashoffset: 226;
  transition: stroke-dashoffset 1.8s cubic-bezier(0.22, 1, 0.36, 1);
  filter: drop-shadow(0 0 6px rgba(74,143,231, .4));
}

.cvw-stat.counted .cvw-ring-fill {
  /* JS sets the final dashoffset via inline style */
  stroke-dashoffset: 0;
}

.cvw-stat-content {
  display: flex;
  flex-direction: column;
}

.cvw-stat-num {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #7EB4F2;
  line-height: 1;
  display: block;
  margin-bottom: .2rem;
}

.cvw-stat-label {
  font-size: .82rem;
  letter-spacing: .1em;
  color: rgba(232,224,216, .4);
  text-transform: none;
}

/* ══════════════════════════════════════════════════
   SERVICES CARDS
   ══════════════════════════════════════════════════ */

#cvw-panel {
  width: 100%;
  background:
    radial-gradient(ellipse at 70% 30%, rgba(74,143,231,.035) 0%, transparent 50%),
    radial-gradient(ellipse at 30% 70%, rgba(75,110,170,.025) 0%, transparent 50%),
    rgba(8,11,16,.82);
  border-top: 1px solid rgba(74,143,231, .08);
  position: relative;
  z-index: 1;
  overflow: hidden;
  content-visibility: auto;
  contain-intrinsic-size: auto 900px;
}

.cvw-cards {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* ── Card Preview Image ── */
.cvw-card-preview {
  position: relative;
  width: 100%;
  height: 140px;
  overflow: hidden;
  border-radius: 12px;
  margin-bottom: 1rem;
  border: 1px solid rgba(74,143,231, .08);
  background:
    linear-gradient(90deg, rgba(74,143,231,.03) 25%, rgba(74,143,231,.06) 50%, rgba(74,143,231,.03) 75%);
  background-size: 200% 100%;
  animation: cvwSkeleton 1.5s ease-in-out infinite;
}

.cvw-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  filter: brightness(.7) saturate(.85);
  transition: transform .8s cubic-bezier(0.22, 1, 0.36, 1), filter .8s, clip-path 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  clip-path: inset(100% 0 0 0);
}

.cvw-card.visible .cvw-card-img {
  clip-path: inset(0 0 0 0);
}

.cvw-card:hover .cvw-card-img {
  transform: scale(1.08);
  filter: brightness(.85) saturate(1);
}

.cvw-card-preview::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(to top, rgba(10,13,18, .95), transparent);
  pointer-events: none;
}

.cvw-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(74,143,231, .1);
  background: rgba(74,143,231, .02);
  padding: 1.8rem 1.4rem;
  transition: background .5s, transform .6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .5s, border-color .5s;
  cursor: pointer;
  transform-style: preserve-3d;
  border-radius: 16px;
  will-change: transform;
  contain: layout style paint;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.cvw-card:hover {
  transform: translateY(-4px);
  background: rgba(74,143,231, .06);
  border-color: rgba(74,143,231, .3);
  box-shadow:
    0 8px 32px rgba(0,0,0,.3),
    0 0 40px rgba(74,143,231, .06),
    inset 0 1px 0 rgba(126,180,242, .08);
}

.cvw-card:hover::before {
  opacity: 1;
}

/* Subtle bottom accent line */
.cvw-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 20%;
  width: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(74,143,231, .3), transparent);
  transition: width .6s cubic-bezier(0.22, 1, 0.36, 1), left .6s cubic-bezier(0.22, 1, 0.36, 1);
}

.cvw-card:hover::after {
  width: 60%;
  left: 20%;
}

.cvw-card-icon {
  color: rgba(74,143,231, .6);
  margin-bottom: .6rem;
  display: flex;
  align-items: center;
  transition: color .5s, filter .5s;
}

.cvw-card-icon svg {
  width: 20px;
  height: 20px;
}

.cvw-card:hover .cvw-card-icon {
  color: #7EB4F2;
  filter: drop-shadow(0 0 6px rgba(74,143,231, .3));
}

.cvw-card-title {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: .98rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: rgba(126,180,242, .9);
  margin-bottom: .4rem;
  font-variant: normal;
  text-transform: none;
  font-feature-settings: 'smcp' off, 'c2sc' off;
}

.cvw-card-text {
  font-family: 'Outfit', sans-serif;
  font-size: .88rem;
  line-height: 1.65;
  color: rgba(232,224,216, .5);
  font-weight: 300;
}

.cvw-card-link {
  display: inline-flex;
  gap: .4rem;
  margin-top: .9rem;
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  letter-spacing: .1em;
  color: rgba(74,143,231, .45);
  text-transform: none;
  text-decoration: none;
  transition: color .4s;
  position: relative;
  z-index: 5;
  font-weight: 400;
}

.cvw-card:hover .cvw-card-link {
  color: #7EB4F2;
}

/* Staggered card reveal */
.cvw-card.cvw-reveal:nth-child(1) {
  transition-delay: 0s;
}

.cvw-card.cvw-reveal:nth-child(2) {
  transition-delay: .15s;
}

.cvw-card.cvw-reveal:nth-child(3) {
  transition-delay: .3s;
}

/* ── Module Cards — Horizontal Feature Layout ── */
.cvw-module-card {
  display: grid;
  grid-template-columns: 44% 56%;
  min-height: 300px;
  border: 1px solid rgba(74, 143, 231, 0.08);
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(10, 15, 24, 0.8) 0%, rgba(5, 7, 12, 0.7) 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  text-decoration: none;
  color: inherit;
  transition: border-color .4s, box-shadow .5s, transform .5s cubic-bezier(.22,1,.36,1);
  cursor: pointer;
  position: relative;
  box-shadow: 
    inset 0 1px 1px rgba(255, 255, 255, 0.03),
    0 12px 36px rgba(0, 0, 0, 0.35);
}

.cvw-module-card:hover {
  border-color: rgba(126, 180, 242, 0.25);
  box-shadow: 
    inset 0 1px 2px rgba(255, 255, 255, 0.08),
    0 24px 50px rgba(0, 0, 0, 0.55),
    0 0 40px rgba(74, 143, 231, 0.08);
  transform: translateY(-6px) scale(1.005);
}

.cvw-module-card:nth-child(even) {
  grid-template-columns: 56% 44%;
}

.cvw-module-card:nth-child(even) .cvw-module-screen {
  order: 2;
  border-right: none;
  border-left: 1px solid rgba(74,143,231,.08);
}

.cvw-module-card:nth-child(even) .cvw-module-body {
  order: 1;
}

.cvw-module-screen {
  display: flex;
  flex-direction: column;
  background: #04070c;
  border-right: 1px solid rgba(74,143,231,.08);
  overflow: hidden;
}

.cvw-module-chrome {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .55rem .9rem;
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid rgba(255,255,255,.05);
  flex-shrink: 0;
}

.cvw-chrome-dots {
  display: flex;
  gap: .28rem;
  flex-shrink: 0;
}

.cvw-chrome-dots span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.cvw-chrome-dots span:nth-child(1) { background: rgba(255,95,87,.55); }
.cvw-chrome-dots span:nth-child(2) { background: rgba(255,188,0,.55); }
.cvw-chrome-dots span:nth-child(3) { background: rgba(39,201,63,.55); }

.cvw-chrome-url {
  font-family: 'Plus Jakarta Sans', monospace, sans-serif;
  font-size: .64rem;
  color: rgba(240,232,205,.2);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 100px;
  padding: .14rem .65rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  max-width: 210px;
  margin: 0 auto;
  letter-spacing: .01em;
}


.cvw-module-body {
  padding: 2.4rem 2.6rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cvw-module-num {
  font-family: 'Cinzel', serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .22em;
  color: rgba(212,175,55,.45);
  margin-bottom: .75rem;
  display: block;
}

.cvw-module-title {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: 1.28rem;
  font-weight: 700;
  color: rgba(240,232,205,.92);
  margin-bottom: .65rem;
  letter-spacing: .01em;
  line-height: 1.3;
}

.cvw-module-text {
  font-family: 'Outfit', sans-serif;
  font-size: .88rem;
  line-height: 1.72;
  color: rgba(232,224,216,.46);
  font-weight: 300;
  margin-bottom: 1.2rem;
}

.cvw-module-feats {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .38rem;
}

.cvw-module-feats li {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .8rem;
  font-weight: 500;
  color: rgba(240,232,205,.35);
  display: flex;
  align-items: center;
  gap: .52rem;
  transition: color .35s;
}

.cvw-module-feats li::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(212,175,55,.42);
  flex-shrink: 0;
}

.cvw-module-card:hover .cvw-module-feats li {
  color: rgba(240,232,205,.55);
}

.cvw-module-cta {
  font-family: 'Outfit', sans-serif;
  font-size: .84rem;
  color: rgba(74,143,231,.5);
  letter-spacing: .06em;
  font-weight: 400;
  transition: color .4s;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: auto;
}

.cvw-module-cta::after {
  content: '→';
  transition: transform .4s cubic-bezier(.22,1,.36,1);
  display: inline-block;
}

.cvw-module-card:hover .cvw-module-cta {
  color: #7EB4F2;
}

.cvw-module-card:hover .cvw-module-cta::after {
  transform: translateX(5px);
}

/* ── UI Mockup Widgets ── */
.cvw-ui-widget {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: .85rem 1rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  overflow: hidden;
  background: #050810;
  gap: 0;
}

.cvw-ui-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: .55rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
  margin-bottom: .5rem;
  flex-shrink: 0;
  gap: .5rem;
}

.cvw-ui-title {
  font-size: .72rem;
  font-weight: 600;
  color: rgba(226,232,240,.82);
  letter-spacing: .01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cvw-ui-badge {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: .1rem .48rem;
  border-radius: 100px;
  flex-shrink: 0;
}

.cvw-ui-badge--ok {
  color: #22c55e;
  background: rgba(34,197,94,.1);
  border: 1px solid rgba(34,197,94,.18);
}

.cvw-ui-live {
  font-size: .6rem;
  font-weight: 700;
  color: #22c55e;
  letter-spacing: .06em;
  flex-shrink: 0;
}

.cvw-ui-sub {
  font-size: .6rem;
  color: rgba(148,163,184,.45);
  letter-spacing: .03em;
  flex-shrink: 0;
}

.cvw-ui-table {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.cvw-ui-cols-5 { grid-template-columns: 1.5fr .7fr .7fr .9fr 1.1fr; }
.cvw-ui-cols-4 { grid-template-columns: .9fr 1.3fr 1.1fr 1.1fr; }

.cvw-ui-thead {
  display: grid;
  padding: .24rem .35rem;
  border-bottom: 1px solid rgba(255,255,255,.05);
  margin-bottom: .08rem;
}

.cvw-ui-thead span {
  font-size: .56rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: rgba(148,163,184,.35);
}

.cvw-ui-row {
  display: grid;
  padding: .28rem .35rem;
  border-radius: 4px;
  transition: background .2s;
}

.cvw-ui-row:hover {
  background: rgba(255,255,255,.025);
}

.cvw-ui-row span {
  font-size: .68rem;
  color: rgba(226,232,240,.55);
  display: flex;
  align-items: center;
  gap: .28rem;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cvw-ui-mono {
  font-family: 'Courier New', Courier, monospace !important;
  font-size: .66rem !important;
  letter-spacing: .01em;
}

.cvw-ui-warn { color: #f59e0b !important; }
.cvw-ui-err  { color: #f87171 !important; }
.cvw-ui-ok   { color: #22c55e !important; }

.cvw-ui-status {
  font-size: .58rem !important;
  font-weight: 700;
  padding: .1rem .42rem;
  border-radius: 100px;
  letter-spacing: .04em;
}

.cvw-ui-status--ok   { color: #22c55e; background: rgba(34,197,94,.1); }
.cvw-ui-status--warn { color: #f59e0b; background: rgba(245,158,11,.1); }
.cvw-ui-status--err  { color: #f87171; background: rgba(248,113,113,.1); }

.cvw-ui-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

.cvw-ui-dot--ok   { background: #22c55e; box-shadow: 0 0 5px rgba(34,197,94,.55); }
.cvw-ui-dot--warn { background: #f59e0b; box-shadow: 0 0 5px rgba(245,158,11,.55); }
.cvw-ui-dot--err  { background: #f87171; box-shadow: 0 0 5px rgba(248,113,113,.55); }

/* OEE bar row */
.cvw-ui-oee {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .38rem .35rem .45rem;
  border-bottom: 1px solid rgba(255,255,255,.05);
  margin-bottom: .35rem;
  flex-shrink: 0;
}

.cvw-ui-oee-label {
  font-size: .58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(148,163,184,.38);
  flex-shrink: 0;
}

.cvw-ui-oee-val {
  font-size: .76rem;
  font-weight: 700;
  color: #60a5fa;
  flex-shrink: 0;
  font-family: 'Courier New', Courier, monospace;
}

.cvw-ui-bar-wrap {
  flex: 1;
  height: 4px;
  background: rgba(255,255,255,.07);
  border-radius: 100px;
  overflow: hidden;
}

.cvw-ui-bar {
  height: 100%;
  background: linear-gradient(90deg, #3b82f6, #60a5fa);
  border-radius: 100px;
}

.cvw-ui-bar--ok {
  background: linear-gradient(90deg, #16a34a, #22c55e);
}

/* Footer */
.cvw-ui-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: .45rem;
  border-top: 1px solid rgba(255,255,255,.05);
  margin-top: auto;
  flex-shrink: 0;
  gap: .5rem;
}

.cvw-ui-footer span {
  font-size: .62rem;
  color: rgba(148,163,184,.38);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cvw-ui-footer strong {
  color: rgba(226,232,240,.65);
  font-weight: 600;
}

/* Alert strip */
.cvw-ui-alert {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .32rem .55rem;
  background: rgba(245,158,11,.05);
  border: 1px solid rgba(245,158,11,.12);
  border-radius: 6px;
  margin-top: auto;
  font-size: .62rem;
  color: rgba(245,158,11,.75);
  flex-shrink: 0;
}

/* KPI progress list */
.cvw-ui-kpi-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: .15rem 0;
}

.cvw-ui-kpi {
  display: flex;
  flex-direction: column;
  gap: .16rem;
}

.cvw-ui-kpi-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.cvw-ui-kpi-top span:first-child {
  font-size: .67rem;
  color: rgba(226,232,240,.58);
}

.cvw-ui-kpi-target {
  font-size: .58rem;
  color: rgba(148,163,184,.32);
}

.cvw-ui-kpi-val {
  font-size: .62rem;
  font-family: 'Courier New', Courier, monospace;
  align-self: flex-end;
  margin-top: .04rem;
}

/* ══════════════════════════════════════════════════
   PROCESS — INTERACTIVE HORIZONTAL TIMELINE
   ══════════════════════════════════════════════════ */

#cvw-process {
  background:
    radial-gradient(ellipse at 50% 30%, rgba(74,143,231,.03) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 80%, rgba(70,100,160,.025) 0%, transparent 45%),
    rgba(8,11,16,.82);
  border-top: 1px solid rgba(74,143,231, .06);
  position: relative;
  z-index: 1;
  overflow: visible;
  scroll-margin-top: 70px;
}

/* ── Timeline Container ── */
.cvw-process-timeline {
  position: relative;
  padding: 3rem 0 3rem;
}

/* ── Horizontal Track ── */
.cvw-tl-track {
  position: absolute;
  top: calc(4rem + 32px);
  left: 5%;
  right: 5%;
  height: 2px;
  z-index: 0;
}

.cvw-tl-line {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, transparent, rgba(74,143,231, .15) 15%, rgba(74,143,231, .15) 85%, transparent);
  border-radius: 1px;
}

/* Traveling light on track */
.cvw-tl-light {
  position: absolute;
  top: -4px;
  width: 40px;
  height: 10px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(126,180,242, .8) 0%, rgba(74,143,231, .3) 40%, transparent 70%);
  filter: blur(2px);
  animation: cvwTlTravel 6s ease-in-out infinite;
}

@keyframes cvwTlTravel {
  0% { left: 0%; opacity: 0; }
  5% { opacity: 1; }
  50% { opacity: .8; }
  95% { opacity: 1; }
  100% { left: calc(100% - 40px); opacity: 0; }
}

/* ── Nodes Row ── */
.cvw-tl-nodes {
  display: flex;
  justify-content: space-around;
  position: relative;
  z-index: 1;
  overflow: visible;
  padding-top: 1rem;
}

/* ── Individual Node ── */
.cvw-tl-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  cursor: pointer;
  flex: 1;
  max-width: 220px;
  overflow: visible;
}

/* ── Glowing Ring ── */
.cvw-tl-ring {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1.5px solid rgba(74,143,231, .25);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: rgba(10,13,18, .8);
  transition: border-color .5s, box-shadow .5s, transform .5s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 2;
  overflow: visible;
  flex-shrink: 0;
}

.cvw-tl-node:hover .cvw-tl-ring {
  border-color: rgba(126,180,242, .7);
  box-shadow:
    0 0 20px rgba(74,143,231, .25),
    0 0 50px rgba(74,143,231, .1),
    inset 0 0 15px rgba(74,143,231, .08);
  transform: scale(1.15);
}

/* Pulse ring effect */
.cvw-tl-pulse {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px solid rgba(74,143,231, .15);
  animation: cvwTlPulse 3s ease-out infinite;
}

.cvw-tl-node:nth-child(2) .cvw-tl-pulse { animation-delay: .75s; }
.cvw-tl-node:nth-child(3) .cvw-tl-pulse { animation-delay: 1.5s; }
.cvw-tl-node:nth-child(4) .cvw-tl-pulse { animation-delay: 2.25s; }

@keyframes cvwTlPulse {
  0% { transform: scale(1); opacity: .6; }
  100% { transform: scale(1.8); opacity: 0; }
}

/* ── Icon ── */
.cvw-tl-icon {
  color: rgba(74,143,231, .5);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .4s, filter .4s;
  position: relative;
  z-index: 1;
}

.cvw-tl-icon svg {
  width: 18px;
  height: 18px;
}

.cvw-tl-node:hover .cvw-tl-icon {
  color: #7EB4F2;
  filter: drop-shadow(0 0 8px rgba(74,143,231, .5));
}

/* ── Step Number ── */
.cvw-tl-num {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: rgba(74,143,231, .25);
  margin-top: .6rem;
  letter-spacing: .08em;
  transition: color .4s, text-shadow .4s;
}

.cvw-tl-node:hover .cvw-tl-num {
  color: rgba(126,180,242, .7);
  text-shadow: 0 0 15px rgba(74,143,231, .3);
}

/* ── Cards Row (below nodes) ── */
.cvw-tl-cards-row {
  display: flex;
  justify-content: space-around;
  margin-top: 1.5rem;
  position: relative;
  z-index: 1;
}

/* ── Individual Card ── */
.cvw-tl-card {
  width: 200px;
  max-width: 220px;
  flex: 1;
  padding: 1.1rem 1rem;
  text-align: center;
  transition: transform .45s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow .45s;
  background: rgba(10,13,18, .6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: .5px solid rgba(74,143,231, .1);
  border-radius: 14px;
}

.cvw-tl-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(74,143,231, .12), 0 0 0 1px rgba(74,143,231, .2);
}

.cvw-tl-card-title {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
  font-size: .88rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: rgba(126,180,242, .9);
  margin-bottom: .3rem;
  font-variant: normal;
  text-transform: none;
  font-feature-settings: 'smcp' off, 'c2sc' off;
}

.cvw-tl-card-desc {
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  line-height: 1.6;
  color: rgba(232,224,216, .42);
  font-weight: 300;
}

/* ── Scroll-triggered entrance ── */
.cvw-tl-node {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .7s cubic-bezier(0.22, 1, 0.36, 1),
              transform .7s cubic-bezier(0.22, 1, 0.36, 1);
}

.cvw-tl-node.tl-visible {
  opacity: 1;
  transform: translateY(0);
}

.cvw-tl-node:nth-child(1) { transition-delay: 0s; }
.cvw-tl-node:nth-child(2) { transition-delay: .2s; }
.cvw-tl-node:nth-child(3) { transition-delay: .4s; }
.cvw-tl-node:nth-child(4) { transition-delay: .6s; }

.cvw-tl-track {
  opacity: 0;
  transition: opacity 1s ease .3s;
}

.cvw-process-timeline.tl-active .cvw-tl-track {
  opacity: 1;
}

/* ══════════════════════════════════════════════════
   CONTACT
   ══════════════════════════════════════════════════ */

#cvw-contact {
  position: relative;
  z-index: 1;
  background: rgba(8,11,16,.82);
  border-top: 1px solid rgba(74,143,231, .08);
  overflow: hidden;
}

.cvw-contact-inner {
  text-align: center;
  padding: 4.5rem 2rem;
}

.cvw-contact-desc {
  font-size: .92rem;
  line-height: 1.7;
  color: rgba(232,224,216, .5);
  margin-bottom: 1.8rem;
  max-width: 380px;
  margin-left: auto;
  margin-right: auto;
}

/* CTA Wrapper — magnetic detection zone */
.cvw-cta-wrap {
  display: inline-block;
  position: relative;
  padding: 15px;
  margin: -15px;
}

.cvw-cta-contact {
  opacity: 1;
  animation: none;
  position: relative;
  transition: color .35s, box-shadow .35s, border-color .35s, transform .25s cubic-bezier(0.22, 1, 0.36, 1);
}

.cvw-cta-contact:hover {
  box-shadow: 0 0 24px rgba(74,143,231, .15), 0 0 8px rgba(74,143,231, .1);
  border-color: rgba(74,143,231, .7);
}

/* ══════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════ */

#cvw-footer {
  background: rgba(7,10,14,.88);
  border-top: 1px solid rgba(74,143,231, .08);
  padding: 3rem 2rem 2rem;
  position: relative;
  z-index: 1;
}

.cvw-footer-shimmer {
  position: absolute;
  top: -1px;
  left: 0;
  width: 200%;
  height: 1px;
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(74,143,231, .0) 20%,
      rgba(74,143,231, .2) 40%,
      rgba(126,180,242, .4) 50%,
      rgba(74,143,231, .2) 60%,
      rgba(74,143,231, .0) 80%,
      transparent 100%);
  animation: cvwShimmer 6s ease-in-out infinite;
}

@keyframes cvwShimmer {
  0% {
    transform: translateX(-50%);
  }

  100% {
    transform: translateX(0%);
  }
}

.cvw-footer-inner {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}

.cvw-footer-contact-row {
  display: flex;
  justify-content: center;
  gap: 3rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(74,143,231, .06);
}

.cvw-footer-contact-item {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-family: 'Outfit', sans-serif;
  font-size: .95rem;
  color: rgba(232,224,216, .4);
  letter-spacing: .08em;
  text-decoration: none;
  transition: color .3s;
}

.cvw-footer-contact-item:hover {
  color: #7EB4F2;
}

.cvw-footer-contact-icon {
  font-size: 1.2rem;
  opacity: .6;
}

.cvw-footer-brand {
  margin-bottom: 1.5rem;
}

.cvw-footer-tagline {
  font-size: .88rem;
  letter-spacing: .2em;
  color: rgba(232,224,216, .22);
  text-transform: none;
  font-style: italic;
  margin-top: .8rem;
}

.cvw-footer-links {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.cvw-footer-links a {
  font-size: .9rem;
  letter-spacing: .1em;
  color: rgba(232,224,216, .4);
  transition: color .3s, text-shadow .3s;
  font-weight: 400;
}

.cvw-footer-links a:hover {
  color: #7EB4F2;
  text-shadow: 0 0 16px rgba(74,143,231, .3);
}

.cvw-footer-copy {
  font-size: .78rem;
  letter-spacing: .06em;
  color: rgba(232,224,216, .18);
  padding-top: 1.5rem;
  border-top: 1px solid rgba(74,143,231, .06);
}

/* ══════════════════════════════════════════════════
   HAND TRACKING UI
   ══════════════════════════════════════════════════ */

/* ── Toggle Button ── */
.cvw-hand-toggle {
  position: fixed;
  bottom: 1.5rem;
  right: 4.5rem;
  z-index: 99999;
  background: rgba(10,13,18,.9);
  border: 1px solid rgba(74,143,231,.3);
  color: rgba(232,224,216,.6);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .4s;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 16px rgba(0,0,0,.4);
}

.cvw-hand-toggle:hover {
  border-color: rgba(74,143,231,.6);
  color: #7EB4F2;
  box-shadow: 0 4px 20px rgba(0,0,0,.5), 0 0 12px rgba(74,143,231,.15);
}

.cvw-hand-toggle.cvw-hand-on {
  border-color: rgba(74,143,231,.5);
  background: rgba(10,13,18,.95);
  box-shadow: 0 4px 20px rgba(0,0,0,.5), 0 0 16px rgba(74,143,231,.15);
  animation: cvwHandPulse 3s ease-in-out infinite;
}

.cvw-hand-toggle.cvw-hand-loading {
  animation: cvwHandSpin 1.2s linear infinite;
  border-color: rgba(126,180,242,.4);
}

@keyframes cvwHandPulse {
  0%, 100% { box-shadow: 0 4px 16px rgba(0,0,0,.4), 0 0 8px rgba(74,143,231,.1); }
  50% { box-shadow: 0 4px 16px rgba(0,0,0,.4), 0 0 20px rgba(74,143,231,.25); }
}

@keyframes cvwHandSpin {
  to { transform: rotate(360deg); }
}

/* ── Webcam Preview ── */
.cvw-hand-preview {
  position: fixed;
  bottom: 4.5rem;
  left: 1.5rem;
  width: 150px;
  height: 112px;
  z-index: 99998;
  border-radius: 8px;
  border: 1px solid rgba(74,143,231,.2);
  background: #000;
  object-fit: cover;
  transform: scaleX(-1);
  opacity: 0;
  pointer-events: none;
  transition: opacity .5s, border-color .4s;
  box-shadow: 0 8px 24px rgba(0,0,0,.5);
}

.cvw-hand-preview.active {
  opacity: .7;
  pointer-events: auto;
}

.cvw-hand-preview:hover {
  opacity: .95;
  border-color: rgba(74,143,231,.4);
}

/* ── Gesture HUD ── */
.cvw-gesture-hud {
  position: fixed;
  bottom: 4.5rem;
  right: 1.5rem;
  z-index: 99998;
  padding: .4rem .8rem;
  font-family: 'Outfit', sans-serif;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .1em;
  color: rgba(232,224,216,.8);
  background: rgba(10,13,18,.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(74,143,231,.15);
  border-radius: 6px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .3s, transform .3s;
  pointer-events: none;
}

.cvw-gesture-hud.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Responsive: mobile adjustments ── */
@media (max-width: 768px) {
  .cvw-hand-toggle {
    bottom: 1rem;
    right: 4rem;
    width: 36px;
    height: 36px;
    font-size: .9rem;
  }
  .cvw-hand-preview {
    width: 110px;
    height: 82px;
    bottom: 3.5rem;
    left: 1rem;
  }
  .cvw-gesture-hud {
    bottom: 3.5rem;
    right: 1rem;
    font-size: .72rem;
  }
}

/* ── HAND HOVER HIGHLIGHT ── */
.cvw-hand-hover {
  outline: 1.5px solid rgba(232,201,122, .45) !important;
  outline-offset: 4px;
  box-shadow: 0 0 20px rgba(201,168,76, .2), inset 0 0 12px rgba(201,168,76, .06) !important;
  transition: outline .15s, box-shadow .15s !important;
}
.cvw-nav-links a.cvw-hand-hover {
  color: #e8c97a !important;
  outline: none !important;
  box-shadow: none !important;
}
.cvw-nav-links a.cvw-hand-hover::after {
  width: 100% !important;
}

/* ══════════════════════════════════════════════════
   STEVE'S GRAPHIC UPGRADES v4
   ══════════════════════════════════════════════════ */

/* ── Particle Sparks on CTA ── */
.cvw-spark {
  position: absolute;
  width: 4px;
  height: 4px;
  background: #7EB4F2;
  border-radius: 50%;
  pointer-events: none;
  animation: cvwSparkFade .6s ease forwards;
  box-shadow: 0 0 6px rgba(126,180,242,.8), 0 0 12px rgba(74,143,231,.4);
  z-index: 10;
}

@keyframes cvwSparkFade {
  0%   { opacity: 1; transform: scale(1) translate(0, 0); }
  100% { opacity: 0; transform: scale(0) translate(var(--sx, 10px), var(--sy, -20px)); }
}


/* ── Section Canvas Parallax-Ready ── */
.cvw-section-canvas {
  will-change: transform;
  transition: transform 0s;
}

/* ── GPU Acceleration Hints ── */
.cvw-tl-node,
.cvw-stat {
  will-change: transform;
  contain: layout style paint;
}

/* ── Contact Aurora ── */
#cvw-contact {
  background:
    radial-gradient(ellipse at 40% 40%, rgba(74,143,231,.04) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 70%, rgba(80,120,180,.03) 0%, transparent 45%),
    rgba(8,11,16,.82) !important;
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}

/* ══════════════════════════════════════════════════
   MICHELANGELO'S DESIGN POLISH v4.1
   ══════════════════════════════════════════════════ */

/* ── Focus States (Accessibility) ── */
.cvw-cta:focus-visible,
.cvw-card:focus-visible,
.cvw-nav-links a:focus-visible,
.cvw-lang-btn:focus-visible,
.cvw-tl-node:focus-visible {
  outline: 2px solid rgba(126,180,242,.6);
  outline-offset: 3px;
}

/* ── Footer Branding ── */
#cvw-footer .cvw-logo-icon {
  font-size: 1.3rem;
}

#cvw-footer .cvw-logo-text {
  font-size: 1.2rem;
}

/* ── Cards Content Area ── */
#cvw-panel .cvw-section-inner {
  max-width: 900px;
}

/* ── Card Link Arrow Animation ── */
.cvw-card-link {
  display: inline-flex;
  align-items: center;
}

.cvw-card-link::after {
  content: '→';
  display: inline-block;
  transition: transform .3s cubic-bezier(0.22, 1, 0.36, 1);
  margin-left: .3rem;
}

.cvw-card:hover .cvw-card-link::after {
  transform: translateX(6px);
}

/* ══════════════════════════════════════════════════
   KEYFRAMES
   ══════════════════════════════════════════════════ */

@keyframes cvwSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes cvwUp {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cvwSkeleton {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ══════════════════════════════════════════════════
   LANGUAGE SWITCHER
   ══════════════════════════════════════════════════ */

.cvw-lang-switch {
  position: relative;
  margin-left: auto;
  margin-right: 1rem;
  z-index: 1001;
}

.cvw-lang-btn {
  display: flex;
  align-items: center;
  gap: .4rem;
  background: rgba(74,143,231, .08);
  border: 1px solid rgba(74,143,231, .15);
  color: rgba(232,224,216, .75);
  padding: .4rem .7rem;
  border-radius: 6px;
  cursor: pointer;
  font-family: 'Outfit', sans-serif;
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .08em;
  transition: all .3s ease;
}

.cvw-lang-btn:hover {
  background: rgba(74,143,231, .15);
  border-color: rgba(74,143,231, .3);
  color: #7EB4F2;
}

.cvw-lang-arrow {
  font-size: .6rem;
  opacity: .5;
  transition: transform .3s ease;
}

.cvw-lang-dropdown.open + .cvw-lang-arrow,
.cvw-lang-dropdown.open ~ .cvw-lang-arrow {
  transform: rotate(180deg);
}

.cvw-lang-dropdown {
  position: absolute;
  top: calc(100% + .5rem);
  right: 0;
  min-width: 170px;
  background: rgba(8,11,16, .97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(74,143,231, .12);
  border-radius: 8px;
  padding: .4rem;
  display: none;
  flex-direction: column;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .5);
}

.cvw-lang-dropdown.open {
  display: flex;
  animation: cvwLangFadeIn .25s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes cvwLangFadeIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

.cvw-lang-opt {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .5rem .7rem;
  background: transparent;
  border: none;
  color: rgba(232,224,216, .55);
  font-family: 'Outfit', sans-serif;
  font-size: .82rem;
  font-weight: 400;
  cursor: pointer;
  border-radius: 5px;
  transition: all .2s ease;
  text-align: left;
  width: 100%;
}

.cvw-lang-opt:hover {
  background: rgba(74,143,231, .08);
  color: rgba(232,224,216, .85);
}

.cvw-lang-opt.active {
  background: rgba(74,143,231, .12);
  color: #7EB4F2;
  font-weight: 500;
}

/* ── Chinese Font Override ── */
body.cvw-lang-zh {
  font-family: 'Noto Sans SC', 'Outfit', sans-serif;
}

body.cvw-lang-zh .cvw-section-title,
body.cvw-lang-zh .cvw-card-title,
body.cvw-lang-zh .cvw-tl-card-title {
  font-family: 'Noto Sans SC', 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
}

body.cvw-lang-zh .cvw-hl-outline,
body.cvw-lang-zh .cvw-hl-fill {
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
}

/* ══════════════════════════════════════════════════
   RESPONSIVE — TABLET (≤ 768px)
   ══════════════════════════════════════════════════ */

@media (max-width: 768px) {

  /* ── Navigation ── */
  .cvw-menu-btn {
    display: flex;
  }

  .cvw-nav-inner {
    padding: .7rem 1.2rem;
  }

  .cvw-nav-right {
    gap: .4rem;
  }

  .cvw-nav-demo {
    display: none;
  }

  /* ── Lang Switch Mobile ── */
  .cvw-lang-switch {
    margin-right: .6rem;
  }
  .cvw-lang-btn {
    padding: .35rem .55rem;
    font-size: .72rem;
  }

  .cvw-nav-links {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    flex-direction: column;
    background: rgba(8,11,16, .97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 1.5rem 1.5rem 2rem;
    gap: 0;
    border-bottom: 1px solid rgba(74,143,231, .12);
    display: none;
    opacity: 0;
    transform: translateY(-8px);
  }

  .cvw-nav-links.open {
    display: flex;
    animation: cvwNavSlideIn .35s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  }

  @keyframes cvwNavSlideIn {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .cvw-nav-links li {
    border-bottom: 1px solid rgba(74,143,231, .05);
  }

  .cvw-nav-links li:last-child {
    border-bottom: none;
  }

  .cvw-nav-links a {
    display: block;
    padding: .9rem 0;
    font-size: .9rem;
    letter-spacing: .3em;
  }

  /* ── Hero ── */
  #cvw-hero {
    min-height: 100vh;
    min-height: 100dvh;
  }

  .cvw-ui {
    padding: 0 1rem;
  }

  .cvw-eye {
    font-size: .72rem;
    letter-spacing: .35em;
    margin-bottom: 1rem;
  }

  .cvw-hl-outline,
  .cvw-hl-fill {
    font-size: clamp(1.9rem, 9.5vw, 3.4rem) !important;
    letter-spacing: .03em;
  }

  #cvw-title {
    padding: .5em .6em;
    flex-wrap: wrap;
  }

  /* Force clean line break: CODICE on line 1, VINCI on line 2 */
  .cvw-hl-sep-wrap {
    flex-basis: 100%;
    height: 0.6em;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .cvw-hl-sep-wrap .cvw-sep-text {
    display: none;
  }

  .cvw-sub {
    font-size: clamp(.72rem, 2.2vw, .95rem);
    letter-spacing: .25em;
    margin-top: 1rem;
  }

  .cvw-divider {
    margin: 1.2rem auto;
    width: 40px;
  }

  .cvw-cta {
    font-size: .88rem;
    padding: .62rem 1.6rem;
    letter-spacing: .18em;
  }

  .cvw-scroll-hint {
    bottom: 1.5rem;
  }

  /* ── Info Panel ── */
  #cvw-info-panel {
    left: 5% !important;
    width: 90% !important;
    max-width: 320px;
    padding: 1rem 1.2rem;
  }

  .cvw-info-letter {
    font-size: 1.8rem;
  }

  .cvw-info-word {
    font-size: .78rem;
  }

  .cvw-info-desc {
    font-size: .88rem;
  }

  /* ── Sections Common ── */
  .cvw-section-inner {
    padding: 3.5rem 1.2rem;
  }

  .cvw-section-tag {
    font-size: .78rem;
    letter-spacing: .35em;
    margin-bottom: .6rem;
  }

  .cvw-section-title {
    font-size: clamp(1.6rem, 6vw, 2.4rem);
    margin-bottom: 2rem;
    letter-spacing: .05em;
  }

  /* ── About ── */
  .cvw-about-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .cvw-about-text p {
    font-size: 1rem;
    line-height: 1.75;
  }

  .cvw-about-stats {
    gap: 1rem;
    padding-top: 0;
  }

  .cvw-stat {
    padding: .6rem 0;
    gap: 1rem;
  }

  .cvw-stat-ring {
    width: 52px;
    height: 52px;
  }

  .cvw-stat-num {
    font-size: 2.2rem;
  }

  .cvw-stat-label {
    font-size: .82rem;
    letter-spacing: .12em;
  }

  /* ── Services Cards ── */
  .cvw-cards {
    gap: 1.2rem;
  }

  .cvw-module-card,
  .cvw-module-card:nth-child(even) {
    grid-template-columns: 1fr;
    min-height: unset;
  }

  .cvw-module-card:nth-child(even) .cvw-module-screen { order: 0; }
  .cvw-module-card:nth-child(even) .cvw-module-body   { order: 1; }
  .cvw-module-card:nth-child(even) .cvw-module-screen {
    border-left: none;
    border-right: none;
    border-bottom: 1px solid rgba(74,143,231,.08);
  }

  .cvw-module-screen {
    min-height: 180px;
    border-right: none;
    border-bottom: 1px solid rgba(74,143,231,.08);
  }

  .cvw-module-body {
    padding: 1.6rem 1.4rem;
  }

  .cvw-module-title {
    font-size: 1.1rem;
  }

  .cvw-module-text {
    font-size: .95rem;
  }

  /* ── Process Timeline — Vertical on Mobile ── */
  .cvw-process-timeline {
    padding: 2rem 0 3rem;
  }

  .cvw-tl-track,
  .cvw-tl-nodes {
    display: none;
  }

  .cvw-tl-cards-row {
    flex-direction: column;
    gap: 0;
    margin-top: 2rem;
    counter-reset: process-step;
  }

  .cvw-tl-card {
    counter-increment: process-step;
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    text-align: left;
    padding: 1.4rem 0 1.4rem 3.2rem;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(74,143,231, .06);
    border-radius: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    opacity: 1;
  }

  .cvw-tl-card:last-child {
    border-bottom: none;
  }

  .cvw-tl-card::before {
    content: "0" counter(process-step);
    position: absolute;
    left: 0;
    top: 1.5rem;
    font-family: 'Cinzel', serif;
    font-size: .9rem;
    font-weight: 700;
    color: rgba(74,143,231, .45);
    letter-spacing: .04em;
  }

  .cvw-tl-card-title {
    font-size: .95rem;
    letter-spacing: .08em;
    margin-bottom: .4rem;
  }

  .cvw-tl-card-desc {
    font-size: .88rem;
    line-height: 1.6;
    color: rgba(232,224,216, .42);
  }

  /* ── Contact ── */
  .cvw-contact-inner {
    padding: 4rem 1.2rem;
  }

  .cvw-contact-desc {
    font-size: 1rem;
    margin-bottom: 1.8rem;
  }

  .cvw-cta-contact {
    font-size: .95rem;
    padding: .8rem 2.2rem;
    letter-spacing: .18em;
  }

  /* ── Footer ── */
  #cvw-footer {
    padding: 2.5rem 1.2rem 1.5rem;
  }

  .cvw-footer-brand {
    margin-bottom: 1.2rem;
  }

  .cvw-footer-tagline {
    font-size: .78rem;
    letter-spacing: .2em;
  }

  .cvw-footer-links {
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    justify-content: center;
  }

  .cvw-footer-links a {
    font-size: .82rem;
    letter-spacing: .12em;
  }

  .cvw-footer-copy {
    font-size: .78rem;
    letter-spacing: .1em;
    padding-top: 1.2rem;
  }
}

/* ══════════════════════════════════════════════════
   RESPONSIVE — SMALL PHONE (≤ 480px)
   ══════════════════════════════════════════════════ */

@media (max-width: 480px) {

  .cvw-hl-outline,
  .cvw-hl-fill {
    font-size: clamp(1.8rem, 12vw, 3rem) !important;
  }

  .cvw-section-title {
    font-size: clamp(1.4rem, 5.5vw, 2rem);
    margin-bottom: 1.8rem;
  }

  .cvw-section-inner {
    padding: 3rem 1rem;
  }

  .cvw-about-text p {
    font-size: .95rem;
  }

  .cvw-stat-num {
    font-size: 1.9rem;
  }

  .cvw-stat-ring {
    width: 44px;
    height: 44px;
  }

  .cvw-stat-label {
    font-size: .75rem;
  }

  .cvw-tl-ring {
    width: 46px;
    height: 46px;
  }

  .cvw-tl-icon {
    font-size: 1.1rem;
  }

  .cvw-tl-node {
    gap: 1rem;
    padding: 1.2rem 0;
  }

  .cvw-contact-inner {
    padding: 3.5rem 1rem;
  }

  .cvw-footer-links {
    gap: .8rem 1.2rem;
  }
}

/* ══════════════════════════════════════════════════
   RESPONSIVE — EXTRA SMALL PHONE (≤ 360px)
   ══════════════════════════════════════════════════ */

@media (max-width: 360px) {

  .cvw-nav-inner {
    padding: .6rem 1rem;
  }

  .cvw-logo-text {
    font-size: 1.05rem;
  }

  .cvw-hl-outline,
  .cvw-hl-fill {
    font-size: clamp(1.6rem, 13vw, 2.5rem) !important;
  }

  .cvw-sub {
    font-size: .68rem;
    letter-spacing: .2em;
  }

  .cvw-cta {
    font-size: .78rem;
    padding: .55rem 1.2rem;
    letter-spacing: .15em;
  }

  .cvw-section-inner {
    padding: 2.5rem .8rem;
  }

  .cvw-tl-card-title {
    font-size: .85rem;
  }

  .cvw-tl-card-desc {
    font-size: .85rem;
  }
}

/* ══════════════════════════════════════════════════
   LEVEL UP — CONTACT FORM
   ══════════════════════════════════════════════════ */

#cvw-form {
  background: linear-gradient(160deg, #080d14 0%, #0c1520 100%);
  padding: 6rem 2rem;
}

.cvw-form-subtitle {
  font-family: 'Outfit', sans-serif;
  font-size: 1.05rem;
  color: rgba(232,224,216,.55);
  text-align: center;
  margin: -.5rem 0 3rem;
}

.cvw-form {
  max-width: 720px;
  margin: 0 auto;
  background: rgba(212,175,55,.03);
  border: 1px solid rgba(212,175,55,.12);
  border-radius: 16px;
  padding: 3rem 3rem 2.5rem;
  backdrop-filter: blur(12px);
}

.cvw-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.4rem;
  margin-bottom: 1.4rem;
}

.cvw-form-group {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.cvw-form-full {
  grid-column: 1 / -1;
}

.cvw-form label {
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  color: rgba(232,224,216,.7);
  letter-spacing: .06em;
  font-weight: 500;
}

.cvw-form input,
.cvw-form textarea {
  background: rgba(8,12,17,.6);
  border: 1px solid rgba(212,175,55,.15);
  border-radius: 8px;
  padding: .82rem 1rem;
  color: rgba(232,224,216,.9);
  font-family: 'Outfit', sans-serif;
  font-size: .95rem;
  outline: none;
  transition: border-color .3s, box-shadow .3s;
  width: 100%;
  box-sizing: border-box;
}

.cvw-form input::placeholder,
.cvw-form textarea::placeholder {
  color: rgba(232,224,216,.25);
}

.cvw-form input:focus,
.cvw-form textarea:focus {
  border-color: rgba(212,175,55,.6);
  box-shadow: 0 0 18px rgba(212,175,55,.12);
}

.cvw-form textarea {
  resize: vertical;
  min-height: 110px;
}

.cvw-form-error {
  font-size: .78rem;
  color: #ff7070;
  display: none;
}

.cvw-form-group.has-error .cvw-form-error { display: block; }
.cvw-form-group.has-error input,
.cvw-form-group.has-error textarea {
  border-color: rgba(255,112,112,.5);
}

.cvw-form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin: 1.5rem 0 2rem;
  font-family: 'Outfit', sans-serif;
  font-size: .88rem;
  color: rgba(232,224,216,.55);
  line-height: 1.5;
}

.cvw-form-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: .15rem;
  accent-color: #d4af37;
  cursor: pointer;
}

.cvw-form-checkbox a {
  color: #d4af37;
  text-decoration: none;
  border-bottom: 1px dotted rgba(212,175,55,.4);
}

.cvw-form-actions {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}

button.cvw-cta {
  background: none;
  border: 1px solid rgba(212,175,55,.5);
  cursor: pointer;
  font-family: 'Plus Jakarta Sans', 'Outfit', sans-serif;
}

button.cvw-cta:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.cvw-form-status {
  font-family: 'Outfit', sans-serif;
  font-size: .9rem;
  min-height: 1.2rem;
}
.cvw-form-status.ok  { color: #51cf66; }
.cvw-form-status.err { color: #ff7070; }

/* ── NAV DEMO BUTTON ── */
.cvw-nav-demo {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem 1.1rem;
  border: 1px solid rgba(212,175,55,.5);
  border-radius: 999px;
  color: #d4af37;
  font-family: 'Outfit', sans-serif;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-decoration: none;
  transition: background .3s, box-shadow .3s;
  white-space: nowrap;
  animation: cvwDemoPulse 3s ease-in-out infinite;
}

.cvw-nav-demo:hover {
  background: rgba(212,175,55,.12);
  box-shadow: 0 0 18px rgba(212,175,55,.2);
}

@keyframes cvwDemoPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(212,175,55,0); }
  50%      { box-shadow: 0 0 12px 3px rgba(212,175,55,.18); }
}

/* ══════════════════════════════════════════════════
   LEVEL UP — TRUST BADGES
   ══════════════════════════════════════════════════ */

#cvw-trust {
  background: #060a0f;
  padding: 3.5rem 2rem;
  border-top: 1px solid rgba(212,175,55,.06);
  border-bottom: 1px solid rgba(212,175,55,.06);
}

.cvw-trust-inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.cvw-trust-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  padding: .9rem 1.6rem;
  border: 1px solid rgba(212,175,55,.12);
  border-radius: 10px;
  transition: border-color .3s, box-shadow .3s;
  min-width: 120px;
  text-align: center;
}

.cvw-trust-badge:hover {
  border-color: rgba(212,175,55,.35);
  box-shadow: 0 4px 20px rgba(212,175,55,.08);
}

.cvw-trust-badge-icon {
  font-size: 1.5rem;
  line-height: 1;
}

.cvw-trust-badge-name {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  color: #d4af37;
  letter-spacing: .08em;
}

.cvw-trust-badge-sub {
  font-family: 'Outfit', sans-serif;
  font-size: .7rem;
  color: rgba(232,224,216,.4);
}

.cvw-trust-sep {
  width: 1px;
  height: 48px;
  background: rgba(212,175,55,.12);
}

/* ══════════════════════════════════════════════════
   LEVEL UP — TESTIMONIALS
   ══════════════════════════════════════════════════ */

#cvw-testimonials {
  background: #080c11;
  padding: 6rem 2rem;
}

.cvw-testimonials-track {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 1080px;
  margin: 0 auto;
}

.cvw-testi-card {
  background: rgba(212,175,55,.03);
  border: 1px solid rgba(212,175,55,.1);
  border-radius: 14px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  transition: border-color .4s, transform .3s, box-shadow .4s;
}

.cvw-testi-card:hover {
  border-color: rgba(212,175,55,.3);
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.3);
}

.cvw-testi-stars {
  color: #d4af37;
  font-size: 1rem;
  letter-spacing: .15em;
}

.cvw-testi-quote {
  font-family: 'Outfit', sans-serif;
  font-size: .97rem;
  color: rgba(232,224,216,.75);
  line-height: 1.75;
  font-style: italic;
  flex: 1;
}

.cvw-testi-quote::before { content: '\201C'; color: #d4af37; font-size: 1.3rem; }
.cvw-testi-quote::after  { content: '\201D'; color: #d4af37; font-size: 1.3rem; }

.cvw-testi-author {
  display: flex;
  align-items: center;
  gap: .9rem;
}

.cvw-testi-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(212,175,55,.3);
  background: rgba(212,175,55,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}

.cvw-testi-meta strong {
  display: block;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .9rem;
  font-weight: 700;
  color: rgba(232,224,216,.9);
}

.cvw-testi-meta span {
  font-family: 'Outfit', sans-serif;
  font-size: .8rem;
  color: rgba(212,175,55,.7);
}

/* ══════════════════════════════════════════════════
   LEVEL UP — CASE STUDIES
   ══════════════════════════════════════════════════ */

#cvw-cases {
  background: linear-gradient(180deg, #080c11 0%, #060a0f 100%);
  padding: 6rem 2rem;
}

.cvw-cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 1080px;
  margin: 0 auto;
}

.cvw-case-card {
  background: linear-gradient(135deg, rgba(8, 12, 17, 0.75) 0%, rgba(5, 7, 10, 0.65) 100%);
  border: 1px solid rgba(212, 175, 55, 0.08);
  border-radius: 14px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: border-color .4s, transform .4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .4s;
  cursor: default;
  box-shadow: 
    inset 0 1px 1px rgba(255, 255, 255, 0.02),
    0 10px 30px rgba(0, 0, 0, 0.3);
}

.cvw-case-card:hover {
  border-color: rgba(212, 175, 55, 0.3);
  transform: translateY(-6px);
  box-shadow: 
    inset 0 1px 2px rgba(255, 255, 255, 0.06),
    0 20px 40px rgba(0, 0, 0, 0.5),
    0 0 25px rgba(212, 175, 55, 0.06);
}

.cvw-case-industry {
  font-family: 'Outfit', sans-serif;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #7EB4F2;
}

.cvw-case-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: rgba(232,224,216,.9);
}

.cvw-case-desc {
  font-family: 'Outfit', sans-serif;
  font-size: .9rem;
  color: rgba(232,224,216,.55);
  line-height: 1.7;
  flex: 1;
}

.cvw-case-result {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .8rem 1rem;
  background: rgba(212,175,55,.06);
  border-radius: 8px;
  border-left: 2px solid #d4af37;
}

.cvw-case-result-num {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #d4af37;
  white-space: nowrap;
}

.cvw-case-result-label {
  font-family: 'Outfit', sans-serif;
  font-size: .82rem;
  color: rgba(232,224,216,.6);
  line-height: 1.4;
}

/* ══════════════════════════════════════════════════
   LEVEL UP — ROI CALCULATOR
   ══════════════════════════════════════════════════ */

#cvw-calculator {
  background: linear-gradient(135deg, #060a0f 0%, #0c1520 100%);
  padding: 6rem 2rem;
  border-top: 1px solid rgba(212,175,55,.06);
}

.cvw-calc-wrap {
  max-width: 760px;
  margin: 0 auto;
  background: rgba(212,175,55,.03);
  border: 1px solid rgba(212,175,55,.12);
  border-radius: 20px;
  padding: 3rem;
  position: relative;
  z-index: 2;
}

.cvw-calc-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  margin-bottom: 3rem;
}

.cvw-calc-group {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cvw-calc-label {
  font-family: 'Outfit', sans-serif;
  font-size: .9rem;
  color: rgba(232,224,216,.7);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
}

.cvw-calc-label strong {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #d4af37;
  white-space: nowrap;
  flex-shrink: 0;
}

.cvw-calc-hint {
  display: block;
  font-size: .72rem;
  font-style: normal;
  color: rgba(232,224,216,.3);
  margin-top: .15rem;
}

.cvw-calc-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: rgba(212, 175, 55, 0.15);
  outline: none;
  cursor: pointer;
  border: none;
  margin: 10px 0;
  transition: background 0.3s;
}

.cvw-calc-slider:hover {
  background: rgba(212, 175, 55, 0.25);
}

.cvw-calc-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #d4af37;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(212, 175, 55, 0.4), 0 0 0 4px rgba(212, 175, 55, 0.15);
  transition: box-shadow 0.2s, transform 0.2s;
}

.cvw-calc-slider::-webkit-slider-thumb:hover {
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.7), 0 0 0 6px rgba(212, 175, 55, 0.25);
  transform: scale(1.1);
}

.cvw-calc-slider::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #d4af37;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(212, 175, 55, 0.4), 0 0 0 4px rgba(212, 175, 55, 0.15);
  transition: box-shadow 0.2s, transform 0.2s;
}

.cvw-calc-slider::-moz-range-thumb:hover {
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.7), 0 0 0 6px rgba(212, 175, 55, 0.25);
  transform: scale(1.1);
}

.cvw-calc-result {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(212,175,55,.1);
}

.cvw-calc-result-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  text-align: center;
  padding: 1.5rem 1rem;
  border-radius: 12px;
}

.cvw-calc-result-item.cvw-gold-bg {
  background: rgba(212,175,55,.08);
  border: 1px solid rgba(212,175,55,.2);
}

.cvw-calc-result-item.cvw-blue-bg {
  background: rgba(74,143,231,.06);
  border: 1px solid rgba(74,143,231,.15);
}

.cvw-calc-result-num {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #d4af37;
  transition: color .3s;
}

.cvw-calc-result-item.cvw-blue-bg .cvw-calc-result-num {
  color: #7EB4F2;
}

.cvw-calc-result-label {
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  color: rgba(232,224,216,.55);
}

/* ══════════════════════════════════════════════════
   LEVEL UP — FAQ ACCORDION
   ══════════════════════════════════════════════════ */

#cvw-faq {
  background: #080c11;
  padding: 6rem 2rem;
}

.cvw-faq-list {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: .8rem;
}

.cvw-faq-item {
  background: rgba(212,175,55,.025);
  border: 1px solid rgba(212,175,55,.1);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color .3s;
}

.cvw-faq-item[open] {
  border-color: rgba(212,175,55,.3);
}

.cvw-faq-item summary {
  padding: 1.3rem 1.6rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: rgba(232,224,216,.88);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  transition: color .3s;
  user-select: none;
}

.cvw-faq-item summary::-webkit-details-marker { display: none; }

.cvw-faq-item summary:hover { color: #d4af37; }

.cvw-faq-item[open] summary { color: #d4af37; }

.cvw-faq-icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border: 1px solid rgba(212,175,55,.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  color: #d4af37;
  transition: transform .3s, background .3s;
}

.cvw-faq-item[open] .cvw-faq-icon {
  transform: rotate(45deg);
  background: rgba(212,175,55,.1);
}

.cvw-faq-answer {
  padding: 0 1.6rem 1.4rem;
  font-family: 'Outfit', sans-serif;
  font-size: .95rem;
  color: rgba(232,224,216,.6);
  line-height: 1.75;
}

/* ══════════════════════════════════════════════════
   LEVEL UP — NEWSLETTER (footer)
   ══════════════════════════════════════════════════ */

.cvw-newsletter {
  display: flex;
  align-items: center;
  gap: .8rem;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1.8rem 0;
  border-bottom: 1px solid rgba(212,175,55,.08);
  margin-bottom: 1.5rem;
}

.cvw-newsletter-label {
  font-family: 'Outfit', sans-serif;
  font-size: .9rem;
  color: rgba(232,224,216,.55);
  white-space: nowrap;
}

.cvw-newsletter-input {
  background: rgba(8,12,17,.6);
  border: 1px solid rgba(212,175,55,.2);
  border-radius: 8px;
  padding: .6rem 1rem;
  color: rgba(232,224,216,.9);
  font-family: 'Outfit', sans-serif;
  font-size: .88rem;
  outline: none;
  width: 220px;
  transition: border-color .3s;
}

.cvw-newsletter-input:focus {
  border-color: rgba(212,175,55,.5);
}

.cvw-newsletter-btn {
  padding: .6rem 1.4rem;
  border: 1px solid rgba(212,175,55,.5);
  border-radius: 8px;
  background: rgba(212,175,55,.08);
  color: #d4af37;
  font-family: 'Outfit', sans-serif;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .3s, box-shadow .3s;
}

.cvw-newsletter-btn:hover {
  background: rgba(212,175,55,.18);
  box-shadow: 0 0 16px rgba(212,175,55,.2);
}

/* ══════════════════════════════════════════════════
   LEVEL UP — RESPONSIVE ADDITIONS
   ══════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .cvw-form { padding: 2rem 1.5rem; }
  .cvw-form-grid { grid-template-columns: 1fr; gap: 1rem; }

  .cvw-trust-sep { display: none; }

  /* Module screen: taller on mobile so widget rows are not clipped */
  .cvw-module-screen { min-height: 250px; }

  /* Feature list: visible without hover on mobile */
  .cvw-module-feats li { color: rgba(240,232,205,.62); }

  .cvw-testimonials-track { grid-template-columns: 1fr; gap: 1.5rem; }
  .cvw-cases-grid         { grid-template-columns: 1fr; gap: 1.5rem; }

  .cvw-case-meta { flex-direction: column; align-items: flex-start; gap: .4rem; }

  .cvw-case-ba {
    flex-direction: column;
    gap: .5rem;
    padding: .75rem .85rem;
  }
  .cvw-case-ba-arrow { display: none; }
  .cvw-case-ba-col { padding: .45rem .55rem; background: rgba(255,255,255,.025); border-radius: 6px; }
  .cvw-case-ba-col--after { background: rgba(74,143,231,.05); }

  .cvw-calc-inputs  { grid-template-columns: 1fr; gap: 2rem; }
  .cvw-calc-result  { grid-template-columns: 1fr 1fr; }
  .cvw-calc-wrap    { padding: 2rem 1.5rem; }

  .cvw-newsletter-input { width: 180px; }
}

@media (max-width: 480px) {
  .cvw-calc-result { grid-template-columns: 1fr; }
  .cvw-newsletter  { flex-direction: column; }
  .cvw-module-screen { min-height: 210px; }
}

/* ══════════════════════════════════════════════════
   WOW REDESIGN — v2 Visual Layer
   ══════════════════════════════════════════════════ */

/* ─── Ghost section numbers ─── */
.cvw-section-inner { position: relative; }

.cvw-section-inner[data-num]::after {
  content: attr(data-num);
  position: absolute;
  top: -1.5rem;
  right: -1rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(5rem, 13vw, 10rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(212,175,55,.055);
  pointer-events: none;
  user-select: none;
  z-index: 0;
  line-height: 1;
  letter-spacing: -.04em;
}

/* ─── Section tag — inline eyebrow with accent line ─── */
.cvw-section-tag {
  display: inline-flex !important;
  align-items: center;
  gap: .6rem;
  justify-content: center;
  width: 100%;
  font-size: .72rem !important;
  letter-spacing: .26em !important;
  font-weight: 600 !important;
}
.cvw-section-tag::before {
  content: '';
  display: block;
  width: 22px;
  height: 1px;
  background: #4A8FE7;
  opacity: .7;
  flex-shrink: 0;
}

/* ─── Clip-path reveal animations (replaces simple fade) ─── */
@keyframes cvwClipL {
  from { clip-path: inset(0 105% 0 0); opacity: 0; transform: translateX(-24px); }
  to   { clip-path: inset(0 0% 0 0);   opacity: 1; transform: translateX(0); }
}
@keyframes cvwClipR {
  from { clip-path: inset(0 0 0 105%); opacity: 0; transform: translateX(24px); }
  to   { clip-path: inset(0 0 0 0%);   opacity: 1; transform: translateX(0); }
}
@keyframes cvwClipU {
  from { clip-path: inset(0 0 105% 0); opacity: 0; transform: translateY(18px); }
  to   { clip-path: inset(0 0 0% 0);   opacity: 1; transform: translateY(0); }
}

.cvw-reveal-left.visible  { animation: cvwClipL .95s cubic-bezier(0.16,1,.3,1) both !important; transform: none; }
.cvw-reveal-right.visible { animation: cvwClipR .95s cubic-bezier(0.16,1,.3,1) both !important; transform: none; }
.cvw-reveal-up.visible    { animation: cvwClipU  .75s cubic-bezier(0.16,1,.3,1) both !important; transform: none; }

/* ─── Marquee — Trust Section ─── */
#cvw-trust {
  background: #060a0f;
  padding: 0;
  border-top: 1px solid rgba(212,175,55,.1);
  border-bottom: 1px solid rgba(212,175,55,.1);
  overflow: hidden;
}

.cvw-marquee-wrap {
  display: flex;
  padding: 1.3rem 0;
  -webkit-mask-image: linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);
  mask-image: linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);
}

.cvw-marquee-inner {
  display: inline-flex;
  align-items: center;
  gap: 2.8rem;
  white-space: nowrap;
  animation: cvwMarquee 40s linear infinite;
  flex-shrink: 0;
}
.cvw-marquee-inner:hover { animation-play-state: paused; }

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

.cvw-mq-item {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(232,224,216,.38);
  transition: color .4s;
}
.cvw-mq-item:hover { color: rgba(232,224,216,.75); }

.cvw-mq-sep {
  color: #d4af37;
  font-size: 1rem;
  opacity: .4;
  flex-shrink: 0;
}

/* ─── Promise rows (replaces testimonial cards) ─── */
.cvw-promise-list { margin-top: 3.5rem; }

.cvw-promise-row {
  display: grid;
  grid-template-columns: 3.5rem 1fr 11rem;
  gap: 2.5rem;
  align-items: start;
  padding: 2.2rem 0;
  border-bottom: 1px solid rgba(212,175,55,.07);
  transition: border-color .4s;
}
.cvw-promise-row:first-child { border-top: 1px solid rgba(212,175,55,.07); }
.cvw-promise-row:hover { border-color: rgba(212,175,55,.2); }

.cvw-promise-num {
  font-family: 'Cinzel', serif;
  font-size: 2rem;
  font-weight: 700;
  color: rgba(212,175,55,.18);
  line-height: 1;
  letter-spacing: .04em;
  padding-top: .1rem;
  transition: color .4s;
}
.cvw-promise-row:hover .cvw-promise-num { color: rgba(212,175,55,.5); }

.cvw-promise-body strong {
  display: block;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: rgba(232,224,216,.9);
  margin-bottom: .55rem;
  line-height: 1.45;
}
.cvw-promise-body p {
  font-family: 'Outfit', sans-serif;
  font-size: .88rem;
  color: rgba(232,224,216,.45);
  line-height: 1.85;
  margin: 0;
}

.cvw-promise-tag {
  font-family: 'Outfit', sans-serif;
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #4A8FE7;
  opacity: .8;
  padding-top: .25rem;
  text-align: right;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .cvw-promise-row {
    grid-template-columns: 2.5rem 1fr;
    grid-template-rows: auto auto;
    gap: 1rem 1.5rem;
  }
  .cvw-promise-tag {
    grid-column: 2;
    text-align: left;
    margin-top: -.3rem;
  }
}

/* ══════════════════════════════════════════════════
   HERO BADGES
   ══════════════════════════════════════════════════ */

.cvw-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: center;
  margin: 1.4rem 0 0;
}

.cvw-hero-badge {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: .28rem .8rem;
  border-radius: 100px;
  border: 1px solid rgba(74,143,231,.22);
  color: rgba(126,180,242,.65);
  background: rgba(74,143,231,.05);
  white-space: nowrap;
}

.cvw-hero-badge--gold {
  border-color: rgba(212,175,55,.28);
  color: rgba(212,175,55,.75);
  background: rgba(212,175,55,.05);
}

/* ══════════════════════════════════════════════════
   CASES NOTE
   ══════════════════════════════════════════════════ */

.cvw-cases-note {
  font-family: 'Outfit', sans-serif;
  font-size: .75rem;
  color: rgba(232,224,216,.25);
  text-align: center;
  margin-top: 2.5rem;
  font-style: italic;
}

/* ══════════════════════════════════════════════════
   PRICING SECTION
   ══════════════════════════════════════════════════ */

#cvw-pricing {
  background: linear-gradient(160deg, #070b10 0%, #0b1219 100%);
  padding: 6rem 2rem;
}

.cvw-pricing-sub {
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  color: rgba(232,224,216,.45);
  text-align: center;
  margin: -.5rem 0 3rem;
  letter-spacing: .04em;
}

.cvw-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: 1020px;
  margin: 0 auto;
}

.cvw-pricing-card {
  background: linear-gradient(135deg, rgba(8, 12, 17, 0.9) 0%, rgba(5, 7, 10, 0.8) 100%);
  border: 1px solid rgba(74, 143, 231, 0.08);
  border-radius: 18px;
  padding: 2.4rem 2rem 2rem;
  position: relative;
  transition: border-color .4s, box-shadow .4s, transform .4s cubic-bezier(0.22, 1, 0.36, 1);
  display: flex;
  flex-direction: column;
  box-shadow: 
    inset 0 1px 1px rgba(255, 255, 255, 0.02),
    0 10px 30px rgba(0, 0, 0, 0.4);
}

.cvw-pricing-card:hover {
  border-color: rgba(126, 180, 242, 0.25);
  box-shadow: 
    inset 0 1px 2px rgba(255, 255, 255, 0.06),
    0 20px 40px rgba(0, 0, 0, 0.55),
    0 0 30px rgba(74, 143, 231, 0.06);
  transform: translateY(-6px);
}

.cvw-pricing-card--featured {
  border-color: rgba(212, 175, 55, 0.22);
  background: linear-gradient(135deg, rgba(16, 20, 28, 0.9) 0%, rgba(12, 15, 20, 0.8) 100%);
  box-shadow: 
    inset 0 1px 1px rgba(255, 255, 255, 0.03),
    0 10px 30px rgba(0, 0, 0, 0.4);
}

.cvw-pricing-card--featured:hover {
  border-color: rgba(212, 175, 55, 0.45);
  box-shadow: 
    inset 0 1px 2px rgba(255, 255, 255, 0.08),
    0 20px 40px rgba(0, 0, 0, 0.55),
    0 0 30px rgba(212, 175, 55, 0.1);
}

.cvw-pricing-badge {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #e8c97a 0%, #c9a84c 100%);
  color: #080c11;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: .3rem 1rem;
  border-radius: 100px;
  white-space: nowrap;
}

.cvw-pricing-tier {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(126,180,242,.65);
  margin-bottom: .9rem;
}

.cvw-pricing-card--featured .cvw-pricing-tier {
  color: rgba(212,175,55,.75);
}

.cvw-pricing-price {
  font-family: 'Cinzel', serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: rgba(232,224,216,.95);
  line-height: 1;
  margin-bottom: .35rem;
}

.cvw-pricing-period {
  font-family: 'Outfit', sans-serif;
  font-size: .78rem;
  color: rgba(232,224,216,.3);
  margin-bottom: 1.8rem;
  line-height: 1.5;
}

.cvw-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  display: flex;
  flex-direction: column;
  gap: .7rem;
  flex: 1;
}

.cvw-pricing-features li {
  font-family: 'Outfit', sans-serif;
  font-size: .875rem;
  color: rgba(232,224,216,.55);
  padding-left: 1.5rem;
  position: relative;
  line-height: 1.45;
}

.cvw-pricing-features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #4A8FE7;
  font-weight: 700;
  font-size: .8rem;
}

.cvw-pricing-card--featured .cvw-pricing-features li::before {
  color: #d4af37;
}

.cvw-pricing-cta {
  display: block;
  text-align: center;
  padding: .8rem 1.5rem;
  border-radius: 9px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all .3s;
  margin-top: auto;
}

.cvw-pricing-cta--outline {
  border: 1px solid rgba(74,143,231,.3);
  color: rgba(126,180,242,.75);
  background: transparent;
}

.cvw-pricing-cta--outline:hover {
  border-color: rgba(74,143,231,.6);
  background: rgba(74,143,231,.07);
  color: rgba(126,180,242,.95);
}

.cvw-pricing-cta--gold {
  background: linear-gradient(90deg, #d4af37 0%, #ffe9a6 45%, #c9a84c 55%, #d4af37 100%);
  background-size: 200% 100%;
  animation: cvwCtaShimmer 4s infinite linear;
  color: #080c11;
  border: none;
  font-weight: 800;
  transition: box-shadow .3s, transform .3s;
}

.cvw-pricing-cta--gold:hover {
  box-shadow: 0 6px 24px rgba(212,175,55,.35);
  transform: translateY(-2px);
}

@keyframes cvwCtaShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

@media (max-width: 768px) {
  #cvw-pricing { padding: 4rem 1.2rem; }

  .cvw-pricing-grid {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin: 0 auto;
  }

  .cvw-pricing-card--featured {
    order: -1;
  }
}

/* ── SERVICES INTRO ── */
.cvw-services-intro {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 3rem;
  color: rgba(240,232,205,.6);
  font-size: .95rem;
  line-height: 1.7;
}

/* ── SCOPE SECTION ── */
#cvw-scope {
  padding: 5rem 0;
  background: rgba(0,0,0,.15);
}

.cvw-scope-sub {
  text-align: center;
  max-width: 640px;
  margin: 1rem auto 3rem;
  color: rgba(240,232,205,.65);
  font-size: 1rem;
  line-height: 1.7;
}

.cvw-industries-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  justify-content: center;
  margin-bottom: 3rem;
}

.cvw-industry-chip {
  background: rgba(74,143,231,.08);
  border: 1px solid rgba(74,143,231,.2);
  color: rgba(240,232,205,.8);
  padding: .4rem .9rem;
  border-radius: 100px;
  font-size: .85rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 500;
  transition: border-color .25s, background .25s;
}

.cvw-industry-chip:hover {
  border-color: rgba(74,143,231,.5);
  background: rgba(74,143,231,.15);
}

.cvw-cap-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 2.5rem;
}

.cvw-cap-item {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  padding: .8rem 1rem;
  background: rgba(212,175,55,.04);
  border: 1px solid rgba(212,175,55,.1);
  border-radius: 8px;
  font-size: .875rem;
  color: rgba(240,232,205,.75);
  line-height: 1.4;
}

.cvw-cap-check {
  color: #d4af37;
  font-size: .85rem;
  flex-shrink: 0;
  margin-top: .05rem;
}

.cvw-scope-hint {
  text-align: center;
  color: rgba(240,232,205,.5);
  font-size: .875rem;
  font-style: italic;
  margin-top: 2rem;
}

@media (max-width: 768px) {
  #cvw-scope { padding: 3.5rem 1.2rem; }
  .cvw-cap-grid { grid-template-columns: 1fr; }
}

/* ── CASE CARDS — META + BEFORE/AFTER ── */
.cvw-case-meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .5rem;
  margin-bottom: .9rem;
  flex-wrap: wrap;
}

.cvw-case-module {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .72rem;
  font-weight: 600;
  color: #d4af37;
  background: rgba(212,175,55,.08);
  border: 1px solid rgba(212,175,55,.2);
  padding: .2rem .65rem;
  border-radius: 100px;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: .02em;
}

.cvw-case-ba {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem;
  background: rgba(0,0,0,.22);
  border-radius: 8px;
  margin-bottom: 1.1rem;
  border: 1px solid rgba(255,255,255,.05);
}

.cvw-case-ba-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .18rem;
  min-width: 0;
}

.cvw-case-ba-lbl {
  font-size: .67rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(240,232,205,.3);
  font-family: 'Plus Jakarta Sans', sans-serif;
}

.cvw-case-ba-col--after .cvw-case-ba-lbl {
  color: rgba(74,143,231,.65);
}

.cvw-case-ba-val {
  font-size: .86rem;
  font-weight: 700;
  color: rgba(240,232,205,.65);
  font-family: 'Plus Jakarta Sans', sans-serif;
  line-height: 1.3;
}

.cvw-case-ba-col--after .cvw-case-ba-val {
  color: rgba(74,143,231,.95);
}

.cvw-case-ba-sub {
  font-size: .71rem;
  color: rgba(240,232,205,.35);
  line-height: 1.3;
}

.cvw-case-ba-arrow {
  font-size: 1rem;
  color: rgba(240,232,205,.18);
  flex-shrink: 0;
  padding: 0 .15rem;
}

/* ── CALCULATOR NOTE ── */
.cvw-calc-note {
  text-align: center;
  color: rgba(240,232,205,.4);
  font-size: .78rem;
  margin-top: 1.5rem;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}

/* ── PRIVACY POLICY SECTION ── */
.cvw-privacy-section {
  background: rgba(0,0,0,.3);
  border-top: 1px solid rgba(212,175,55,.08);
  padding: 3rem 1.5rem;
}

.cvw-privacy-inner {
  max-width: 720px;
  margin: 0 auto;
}

.cvw-privacy-inner h2 {
  font-family: 'Cinzel', serif;
  font-size: 1.1rem;
  color: rgba(240,232,205,.7);
  margin-bottom: 1rem;
  font-weight: 700;
  letter-spacing: .05em;
}

.cvw-privacy-inner p {
  font-size: .82rem;
  color: rgba(240,232,205,.45);
  line-height: 1.7;
  margin-bottom: .75rem;
}

.cvw-privacy-inner a {
  color: rgba(212,175,55,.7);
  text-decoration: none;
}

.cvw-privacy-inner a:hover {
  color: #d4af37;
}
/* ==========================================================================
   WOW EFFECTS (Matrix Decode & Sticky Scroll)
   ========================================================================== */

/* --- Matrix Decode --- */
[data-decode="true"] {
    /* Optional: we can add a slight glow to the decoded characters */
}
.cvw-decode-char {
    display: inline-block;
    transition: color 0.1s;
}
.cvw-decode-scramble {
    font-family: monospace;
    opacity: 0.7;
    color: var(--cvw-gold);
}

/* --- Process Sticky Scroll --- */
.cvw-process-sticky-wrap {
    height: 400vh; /* 4 steps */
    position: relative;
    width: 100%;
}
.cvw-process-sticky-inner {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

/* Timeline Cards override for Sticky Scroll */
#cvw-process .cvw-tl-cards-row {
    position: relative;
    width: 100%;
    height: 250px;
    display: flex;
    justify-content: center;
    overflow: visible;
}
#cvw-process .cvw-tl-card {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(40px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
    width: 100%;
    max-width: 400px;
    text-align: center;
}
#cvw-process .cvw-tl-card.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* Line animation override */
#cvw-process .cvw-tl-line {
    width: 0%; /* Will be controlled by JS */
    transition: none; /* JS will update it via scroll */
}


/* --- CINEMATIC EFFECTS --- */

/* Vignette Overlay */
.cvw-vignette {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    pointer-events: none;
    z-index: 99990;
    background: radial-gradient(circle, transparent 50%, rgba(8,12,17,0.85) 150%);
}

/* Fade-In & Ken Burns */
body {
    animation: cvwFadeIn 1.2s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
@keyframes cvwFadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

.cvw-hero {
    animation: cvwKenBurns 3s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
@keyframes cvwKenBurns {
    0% { transform: scale(1.05); }
    100% { transform: scale(1); }
}


/* Particles Canvas */
#cvw-particles {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 0;
    pointer-events: none;
}


/* --- CYBERPUNK CINEMATIC --- */
.cvw-hero {
    perspective: 1200px;
    transform-style: preserve-3d;
}

.cvw-hero-content {
    transition: transform 0.1s ease-out;
    transform-style: preserve-3d;
    will-change: transform;
}

.cvw-fluid-aura {
    position: absolute;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(240, 232, 205, 0.08) 0%, rgba(240, 232, 205, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    transform: translate(-50%, -50%);
    filter: blur(40px);
    mix-blend-mode: screen;
    will-change: transform, left, top;
}


/* --- PREMIUM BLOG IMAGES --- */
.cvw-blog-card-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-bottom: 1px solid rgba(240, 232, 205, 0.1);
    transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.cvw-blog-card:hover .cvw-blog-card-image {
    transform: scale(1.05);
}

/* We need to ensure the parent hides overflow to allow scaling */
.cvw-blog-card {
    overflow: hidden;
    padding: 0; /* Remove padding from card if any, to let image span full width */
}

.cvw-blog-card-body {
    padding: 24px; /* Move padding to the body */
}
