/* tokens & base styles (same as ready build) */
:root{--bg:#0b0c10;--bg-alt:#12141a;--card:#171a23;--ink:#e8edf6;--muted:#a6afc2;--brand:#69e6a6;--ink-inv:#0c1e16;--border:#262b38;--focus:rgba(105,230,166,.2);--radius:16px;--shadow:0 8px 30px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
a{color:inherit;text-decoration:none}.container{width:min(1120px,92vw);margin-inline:auto}.img{max-width:100%;display:block}
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,12,16,.7);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:800}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--brand);color:var(--ink-inv)}.brand-text{letter-spacing:.2px}
.site-nav{display:flex;gap:.5rem;align-items:center;position:relative;flex-wrap:wrap}.nav-link{padding:.5rem .75rem;border-radius:10px;opacity:.9}.nav-link.active{background:var(--card);border:1px solid var(--border)}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}.nav-toggle .bar{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}
@media (max-width:840px){.site-nav{position:fixed;inset:58px 0 auto 0;background:rgba(11,12,16,.95);backdrop-filter:blur(10px);padding:14px;border-bottom:1px solid var(--border);transform:translateY(-120%);transition:.25s}.site-nav.open{transform:none}.nav-toggle{display:block}}
.section{padding:60px 0}.section.alt{background:var(--bg-alt)}.section-head{margin-bottom:20px}.section-head h1,.section-head h2{margin:0 0 6px 0}.lead{color:var(--muted)}
.grid{display:grid;gap:24px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:960px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card .pad{padding:18px 20px}
.placeholder{background:linear-gradient(135deg,#2a2f3d,#1b1f2b);min-height:180px;border-radius:6px}
.btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border);border-radius:12px;padding:.7rem .95rem;background:transparent;color:var(--ink);cursor:pointer}
.btn.primary{background:var(--brand);color:var(--ink-inv);border-color:transparent;font-weight:700}.btn.small{padding:.55rem .8rem;font-size:.95rem}
.meta{display:flex;gap:10px;list-style:none;padding:0;margin:.5rem 0 0 0;color:var(--muted)}
.site-footer{border-top:1px solid var(--border);background:#0a0c11;margin-top:40px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}.footer-nav{display:flex;gap:1rem}
@media (max-width:720px){.footer-inner{flex-direction:column;align-items:flex-start}}
.ratio{position:relative;overflow:hidden}.ratio::before{content:"";display:block}.ratio-16x9::before{padding-top:56.25%}.ratio-4x3::before{padding-top:75%}.ratio-1x1::before{padding-top:100%}.muted{color:var(--muted)}
.program-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}@media (max-width:960px){.program-hero{grid-template-columns:1fr}}.program-hero .placeholder{min-height:240px}
.field{display:grid;gap:6px;margin-bottom:12px}input,textarea{background:#0f1118;color:var(--ink);border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none}input:focus,textarea:focus{border-color:#3a4156;box-shadow:0 0 0 3px rgba(105,230,166,.15)}
.form-note{font-size:.92rem;color:var(--muted)}.form-status{margin-top:10px}.alert{padding:10px 12px;border-radius:8px}.alert.ok{background:#102a1f;border:1px solid #214c39}.alert.err{background:#2a1010;border:1px solid #4c2121}
.badge{display:inline-block;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--border);background:#111622;color:var(--muted);font-size:.8rem}
