:root{--cobalt:#1338b0;--yellow:#ffd23d;--paper:#fefdf9;--ink:#141726;--sky:#dfe6ff;--line:#c6cfef;--grey:#535a72;
--sans:'Verdana','DejaVu Sans','Segoe UI',system-ui,sans-serif}
:root{--cobalt-deep:#0d2a86}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
h1,h2,h3{letter-spacing:-.03em;font-weight:700}
.tape{margin:0;background:var(--yellow);color:var(--ink);font-size:12px;font-weight:700;padding:10px 5vw;display:flex;flex-wrap:wrap;gap:5px 12px}
.tape a{text-decoration:underline;text-underline-offset:3px}
header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 5vw;background:var(--cobalt);color:#fff}
.mark{font-size:19px;line-height:1.05;font-weight:400;letter-spacing:-.02em}
.mark b{font-size:26px;font-weight:800}
nav{display:flex;align-items:center;gap:24px;font-size:14px}
nav a:not(.button):hover{text-decoration:underline;text-underline-offset:5px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;background:var(--yellow);color:var(--ink);border:2px solid var(--yellow);font-size:14px;font-weight:700;border-radius:4px}
.button:hover{background:transparent;color:var(--yellow)}
.button:disabled{opacity:.55;background:var(--yellow);color:var(--ink)}
.flag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt)}
.flag.dark{color:var(--grey)}
.opening{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:5vw;padding:52px 5vw 60px;background:var(--cobalt);color:#fff;align-items:center}
.opening .flag{color:var(--sky)}
.opening h1{font-size:clamp(40px,5.8vw,78px);line-height:1.05;margin:18px 0 22px}
.opening h1 mark{background:var(--yellow);color:var(--ink);padding:0 .12em}
.opening-copy>p{max-width:44ch;font-size:16px;color:#dbe2ff}
.opening .button{margin-top:28px}
.boards{position:relative;min-height:330px}
.board{position:absolute;background:var(--paper);color:var(--ink);border-radius:8px;padding:15px 20px;font-size:15px;font-weight:700;box-shadow:6px 6px 0 rgb(0 0 0 / .22);white-space:nowrap}
.b1{top:2%;left:2%;transform:rotate(-3deg);background:var(--yellow)}
.b2{top:19%;right:0;transform:rotate(2.5deg)}
.b3{top:37%;left:12%;transform:rotate(1.5deg)}
.b4{top:55%;right:6%;transform:rotate(-2deg);background:var(--sky)}
.b5{top:72%;left:1%;transform:rotate(2deg)}
.b6{top:88%;right:16%;transform:rotate(-1.5deg);background:var(--yellow)}
.subjects{padding:64px 5vw 66px}
.subjects-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:flex-end}
.subjects-top h2{font-size:clamp(34px,4.6vw,58px);margin-top:12px}
.subjects-top>p{max-width:42ch;font-size:14px;color:var(--grey)}
.controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin:34px 0 0}
.control label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}
.control select{min-height:48px;min-width:200px;padding:10px 14px;border:2px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:15px}
#reset-filters{min-height:48px;padding:0 20px;border:2px solid var(--ink);border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:700}
#reset-filters:hover{background:var(--ink);color:var(--paper)}
.tally{font-size:13px;color:var(--grey);margin:20px 0 18px}
.sessions{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.sessions article{border:2px solid var(--line);border-radius:12px;padding:24px;background:#fff;display:flex;flex-direction:column}
.sessions article:nth-child(4n+1){background:var(--sky);border-color:var(--sky)}
.sessions article:nth-child(4n+3){background:#fff8dc;border-color:#f2e3ad}
.sessions article[hidden]{display:none}
.chip{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt-deep)}
.sessions h3{font-size:23px;margin:12px 0 10px}
.sessions>article>p:not(.chip){font-size:14px;color:#33384c}
.sessions dl{margin:auto 0 0;padding-top:18px}
.sessions dl>div{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-top:1px solid rgb(20 23 38 / .16);padding:8px 0}
.sessions dt{font-weight:700}
.sessions dd{margin:0;text-align:right}
.empty{margin-top:20px;border:2px dashed var(--line);border-radius:12px;padding:24px;font-size:14.5px}
.fine{font-size:12px;line-height:1.85;color:var(--grey);max-width:76ch;margin-top:24px}
.how{background:var(--ink);color:#eef1fb;padding:64px 5vw 66px}
.how .flag{color:var(--yellow)}
.how-head h2{font-size:clamp(34px,4.6vw,58px);margin-top:12px}
.switcher{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 34px}
.switcher button{min-height:48px;padding:0 22px;border:2px solid #3a405c;border-radius:6px;background:transparent;color:#eef1fb;font:inherit;font-size:14px;font-weight:700}
.switcher button:hover{border-color:var(--yellow)}
.switcher button[aria-pressed=true]{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.tracks{display:grid;gap:34px}
.track h3{font-size:22px;margin-bottom:18px;color:var(--yellow)}
.track[hidden]{display:none}
.track ol{margin:0;padding-left:1.3em;display:grid;gap:14px}
.track li{font-size:15px;color:#cdd3e8}
.track strong{color:#fff}
.how .fine{color:#9aa2bd}
.inquire{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:6vw;padding:64px 5vw 70px;background:var(--sky)}
.inquire h2{font-size:clamp(34px,4.6vw,58px);line-height:1.08;margin:14px 0 20px}
.disclosure{background:#fff;border-left:5px solid var(--cobalt);border-radius:6px;padding:16px 18px;font-size:13px;line-height:1.8;max-width:44ch}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;margin-bottom:26px}
.fields>div{min-width:0}
label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}
input,select{width:100%;min-width:0;min-height:48px;padding:12px 14px;border:2px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:15px}
.wide{width:100%}
.inquire .button:hover{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}
footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:38px 5vw;background:var(--cobalt);color:#fff}
footer p{font-size:12.5px;color:#c9d3ff}
.under{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
@media(max-width:980px){.opening{grid-template-columns:1fr;gap:34px}
.boards{min-height:300px;max-width:560px}
.inquire{grid-template-columns:1fr;gap:32px}}
@media(max-width:640px){header{flex-wrap:wrap;gap:14px}
nav{width:100%;justify-content:space-between;gap:10px;font-size:13px}
.opening,.subjects,.how,.inquire{padding-left:6vw;padding-right:6vw}
.opening{padding-top:38px;padding-bottom:44px}
.subjects,.how,.inquire{padding-top:48px;padding-bottom:50px}
.boards{min-height:270px}
.board{font-size:13px;padding:12px 15px}
.controls{gap:12px}
.control{flex:1 1 100%}
.control select{width:100%;min-width:0}
#reset-filters{width:100%}
.sessions{grid-template-columns:1fr}
.fields{grid-template-columns:1fr}
footer{flex-direction:column;align-items:flex-start}}
@media(max-width:360px){.board{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.board{transition:transform .25s ease}}
