
:root{--blue:#007dca;--panel:#2f7fd6;--blush:#f2e3e0;--dark:#1c1c1c;--text:#2b2b2b;--card:#fff;--line:#9a8a86;--muted:#6a5d5a;--chev:#555;color-scheme:light}
:root[data-theme=dark]{--blue:#4aa8f0;--panel:#1f4f86;--blush:#16171a;--dark:#0d0e10;--text:#e3e4e6;--card:#212328;--line:#43464c;--muted:#9a9ea5;--chev:#b9bcc3;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Radio Canada",system-ui,sans-serif;background:var(--blush);color:var(--text);font-size:16px;line-height:1.55}
a{color:var(--blue)}img{max-width:100%;height:auto}
.top{position:sticky;top:0;z-index:20;background:var(--dark);color:#fff;display:flex;align-items:center;gap:14px;padding:0 20px;min-height:56px;flex-wrap:wrap}
.top .brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:500;margin-right:auto}
.top .brand img{width:34px;height:34px;border-radius:4px}
.top nav{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.top nav a{color:#fff;text-decoration:none;font-size:14px;font-weight:500;padding:8px 10px;border-radius:4px}
.top nav a:hover{background:#333}.top nav a.on{font-weight:700;text-decoration:underline;text-underline-offset:6px}
.hero{background:#222 center/cover no-repeat;text-align:center;padding:44px 16px 52px;color:#f9f9f9}
.hero h1{font-size:clamp(28px,5vw,45px);margin:0 0 18px;font-weight:700;text-shadow:0 2px 6px #000a}
.hero img{width:min(760px,92%)}.textlogo{font-size:clamp(40px,9vw,92px);font-weight:700;letter-spacing:3px;color:#d8d8d8;text-shadow:0 4px 0 #555,0 6px 12px #000a;line-height:1.05}
.panel{background:var(--panel);color:#fff;text-align:center;padding:50px 20px 60px}
.panel h2{font-size:clamp(34px,6vw,54px);margin:0 0 20px;text-decoration:underline;text-underline-offset:8px;font-weight:700}
.panel p{font-size:clamp(22px,3.6vw,38px);line-height:1.25;max-width:900px;margin:0 auto}
main{max-width:980px;margin:0 auto;padding:36px 20px 20px}
main h1{color:var(--blue);font-size:clamp(30px,5vw,44px);margin:6px 0 24px;text-align:center}
main h2{color:var(--blue);font-weight:500;font-size:24px;margin:30px 0 8px}
main h3,main h4{color:var(--blue);margin:22px 0 6px}
main p{margin:0 0 14px}main img{display:block;margin:10px auto 6px;border-radius:2px}
.btnrow{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 30px}
.btn{flex:1 1 220px;background:var(--blue);color:#f9f9f9;text-align:center;padding:12px 18px;text-decoration:none;font-weight:500;display:block}
.btn:hover{filter:brightness(1.12)}
.videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin:10px 0 26px}
.videos figure{margin:0;text-align:center}.videos h2{margin:10px 0 0;font-size:18px;text-align:center}.videos .by{margin:2px 0 0;font-size:13px;color:var(--muted)}
.vid{position:relative;padding-top:56.25%}.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
details{border-bottom:1px solid var(--line);padding:18px 4px}
summary{cursor:pointer;color:var(--blue);font-size:24px;font-weight:500;list-style:none;display:flex;justify-content:space-between;align-items:center}
summary::-webkit-details-marker{display:none}summary::after{content:"\25BE";font-size:22px;color:var(--chev);transition:transform .2s}
details[open] summary::after{transform:rotate(180deg)}details p{margin:12px 0 0}
.mapcard{background:var(--card);border:1px solid var(--line);padding:18px 20px;margin:14px 0 8px}
.mapframe{width:100%;height:min(72vh,640px);border:0;background:#111;display:block;margin:12px 0 6px}
.note{font-size:14px;color:var(--muted)}.issues{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin:12px 0}.issues img{width:100%;margin:0}
footer{margin-top:40px;padding:26px 20px 40px;text-align:center;border-top:1px solid var(--line)}
footer .links{display:flex;justify-content:center;gap:22px}footer .links img{width:48px;height:48px}
footer .copy{margin-top:16px;color:var(--muted);font-size:13px}
.themebtn{background:#333;color:#fff;border:0;border-radius:4px;padding:7px 12px;font:500 13px "Radio Canada",system-ui,sans-serif;cursor:pointer;display:flex;align-items:center;gap:7px}
.themebtn:hover{background:#4a4a4a}.themebtn svg{width:16px;height:16px;fill:currentColor}
.themebtn .lbl::before{content:"Dark mode"}:root[data-theme=dark] .themebtn .lbl::before{content:"Light mode"}
.themebtn .sun{display:none}:root[data-theme=dark] .themebtn .sun{display:block}:root[data-theme=dark] .themebtn .moon{display:none}
:root[data-theme=dark] .hero{filter:brightness(.92)}:root[data-theme=dark] main img{filter:brightness(.93)}
.cards{list-style:none;padding:0;margin:8px 0 18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.cards a{display:block;background:var(--card);border:1px solid var(--line);padding:14px 16px;text-decoration:none;font-weight:500}
.cards a:hover{border-color:var(--blue)}.cards .soon{display:block;font-size:12px;color:var(--muted);font-weight:400}
.notice{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--blue);padding:12px 16px}
@media(max-width:640px){.themebtn .lbl{display:none}.top{padding:6px 12px;gap:8px}.top nav a{padding:8px 6px;font-size:13px}}
