html,body{max-width:100%;overflow-x:clip}body{min-width:0}main,main>section,.hero-copy,.section-heading>*{min-width:0}img,svg,canvas,video{max-width:100%;height:auto}main>section{scroll-margin-top:132px}.skip-link{position:fixed;left:14px;top:10px;z-index:1000;padding:11px 15px;border-radius:6px;background:#08251f;color:#fff;font-weight:800;transform:translateY(-160%);transition:transform .2s}.skip-link:focus{transform:translateY(0)}.module-nav{position:sticky;top:76px;z-index:19;display:flex;justify-content:center;gap:8px;padding:9px clamp(16px,4vw,52px);background:rgba(245,241,231,.96);border-bottom:1px solid rgba(8,37,31,.12);backdrop-filter:blur(12px)}.module-nav a{min-height:38px;display:inline-flex;align-items:center;padding:8px 13px;border:1px solid rgba(8,37,31,.14);border-radius:999px;background:#fffdf7;font-size:12px;font-weight:800;white-space:nowrap}.module-nav a:hover{background:#e7f0e9;color:#075a43}.topbar nav{gap:clamp(12px,1.7vw,28px)}.pathway-menu{position:relative}.pathway-menu summary{cursor:pointer;list-style:none}.pathway-menu summary::-webkit-details-marker{display:none}.pathway-menu summary:after{content:" ▾";font-size:.72em}.pathway-menu[open] summary{color:#168b63}.pathway-menu>div{position:absolute;top:calc(100% + 18px);right:0;width:235px;padding:8px;display:grid;gap:3px;background:#fffdf7;border:1px solid rgba(8,37,31,.12);border-radius:12px;box-shadow:0 18px 45px rgba(8,37,31,.18)}.pathway-menu>div a{padding:11px 12px;border-radius:7px}.pathway-menu>div a:hover{background:#e7f0e9}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #f2bd55;outline-offset:3px}.button,.answer,.chess-square,.piano-key,.music-section-button,.chess-section-button{touch-action:manipulation}.music-game-feedback.bad,.chess-feedback{line-height:1.5}.chess-copy .spoken-title>div{flex:1;min-width:0}
@media(max-width:900px){.topbar{padding-inline:18px}.module-nav{justify-content:flex-start;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.module-nav a{min-height:44px}.hero{padding-inline:clamp(20px,7vw,54px)}.hero-copy,.hero-copy>p,h1{width:100%;max-width:100%}.hero-actions .button{min-height:48px}.header-actions button,.header-actions select{min-height:44px}.chess-square,.piano-key{min-height:44px}}
@media(max-width:560px){main>section{scroll-margin-top:138px}.topbar{height:68px;padding-inline:14px;min-width:0}.brand{font-size:20px;min-width:0}.brand-mark{width:34px;height:34px;flex:0 0 34px}.header-actions{gap:6px;min-width:0}.header-actions .profile,.header-actions .install-button{display:none}.language-picker{min-height:42px}.icon-button{width:42px;height:42px;flex:0 0 42px}.module-nav{top:68px;padding:7px 12px}.hero{width:100%;max-width:100vw;min-height:auto;padding:62px 20px 72px}.hero>*,.hero-copy{width:100%;max-width:100%;min-width:0}.hero h1{width:100%;max-width:calc(100vw - 40px);font-size:clamp(40px,12vw,52px);line-height:1;letter-spacing:-.045em;white-space:normal;overflow-wrap:normal}.hero-copy>p{width:100%;max-width:calc(100vw - 40px);font-size:16px;overflow-wrap:anywhere}.hero-actions{width:100%;max-width:calc(100vw - 40px);align-items:stretch}.hero-actions .button{width:100%;min-width:0;justify-content:center}.trust{align-items:flex-start;max-width:calc(100vw - 40px)}.hero-art{width:100%;max-width:100%}.section-heading h2,.province-section h2,.quiz-intro h2{overflow-wrap:anywhere}.music-game-heading h2,.chess-heading h2{font-size:clamp(2.25rem,12vw,3.4rem);overflow-wrap:anywhere}.music-player,.chess-panel,.quiz-card{max-width:100%}.chess-copy .spoken-title{align-items:flex-start}.chess-copy .speak-control{margin-top:0}footer{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.guided-step.completed{border-color:rgba(11,93,70,.35);background:#edf5f0}.guided-step.completed>span:after{content:' ✓';color:var(--green2)}
.activity-pedagogy-card{max-width:1100px;margin:22px auto;padding:15px 18px;border:1px solid rgba(8,37,31,.14);border-left:4px solid var(--orange);border-radius:9px;background:#fffdf7;color:var(--ink);display:grid;grid-template-columns:repeat(2,1fr);gap:6px 18px}.activity-pedagogy-card>strong{grid-column:1/-1;color:var(--orange);font-size:10px;letter-spacing:.12em}.activity-pedagogy-card span{font-size:11px;line-height:1.45;color:#49645d}.activity-pedagogy-card b{color:var(--ink)}@media(max-width:600px){.activity-pedagogy-card{grid-template-columns:1fr}.activity-pedagogy-card>strong{grid-column:auto}}
.activity-audience{grid-column:1/-1;color:#0b5d46!important;font-size:10px!important;font-weight:800}
.matrix-decision-summary{display:block!important;padding:8px 0;color:#0b5d46!important;line-height:1.45}
.activity-decision,.matrix-decision{grid-column:1/-1;width:100%;padding:8px;border:1px solid rgba(8,37,31,.2);border-radius:6px;background:#fff;color:var(--ink);font-size:11px;font-weight:800}.matrix-decision{margin-top:8px}
.daily-pedagogy-card{margin:16px 0;background:#fff8e8}.daily-pedagogy-card span{font-size:10px}.journey-pedagogy-card,.province-pedagogy-card{margin-top:26px}.journey-pedagogy-card{grid-column:1/-1}.province-pedagogy-card{grid-column:1/-1}
.module-nav{display:none}@media(max-width:900px){.module-nav{display:flex}}
.chess-piece{display:block;font-family:"Arial Unicode MS","Segoe UI Symbol",serif;font-size:1.08em;line-height:1;filter:drop-shadow(0 1px 0 rgba(255,255,255,.25))}@media(max-width:560px){.chess-lab{padding-inline:8px}.chess-panel{padding:8px}.chess-board{width:100%;max-width:none}.chess-square{font-size:clamp(2rem,10.5vw,2.9rem)}.chess-piece{font-size:1.14em}.chess-coord{font-size:.48rem;opacity:.68}}
.chess-square.light .chess-coord{color:#12372d}.chess-square.dark .chess-coord{color:#fff7df}@media(max-width:560px){.chess-coord{left:3px;bottom:3px;font-size:clamp(.6rem,2.7vw,.74rem);font-weight:900;line-height:1;opacity:.92;text-shadow:0 1px 2px rgba(0,0,0,.2)}}
.hero-entry-points{margin-bottom:12px}.hero-entry-points .button{min-width:142px}.explore-more{display:inline-flex;align-items:center;gap:8px;padding:8px 0;border:0;background:transparent;color:var(--green);font-size:13px;font-weight:800;cursor:pointer}.explore-more span{display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-size:17px;line-height:1}.explore-more:hover{color:var(--orange)}
.guided-path{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(28px,6vw,90px);padding:clamp(48px,7vw,88px) clamp(22px,7vw,110px);background:#e7eee4;border-top:1px solid rgba(8,37,31,.1);border-bottom:1px solid rgba(8,37,31,.1)}.guided-path-heading h2{margin:14px 0 12px;font-size:clamp(30px,3.5vw,52px);line-height:1}.guided-path-heading p{max-width:360px;color:#49645d;line-height:1.6}.guided-path-steps{display:grid;gap:10px}.guided-step{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:16px;padding:17px 18px;border:1px solid rgba(8,37,31,.14);border-radius:8px;background:rgba(255,253,247,.72);transition:transform .2s ease,background .2s ease}.guided-step:hover,.guided-step.active{background:var(--paper);transform:translateX(5px)}.guided-step>span{font:800 14px Manrope;color:var(--orange)}.guided-step small{display:block;margin-bottom:4px;color:var(--green2);font-weight:800;font-size:10px;letter-spacing:.12em}.guided-step strong{display:block;font:800 17px Manrope}.guided-step p{margin:4px 0 0;color:#49645d;font-size:13px}.guided-step b{font-size:20px;color:var(--orange)}
@media(max-width:700px){.guided-path{grid-template-columns:1fr;gap:28px}.guided-step{grid-template-columns:36px minmax(0,1fr) 20px}.guided-step:hover,.guided-step.active{transform:none}.hero-entry-points .button{flex:1;min-width:0}}
@media(max-width:560px){.hero-entry-points{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden}.hero-entry-points .button:first-child{grid-column:1/-1}.hero h1{overflow-wrap:anywhere}.topbar{width:100%;max-width:100vw;overflow:hidden}.explore-more{margin-top:4px}.guided-path{padding-inline:20px}.guided-step{padding:15px 14px}.guided-step strong{font-size:15px}}
html,body{width:100%}main{width:100%;max-width:100vw}
h1,h2,h3{text-wrap:balance}.section-heading h2,.province-section h2,.quiz-intro h2,.teacher-intro h2,.digital-heading h2,.curriculum-heading h2{max-width:100%}
@media(max-width:560px){.hero-entry-points{grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden}.hero h1{overflow-wrap:anywhere}.topbar{width:100%;max-width:100vw;overflow:hidden}}

/* Menu complet pour téléphone et tablette. */
.mobile-nav-toggle{display:none;width:42px;height:42px;border:1px solid rgba(8,37,31,.12);border-radius:999px;background:#fffdf7;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}.mobile-nav-toggle span{display:block;width:18px;height:2px;background:#08251f;border-radius:1px;transition:transform .2s ease,opacity .2s ease}.mobile-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.mobile-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:0 0 0 auto;width:min(320px,86vw);display:block;background:#fffdf7;z-index:40;padding:24px 20px;box-shadow:0 8px 28px rgba(8,37,31,.2);transform:translateX(100%);transition:transform .28s ease;overflow-y:auto}.mobile-nav.is-open{transform:translateX(0)}.mobile-nav[hidden]{visibility:hidden;pointer-events:none}.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;font:800 20px Manrope,sans-serif}.mobile-nav-header button{width:44px;height:44px;border:0;background:transparent;font-size:28px;cursor:pointer;color:#08251f}.mobile-nav-links{display:flex;flex-direction:column;gap:4px}.mobile-nav-links a{display:block;padding:14px 12px;border-radius:6px;font-weight:700;font-size:16px}.mobile-nav-links a:hover,.mobile-nav-links a:focus-visible{background:rgba(11,93,70,.08);color:#0b5d46}.mobile-nav-backdrop{position:fixed;inset:0;background:rgba(8,37,31,.45);z-index:35;opacity:0;transition:opacity .28s ease}.mobile-nav-backdrop.is-open{opacity:1}.mobile-nav-backdrop[hidden]{visibility:hidden;pointer-events:none}.mobile-nav-open{overflow:hidden}
@media(max-width:900px){.primary-nav{display:none!important}.mobile-nav-toggle{display:flex}.teacher-account-button{display:none}}
@media(prefers-reduced-motion:reduce){.mobile-nav,.mobile-nav-backdrop,.mobile-nav-toggle span{transition:none}}
.skip-link:focus:not(:focus-visible){transform:translateY(-160%)!important}.sprint-section{grid-template-areas:"heading game" "pedagogy game";align-items:start}.sprint-heading{grid-area:heading}.sprint-pedagogy-card{grid-area:pedagogy;width:100%;margin:0}.sprint-game{grid-area:game;width:100%}.quiz-section{grid-template-areas:"intro card" "pedagogy card";align-items:start}.quiz-intro{grid-area:intro}.quiz-section>.activity-pedagogy-card{grid-area:pedagogy;width:100%;margin:0}.quiz-card{grid-area:card;width:100%}.activity-pedagogy-card span{font-size:12.5px}.activity-pedagogy-card>strong{font-size:11px}@media(max-width:900px){.sprint-section{grid-template-areas:"heading" "pedagogy" "game"}.quiz-section{grid-template-areas:"intro" "pedagogy" "card"}}
