/* ============================================
   CONSERVATORY CUSTOM STYLES
   Built on Symphony CSS Framework v0.1
   ============================================ */

/* ============================================
   CUSTOM SCROLLBAR
   ============================================ */

* {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* ============================================
   GLOBAL PAGE STYLES
   ============================================ */

html {
  background-color: var(--symphony-background);

  /* Background image at the bottom - Original size */
  background-image: url('../images/bg-footer.jpg');
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: auto;
  background-attachment: scroll;
}

/* Page styles - no animation */
body {
  opacity: 1;
  overflow-x: hidden;
  background: transparent;
}

/* ============================================
   CSS VARIABLES
   ============================================ */

:root {
  /* Conservatory Brand Colors */
  --conservatory-primary: #0055FE;
  --conservatory-primary-dark: #0044CC;
  --conservatory-primary-light: #3377FF;
  --conservatory-accent: #3377FF;
  --conservatory-gradient-start: #0055FE;
  --conservatory-gradient-end: #0033AA;

  /* Conservatory Specific Spacing */
  --conservatory-hero-padding: 120px;
  --conservatory-section-padding: 80px;
}

/* ============================================
   GLOBAL HEADING GRADIENT
   Applied to all h1, h2, h3, h4, h5, h6
   ============================================ */

h1,
h2,
h3,
h4,
h5,
h6,
.hero-title,
.section-title,
.feature-card h3,
.pricing-card h3,
.stat-card h3,
.cta-title {
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 1) 50%,
      rgba(255, 255, 255, 0.6) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Fallback for browsers that don't support background-clip */
@supports not (background-clip: text) {

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .hero-title,
  .section-title,
  .feature-card h3,
  .pricing-card h3,
  .stat-card h3,
  .cta-title {
    color: #FFFFFF;
  }
}

/* Ensure base heading styles are preserved */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: var(--symphony-spacing-4);
}

/* ============================================
   GLOBAL LINK STYLES - NO Y TRANSITION
   ============================================ */

/* Remove translateY from all links globally */
a {
  /* Only transition color and opacity (NO transform) */
  transition: color 0.2s ease, opacity 0.2s ease;
}

/* Buttons can keep full transitions including transform */
button,
.symphony-button,
.hero-button,
.stats-cta,
.card-features__button {
  transition: all 0.2s ease;
}

/* ============================================
   NAVBAR - EXACT DESIGN MATCH
   ============================================ */

.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(2, 4, 16, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  z-index: 1000;
  padding: 16px 0;
}

.navbar-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 48px;
}

/* ============================================
   LOGO (Left)
   ============================================ */

.navbar-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  z-index: 1001;
}

.navbar-logo-img {
  height: 28px;
  width: auto;
  display: block;
}

/* ============================================
   NAVIGATION LINKS (Center)
   ============================================ */

.navbar-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.navbar-links a {
  font-family: 'Mona Sans', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #EAEEF6;
  text-decoration: none;
  transition: opacity 0.2s ease;
  white-space: nowrap;
}

.navbar-links a:hover {
  opacity: 0.8;
}

/* ============================================
   AUTH ACTIONS (Right)
   ============================================ */

.navbar-actions {
  display: flex;
  align-items: center;
  gap: 20px;
}

.navbar-login {
  font-family: 'Mona Sans', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #EAEEF6;
  text-decoration: none;
  transition: opacity 0.2s ease;
  white-space: nowrap;
}

.navbar-login:hover {
  opacity: 0.8;
}

.navbar-signup {
  font-family: 'Mona Sans', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #EAEEF6;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 50px;
  padding: 12px 32px;
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.navbar-signup:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.1);
}

/* ============================================
   HAMBURGER MENU (Mobile Only)
   ============================================ */

.navbar-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 1001;
}

.hamburger-line {
  width: 24px;
  height: 2px;
  background: #EAEEF6;
  transition: all 0.3s ease;
}

.navbar-hamburger.active .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translateY(7px);
}

.navbar-hamburger.active .hamburger-line:nth-child(2) {
  opacity: 0;
}

.navbar-hamburger.active .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translateY(-7px);
}

/* ============================================
   MOBILE MENU
   ============================================ */

.navbar-mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 320px;
  height: 100vh;
  background: rgba(10, 15, 30, 0.98);
  backdrop-filter: blur(20px);
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  padding: 80px 32px 32px;
  transition: right 0.3s ease-in-out;
  z-index: 1000;
  overflow-y: auto;
}

.navbar-mobile-menu.active {
  right: 0;
}

.mobile-menu-links {
  list-style: none;
  padding: 0;
  margin: 0 0 32px 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.mobile-menu-links a {
  font-family: 'Mona Sans', system-ui, sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #EAEEF6;
  text-decoration: none;
  display: block;
  padding: 8px 0;
  transition: opacity 0.2s ease;
}

.mobile-menu-links a:hover {
  opacity: 0.8;
}

.mobile-menu-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.mobile-menu-link {
  font-family: 'Mona Sans', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #EAEEF6;
  text-decoration: none;
  padding: 12px 24px;
  text-align: center;
  border-radius: 50px;
  transition: all 0.2s ease;
  display: block;
}

.mobile-menu-link--primary {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.mobile-menu-link:hover {
  opacity: 0.8;
}

/* Backdrop Overlay */
.navbar-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 999;
}

.navbar-backdrop.active {
  opacity: 1;
  visibility: visible;
}

/* Add padding to body to compensate for fixed navbar */
body {
  padding-top: 72px;
}

/* ============================================
   RESPONSIVE BREAKPOINTS
   ============================================ */

@media (max-width: 1024px) {
  .navbar-container {
    padding: 0 32px;
    gap: 32px;
  }

  .navbar-links {
    gap: 24px;
  }
}

@media (max-width: 768px) {
  .navbar-container {
    grid-template-columns: auto 1fr;
    padding: 0 24px;
  }

  .navbar-links,
  .navbar-actions {
    display: none;
  }

  .navbar-hamburger {
    display: flex;
    justify-self: end;
  }
}

/* ============================================
   HERO SECTION - UPDATED FOR SEAMLESS TRANSITION
   ============================================ */

.hero {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 150px 0 0;
  overflow: hidden;
  background-color: var(--symphony-background);
  margin-bottom: 0;
}

.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('../images/bg-hero.jpg');
  background-position: bottom;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.3;
  z-index: 1;
}

/* Hero Container */
.hero-container {
  position: relative;
  z-index: 2;
  max-width: 1200px !important;
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--symphony-spacing-6);
  padding-bottom: 80px;
}

/* ============================================
   BADGE - UPDATED WITH CSS DOT
   ============================================ */

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.3);
  padding: 10px 20px;
  border-radius: 50px;
  font-family: 'Mona Sans', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #EAEEF6;
  margin-bottom: 40px;
  backdrop-filter: blur(8px);
}

.badge-dot {
  width: 6px;
  height: 6px;
  background-color: #4AC26F;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}

.badge-separator {
  color: rgba(234, 238, 246, 0.3);
  margin: 0 4px;
}

/* ============================================
   HERO TITLE - FIX TEXT CLIPPING
   ============================================ */

.hero-title {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-size: 72px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 auto 24px;
  max-width: 1100px;
  padding-bottom: 8px;
  overflow: visible;
  white-space: normal;
  word-wrap: break-word;
}

.hero-title--gradient {
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 1) 50%,
      rgba(255, 255, 255, 0.6) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;

  display: inline-block;
  width: 100%;
}

/* Fallback for browsers that don't support background-clip */
@supports not (background-clip: text) {
  .hero-title--gradient {
    color: #FFFFFF;
    -webkit-text-fill-color: #FFFFFF;
  }
}

/* ============================================
   SUBTITLE - 8 COLUMNS WIDTH (NO <br>)
   ============================================ */

.hero-subtitle {
  font-family: 'Mona Sans', sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(234, 238, 246, 0.8);
  margin: 0 auto 80px;
  max-width: 792px;
  white-space: normal;
  word-wrap: break-word;
}

/* ============================================
   INPUT GROUP - WITH CSS ICON
   ============================================ */

.hero-cta {
  margin-bottom: 16px;
}

.hero-input-group {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 588px;
  width: 100%;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 50px;
  padding: 4px 4px 4px 24px;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.hero-input-group:focus-within {
  border-color: rgba(59, 130, 246, 0.4);
  background: rgba(255, 255, 255, 0.12);
}

.hero-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #EAEEF6;
  padding: 8px 0;

  /* background-image: url('../images/icon-search.svg'); */
  background-image: url('../images/icon-mail.svg');
  background-repeat: no-repeat;
  background-position: left center;
  /* background-size: 16px 16px; */
  background-size: 18px 18px;
  padding-left: 26px;
}

.hero-input::placeholder {
  color: rgba(234, 238, 246, 0.4);
}

/* ============================================
   HERO BUTTON - FIXED COLORS & NO ANIMATIONS
   ============================================ */

.hero-button {
  /* Sizing */
  padding: 12px 32px;

  /* Typography */
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;

  /* Colors - PRIMARY by default */
  background: var(--conservatory-primary);
  color: #EAEEF6;

  /* Shape */
  border: none;
  border-radius: 50px;

  /* Layout */
  white-space: nowrap;
  flex-shrink: 0;

  /* Transition - COLOR ONLY (no transform) */
  transition: background 0.2s ease;

  cursor: pointer;
}

/* Hover - Lighter/Brighter primary (not darker) */
.hero-button:hover {
  background: var(--conservatory-primary-light);
}

/* Active - Keep same color, no movement */
.hero-button:active {
  background: var(--conservatory-primary);
}

/* Focus - Accessibility outline */
.hero-button:focus-visible {
  outline: 2px solid var(--conservatory-primary);
  outline-offset: 2px;
}

/* ============================================
   NOTICE
   ============================================ */

.hero-notice {
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: rgba(234, 238, 246, 0.6);
  margin-bottom: 200px;
}

/* ============================================
   TRUSTED BY SECTION - FIXED DIVIDER POSITION
   ============================================ */

.trusted-by {
  margin-top: 80px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 var(--symphony-spacing-6);
}

/* Label Text */
.trusted-by-label {
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #F0F2F5;
  text-transform: uppercase;
  letter-spacing: 0%;
  margin: 0 0 32px 0;
  text-align: center;
  line-height: 1.4;
}

/* Logo Container */
.trusted-by-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 48px;
  flex-wrap: wrap;
  margin: 0 0 12% 0;
  padding: 0;
}

/* Company Logo Images */
.company-logo {
  height: 24px;
  width: auto;
  display: block;
  transition: transform 0.3s ease;
  cursor: default;
}

.company-logo:hover {
  transform: scale(1.1);
}

/* Divider Container - Centers the divider */
.divider-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--symphony-spacing-6);
}

/* Gradient Divider - BELOW Logos */
.divider {
  /* Reset default hr styles */
  border: none;
  margin: 0;
  padding: 0;

  /* Gradient line */
  height: 1px;
  width: 100%;
  max-width: 1200px;

  /* Horizontal gradient: dark → light center → dark */
  background: linear-gradient(90deg,
      #0D0F1A 0%,
      #5C6A85 50%,
      #0D0F1A 100%);
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */

@media (max-width: 1200px) {
  .trusted-by {
    padding: 0 var(--symphony-spacing-6);
  }
}

/* ============================================
   RESPONSIVE HERO SPACING
   ============================================ */

/* Large Desktop (1440px+) */
@media (min-width: 1440px) {
  .hero {
    padding: 150px 0 0;
    /* Seamless transition */
  }

  .hero-container {
    padding-bottom: 100px;
  }
}

/* Standard Desktop (1200px - 1439px) */
@media (max-width: 1439px) {
  .hero {
    padding: 140px 0 0;
    /* Seamless transition */
  }

  .hero-container {
    padding-bottom: 80px;
  }

  .hero-title {
    font-size: 64px;
  }
}

/* Laptop (1024px - 1199px) */
@media (max-width: 1199px) {
  .hero {
    padding: 130px 0 0;
    /* Seamless transition */
  }

  .hero-container {
    padding-bottom: 60px;
  }

  .hero-title {
    font-size: 56px;
  }

  .hero-subtitle {
    font-size: 17px;
    max-width: 700px;
  }
}

/* Tablet (768px - 1023px) */
@media (max-width: 1023px) {
  .hero {
    padding: 120px 0 0;
    /* Seamless transition */
  }

  .hero-container {
    padding-bottom: 60px;
  }

  .hero-title {
    font-size: 48px;
  }

  .hero-subtitle {
    font-size: 16px;
  }

  .hero-input-group {
    max-width: 500px;
  }

  .trusted-by {
    margin-top: 60px;
  }

  .trusted-by-label {
    font-size: 13px;
    margin-bottom: 28px;
  }

  .trusted-by-logos {
    gap: 40px;
    margin-bottom: 10%;
  }

  .company-logo {
    height: 22px;
  }
}

/* Mobile Large (576px - 767px) */
@media (max-width: 767px) {
  .hero {
    padding: 100px 0 0;
    /* Seamless transition */
  }

  .hero-container {
    padding-bottom: 50px;
  }

  .badge-dot {
    width: 5px;
    height: 5px;
  }

  .hero-title {
    font-size: 36px;
  }

  .hero-subtitle {
    font-size: 15px;
    max-width: 100%;
  }

  /* MOBILE FORM FIX - Better vertical layout */
  .hero-input-group {
    flex-direction: column;
    gap: 12px;
    max-width: 100%;
    padding: 20px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.08);
  }

  .hero-input {
    width: 100%;
    text-align: left;
    padding: 12px 0 12px 26px;
    font-size: 15px;
    border-radius: 50px;
    background-color: rgba(255, 255, 255, 0.05);

    background-image: url('../images/icon-search.svg');
    background-position: 12px center;
    background-size: 16px 16px;

    padding-left: 38px;
  }

  .hero-button {
    width: 100%;
    padding: 14px 32px;
    font-size: 15px;
  }

  .trusted-by {
    margin-top: 50px;
    padding: 0 var(--symphony-spacing-4);
  }

  .trusted-by-label {
    font-size: 12px;
    margin-bottom: 24px;
  }

  .trusted-by-logos {
    gap: 24px;
    margin-bottom: 8%;
  }

  .company-logo {
    height: 20px;
  }
}

/* Mobile Small (< 576px) */
@media (max-width: 575px) {
  .hero {
    padding: 90px 0 0;
  }

  .hero-container {
    padding-bottom: 40px;
  }

  .hero-badge {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    font-size: 11px;
    padding: 8px 16px;
  }

  .badge-separator {
    display: none;
  }

  .badge-dot {
    width: 4px;
    height: 4px;
  }

  .hero-title {
    font-size: 28px;
    line-height: 1.2;
  }

  .hero-subtitle {
    font-size: 14px;
  }

  .hero-container {
    padding: 0 var(--symphony-spacing-4);
  }

  .hero-input {
    font-size: 14px;
    padding: 10px 0 10px 34px;

    background-size: 14px 14px;
    background-position: 10px center;
    padding-left: 34px;
  }

  .hero-button {
    padding: 12px 24px;
  }

  .trusted-by {
    margin-top: 40px;
  }

  .trusted-by-label {
    font-size: 11px;
    margin-bottom: 20px;
  }

  .trusted-by-logos {
    gap: 20px;
    margin-bottom: 6%;
  }

  .company-logo {
    height: 18px;
  }
}

/* ============================================
   FEATURES SECTION - IMPROVED IMAGE QUALITY
   ============================================ */

.features {
  position: relative;

  min-height: 100vh;
  height: auto;
  padding: 0;

}


/* Ensure content is above background */
.features .symphony-container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--symphony-spacing-6);
}

/* ============================================
   STICKY TITLE (Controlled by section height)
   ============================================ */

.features-header {
  position: sticky;
  top: 80px;
  /* Distance from top (below navbar) */
  z-index: 1;
  /* Above cards */
  text-align: center;
  padding: 20px 0 40px 0;
  margin-bottom: 40px;
}

.features-header .section-title {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: var(--symphony-spacing-4);
  color: #FFFFFF;
  position: relative;
}

.features-header .section-subtitle {
  font-size: var(--symphony-font-size-lg);
  color: rgba(234, 238, 246, 0.8);
  margin: 0 auto;
  position: relative;
}

/* ============================================
   FEATURES CARDS - EXACT DESIGN MATCH
   ============================================ */

.features-grid {
  display: flex;
  flex-direction: column;
  gap: 40px;
  /* Gap between cards */
  margin-top: 0;
  /* Remove margin since header is sticky */
  margin-bottom: 0;
}

/* Card Container */
.card-features {
  /* Sticky positioning for scroll effect */
  position: sticky;
  top: 250px;
  /* Cards stick below the title (adjust based on title height) */

  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0;
  padding: 60px;

  /* Border */
  border: 1px solid rgba(216, 231, 242, 0.07);
  border-radius: 20px;

  /* Inner Shadow */
  box-shadow: inset 0 2px 1px 0 rgba(207, 231, 255, 0.2);

  /* Background - Semi-transparent for depth and proper layering */
  background-color: rgba(2, 4, 16, 0.85);
  background-image: url('../images/card-dots.svg');
  background-repeat: no-repeat;
  background-position: center 22px;
  background-size: auto;

  /* Backdrop blur for glass effect */
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);

  overflow: hidden;

  /* Smooth transition for sticky effect */
  transition: transform 0.3s ease, box-shadow 0.3s ease;

  /* Ensure card has height for stacking */
  min-height: 500px;

  /* ✅ NO extra margin */
  margin-bottom: 0;
}

/* Top-Right Radial Light */
.card-features::before {
  content: '';
  position: absolute;
  top: -500px;
  /* Extended upward for better visibility */
  right: -500px;
  /* Extended rightward */
  width: 900px;
  /* Larger size */
  height: 900px;

  /* Stronger radial gradient - More visible */
  background: radial-gradient(circle at center,
      rgba(184, 199, 217, 0.2) 0%,
      /* 80% opacity at center */
      rgba(184, 199, 217, 0.12) 25%,
      /* 50% opacity */
      rgba(184, 199, 217, 0.06) 50%,
      /* 25% opacity */
      rgba(184, 199, 217, 0) 75%
      /* Fade to transparent */
    );

  border-radius: 20px;
  pointer-events: none;
  z-index: 1;
}

/* Blue Gradient Border - INCREASED VISIBILITY */
.card-features::after {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 3px;
  /* Increased from 2px to 3px */

  /* Stronger blue gradient - More visible */
  background: linear-gradient(90deg,
      rgba(0, 85, 254, 0) 0%,
      rgba(0, 85, 254, 0.3) 20%,
      /* Fade in earlier */
      rgba(0, 85, 254, 1) 50%,
      /* 100% at center */
      rgba(0, 85, 254, 0.3) 80%,
      /* Fade out later */
      rgba(0, 85, 254, 0) 100%);

  border-radius: 20px 20px 0 0;
  pointer-events: none;
  z-index: 2;

  /* Add blur for glow effect */
  filter: blur(0.5px);
}

/* Card Graphic Section - 6 columns (50%) */
.card-features__graphic {
  grid-column: span 6;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  position: relative;
  z-index: 3;
}

.card-features__image {
  width: auto;
  height: auto;
  max-width: 100%;
  display: block;
}

/* Card Content Section - 6 columns (50%) */
.card-features__content {
  grid-column: span 6;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px;
  position: relative;
  z-index: 3;
}

/* Title */
.card-features__title {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 16px;
  color: #FFFFFF;
}

/* Description */
.card-features__description {
  font-family: 'Mona Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(234, 238, 246, 0.8);
  margin-bottom: 24px;
}

/* List - Using Same Green Dot as Hero Badge */
.card-features__list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.card-features__list li {
  font-family: 'Mona Sans', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  color: rgba(234, 238, 246, 0.9);
  padding-left: 20px;
  position: relative;
}

/* Green Dot (Same as Hero Badge) */
.card-features__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background-color: #4AC26F;
  border-radius: 50%;
  flex-shrink: 0;
}

/* Button */
.card-features__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 32px;

  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #EAEEF6;

  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50px;

  text-decoration: none;
  transition: all 0.2s ease;

  align-self: flex-start;
}

.card-features__button:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.15);
}

/* Stacking effect - CORRECTED: Later cards have HIGHER z-index (appear on top) */
.card-features:nth-child(1) {
  top: 250px;
  z-index: 10;
  /* Lowest - appears first, gets covered */
}

.card-features:nth-child(2) {
  top: 270px;
  /* 20px offset */
  z-index: 11;
  /* Higher - covers Card 1 */
}

.card-features:nth-child(3) {
  top: 290px;
  /* 40px offset */
  z-index: 12;
  /* Higher - covers Card 1 & 2 */
}

.card-features:nth-child(4) {
  top: 310px;
  /* 60px offset */
  z-index: 13;
  /* Higher - covers all previous */
}

.card-features:nth-child(5) {
  top: 330px;
  /* 80px offset */
  z-index: 14;
  /* Highest - covers all */
}

/* If you have more cards, continue pattern */
.card-features:nth-child(6) {
  top: 350px;
  z-index: 15;
}

/* ============================================
   HOW TO ADJUST STICKY DURATION
   ============================================
   
   To control when title disappears:
   
   1. If title disappears TOO EARLY:
      .features { height: 400vh; } // Increase value
   
   2. If title stays TOO LONG:
      .features { height: 300vh; } // Decrease value
   
   3. Perfect timing when last card completes:
      .features { height: 350vh; } // Current setting
   
   Test and adjust height value in increments of 50vh
   ============================================ */

/* Reverse Layout (Graphic on Right) */
.card-features--reverse .card-features__graphic {
  grid-column: 7 / span 6;
  /* Columns 7-12 */
  order: 2;
}

.card-features--reverse .card-features__content {
  grid-column: 1 / span 6;
  /* Columns 1-6 */
  order: 1;
}

/* ============================================
   RESPONSIVE FEATURES CARDS
   ============================================ */

@media (max-width: 1200px) {
  .features {
    padding: 70px 0 150px 0;
  }

  .features-header {
    top: 70px;
  }

  .features-grid {
    padding-bottom: 70vh;
  }

  .card-features {
    padding: 50px 40px;
  }

  .card-features:nth-child(1) {
    top: 230px;
    z-index: 10;
  }

  .card-features:nth-child(2) {
    top: 250px;
    z-index: 11;
  }

  .card-features:nth-child(3) {
    top: 270px;
    z-index: 12;
  }

  .card-features:nth-child(4) {
    top: 290px;
    z-index: 13;
  }

  .card-features:nth-child(5) {
    top: 310px;
    z-index: 14;
  }

  .card-features::before {
    width: 500px;
    height: 500px;
  }
}

@media (max-width: 1023px) {
  .features {
    min-height: auto;
    height: auto;
    padding: 60px 0 80px 0;
  }

  /* Disable sticky on tablets */
  .features-header {
    position: relative;
    top: 0;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    margin-bottom: 50px;
  }

  .features-header .section-title {
    font-size: 2.5rem;
  }

  .features-grid {
    gap: 30px;
    margin-top: 60px;
    padding-bottom: 0;
  }

  .card-features {
    position: relative;
    top: 0 !important;
    z-index: auto;
    padding: 40px 32px;
    background-color: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .card-features:nth-child(n) {
    top: 0;
    z-index: auto;
  }

  .card-features::before {
    width: 400px;
    height: 400px;
  }

  .card-features__graphic,
  .card-features__content {
    padding: 20px;
  }

  .card-features__title {
    font-size: 24px;
  }
}

/* Mobile: Stack Vertically (Graphic on Top) */
@media (max-width: 767px) {
  .features {
    padding: 50px 0 60px 0;
  }

  .features-header .section-title {
    font-size: 2rem;
  }

  .features-header .section-subtitle {
    font-size: var(--symphony-font-size-base);
  }

  .features-grid {
    gap: 20px;
  }

  /* Ensure normal flow on mobile */
  .card-features {
    position: relative;
    top: 0 !important;
    grid-template-columns: 1fr;
    padding: 32px 24px;
    min-height: auto;
  }

  /* Center radial light on mobile */
  .card-features::before {
    width: 300px;
    height: 300px;
    right: 50%;
    transform: translateX(50%);
    top: -50px;
  }

  /* Graphic on Top - Full Width */
  .card-features__graphic,
  .card-features--reverse .card-features__graphic {
    grid-column: 1;
    order: 1;
    padding: 20px 0;
  }

  /* Content Below - Full Width */
  .card-features__content,
  .card-features--reverse .card-features__content {
    grid-column: 1;
    order: 2;
    padding: 20px 0 0 0;
  }

  .card-features__title {
    font-size: 22px;
  }

  .card-features__description {
    font-size: 15px;
  }

  .card-features__list {
    gap: 10px;
  }

  .card-features__list li {
    font-size: 14px;
  }

  .stats::before {
    /* Use scroll on mobile for better performance */
    background-attachment: scroll;

    /* Slightly larger scale on mobile to prevent edge blur */
    transform: translateZ(0) scale(1.05);
  }
}

@media (max-width: 575px) {
  .features {
    padding: 40px 0;
  }

  .features-header .section-title {
    font-size: 1.75rem;
  }

  .features-grid {
    gap: 32px;
  }

  .card-features {
    padding: 24px 20px;
  }

  .card-features::before {
    width: 250px;
    height: 250px;
  }

  .card-features__title {
    font-size: 20px;
  }

  .card-features__button {
    width: 100%;
  }
}

/* ============================================
   STATS SECTION - IMPROVED IMAGE QUALITY
   ============================================ */

.stats {
  position: relative;
  padding: 200px 0 0;
  margin-bottom: 0;

  overflow: hidden;
  background-color: var(--symphony-background);
}

/* Use ::before for better image quality control */
.stats::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;

  /* Background Image */
  background-image: url('../images/bg-stats.jpg');
  background-position: center 200px;
  background-size: cover;
  background-repeat: no-repeat;

  /* HIGH QUALITY IMAGE RENDERING */
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  image-rendering: -moz-crisp-edges;

  /* Smooth rendering & prevent blur */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0) scale(1.01);
  transform: translateZ(0) scale(1.01);

  /* Anti-aliasing */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  z-index: 0;
}

/* Ensure content is above background */
.stats .symphony-container,
.stats-header,
.stats-grid,
.card-stat {
  position: relative;
  z-index: 1;
}

/* Stats Header - LEFT-aligned content + RIGHT-aligned button */
.stats-header {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--symphony-spacing-8);
  align-items: flex-end;
  margin-bottom: 60px;
}

.stats-header__content {
  grid-column: span 8;
  text-align: left;
}

.stats-header__action {
  grid-column: span 4;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

/* Stats Title - LEFT-aligned */
.stats-title {
  font-family: 'Inter Display', system-ui, sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  color: #FFFFFF;
  margin-bottom: 16px;
  text-align: left;
}

/* Stats Subtitle - LEFT-aligned */
.stats-subtitle {
  font-family: 'Mona Sans', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(234, 238, 246, 0.75);
  margin: 0;
  text-align: left;
}

/* Stats CTA Button - PRIMARY BLUE */
.stats-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;

  font-family: 'Mona Sans', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #FFFFFF;

  background: var(--conservatory-primary);
  border: none;
  border-radius: 50px;

  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.stats-cta:hover {
  background: color-mix(in srgb, var(--conservatory-primary) 90%, white 10%);
}

/* Stats Grid - 3 Columns */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* ============================================
   STAT CARDS, PRICING & FAQ CARDS - SHARED STYLES
   ============================================ */

.card-stat,
.card-pricing,
.card-faq {
  position: relative;
  padding: 75px 32px 32px 32px;
  border: 1px solid rgba(216, 231, 242, 0.07);
  border-radius: 20px;
  box-shadow: inset 0 2px 1px 0 rgba(207, 231, 255, 0.2);
  background-color: transparent;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-align: left;
}

.card-stat::after,
.card-pricing::after,
.card-faq::after {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg,
      rgba(0, 85, 254, 0) 0%,
      rgba(0, 85, 254, 0.3) 20%,
      rgba(0, 85, 254, 1) 50%,
      rgba(0, 85, 254, 0.3) 80%,
      rgba(0, 85, 254, 0) 100%);
  border-radius: 20px 20px 0 0;
  pointer-events: none;
  z-index: 2;
  filter: blur(0.5px);
}

/* Icon - LEFT-aligned */
.card-stat__icon,
.card-faq__icon {
  width: 28px;
  height: 28px;
  display: block;
  margin-bottom: 20px;
  position: relative;
  z-index: 3;
}

/* Title - LEFT-aligned */
.card-stat__title,
.card-faq__title {
  font-family: 'Inter Display', system-ui, sans-serif;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.3;
  color: #FFFFFF;
  margin: 0 0 24px 0;
  text-align: left;
  position: relative;
  z-index: 3;
}

/* Description - LEFT-aligned */
.card-stat__description,
.card-faq__description {
  font-family: 'Mona Sans', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(234, 238, 246, 0.7);
  margin: 0 0 24px 0;
  flex: 1;
  text-align: left;
  position: relative;
  z-index: 3;
}

.card-faq__links {
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ============================================
   REUSABLE ARROW LINK - CSS-ONLY ICON
   ============================================ */

/* Generic arrow link class (replaces .card-stat__link) */
.link-arrow {
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: rgba(234, 238, 246, 0.6);
  text-decoration: none;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  position: relative;

  transition: color 0.2s ease;
}

/* Arrow icon via CSS ::after pseudo-element using mask */
.link-arrow::after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 15px;

  /* Use mask for precise color control */
  background: rgba(234, 238, 246, 0.6);
  mask-image: url('../images/icon-arrow-right.svg');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url('../images/icon-arrow-right.svg');
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;

  flex-shrink: 0;

  /* Smooth transitions for transform and background color */
  transition: transform 0.3s ease, background 0.2s ease;
}

/* Hover state - Text changes to primary blue */
.link-arrow:hover {
  color: var(--conservatory-primary);
}

/* Hover state - Arrow moves right AND changes to blue */
.link-arrow:hover::after {
  transform: translateX(4px);
  background: var(--conservatory-primary);
}

/* Stats section links - add z-index for layering */
.card-stat .link-arrow {
  position: relative;
  z-index: 3;
}

/* ============================================
   TEXT CAROUSEL WITH DOT INDICATORS
   ============================================ */

/* Carousel Container - Positioned Below Stats Cards */
.carousel-container {
  margin-top: 150px;
  /* 150px spacing from stats cards */
  margin-bottom: 150px;
  /* 150px spacing to next section */
  margin-left: auto;
  margin-right: auto;
  padding: 0 24px;
}

/* Carousel Fixed Title */
.carousel-container .section-title {
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  color: #ffffff;
}

/* Carousel Wrapper - Flexbox Column */
.carousel-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Slides Container - Relative Positioning */
.carousel-slides {
  position: relative;
  width: 100%;
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 70px;
  /* 70px gap to dot indicators */
  overflow: hidden;
}

/* Individual Text Slide - Absolute Positioning */
.carousel-slides .section-subtitle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;

  font-family: 'Mona Sans', sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  color: #a0a0b8;
  text-align: center;

  padding: 0 24px;
  margin: 0;

  /* Hidden by default */
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);

  /* Smooth fade + slide animation */
  transition: opacity 0.6s ease,
    visibility 0.6s ease,
    transform 0.6s ease;
}

/* Active Slide - Visible and Positioned */
.carousel-slides .section-subtitle.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  position: relative;
}

/* Dot Indicators Container */
.carousel-indicators {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  /* 6px gap between dots */
}

/* Individual Dot Button - Inactive State */
.carousel-dot {
  width: 6px;
  /* Inactive: 6px × 6px */
  height: 6px;
  border-radius: 3px;
  background: #9AA5B1;
  /* Inactive color */
  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;

  /* Smooth width transition */
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

  outline: none;
}

/* Dot Hover State */
.carousel-dot:hover {
  background: #EAEEF6;
  opacity: 0.8;
  transform: scale(1.1);
}

/* Active Dot - Wider Pill Shape */
.carousel-dot.active {
  width: 18px;
  /* Active: 18px × 6px (wider) */
  height: 6px;
  background: #EAEEF6;
  /* Active color */
}

/* Dot Focus State - Accessibility */
.carousel-dot:focus-visible {
  outline: 2px solid #4d7cfe;
  outline-offset: 2px;
}

/* ============================================
   RESPONSIVE CAROUSEL
   ============================================ */

/* Tablet - 768px to 1023px */
@media (max-width: 1023px) {
  .carousel-container {
    margin-top: 120px;
    margin-bottom: 120px;
  }

  .carousel-container .section-title {
    font-size: 40px;
    margin-bottom: 40px;
  }

  .carousel-slides .section-subtitle {
    font-size: 18px;
  }

  .carousel-slides {
    margin-bottom: 60px;
    min-height: 140px;
  }
}

/* Mobile - Below 768px */
@media (max-width: 767px) {
  .carousel-container {
    margin-top: 100px;
    margin-bottom: 100px;
    padding: 0 20px;
  }

  .carousel-container .section-title {
    font-size: 32px;
    margin-bottom: 32px;
  }

  .carousel-slides .section-subtitle {
    font-size: 16px;
    padding: 0 16px;
  }

  .carousel-slides {
    min-height: 150px;
    margin-bottom: 50px;
  }
}

/* Extra Small Mobile - Below 480px */
@media (max-width: 480px) {
  .carousel-container {
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .carousel-container .section-title {
    font-size: 28px;
  }

  .carousel-slides .section-subtitle {
    font-size: 15px;
    padding: 0 12px;
  }
}

/* ============================================
   DASHBOARD SHOWCASE - EXACT DIMENSIONS
   ============================================ */

/* Dashboard Container - Full Width, Viewport Centered */
.dashboard-showcase {
  position: relative;
  width: 100%;
  max-width: 1370px;
  margin: 0 auto 120px;
  padding: 0 24px;

  /* Center relative to viewport, not parent */
  left: 0;
  right: 0;
}

/* Aspect Ratio Maintainer - 1370:900 */
.dashboard-showcase::before {
  content: '';
  display: block;
  padding-top: 65.693431%;
  /* 900 / 1370 */
  width: 100%;
}

/* Dashboard Image - CSS Background */
.dashboard-showcase::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;

  /* SVG Background Image */
  background-image: url('../images/dashboard-screen-1.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;

  /* Crisp SVG Rendering */
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;

  /* NO SHADOW EFFECTS */
  filter: none;
  box-shadow: none;

  /* Clean fade-in animation */
  opacity: 0;
  animation: fadeInDashboard 0.8s ease forwards;
  animation-delay: 0.2s;
}

/* Fade In Animation - Clean (No Transform) */
@keyframes fadeInDashboard {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ============================================
   DESKTOP BREAKPOINTS
   ============================================ */

/* Desktop - 1370px+ (Original Size) */
@media (min-width: 1370px) {
  .dashboard-showcase {
    max-width: 1370px;
    padding: 0;
  }
}

/* Large Desktop - 1200px to 1369px */
@media (min-width: 1200px) and (max-width: 1369px) {
  .dashboard-showcase {
    max-width: 1200px;
    padding: 0 24px;
  }
}

/* Desktop - 1024px to 1199px */
@media (min-width: 1024px) and (max-width: 1199px) {
  .dashboard-showcase {
    max-width: 100%;
    margin: 90px auto 110px;
    padding: 0 40px;
  }
}

/* ============================================
   RESPONSIVE BREAKPOINTS
   ============================================ */

/* Tablet Landscape - 768px to 1023px */
@media (min-width: 768px) and (max-width: 1023px) {
  .dashboard-showcase {
    margin: 80px auto 100px;
    padding: 0 32px;
  }

  .dashboard-showcase::before {
    padding-top: 65.693431%;
    /* Maintain ratio */
  }
}

/* Tablet Portrait - 600px to 767px */
@media (min-width: 600px) and (max-width: 767px) {
  .dashboard-showcase {
    margin: 70px auto 90px;
    padding: 0 24px;
  }

  .dashboard-showcase::before {
    padding-top: 65.693431%;
    /* Maintain ratio */
  }
}

/* Mobile - 480px to 599px */
@media (min-width: 480px) and (max-width: 599px) {
  .dashboard-showcase {
    margin: 60px auto 80px;
    padding: 0 20px;
  }

  .dashboard-showcase::before {
    padding-top: 65.693431%;
    /* Maintain ratio */
  }
}

/* Small Mobile - 375px to 479px */
@media (min-width: 375px) and (max-width: 479px) {
  .dashboard-showcase {
    margin: 50px auto 70px;
    padding: 0 16px;
  }

  .dashboard-showcase::before {
    padding-top: 65.693431%;
    /* Maintain ratio */
  }
}

/* Extra Small Mobile - Below 375px */
@media (max-width: 374px) {
  .dashboard-showcase {
    margin: 40px auto 60px;
    padding: 0 12px;
  }

  .dashboard-showcase::before {
    padding-top: 65.693431%;
    /* Maintain ratio */
  }
}

/* ============================================
   PERFORMANCE
   ============================================ */

.dashboard-showcase::after {
  will-change: opacity;
  transform: translateZ(0);
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-showcase::after {
    animation: none;
    opacity: 1;
  }
}

/* ============================================
   RESPONSIVE STATS SECTION
   ============================================ */

@media (max-width: 1200px) {
  .stats {
    padding: 150px 0 120px;
    /* UPDATED: Scale down proportionally with dashboard space */
  }

  .stats-title {
    font-size: 42px;
  }

  .stats-grid {
    gap: 20px;
  }
}

@media (max-width: 1023px) {
  .stats {
    padding: 120px 0 100px;
  }

  .stats-header {
    grid-template-columns: 1fr;
    gap: var(--symphony-spacing-6);
    align-items: flex-start;
  }

  .stats-header__content,
  .stats-header__action {
    grid-column: span 12;
  }

  .stats-header__action {
    justify-content: flex-start;
    /* LEFT-aligned on mobile */
  }

  .stats-title {
    font-size: 36px;
  }

  .stats-subtitle {
    font-size: 16px;
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .card-stat {
    padding: 60px 28px 28px 28px;
  }
}

@media (max-width: 767px) {
  .stats {
    padding: 80px 0 90px;
    /* UPDATED: Scale down proportionally with dashboard space */
  }

  .stats-header {
    margin-bottom: 40px;
  }

  .stats-title {
    font-size: 32px;
  }

  .stats-subtitle {
    font-size: 15px;
  }

  .stats-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .card-stat {
    padding: 50px 24px 24px 24px;
  }

  .card-stat__title {
    font-size: 21px;
  }

  .card-stat__description {
    font-size: 14px;
  }

  .stats-cta {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 575px) {
  .stats {
    padding: 60px 0;
    /* UPDATED: Scale down proportionally */
  }

  .stats-title {
    font-size: 28px;
  }

  .card-stat {
    padding: 45px 20px 20px 20px;
  }

  .card-stat__icon {
    width: 24px;
    height: 24px;
    margin-bottom: 16px;
  }

  .card-stat__title {
    font-size: 19px;
    margin-bottom: 20px;
  }

  .card-stat__description {
    margin-bottom: 20px;
  }
}

/* ============================================
   PRICING SECTION
   ============================================ */

.pricing {
  position: relative;
  padding: 120px 0;
  /* Extra bottom padding for dashboard */

  /* ✅ No extra gap - clean transition from features */
  margin-top: 0;
  margin-bottom: 0;

  overflow: hidden;
  background-color: var(--symphony-background);
}

/* Use ::before for better image quality control */
.pricing::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;

  /* Background Image */
  background-image: url('../images/bg-pricing.jpg');
  background-position: center 200px;
  background-size: cover;
  background-repeat: no-repeat;

  /* HIGH QUALITY IMAGE RENDERING */
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  image-rendering: -moz-crisp-edges;

  /* Smooth rendering & prevent blur */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0) scale(1.01);
  transform: translateZ(0) scale(1.01);

  /* Anti-aliasing */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  z-index: 0;
}

/* Pricing Header */
.pricing-header {
  position: relative;
  z-index: 1;
  text-align: center;
  margin-bottom: 64px;
}

.pricing-header .section-title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.2;
  color: #FFFFFF;
  margin-bottom: 16px;
}

.pricing-header .section-subtitle {
  font-family: 'Mona Sans', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: #CBD2D9;
  margin-bottom: 40px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Monthly/Yearly Toggle */
.pricing-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0;
  background: rgba(31, 31, 46, 0.6);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50px;
  padding: 6px;
}

.pricing-toggle__option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #6e6e8a;
  background: transparent;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.pricing-toggle__option.active {
  background: rgba(77, 124, 254, 0.1);
  color: #FFFFFF;
}

.pricing-toggle__save {
  font-size: 12px;
  font-weight: 600;
  color: #4AC26F;
  background: rgba(74, 194, 111, 0.1);
  padding: 2px 8px;
  border-radius: 12px;
}

/* ============================================
   PRICING CARDS - USES SHARED CARD STYLES
   ============================================ */

.pricing-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 32px;
}

/* Card Pricing - Inherits from .card-stat shared styles */
/* Only specific overrides here */
.card-pricing {
  padding: 32px;
  /* Uniform padding */
  text-align: left;
  /* Left-aligned content */
  min-height: 600px;
  /* Equal height for all cards */
}

/* Featured Card - No scale effect */
.card-pricing--featured {
  border-color: rgba(77, 124, 254, 0.2);
}

.card-pricing--featured:hover {
  transform: none;
}

/* Header: Badge + Title on same line */
.card-pricing__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.card-pricing__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 50px;
  font-family: 'Mona Sans', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  flex-shrink: 0;
  backdrop-filter: blur(8px);
}

.card-pricing__badge--always {
  background: rgba(100, 100, 120, 0.1);
  border: 1px solid rgba(100, 100, 120, 0.3);
  color: #a0a0b8;
}

.card-pricing__badge--popular {
  background: rgba(74, 194, 111, 0.1);
  border: 1px solid rgba(74, 194, 111, 0.3);
  color: #4AC26F;
  display: flex;
  align-items: center;
  gap: 6px;
}

.card-pricing__badge--popular::before {
  content: '';
  width: 6px;
  height: 6px;
  background-color: #4AC26F;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.card-pricing__badge--value {
  background: rgba(138, 92, 246, 0.1);
  border: 1px solid rgba(138, 92, 246, 0.3);
  color: #8B5CF6;
}

.card-pricing__title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 28px;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0;
}

.card-pricing__description {
  font-family: 'Mona Sans', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #CBD2D9;
  margin: 10px 0 16px;
}

.card-pricing__price {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 4px;
  margin: 16px 0;
}

.card-pricing__amount {
  font-family: 'Inter Tight', sans-serif;
  font-size: 44px;
  letter-spacing: -1%;
  font-weight: 600;
  color: #FFFFFF;
  line-height: 1;
}

.card-pricing__period {
  font-family: 'Mona Sans', sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #6e6e8a;
}

.card-pricing__founding {
  font-family: 'Mona Sans', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #6e6e8a;
  margin: -8px 0 0;
  min-height: 20px;
}

.card-pricing__subtitle {
  font-family: 'Mona Sans', sans-serif;
  font-size: 15px;
  color: #CBD2D9;
  margin: 24px 0 16px;
  text-align: left;
  min-height: 20px;
}

/* Features List - Same Checkmarks as Stats */
.card-pricing__features {
  list-style: none;
  padding: 0;
  margin: 0 0 40px 0;
  text-align: left;
}

.card-pricing__features li {
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #CBD2D9;
  padding: 4px 0 16px 24px;
  position: relative;
  display: flex;
  align-items: flex-start;
}

/* Green Check Icon - SVG */
.card-pricing__features li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 14px;
  height: 14px;
  background-color: #4AC26F;
  mask-image: url('../images/icon-check.svg');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url('../images/icon-check.svg');
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.card-pricing__button {
  width: 100%;
  padding: 12px 32px;
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #EAEEF6;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}

.card-pricing__button:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.15);
}

.card-pricing__button--primary {
  background: var(--conservatory-primary);
  border-color: var(--conservatory-primary);
  color: #FFFFFF;
}

.card-pricing__button--primary:hover {
  background: color-mix(in srgb, var(--conservatory-primary) 90%, white 10%);
  border-color: color-mix(in srgb, var(--conservatory-primary) 90%, white 10%);
}

.card-pricing__note {
  font-family: 'Mona Sans', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #6e6e8a;
  text-align: center;
  margin: 12px 0 0;
}

/* ============================================
   ENTERPRISE CARD
   ============================================ */

.card-enterprise {
  position: relative;
  z-index: 1;
  padding: 40px 48px;
  border: 1px solid rgba(216, 231, 242, 0.07);
  border-radius: 20px;
  box-shadow: inset 0 2px 1px 0 rgba(207, 231, 255, 0.2);
  background-color: transparent;
  overflow: hidden;
  margin-top: 32px;
  text-align: center;
}

.card-enterprise::after {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg,
      rgba(0, 85, 254, 0) 0%,
      rgba(0, 85, 254, 0.3) 20%,
      rgba(0, 85, 254, 1) 50%,
      rgba(0, 85, 254, 0.3) 80%,
      rgba(0, 85, 254, 0) 100%);
  border-radius: 20px 20px 0 0;
  pointer-events: none;
  z-index: 2;
  filter: blur(0.5px);
}

.card-enterprise__title {
  font-family: 'Inter Tight', sans-serif;
  font-size: 28px;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 8px;
}

.card-enterprise__description {
  font-family: 'Mona Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #a0a0b8;
  margin: 0 0 24px;
}

.card-enterprise__features {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 16px;
}

.card-enterprise__features li {
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #6e6e8a;
}

.card-enterprise__features li::before {
  content: '•';
  margin-right: 8px;
  color: #4AC26F;
}

/* Link Arrow - Uses Existing Global Class */
.card-enterprise .link-arrow {
  margin-top: 8px;
  display: inline-flex;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 1199px) {
  .card-pricing__amount {
    font-size: 48px;
  }
}

@media (max-width: 1023px) {
  .pricing {
    padding: 100px 0;
  }

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

  .card-pricing--featured {
    transform: scale(1);
  }

  .card-enterprise {
    padding: 32px 24px;
  }
}

@media (max-width: 767px) {
  .pricing {
    padding: 80px 0;
  }

  .pricing-header .section-title {
    font-size: 36px;
  }

  .card-pricing {
    padding: 32px 20px;
  }

  .card-pricing__amount {
    font-size: 40px;
  }
}

/* Counter Section */
.counter {
  margin: 150px 0 50px;
}

.counter-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
}

.counter-item {
  text-align: center;
}

.counter-value {
  font-family: 'Inter Tight', sans-serif;
  font-size: 52px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1;
  margin-bottom: 16px;

  /* Gradient effect matching hero titles */
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 1) 50%,
      rgba(255, 255, 255, 0.6) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.counter-label {
  font-family: 'Inter Tight', sans-serif;
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: #CBD2D9;
  margin: 0;
}

/* ============================================
   RESPONSIVE COUNTER SECTION
   ============================================ */

@media (max-width: 1200px) {
  .counter {
    margin: 120px 0;
  }

  .counter-grid {
    gap: 40px;
  }

  .counter-value {
    font-size: 48px;
  }

  .counter-label {
    font-size: 21px;
  }
}

@media (max-width: 1023px) {
  .counter {
    margin: 100px 0;
  }

  .counter-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 32px;
  }

  .counter-value {
    font-size: 44px;
  }

  .counter-label {
    font-size: 20px;
  }
}

@media (max-width: 767px) {
  .counter {
    margin: 80px 0;
  }

  .counter-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 24px;
  }

  .counter-value {
    font-size: 40px;
  }

  .counter-label {
    font-size: 18px;
  }
}

@media (max-width: 575px) {
  .counter {
    margin: 60px 0;
  }

  .counter-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .counter-value {
    font-size: 36px;
  }

  .counter-label {
    font-size: 17px;
  }
}

/* ============================================
   FAQ SECTION
   ============================================ */

.faq {
  padding: 80px 0 0;
  position: relative;
}

/* Ensure content is above background */
.faq .symphony-container,
.faq-header,
.faq-grid,
.faq-card {
  position: relative;
  z-index: 1;
}

/* Faq Header */
.faq-header {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--symphony-spacing-8);
  align-items: flex-end;
  margin-bottom: 60px;
}

.faq-header__content {
  grid-column: span 8;
  text-align: left;
}

.faq-header__action {
  grid-column: span 4;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

/* Faq Title - LEFT-aligned */
.faq-title {
  font-family: 'Inter Display', system-ui, sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  color: #FFFFFF;
  margin-bottom: 16px;
  text-align: left;
}

/* Faq Subtitle - LEFT-aligned */
.faq-subtitle {
  font-family: 'Mona Sans', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(234, 238, 246, 0.75);
  margin: 0;
  text-align: left;
}

/* Faq CTA Button - PRIMARY BLUE */
.faq-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;

  font-family: 'Mona Sans', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #FFFFFF;

  /* FIXED: PRIMARY BLUE COLOR */
  background: var(--conservatory-primary);
  border: none;
  border-radius: 50px;

  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.faq-cta:hover {
  background: color-mix(in srgb, var(--conservatory-primary) 90%, white 10%);
}


/* FAQ Grid - 2 columns: Card (left) + Accordion (right) */
.faq-grid {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 32px;
  align-items: start;
  margin-top: 100px;
}

/* FAQ Accordion - Right Column */
.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* FAQ Item */
.faq-item {
  background: transparent;
  border: 1px solid rgba(216, 231, 242, 0.07);
  border-radius: 20px;
  padding: 0;
  transition: all 0.3s ease;
  overflow: hidden;
}

.faq-item:hover {
  border-color: rgba(216, 231, 242, 0.12);
}

.faq-item[open] {
  background: rgba(31, 31, 46, 0.4);
  border-color: rgba(77, 124, 254, 0.2);
}

/* Question */
.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 32px;
  cursor: pointer;
  list-style: none;
  user-select: none;

  font-family: 'Inter Tight', sans-serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: #EAEEF6;
  line-height: 1.4;

  transition: color 0.2s ease;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question span {
  flex: 1;
  padding-right: 24px;
}

.faq-question:hover {
  color: #FFFFFF;
}

/* Chevron Icon */
.faq-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: #6e6e8a;
  transition: transform 0.3s ease, color 0.3s ease;
}

.faq-item[open] .faq-icon {
  transform: rotate(180deg);
  color: #4D7CFE;
}

.faq-question:hover .faq-icon {
  color: #EAEEF6;
}

/* Answer */
.faq-answer {
  padding: 0 32px 28px;
  animation: fadeInAnswer 0.3s ease;
}

.faq-answer p {
  font-family: 'Mona Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #9CA0AB;
  margin: 0;
}

@keyframes fadeInAnswer {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

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

/* ============================================
   RESPONSIVE FAQ
   ============================================ */

@media (max-width: 1200px) {
  .faq {
    padding: 150px 0 120px;
    /* UPDATED: Scale down proportionally with dashboard space */
  }

  .faq-title {
    font-size: 42px;
  }

  .faq-grid {
    gap: 20px;
  }
}

@media (max-width: 1199px) {
  .faq-grid {
    grid-template-columns: 340px 1fr;
    gap: 24px;
  }
}

@media (max-width: 1023px) {
  .faq {
    padding: 120px 0 100px;
  }

  .faq-header {
    grid-template-columns: 1fr;
    gap: var(--symphony-spacing-6);
    align-items: flex-start;
  }

  .faq-header__content,
  .faq-header__action {
    grid-column: span 12;
  }

  .faq-header__action {
    justify-content: flex-start;
    /* LEFT-aligned on mobile */
  }

  .faq-title {
    font-size: 36px;
  }

  .faq-subtitle {
    font-size: 16px;
  }

  .faq-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .card-faq {
    padding: 60px 28px 28px 28px;
  }
}

@media (max-width: 767px) {
  .faq {
    padding: 80px 0 90px;
    /* UPDATED: Scale down proportionally with dashboard space */
  }

  .faq-header {
    margin-bottom: 40px;
  }

  .faq-title {
    font-size: 32px;
  }

  .faq-subtitle {
    font-size: 15px;
  }

  .faq-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .card-faq {
    padding: 50px 24px 24px 24px;
  }

  .card-faq__title {
    font-size: 21px;
  }

  .card-faq__description {
    font-size: 14px;
  }

  .faq-cta {
    width: 100%;
    justify-content: center;
  }

  .faq-card {
    padding: 32px 24px;
  }

  .faq-question {
    padding: 24px;
    font-size: 18px;
  }

  .faq-answer {
    padding: 0 24px 24px;
  }

  .faq-answer p {
    font-size: 15px;
  }
}

@media (max-width: 575px) {
  .faq {
    padding: 60px 0;
  }

  .faq-title {
    font-size: 28px;
  }

  .card-faq {
    padding: 60px 28px 28px 28px;
  }

  .card-faq__icon {
    width: 24px;
    height: 24px;
    margin-bottom: 16px;
  }

  .card-faq__title {
    font-size: 19px;
    margin-bottom: 20px;
  }

  .card-faq__description {
    margin-bottom: 20px;
  }
}

/* ============================================
   CTA FINAL
   ============================================ */

.cta-final {
  padding: 120px 0 0;
  position: relative;
  background: transparent;
}

.cta-final__container {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0;
  padding: 60px;

  /* Border - Same as card-features */
  border: 1px solid rgba(216, 231, 242, 0.07);
  border-radius: 20px;

  /* Inner Shadow */
  box-shadow: inset 0 2px 1px 0 rgba(207, 231, 255, 0.2);

  /* Background - Reduced opacity to show bg-footer.jpg */
  background-color: rgba(2, 4, 16, 0.4);
  background-image: url('../images/card-dots.svg');
  background-repeat: no-repeat;
  background-position: center 22px;
  background-size: auto;

  /* No backdrop blur to show background image */
  backdrop-filter: none;
  -webkit-backdrop-filter: none;

  overflow: hidden;
  position: relative;
  min-height: 500px;
  margin-bottom: 150px;
}

/* Top-Right Radial Light - Same as card-features */
.cta-final__container::before {
  content: '';
  position: absolute;
  top: -500px;
  right: -500px;
  width: 900px;
  height: 900px;

  background: radial-gradient(circle at center,
      rgba(184, 199, 217, 0.2) 0%,
      rgba(184, 199, 217, 0.12) 25%,
      rgba(184, 199, 217, 0.06) 50%,
      rgba(184, 199, 217, 0) 75%);

  border-radius: 20px;
  pointer-events: none;
  z-index: 1;
}

/* Blue Gradient Border - Same as card-features */
.cta-final__container::after {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 3px;

  background: linear-gradient(90deg,
      rgba(0, 85, 254, 0) 0%,
      rgba(0, 85, 254, 0.3) 20%,
      rgba(0, 85, 254, 1) 50%,
      rgba(0, 85, 254, 0.3) 80%,
      rgba(0, 85, 254, 0) 100%);

  border-radius: 20px 20px 0 0;
  pointer-events: none;
  z-index: 2;
  filter: blur(0.5px);
}

/* Content Section - 6 columns (left) */
.cta-final__content {
  grid-column: span 6;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px;
  position: relative;
  z-index: 3;
  text-align: left;
}

.cta-final__title {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-size: 42px;
  font-weight: 600;
  line-height: 1.2;
  color: #FFFFFF;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

.cta-final__subtitle {
  font-family: 'Mona Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(234, 238, 246, 0.75);
  margin: 18px 0 50px;
}

.cta-final__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cta-final__form .hero-input-group {
  margin: 0;
  max-width: 100%;
}

.cta-final__note {
  font-family: 'Mona Sans', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(234, 238, 246, 0.6);
  margin: 0;
  padding-left: 4px;
  text-align: center;
}

/* Graphic Section - 6 columns (right) */
.cta-final__graphic {
  grid-column: span 6;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 0;
  position: relative;
  z-index: 3;
  overflow: hidden;

  /* Negative margins to compensate for container padding (60px) */
  margin-right: -60px;
  margin-bottom: -60px;
  margin-top: -60px;
  /* Also remove top padding to show upper portion */

  /* Dashboard image via CSS - Original size 1370px x 900px */
  background-image: url('../images/dashboard-screen-2.svg');
  background-repeat: no-repeat;
  background-position: 70px 70px;
  /* 70px padding from top */
  background-size: 1370px 900px;
  min-height: 650px;
}

/* ============================================
   RESPONSIVE CTA FINAL
   ============================================ */

@media (max-width: 1200px) {
  .cta-final {
    padding: 100px 0;
  }

  .cta-final__container {
    padding: 50px 40px;
  }

  .cta-final__container::before {
    width: 700px;
    height: 700px;
  }

  .cta-final__title {
    font-size: 32px;
  }

  .cta-final__graphic {
    display: none;
    /* Hide on tablet and below */
  }
}

@media (max-width: 1023px) {
  .cta-final {
    padding: 80px 0;
  }

  .cta-final__container {
    grid-template-columns: 1fr;
    padding: 50px 40px;
    min-height: auto;
  }

  .cta-final__container::before {
    width: 500px;
    height: 500px;
  }

  .cta-final__content {
    grid-column: 1;
    padding: 20px;
  }

  .cta-final__graphic {
    display: none;
    /* Hide on tablet */
  }

  .cta-final__title {
    font-size: 28px;
  }

  .cta-final__subtitle {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .cta-final {
    padding: 60px 0;
  }

  .cta-final__container {
    padding: 40px 24px;
  }

  .cta-final__container::before {
    width: 400px;
    height: 400px;
    right: 50%;
    transform: translateX(50%);
  }

  .cta-final__content {
    padding: 20px 0;
  }

  .cta-final__graphic {
    display: none;
    /* Hide on mobile */
  }

  .cta-final__title {
    font-size: 26px;
  }

  .cta-final__subtitle {
    font-size: 14px;
  }

  .cta-final__note {
    font-size: 12px;
  }
}

@media (max-width: 575px) {
  .cta-final {
    padding: 40px 0;
  }

  .cta-final__container {
    padding: 32px 20px;
  }

  .cta-final__container::before {
    width: 300px;
    height: 300px;
  }

  .cta-final__title {
    font-size: 24px;
  }

  .cta-final__subtitle {
    font-size: 14px;
    margin-bottom: 24px;
  }

  .cta-final__graphic {
    display: none;
    /* Hide on small mobile */
  }

  .cta-final__note {
    font-size: 11px;
  }
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
  .hero-title {
    font-size: 2.5rem;
  }

  .hero-cta {
    flex-direction: column;
  }

  .feature-card,
  .feature-card--reverse {
    grid-template-columns: 1fr;
  }

  .stats-grid,
  .counter-grid,
  .faq-grid {
    grid-template-columns: 1fr;
  }

  .section-title {
    font-size: 2rem;
  }

  .cta-title {
    font-size: 2rem;
  }
}

/* ============================================
   FOOTER
   ============================================ */

.footer {
  margin-top: 70px;
  position: relative;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* Footer Top Row - Logo + Status | Social Icons */
.footer-top {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--symphony-spacing-6);
  align-items: center;
  position: relative;
  z-index: 2;
}

/* Left Side: Logo + System Status (6 columns) */
.footer-brand {
  grid-column: span 6;
  display: flex;
  align-items: center;
  gap: 34px;
}

.footer-logo {
  width: 140px;
  height: 24px;
  display: block;
}

/* System Status */
.system-status {
  display: flex;
  align-items: center;
  gap: 8px;
}

.status-dot {
  width: 6px;
  height: 6px;
  background-color: #4AC26F;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}

.status-text {
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #EAEEF6;
  letter-spacing: 0%;
}

/* Right Side: Social Icons (6 columns) */
.footer-social {
  grid-column: span 6;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
}

.icon-social {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease;
}

.icon-social img {
  width: 20px;
  height: 20px;
  display: block;
  transition: filter 0.2s ease;
}

.icon-social:hover img {
  filter: brightness(0) saturate(100%) invert(93%) sepia(6%) saturate(284%) hue-rotate(193deg) brightness(99%) contrast(95%);
}

/* Footer Copyright Row */
.footer-copyright {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--symphony-spacing-6);
  align-items: center;
  margin-top: 120px;
  margin-bottom: 34px;
  position: relative;
  z-index: 2;
}

/* Left: Copyright Text (6 columns) */
.copyright-text {
  grid-column: span 6;
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #9AA5B1;
  letter-spacing: 0%;
  margin: 0;
}

/* Right: Legal Links (6 columns) */
.footer-links {
  grid-column: span 6;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 55px;
}

.footer-link {
  font-family: 'Mona Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #9AA5B1;
  letter-spacing: 0%;
  text-decoration: none;
  transition: color 0.2s ease;
  white-space: nowrap;
}

.footer-link:hover {
  color: #EAEEF6;
}

/* ============================================
   FOOTER RESPONSIVE
   ============================================ */

@media (max-width: 1024px) {
  .footer-brand {
    gap: 24px;
  }

  .footer-social {
    gap: 20px;
  }

  .footer-links {
    gap: 40px;
  }
}

@media (max-width: 768px) {
  html {
    background-size: 100% auto;
  }

  .footer {
    margin-top: 50px;
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: var(--symphony-spacing-4);
  }

  .footer-brand {
    grid-column: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .footer-social {
    grid-column: 1;
    justify-content: flex-start;
    gap: 20px;
  }

  .footer-copyright {
    grid-template-columns: 1fr;
    margin-top: 60px;
    margin-bottom: 24px;
    gap: var(--symphony-spacing-4);
  }

  .copyright-text {
    grid-column: 1;
  }

  .footer-links {
    grid-column: 1;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 24px;
  }
}

@media (max-width: 575px) {
  .footer {
    margin-top: 40px;
  }

  .footer-brand {
    gap: 12px;
  }

  .footer-logo {
    width: 120px;
    height: auto;
  }

  .status-text {
    font-size: 13px;
  }

  .footer-social {
    gap: 16px;
  }

  .icon-social img {
    width: 18px;
    height: 18px;
  }

  .footer-copyright {
    margin-top: 40px;
    margin-bottom: 20px;
  }

  .copyright-text {
    font-size: 12px;
  }

  .footer-link {
    font-size: 12px;
  }

  .footer-links {
    gap: 16px;
  }
}