 /* ═══════════════════════════════════════
       TOKENS
    ═══════════════════════════════════════ */
 :root {
     --gla-green: #1a5c2a;
     --gla-gold: #c8991a;
     --cw-navy: #0d2b55;
     --cw-sky: #1a73e8;
     --bg-light: #f8f9fc;
     --text-dark: #1a1a2e;
     --text-mid: #4a4a6a;
     --text-soft: #767693;
     --border-col: #e2e6f0;
 }

 body {
     font-family: 'Inter', sans-serif;
     background: var(--bg-light);
     color: var(--text-dark);
     line-height: 1.65;
 }

 h1,
 h2,
 h3,
 .font-display {
     font-family: 'Playfair Display', serif;
 }

 /* ── scrollable anchor offset for sticky header ── */
 :target {
     scroll-margin-top: 80px;
 }

 /* ═══════════════════════════════════════
       COMPLIANCE RIBBON
    ═══════════════════════════════════════ */
 #compliance-ribbon {
     background: #fff3cd;
     border-bottom: 2px solid var(--gla-gold);
     font-size: 13px;
     font-weight: 500;
     color: #6b4800;
 }

 #compliance-ribbon a {
     color: #6b4800;
     text-decoration: underline;
 }

 /* ═══════════════════════════════════════
       HEADER
    ═══════════════════════════════════════ */
 #main-header {
     background: #fff;
     border-bottom: 1px solid var(--border-col);
     box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
     position: sticky;
     top: 0;
     z-index: 1030;
 }

 .logo-cw {
     background: var(--cw-navy);
     color: #fff;
     font-weight: 800;
     font-size: 14px;
     border-radius: 6px;
     padding: 8px 14px;
     white-space: nowrap;
 }

 .logo-gla {
     background: var(--gla-green);
     color: #fff;
     font-weight: 800;
     font-size: 14px;
     border-radius: 6px;
     padding: 8px 14px;
     white-space: nowrap;
 }

 .logo-divider {
     width: 1px;
     height: 36px;
     background: var(--border-col);
 }

 .partnership-tag {
     font-size: 11px;
     color: var(--text-soft);
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: .07em;
     line-height: 1.4;
     max-width: 160px;
 }

 .partnership-tag em {
     font-style: normal;
     color: var(--gla-green);
     font-weight: 700;
 }

 .btn-header-cta {
     background: var(--cw-sky);
     color: #fff !important;
     border-radius: 6px;
     padding: 10px 22px;
     font-size: 14px;
     font-weight: 600;
     border: none;
     text-decoration: none;
     transition: background .2s;
     white-space: nowrap;
 }

 .btn-header-cta:hover {
     background: #1558b0;
 }

 /* ═══════════════════════════════════════
       HERO
    ═══════════════════════════════════════ */
 #hero {
     background: linear-gradient(135deg, var(--cw-navy) 0%, var(--gla-green) 100%);
     color: #fff;
     padding: 72px 0 80px;
 }

 .hero-badge {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: rgba(255, 255, 255, .15);
     border: 1px solid rgba(255, 255, 255, .3);
     border-radius: 100px;
     padding: 6px 16px;
     font-size: 12px;
     font-weight: 600;
     letter-spacing: .06em;
     text-transform: uppercase;
     margin-bottom: 20px;
 }

 .hero-badge .dot {
     width: 8px;
     height: 8px;
     border-radius: 50%;
     background: var(--gla-gold);
     flex-shrink: 0;
 }

 #hero h1 {
     font-size: clamp(28px, 4vw, 50px);
     font-weight: 800;
     line-height: 1.18;
 }

 #hero h1 .highlight {
     color: var(--gla-gold);
 }

 #hero .hero-sub {
     font-size: 17px;
     color: rgba(255, 255, 255, .82);
     line-height: 1.7;
 }

 .trust-pill {
     background: rgba(255, 255, 255, .12);
     border: 1px solid rgba(255, 255, 255, .25);
     border-radius: 100px;
     padding: 5px 14px;
     font-size: 12.5px;
     font-weight: 500;
     white-space: nowrap;
 }

 /* ── Lead Form Card ── */
 .lead-form-card {
     background: #fff;
     border-radius: 20px;
     padding: 36px 30px;
     box-shadow: 0 16px 48px rgba(0, 0, 0, .18);
     color: var(--text-dark);
 }

 .form-partner-note {
     background: #edf7f0;
     border-left: 3px solid var(--gla-green);
     padding: 8px 12px;
     font-size: 12px;
     color: var(--gla-green);
     font-weight: 600;
     border-radius: 0 6px 6px 0;
 }

 .form-label-custom {
     font-size: 11px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .05em;
     color: var(--text-mid);
     margin-bottom: 4px;
 }

 .form-control-custom,
 .form-select-custom {
     border: 1.5px solid var(--border-col);
     border-radius: 6px;
     font-size: 14px;
     padding: 10px 13px;
     width: 100%;
     font-family: 'Inter', sans-serif;
     background: #fff;
     color: var(--text-dark);
     transition: border-color .2s, box-shadow .2s;
     outline: none;
 }

 .form-control-custom:focus,
 .form-select-custom:focus {
     border-color: var(--cw-sky);
     box-shadow: 0 0 0 3px rgba(26, 115, 232, .12);
 }

 .consent-block {
     background: #f4f6fb;
     border: 1.5px solid var(--border-col);
     border-radius: 6px;
     padding: 12px;
 }

 .consent-block input[type="checkbox"] {
     width: 17px;
     height: 17px;
     margin-top: 2px;
     accent-color: var(--cw-sky);
     flex-shrink: 0;
 }

 .consent-block label {
     font-size: 8px;
     color: var(--text-mid);
     line-height: 1.55;
     cursor: pointer;
 }

 .btn-submit-main {
     width: 100%;
     background: var(--gla-green);
     color: #fff;
     border: none;
     border-radius: 6px;
     padding: 13px;
     font-size: 15px;
     font-weight: 700;
     font-family: 'Inter', sans-serif;
     cursor: pointer;
     transition: background .2s, transform .1s;
 }

 .btn-submit-main:hover {
     background: #134521;
     transform: translateY(-1px);
 }

 /* ═══════════════════════════════════════
       STATS BANNER
    ═══════════════════════════════════════ */
 #stats-banner {
     background: var(--cw-navy);
     color: #fff;
     padding: 40px 0;
 }

 .stat-number {
     font-family: 'Playfair Display', serif;
     font-size: 42px;
     font-weight: 800;
     color: var(--gla-gold);
     line-height: 1;
 }

 .stat-label {
     font-size: 13px;
     color: rgba(255, 255, 255, .72);
     margin-top: 5px;
 }

 .stat-divider {
     width: 1px;
     background: rgba(255, 255, 255, .14);
     align-self: stretch;
 }

 /* ═══════════════════════════════════════
       SECTIONS GENERIC
    ═══════════════════════════════════════ */
 .section {
     padding: 80px 0;
 }

 .section-alt {
     background: #fff;
 }

 .eyebrow {
     font-size: 12px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .1em;
     color: var(--gla-gold);
 }

 .section-title {
     font-size: clamp(26px, 3.5vw, 40px);
     font-weight: 700;
     color: var(--cw-navy);
     line-height: 1.22;
 }

 .section-desc {
     font-size: 16px;
     color: var(--text-mid);
     line-height: 1.7;
 }

 /* ── Feature Cards ── */
 .feature-card {
     background: #fff;
     border: 1.5px solid var(--border-col);
     border-radius: 12px;
     padding: 28px 24px;
     height: 100%;
     transition: box-shadow .2s, transform .2s;
 }

 .feature-card:hover {
     box-shadow: 0 6px 24px rgba(0, 0, 0, .10);
     transform: translateY(-3px);
 }

 .feature-icon {
     width: 48px;
     height: 48px;
     border-radius: 8px;
     background: #edf7f0;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 22px;
     margin-bottom: 16px;
 }

 .badge-tag {
     display: inline-block;
     background: #fff3cd;
     color: #6b4800;
     font-size: 11px;
     font-weight: 700;
     border-radius: 100px;
     padding: 3px 10px;
     margin-top: 10px;
     letter-spacing: .04em;
 }

 /* ── Why CampusWalkin Visual Panel ── */
 .cw-visual-panel {
     background: linear-gradient(135deg, var(--cw-navy) 0%, var(--gla-green) 100%);
     border-radius: 20px;
     padding: 36px 30px;
     color: #fff;
     height: 100%;
 }

 .step-num-circle {
     width: 36px;
     height: 36px;
     border-radius: 50%;
     background: var(--cw-navy);
     color: #fff;
     font-size: 14px;
     font-weight: 700;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .cw-perk-check {
     width: 22px;
     height: 22px;
     border-radius: 50%;
     background: var(--gla-gold);
     color: #fff;
     font-size: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 /* ── Accreditation bar ── */
 #accred-bar {
     background: #fff;
     border-top: 1px solid var(--border-col);
     border-bottom: 1px solid var(--border-col);
     padding: 24px 0;
 }

 .accred-badge {
     display: flex;
     align-items: center;
     gap: 8px;
     font-size: 13px;
     color: var(--text-mid);
     font-weight: 600;
     white-space: nowrap;
 }

 /* ═══════════════════════════════════════
       PROGRAM CARDS
    ═══════════════════════════════════════ */
 .program-card {
     background: #fff;
     border: 1.5px solid var(--border-col);
     border-radius: 12px;
     overflow: hidden;
 }

 .pc-header {
     background: var(--cw-navy);
     color: #fff;
     padding: 20px 24px;
 }

 .pc-header h3 {
     font-size: 18px;
     font-weight: 700;
     font-family: 'Inter', sans-serif;
 }

 .pc-mode-badge {
     background: var(--gla-gold);
     color: #fff;
     font-size: 11px;
     font-weight: 700;
     padding: 4px 12px;
     border-radius: 100px;
     letter-spacing: .05em;
     text-transform: uppercase;
 }

 .pc-meta-label {
     font-size: 11px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .06em;
     color: var(--text-soft);
 }

 .pc-meta-val {
     font-size: 14px;
     font-weight: 600;
 }

 .spec-tag {
     background: #edf7f0;
     color: var(--gla-green);
     border: 1px solid #b8dfc4;
     border-radius: 100px;
     padding: 4px 12px;
     font-size: 12px;
     font-weight: 600;
     white-space: nowrap;
 }

 .fee-table thead th {
     background: #f4f6fb;
     font-size: 11px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .06em;
     color: var(--text-mid);
     border-bottom: 2px solid var(--border-col);
 }

 .fee-table tbody td {
     font-size: 14px;
     color: var(--text-dark);
     vertical-align: middle;
 }

 .fee-amt {
     font-weight: 700;
     color: var(--gla-green);
 }

 .fee-note {
     font-size: 12px;
     color: var(--text-soft);
     line-height: 1.6;
 }

 .btn-apply-prog {
     display: inline-block;
     background: var(--gla-green);
     color: #fff;
     padding: 11px 24px;
     border-radius: 6px;
     font-size: 14px;
     font-weight: 700;
     text-decoration: none;
     transition: background .2s;
 }

 .btn-apply-prog:hover {
     background: #134521;
     color: #fff;
 }

 /* ── Prog Tabs ── */
 .prog-tab-btn {
     border: 1.5px solid var(--border-col);
     border-radius: 100px;
     background: #fff;
     color: var(--text-mid);
     font-size: 13px;
     font-weight: 600;
     padding: 8px 20px;
     cursor: pointer;
     transition: all .2s;
     white-space: nowrap;
 }

 .prog-tab-btn.active,
 .prog-tab-btn:hover {
     background: var(--cw-navy);
     color: #fff;
     border-color: var(--cw-navy);
 }

 /* ── Corporate Alliance pills ── */
 .alliance-pill {
     background: var(--bg-light);
     border: 1.5px solid var(--border-col);
     border-radius: 6px;
     padding: 9px 20px;
     font-size: 13px;
     font-weight: 700;
     color: var(--text-mid);
 }

 /* ── Process Steps ── */
 .process-step-circle {
     width: 56px;
     height: 56px;
     border-radius: 50%;
     background: var(--cw-navy);
     color: #fff;
     font-size: 18px;
     font-weight: 800;
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto 14px;
     box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
 }

 /* ═══════════════════════════════════════
       FAQ
    ═══════════════════════════════════════ */
 .faq-item {
     border: 1.5px solid var(--border-col);
     border-radius: 12px;
     overflow: hidden;
     background: #fff;
 }

 .faq-question {
     padding: 18px 22px;
     font-size: 15px;
     font-weight: 600;
     color: var(--cw-navy);
     cursor: pointer;
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 16px;
     user-select: none;
     transition: background .15s;
 }

 .faq-question:hover {
     background: #f8f9fc;
 }

 .faq-icon {
     font-size: 22px;
     color: var(--text-soft);
     flex-shrink: 0;
     transition: transform .3s;
 }

 .faq-answer {
     display: none;
     padding: 0 22px 18px;
     font-size: 14.5px;
     color: var(--text-mid);
     line-height: 1.7;
     border-top: 1px solid var(--border-col);
     padding-top: 14px;
 }

 .transparency-note {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     background: #edf7f0;
     border-radius: 6px;
     padding: 5px 12px;
     font-size: 12px;
     font-weight: 600;
     color: var(--gla-green);
     margin-top: 10px;
 }

 /* ═══════════════════════════════════════
       CTA STRIP
    ═══════════════════════════════════════ */
 #cta-strip {
     background: linear-gradient(135deg, var(--cw-navy), var(--gla-green));
     color: #fff;
     padding: 72px 0;
 }

 .btn-cta-gold {
     background: var(--gla-gold);
     color: #fff;
     border: none;
     border-radius: 8px;
     padding: 16px 40px;
     font-size: 15px;
     font-weight: 700;
     text-decoration: none;
     transition: background .2s;
     display: inline-block;
 }

 .btn-cta-gold:hover {
     background: #a87c10;
     color: #fff;
 }

 /* ═══════════════════════════════════════
       FOOTER
    ═══════════════════════════════════════ */
 #site-footer {
     background: var(--text-dark);
     color: rgba(255, 255, 255, .75);
 }

 #site-footer h4 {
     color: #fff;
     font-size: 18px;
     font-weight: 800;
 }

 #site-footer h5 {
     font-size: 12px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .08em;
     color: rgba(255, 255, 255, .45);
 }

 #site-footer a {
     color: rgba(255, 255, 255, .7);
     text-decoration: none;
     transition: color .2s;
 }

 #site-footer a:hover {
     color: var(--gla-gold);
 }

 .footer-contact-ico {
     font-size: 15px;
     flex-shrink: 0;
 }

 .footer-divider {
     border-color: rgba(255, 255, 255, .1);
 }

 .footer-legal-block p {
     font-size: 12px;
     color: rgba(255, 255, 255, .42);
     line-height: 1.8;
 }

 .footer-bottom {
     font-size: 12px;
     color: rgba(255, 255, 255, .33);
 }

 /* ═══════════════════════════════════════
       FLOATING CTA
    ═══════════════════════════════════════ */
 /* #floating-cta {
      position: fixed;
      bottom: 24px;
      right: 24px;
      background: var(--gla-green);
      color: #fff;
      border-radius: 100px;
      padding: 13px 22px;
      font-size: 14px;
      font-weight: 700;
      box-shadow: 0 8px 24px rgba(26,92,42,.4);
      cursor: pointer;
      z-index: 1050;
      text-decoration: none;
      display: flex;
      align-items: center;
      gap: 8px;
      transition: transform .2s, box-shadow .2s;
    }
    #floating-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 32px rgba(26,92,42,.5);
      color: #fff;
    } */

 #floating-cta {
     position: fixed;
     top: 50%;
     right: -70px;
     transform: translateY(-50%) rotate(-90deg);

     color: #fff;
     font-size: 14px;
     font-weight: 700;
     background: var(--gla-green);

     padding: 12px 24px;
     border-radius: 12px 12px 0 0;
     text-decoration: none;

     display: flex;
     align-items: center;
     gap: 8px;

     box-shadow: 0 8px 24px rgba(26, 92, 42, .4);
     z-index: 9999;
     transition: all .3s ease;
 }

 #floating-cta:hover {
     transform: translateY(-50%) rotate(-90deg) translateY(-4px);
 }

 #floating-cta i {
     font-size: 16px;
 }
 
  #floating-cta {
    position: fixed;
    top: 50%;
    right: -70px;
    transform: translateY(-50%) rotate(-90deg);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    background: var(--gla-green);
    padding: 12px 24px;
    border-radius: 12px 12px 0 0;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 24px rgba(26, 92, 42, .4);
    z-index: 9999;
    transition: all .3s ease;
}

 /* ═══════════════════════════════════════
       MOBILE RESPONSIVE OVERRIDES
    ═══════════════════════════════════════ */
 @media (max-width: 767px) {
     #hero {
         padding: 48px 0 56px;
     }

     .lead-form-card {
         padding: 24px 18px;
     }

     .stat-number {
         font-size: 32px;
     }

     .stat-divider {
         display: none;
     }

     .section {
         padding: 56px 0;
     }

     .cw-visual-panel {
         margin-top: 32px;
     }

     #floating-cta {
         bottom: 16px;
         right: 16px;
         padding: 11px 18px;
         font-size: 13px;
     }

     .prog-tab-btn {
         font-size: 12px;
         padding: 7px 14px;
     }
     #floating-cta {
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        writing-mode: vertical-rl;
        text-orientation: mixed;
        padding: 15px 8px;
        border-radius: 12px 0 0 12px;
        gap: 4px;
        display: none!important;
    }
    .btn-header-cta{ display: none; }
 }

 @media (max-width: 575px) {
     .partnership-tag {
         display: none;
     }

     .logo-divider:last-of-type {
         display: none;
     }
 }
 


