@font-face{font-family:'Modern Gothic';src:local('Modern Gothic'),local('Modern Gothic Regular'),url('https://dam.lcieducation.com/1fipm6Snk5jh2rLnFu4uq2hg8_sNzVmOTU5OWM0YzA4MDQ5/ModernGothic-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Modern Gothic';src:local('Modern Gothic Medium'),url('https://dam.lcieducation.com/1fidCrXy5z5kbAmnhACmEhth5_sYWE3Njc1ZTY2OGYwM2E1/ModernGothic-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Modern Gothic';src:local('Modern Gothic Bold'),url('https://dam.lcieducation.com/1fihEASn3qmjdpL2S77vCoz7w_sOWYzOTAxMGM2OTk3OTI5/ModernGothic-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'LCI Education Color Logos';src:local('LCI Education Color Logos'),url('https://dam.lcieducation.com/LCI-Education/Brand-management/Font/lci-color-logos.woff2?func=proxy') format('woff2');font-display:block}
:root{
  --blue:#00587c;--blue-dark:#00354a;--blue-mid:#337996;--blue-light:#e0ebef;--blue-100:#b8d0da;
  --red:#eb2d37;--cream:#f8f5e9;--cream-dark:#e5e2d6;
  --charcoal:#07181e;--ch-600:#343d41;--ch-500:#424f54;--ch-400:#576266;--ch-300:#6d7478;--ch-200:#9ca3a5;--ch-100:#babfc0;--ch-50:#e1e3e4;
  --white:#fff;--green:#5b8000;--gold:#cc9f11;
  --l0:#eb2d37;--l1:#cc9f11;--l2:#5b8000;--l3:#337996;--l4:#7b4fa6;
  --radius:12px;--ease:cubic-bezier(.4,.14,.3,1);--ease-fast:cubic-bezier(.2,0,.38,.9)
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:10px;scroll-behavior:smooth}
body{font-family:'Modern Gothic',system-ui,-apple-system,sans-serif;font-weight:400;background:var(--cream);color:var(--charcoal);line-height:1.5;font-size:1.6rem}
.site-header{background:var(--charcoal);padding:1.2rem 2.4rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:200;box-shadow:0 2px 20px rgba(0,0,0,.35);gap:1.6rem}

@media(max-width:600px){
  .site-header{flex-wrap:wrap;padding:.8rem 1.2rem}


  .header-right{order:2;width:100%;justify-content:flex-end;display:flex;align-items:center;gap:.8rem}
  
  .header-title-sm{order:1;width:100%;font-size:1.3rem}
}

.header-left{display:flex;align-items:center;gap:1.6rem;min-width:0}
.lci-logo-mark{font-family:'LCI Education Color Logos',sans-serif;speak:never;font-size:4.4rem;line-height:1;-webkit-font-smoothing:antialiased;flex-shrink:0}
.header-event{font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-mid);font-weight:500;white-space:nowrap}
.header-title-sm{font-size:1.5rem;color:var(--cream);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-right{display:flex;align-items:center;gap:.8rem;flex-shrink:0}
.lang-btn{background:transparent;border:1.5px solid rgba(255,255,255,.25);color:rgba(255,255,255,.65);font-family:'Modern Gothic',system-ui,sans-serif;font-size:1.2rem;font-weight:500;letter-spacing:.06em;padding:.5rem 1.1rem;border-radius:3px;cursor:pointer;transition:all .15s var(--ease-fast)}
.lang-btn.active,.lang-btn:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.timer-bar{background:var(--blue-dark);padding:.8rem 2.4rem;display:flex;align-items:center;justify-content:space-between;gap:1.6rem;flex-wrap:wrap;position:sticky;top:63px;z-index:190}
.timer-phase-label{font-size:1.2rem;font-weight:500;color:rgba(255,255,255,.65);letter-spacing:.04em;white-space:nowrap;transition:color .5s}
.timer-clock{font-size:1.8rem;font-weight:700;color:var(--cream);letter-spacing:.05em;font-variant-numeric:tabular-nums;cursor:pointer;user-select:none}
.timer-clock.paused{color:var(--ch-300)}
.timer-controls{display:flex;gap:.6rem}
.timer-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.7);font-size:1.1rem;padding:.4rem 1rem;border-radius:3px;cursor:pointer;font-family:inherit;transition:all .15s}
.timer-btn:hover{background:rgba(255,255,255,.2);color:#fff}
.main-nav{background:var(--blue);display:flex;overflow-x:auto;scrollbar-width:none}
.main-nav::-webkit-scrollbar{display:none}
.nav-wrap{position:sticky;top:106px;z-index:150;display:flex;align-items:stretch;background:var(--blue)}
.main-nav{flex:1}
.nav-arrow{flex-shrink:0;background:transparent;border:none;color:rgba(255,255,255,.8);font-size:2.4rem;line-height:1;padding:0 1rem;cursor:pointer;transition:opacity .15s,background .15s}
.nav-arrow:hover{background:rgba(255,255,255,.12);color:#fff}
.nav-arrow-left{opacity:0;pointer-events:none}

.nav-tab{background:transparent;border:none;border-bottom:3px solid transparent;color:rgba(255,255,255,.6);font-family:'Modern Gothic',system-ui,sans-serif;font-size:1.3rem;letter-spacing:.03em;padding:1.3rem 2rem;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s var(--ease-fast);display:flex;align-items:center;gap:.7rem}
.nav-tab .tab-num{width:2rem;height:2rem;border-radius:50%;background:rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nav-tab.active{color:#fff;border-bottom-color:var(--cream)}
.nav-tab.active .tab-num{background:var(--cream);color:var(--blue)}
.nav-tab:hover:not(.active){color:#fff;background:rgba(255,255,255,.06)}
.sec{display:none}
.sec.active{display:block}
.sec-inner{max-width:clamp(60rem,92vw,160rem);margin:0 auto;padding:4rem clamp(2.4rem,4vw,6rem)}
.hero{background:var(--charcoal);padding:7.2rem 2.4rem;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 25% 60%,rgba(0,88,124,.4) 0%,transparent 55%),radial-gradient(ellipse at 75% 15%,rgba(235,45,55,.12) 0%,transparent 45%)}
.hero-inner{position:relative;max-width:clamp(60rem,88vw,120rem);margin:0 auto}
.hero-badge{display:inline-block;background:rgba(0,88,124,.4);border:1px solid rgba(51,121,150,.6);color:var(--blue-100);font-size:1.1rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem 1.6rem;border-radius:2rem;margin-bottom:3.2rem}
.hero h1{font-size:clamp(3.6rem,6vw,6.4rem);font-weight:400;letter-spacing:-.04em;line-height:.95;color:var(--cream);margin-bottom:2.4rem}
.hero h1 em{color:var(--blue-100);font-style:normal}
.hero-sub{font-size:clamp(1.6rem,2.2vw,1.9rem);color:rgba(248,245,233,.95);max-width:60rem;margin:0 auto 4rem;line-height:1.5}
.hero-meta{display:flex;justify-content:center;gap:3.2rem;flex-wrap:wrap;margin-bottom:4rem}
.meta-val{font-size:2.4rem;font-weight:700;color:var(--cream);letter-spacing:-.02em}
.meta-lbl{font-size:1.1rem;color:var(--ch-300);letter-spacing:.06em;text-transform:uppercase}
.hero-cta{background:var(--blue);color:#fff;border:none;font-family:'Modern Gothic',system-ui,sans-serif;font-size:1.5rem;letter-spacing:.02em;padding:1.4rem 3.6rem;border-radius:4px;cursor:pointer;transition:all .25s var(--ease)}
.hero-cta:hover{background:var(--blue-dark);transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,88,124,.4)}
.async-banner{background:#fff;border-radius:var(--radius);padding:2rem 2.4rem;box-shadow:0 2px 10px rgba(7,24,30,.06);border-left:4px solid var(--blue);margin-bottom:3.2rem;display:flex;gap:1.6rem;align-items:flex-start}
.async-icon{font-size:2.4rem;flex-shrink:0}
.async-text h4{font-size:1.5rem;font-weight:700;color:var(--charcoal);margin-bottom:.4rem}
.async-text p{font-size:1.4rem;color:var(--ch-400);line-height:1.55}
.sec-header{margin-bottom:3.2rem;padding-bottom:2.4rem;border-bottom:1px solid var(--cream-dark)}
.sec-tag{font-size:1.15rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:.8rem}
.sec-header h2{font-size:clamp(2.4rem,3.5vw,3.8rem);font-weight:400;letter-spacing:-.03em;line-height:1;color:var(--charcoal);margin-bottom:1.2rem}
.sec-header p{font-size:1.6rem;color:var(--ch-400);max-width:clamp(48rem,60vw,90rem);line-height:1.6}
.agenda-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1.6rem;margin-bottom:3.2rem}
.agenda-card{background:#fff;border-radius:var(--radius);padding:2rem 2rem 1.6rem;border-top:3px solid var(--blue);box-shadow:0 2px 10px rgba(7,24,30,.06);display:flex;flex-direction:column;gap:.8rem}
.agenda-card-link{cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}
.agenda-card-link:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(7,24,30,.12);border-top-color:var(--blue-dark)}
.agenda-card-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.agenda-time{font-size:1.1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.agenda-card h3{font-size:1.5rem;font-weight:400;letter-spacing:-.02em;color:var(--charcoal);line-height:1.2}
.agenda-card p{font-size:1.35rem;color:var(--ch-400);line-height:1.5;flex:1}
.agenda-type{display:inline-block;font-size:1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .9rem;border-radius:2rem;background:var(--blue-light);color:var(--blue)}
.agenda-type.interactive{background:#eef2e5;color:var(--green)}
.agenda-type.discussion{background:#fff8e6;color:var(--gold)}
.agenda-type.context{background:#f0eaf8;color:var(--l4)}
.context-box{background:#fff;border-radius:var(--radius);padding:2.8rem;box-shadow:0 2px 10px rgba(7,24,30,.06);margin-bottom:3.2rem}
.context-box p{font-size:1.55rem;color:var(--ch-400);line-height:1.7}
.scale-strip{display:flex;gap:1rem;margin-bottom:3.2rem;flex-wrap:wrap}
.scale-pill{flex:1;min-width:13rem;background:#fff;border-radius:8px;padding:1.4rem 1.6rem;border-top:4px solid var(--lc,var(--blue));cursor:pointer;transition:all .2s var(--ease);box-shadow:0 2px 8px rgba(7,24,30,.06)}
.scale-pill:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(7,24,30,.1)}
.scale-pill.open{box-shadow:0 0 0 2px var(--lc,var(--blue))}
.scale-pill-icon{width:100%;max-width:9.6rem;display:block;margin:0 auto .8rem}
.sp-hint{font-size:1.1rem;color:var(--blue);margin-top:.8rem}
.scale-detail{display:none;background:#fff;border-radius:var(--radius);padding:2.4rem;margin-bottom:2rem;box-shadow:0 2px 10px rgba(7,24,30,.06);border-left:5px solid var(--lc,var(--blue));position:relative}
.scale-detail.open{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2.4rem}
@media(max-width:700px){.scale-detail.open{grid-template-columns:1fr}}
.scale-detail h4{font-size:1.2rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lc,var(--blue));margin-bottom:.8rem}
.scale-detail p{font-size:1.4rem;color:var(--ch-400);line-height:1.5}
.sd-close{position:absolute;top:1.2rem;right:1.6rem;background:none;border:none;color:var(--ch-200);font-size:1.8rem;cursor:pointer;line-height:1}
.sd-close:hover{color:var(--charcoal)}
.scale-detail-icon-wrap{display:flex;align-items:flex-start;gap:1.6rem;grid-column:1/-1;margin-bottom:1.6rem;padding-bottom:1.6rem;border-bottom:1px solid var(--cream-dark)}
.scale-detail-icon{width:7.2rem;flex-shrink:0}
.sd-name-en{font-size:2rem;font-weight:400;letter-spacing:-.02em;color:var(--lc,var(--charcoal));line-height:1}
.sd-name-fr{font-size:1.4rem;color:var(--ch-300);margin-top:.4rem}
.discipline-selector{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3.2rem}
.disc-btn{background:#fff;border:2px solid var(--cream-dark);color:var(--ch-400);font-family:'Modern Gothic',system-ui,sans-serif;font-size:1.35rem;padding:1rem 1.8rem;border-radius:8px;cursor:pointer;transition:all .15s var(--ease-fast);display:flex;align-items:center;gap:.9rem}
.disc-btn .disc-icon{font-size:2rem}
.disc-btn:hover{border-color:var(--blue);color:var(--blue)}
.disc-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}
.dnd-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:2.4rem;align-items:start}
@media(max-width:800px){.dnd-layout{grid-template-columns:1fr}}
.dnd-pool-wrap{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:0 2px 10px rgba(7,24,30,.06)}
.dnd-pool-wrap h3{font-size:1.3rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ch-300);margin-bottom:1.6rem;padding-bottom:1.2rem;border-bottom:1px solid var(--cream-dark)}
.drag-item{background:var(--cream);border:1.5px solid var(--cream-dark);border-radius:8px;padding:1rem 1.4rem;font-size:1.35rem;color:var(--charcoal);line-height:1.45;cursor:grab;margin-bottom:.8rem;transition:all .15s var(--ease-fast);user-select:none}
.drag-item:hover{border-color:var(--blue);background:var(--blue-light);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,88,124,.12)}
.drag-item.is-dragging{opacity:.35;cursor:grabbing}
.drag-item.selected{border-color:var(--blue);background:var(--blue-light);box-shadow:0 0 0 2px var(--blue);}
.drag-item.placed{background:#fff;font-size:1.25rem;padding:.7rem 1.1rem;cursor:pointer;margin-bottom:.5rem;border-color:var(--lc,var(--cream-dark))}
.drag-item.placed:hover{opacity:.65;transform:none}
.drag-item.wrong{background:#fff0f0;border-color:var(--red)}
.drag-item.right{background:#eef2e5;border-color:var(--green)}
.dnd-targets{display:flex;flex-direction:column;gap:1rem}
.drop-zone{background:#fff;border-radius:8px;padding:1.2rem 1.4rem;border-left:4px solid var(--lc,var(--blue));box-shadow:0 1px 6px rgba(7,24,30,.05);min-height:6.4rem;transition:all .15s var(--ease-fast)}
.drop-zone.drag-over{background:var(--blue-light);box-shadow:0 0 0 2px var(--blue)}
.drop-zone-header{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}
.dz-icon{width:2.8rem;flex-shrink:0}
.dz-name{font-size:1.3rem;font-weight:700;color:var(--lc,var(--charcoal))}
.dz-name-fr{font-size:1.1rem;color:var(--ch-300)}
.dz-items{display:flex;flex-wrap:wrap;gap:.5rem;min-height:2.4rem}
.dz-hint{font-size:1.2rem;color:var(--ch-200);font-style:italic}
.activity-controls{display:flex;gap:1.2rem;margin-top:2.4rem;flex-wrap:wrap;align-items:center}
.btn{font-family:'Modern Gothic',system-ui,sans-serif;font-size:1.4rem;padding:1rem 2.4rem;border-radius:4px;cursor:pointer;border:none;transition:all .2s var(--ease)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-dark);transform:translateY(-1px)}
.btn-secondary{background:#fff;color:var(--charcoal);border:1.5px solid var(--cream-dark)}
.btn-secondary:hover{border-color:var(--blue);color:var(--blue)}
.feedback-box{display:none;margin-top:1.6rem;padding:1.6rem 2rem;border-radius:var(--radius);font-size:1.45rem;line-height:1.55}
.feedback-box.show{display:flex;gap:1.2rem;align-items:flex-start}
.feedback-box.correct{background:#eef2e5;border:1px solid var(--green);color:#3d4c11}
.feedback-box.partial{background:#fff8e6;border:1px solid var(--gold);color:#4c4014}
.fb-icon{font-size:2.4rem;flex-shrink:0}
.score-chip{display:inline-flex;align-items:center;background:var(--blue);color:#fff;font-weight:700;font-size:1.4rem;padding:.5rem 1.4rem;border-radius:2rem;flex-shrink:0}
.scenario-wrap{display:grid;grid-template-columns:1.3fr .9fr;gap:2.4rem;align-items:start}
@media(max-width:820px){.scenario-wrap{grid-template-columns:1fr}}
.scenario-card{background:#fff;border-radius:var(--radius);padding:3rem;box-shadow:0 2px 10px rgba(7,24,30,.06)}
.sc-disc-tag{font-size:1.1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:.8rem}
.scenario-card h3{font-size:2.2rem;font-weight:400;letter-spacing:-.02em;color:var(--charcoal);margin-bottom:1.6rem;line-height:1.15}
.sc-context{font-size:1.5rem;color:var(--ch-400);line-height:1.65;margin-bottom:1.6rem}
.sc-question{font-size:1.4rem;font-weight:500;color:var(--charcoal);margin-bottom:1.2rem}
.sc-task{background:var(--cream);border-left:3px solid var(--blue);padding:1.4rem 1.8rem;border-radius:0 8px 8px 0;font-size:1.4rem;color:var(--charcoal);line-height:1.55;font-style:italic}
.choice-panel{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:0 2px 10px rgba(7,24,30,.06);position:sticky;top:14rem}
.choice-panel h3{font-size:1.5rem;font-weight:700;color:var(--charcoal);margin-bottom:.3rem}
.cp-sub{font-size:1.3rem;color:var(--ch-300);margin-bottom:1.6rem;padding-bottom:1.6rem;border-bottom:1px solid var(--cream-dark)}
.level-opt{display:flex;align-items:flex-start;gap:1.1rem;padding:1.1rem;border-radius:8px;cursor:pointer;margin-bottom:.7rem;border:2px solid transparent;transition:all .15s var(--ease-fast)}
.level-opt:hover{background:var(--cream)}
.level-opt.selected{background:var(--blue-light);border-color:var(--blue)}
.level-opt.show-correct{background:#eef2e5;border-color:var(--green)}
.level-opt.show-wrong{background:#fff0f0;border-color:var(--red)}
.lo-icon{width:5.6rem;height:5.6rem;flex-shrink:0}
.lo-name{font-size:1.35rem;font-weight:700;color:var(--charcoal)}
.lo-sub{font-size:1.15rem;color:var(--ch-300)}
.sc-feedback{display:none;margin-top:1.6rem;padding:1.4rem;border-radius:8px;font-size:1.35rem;line-height:1.55}
.sc-feedback.show{display:block}
.sc-feedback.correct{background:#eef2e5;border:1px solid var(--green);color:#3d4c11}
.sc-feedback.wrong{background:#fff0f0;border:1px solid var(--red);color:#782526}
.sc-nav{display:flex;align-items:center;justify-content:space-between;margin-top:3.2rem;padding-top:2rem;border-top:1px solid var(--cream-dark);flex-wrap:wrap;gap:1.2rem}
.sc-progress{font-size:1.35rem;color:var(--ch-300)}
.sc-progress strong{color:var(--blue);font-size:1.8rem}
.redesign-intro{background:#fff;border-radius:var(--radius);padding:2.4rem;box-shadow:0 2px 10px rgba(7,24,30,.06);margin-bottom:2.4rem}
.redesign-intro p{font-size:1.5rem;color:var(--ch-400);line-height:1.65}
.redesign-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2.4rem}
@media(max-width:700px){.redesign-grid{grid-template-columns:1fr}}
.redesign-card{background:#fff;border-radius:var(--radius);padding:2.4rem;box-shadow:0 2px 10px rgba(7,24,30,.06);border-top:3px solid var(--lc,var(--blue))}
.redesign-card h4{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;color:var(--charcoal);margin-bottom:.4rem}
.rd-level{font-size:2.3rem;color:var(--lc,var(--blue));font-weight:700;letter-spacing:-.01em;line-height:1.1;margin-bottom:1.2rem}
.redesign-card p{font-size:1.4rem;color:var(--ch-400);line-height:1.6;margin-bottom:1rem}
.redesign-card ul{list-style:none;padding:0}
.redesign-card ul li{font-size:1.35rem;color:var(--ch-400);padding:.5rem 0 .5rem 1.6rem;border-bottom:1px solid var(--cream-dark);position:relative;line-height:1.4}
.redesign-card ul li:last-child{border-bottom:none}
.redesign-card ul li::before{content:'→';position:absolute;left:0;color:var(--lc,var(--blue));font-weight:700}
.disc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38rem,1fr));gap:1.6rem;margin-bottom:3.2rem}
.disc-card{background:#fff;border-radius:var(--radius);padding:1.6rem 2rem;box-shadow:0 2px 10px rgba(7,24,30,.06);border-top:3px solid var(--lc,var(--blue))}
.disc-card h3{font-size:1.6rem;font-weight:400;letter-spacing:-.02em;color:var(--charcoal);margin-bottom:1.2rem;line-height:1.25}
.disc-card ul{list-style:none;padding:0}
.disc-card ul li{font-size:1.4rem;color:var(--ch-400);padding:.65rem 0 .65rem 1.6rem;border-bottom:1px solid var(--cream-dark);position:relative;line-height:1.5}
.disc-card ul li:last-child{border-bottom:none}
.disc-card ul li::before{content:'→';position:absolute;left:0;color:var(--lc,var(--blue));font-weight:700}
.ref-box{background:var(--charcoal);border-radius:var(--radius);padding:2.8rem;color:var(--cream)}
.ref-box .rt{font-size:1.1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-mid);font-weight:700;margin-bottom:1.2rem}
.ref-box p{font-size:1.5rem;line-height:1.7;opacity:.82}
.ref-box .credit{font-size:1.2rem;opacity:.45;margin-top:1.6rem}
.footer-wrap{background:var(--charcoal);border-top:3px solid var(--blue);padding:4rem 2.4rem;margin-top:4rem}
.footer-inner{max-width:clamp(60rem,92vw,160rem);margin:0 auto;display:grid;grid-template-columns:1fr 1.8fr;gap:4rem;align-items:start}
@media(max-width:720px){.footer-inner{grid-template-columns:1fr;gap:2.4rem}}
.footer-label{font-size:1.1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-mid);margin-bottom:.8rem}
.footer-author{font-size:1.5rem;color:var(--cream);line-height:1.4;font-weight:400;margin-bottom:.8rem}
.footer-gac{font-size:1.15rem;color:var(--ch-300);letter-spacing:.02em}
.footer-dev-text{font-size:1.35rem;color:rgba(248,245,233,.65);line-height:1.65;margin-bottom:1.2rem}
.footer-dev-text strong{color:var(--cream);font-weight:500}
.footer-tool{font-size:1.25rem;color:var(--ch-300);display:flex;gap:.5rem;flex-wrap:wrap;align-items:baseline}
.footer-tool-label{font-weight:700;color:var(--ch-200)}
.footer-links{margin-top:2rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:.8rem}
.footer-link{color:var(--blue-mid);text-decoration:none;font-size:1.25rem;border-bottom:1px solid rgba(51,121,150,.3);transition:color .15s,border-color .15s}
.footer-link:hover{color:var(--blue-100);border-color:var(--blue-100)}
.footer-links-sep{color:var(--ch-400);font-size:1.2rem;align-self:center}
.mt-md{margin-top:2.4rem}

.rd-pc { margin-top:.8rem; }
.rd-pc-item { font-size:1.3rem; color:var(--ch-400); padding:.35rem 0 .35rem 1.8rem; position:relative; line-height:1.4; border-bottom:1px solid var(--cream-dark); }
.rd-pc-item:last-child { border-bottom:none; }
.rd-pc-item::before { position:absolute; left:0; font-size:1.4rem; line-height:1; top:.3rem; }
.rd-pc-item.pro::before { content:'👍'; }
.rd-pc-item.con::before { content:'👎'; }
.rd-pc-cons { margin-top:1.2rem; }

.active-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(42rem,1fr)); gap:2rem; margin-bottom:2.4rem; }
.active-card { background:#fff; border-radius:var(--radius); padding:2.4rem; box-shadow:0 2px 10px rgba(7,24,30,.06); }
.active-card-header { display:flex; align-items:center; gap:1.2rem; margin-bottom:1.2rem; padding-bottom:1.2rem; border-bottom:1px solid var(--cream-dark); }
.active-icon { font-size:3.2rem; line-height:1; flex-shrink:0; }
.active-title { font-size:2rem; font-weight:400; letter-spacing:-.02em; color:var(--charcoal); line-height:1.1; }
.active-intro { font-size:1.4rem; color:var(--ch-400); line-height:1.6; margin-bottom:1.4rem; font-style:italic; }
.active-examples { list-style:none; padding:0; margin-bottom:1.2rem; }
.active-examples li { font-size:1.35rem; color:var(--ch-500); padding:.55rem 0 .55rem 0; border-bottom:1px solid var(--cream-dark); line-height:1.45; display:grid; grid-template-columns:minmax(11rem,max-content) 1fr; gap:1.2rem; align-items:start; }
.active-examples li:last-child { border-bottom:none; }
.active-disc { font-size:1.2rem; font-weight:700; color:var(--charcoal); white-space:nowrap; }
.active-note { font-size:1.3rem; color:var(--blue); background:var(--blue-light); border-radius:6px; padding:.8rem 1.2rem; line-height:1.5; }

.crit-callout { background:var(--cream); border-left:4px solid var(--charcoal); border-radius:0 8px 8px 0; padding:1.4rem 1.8rem; font-size:1.4rem; color:var(--charcoal); line-height:1.65; margin-bottom:2.4rem; }
.crit-callout strong { color:var(--charcoal); }
.active-crit-note { background:#fff8e6; border:1px solid var(--gold); border-radius:8px; padding:1.1rem 1.4rem; font-size:1.3rem; color:var(--charcoal); line-height:1.55; margin-bottom:1.6rem; }

.closing-section{margin-top:3.2rem;padding-top:2.4rem;border-top:1px solid var(--cream-dark)}
.closing-thankyou{font-size:clamp(2.8rem,4vw,4.4rem);font-weight:400;letter-spacing:-.03em;color:var(--charcoal);line-height:1;margin-bottom:.8rem}
.closing-sub{font-size:1.5rem;color:var(--ch-400);margin-bottom:2.4rem}
.closing-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
@media(max-width:680px){.closing-grid{grid-template-columns:1fr}}
.contact-card{background:var(--charcoal);color:var(--cream);border-radius:var(--radius);padding:2.4rem;display:flex;flex-direction:column;gap:1.6rem}
.contact-card-inner{display:flex;gap:2rem;align-items:flex-start}
.contact-qr{width:192px;height:192px;min-width:192px;flex-shrink:0;border-radius:6px;overflow:hidden;background:#fff;padding:.4rem}
.contact-qr img{width:100%;height:auto;display:block}
.contact-name{font-size:1.8rem;font-weight:400;letter-spacing:-.02em;color:var(--cream);margin-bottom:.4rem}
.contact-title{font-size:1.3rem;color:var(--ch-200);line-height:1.5;margin-bottom:.8rem}
.contact-links{display:flex;flex-direction:column;gap:.5rem}
.contact-link{color:var(--blue-100);font-size:1.3rem;text-decoration:none;border-bottom:1px solid rgba(179,208,218,.25);padding-bottom:.2rem;transition:color .15s,border-color .15s}
.contact-link:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.share-card{background:#fff;border-radius:var(--radius);padding:2.4rem;box-shadow:0 2px 10px rgba(7,24,30,.06);display:flex;flex-direction:column;gap:1.2rem}
.share-card h3{font-size:1.6rem;font-weight:400;letter-spacing:-.02em;color:var(--charcoal)}
.share-card p{font-size:1.4rem;color:var(--ch-400);line-height:1.55}
.share-preview{background:var(--cream);border-radius:8px;padding:1.2rem 1.4rem;font-size:1.35rem;color:var(--charcoal);line-height:1.55;font-style:italic;border-left:3px solid var(--blue)}
.share-btn{background:var(--blue);color:#fff;border:none;font-family:'Modern Gothic',system-ui,sans-serif;font-size:1.4rem;padding:1rem 2rem;border-radius:4px;cursor:pointer;transition:all .2s var(--ease);display:flex;align-items:center;gap:.8rem;align-self:flex-start}
.share-btn:hover{background:var(--blue-dark);transform:translateY(-1px)}
.share-copied{font-size:1.2rem;color:var(--green);display:none}
.share-copied.show{display:inline}

/* ── LESSONS ACCORDION ───────────────────────────────────────────────────── */
.lessons-group{margin-bottom:1rem;border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 8px rgba(7,24,30,.06)}
.lessons-group summary{list-style:none;cursor:pointer;background:#fff;padding:1.4rem 1.8rem;display:flex;align-items:center;gap:1rem;font-size:1.45rem;font-weight:700;letter-spacing:-.01em;color:var(--charcoal);border-left:4px solid var(--blue);transition:background .15s;user-select:none}
.lessons-group summary::-webkit-details-marker{display:none}
.lessons-group summary::after{content:'↓';margin-left:auto;font-size:1.1rem;color:var(--ch-300);transition:transform .2s}
.lessons-group[open] summary::after{transform:rotate(180deg)}
.lessons-group summary:hover{background:var(--blue-light)}
.lessons-group[open] summary{background:var(--blue-light);border-left-color:var(--blue-dark)}
.lessons-body{background:#fff;padding:1.8rem 1.8rem 1.8rem 2.2rem;border-left:4px solid var(--cream-dark)}
.lessons-body p{font-size:1.4rem;color:var(--ch-400);line-height:1.65;margin-bottom:1rem}
.lessons-body ul{list-style:none;padding:0;margin:0}
.lessons-body ul li{font-size:1.35rem;color:var(--ch-400);line-height:1.5;padding:.5rem 0 .5rem 1.6rem;border-bottom:1px solid var(--cream-dark);position:relative}
.lessons-body ul li:last-child{border-bottom:none}
.lessons-body ul li::before{content:'→';position:absolute;left:0;color:var(--blue);font-weight:700}
.lessons-programs{font-size:1.15rem;color:var(--ch-200);margin-top:1rem;font-style:italic}
.lessons-sub{font-size:1.1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin:2rem 0 .6rem}


/* ── VISUALISER ── */
    /* Visualiser: scoped within .viz-wrap */
    .viz-wrap { background: #fff; border: 1px solid var(--cream-dark); border-radius: 8px; overflow: hidden; margin-bottom: 2.4rem; }
    .viz-ctrl {
      background: var(--cream);
      padding: 1.4rem 2rem;
      border-bottom: 1px solid var(--cream-dark);
      display: flex;
      align-items: center;
      gap: 1.6rem;
      flex-wrap: wrap;
    }
    .viz-ctrl-label {
      font-size: 1rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--ch-400);
      font-family: 'DM Mono', monospace;
    }
    .gran-btn {
      background: #fff;
      border: 1px solid var(--cream-dark);
      color: var(--ch-400);
      font-family: 'Modern Gothic', system-ui, sans-serif;
      font-size: 1.2rem;
      padding: .45rem 1.2rem;
      border-radius: 4px;
      cursor: pointer;
      transition: all .15s;
    }
    .gran-btn.active { background: rgba(176,108,222,.15); border-color: #b06cde; color: #b06cde; }
    .gran-btn:hover:not(.active) { border-color: var(--blue); color: var(--blue); }
    .viz-context {
      background: var(--cream);
      padding: 1rem 2rem;
      border-bottom: 1px solid var(--cream-dark);
      display: flex;
      gap: 2rem;
      flex-wrap: wrap;
      font-size: 1.2rem;
      color: var(--ch-400);
      line-height: 1.55;
    }
    .viz-ctx-grp { display: flex; gap: .6rem; align-items: baseline; flex-wrap: wrap; max-width: 38rem; }
    .viz-ctx-tag {
      font-family: 'DM Mono', monospace;
      font-size: .95rem;
      letter-spacing: .06em;
      color: var(--blue);
      background: var(--blue-light);
      border: 1px solid var(--blue-100);
      padding: .15rem .6rem;
      border-radius: 3px;
      white-space: nowrap;
      flex-shrink: 0;
    }
    .viz-legend {
      background: var(--cream);
      padding: 1rem 2rem;
      display: flex;
      gap: 1.6rem;
      flex-wrap: wrap;
      border-bottom: 1px solid var(--cream-dark);
    }
    .viz-legend-item { display: flex; align-items: center; gap: .5rem; font-size: 1.1rem; color: var(--ch-400); font-family: 'DM Mono', monospace; }
    .viz-legend-dot { width: .9rem; height: .9rem; border-radius: 50%; flex-shrink: 0; }
    .viz-chart { padding: 2rem 2rem 3rem; display: flex; flex-direction: column; gap: 2.8rem; background: #fff; }
    .viz-prog-block {}
    .viz-prog-desc { font-size:1.3rem; color:var(--ch-400); line-height:1.55; margin-bottom:1.2rem; max-width:72rem; font-style:italic; }
    .viz-prog-name {
      font-family: 'DM Mono', monospace;
      font-size: 1rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--ch-400);
      margin-bottom: 1rem;
      display: flex;
      align-items: center;
      gap: .8rem;
    }
    .viz-prog-name::after { content: ''; flex: 1; height: 1px; background: var(--cream-dark); }
    .viz-prog-desc {
      font-size: 1.25rem;
      color: var(--ch-400);
      line-height: 1.5;
      margin-bottom: 1.2rem;
      max-width: 80rem;
    }
    .viz-sessions { display: grid; grid-template-columns: repeat(6, 1fr); gap: .8rem; }
    .viz-sess-col { display: flex; flex-direction: column; gap: .3rem; }
    .viz-sess-lbl { font-family: 'DM Mono', monospace; font-size: .95rem; color: var(--ch-200); letter-spacing: .06em; text-align: center; margin-bottom: .3rem; }
    .viz-stack { display: flex; flex-direction: column; gap: 2px; min-height: 10rem; }
    .viz-seg {
      border-radius: 3px; min-height: 4px; cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      transition: filter .15s, transform .15s; position: relative;
    }
    .viz-seg:hover { filter: brightness(1.3); transform: scaleX(1.04); z-index: 10; }
    .viz-seg[data-lv="0"] { background: var(--l0); }
    .viz-seg[data-lv="1"] { background: var(--l1); }
    .viz-seg[data-lv="2"] { background: var(--l2); }
    .viz-seg[data-lv="3"] { background: var(--l3); }
    .viz-seg[data-lv="4"] { background: var(--l4); }
    .viz-seg-cnt { font-family: 'DM Mono', monospace; font-size: .9rem; font-weight: 500; color: rgba(0,0,0,.7); pointer-events: none; user-select: none; }
    .viz-nodata { flex: 1; border: 1px dashed var(--cream-dark); border-radius: 3px; display: flex; align-items: center; justify-content: center; min-height: 5rem; }
    .viz-nodata-txt { font-family: 'DM Mono', monospace; font-size: .9rem; color: var(--ch-200); }
    #viz-tooltip {
      position: fixed; background: var(--blue-light); border: 1px solid var(--cream-dark); border-radius: 8px;
      padding: 1rem 1.4rem; pointer-events: none; z-index: 2000; max-width: 26rem;
      box-shadow: 0 8px 32px rgba(0,0,0,.6); display: none;
    }
    #viz-tooltip.visible { display: block; }
    .vtt-lv { font-size: .95rem; font-family: 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .3rem; }
    .vtt-prog { font-size: 1.1rem; font-weight: 700; color: #e8ecf4; margin-bottom: .6rem; }
    .vtt-sess { font-size: .95rem; color: #b0b8cc; margin-bottom: .6rem; font-family: 'DM Mono', monospace; }
    .vtt-courses { display: block; }
    .vtt-course { font-size: 1.1rem; color: #e8ecf4; padding: .25rem .5rem; border-radius: 3px; background: rgba(255,255,255,.04); line-height: 1.4; }

/* ── SURVEY SECTION ─────────────────────────────────────────────────────── */
.inst-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
  gap: 1.6rem;
  margin-bottom: 3.2rem;
}
.inst-card {
  background: #fff;
  border-radius: var(--radius);
  border-top: 4px solid var(--card-color, var(--blue));
  box-shadow: 0 2px 10px rgba(7,24,30,.06);
  padding: 2rem;
  cursor: pointer;
  transition: all .2s var(--ease);
}
.inst-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(7,24,30,.1); }
.inst-card.selected { box-shadow: 0 0 0 2.5px var(--card-color, var(--blue)); }
.inst-name { font-size: 1.6rem; font-weight: 500; letter-spacing: -.02em; color: var(--charcoal); margin-bottom: .4rem; }
.inst-meta { font-size: 1.2rem; color: var(--ch-300); letter-spacing: .03em; margin-bottom: 1.4rem; }
.inst-stance-badge {
  display: inline-block;
  font-size: 1.05rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
  padding: .35rem 1rem; border-radius: 2rem;
  background: var(--badge-bg, var(--blue-light)); color: var(--badge-color, var(--blue));
  margin-bottom: 1.2rem;
}
.mini-bars { display: flex; flex-direction: column; gap: .5rem; }
.mini-bar-row { display: flex; align-items: center; gap: .8rem; }
.mini-bar-label { font-size: 1.1rem; color: var(--ch-400); width: 9rem; flex-shrink: 0; }
.mini-bar-track { flex: 1; background: var(--cream-dark); border-radius: 3px; height: .6rem; }
.mini-bar-fill { height: 100%; border-radius: 3px; background: var(--card-color, var(--blue)); transition: width .6s var(--ease); }
.mini-bar-val { font-size: 1.05rem; color: var(--ch-300); width: 3rem; text-align: right; flex-shrink: 0; }
.survey-detail-panel {
  background: #fff;
  border-radius: var(--radius);
  box-shadow: 0 4px 24px rgba(7,24,30,.08);
  border-left: 5px solid var(--panel-color, var(--blue));
  padding: 2.8rem;
  margin-bottom: 3.2rem;
  display: none;
}
.survey-detail-panel.open { display: block; }
.dp-header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 2.4rem; gap: 1.6rem; }
.dp-title { font-size: 2.4rem; font-weight: 400; letter-spacing: -.03em; color: var(--charcoal); }
.dp-subtitle { font-size: 1.3rem; color: var(--ch-300); margin-top: .4rem; }
.dp-close { background: none; border: none; color: var(--ch-200); font-size: 2.4rem; cursor: pointer; line-height: 1; flex-shrink: 0; }
.dp-close:hover { color: var(--charcoal); }
.dp-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 2.4rem; }
@media(max-width:800px){ .dp-grid { grid-template-columns: 1fr; } }
.dp-section h4 { font-size: 1.1rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--panel-color, var(--blue)); margin-bottom: 1rem; }
.stance-bars { display: flex; flex-direction: column; gap: .8rem; }
.stance-row { display: flex; align-items: center; gap: .8rem; }
.stance-lbl { font-size: 1.3rem; color: var(--charcoal); min-width: 14rem; }
.stance-track { flex: 1; background: var(--cream-dark); border-radius: 4px; height: .9rem; }
.stance-fill { height: 100%; border-radius: 4px; transition: width .7s var(--ease); }
.stance-n { font-size: 1.2rem; color: var(--ch-300); width: 2rem; text-align: right; }
.stat-big { font-size: 3.6rem; font-weight: 700; letter-spacing: -.04em; color: var(--panel-color, var(--blue)); line-height: 1; }
.stat-lbl { font-size: 1.2rem; color: var(--ch-400); letter-spacing: .04em; margin-top: .4rem; }
.b1-list { display: flex; flex-direction: column; gap: .5rem; }
.b1-item { font-size: 1.3rem; color: var(--ch-400); display: flex; align-items: flex-start; gap: .6rem; line-height: 1.4; }
.b1-item::before { content: '→'; color: var(--panel-color, var(--blue)); flex-shrink: 0; }
.stance-chip {
  display: inline-block; font-size: 1rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
  padding: .25rem .8rem; border-radius: 2rem;
}

/* ── VIZ SIDEBAR LAYOUT ──────────────────────────────────────────────────── */
.viz-layout {
  display: grid;
  grid-template-columns: 12rem 1fr;
  gap: 2rem;
  align-items: start;
}
@media(max-width:700px) { .viz-layout { grid-template-columns: 1fr; } }
.viz-sidebar {
  position: sticky;
  top: 14rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.viz-main {
  min-width: 0;
}
/* Override: ctrl and legend inside sidebar are borderless, no top border */
.viz-sidebar .viz-ctrl {
  border-bottom: none;
  border-radius: var(--radius);
  flex-direction: column;
  align-items: flex-start;
  gap: .8rem;
  padding: 1.2rem;
}
.viz-sidebar .viz-legend {
  border-bottom: none;
  border-radius: var(--radius);
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1.2rem;
}

/* Source hyperlinks — subtle, inherits context colour */
.crit-callout a, #scale-origin-p a, .footer-ref a, p a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 2px;
  opacity: .8;
}
.crit-callout a:hover, #scale-origin-p a:hover, .footer-ref a:hover, p a:hover {
  opacity: 1;
}

/* Survey form callout */
.survey-cta{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:1rem}
