.course-promo-banner{max-width:100%;padding:0;position:relative;overflow:hidden}.promo-banner-bg{position:absolute;inset:0}.promo-banner-bg img{object-fit:cover;opacity:.3;width:100%;height:100%}.promo-banner-overlay{background:linear-gradient(90deg,#0a0a0af2 40%,#0a0a0a80 100%);position:absolute;inset:0}.promo-banner-content{z-index:1;padding:2.5rem 2rem;position:relative}.promo-label{color:var(--color-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem;font-size:.65rem;font-weight:800;display:inline-block}.promo-banner-content h3{margin-bottom:.5rem;font-size:1.5rem;font-weight:900}.promo-banner-content p{color:var(--color-text-muted);max-width:400px;margin-bottom:1.25rem;font-size:.9rem;line-height:1.5}.promo-banner-cta{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.04em;transition:all var(--transition-fast);align-items:center;gap:.4rem;padding:.65rem 1.5rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.promo-banner-cta:hover{background:var(--color-primary-hover);color:#fff;transform:translateY(-1px)}.course-promo-card{color:var(--color-text);transition:all var(--transition-fast);cursor:pointer;align-items:center;gap:1rem;padding:1.25rem 1.5rem;text-decoration:none;display:flex}.course-promo-card:hover{border-color:var(--color-primary);color:var(--color-text);transform:translateY(-2px)}.promo-card-icon{color:var(--color-primary);flex-shrink:0}.promo-card-text{flex:1}.promo-card-text h4{text-transform:none;letter-spacing:0;margin-bottom:.15rem;font-size:1rem}.promo-card-text p{color:var(--color-text-muted);margin:0;font-size:.8rem}.promo-card-arrow{color:var(--color-text-muted);transition:transform var(--transition-fast);flex-shrink:0}.course-promo-card:hover .promo-card-arrow{color:var(--color-primary);transform:translate(4px)}@media (max-width:480px){.promo-banner-content{padding:2rem 1.25rem}.promo-banner-content h3{font-size:1.25rem}}
.onboarding-backdrop{z-index:9999;-webkit-backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;animation:.4s ease-out onb-fadeIn;display:flex;position:fixed;inset:0}@keyframes onb-fadeIn{0%{opacity:0}to{opacity:1}}.onboarding-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;width:100%;max-width:440px;padding:2rem;animation:.45s cubic-bezier(.16,1,.3,1) onb-slideUp}@keyframes onb-slideUp{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.onboarding-badge{border-radius:var(--radius-full);color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;background:#ff33331a;margin-bottom:.75rem;padding:.2rem .6rem;font-size:.65rem;font-weight:800;display:inline-block}.onboarding-title{color:var(--color-text);margin:0 0 .5rem;font-size:1.5rem;font-weight:900;line-height:1.2}.onboarding-desc{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.9rem;line-height:1.5}.onboarding-features{flex-direction:column;gap:1rem;margin-bottom:1.75rem;display:flex}.onboarding-feature{align-items:flex-start;gap:.75rem;display:flex}.onboarding-feature-icon{width:40px;height:40px;color:var(--color-secondary);background:#00e5ff14;border:1px solid #00e5ff26;border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.onboarding-feature-icon.icon-gym{color:var(--color-primary);background:#ff333314;border-color:#ff333326}.onboarding-feature-icon.icon-program{color:var(--color-warning);background:#ffd70014;border-color:#ffd70026}.onboarding-feature h3{color:var(--color-text);margin:0 0 .15rem;font-size:.9rem;font-weight:700}.onboarding-feature p{color:var(--color-text-muted);margin:0;font-size:.8rem;line-height:1.4}.onboarding-cta{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.5rem;width:100%;padding:.8rem 1.5rem;font-size:.9rem;font-weight:700;transition:all .2s}.onboarding-cta:hover{background:#e62e2e;transform:translateY(-1px);box-shadow:0 4px 16px #ff333340}@media (max-width:480px){.onboarding-card{padding:1.5rem}.onboarding-title{font-size:1.3rem}}
.home-page{gap:var(--space-6);flex-direction:column;display:flex;position:relative}.hero-bg{z-index:-1;background:linear-gradient(#0a0a0acc 0%,#0a0a0a 100%),url(/gym-bg.jpg) 50%/cover no-repeat;width:100vw;height:100vh;position:fixed;top:0;left:0}.hero-content{text-align:center;padding:var(--space-5) 0 var(--space-2)}@keyframes heroEntrance{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-entrance{opacity:0;animation:.7s forwards heroEntrance}.hero-entrance.stagger-1{animation-delay:.15s}.hero-entrance.stagger-2{animation-delay:.3s}.hero-title{font-size:var(--font-size-hero);letter-spacing:-1px;margin-bottom:var(--space-2);text-wrap:balance;font-weight:900}.text-primary{color:var(--color-primary)}.hero-subtitle{color:var(--color-text-muted);max-width:600px;margin:0 auto var(--space-4);font-size:clamp(.95rem,2vw,1.15rem);line-height:1.6}.hero-cta-row{justify-content:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.hero-cta-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.5px;transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:.95rem;font-weight:700;display:inline-flex}.hero-cta-primary:hover{background:var(--color-primary-hover);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #ff333340}.hero-cta-secondary{border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.5px;transition:all var(--transition-fast);background:0 0;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:.95rem;font-weight:700;display:inline-flex}.hero-cta-secondary:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.interactive-section{flex-direction:column;align-items:center;width:100%;display:flex}.map-intro{text-align:center;margin-bottom:var(--space-3)}.home-section{padding:0}.section-heading{text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-3);align-items:center;gap:.5rem;font-size:1.3rem;font-weight:900;display:flex}.section-sub{color:var(--color-text-muted);margin-bottom:var(--space-4);margin-top:-.5rem;font-size:.95rem}.section-header-row{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.section-header-row .section-heading{margin-bottom:0}.see-all-link{color:var(--color-primary);transition:all var(--transition-fast);align-items:center;gap:.25rem;font-size:.85rem;font-weight:600;display:flex}.see-all-link:hover{transform:translate(3px)}.category-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}.category-card{color:var(--color-text);will-change:transform;flex-direction:column;gap:.4rem;padding:1.25rem;text-decoration:none;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s;display:flex;position:relative}.category-card:hover{border-color:var(--color-primary);color:var(--color-text);transform:translateY(-6px);box-shadow:0 12px 32px #ff33331f,0 4px 12px #0000004d}.cat-icon{width:38px;height:38px;color:var(--color-primary);background:#ff333314;border:1px solid #ff33331f;border-radius:.5rem;justify-content:center;align-items:center;margin-bottom:.4rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.category-card:hover .cat-icon{transform:scale(1.2)translateY(-2px)}.category-card h3{text-transform:uppercase;margin:0;font-size:1rem;font-weight:800}.category-card p{color:var(--color-text-muted);margin:0;font-size:.8rem}.card-arrow{color:var(--color-text-muted);opacity:0;transition:all .25s cubic-bezier(.16,1,.3,1);position:absolute;top:1rem;right:1rem;transform:translate(-4px)}.category-card:hover .card-arrow{opacity:1;color:var(--color-primary);transform:translate(0)}.mini-card-row{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.mini-card{color:var(--color-text);transition:all var(--transition-fast);flex-direction:column;gap:.3rem;padding:1rem;text-decoration:none;display:flex}.mini-card:hover{border-color:var(--color-primary);color:var(--color-text);transform:translateY(-2px)}.mini-cat{text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);font-size:.65rem;font-weight:700}.mini-card h4{margin:0;font-size:1rem;font-weight:700}.mini-read{color:var(--color-primary);margin-top:auto;font-size:.8rem;font-weight:700}.beginner-cta{border-left:4px solid var(--color-primary);padding:2rem}.beginner-text{max-width:480px}.beginner-badge{text-transform:uppercase;letter-spacing:1px;color:var(--color-primary);align-items:center;gap:.35rem;margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:inline-flex}.beginner-cta h2{margin:0 0 .5rem;font-size:1.4rem;font-weight:900}.beginner-cta p{color:var(--color-text-muted);margin:0 0 1.25rem;line-height:1.6}.beginner-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);text-transform:uppercase;transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:.9rem;font-weight:700;display:inline-flex}.beginner-btn:hover{background:var(--color-primary-hover);color:#fff;transform:translateY(-1px)}.footer-ad{border-bottom:none;border-left:none;border-right:none;border-radius:0;margin-top:auto;margin-bottom:0}@media (max-width:600px){.home-page{gap:var(--space-4)}.hero-content{padding:var(--space-3) 0 var(--space-1)}.hero-title{letter-spacing:-.5px;font-size:clamp(1.6rem,8vw,2.5rem)}.hero-subtitle{font-size:.9rem}.category-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.category-card{padding:1rem}.category-card h3{font-size:.85rem}.category-card p{font-size:.7rem}.mini-card-row{grid-template-columns:1fr}.hero-cta-row{flex-direction:column;align-items:center}.hero-cta-primary,.hero-cta-secondary{justify-content:center;width:100%;max-width:300px}.section-heading{font-size:1.1rem}.section-header-row{align-items:flex-start;gap:var(--space-2);flex-direction:column}.beginner-cta{padding:1.25rem}.beginner-cta h2{font-size:1.15rem}.beginner-cta p{font-size:.85rem}.map-intro h2{font-size:1.1rem}}
