/*
Theme Name:  CNU Stretch
Theme URI:   https://cnustretch.com
Author:      CNU Fit / Evans Armantrading Jr.
Author URI:  https://cnustretch.com
Description: High-converting stretch therapy certification & licensing website for cnustretch.com
Version:     1.0.0
License:     GNU General Public License v2 or later
Tags:        fitness, certification, custom, responsive
Text Domain: cnustretch
*/

    /* ============================================================
       RESET & BASE
    ============================================================ */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      color: #1e1e29;
      background: #fff;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }
    img { max-width: 100%; display: block; }
    a { text-decoration: none; color: inherit; }

    /* ============================================================
       BRAND TOKENS
       #066cbe  — Primary Blue
       #f29566  — Coral / Orange
       #9e9e9e  — Gray
       #1e1e29  — Dark
    ============================================================ */
    :root {
      --dark:    #1e1e29;
      --dark2:   #28283a;
      --blue:    #066cbe;
      --blue-dk: #0558a0;
      --coral:   #f29566;
      --coral-lt:#fef0e8;
      --white:   #FFFFFF;
      --offwhite:#F4F7FB;
      --gray:    #9e9e9e;
      --light:   #E8EEF5;
      --text:    #1e1e29;
      --muted:   #5a5a6e;
      --radius:  12px;
      --radius-lg: 20px;
      --shadow:  0 4px 24px rgba(30,30,41,0.10);
      --shadow-lg: 0 12px 48px rgba(30,30,41,0.18);
    }

    /* ============================================================
       UTILITY
    ============================================================ */
    .container { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
    .container-sm { max-width: 820px; margin: 0 auto; padding: 0 24px; }
    .section { padding: 96px 0; }
    .section-sm { padding: 64px 0; }
    .text-center { text-align: center; }
    .tag {
      display: inline-block;
      background: var(--coral-lt);
      color: var(--coral);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: 5px 14px;
      border-radius: 100px;
      margin-bottom: 16px;
    }
    .tag-blue {
      background: rgba(6,108,190,.1);
      color: var(--blue-dk);
    }

    /* ============================================================
       BUTTONS
    ============================================================ */
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 16px;
      font-weight: 700;
      padding: 16px 32px;
      border-radius: 8px;
      cursor: pointer;
      transition: all .2s ease;
      border: none;
      line-height: 1;
    }
    .btn-primary {
      background: var(--blue);
      color: var(--white);
    }
    .btn-primary:hover { background: var(--blue-dk); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(6,108,190,.4); }
    .btn-secondary {
      background: transparent;
      color: var(--white);
      border: 2px solid rgba(255,255,255,.35);
    }
    .btn-secondary:hover { border-color: var(--white); background: rgba(255,255,255,.1); }
    .btn-coral {
      background: var(--coral);
      color: var(--dark);
    }
    .btn-coral:hover { background: #e07d4f; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(242,149,102,.45); }
    .btn-lg { font-size: 18px; padding: 20px 40px; border-radius: 10px; }
    .btn-sm { font-size: 14px; padding: 11px 22px; }

    /* ============================================================
       ANNOUNCEMENT BAR
    ============================================================ */
    .announcement-bar {
      background: var(--coral);
      text-align: center;
      padding: 10px 24px;
      font-size: 13px;
      font-weight: 700;
      color: var(--dark);
    }
    .announcement-bar a {
      text-decoration: underline;
      margin-left: 8px;
      color: var(--dark);
    }

    /* ============================================================
       NAV
    ============================================================ */
    .nav {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 1000;
      background: var(--dark);
      border-bottom: 1px solid rgba(255,255,255,.06);
      transition: box-shadow .3s;
    }
    .nav.scrolled { box-shadow: 0 4px 32px rgba(0,0,0,.35); }
    .nav-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 72px;
      max-width: 1160px;
      margin: 0 auto;
      padding: 0 24px;
    }
    .nav-logo {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .nav-logo-mark {
      width: 38px; height: 38px;
      background: var(--blue);
      border-radius: 8px;
      display: flex; align-items: center; justify-content: center;
      font-weight: 900; font-size: 16px; color: var(--white);
      letter-spacing: -.5px;
    }
    .nav-logo-text {
      font-size: 20px;
      font-weight: 800;
      color: var(--white);
      letter-spacing: -.3px;
    }
    .nav-logo-text span { color: var(--blue); }
    .nav-links {
      display: flex;
      align-items: center;
      gap: 32px;
      list-style: none;
    }
    .nav-links a {
      color: rgba(255,255,255,.75);
      font-size: 14px;
      font-weight: 500;
      transition: color .2s;
    }
    .nav-links a:hover { color: var(--white); }
    .nav-cta { display: flex; align-items: center; gap: 12px; }

    /* ============================================================
       HERO
    ============================================================ */
    .hero {
      background: var(--dark);
      background-image:
        radial-gradient(ellipse 60% 60% at 80% 50%, rgba(6,108,190,.15) 0%, transparent 70%),
        radial-gradient(ellipse 40% 40% at 10% 80%, rgba(242,149,102,.08) 0%, transparent 70%);
      padding: 160px 0 100px;
      position: relative;
      overflow: hidden;
    }
    .hero::after {
      content: '';
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(6,108,190,.5), transparent);
    }
    .hero-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
      max-width: 1160px;
      margin: 0 auto;
      padding: 0 24px;
    }
    .hero-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(6,108,190,.15);
      border: 1px solid rgba(6,108,190,.3);
      border-radius: 100px;
      padding: 6px 14px;
      margin-bottom: 24px;
    }
    .hero-eyebrow-dot {
      width: 7px; height: 7px;
      background: var(--blue);
      border-radius: 50%;
      animation: pulse 2s infinite;
    }
    @keyframes pulse {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: .5; transform: scale(1.3); }
    }
    .hero-eyebrow-text {
      color: var(--blue);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .hero-h1 {
      font-size: clamp(38px, 5vw, 58px);
      font-weight: 900;
      line-height: 1.08;
      letter-spacing: -1.5px;
      color: var(--white);
      margin-bottom: 24px;
    }
    .hero-h1 em {
      font-style: normal;
      color: var(--blue);
    }
    .hero-sub {
      font-size: 18px;
      color: rgba(255,255,255,.72);
      max-width: 500px;
      margin-bottom: 40px;
      line-height: 1.7;
    }
    .hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 48px; }
    .hero-trust {
      display: flex;
      align-items: center;
      gap: 12px;
      color: rgba(255,255,255,.5);
      font-size: 13px;
    }
    .hero-trust-divider { width: 1px; height: 14px; background: rgba(255,255,255,.2); }

    /* Stat card */
    .hero-stat-card {
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius-lg);
      padding: 32px;
      backdrop-filter: blur(12px);
    }
    .hero-stat-card-title {
      color: rgba(255,255,255,.6);
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 20px;
    }
    .hero-stat-item {
      padding: 18px 0;
      border-bottom: 1px solid rgba(255,255,255,.07);
    }
    .hero-stat-item:last-child { border-bottom: none; padding-bottom: 0; }
    .hero-stat-item:first-of-type { padding-top: 0; }
    .hero-stat-num {
      font-size: 36px;
      font-weight: 900;
      color: var(--blue);
      letter-spacing: -1px;
      line-height: 1;
    }
    .hero-stat-label {
      color: rgba(255,255,255,.75);
      font-size: 14px;
      margin-top: 4px;
    }
    .hero-stat-sub {
      color: rgba(255,255,255,.4);
      font-size: 12px;
    }

    /* ============================================================
       PROOF BAR
    ============================================================ */
    .proof-bar {
      background: var(--blue);
      padding: 20px 0;
    }
    .proof-bar-inner {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 48px;
      flex-wrap: wrap;
    }
    .proof-bar-item {
      display: flex;
      align-items: center;
      gap: 10px;
      color: var(--white);
    }
    .proof-bar-num {
      font-size: 22px;
      font-weight: 900;
      letter-spacing: -.5px;
    }
    .proof-bar-text {
      font-size: 13px;
      font-weight: 600;
      opacity: .85;
    }
    .proof-bar-divider {
      width: 1px;
      height: 28px;
      background: rgba(255,255,255,.25);
    }

    /* ============================================================
       CREDENTIALS BAR
    ============================================================ */
    .creds-bar {
      background: var(--offwhite);
      padding: 32px 0;
      border-top: 1px solid var(--light);
      border-bottom: 1px solid var(--light);
    }
    .creds-inner {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 40px;
      flex-wrap: wrap;
    }
    .creds-label {
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .1em;
      color: var(--gray);
    }
    .cred-badge {
      display: flex;
      align-items: center;
      gap: 6px;
      background: var(--white);
      border: 1px solid var(--light);
      border-radius: 8px;
      padding: 8px 16px;
      font-size: 13px;
      font-weight: 700;
      color: var(--dark);
    }
    .cred-badge-dot {
      width: 8px; height: 8px;
      background: var(--blue);
      border-radius: 50%;
    }

    /* ============================================================
       AUDIENCE PATHS
    ============================================================ */
    .paths-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 48px;
    }
    .path-card {
      background: var(--offwhite);
      border: 2px solid transparent;
      border-radius: var(--radius-lg);
      padding: 36px 28px;
      cursor: pointer;
      transition: all .25s ease;
      position: relative;
      overflow: hidden;
    }
    .path-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 4px;
      background: var(--blue);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .25s ease;
    }
    .path-card:hover { border-color: var(--blue); background: #fff; box-shadow: var(--shadow-lg); transform: translateY(-4px); }
    .path-card:hover::before { transform: scaleX(1); }
    .path-card.featured { border-color: var(--blue); background: #fff; box-shadow: var(--shadow-lg); }
    .path-card.featured::before { transform: scaleX(1); }
    .path-badge {
      position: absolute;
      top: 16px; right: 16px;
      background: var(--coral);
      color: var(--dark);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      padding: 4px 10px;
      border-radius: 100px;
    }
    .path-icon {
      width: 52px; height: 52px;
      background: rgba(6,108,190,.1);
      border-radius: 12px;
      display: flex; align-items: center; justify-content: center;
      font-size: 24px;
      margin-bottom: 20px;
    }
    .path-title {
      font-size: 20px;
      font-weight: 800;
      color: var(--dark);
      margin-bottom: 8px;
    }
    .path-sub {
      font-size: 14px;
      color: var(--muted);
      margin-bottom: 20px;
      line-height: 1.6;
    }
    .path-result {
      background: rgba(6,108,190,.08);
      border-radius: 8px;
      padding: 12px 16px;
      margin-bottom: 20px;
    }
    .path-result-num {
      font-size: 20px;
      font-weight: 900;
      color: var(--blue-dk);
    }
    .path-result-text {
      font-size: 12px;
      color: var(--muted);
      font-weight: 600;
    }
    .path-bullets { list-style: none; }
    .path-bullets li {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      font-size: 14px;
      color: var(--muted);
      padding: 5px 0;
    }
    .path-bullets li::before {
      content: '✓';
      color: var(--blue);
      font-weight: 700;
      flex-shrink: 0;
      margin-top: 1px;
    }
    .path-cta-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--blue-dk);
      font-weight: 700;
      font-size: 14px;
      margin-top: 24px;
    }
    .path-cta-link:hover { gap: 10px; }

    /* ============================================================
       SECTION HEADERS
    ============================================================ */
    .section-label {
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .12em;
      color: var(--blue);
      margin-bottom: 12px;
    }
    .section-h2 {
      font-size: clamp(30px, 4vw, 46px);
      font-weight: 900;
      letter-spacing: -1px;
      line-height: 1.1;
      color: var(--dark);
      margin-bottom: 16px;
    }
    .section-h2 em { font-style: normal; color: var(--blue); }
    .section-sub {
      font-size: 18px;
      color: var(--muted);
      max-width: 600px;
      line-height: 1.7;
    }
    .section-sub.center { margin: 0 auto; }

    /* ============================================================
       CASE STUDIES
    ============================================================ */
    .cases { background: var(--dark); }
    .cases .section-label { color: var(--blue); }
    .cases .section-h2 { color: var(--white); }
    .cases .section-h2 em { color: var(--coral); }
    .cases .section-sub { color: rgba(255,255,255,.6); }
    .cases-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
      margin-top: 56px;
    }
    .case-card {
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius-lg);
      padding: 40px;
      position: relative;
      overflow: hidden;
      transition: transform .25s, box-shadow .25s;
    }
    .case-card:hover { transform: translateY(-4px); box-shadow: 0 20px 60px rgba(0,0,0,.3); }
    .case-card.featured-case {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 48px;
      align-items: center;
      background: linear-gradient(135deg, rgba(6,108,190,.1), rgba(242,149,102,.06));
      border-color: rgba(6,108,190,.3);
    }
    .case-accent {
      position: absolute;
      top: 0; right: 0;
      width: 120px; height: 120px;
      background: radial-gradient(circle, rgba(6,108,190,.18), transparent 70%);
      border-radius: 50%;
    }
    .case-num {
      font-size: 56px;
      font-weight: 900;
      color: var(--blue);
      letter-spacing: -2px;
      line-height: 1;
      margin-bottom: 4px;
    }
    .case-num-sub {
      color: rgba(255,255,255,.5);
      font-size: 13px;
      font-weight: 600;
      margin-bottom: 20px;
    }
    .case-name {
      font-size: 20px;
      font-weight: 800;
      color: var(--white);
      margin-bottom: 4px;
    }
    .case-biz {
      color: var(--blue);
      font-size: 13px;
      font-weight: 600;
      margin-bottom: 20px;
    }
    .case-quote {
      color: rgba(255,255,255,.75);
      font-size: 15px;
      line-height: 1.7;
      font-style: italic;
      border-left: 3px solid var(--blue);
      padding-left: 16px;
      margin-bottom: 24px;
    }
    .case-stats {
      display: flex;
      gap: 24px;
      flex-wrap: wrap;
    }
    .case-stat {
      background: rgba(255,255,255,.07);
      border-radius: 10px;
      padding: 14px 18px;
      min-width: 110px;
    }
    .case-stat-num {
      font-size: 22px;
      font-weight: 900;
      color: var(--coral);
    }
    .case-stat-label {
      font-size: 11px;
      color: rgba(255,255,255,.5);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: .06em;
    }
    .case-story {
      color: rgba(255,255,255,.7);
      font-size: 16px;
      line-height: 1.8;
    }
    .case-story strong { color: var(--blue); font-weight: 700; }

    /* ============================================================
       PROGRAMS
    ============================================================ */
    .programs-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
      margin-top: 56px;
    }
    .program-card {
      border-radius: var(--radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow-lg);
      transition: transform .25s;
    }
    .program-card:hover { transform: translateY(-6px); }
    .program-header {
      padding: 36px 36px 28px;
      background: var(--dark2);
      position: relative;
    }
    .program-header.cert {
      background: linear-gradient(135deg, #1e1e29, #28283a);
      border-bottom: 3px solid var(--blue);
    }
    .program-header.license {
      background: linear-gradient(135deg, #1e1e29, #2a2018);
      border-bottom: 3px solid var(--coral);
    }
    .program-tag {
      display: inline-block;
      background: rgba(6,108,190,.18);
      color: var(--blue);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: 4px 12px;
      border-radius: 100px;
      margin-bottom: 20px;
    }
    .program-tag.license-tag {
      background: rgba(242,149,102,.18);
      color: var(--coral);
    }
    .program-title {
      font-size: 26px;
      font-weight: 900;
      color: var(--white);
      margin-bottom: 10px;
      line-height: 1.2;
    }
    .program-subtitle {
      color: rgba(255,255,255,.6);
      font-size: 14px;
      line-height: 1.6;
    }
    .program-body {
      background: #fff;
      padding: 32px 36px;
    }
    .program-include-title {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .1em;
      color: var(--gray);
      margin-bottom: 16px;
    }
    .program-includes { list-style: none; }
    .program-includes li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 14px;
      color: var(--muted);
      padding: 7px 0;
      border-bottom: 1px solid var(--offwhite);
    }
    .program-includes li:last-child { border-bottom: none; }
    .program-includes li::before {
      content: '✓';
      color: var(--blue);
      font-weight: 800;
      flex-shrink: 0;
    }
    .program-footer {
      background: var(--offwhite);
      padding: 24px 36px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }
    .program-ceu {
      font-size: 12px;
      color: var(--muted);
      font-weight: 600;
    }
    .program-ceu strong { color: var(--dark); }

    /* ============================================================
       TESTIMONIALS
    ============================================================ */
    .testimonials { background: var(--offwhite); }
    .testimonials-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 56px;
    }
    .testi-card {
      background: var(--white);
      border-radius: var(--radius-lg);
      padding: 32px 28px;
      box-shadow: var(--shadow);
      position: relative;
      transition: transform .25s, box-shadow .25s;
    }
    .testi-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
    .testi-card.featured-testi {
      background: var(--dark);
      color: var(--white);
    }
    .testi-stars { display: flex; gap: 3px; margin-bottom: 16px; }
    .testi-star { color: var(--coral); font-size: 16px; }
    .testi-quote {
      font-size: 15px;
      line-height: 1.75;
      color: var(--muted);
      margin-bottom: 24px;
      font-style: italic;
    }
    .testi-card.featured-testi .testi-quote { color: rgba(255,255,255,.75); }
    .testi-person { display: flex; align-items: center; gap: 12px; }
    .testi-avatar {
      width: 44px; height: 44px;
      border-radius: 50%;
      background: var(--blue);
      display: flex; align-items: center; justify-content: center;
      font-size: 16px;
      font-weight: 800;
      color: var(--white);
      flex-shrink: 0;
    }
    .testi-name { font-size: 15px; font-weight: 800; color: var(--dark); }
    .testi-card.featured-testi .testi-name { color: var(--white); }
    .testi-role { font-size: 12px; color: var(--gray); font-weight: 500; }
    .testi-card.featured-testi .testi-role { color: rgba(255,255,255,.5); }
    .testi-video-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--blue);
      font-size: 13px;
      font-weight: 700;
      margin-top: 16px;
      cursor: pointer;
    }
    .testi-play {
      width: 28px; height: 28px;
      background: var(--blue);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
    }
    .testi-play::after {
      content: '▶';
      color: var(--white);
      font-size: 10px;
      margin-left: 2px;
    }

    /* Video row */
    .video-testi-row {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 24px;
      margin-top: 32px;
    }
    .video-testi-card {
      background: var(--dark);
      border-radius: var(--radius);
      overflow: hidden;
      cursor: pointer;
    }
    .video-thumb {
      width: 100%;
      aspect-ratio: 16/9;
      background: linear-gradient(135deg, #1e1e29, #28283a);
      display: flex; align-items: center; justify-content: center;
    }
    .video-thumb-icon {
      width: 56px; height: 56px;
      background: var(--blue);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 20px;
      color: var(--white);
      font-weight: 900;
      padding-left: 4px;
      transition: transform .2s;
    }
    .video-testi-card:hover .video-thumb-icon { transform: scale(1.1); }
    .video-testi-label {
      padding: 14px 16px;
      color: rgba(255,255,255,.8);
      font-size: 13px;
      font-weight: 600;
    }

    /* ============================================================
       CERTIFICATION DATES / URGENCY
    ============================================================ */
    .urgency {
      background: linear-gradient(135deg, var(--dark), var(--dark2));
      position: relative;
      overflow: hidden;
    }
    .urgency::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background: radial-gradient(ellipse 70% 70% at 50% 50%, rgba(6,108,190,.08), transparent);
    }
    .urgency .section-h2 { color: var(--white); }
    .urgency .section-sub { color: rgba(255,255,255,.65); }
    .urgency .section-label { color: var(--coral); }
    .dates-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin-top: 48px;
    }
    .date-card {
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: var(--radius);
      padding: 24px;
      text-align: center;
      transition: all .25s;
      position: relative;
      overflow: hidden;
    }
    .date-card:hover { background: rgba(255,255,255,.08); border-color: rgba(6,108,190,.35); }

    /* SOLD OUT card */
    .date-card.sold-out {
      opacity: .6;
      pointer-events: none;
    }
    .sold-out-stamp {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) rotate(-20deg);
      border: 3px solid #e55;
      border-radius: 6px;
      color: #e55;
      font-size: 13px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
      padding: 4px 10px;
      white-space: nowrap;
      pointer-events: none;
    }

    .date-month {
      font-size: 11px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .12em;
      color: var(--blue);
      margin-bottom: 6px;
    }
    .date-day {
      font-size: 28px;
      font-weight: 900;
      color: var(--white);
      margin-bottom: 4px;
    }
    .date-location {
      font-size: 13px;
      color: rgba(255,255,255,.6);
      margin-bottom: 14px;
    }
    .date-seats {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(242,149,102,.15);
      color: var(--coral);
      font-size: 11px;
      font-weight: 700;
      padding: 4px 10px;
      border-radius: 100px;
    }
    .date-seats.sold { background: rgba(255,255,255,.08); color: rgba(255,255,255,.4); }
    .date-seats-dot { width: 6px; height: 6px; background: var(--coral); border-radius: 50%; }

    /* ============================================================
       COMPARISON TABLE
    ============================================================ */
    .comparison { background: var(--offwhite); }
    .comp-table {
      margin-top: 48px;
      background: var(--white);
      border-radius: var(--radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow-lg);
    }
    .comp-row {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      border-bottom: 1px solid var(--light);
    }
    .comp-row:last-child { border-bottom: none; }
    .comp-cell {
      padding: 18px 24px;
      font-size: 14px;
      color: var(--muted);
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .comp-cell.header-cell {
      font-weight: 800;
      font-size: 15px;
      color: var(--dark);
      padding: 24px 24px;
      background: var(--offwhite);
    }
    .comp-cell.header-cell.cnu { background: rgba(6,108,190,.08); color: var(--blue-dk); }
    .comp-yes { color: var(--blue); font-size: 18px; font-weight: 900; }
    .comp-no { color: #D1D5DB; font-size: 18px; }
    .comp-cell.feature { font-weight: 600; color: var(--dark); }

    /* ============================================================
       INCOME CALCULATOR CTA
    ============================================================ */
    .calc-cta {
      background: linear-gradient(135deg, var(--blue), var(--blue-dk));
      border-radius: var(--radius-lg);
      padding: 56px 64px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 32px;
      flex-wrap: wrap;
      margin: 64px 0;
    }
    .calc-cta-text h3 {
      font-size: 30px;
      font-weight: 900;
      color: var(--white);
      letter-spacing: -.5px;
      margin-bottom: 10px;
    }
    .calc-cta-text p {
      color: rgba(255,255,255,.8);
      font-size: 16px;
    }

    /* ============================================================
       LEAD FORM / FINAL CTA
    ============================================================ */
    .form-section {
      background: var(--dark);
      background-image: radial-gradient(ellipse 50% 80% at 100% 50%, rgba(6,108,190,.12), transparent);
    }
    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center;
    }
    .form-left .section-label { color: var(--blue); }
    .form-left .section-h2 { color: var(--white); }
    .form-left .section-h2 em { color: var(--coral); }
    .form-left .section-sub { color: rgba(255,255,255,.65); }
    .form-benefits { list-style: none; margin-top: 32px; }
    .form-benefits li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 12px 0;
      border-bottom: 1px solid rgba(255,255,255,.07);
      color: rgba(255,255,255,.75);
      font-size: 15px;
    }
    .form-benefits li:last-child { border-bottom: none; }
    .form-benefits-check {
      width: 22px; height: 22px;
      background: rgba(6,108,190,.25);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      color: var(--blue);
      font-size: 11px;
      font-weight: 900;
      margin-top: 1px;
    }
    .lead-form {
      background: var(--white);
      border-radius: var(--radius-lg);
      padding: 40px;
      box-shadow: 0 24px 80px rgba(0,0,0,.35);
    }
    .lead-form h3 {
      font-size: 22px;
      font-weight: 900;
      color: var(--dark);
      margin-bottom: 6px;
    }
    .lead-form > p {
      font-size: 14px;
      color: var(--muted);
      margin-bottom: 28px;
    }
    .form-field { margin-bottom: 16px; }
    .form-field label {
      display: block;
      font-size: 12px;
      font-weight: 700;
      color: var(--dark);
      text-transform: uppercase;
      letter-spacing: .06em;
      margin-bottom: 6px;
    }
    .form-field input,
    .form-field select {
      width: 100%;
      padding: 14px 16px;
      border: 1.5px solid var(--light);
      border-radius: 8px;
      font-size: 15px;
      color: var(--text);
      background: var(--offwhite);
      transition: border-color .2s, box-shadow .2s;
      outline: none;
      font-family: inherit;
    }
    .form-field input:focus,
    .form-field select:focus {
      border-color: var(--blue);
      box-shadow: 0 0 0 3px rgba(6,108,190,.15);
      background: #fff;
    }
    .form-submit {
      width: 100%;
      background: var(--blue);
      color: var(--white);
      font-size: 17px;
      font-weight: 800;
      padding: 18px;
      border-radius: 8px;
      border: none;
      cursor: pointer;
      margin-top: 8px;
      transition: all .2s;
      font-family: inherit;
    }
    .form-submit:hover { background: var(--blue-dk); transform: translateY(-1px); box-shadow: 0 8px 24px rgba(6,108,190,.4); }
    .form-disclaimer {
      text-align: center;
      font-size: 12px;
      color: var(--gray);
      margin-top: 14px;
    }

    /* ============================================================
       RISK REVERSAL
    ============================================================ */
    .risk-bar {
      background: rgba(6,108,190,.07);
      border: 1px solid rgba(6,108,190,.2);
      border-radius: var(--radius);
      padding: 24px 32px;
      display: flex;
      align-items: center;
      gap: 20px;
      margin-top: 40px;
      flex-wrap: wrap;
    }
    .risk-icon { font-size: 32px; flex-shrink: 0; }
    .risk-text strong {
      display: block;
      font-size: 16px;
      color: var(--dark);
      font-weight: 800;
      margin-bottom: 4px;
    }
    .risk-text p { font-size: 14px; color: var(--muted); }

    /* ============================================================
       FOOTER
    ============================================================ */
    .footer {
      background: #131320;
      padding: 72px 0 32px;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1.5fr;
      gap: 48px;
      margin-bottom: 56px;
    }
    .footer-brand p {
      color: rgba(255,255,255,.45);
      font-size: 14px;
      line-height: 1.8;
      margin-top: 16px;
      max-width: 280px;
    }
    .footer-col-title {
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .12em;
      color: var(--blue);
      margin-bottom: 20px;
    }
    .footer-links { list-style: none; }
    .footer-links li { margin-bottom: 12px; }
    .footer-links a {
      color: rgba(255,255,255,.5);
      font-size: 14px;
      transition: color .2s;
    }
    .footer-links a:hover { color: var(--white); }
    .footer-contact p {
      color: rgba(255,255,255,.5);
      font-size: 14px;
      line-height: 2;
    }
    .footer-contact a { color: var(--blue); }
    .footer-bottom {
      border-top: 1px solid rgba(255,255,255,.07);
      padding-top: 28px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 16px;
    }
    .footer-bottom p { color: rgba(255,255,255,.3); font-size: 13px; }
    .footer-social { display: flex; gap: 12px; }
    .social-btn {
      width: 36px; height: 36px;
      background: rgba(255,255,255,.07);
      border-radius: 8px;
      display: flex; align-items: center; justify-content: center;
      font-size: 15px;
      color: rgba(255,255,255,.5);
      transition: all .2s;
    }
    .social-btn:hover { background: var(--blue); color: var(--white); }

    /* ============================================================
       MOBILE
    ============================================================ */
    @media (max-width: 900px) {
      .hero-inner { grid-template-columns: 1fr; }
      .hero-stat-card { display: none; }
      .paths-grid { grid-template-columns: 1fr; }
      .cases-grid { grid-template-columns: 1fr; }
      .case-card.featured-case { grid-template-columns: 1fr; }
      .programs-grid { grid-template-columns: 1fr; }
      .testimonials-grid { grid-template-columns: 1fr; }
      .video-testi-row { grid-template-columns: 1fr; }
      .dates-grid { grid-template-columns: 1fr 1fr; }
      .form-grid { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .calc-cta { padding: 36px 28px; }
      .nav-links { display: none; }
      .proof-bar-inner { gap: 24px; }
      .proof-bar-divider { display: none; }
    }



/* ── Elementor conflict overrides (front page) ─────────────────────────── */

/* Force html/body to full viewport width — Elementor theme-light.min.css sets these to 0 */
html, body {
  width: 100% !important;
  min-width: 320px !important;
  overflow-x: hidden !important;
}

/* Hide Elementor global header/footer on the front page — they are replaced by our custom header.php */
.home .elementor-location-header,
.home .elementor-location-footer {
  display: none !important;
}


/* ── Nav Dropdown Menu ──────────────────────────────────────── */
.nav-links .has-dropdown { position: relative; }
.nav-links .has-dropdown > a { cursor: pointer; }
.nav-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: #1a1a2e;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  padding: 8px 0;
  min-width: 220px;
  z-index: 9999;
  box-shadow: 0 16px 40px rgba(0,0,0,.4);
  list-style: none;
  margin: 0;
}
.nav-links .has-dropdown:hover .nav-dropdown,
.nav-links .has-dropdown:focus-within .nav-dropdown { display: block; }
.nav-dropdown li a {
  display: block;
  padding: 10px 20px;
  color: rgba(255,255,255,.8);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.nav-dropdown li a:hover { background: rgba(255,255,255,.07); color: #fff; }
