:root{--bg:#F6F8FF;--surface:#fff;--soft:#E4EBFF;--ink:#14183A;--mute:#4A5073;--blue:#1B4BFF;--blue-d:#0F2FB8;--red:#E02B2B;--line:#CBD4F2;--on-blue:#fff;--hd:'Bricolage Grotesque','Arial Black',Arial,sans-serif;--bd:'Atkinson Hyperlegible',Verdana,Arial,sans-serif}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0C1030;--surface:#151A45;--soft:#1D2460;--ink:#F1F3FF;--mute:#B6BCE6;--blue:#7C98FF;--blue-d:#A9BBFF;--red:#FF6B6B;--line:#303A80;--on-blue:#0C1030}}
:root[data-theme=dark]{--bg:#0C1030;--surface:#151A45;--soft:#1D2460;--ink:#F1F3FF;--mute:#B6BCE6;--blue:#7C98FF;--blue-d:#A9BBFF;--red:#FF6B6B;--line:#303A80;--on-blue:#0C1030}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.125rem/1.65 var(--bd)}
h1,h2,h3{font-family:var(--hd);line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(2.2rem,5.5vw,4rem);font-weight:800}h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800}h3{font-size:1.25rem;font-weight:600}
p{margin:0 0 1em;max-width:66ch}a{color:var(--blue-d)}.wrap{max-width:1120px;margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-999px;top:0;background:var(--blue);color:var(--on-blue);padding:.7rem 1rem;z-index:50}.skip:focus{left:.5rem;top:.5rem}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:4px}
header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.5rem 0}.left{display:flex;align-items:center;gap:.9rem}.right{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.brand img{height:52px;width:auto;display:block;background:#fff;border-radius:8px;padding:2px 6px}
.burger{background:var(--surface);border:2px solid var(--ink);color:var(--ink);border-radius:10px;width:52px;height:52px;cursor:pointer;display:grid;place-content:center;gap:5px;padding:0}
.burger i{display:block;width:26px;height:3px;background:var(--ink);border-radius:2px}
.navwrap{position:relative}
.menu{display:none;position:absolute;left:0;top:100%;min-width:250px;margin:0;padding:.4rem 0;list-style:none;background:var(--surface);border:2px solid var(--ink);border-radius:12px;box-shadow:0 12px 30px rgba(20,24,58,.25)}
.navwrap.open>.menu{display:block}.menu li{position:relative}
.menu a{display:block;padding:.65rem 1.1rem;color:var(--ink);text-decoration:none;font-weight:700;white-space:nowrap}
.menu a:hover,.menu a:focus{background:var(--soft)}.menu .has>a:after{content:"\25B8";float:right;margin-left:1rem}
.menu ul{display:none;position:absolute;left:100%;top:-.4rem;min-width:260px;margin:0;padding:.4rem 0;list-style:none;background:var(--surface);border:2px solid var(--ink);border-radius:12px;box-shadow:0 12px 30px rgba(20,24,58,.25)}
.menu .has:hover>ul,.menu .has:focus-within>ul,.menu .has.sub>ul{display:block}.menu ul a{font-weight:400}
.btn{display:inline-block;background:var(--blue);color:var(--on-blue);padding:.8rem 1.3rem;border-radius:10px;font:700 1.02rem var(--bd);text-decoration:none;border:2px solid var(--blue);cursor:pointer;min-height:48px}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d)}.btn.alt{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.alt:hover{background:var(--soft)}.btn.sm{padding:.45rem .9rem;min-height:40px;font-size:.95rem}.btn.red{background:var(--red);border-color:var(--red);color:#fff}
.hero{padding:2.5rem 0 3rem}.hero .grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.herologo{width:100%;max-width:520px;justify-self:center;background:#fff;border-radius:20px;padding:1rem;border:1px solid var(--line)}
.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.week{margin-top:2.2rem;display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{background:var(--surface);border:2px solid var(--line);border-radius:12px;padding:.7rem .3rem;text-align:center;font-weight:700}.day small{display:block;font-weight:400;color:var(--mute);font-size:.8rem;line-height:1.3}.day.we{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}.day.we small{color:var(--on-blue)}
.legend{display:flex;gap:1.4rem;flex-wrap:wrap;margin:.7rem 0 0;font-size:.95rem;color:var(--mute)}.legend i{display:inline-block;width:.9rem;height:.9rem;border-radius:3px;margin-right:.4rem;border:2px solid var(--line);background:var(--surface)}.legend i.b{background:var(--blue);border-color:var(--blue)}
section{padding:3.2rem 0}.alt-bg{background:var(--soft)}.page{padding:2.5rem 0 3.5rem}
.cols{display:grid;grid-template-columns:repeat(3,1fr)}.cols>div{padding:0 1.5rem;border-left:3px solid var(--red)}.cols>div:nth-child(2){border-left-color:var(--blue)}.cols>div:nth-child(3){border-left-color:var(--ink)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.sched{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}.sched li{display:grid;grid-template-columns:9.5rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.sched b{font-family:var(--hd);color:var(--blue-d)}
.ticks{list-style:none;padding:0;margin:0}.ticks li{padding:.5rem 0 .5rem 2rem;position:relative;border-bottom:1px solid var(--line)}.ticks li:before{content:"";position:absolute;left:.2rem;top:.95rem;width:.9rem;height:.5rem;border-left:3px solid var(--red);border-bottom:3px solid var(--red);transform:rotate(-45deg)}
.vals{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.vals div{border-top:4px solid var(--blue);padding-top:.7rem}.vals h3{font-size:1.1rem;margin-bottom:.3rem}.vals p{font-size:1rem;margin:0}
details{border-bottom:1px solid var(--line);padding:.9rem 0}summary{cursor:pointer;font:600 1.15rem var(--hd);min-height:44px}details p{margin:.6rem 0 0}
form.card,.card{background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:1.4rem;margin-bottom:1rem}form.card{display:grid;gap:1rem}
label{font-weight:700;display:grid;gap:.3rem}input,select,textarea{font:inherit;padding:.75rem;border:2px solid var(--mute);border-radius:8px;background:var(--bg);color:var(--ink);min-height:48px;width:100%}
label.chk{display:flex;gap:.6rem;align-items:center;font-weight:400}label.chk input{width:24px;height:24px;min-height:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0}.tabs button{font:700 1rem var(--bd);padding:.6rem 1rem;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;min-height:44px}.tabs button[aria-selected=true]{background:var(--ink);color:var(--bg)}
.pill{display:inline-block;padding:.1rem .6rem;border-radius:999px;background:var(--soft);font-size:.85rem;font-weight:700}.meta{color:var(--mute);font-size:.9rem}.err{color:var(--red);font-weight:700}.ok{color:var(--blue-d);font-weight:700}
.job{border:0;width:100%;height:430px;background:var(--surface);border:2px solid var(--line);border-radius:12px}.jobbody{padding:1.2rem;background:var(--surface);font-size:1rem}.jobbody h1{font-size:1.6rem}
table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);padding:.5rem;text-align:left;vertical-align:top}
footer{background:var(--ink);color:#F1F3FF;padding:2.2rem 0 2.6rem;font-size:1rem}footer a{color:#fff}.fl{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}.fl ul{list-style:none;margin:0;padding:0}.fl li{padding:.15rem 0}
.tg{background:none;border:2px solid #fff;color:#fff;border-radius:8px;padding:.4rem .7rem;font:700 .9rem var(--bd);cursor:pointer;min-height:44px;margin-top:.6rem}
@media(max-width:860px){.hero .grid,.two,.cols,.fl,.row2{grid-template-columns:1fr}.cols>div{padding:1rem 0 1rem 1.2rem;margin-bottom:1rem}.vals{grid-template-columns:1fr 1fr}.sched li{grid-template-columns:1fr;gap:.1rem}.menu{position:fixed;left:.5rem;right:.5rem;top:70px;max-height:80vh;overflow:auto}.menu ul{position:static;border:0;box-shadow:none;padding:0 0 0 1rem}.menu .has>a:after{content:"\25BE"}.brand img{height:42px}.hidem{display:none}.herologo{max-width:340px}}
@media(max-width:520px){.vals{grid-template-columns:1fr}.day{font-size:.8rem;padding:.5rem .1rem}.day small{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{header,footer,.tabs{display:none}}
