.page-loader{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:40vh;padding:48px 20px;display:flex}.page-loader__spinner{border:3px solid var(--border);border-top-color:var(--saffron);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite page-loader-spin}.page-loader__text{color:var(--text);font-size:.95rem}@keyframes page-loader-spin{to{transform:rotate(360deg)}}.app-shell{background:var(--background);flex-direction:column;min-height:100svh;display:flex}.site-header{z-index:50;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:24px;padding:16px clamp(20px,4vw,48px);display:flex;position:sticky;top:0}.site-logo{font-family:var(--font-display);color:var(--deep-blue);letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.2rem;font-weight:800;text-decoration:none;display:inline-flex}.site-logo__mark{background:var(--gradient-warm);width:2rem;height:2rem;color:var(--primary-foreground);border-radius:.65rem;justify-content:center;align-items:center;font-size:.95rem;font-weight:900;display:inline-flex}.site-logo:focus-visible{outline:2px solid var(--saffron);outline-offset:4px;border-radius:4px}.site-header__actions{align-items:center;gap:12px;display:flex}.site-nav{flex-wrap:wrap;gap:4px;display:flex}.site-nav__link{color:var(--muted-foreground);border-radius:999px;padding:8px 14px;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s}.site-nav__link:hover{background:var(--muted);color:var(--foreground)}.site-nav__link--active{background:var(--accent-bg);color:var(--saffron)}.site-nav__link:focus-visible{outline:2px solid var(--saffron);outline-offset:2px}.site-main{flex:1}.site-footer{background:var(--deep-blue);color:#ffffffe0;text-align:left;padding:48px clamp(20px,4vw,48px) 32px}.site-footer__grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px;margin-bottom:32px;display:grid}.site-footer__brand{font-family:var(--font-display);color:#fff;margin:0 0 8px;font-size:1.15rem;font-weight:800}.site-footer__tagline{color:#ffffffbf;margin:0;line-height:1.6}.site-footer__heading{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--saffron-light);margin:0 0 12px;font-size:.85rem;font-weight:700}.site-footer__links{gap:10px;margin:0;padding:0;list-style:none;display:grid}.site-footer__links a{color:#ffffffd1;font-size:.92rem;text-decoration:none}.site-footer__links a:hover{color:#fff}.site-footer__bottom{color:#ffffffa6;border-top:1px solid #ffffff24;flex-direction:column;gap:8px;padding-top:24px;font-size:.85rem;display:flex}.site-footer__bottom p{margin:0}@media (width<=900px){.site-header{flex-direction:column;align-items:center;gap:12px;padding:14px 20px}.site-header__actions{justify-content:center;width:100%}.site-nav{justify-content:center}.site-footer__grid{grid-template-columns:1fr;gap:24px}}@media (width<=640px){.site-nav{flex-wrap:wrap;gap:6px}.site-nav__link{padding:8px 12px;font-size:.88rem}}.page-shell{text-align:left;padding:48px clamp(20px,4vw,48px) 64px}.page-shell--center{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;display:flex}.page-shell__eyebrow{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--saffron);margin:0 0 8px;font-size:.8rem;font-weight:700}.page-shell__lead{max-width:42rem;color:var(--muted-foreground);margin:0 0 24px;line-height:1.65}.page-shell__button{background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-glow);border:none;border-radius:999px;justify-content:center;align-items:center;padding:12px 22px;font-weight:600;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.page-shell__button:hover{background:var(--saffron-light);transform:translateY(-1px)}.page-shell__button:focus-visible{outline:2px solid var(--deep-blue);outline-offset:2px}.page-shell__button--secondary{color:var(--deep-blue);box-shadow:none;border:2px solid var(--deep-blue);background:0 0}.page-shell__button--secondary:hover{background:var(--light-blue);transform:none}.class-list{gap:16px;margin:0 0 32px;padding:0;list-style:none;display:grid}.class-card{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft);border-radius:16px;padding:24px}.class-card__meta{color:var(--saffron);gap:12px;margin-bottom:8px;font-size:.85rem;font-weight:600;display:flex}.class-card h2{color:var(--deep-blue);margin:0 0 8px;font-size:1.35rem}.class-card p{color:var(--muted-foreground);margin:0}.contact-form{gap:16px;max-width:32rem;display:grid}.contact-form__field{text-align:left;gap:8px;display:grid}.contact-form__field span{color:var(--foreground);font-size:.9rem;font-weight:600}.about-block{margin-bottom:32px}.about-block h2{color:var(--deep-blue);margin:0 0 8px;font-size:1.25rem}.about-block p{color:var(--muted-foreground);margin:0;line-height:1.65}.faq-section{border-top:1px solid var(--border);margin-top:48px;padding-top:32px}.faq-section h2{color:var(--deep-blue);margin:0 0 16px}.faq-section__empty{color:var(--muted-foreground);margin:0;font-style:italic}.faq-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.faq-item{border:1px solid var(--border);background:var(--light-blue);border-radius:12px;padding:20px}.faq-item h3{color:var(--deep-blue);margin:0 0 8px;font-size:1rem}.faq-item p{color:var(--muted-foreground);margin:0;line-height:1.6}.contact-form__field input,.contact-form__field textarea,.contact-form__field select{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);font:inherit;box-sizing:border-box;border-radius:10px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.contact-form__field input:focus-visible,.contact-form__field textarea:focus-visible,.contact-form__field select:focus-visible{border-color:var(--saffron);outline:none;box-shadow:0 0 0 3px #f5802833}.contact-form button{cursor:pointer;justify-self:start}@media (width<=1024px){.page-shell{padding:32px 20px 48px}}:root{--charcoal:#292929;--saffron:#f58028;--saffron-light:#ffb164;--deep-blue:#133f8e;--secondary-blue:#255ebc;--light-blue:#eef6ff;--background:#fff;--foreground:var(--charcoal);--muted:var(--light-blue);--muted-foreground:#4c5666;--border:#e0e5eb;--card:#fff;--card-foreground:var(--charcoal);--primary:var(--saffron);--primary-foreground:#fff;--secondary:var(--deep-blue);--secondary-foreground:#fff;--accent:#203351;--accent-foreground:#fff;--ring:var(--saffron);--gradient-warm:linear-gradient(120deg, var(--saffron) 0%, var(--saffron-light) 100%);--gradient-hero:linear-gradient(135deg, var(--saffron) 0%, var(--deep-blue) 100%);--gradient-cool:linear-gradient(135deg, var(--deep-blue) 0%, var(--secondary-blue) 100%);--shadow-soft:0 4px 24px -8px #133f8e2e;--shadow-glow:0 16px 48px -12px #f5802861;--font-display:"Montserrat", ui-sans-serif, system-ui, sans-serif;--font-sans:"Open Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--text:var(--muted-foreground);--text-h:var(--foreground);--bg:var(--background);--code-bg:var(--light-blue);--accent-bg:#f580281f;--accent-border:#f5802873;--social-bg:var(--light-blue)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:18px/145% var(--font-sans);letter-spacing:.01em;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);margin:0}#root{flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0;display:flex}h1,h2,h3{font-family:var(--font-display);color:var(--text-h);font-weight:700}h1{letter-spacing:-.03em;margin:24px 0;font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.1}h2{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.25rem,2.5vw,1.5rem);line-height:1.2}p{margin:0}code{font-family:var(--font-mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}
