
:root{--ring:0 0% 0%}
.nav-link{color:#0f172a;opacity:.8}
.nav-link:hover{opacity:1}
.nav-link.active{opacity:1;font-weight:600}
.nav-link.dark{color:#e2e8f0}
.nav-link.dark:hover{color:#fff}
.section-title{font-size:1.875rem;line-height:2.25rem;font-weight:800;color:#0f172a}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:0.75rem;padding:1rem}
.card-title{font-weight:700;margin-top:.25rem;margin-bottom:.25rem}
.icon{font-size:1.25rem;display:inline-flex;align-items:center;justify-content:center;height:2.5rem;width:2.5rem;border-radius:.75rem;background:#f1f5f9}
.icon.indigo{background:rgba(99,102,241,.12);color:#4f46e5}
.icon.fuchsia{background:rgba(217,70,239,.12);color:#a21caf}
.icon.pink{background:rgba(236,72,153,.12);color:#be185d}
.icon.emerald{background:rgba(16,185,129,.12);color:#047857}
.icon.cyan{background:rgba(6,182,212,.12);color:#0e7490}
.icon.sky{background:rgba(14,165,233,.12);color:#0369a1}
.stat{background:#fff;border:1px solid #e2e8f0;border-radius:0.75rem;padding:1.25rem;text-align:center}
.stat-number{font-weight:800;font-size:1.875rem;color:#0f172a}
.stat-label{color:#475569}
.event-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}
.event-image{height:180px;width:100%;object-fit:cover}
.program{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}
.program-image{height:220px;width:100%;object-fit:cover}
.program-title{font-size:1.25rem;font-weight:700}
.program-list{margin-top:.5rem;list-style:disc;padding-left:1.25rem;color:#475569}
.teacher{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}
.teacher-photo{height:240px;width:100%;object-fit:cover}
.teacher-name{font-weight:800;font-size:1.125rem}
.teacher-role{color:#64748b;font-size:.95rem;margin:.25rem 0}
.teacher-bio{color:#334155}
.review{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.25rem}
.review-text{font-size:1.05rem;color:#0f172a}
.review-author{margin-top:.5rem;color:#475569}
.review-rating{color:#f59e0b}
.blog-card{background:#0f172a;border:1px solid #1f2937;border-radius:.75rem;overflow:hidden}
.blog-image{height:180px;width:100%;object-fit:cover}
.blog-title{font-weight:800;color:#fff}
.blog-excerpt{color:#cbd5e1}
.blog-meta{color:#94a3b8;font-size:.875rem;margin-top:.5rem}
.gallery-img{border-radius:.75rem;object-fit:cover;width:100%;height:220px;border:1px solid rgba(255,255,255,.2)}
.footer-title{font-weight:700;margin-bottom:.5rem}
.footer-link{color:#475569}
.footer-link:hover{text-decoration:underline}
.footer-link.dark{color:#cbd5e1}
.social{display:inline-flex;align-items:center;justify-content:center;height:2rem;padding:0 .6rem;border:1px solid #e2e8f0;border-radius:.5rem;color:#0f172a;background:#fff}
.social.dark{border-color:#475569;color:#e2e8f0;background:#111827}
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;border-radius:.6rem;padding:.6rem 1rem}
.btn-indigo{background:#4f46e5;color:#fff}
.btn-emerald{background:#059669;color:#fff}
.btn-rose{background:#e11d48;color:#fff}
.btn-sky{background:#0284c7;color:#fff}
.btn-purple{background:#7c3aed;color:#fff}
.btn-amber{background:#f59e0b;color:#111827}
.btn-teal{background:#0d9488;color:#fff}
.btn-lime{background:#65a30d;color:#fff}
.btn-violet{background:#7c3aed;color:#fff}
.btn-slate{background:#334155;color:#fff}
.btn-stone{background:#44403c;color:#fff}
.btn-white{background:#fff;color:#0f172a}
.btn-outline{background:#fff;border:1px solid #cbd5e1;color:#0f172a}
.btn-outline-white{background:transparent;border:1px solid rgba(255,255,255,.8);color:#fff}
.btn-ghost{background:transparent;color:#0f172a}
.btn-ghost-white{background:transparent;color:#fff}
.form-label{display:block;font-weight:600;color:#334155;margin-bottom:.25rem}
.form-input{width:100%;border:1px solid #cbd5e1;border-radius:.5rem;padding:.6rem .75rem;background:#fff}
.cookie-banner{position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:48rem;margin:0 auto;background:#0f172a;color:#e2e8f0;border:1px solid #334155;border-radius:.75rem;padding:1rem;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:60}
.cookie-banner.hidden{display:none}
.cookie-content a{text-decoration:underline}
.badge{display:inline-block;background:#0ea5e9;color:#fff;font-size:.75rem;padding:.2rem .5rem;border-radius:.5rem}
.price-card{background:#fff;border:2px solid;border-radius:.9rem;padding:1.1rem;position:relative}
.price-card.featured{box-shadow:0 15px 40px rgba(2,132,199,.15)}
.price-title{font-weight:800}
.price-note{color:#64748b}
.price-amount{font-size:1.75rem;font-weight:900;margin:.5rem 0}
.faq summary{cursor:pointer;font-weight:700}
.prose img{border-radius:.75rem}
