[hidden] { display:none!important; }
.menu-toggle { display:none; }
.track-explore { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:24px; min-height:48px; padding:14px 0 0; border:0; border-top:1px solid var(--line); background:none; color:var(--cream); text-align:left; font:600 14px 'Manrope',sans-serif; cursor:pointer; }
.track-explore span { color:var(--cyan); transition:transform .3s; }
.track-explore:hover span { transform:translate(3px,-3px); }
.track-card.is-selected { border-color:var(--cyan); box-shadow:inset 0 0 45px rgba(110,231,255,.07); }
.track-panel { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:36px; margin-top:24px; border:1px solid rgba(110,231,255,.35); background:linear-gradient(110deg,rgba(85,75,129,.35),rgba(96,119,122,.12)); border-radius:16px; }
.track-panel h3 { font-size:clamp(28px,4vw,44px); margin:12px 0; letter-spacing:-.04em; }
.track-panel p,.track-panel li { font-size:16px; line-height:1.7; color:var(--muted); }
.track-panel-label { font:12px 'DM Mono',monospace; letter-spacing:.12em; color:var(--cyan); }
.track-panel ul { padding-left:20px; margin:15px 0 24px; }
.program-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.program-filters button { border:1px solid var(--line); padding:12px 18px; min-height:44px; color:var(--muted); background:transparent; border-radius:99px; cursor:pointer; font:600 14px 'Manrope',sans-serif; transition:background .25s,color .25s; }
.program-filters button[aria-pressed=true] { background:var(--cream); color:var(--night); border-color:var(--cream); }
.schedule-count { font:12px 'DM Mono',monospace; color:var(--muted); margin:16px 0 26px; }
.calendar-link { display:inline-flex; margin-top:24px; }
.faq-search { display:block; font:14px 'Manrope',sans-serif; color:var(--muted); margin-bottom:28px; }
.faq-search input { display:block; width:100%; margin-top:10px; border:1px solid var(--line); background:rgba(20,18,32,.35); color:var(--cream); border-radius:10px; padding:16px; font:16px 'Manrope',sans-serif; }
.faq-search input:focus { outline:1px solid var(--cyan); }
#faqEmpty { color:var(--muted); padding:20px 0; font-size:16px; }
.register-dialog { max-height:calc(100svh - 32px); overflow:auto; }
.register-dialog .consent { display:flex; gap:12px; align-items:flex-start; font-size:13px; line-height:1.5; }
.register-dialog .consent input { width:18px; height:18px; margin-top:3px; flex-shrink:0; accent-color:var(--cyan); }
.register-dialog .form-error { color:#fffdf5; border-left:2px solid var(--cyan); padding:10px 14px; background:rgba(85,75,129,.3); font-size:14px; }
.register-dialog .form-note a { color:var(--cyan); }
.register-dialog button:disabled { opacity:.6; cursor:wait; }
.bot-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.registration-reference { display:block; border:1px solid var(--line); padding:16px; margin:20px 0; color:var(--cyan); font:20px 'DM Mono',monospace; letter-spacing:.08em; }
.form-success .text-link { background:none; border:0; color:var(--cream); font:inherit; cursor:pointer; min-height:44px; padding:12px; }
.footer-link { border:0; padding:0; background:none; color:var(--muted); cursor:pointer; font:inherit; }
.footer-link:hover { color:var(--cyan); }
.copy-status { font-size:13px; grid-column:1/-1; }
@media(max-width:960px) {
  .site-header { display:flex; gap:14px; }
  .site-header .logo { margin-right:auto; }
  .menu-toggle { display:flex; align-items:center; gap:8px; border:0; background:none; color:var(--cream); min-height:44px; font:600 13px 'Manrope',sans-serif; cursor:pointer; }
  .menu-toggle span { color:var(--cyan); font-size:18px; }
  .site-header nav { display:none; position:absolute; top:calc(100% + 8px); left:0; right:0; padding:16px; background:var(--night-2); border:1px solid var(--line); border-radius:12px; box-shadow:0 20px 45px rgba(0,0,0,.25); }
  .site-header nav.is-open { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .site-header nav a { padding:14px; border-radius:6px; }
  .site-header nav a:hover { background:rgba(85,75,129,.4); }
}
@media(max-width:620px) { .track-panel{grid-template-columns:1fr;padding:24px;gap:24px} .site-header{gap:10px} .site-header .logo{letter-spacing:.01em} .program-filters button{padding-inline:14px} }
@media(prefers-reduced-motion:reduce) { .track-explore span,.program-filters button{transition:none} }
