   /* ── Hero layout ── */
   .hero-inner {
     display: grid;
     grid-template-columns: 1fr 420px;
     gap: 60px;
     align-items: center;
   }

   /* ── Vertical Course Card Slider ── */
   .hvc-wrap {
     position: relative;
     height: 540px;
     overflow: hidden;
   }

   /* Top & bottom fade masks */
   .hvc-wrap::before,
   .hvc-wrap::after {
     content: '';
     position: absolute;
     left: 0;
     right: 0;
     z-index: 10;
     pointer-events: none;
     height: 100px;
   }

   .hvc-wrap::before {
     top: 0;
     background: linear-gradient(to bottom, var(--bg) 0%, transparent 100%);
   }

   .hvc-wrap::after {
     bottom: 0;
     background: linear-gradient(to top, var(--bg) 0%, transparent 100%);
   }

   /* The scrolling track — seamlessly loops */
   .hvc-track {
     display: flex;
     flex-direction: column;
     gap: 16px;
     animation: hvcScroll 28s linear infinite;
     will-change: transform;
   }

   .hvc-track:hover {
     animation-play-state: paused;
   }

   @keyframes hvcScroll {
     0% {
       transform: translateY(0);
     }

     100% {
       transform: translateY(-50%);
     }
   }

   /* Individual mini course card */
   .hvc-card {
     background: var(--bg-card);
     border: 1px solid var(--border);
     border-radius: 18px;
     overflow: hidden;
     display: flex;
     gap: 0;
     transition: border-color .3s, box-shadow .3s, transform .3s;
     cursor: pointer;
     flex-shrink: 0;
     text-decoration: none;
   }

   .hvc-card:hover {
     border-color: var(--border-h);
     box-shadow: 0 12px 36px rgba(0, 0, 0, .25), 0 0 0 1px rgba(249, 115, 22, .15);
     transform: translateX(6px) scale(1.015);
     z-index: 5;
   }

   /* Left color bar / thumb */
   .hvc-thumb {
     width: 100px;
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 2rem;
     position: relative;
     overflow: hidden;
   }

   .hvc-thumb-emoji {
     position: relative;
     z-index: 1;
     transition: transform .4s cubic-bezier(.34, 1.56, .64, 1);
   }

   .hvc-card:hover .hvc-thumb-emoji {
     transform: scale(1.22) rotate(-10deg);
   }

   /* Right content */
   .hvc-body {
     flex: 1;
     padding: 14px 16px;
     min-width: 0;
   }

   .hvc-cat {
     font-size: 10px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .1em;
     color: var(--accent);
     margin-bottom: 5px;
   }

   .hvc-title {
     font-family: var(--font-display);
     font-size: .9rem;
     font-weight: 700;
     color: var(--text);
     line-height: 1.35;
     margin-bottom: 8px;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
     letter-spacing: 0.5px;
   }

   .hvc-meta {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-bottom: 8px;
   }

   .hvc-meta span {
     font-size: 11px;
     color: var(--text3);
   }

   .hvc-footer {
     display: flex;
     align-items: center;
     justify-content: space-between;
   }

   .hvc-price {
     font-family: var(--font-display);
     font-size: .95rem;
     font-weight: 700;
     color: var(--text);
   }

   .hvc-badge {
     font-size: 10px;
     font-weight: 700;
     padding: 2px 9px;
     border-radius: 999px;
     color: #fff;
   }

   .hvc-stars {
     color: #fbbf24;
     font-size: 10px;
     letter-spacing: .5px;
   }

   /* Floating accent pill anchored top-right of slider */
   .hvc-accent-pill {
     position: absolute;
     top: 16px;
     right: -6px;
     z-index: 20;
     padding: 7px 14px;
     border-radius: 12px;
     font-size: 12px;
     font-weight: 700;
     color: #fff;
     box-shadow: 0 6px 20px rgba(0, 0, 0, .3);
     animation: hvcPill 3.5s ease-in-out infinite;
     backdrop-filter: blur(8px);
   }

   .hvc-accent-pill-2 {
     position: absolute;
     bottom: 20px;
     right: -6px;
     z-index: 20;
     padding: 7px 14px;
     border-radius: 12px;
     font-size: 12px;
     font-weight: 700;
     color: #fff;
     box-shadow: 0 6px 20px rgba(0, 0, 0, .3);
     animation: hvcPill 4s ease-in-out .9s infinite;
     backdrop-filter: blur(8px);
   }

   @keyframes hvcPill {

     0%,
     100% {
       transform: translateY(0) rotate(-1deg);
     }

     50% {
       transform: translateY(-7px) rotate(1deg);
     }
   }

   @media (max-width:1024px) {
     .hero-inner {
       grid-template-columns: 1fr 360px;
       gap: 48px;
     }

     .hvc-wrap {
       height: 480px;
     }
   }

   @media (max-width:900px) {
     .hero-inner {
       grid-template-columns: 1fr;
     }

     .hero-visual {
       display: none;
     }
   }


   /* Nav */

   .hcs-nav {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-top: 14px;
     padding: 0 2px;
   }

   .hcs-dots {
     display: flex;
     align-items: center;
     gap: 6px;
   }

   .hcs-dot {
     height: 4px;
     border-radius: 999px;
     background: var(--border);
     border: none;
     cursor: pointer;
     padding: 0;
     transition: width .3s, background .3s;
     width: 18px;
   }

   .hcs-dot.active {
     background: var(--accent);
     width: 28px;
   }

   .hcs-arrows {
     display: flex;
     gap: 7px;
   }

   .hcs-arr {
     width: 34px;
     height: 34px;
     border-radius: 50%;
     border: 1.5px solid var(--border);
     background: var(--bg-card);
     color: var(--text);
     font-size: .95rem;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: all .22s;
   }

   .hcs-arr:hover:not([disabled]) {
     border-color: var(--accent);
     color: var(--accent);
     background: rgba(249, 115, 22, .08);
   }

   .hcs-arr[disabled] {
     opacity: .3;
     cursor: not-allowed;
   }

   /* Progress bar */
   .hcs-progress {
     height: 3px;
     border-radius: 999px;
     background: var(--border);
     margin-top: 8px;
     overflow: hidden;
   }

   .hcs-progress-fill {
     height: 100%;
     border-radius: 999px;
     background: linear-gradient(90deg, #f97316, #ec4899);
     transition: width .5s ease;
   }

   @media (max-width:1100px) {
     .hero-inner {
       grid-template-columns: 1fr 360px;
       gap: 40px;
     }
   }

   @media (max-width:900px) {
     .hero-inner {
       grid-template-columns: 1fr;
     }

     .hero-visual {
       display: none;
     }
   }


   /* ── Course tab pills ── */
   .tab-trigger {
     padding: 10px 22px;
     border-radius: 999px;
     border: 1.5px solid var(--border);
     background: transparent;
     color: var(--text2);
     font-size: 14px;
     font-weight: 500;
     cursor: pointer;
     transition: var(--transition);
   }

   .tab-trigger.active,
   .tab-trigger:hover {
     background: rgba(249, 115, 22, .1);
     border-color: var(--accent);
     color: var(--accent);
   }

   /* ── Event Slider ── */
   .ev-slider-outer {
     position: relative;
     overflow: hidden;
   }

   .ev-slider-track {
     display: flex;
     gap: 24px;
     transition: transform .52s cubic-bezier(.16, 1, .3, 1);
     will-change: transform;
   }

   .ev-card {
     flex: 0 0 calc(33.333% - 16px);
     background: var(--bg-card);
     border: 1px solid var(--border);
     border-radius: var(--radius-xl);
     overflow: hidden;
     transition: var(--transition);
     position: relative;
   }

   .ev-card:hover {
     transform: translateY(-8px);
     border-color: var(--border-h);
     box-shadow: var(--shadow-lg);
   }

   .ev-card-thumb {
     height: 196px;
     position: relative;
     overflow: hidden;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 5rem;
   }

   .ev-card-thumb-emoji {
     transition: transform .5s cubic-bezier(.34, 1.56, .64, 1);
     position: relative;
     z-index: 1;
   }

   .ev-card:hover .ev-card-thumb-emoji {
     transform: scale(1.18) rotate(-6deg);
   }

   .ev-card-date-badge {
     position: absolute;
     top: 14px;
     left: 14px;
     z-index: 2;
     background: rgba(0, 0, 0, .6);
     backdrop-filter: blur(10px);
     border: 1px solid rgba(255, 255, 255, .15);
     border-radius: 10px;
     padding: 6px 12px;
     text-align: center;
     color: #fff;
     display: flex;
     flex-direction: column;
     align-items: center;
     min-width: 44px;
   }

   .ev-card-day {
     font-family: var(--font-display);
     font-size: 1.6rem;
     font-weight: 700;
     line-height: 1;
     display: block;
   }

   .ev-card-month {
     font-size: 10px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .1em;
     opacity: .8;
   }

   .ev-live-badge {
     position: absolute;
     top: 14px;
     right: 14px;
     z-index: 2;
     background: rgba(239, 68, 68, .9);
     backdrop-filter: blur(6px);
     color: #fff;
     border-radius: 999px;
     padding: 4px 11px;
     font-size: 11px;
     font-weight: 700;
     display: flex;
     align-items: center;
     gap: 5px;
   }

   .ev-live-dot {
     width: 6px;
     height: 6px;
     border-radius: 50%;
     background: #fff;
     animation: pulse 1.1s infinite;
   }

   .ev-card-body {
     padding: 22px 24px 26px;
   }

   .ev-card-type {
     display: inline-block;
     padding: 3px 12px;
     border-radius: 999px;
     font-size: 11px;
     font-weight: 700;
     margin-bottom: 10px;
   }

   .ev-card-title {
     font-family: var(--font-display);
     font-size: 1.05rem;
     font-weight: 700;
     color: var(--text);
     line-height: 1.4;
     margin-bottom: 12px;
     letter-spacing: 1px;
   }

   .ev-card-meta {
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
     margin-bottom: 18px;
   }

   .ev-card-meta span {
     font-size: 12px;
     color: var(--text3);
     display: flex;
     align-items: center;
     gap: 4px;
   }

   .ev-card-footer {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding-top: 16px;
     border-top: 1px solid var(--border);
   }

   .ev-price-free {
     font-family: var(--font-display);
     font-size: 1rem;
     font-weight: 700;
     color: #22c55e;
   }

   .ev-price-paid {
     font-family: var(--font-display);
     font-size: 1rem;
     font-weight: 700;
     color: var(--text);
   }

   .ev-seats {
     font-size: 11px;
     color: var(--text3);
     margin-top: 2px;
   }

   /* TESTIMONIALS SLIDE */
   .ts-slider-outer {
     position: relative;
     overflow: hidden;
   }

   .ts-slider-track {
     display: flex;
     gap: 24px;
     transition: transform .52s cubic-bezier(.16, 1, .3, 1);
     will-change: transform;
   }

   .testi-card {
     flex: 0 0 calc(33.333% - 16px);
     overflow: hidden;
     position: relative;
   }

   /* Slider chrome */
   .slider-header {
     display: flex;
     align-items: flex-end;
     justify-content: space-between;
     margin-bottom: 28px;
     flex-wrap: wrap;
     gap: 16px;
   }

   .slider-nav-row {
     display: flex;
     align-items: center;
     gap: 16px;
   }

   .slider-arrows {
     display: flex;
     gap: 10px;
   }

   .s-arrow {
     width: 44px;
     height: 44px;
     border-radius: 50%;
     border: 1.5px solid var(--border);
     background: var(--bg-card);
     color: var(--text);
     font-size: 1.2rem;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: var(--transition);
   }

   .s-arrow:hover:not([disabled]) {
     border-color: var(--accent);
     color: var(--accent);
     background: rgba(249, 115, 22, .08);
   }

   .s-arrow[disabled] {
     opacity: .3;
     cursor: not-allowed;
   }

   .slider-dots-row {
     display: flex;
     gap: 8px;
     margin-top: 24px;
     justify-content: center;
   }

   .s-dot {
     width: 8px;
     height: 8px;
     border-radius: 50%;
     background: var(--border);
     border: none;
     cursor: pointer;
     transition: var(--transition);
     padding: 0;
   }

   .s-dot.active {
     background: var(--accent);
     transform: scale(1.4);
   }

   .ts-slider-dots-row {
     display: flex;
     gap: 8px;
     margin-top: 24px;
     justify-content: center;
   }

   .t-dot {
     width: 8px;
     height: 8px;
     border-radius: 50%;
     background: var(--border);
     border: none;
     cursor: pointer;
     transition: var(--transition);
     padding: 0;
   }

   .t-dot.active {
     background: var(--accent);
     transform: scale(1.4);
   }

   /* ── Blog cards ── */
   .blog-hc {
     background: var(--bg-card);
     border: 1px solid var(--border);
     border-radius: var(--radius-lg);
     overflow: hidden;
     transition: var(--transition);
     display: block;
   }

   .blog-hc:hover {
     transform: translateY(-8px);
     border-color: var(--border-h);
     box-shadow: var(--shadow-md);
   }

   .blog-hc-thumb {
     height: 180px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 4.5rem;
     overflow: hidden;
     position: relative;
   }

   .blog-hc-emoji {
     transition: transform .5s cubic-bezier(.34, 1.56, .64, 1);
   }

   .blog-hc:hover .blog-hc-emoji {
     transform: scale(1.2) rotate(-5deg);
   }

   .blog-hc-body {
     padding: 22px;
   }

   .blog-hc-tag {
     display: inline-block;
     padding: 3px 11px;
     border-radius: 999px;
     font-size: 11px;
     font-weight: 700;
     margin-bottom: 10px;
   }

   .blog-hc-title {
     font-family: var(--font-display);
     font-size: 1rem;
     font-weight: 700;
     color: var(--text);
     line-height: 1.45;
     margin-bottom: 10px;
     transition: color .2s;
     letter-spacing: 0.5px;
   }

   .blog-hc:hover .blog-hc-title {
     color: var(--accent);
   }

   .blog-hc-exc {
     font-size: 13px;
     color: var(--text2);
     line-height: 1.65;
     margin-bottom: 16px;
   }

   .blog-hc-foot {
     display: flex;
     align-items: center;
     justify-content: space-between;
   }

   .blog-hc-auth {
     display: flex;
     align-items: center;
     gap: 8px;
     font-size: 12px;
     color: var(--text3);
   }

   .blog-hc-av {
     width: 26px;
     height: 26px;
     border-radius: 50%;
     background: linear-gradient(135deg, #f97316, #ec4899);
     color: #fff;
     font-size: 10px;
     font-weight: 700;
     display: flex;
     align-items: center;
     justify-content: center;
   }

   .read-arrow {
     font-size: 13px;
     font-weight: 700;
     color: var(--accent);
     display: inline-flex;
     align-items: center;
     gap: 4px;
     transition: transform .2s;
   }

   .blog-hc:hover .read-arrow {
     transform: translateX(5px);
   }

   /* ── Partner marquee (bottom) ── */
   .partner-marquee {
     display: flex;
     width: max-content;
     animation: marquee 32s linear infinite;
   }

   .partner-marquee:hover {
     animation-play-state: paused;
   }

   .p-logo-pill {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     margin: 0 14px;
     padding: 14px 26px;
     border-radius: var(--radius-md);
     border: 1px solid var(--border);
     background: var(--bg-card);
     font-family: var(--font-display);
     font-weight: 700;
     font-size: 14px;
     color: var(--text3);
     white-space: nowrap;
     flex-shrink: 0;
     transition: var(--transition);
     cursor: default;
   }

   .p-logo-pill:hover {
     border-color: var(--accent);
     color: var(--accent);
     transform: translateY(-4px);
     box-shadow: var(--shadow-sm);
   }

   /* ═══════════════════════════════════════════════════
       RESOURCE HUB PREVIEW SECTION
    ═══════════════════════════════════════════════════ */
   .rh-preview-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 20px;
     margin-bottom: 48px;
   }

   .rh-preview-card {
     background: var(--bg-card);
     border: 1px solid var(--border);
     border-radius: 20px;
     padding: 26px;
     display: flex;
     flex-direction: column;
     gap: 16px;
     transition: var(--transition);
     position: relative;
     overflow: hidden;
   }

   .rh-preview-card::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 3px;
     background: linear-gradient(90deg, var(--accent), #ec4899);
     transform: scaleX(0);
     transform-origin: left;
     transition: transform .4s cubic-bezier(.16, 1, .3, 1);
   }

   .rh-preview-card:hover {
     transform: translateY(-7px);
     border-color: var(--border-h);
     box-shadow: var(--shadow-md);
   }

   .rh-preview-card:hover::after {
     transform: scaleX(1);
   }

   .rh-preview-icon-wrap {
     width: 52px;
     height: 52px;
     border-radius: 14px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
   }

   .rh-preview-icon {
     font-size: 1.7rem;
   }

   .rh-preview-body {
     flex: 1;
   }

   .rh-preview-title {
     font-family: var(--font-display);
     font-size: 1.05rem;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 8px;
   }

   .rh-preview-desc {
     font-size: 13px;
     color: var(--text2);
     line-height: 1.7;
     margin-bottom: 12px;
   }

   .rh-preview-chips {
     display: flex;
     flex-wrap: wrap;
     gap: 6px;
   }

   .rh-chip-mini {
     padding: 3px 10px;
     border-radius: 999px;
     font-size: 11px;
     font-weight: 600;
     background: var(--bg2);
     border: 1px solid var(--border);
     color: var(--text3);
     transition: var(--transition);
   }

   .rh-preview-card:hover .rh-chip-mini {
     border-color: rgba(249, 115, 22, .3);
     color: var(--accent);
     background: rgba(249, 115, 22, .06);
   }

   .rh-preview-dl {
     font-size: 12px;
     font-weight: 700;
     color: var(--accent);
     padding: 8px 14px;
     border-radius: 10px;
     background: rgba(249, 115, 22, .08);
     border: 1px solid rgba(249, 115, 22, .18);
     text-align: center;
     transition: var(--transition);
   }

   .rh-preview-card:hover .rh-preview-dl {
     background: rgba(249, 115, 22, .14);
   }

   /* Bottom stats + CTA */
   .rh-preview-bottom {
     display: flex;
     align-items: center;
     justify-content: space-between;
     flex-wrap: wrap;
     gap: 24px;
     padding: 28px 32px;
     background: var(--bg-card);
     border: 1px solid var(--border);
     border-radius: 20px;
   }

   .rh-stats-row {
     display: flex;
     gap: 36px;
     flex-wrap: wrap;
   }

   .rh-stat-item {
     display: flex;
     flex-direction: column;
     gap: 3px;
   }

   .rh-stat-val {
     font-family: var(--font-display);
     font-size: 1.7rem;
     font-weight: 700;
     color: var(--accent);
     line-height: 1;
   }

   .rh-stat-lbl {
     font-size: 12px;
     color: var(--text3);
   }

   @media (max-width: 900px) {
     .rh-preview-grid {
       grid-template-columns: repeat(2, 1fr);
     }
   }

   @media (max-width: 560px) {
     .rh-preview-grid {
       grid-template-columns: 1fr;
     }

     .rh-preview-bottom {
       flex-direction: column;
       align-items: flex-start;
     }
   }

   /* ════════════════════════════════════════════════════════
       FREE WEEKEND CLASS SECTION
    ════════════════════════════════════════════════════════ */
   .wknd-section {
     position: relative;
     padding: 110px 0;
     overflow: hidden;
     background: var(--bg);
   }

   /* Background */
   .wknd-bg {
     position: absolute;
     inset: 0;
     pointer-events: none;
     z-index: 0;
   }

   .wknd-orb {
     position: absolute;
     border-radius: 50%;
     filter: blur(80px);
     pointer-events: none;
   }

   .wknd-orb-1 {
     width: 700px;
     height: 700px;
     top: -20%;
     right: -15%;
     background: radial-gradient(circle, rgba(249, 115, 22, .13) 0%, transparent 65%);
     animation: worbFloat1 14s ease-in-out infinite alternate;
   }

   .wknd-orb-2 {
     width: 500px;
     height: 500px;
     bottom: -15%;
     left: -8%;
     background: radial-gradient(circle, rgba(168, 85, 247, .10) 0%, transparent 65%);
     animation: worbFloat2 18s ease-in-out infinite alternate;
   }

   .wknd-orb-3 {
     width: 350px;
     height: 350px;
     top: 40%;
     left: 42%;
     background: radial-gradient(circle, rgba(6, 182, 212, .08) 0%, transparent 65%);
     animation: worbFloat3 10s ease-in-out infinite alternate;
   }

   @keyframes worbFloat1 {
     0% {
       transform: translate(0, 0) scale(1)
     }

     100% {
       transform: translate(-25px, 20px) scale(1.05)
     }
   }

   @keyframes worbFloat2 {
     0% {
       transform: translate(0, 0) scale(1)
     }

     100% {
       transform: translate(20px, -15px) scale(1.04)
     }
   }

   @keyframes worbFloat3 {
     0% {
       transform: translate(0, 0) scale(1)
     }

     100% {
       transform: translate(-12px, 18px) scale(1.08)
     }
   }

   .wknd-grid {
     position: absolute;
     inset: 0;
     opacity: .028;
     background-image:
       linear-gradient(var(--text) 1px, transparent 1px),
       linear-gradient(90deg, var(--text) 1px, transparent 1px);
     background-size: 52px 52px;
   }

   /* Animated sweeping lines */
   .wknd-lines {
     position: absolute;
     inset: 0;
     overflow: hidden;
   }

   .wknd-line {
     position: absolute;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(249, 115, 22, .4), transparent);
     width: 60%;
   }

   .wknd-line-1 {
     top: 28%;
     left: -60%;
     animation: lineSwipe 8s ease-in-out 0s infinite;
   }

   .wknd-line-2 {
     top: 55%;
     left: -60%;
     animation: lineSwipe 8s ease-in-out 2.5s infinite;
   }

   .wknd-line-3 {
     top: 75%;
     left: -60%;
     animation: lineSwipe 8s ease-in-out 5s infinite;
     opacity: .5;
   }

   @keyframes lineSwipe {
     0% {
       left: -60%
     }

     50% {
       left: 110%
     }

     100% {
       left: 110%
     }
   }

   /* Layout */
   .wknd-inner {
     position: relative;
     z-index: 1;
     display: grid;
     grid-template-columns: 1fr 480px;
     gap: 72px;
     align-items: center;
   }

   /* ── Left panel ── */
   .wknd-live-badge {
     display: inline-flex;
     align-items: center;
     gap: 9px;
     padding: 7px 18px;
     border-radius: 999px;
     border: 1px solid rgba(34, 197, 94, .3);
     background: rgba(34, 197, 94, .08);
     color: #22c55e;
     font-size: 12px;
     font-weight: 700;
     letter-spacing: .08em;
     text-transform: uppercase;
     margin-bottom: 24px;
   }

   .wknd-live-dot {
     width: 8px;
     height: 8px;
     border-radius: 50%;
     background: #22c55e;
     flex-shrink: 0;
     box-shadow: 0 0 0 0 rgba(34, 197, 94, .6);
     animation: wlivePulse 1.4s ease-out infinite;
   }

   @keyframes wlivePulse {
     0% {
       box-shadow: 0 0 0 0 rgba(34, 197, 94, .6);
     }

     70% {
       box-shadow: 0 0 0 9px rgba(34, 197, 94, 0);
     }

     100% {
       box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
     }
   }

   .wknd-title {
     font-family: var(--font-display);
     font-size: clamp(2.4rem, 5vw, 4rem);
     font-weight: 700;
     line-height: 1.08;
     color: var(--text);
     margin-bottom: 20px;
     letter-spacing: -.03em;
   }

   .wknd-sub {
     font-size: 1.05rem;
     color: var(--text2);
     line-height: 1.75;
     margin-bottom: 40px;
     max-width: 500px;
   }

   /* Feature grid */
   .wknd-features {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 16px;
     margin-bottom: 36px;
   }

   .wknd-feat {
     display: flex;
     align-items: flex-start;
     gap: 12px;
     padding: 16px 18px;
     background: var(--bg-card);
     border: 1px solid var(--border);
     border-radius: 14px;
     transition: var(--transition);
   }

   .wknd-feat:hover {
     border-color: rgba(249, 115, 22, .35);
     transform: translateY(-3px);
     box-shadow: 0 8px 24px rgba(249, 115, 22, .08);
   }

   .wknd-feat-icon {
     font-size: 1.5rem;
     flex-shrink: 0;
     line-height: 1;
     margin-top: 2px;
   }

   .wknd-feat-title {
     font-family: var(--font-display);
     font-size: 13px;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 3px;
   }

   .wknd-feat-sub {
     font-size: 12px;
     color: var(--text3);
   }

   /* Schedule strip */
   .wknd-schedule {
     background: var(--bg-card);
     border: 1px solid var(--border);
     border-radius: 16px;
     padding: 20px 22px;
     margin-bottom: 28px;
   }

   .wknd-schedule-label {
     font-size: 11px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .1em;
     color: var(--text3);
     margin-bottom: 14px;
   }

   .wknd-schedule-row {
     display: flex;
     flex-direction: column;
     gap: 12px;
   }

   .wknd-sched-item {
     display: flex;
     align-items: center;
     gap: 12px;
   }

   .wknd-sched-dot {
     width: 10px;
     height: 10px;
     border-radius: 50%;
     flex-shrink: 0;
   }

   .wknd-sched-title {
     font-family: var(--font-display);
     font-size: 13px;
     font-weight: 600;
     color: var(--text);
     margin-bottom: 2px;
   }

   .wknd-sched-meta {
     font-size: 11px;
     color: var(--text3);
   }

   /* Social proof */
   .wknd-social-proof {
     display: flex;
     align-items: center;
     gap: 16px;
   }

   .wknd-avatars {
     display: flex;
   }

   .wknd-av {
     width: 38px;
     height: 38px;
     border-radius: 50%;
     border: 2px solid var(--bg);
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     font-weight: 700;
     font-size: 13px;
     margin-left: -10px;
     transition: transform .2s;
   }

   .wknd-avatars:hover .wknd-av {
     margin-left: -4px;
   }

   .wknd-av:first-child {
     margin-left: 0;
   }

   .wknd-av-more {
     background: var(--bg-card);
     border: 2px solid var(--border);
     color: var(--text2);
     font-size: 11px;
   }

   .wknd-proof-text {
     font-size: 14px;
     color: var(--text2);
   }

   .wknd-proof-text strong {
     color: var(--text);
     font-weight: 700;
   }

   .wknd-proof-stars {
     color: #fbbf24;
     font-size: 12px;
     margin-top: 3px;
   }

   .wknd-proof-stars span {
     color: var(--text3);
   }

   /* ── Form card ── */
   .wknd-right {
     position: relative;
   }

   .wknd-form-card {
     background: var(--bg-card);
     border: 1px solid var(--border);
     border-radius: 24px;
     overflow: hidden;
     box-shadow: var(--shadow-lg), 0 0 60px rgba(249, 115, 22, .07);
     position: relative;
   }

   .wknd-form-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 4px;
     background: linear-gradient(90deg, #f97316, #ec4899, #a855f7, #06b6d4);
     background-size: 300% 100%;
     animation: gradShift 5s ease infinite;
   }

   /* Form header */
   .wknd-form-header {
     padding: 32px 32px 24px;
     border-bottom: 1px solid var(--border);
     text-align: center;
     background: linear-gradient(180deg, rgba(249, 115, 22, .04) 0%, transparent 100%);
   }

   .wknd-form-icon {
     font-size: 2.8rem;
     margin-bottom: 10px;
   }

   .wknd-form-title {
     font-family: var(--font-display);
     font-size: 1.4rem;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 6px;
   }

   .wknd-form-sub {
     font-size: 13px;
     color: var(--text2);
     margin-bottom: 20px;
   }

   /* Countdown inside form */
   .wknd-countdown {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 6px;
   }

   .wknd-cd-box {
     text-align: center;
     padding: 8px 12px;
     background: var(--bg2);
     border: 1px solid var(--border);
     border-radius: 10px;
     min-width: 54px;
   }

   .wknd-cd-num {
     font-family: var(--font-display);
     font-size: 1.5rem;
     font-weight: 700;
     color: var(--accent);
     display: block;
     line-height: 1;
   }

   .wknd-cd-lbl {
     font-size: 9px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .08em;
     color: var(--text3);
   }

   .wknd-cd-sep {
     font-size: 1.2rem;
     font-weight: 700;
     color: var(--accent);
     opacity: .5;
     line-height: 1;
     margin-top: -8px;
   }

   /* Form body */
   .wknd-form-body {
     padding: 28px 32px 24px;
   }

   /* Step indicator */
   .wknd-steps {
     display: flex;
     align-items: center;
     margin-bottom: 28px;
   }

   .wknd-step {
     display: flex;
     align-items: center;
     gap: 7px;
     flex-shrink: 0;
   }

   .wknd-step-num {
     width: 28px;
     height: 28px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 12px;
     font-weight: 700;
     background: var(--bg2);
     border: 2px solid var(--border);
     color: var(--text3);
     transition: all .3s;
   }

   .wknd-step.active .wknd-step-num,
   .wknd-step.done .wknd-step-num {
     background: var(--accent);
     border-color: var(--accent);
     color: #fff;
   }

   .wknd-step.done .wknd-step-num::after {
     content: '✓';
   }

   .wknd-step.done .wknd-step-num {
     font-size: 0;
   }

   .wknd-step.done .wknd-step-num::after {
     font-size: 12px;
   }

   .wknd-step-lbl {
     font-size: 12px;
     font-weight: 600;
     color: var(--text3);
     transition: color .3s;
     white-space: nowrap;
   }

   .wknd-step.active .wknd-step-lbl {
     color: var(--accent);
   }

   .wknd-step.done .wknd-step-lbl {
     color: var(--text2);
   }

   .wknd-step-line {
     flex: 1;
     height: 2px;
     margin: 0 8px;
     background: var(--border);
     border-radius: 2px;
     transition: background .4s;
   }

   .wknd-step-line.done {
     background: var(--accent);
   }

   /* Step panels */
   .wknd-step-panel {
     display: none;
     animation: panelSlideIn .35s cubic-bezier(.16, 1, .3, 1);
   }

   .wknd-step-panel.active {
     display: block;
   }

   @keyframes panelSlideIn {
     from {
       opacity: 0;
       transform: translateX(20px);
     }

     to {
       opacity: 1;
       transform: translateX(0);
     }
   }

   /* Fields */
   .wknd-field-group {
     display: flex;
     flex-direction: column;
     gap: 16px;
     margin-bottom: 22px;
   }

   .wknd-field {
     display: flex;
     flex-direction: column;
     gap: 6px;
   }

   .wknd-label {
     font-size: 13px;
     font-weight: 600;
     color: var(--text2);
   }

   .req {
     color: var(--accent);
   }

   .wknd-input-wrap {
     position: relative;
   }

   .wknd-input-icon {
     position: absolute;
     left: 14px;
     top: 50%;
     transform: translateY(-50%);
     font-size: 15px;
     pointer-events: none;
   }

   .wknd-input {
     width: 100%;
     padding: 12px 14px 12px 42px;
     border-radius: 12px;
     border: 1.5px solid var(--border);
     background: var(--bg2);
     color: var(--text);
     font-size: 14px;
     font-family: var(--font-body);
     outline: none;
     transition: border-color .2s, box-shadow .2s;
   }

   .wknd-input:focus {
     border-color: var(--accent);
     box-shadow: 0 0 0 3px rgba(249, 115, 22, .12);
   }

   .wknd-input.error {
     border-color: #ef4444;
   }

   .wknd-input::placeholder {
     color: var(--text3);
   }

   .wknd-select {
     appearance: none;
     cursor: pointer;
   }

   .wknd-error {
     font-size: 11px;
     color: #ef4444;
     height: 14px;
     display: block;
   }

   /* Class options */
   .wknd-pick-label {
     font-size: 13px;
     font-weight: 600;
     color: var(--text2);
     margin-bottom: 14px;
   }

   .wknd-class-options {
     display: flex;
     flex-direction: column;
     gap: 10px;
     margin-bottom: 8px;
   }

   .wknd-class-opt {
     cursor: pointer;
   }

   .wknd-class-opt-inner {
     display: flex;
     align-items: center;
     gap: 14px;
     padding: 14px 16px;
     border: 1.5px solid var(--border);
     border-radius: 14px;
     background: var(--bg2);
     transition: all .25s;
   }

   .wknd-class-opt:hover .wknd-class-opt-inner {
     border-color: var(--accent);
     background: rgba(249, 115, 22, .04);
   }

   .wknd-class-opt.selected .wknd-class-opt-inner {
     border-color: var(--accent);
     background: rgba(249, 115, 22, .08);
     box-shadow: 0 0 0 3px rgba(249, 115, 22, .12);
   }

   .wknd-class-day {
     width: 44px;
     height: 44px;
     border-radius: 10px;
     background: linear-gradient(135deg, #f97316, #ec4899);
     color: #fff;
     font-family: var(--font-display);
     font-size: 11px;
     font-weight: 700;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
   }

   .wknd-class-name {
     font-family: var(--font-display);
     font-size: 13px;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 3px;
   }

   .wknd-class-meta {
     font-size: 11px;
     color: var(--text3);
   }

   .wknd-class-check {
     margin-left: auto;
     width: 22px;
     height: 22px;
     border-radius: 50%;
     background: var(--bg-card);
     border: 1.5px solid var(--border);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 11px;
     color: transparent;
     transition: all .25s;
     flex-shrink: 0;
   }

   .wknd-class-opt.selected .wknd-class-check {
     background: var(--accent);
     border-color: var(--accent);
     color: #fff;
   }

   /* Confirm box */
   .wknd-confirm-box {
     background: var(--bg2);
     border: 1px solid var(--border);
     border-radius: 16px;
     padding: 22px;
     margin-bottom: 20px;
   }

   .wknd-confirm-title {
     font-family: var(--font-display);
     font-size: 1rem;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 14px;
   }

   .wknd-confirm-summary {
     font-size: 13px;
     color: var(--text2);
     margin-bottom: 16px;
     line-height: 1.65;
     padding: 12px 14px;
     border-radius: 10px;
     background: rgba(249, 115, 22, .06);
     border: 1px solid rgba(249, 115, 22, .15);
   }

   .wknd-confirm-perks {
     display: flex;
     flex-direction: column;
     gap: 7px;
   }

   .wknd-perk {
     font-size: 13px;
     color: var(--text2);
   }

   /* Buttons */
   .wknd-next-btn {
     width: 100%;
     padding: 15px 24px;
     border-radius: 14px;
     border: none;
     background: linear-gradient(135deg, #f97316, #ec4899);
     color: #fff;
     font-family: var(--font-display);
     font-size: 15px;
     font-weight: 700;
     cursor: pointer;
     transition: all .3s;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     box-shadow: 0 6px 24px rgba(249, 115, 22, .3);
   }

   .wknd-next-btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 10px 32px rgba(249, 115, 22, .4);
   }

   .wknd-btn-arrow {
     transition: transform .2s;
     display: inline-block;
   }

   .wknd-next-btn:hover .wknd-btn-arrow {
     transform: translateX(4px);
   }

   .wknd-btn-row {
     display: flex;
     gap: 10px;
   }

   .wknd-btn-row .wknd-next-btn {
     flex: 1;
   }

   .wknd-back-btn {
     padding: 14px 20px;
     border-radius: 14px;
     border: 1.5px solid var(--border);
     background: transparent;
     color: var(--text2);
     font-size: 14px;
     font-weight: 600;
     cursor: pointer;
     transition: var(--transition);
   }

   .wknd-back-btn:hover {
     border-color: var(--accent);
     color: var(--accent);
   }

   .wknd-submit-btn {
     flex: 1;
     padding: 15px 24px;
     border-radius: 14px;
     border: none;
     background: linear-gradient(135deg, #22c55e, #06b6d4);
     color: #fff;
     font-family: var(--font-display);
     font-size: 15px;
     font-weight: 700;
     cursor: pointer;
     transition: all .3s;
     box-shadow: 0 6px 24px rgba(34, 197, 94, .3);
   }

   .wknd-submit-btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 10px 32px rgba(34, 197, 94, .4);
   }

   .wknd-spinner {
     display: inline-block;
     width: 14px;
     height: 14px;
     border: 2px solid rgba(255, 255, 255, .4);
     border-top-color: #fff;
     border-radius: 50%;
     animation: wSpin .7s linear infinite;
     margin-right: 6px;
     vertical-align: middle;
   }

   @keyframes wSpin {
     to {
       transform: rotate(360deg);
     }
   }

   /* Success state */
   .wknd-success {
     padding: 40px 32px 32px;
     text-align: center;
   }

   .wknd-success-icon {
     font-size: 4rem;
     margin-bottom: 14px;
     animation: wSuccessBounce .6s cubic-bezier(.34, 1.56, .64, 1);
   }

   @keyframes wSuccessBounce {
     0% {
       transform: scale(0)
     }

     100% {
       transform: scale(1)
     }
   }

   .wknd-success-title {
     font-family: var(--font-display);
     font-size: 1.6rem;
     font-weight: 700;
     color: var(--text);
     margin-bottom: 10px;
   }

   .wknd-success-sub {
     font-size: 14px;
     color: var(--text2);
     line-height: 1.7;
     margin-bottom: 16px;
   }

   .wknd-success-details {
     background: rgba(34, 197, 94, .08);
     border: 1px solid rgba(34, 197, 94, .2);
     border-radius: 12px;
     padding: 14px 18px;
     font-size: 13px;
     color: var(--text2);
     text-align: left;
     line-height: 1.7;
   }

   /* Seat meter */
   .wknd-seat-meter {
     padding: 14px 24px 18px;
     border-top: 1px solid var(--border);
   }

   .wknd-seat-text {
     font-size: 12px;
     color: var(--text3);
     margin-bottom: 8px;
     display: flex;
     align-items: center;
     gap: 5px;
   }

   .wknd-seat-bold {
     color: var(--accent);
     font-weight: 700;
   }

   .wknd-seat-bar {
     height: 5px;
     border-radius: 999px;
     background: var(--bg2);
     overflow: hidden;
   }

   .wknd-seat-fill {
     height: 100%;
     border-radius: 999px;
     background: linear-gradient(90deg, #f97316, #ec4899);
     transition: width 1.2s cubic-bezier(.16, 1, .3, 1);
   }

   .wknd-step.active .wknd-step-num {
     background: var(--accent);
     color: #fff;
   }

   .wknd-class-opt.active {
     border: 2px solid var(--accent);
     transform: scale(1.02);
   }

   @media (max-width:1024px) {
     .wknd-inner {
       grid-template-columns: 1fr;
       gap: 48px;
     }

     .wknd-right {
       max-width: 540px;
       margin: 0 auto;
       width: 100%;
     }
   }

   @media (max-width:640px) {
     .wknd-section {
       padding: 80px 0;
     }

     .wknd-features {
       grid-template-columns: 1fr;
     }

     .wknd-form-header {
       padding: 24px 20px 18px;
     }

     .wknd-form-body {
       padding: 20px 20px 18px;
     }

     .wknd-success {
       padding: 30px 20px;
     }

     .wknd-seat-meter {
       padding: 14px 20px 16px;
     }

     .wknd-countdown {
       gap: 4px;
     }

     .wknd-cd-box {
       min-width: 44px;
       padding: 6px 8px;
     }

     .wknd-cd-num {
       font-size: 1.2rem;
     }
   }

   @media(max-width:900px) {
     .hero-inner {
       grid-template-columns: 1fr;
     }

     .ev-card {
       flex: 0 0 calc(80% - 12px);
     }

     .testi-card {
       flex: 0 0 calc(80% - 12px);
     }
   }

   @media(max-width:600px) {
     .ev-card {
       flex: 0 0 90%;
     }

     .testi-card {
       flex: 0 0 90%;
     }
   }


   .wknd-step.active .wknd-step-num {
     background: var(--accent);
     color: #fff;
   }

   .wknd-class-opt.active {
     border: 2px solid var(--accent);
     transform: scale(1.02);
   }