.programs-page{min-height:100vh;background:var(--bg-secondary)}.programs-section{max-width:1100px;margin-left:auto;margin-right:auto}.category-menu{margin-bottom:32px}.category-menu-title{font-size:1rem;font-weight:700;font-family:var(--font-data);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:16px}.category-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.category-tile{display:flex;align-items:center;justify-content:center;min-height:72px;padding:16px 20px;background:white;border:2px solid rgba(74,159,212,.12);border-radius:var(--radius-lg);font-family:var(--font-main);font-weight:700;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:all .3s var(--bezier-kinetic);text-align:center;box-shadow:0 2px 8px rgba(10,20,32,.04)}.category-tile:hover{border-color:var(--mpact-orange);color:var(--mpact-orange);transform:translateY(-2px);box-shadow:0 8px 20px rgba(10,20,32,.08)}.category-tile.active{background:var(--mpact-navy);color:white;border-color:var(--mpact-navy);box-shadow:0 4px 16px rgba(10,20,32,.2)}.category-tile.active:hover{background:var(--mpact-orange);border-color:var(--mpact-orange);color:white}.category-tile-label{line-height:1.2}.drilldown-panel{background:white;border-radius:var(--radius-xl);border:1px solid rgba(74,159,212,.08);padding:24px 28px 32px;margin-top:8px}.drilldown-header{margin-bottom:20px}.back-to-categories{display:inline-flex;align-items:center;gap:4px;padding:6px 0;margin-bottom:8px;background:none;border:none;font-family:var(--font-main);font-size:.85rem;font-weight:600;color:var(--mpact-blue);cursor:pointer;transition:color .2s,transform .2s var(--bezier-kinetic)}.back-to-categories:hover{color:var(--mpact-orange);transform:translateX(-2px)}.drilldown-category-name{font-size:1.35rem;font-weight:800;font-family:var(--font-main);color:var(--text-primary);letter-spacing:-.3px;margin:0}.programs-prompt{text-align:center;font-size:.95rem;color:var(--text-muted);padding:16px 20px 0;margin:0}.programs-page>section:first-of-type:has(.programs-prompt){padding-bottom:20px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filter-btn{padding:10px 20px;background:white;border:1px solid rgba(74,159,212,.1);border-radius:100px;font-family:var(--font-main);font-weight:600;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:all .3s var(--bezier-kinetic)}.filter-btn:hover{border-color:var(--mpact-orange);color:var(--mpact-orange)}.filter-btn.active{background:var(--mpact-orange);color:white;border-color:var(--mpact-orange)}.secondary-filters{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:28px;padding:14px 18px;background:white;border-radius:var(--radius-lg);border:1px solid rgba(74,159,212,.06)}.filter-group{display:flex;align-items:center;gap:6px}.filter-label{font-family:var(--font-data);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-right:4px}.pill-btn{padding:6px 14px;background:var(--bg-secondary);border:1px solid transparent;border-radius:100px;font-family:var(--font-main);font-size:.78rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .25s var(--bezier-kinetic)}.pill-btn:hover{border-color:var(--mpact-blue);color:var(--mpact-blue)}.pill-btn.active{background:var(--mpact-navy);color:white;border-color:var(--mpact-navy)}.age-filter-group{display:flex;align-items:center;gap:6px}.age-filter-group .filter-label{font-family:var(--font-data);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-right:4px}.age-filter-group .pill-btn{padding:6px 14px;background:var(--bg-secondary);border:1px solid transparent;border-radius:100px;font-size:.78rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .25s var(--bezier-kinetic)}.age-filter-group .pill-btn:hover{border-color:var(--mpact-blue);color:var(--mpact-blue)}.age-filter-group .pill-btn.active{background:var(--mpact-navy);color:white;border-color:var(--mpact-navy)}.age-group-section{margin-bottom:40px}.age-group-section:last-child{margin-bottom:0}.age-group-header{font-size:1.3rem;font-weight:800;font-family:var(--font-main);color:var(--text-primary);letter-spacing:-.4px;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--mpact-orange);display:inline-block}.programs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.program-card{background:white;border-radius:var(--radius-xl);overflow:hidden;border:1px solid rgba(74,159,212,.08);transition:all .4s var(--bezier-kinetic);cursor:pointer;display:flex;flex-direction:column}.program-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(10,20,32,.1)}.program-card-image-wrap{position:relative;overflow:hidden}.program-card-image{width:100%;aspect-ratio:3/4;max-height:380px;object-fit:cover;object-position:top center;display:block;transition:transform .6s var(--bezier-kinetic)}.program-card-image[src*=logo]{object-fit:contain;object-position:center;background:var(--mpact-navy,#0A1420);padding:32px}.program-card:hover .program-card-image{transform:scale(1.03)}.program-card-info{padding:16px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}.program-card-name{font-size:1rem;font-weight:800;font-family:var(--font-main);color:var(--text-primary);letter-spacing:-.3px;margin:0;line-height:1.3}.program-card-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.program-card-age-badge{background:var(--mpact-orange);color:white}.program-card-age-badge,.program-card-season-pill{display:inline-block;padding:3px 10px;font-size:.68rem;font-weight:700;font-family:var(--font-data);border-radius:100px;letter-spacing:.3px;text-transform:uppercase}.program-card-season-pill{background:rgba(74,159,212,.1);color:var(--mpact-blue)}.program-card-price{font-size:.85rem;color:var(--text-secondary)}.program-card-price strong{font-size:1.1rem;color:var(--text-primary);font-weight:800}.program-card-price span{font-size:.8rem;color:var(--text-muted)}.program-card-price .free-tag{color:var(--status-open)!important;font-weight:800;font-size:.95rem!important}.program-card-actions{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(74,159,212,.06);margin-top:auto;gap:8px}.view-details{font-size:.85rem;font-weight:700;color:var(--mpact-orange);cursor:pointer;transition:transform .2s var(--bezier-kinetic);white-space:nowrap;background:none;border:none;padding:0;font-family:var(--font-main)}.program-card:hover .view-details,.view-details:hover{transform:translateX(4px)}.quick-add-btn{padding:8px 18px;background:var(--mpact-navy);color:white;border:none;border-radius:100px;font-size:.78rem;font-weight:700;font-family:var(--font-main);cursor:pointer;transition:all .3s var(--bezier-kinetic);white-space:nowrap}.quick-add-btn:hover{background:var(--mpact-orange)}.quick-add-btn.added{background:var(--status-open)}.program-card-gender-pill{display:inline-block;padding:3px 10px;font-size:.68rem;font-weight:700;font-family:var(--font-data);border-radius:100px;letter-spacing:.3px;text-transform:uppercase}.program-card-gender-pill.boys{background:rgba(74,159,212,.12);color:var(--mpact-blue)}.program-card-gender-pill.girls{background:rgba(201,68,160,.12);color:#c944a0}.program-card.girls-card{border-color:rgba(201,68,160,.18)}.program-card.girls-card:hover{box-shadow:0 16px 36px rgba(201,68,160,.12)}.program-card.girls-card .program-card-image-wrap:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#c944a0,#e874c4)}.program-card.girls-card .program-card-age-badge{background:#c944a0}.program-card.girls-card .view-details{color:#c944a0}.program-card.girls-card .quick-add-btn{background:#c944a0}.program-card.girls-card .quick-add-btn:hover{background:#b03688}.inquire-tag{color:var(--mpact-orange)!important;font-weight:800;font-size:.95rem!important}.inquire-btn{background:var(--mpact-orange)!important}.inquire-btn:hover{background:#d06a1d!important}.individual-price{font-size:.72rem!important;color:var(--text-muted)!important;display:block;margin-top:2px}.program-card-premium{font-size:.75rem;color:var(--mpact-blue);font-weight:600;font-family:var(--font-data)}.partnership-banner{background:linear-gradient(135deg,var(--mpact-navy) 0,#152d54 100%);border-radius:var(--radius-xl);padding:36px 40px;text-align:center}.partnership-content .section-label{color:var(--mpact-orange)}.partnership-title{font-size:1.6rem;font-weight:800;color:white;margin:8px 0 12px}.partnership-text{font-size:1rem;color:rgba(255,255,255,.8);max-width:600px;margin:0 auto;line-height:1.7}.primo-banner{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#1a2e1a,#2a4a2a);border-radius:var(--radius-xl);padding:24px 28px;margin-top:28px}.primo-banner-logo{width:64px;height:64px;border-radius:12px;object-fit:cover;flex-shrink:0}.primo-banner-info{flex:1;min-width:0}.primo-banner-label{font-family:var(--font-data);font-size:.65rem;font-weight:700;letter-spacing:1.2px;color:#2ecc40;text-transform:uppercase}.primo-banner-name{font-size:1rem;font-weight:800;color:white;margin:4px 0 6px;letter-spacing:-.3px}.primo-banner-text{font-size:.85rem;color:rgba(255,255,255,.75);line-height:1.6;margin:0}@media (max-width:600px){.primo-banner{flex-direction:column;text-align:center;padding:20px}.primo-banner-logo{width:56px;height:56px}}.no-results{text-align:center;padding:60px 20px}.no-results p{font-size:1rem;color:var(--text-muted);margin-bottom:16px}@media (max-width:900px){.programs-grid{grid-template-columns:repeat(2,1fr)}.secondary-filters{gap:14px}}@media (max-width:600px){.category-tiles{grid-template-columns:repeat(2,1fr);gap:10px}.category-tile{min-height:64px;padding:12px 14px;font-size:.82rem}.drilldown-panel{padding:18px 16px 24px}.programs-grid{grid-template-columns:1fr;gap:16px}.program-card-image{max-height:420px}.secondary-filters{flex-direction:column;gap:12px;padding:12px 14px}.filter-bar{gap:6px}.filter-btn{padding:8px 14px;font-size:.78rem}.age-filter-group .pill-btn,.pill-btn{padding:5px 12px;font-size:.74rem}.program-card-actions{flex-wrap:wrap;gap:10px}.age-group-header{font-size:1.15rem}}