.plans-page{color:#e5e7eb;background:#0f0f0f;min-height:100vh}.plans-hero{text-align:center;background:linear-gradient(#7dc4e814 0%,#0000 100%);padding:5rem 1.5rem 3rem}.plans-hero-inner{max-width:700px;margin:0 auto}.plans-badge{color:#7dc4e8;background:#7dc4e81a;border:1px solid #7dc4e833;border-radius:9999px;margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.8125rem;font-weight:500;display:inline-block}.plans-hero h1{color:#f9fafb;letter-spacing:-.03em;margin:0 0 1rem;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:3rem;font-weight:800;line-height:1.1}.plans-hero-sub{color:#9ca3af;margin:0;font-size:1.125rem;line-height:1.7}@media (max-width:640px){.plans-hero h1{font-size:2rem}.plans-hero{padding:3rem 1rem 2rem}}.plans-filters{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f0f0ff2;border-bottom:1px solid #ffffff0f;padding:0 1.5rem;position:sticky;top:0}.plans-filters-inner{align-items:center;gap:.5rem;max-width:1100px;margin:0 auto;padding:1rem 0;display:flex;overflow-x:auto}.filter-btn{color:#9ca3af;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff1a;border-radius:9999px;align-items:center;gap:.375rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.filter-btn:hover{color:#e5e7eb;border-color:#fff3}.filter-btn.active{color:#0f0f0f;background:#7dc4e8;border-color:#7dc4e8}.filter-icon{font-size:.9375rem}.filter-count{color:#6b7280;white-space:nowrap;margin-left:auto;font-size:.8125rem}.plans-grid-section{padding:2rem 1.5rem 4rem}.plans-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;max-width:1100px;margin:0 auto;display:grid}@media (max-width:640px){.plans-grid{grid-template-columns:1fr;gap:1rem}}.plan-card{cursor:pointer;background:#141414;border:1px solid #ffffff0f;border-radius:1rem;transition:all .2s;overflow:hidden}.plan-card:hover{border-color:#7dc4e84d;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.plan-card-image{width:100%;height:180px;position:relative;overflow:hidden}.plan-card-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s}.plan-card:hover .plan-card-image img{transform:scale(1.05)}.plan-level{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:.375rem;padding:.25rem .6rem;font-size:.6875rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.plan-card-body{padding:1.25rem}.plan-card-body h3{color:#f9fafb;margin:0 0 .5rem;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.25rem;font-weight:700;line-height:1.3}.plan-desc{color:#9ca3af;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 1rem;font-size:.875rem;line-height:1.6;display:-webkit-box;overflow:hidden}.plan-meta{flex-wrap:wrap;gap:.75rem;display:flex}.meta-item{color:#6b7280;font-size:.8125rem}.phase-preview{border-radius:2px;gap:2px;height:4px;margin-top:1rem;display:flex;overflow:hidden}.phase-tick{opacity:.7;border-radius:1px;flex:1}.plan-card:hover .phase-tick{opacity:1}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000c;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:#141414;border:1px solid #ffffff14;border-radius:1.25rem;width:100%;max-width:640px;max-height:90vh;animation:.25s ease-out slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-container::-webkit-scrollbar{width:6px}.modal-container::-webkit-scrollbar-track{background:0 0}.modal-container::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.modal-hero{width:100%;height:220px;position:relative;overflow:hidden}.modal-hero img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.modal-hero-overlay{background:linear-gradient(#1414141a 0%,#14141466 50%,#141414 100%);flex-direction:column;justify-content:flex-end;padding:1.5rem;display:flex;position:absolute;inset:0}.modal-close{color:#fff;cursor:pointer;background:#00000080;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:all .15s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close:hover{background:#000c}.modal-hero-content{flex-direction:column;gap:.5rem;display:flex}.plan-level-modal{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;width:fit-content;padding:.2rem .5rem;font-size:.6875rem;font-weight:700;display:inline-block}.modal-hero-content h2{color:#f9fafb;margin:0;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.75rem;font-weight:800;line-height:1.2}.modal-body{padding:0 1.5rem 1.5rem}.modal-stats{background:#ffffff08;border:1px solid #ffffff0f;border-radius:.75rem;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:1.5rem;display:grid;overflow:hidden}.stat{border-right:1px solid #ffffff0f;flex-direction:column;align-items:center;padding:1rem .5rem;display:flex}.stat:last-child{border-right:none}.stat-value{color:#f9fafb;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.25rem;font-weight:800}.stat-label{color:#6b7280;margin-top:.125rem;font-size:.6875rem}.modal-section{margin-bottom:1.5rem}.modal-desc{color:#d1d5db;margin:0 0 1.5rem;font-size:.9375rem;line-height:1.7}.modal-info-grid{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.modal-info-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:.75rem;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}.info-icon{flex-shrink:0;margin-top:.125rem;font-size:1.25rem}.info-label{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin-bottom:.25rem;font-size:.6875rem;font-weight:600;display:block}.info-value{color:#e5e7eb;font-size:.9375rem;line-height:1.5}.section-title{color:#f9fafb;margin:0 0 1rem;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1rem;font-weight:700}.weekly-timeline{flex-direction:column;gap:.75rem;display:flex}.phase-header{align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.phase-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.phase-name{color:#e5e7eb;font-size:.875rem;font-weight:600}.phase-weeks{color:#6b7280;margin-left:auto;font-size:.75rem}.phase-bar{border-radius:.5rem;flex-direction:column;gap:.25rem;padding:.5rem .75rem;display:flex}.week-row{align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.week-num{color:#9ca3af;flex-shrink:0;width:28px;font-size:.75rem;font-weight:600}.week-info{color:#d1d5db;font-size:.8125rem;line-height:1.4}.week-phase-tag{color:#9ca3af;font-style:italic}.modal-cta-section{text-align:center;padding-top:.5rem}.modal-cta{color:#0f0f0f;background:#7dc4e8;border-radius:.5rem;padding:.875rem 2.5rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-block}.modal-cta:hover{background:#93d1f0;transform:translateY(-1px);box-shadow:0 4px 16px #7dc4e84d}.modal-cta-note{color:#6b7280;margin-top:.625rem;font-size:.8125rem;display:block}.plans-bottom-cta{text-align:center;background:linear-gradient(#0000 0%,#7dc4e80d 100%);padding:4rem 1.5rem 5rem}.plans-bottom-inner{max-width:500px;margin:0 auto}.plans-bottom-cta h2{color:#f9fafb;margin:0 0 .75rem;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.75rem;font-weight:800}.plans-bottom-cta p{color:#9ca3af;margin:0 0 1.5rem;font-size:1rem;line-height:1.7}.cta-button{color:#0f0f0f;background:#7dc4e8;border-radius:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-block}.cta-button:hover{background:#93d1f0;transform:translateY(-2px);box-shadow:0 4px 16px #7dc4e84d}.cta-note{color:#6b7280;margin-top:.75rem;font-size:.8125rem;display:block}@media (max-width:640px){.modal-container{border-radius:1rem 1rem 0 0;max-height:95vh;margin-top:auto}.modal-overlay{align-items:flex-end;padding:0}.modal-hero{height:180px}.modal-stats{grid-template-columns:repeat(2,1fr)}.stat{border-bottom:1px solid #ffffff0f}.stat:nth-child(2){border-right:none}.stat:nth-last-child(-n+2){border-bottom:none}}
