
:root{
  --navy:#0B1F3A;
  --navy-2:#102A4C;
  --navy-3:#07172B;
  --gold:#C8A24A;
  --gold-soft:#E6D39A;
  --blue:#3B82F6;
  --green:#16A34A;
  --gray:#64748B;
  --orange:#F97316;
  --white:#FFFFFF;
  --card:#F8FAFC;
  --card-2:#E2E8F0;
  --text:#102033;
  --muted:#475569;
  --line:#D7DEE9;
  --success:#147A46;
  --radius:18px;
  --focus:0 0 0 4px rgba(200,162,74,.36);
  --shadow:0 20px 44px rgba(2,10,28,.24);
  --shadow-soft:0 12px 26px rgba(2,10,28,.15);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:radial-gradient(circle at 15% 5%,rgba(200,162,74,.13),transparent 28rem),radial-gradient(circle at 82% 28%,rgba(59,130,246,.12),transparent 30rem),linear-gradient(180deg,var(--navy-3),var(--navy));
  color:white;line-height:1.58;min-height:100vh;
}
a{color:inherit}.container{width:min(1280px,92vw);margin:0 auto}.skip-link{position:absolute;left:-999px;top:1rem;background:var(--gold);color:var(--navy);padding:.75rem 1rem;border-radius:.5rem;z-index:999}.skip-link:focus{left:1rem;box-shadow:var(--focus)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,23,43,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.10)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:white;font-weight:900;letter-spacing:-.03em}.brand-logo{height:44px;max-width:190px;object-fit:contain;background:white;border-radius:12px;padding:5px 8px;box-shadow:0 6px 18px rgba(0,0,0,.18)}.brand-text{display:block}.brand-title{font-size:1.18rem}.brand-sub{display:block;color:#D4DFEC;font-size:.78rem;font-weight:650;letter-spacing:.02em}.nav-links{display:flex;align-items:center;gap:.25rem;list-style:none;flex-wrap:wrap}.nav-links a{text-decoration:none;color:#E5EDF7;padding:.7rem .86rem;border-radius:999px;font-weight:700;font-size:.94rem}.nav-links a:hover,.nav-links a:focus,.nav-links a[aria-current="page"]{background:var(--gold);color:var(--navy);outline:none}.nav-toggle{display:none;border:1px solid rgba(200,162,74,.55);background:rgba(200,162,74,.12);color:var(--gold-soft);border-radius:999px;padding:.65rem 1rem;font-weight:900}
.hero,.page-hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(255,255,255,.055),transparent 44%),linear-gradient(180deg,rgba(11,31,58,.98),rgba(7,23,43,.96))}.hero::before,.page-hero::before{content:"";position:absolute;inset:-10%;opacity:.12;background-image:linear-gradient(rgba(200,162,74,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(200,162,74,.42) 1px,transparent 1px);background-size:90px 90px;transform:rotate(-1.2deg)}.hero-grid{position:relative;z-index:1;padding:5rem 0;display:grid;grid-template-columns:1fr minmax(300px,440px);gap:2.4rem;align-items:center}.page-hero .hero-grid{padding:4rem 0}.eyebrow{color:var(--gold-soft);font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;font-weight:950;margin-bottom:.5rem}.hero h1,.page-hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.94;letter-spacing:-.075em;font-weight:950;margin-bottom:1rem}.hero p,.page-hero p{color:#D8E3EF;max-width:760px;font-size:clamp(1.05rem,1.7vw,1.25rem)}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;border-radius:999px;padding:.82rem 1.05rem;font-weight:900;background:var(--gold);color:var(--navy);border:1px solid var(--gold);box-shadow:0 10px 24px rgba(0,0,0,.18)}.btn:hover,.btn:focus{transform:translateY(-2px);outline:none;box-shadow:var(--focus)}.btn.secondary{background:rgba(255,255,255,.08);color:white;border-color:rgba(255,255,255,.22)}.btn.dark{background:var(--navy);color:white;border-color:var(--navy)}.btn.small{padding:.55rem .82rem;font-size:.86rem}
main{padding-bottom:5rem}section{padding:4.25rem 0 0}.section-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.section-header h2,h2{font-size:clamp(1.8rem,3vw,2.55rem);letter-spacing:-.04em;line-height:1.05}.section-subtitle,.muted{color:#C7D3E1;max-width:70ch}.light-section{background:#F4F7FB;color:var(--text);padding:4.5rem 0}.light-section .section-subtitle,.light-section .muted{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(180deg,var(--white),var(--card));color:var(--text);border-radius:var(--radius);padding:1.35rem;border:1px solid rgba(255,255,255,.55);box-shadow:var(--shadow-soft)}.card.dark{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));color:white;border:1px solid rgba(255,255,255,.13)}.card h3{font-size:1.24rem;line-height:1.18;margin-bottom:.55rem;letter-spacing:-.02em}.card p{color:var(--muted)}.card.dark p{color:#D8E3EF}.tag{display:inline-block;color:var(--navy);background:var(--gold);font-weight:950;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.32rem .62rem;margin-bottom:.85rem}.tag.blue{background:#DBEAFE;color:#1E3A8A}.tag.green{background:#DCFCE7;color:#14532D}.tag.gray{background:#E5E7EB;color:#374151}.tag.orange{background:#FFEDD5;color:#9A3412}.list{display:grid;gap:.7rem;margin-top:.9rem}.list li{margin-left:1.2rem}.course-card{display:flex;flex-direction:column;min-height:420px;text-decoration:none;background:linear-gradient(180deg,var(--white),var(--card));color:var(--text);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.55);transition:.2s ease;position:relative}.course-card:hover,.course-card:focus{transform:translateY(-7px);box-shadow:0 30px 70px rgba(0,0,0,.45),0 0 0 2px rgba(200,162,74,.65);outline:none}.accent-strip{height:8px;background:var(--blue)}.poe .accent-strip{background:var(--green)}.adm .accent-strip{background:var(--gray)}.course-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}.course-abbr{font-size:4rem;line-height:.85;font-weight:950;letter-spacing:-.08em}.course-name{font-weight:900;font-size:1.05rem;margin:.7rem 0}.course-desc{color:var(--muted);margin-bottom:1.2rem}.card-meta{margin-top:auto;border-top:1px solid var(--line);padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;font-weight:900;color:#334155}.icon-box{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#EDF4FF;color:var(--blue);font-size:1.45rem;margin-bottom:1rem}.poe .icon-box{background:#ECFDF3;color:var(--green)}.adm .icon-box{background:#F1F5F9;color:var(--gray)}
.table-wrap{overflow:auto;border-radius:16px;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.2)}table{width:100%;border-collapse:collapse;background:white;color:var(--text)}th,td{padding:.9rem 1rem;border-bottom:1px solid #DDE4EF;text-align:left;vertical-align:top}th{background:#EAF0F8;color:var(--navy);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}tr:last-child td{border-bottom:none}.unit-map{display:grid;gap:1rem}.unit-row{display:grid;grid-template-columns:110px 1fr auto;gap:1rem;align-items:center;background:linear-gradient(180deg,#fff,#F8FAFC);color:var(--text);border:1px solid rgba(255,255,255,.6);border-radius:18px;padding:1rem;box-shadow:var(--shadow-soft)}.unit-row p{color:var(--muted)}.unit-number{font-size:.9rem;font-weight:950;color:var(--navy);background:#EAF0F8;border-radius:14px;padding:.8rem;text-align:center}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.lesson-card{display:block;text-decoration:none;background:white;color:var(--text);border:1px solid #DDE4EF;border-radius:16px;padding:1rem;transition:.18s ease}.lesson-card:hover,.lesson-card:focus{transform:translateY(-3px);box-shadow:var(--shadow-soft);outline:2px solid var(--gold)}.lesson-card strong{display:block;color:var(--navy);margin-bottom:.35rem}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.5rem}.side-panel{position:sticky;top:92px;align-self:start}.lesson-block{margin-bottom:1rem}.callout{border-left:5px solid var(--gold);background:#FFF8E8;color:var(--text);border-radius:12px;padding:1rem;margin:1rem 0}.checklist{display:grid;gap:.55rem;margin-top:.75rem}.checklist div{background:#F8FAFC;border:1px solid #DDE4EF;border-radius:12px;padding:.65rem}.progress-dots{display:flex;flex-wrap:wrap;gap:.38rem;margin-top:.7rem}.progress-dots a{width:32px;height:32px;border-radius:999px;background:white;color:var(--navy);display:grid;place-items:center;text-decoration:none;font-size:.72rem;font-weight:950;border:1px solid #DDE4EF}.progress-dots a.current{background:var(--gold);border-color:var(--gold)}.resource-search{width:100%;padding:1rem;border:1px solid #D7DEE9;border-radius:14px;font-size:1rem;margin-bottom:1.25rem}.resource-card{display:flex;flex-direction:column;background:white;color:var(--text);border:1px solid #DDE4EF;border-radius:16px;padding:1rem;min-height:190px}.resource-card p{color:var(--muted)}.resource-actions{margin-top:auto;padding-top:1rem;display:flex;gap:.6rem;flex-wrap:wrap}.status-pill{display:inline-block;border-radius:999px;background:#ECFDF3;color:#14532D;font-weight:900;font-size:.78rem;padding:.25rem .55rem}.draft{background:#FFF7ED;color:#9A3412}.planned{background:#EFF6FF;color:#1E3A8A}.asset-preview{width:100%;border-radius:14px;border:1px solid #DDE4EF;background:#F8FAFC;max-height:260px;object-fit:contain;padding:.5rem}.footer{border-top:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.18);padding:2.5rem 0;color:#CBD5E1}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer-logo{height:38px;background:white;border-radius:10px;padding:4px 8px}.footer a{color:#E5EDF7;text-decoration:none;font-weight:800}.footer a:hover{color:var(--gold)}
@media(max-width:980px){.nav{align-items:flex-start;flex-direction:column;padding:1rem 0}.nav-toggle{display:inline-flex}.nav-links{display:none;width:100%;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{display:block}.hero-grid,.grid,.grid.two,.grid.four,.lesson-layout,.lesson-grid{grid-template-columns:1fr}.unit-row{grid-template-columns:1fr}.side-panel{position:static}.course-card{min-height:auto}.hero h1,.page-hero h1{font-size:clamp(2.4rem,12vw,4rem)}}


/* RC3 lesson-page polish: align dynamic IED lesson pages with the homepage theme */
.lesson-page .site-header .brand-logo{
  background:#FFFFFF;
  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;
  padding:6px 10px;
  height:48px;
  max-width:205px;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.lesson-page .brand-text{
  display:block;
  line-height:1.05;
}
.lesson-page .brand-title{
  display:block;
  font-size:1.2rem;
  font-weight:950;
  letter-spacing:-.025em;
}
.lesson-page .brand-sub{
  display:block;
  margin-top:.18rem;
  color:#D4DFEC;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.015em;
}
.lesson-hero .hero-grid{
  padding:4.25rem 0 4.75rem;
  grid-template-columns:minmax(0,1fr) minmax(300px,440px);
}
.lesson-hero h1{
  font-size:clamp(2.7rem,5.4vw,5.25rem);
  max-width:900px;
}
.lesson-hero p{
  max-width:820px;
}
.lesson-callout{
  align-self:center;
}
.lesson-content-section{
  padding:3rem 0 4rem;
}
.lesson-card h2{
  margin-top:1.35rem;
}
.lesson-card h2:first-of-type{
  margin-top:0;
}
.check-list{
  list-style:none;
  margin:1rem 0 0;
  padding:0;
  display:grid;
  gap:.7rem;
}
.check-list li{
  position:relative;
  padding:.85rem 1rem .85rem 2.5rem;
  background:#F8FAFC;
  border:1px solid var(--line);
  border-radius:14px;
  color:var(--text);
  font-weight:700;
}
.check-list li::before{
  content:"";
  position:absolute;
  left:1rem;
  top:1.15rem;
  width:.55rem;
  height:.55rem;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(200,162,74,.18);
}
.lesson-sidebar hr{
  border:0;
  border-top:1px solid var(--line);
  margin:1rem 0;
}
@media(max-width:900px){
  .lesson-hero .hero-grid{grid-template-columns:1fr}
  .lesson-page .brand-logo{height:42px;max-width:170px}
}


/* RC4 additions */
.nav-links a[aria-current="page"]{background:var(--gold);color:var(--navy)}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .7rem;font-weight:950;font-size:.78rem;background:#EAF3FF;color:#003399;border:1px solid rgba(0,51,153,.18)}
.status-pill.soon{background:#FFF7D6;color:#5b3b00;border-color:rgba(200,162,74,.35)}
.status-pill.ready{background:#DCFCE7;color:#14532D;border-color:rgba(22,163,74,.25)}
.lesson-nav{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
.lesson-section{padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:#fff;margin:1rem 0;box-shadow:0 10px 24px rgba(2,10,28,.06)}
.lesson-section h2{margin-bottom:.4rem}
.lesson-section .section-number{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:950;margin-right:.5rem}
.lesson-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.resource-strip{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.unit-meta-list{display:grid;gap:.55rem;margin-top:1rem}
.unit-meta-list li{background:#F8FAFC;border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;color:var(--text);font-weight:750}
.agenda-app{background:linear-gradient(180deg,#F8FAFC,#EEF4FF);color:var(--text);min-height:100vh}
.agenda-shell{width:min(1380px,94vw);margin:0 auto;padding:2rem 0 3rem}
.agenda-panel{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft);padding:1rem}
.agenda-controls{display:grid;grid-template-columns:minmax(160px,1fr) 170px auto auto auto auto;gap:.75rem;align-items:end}
.agenda-control{background:#fff;border:1px solid var(--line);border-radius:16px;padding:.65rem .8rem}
.agenda-control label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:var(--muted);margin-bottom:.2rem}
.agenda-control select,.agenda-control input{width:100%;border:0;background:transparent;color:var(--text);font-weight:900;font-size:.95rem}
.agenda-status{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-top:1rem}
.agenda-badge{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.7rem 1rem;color:var(--text);font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:1rem;margin-top:1rem}
.agenda-stack{display:grid;gap:1rem}
.agenda-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 28px rgba(2,10,28,.08);overflow:hidden;color:var(--text)}
.agenda-card-header{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:1rem 1.1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.agenda-card-header h2,.agenda-card-header h3{color:#fff;margin:0}
.agenda-card-header.yellow{background:linear-gradient(135deg,#ffcc00,#d8a900);color:#101827}
.agenda-card-header.yellow h2,.agenda-card-header.yellow h3{color:#101827}
.agenda-card-body{padding:1rem}
.agenda-row{display:grid;grid-template-columns:130px 1fr;gap:1rem;background:#F8FAFC;border:1px solid var(--line);border-radius:14px;padding:.8rem;margin-bottom:.6rem}
.agenda-label{font-weight:950;color:#003399}
.agenda-value{font-weight:750;color:var(--text)}
.agenda-list{margin:.2rem 0 0 1.1rem}
.agenda-list li{margin:.35rem 0}
.week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.week-day-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 22px rgba(2,10,28,.07)}
.week-day-header{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:.8rem}
.week-day-header h2{color:#fff;font-size:1rem}
.week-day-body{padding:.8rem;display:grid;gap:.65rem}
.week-section{background:#F8FAFC;border:1px solid var(--line);border-radius:14px;padding:.7rem}
.week-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:950;color:#003399;margin-bottom:.2rem}
.empty{color:var(--muted);font-style:italic}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1000px){.grid.four,.lesson-mini-grid,.agenda-controls,.agenda-status,.agenda-grid,.week-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}

/* Agenda aliases for uploaded page JS output */
#app.main-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:1rem;margin-top:1rem}
#app.week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.left-stack,.side-grid{display:grid;gap:1rem}.left-stack{grid-template-rows:auto auto}.side-grid{align-content:start}
.card-header{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:1rem 1.1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.card-header h2,.card-header h3,.card-header span{color:#fff!important}.card-header.yellow{background:linear-gradient(135deg,#ffcc00,#d8a900);color:#101827}.card-header.yellow h2,.card-header.yellow h3{color:#101827!important}.card-header.green{background:linear-gradient(135deg,#166534,#0b1f33)}
.card-body{padding:1rem}.meta-table{display:grid;gap:.7rem}.meta-row{display:grid;grid-template-columns:130px 1fr;gap:1rem;background:#F8FAFC;border:1px solid var(--line);border-radius:14px;padding:.8rem}.meta-label{font-weight:950;color:#003399}.meta-value{font-weight:800;color:#101827}.content-text{white-space:pre-wrap;color:#334155}.quote-text{font-weight:800;color:#101827}.week-day-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 22px rgba(2,10,28,.07)}.week-day-header{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:.8rem}.week-day-header h2,.week-day-header span{color:#fff!important}.week-day-body{padding:.8rem;display:grid;gap:.65rem}.week-section{background:#F8FAFC;border:1px solid var(--line);border-radius:14px;padding:.7rem}.week-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:950;color:#003399;margin-bottom:.2rem}.week-content{color:#334155;font-weight:750}
@media(max-width:1000px){#app.main-grid,#app.week-grid{grid-template-columns:1fr}.agenda-controls,.agenda-status{grid-template-columns:1fr}.meta-row{grid-template-columns:1fr}}

/* RC4b: simplified course cards */
.course-simple-card h3 a{
  color:inherit;
  text-decoration:none;
}
.course-simple-card h3 a:hover,
.course-simple-card h3 a:focus{
  color:#C8A24A;
  text-decoration:underline;
}
.course-simple-card p{
  margin-top:.75rem;
}

/* RC4c: simplified IED unit cards */
.unit-card p:last-of-type{
  margin-bottom:1rem;
}

/* RC4d: lesson navigation button visibility fix */
.lesson-nav{
  align-items:center;
}
.lesson-nav .btn,
.lesson-nav a.btn,
.lesson-nav .btn.secondary,
.lesson-nav a.btn.secondary{
  color:#0B1F3A !important;
  text-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
}
.lesson-nav .btn.secondary,
.lesson-nav a.btn.secondary{
  background:#FFFFFF !important;
  border:1px solid rgba(11,31,58,.22) !important;
  box-shadow:0 10px 24px rgba(2,10,28,.12) !important;
}
.lesson-nav .btn:not(.secondary),
.lesson-nav a.btn:not(.secondary){
  background:#C8A24A !important;
  border:1px solid #C8A24A !important;
  color:#0B1F3A !important;
  box-shadow:0 10px 24px rgba(2,10,28,.14) !important;
}
.lesson-nav .btn:hover,
.lesson-nav a.btn:hover,
.lesson-nav .btn:focus,
.lesson-nav a.btn:focus{
  color:#0B1F3A !important;
  text-decoration:none !important;
}


/* RC4e: lesson accordion + true checklist formatting */
.lesson-accordion-layout{
  grid-template-columns:minmax(0,1fr) 320px;
  align-items:start;
}
.lesson-main{
  min-width:0;
}
.lesson-sidebar{
  position:sticky;
  top:92px;
  align-self:start;
}
.lesson-accordion{
  background:#FFFFFF;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(2,10,28,.08);
  margin:0 0 1rem;
}
.lesson-accordion summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:8px minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  padding:1rem 1.15rem;
  background:#FFFFFF;
  color:var(--text);
  border-bottom:1px solid transparent;
}
.lesson-accordion summary::-webkit-details-marker{
  display:none;
}
.lesson-accordion[open] summary{
  border-bottom-color:var(--line);
}
.accordion-stripe{
  align-self:stretch;
  border-radius:999px;
  background:var(--gold);
  min-height:46px;
}
.accordion-title-wrap{
  display:flex;
  align-items:center;
  gap:.85rem;
  min-width:0;
}
.accordion-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.2rem;
  height:2.2rem;
  border-radius:50%;
  background:rgba(200,162,74,.18);
  border:1px solid rgba(200,162,74,.45);
  color:var(--navy);
  font-weight:950;
  flex:0 0 auto;
}
.accordion-title-wrap strong{
  display:block;
  color:var(--navy);
  font-size:1.08rem;
  letter-spacing:-.025em;
}
.accordion-title-wrap em{
  display:block;
  color:var(--muted);
  font-style:normal;
  font-size:.92rem;
  margin-top:.12rem;
}
.accordion-icon{
  position:relative;
  width:1.25rem;
  height:1.25rem;
  border-radius:50%;
  border:2px solid var(--navy);
  flex:0 0 auto;
}
.accordion-icon::before,
.accordion-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:.62rem;
  height:2px;
  background:var(--navy);
  transform:translate(-50%,-50%);
}
.accordion-icon::after{
  transform:translate(-50%,-50%) rotate(90deg);
}
.lesson-accordion[open] .accordion-icon::after{
  opacity:0;
}
.accordion-body{
  padding:1.15rem 1.25rem 1.25rem;
  color:var(--text);
  background:linear-gradient(180deg,#FFFFFF,#F8FAFC);
}
.accordion-body p{
  color:#334155!important;
  margin:.65rem 0;
}
.accordion-body .lesson-mini-grid{
  margin-top:1rem;
}
.mobile-checklist{
  display:none;
}
.true-checklist{
  list-style:none;
  padding:0;
  margin:1rem 0 0;
  display:grid;
  gap:.75rem;
}
.true-checklist li{
  background:#F8FAFC;
  border:1px solid var(--line);
  border-radius:14px;
  padding:.75rem;
}
.true-checklist label{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:.7rem;
  align-items:start;
  cursor:pointer;
  color:var(--text)!important;
  font-weight:750;
  line-height:1.35;
}
.true-checklist input[type="checkbox"]{
  width:20px;
  height:20px;
  accent-color:var(--gold);
  margin-top:.05rem;
}
.sidebar-lesson-buttons{
  display:grid;
  gap:.65rem;
  margin-top:1rem;
}
.sidebar-lesson-buttons .btn{
  width:100%;
}
.lesson-bottom-nav{
  margin-top:1.4rem;
}
.lesson-resources-panel{
  margin-top:1.5rem;
}
.section-header.compact{
  margin-bottom:1rem;
}
.lesson-resource-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.lesson-resource-card{
  background:#FFFFFF;
  border:1px solid var(--line);
  border-radius:18px;
  padding:1rem;
  box-shadow:0 10px 22px rgba(2,10,28,.06);
}
.lesson-resource-card h3{
  margin:0 0 .4rem;
  color:var(--navy);
}
.lesson-resource-card p{
  color:#334155!important;
  font-size:.95rem;
  margin:0 0 1rem;
}
.lesson-resource-card.resource-disabled{
  opacity:.62;
  background:#F8FAFC;
}
.btn.disabled,
a.btn.disabled,
span.btn.disabled{
  pointer-events:none;
  cursor:not-allowed;
  background:#E2E8F0!important;
  color:#475569!important;
  border-color:#CBD5E1!important;
  box-shadow:none!important;
}
.lesson-nav .btn,
.lesson-nav a.btn,
.sidebar-lesson-buttons .btn,
.sidebar-lesson-buttons a.btn{
  color:#0B1F3A!important;
  text-shadow:none!important;
}
.lesson-nav .btn.secondary,
.lesson-nav a.btn.secondary,
.sidebar-lesson-buttons .btn.secondary,
.sidebar-lesson-buttons a.btn.secondary{
  background:#FFFFFF!important;
  border:1px solid rgba(11,31,58,.22)!important;
}
.lesson-nav .btn:not(.secondary),
.lesson-nav a.btn:not(.secondary),
.sidebar-lesson-buttons .btn:not(.secondary),
.sidebar-lesson-buttons a.btn:not(.secondary){
  background:#C8A24A!important;
  border:1px solid #C8A24A!important;
}
@media(max-width:1000px){
  .lesson-accordion-layout{
    grid-template-columns:1fr;
  }
  .desktop-checklist{
    display:none;
  }
  .mobile-checklist{
    display:block;
  }
  .lesson-resource-grid{
    grid-template-columns:1fr;
  }
}

/* RC4g: make editable resource download buttons readable on white cards */
.resource-card .btn.secondary,
.card.resource-card .btn.secondary,
.card-actions .btn.secondary[href*="editable-docx"],
.card-actions .btn.secondary[href*="editable-xlsx"]{
  background:#FFFFFF!important;
  color:var(--navy)!important;
  border:1px solid rgba(11,31,58,.28)!important;
  box-shadow:0 8px 18px rgba(2,10,28,.10)!important;
}
.resource-card .btn.secondary:hover,
.resource-card .btn.secondary:focus,
.card-actions .btn.secondary[href*="editable-docx"]:hover,
.card-actions .btn.secondary[href*="editable-docx"]:focus,
.card-actions .btn.secondary[href*="editable-xlsx"]:hover,
.card-actions .btn.secondary[href*="editable-xlsx"]:focus{
  background:#F8FAFC!important;
  color:var(--navy)!important;
  border-color:var(--gold)!important;
}

/* RC4i: force all Resource Library download buttons to render with visible labels */
.resource-card .card-actions .btn,
.card.resource-card .card-actions .btn,
.lesson-resource-card .btn {
  min-width: 54px;
  color: #FFFFFF !important;
  background: var(--navy) !important;
  border-color: var(--navy) !important;
  opacity: 1 !important;
  text-indent: 0 !important;
  font-size: .86rem !important;
}
.resource-card .card-actions .btn:hover,
.resource-card .card-actions .btn:focus,
.lesson-resource-card .btn:hover,
.lesson-resource-card .btn:focus {
  background: #C8A24A !important;
  border-color: #C8A24A !important;
  color: var(--navy) !important;
}
.resource-card .card-actions .btn.disabled,
.lesson-resource-card .btn.disabled,
.resource-card .card-actions span.btn.disabled,
.lesson-resource-card span.btn.disabled {
  background: #E2E8F0 !important;
  color: #334155 !important;
  border-color: #CBD5E1 !important;
}


/* Certification account and login pages */
.cert-auth-checking main {
  visibility: hidden;
}

.cert-auth-checking body::before {
  content: "Checking certification login...";
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  background: #f8fafc;
  color: #0b1f3a;
  font: 700 1rem/1.3 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  z-index: 9999;
}

.cert-account-bar {
  background: #f8fafc;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12);
}

.cert-account-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cert-account-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.cert-account-role {
  display: inline-flex;
  margin-left: 0.5rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: rgba(200, 162, 74, 0.18);
  color: #0b1f3a;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.cert-auth-form {
  display: grid;
  gap: 1rem;
}

.cert-auth-form label {
  display: grid;
  gap: 0.35rem;
  color: #0b1f3a;
  font-weight: 700;
}

.cert-auth-form input,
.cert-auth-form select {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, 0.24);
  border-radius: 0.75rem;
  padding: 0.75rem 0.85rem;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
}

.cert-auth-form input:focus,
.cert-auth-form select:focus {
  outline: 3px solid rgba(200, 162, 74, 0.35);
  border-color: #c8a24a;
}

.form-status,
.setup-warning {
  border-radius: 0.75rem;
  padding: 0.85rem 1rem;
  background: rgba(11, 31, 58, 0.08);
  color: #0b1f3a;
  font-weight: 700;
}

.form-status.error,
.setup-warning {
  background: rgba(185, 28, 28, 0.10);
  color: #7f1d1d;
}

.cert-profile-list {
  display: grid;
  gap: 0.8rem;
  margin: 1rem 0 1.5rem;
}

.cert-profile-list div {
  display: grid;
  grid-template-columns: minmax(120px, 0.35fr) 1fr;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 0.75rem;
  background: #f8fafc;
}

.cert-profile-list dt {
  color: #475569;
  font-weight: 700;
}

.cert-profile-list dd {
  margin: 0;
  color: #0f172a;
}

.container.narrow {
  max-width: 900px;
}

@media (max-width: 720px) {
  .cert-account-inner,
  .cert-profile-list div {
    grid-template-columns: 1fr;
    display: grid;
  }
}


/* RC5e: make secondary button labels visible on light cards/pages */
main .btn.secondary,
.card .btn.secondary,
.cert-auth-form .btn.secondary,
.cert-account-actions .btn.secondary {
  background: #ffffff;
  color: var(--navy);
  border-color: rgba(11, 31, 58, 0.28);
  box-shadow: 0 8px 18px rgba(11, 31, 58, 0.08);
}

/* Keep secondary buttons light-on-dark inside dark hero sections and dark cards */
.hero .btn.secondary,
.page-hero .btn.secondary,
.card.dark .btn.secondary {
  background: rgba(255, 255, 255, 0.10);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.30);
}


/* RC5f: certification account bar visibility fix */
.cert-account-bar {
  background: #f8fafc;
  color: #0b1f3a;
  border-top: 1px solid rgba(11, 31, 58, 0.08);
  border-bottom: 1px solid rgba(11, 31, 58, 0.18);
}

.cert-account-bar strong,
.cert-account-bar span,
.cert-account-bar div {
  color: #0b1f3a;
}

.cert-account-bar .cert-account-role {
  background: rgba(200, 162, 74, 0.22);
  color: #0b1f3a;
  border: 1px solid rgba(200, 162, 74, 0.45);
}

.cert-account-bar .btn,
.cert-account-bar a.btn,
.cert-account-bar button.btn {
  color: #0b1f3a !important;
  background: #c8a24a;
  border-color: #c8a24a;
}

.cert-account-bar .btn.secondary,
.cert-account-bar a.btn.secondary,
.cert-account-bar button.btn.secondary {
  color: #0b1f3a !important;
  background: #ffffff;
  border-color: rgba(11, 31, 58, 0.28);
}

.cert-account-bar .btn:hover,
.cert-account-bar .btn:focus {
  color: #0b1f3a !important;
  outline: 3px solid rgba(200, 162, 74, 0.38);
  outline-offset: 2px;
}


/* RC6: Engineering Safety Certification module */
.cert-step-card h2 {
  font-size: 1.45rem;
}

.cert-study .card {
  align-content: start;
}

.cert-callout-card {
  margin-top: 1.35rem;
}

.cert-quiz-form {
  display: grid;
  gap: 1.15rem;
  margin: 1.25rem 0;
}

.cert-question {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 1rem;
  padding: 1rem;
  background: #ffffff;
}

.cert-question legend {
  color: #0b1f3a;
  font-weight: 900;
  padding: 0 0.25rem;
}

.cert-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-top: 0.7rem;
  color: #1f2937;
  font-weight: 650;
}

.cert-choice input {
  margin-top: 0.2rem;
  accent-color: #c8a24a;
}

.cert-feedback {
  margin: 0.75rem 0 0;
  padding: 0.65rem 0.8rem;
  border-radius: 0.75rem;
  font-weight: 800;
}

.cert-feedback.correct {
  background: rgba(22, 101, 52, 0.10);
  color: #14532d;
}

.cert-feedback.incorrect {
  background: rgba(185, 28, 28, 0.10);
  color: #7f1d1d;
}

.cert-result-box,
.cert-status-panel {
  margin-top: 1.25rem;
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #f8fafc;
  color: #0f172a;
}

.cert-result-box h3,
.cert-status-panel h3 {
  color: #0b1f3a;
  margin-top: 0;
}

.cert-result-box.passed,
.cert-status-panel.passed {
  border-color: rgba(22, 101, 52, 0.30);
  background: rgba(22, 101, 52, 0.08);
}

.cert-result-box.failed,
.cert-status-panel.failed {
  border-color: rgba(185, 28, 28, 0.28);
  background: rgba(185, 28, 28, 0.08);
}

.cert-result-box.warning {
  border-color: rgba(200, 162, 74, 0.45);
  background: rgba(200, 162, 74, 0.12);
}

.cert-account-status-card {
  margin-top: 1.5rem;
}


/* RC7: Microcredential badge strip and badge collection */
.cert-account-inner {
  display: grid;
  grid-template-columns: minmax(180px, auto) minmax(280px, 1fr) auto;
  align-items: center;
  gap: 1rem;
}

.cert-account-identity {
  white-space: nowrap;
}

.micro-badge-strip {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  overflow-x: auto;
  padding: 0.15rem 0.25rem;
  scrollbar-width: thin;
}

.micro-badge-loading {
  color: #0b1f3a;
  font-weight: 800;
}

.micro-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
  border-radius: 999px;
  border: 1px solid rgba(11, 31, 58, 0.18);
  padding: 0.35rem 0.55rem;
  color: #0b1f3a;
  background: #ffffff;
  box-shadow: 0 6px 14px rgba(11, 31, 58, 0.08);
  white-space: nowrap;
}

.micro-badge.compact {
  padding: 0.28rem 0.48rem;
  font-size: 0.78rem;
}

.micro-badge-icon {
  display: inline-grid;
  place-items: center;
  min-width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: rgba(11, 31, 58, 0.08);
  color: #0b1f3a;
  font-size: 0.72rem;
  font-weight: 950;
  line-height: 1;
}

.micro-badge-label {
  font-weight: 900;
  color: inherit;
}

.micro-badge-state {
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  opacity: 0.76;
}

.micro-badge.earned {
  background: linear-gradient(135deg, #c8a24a, #f2d889);
  border-color: rgba(11, 31, 58, 0.28);
  color: #0b1f3a;
}

.micro-badge.earned .micro-badge-icon {
  background: #0b1f3a;
  color: #ffffff;
}

.micro-badge.locked {
  background: #f1f5f9;
  color: #64748b;
  border-color: rgba(100, 116, 139, 0.30);
}

.micro-badge.locked .micro-badge-icon {
  background: #e2e8f0;
  color: #64748b;
}

.micro-badge:hover,
.micro-badge:focus {
  transform: translateY(-1px);
  outline: 3px solid rgba(200, 162, 74, 0.35);
  outline-offset: 2px;
}

.micro-badge-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.micro-badge-card {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 1rem;
  padding: 1rem;
  background: #ffffff;
}

.micro-badge-card.locked {
  background: #f8fafc;
}

.micro-badge-card .micro-badge {
  margin-bottom: 0.75rem;
}

.micro-badge-details h3 {
  margin: 0 0 0.35rem;
  color: #0b1f3a;
}

.micro-badge-details p {
  margin: 0.25rem 0;
  color: #475569;
}

@media (max-width: 920px) {
  .cert-account-inner {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .micro-badge-strip {
    max-width: 100%;
  }

  .micro-badge-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .micro-badge-grid {
    grid-template-columns: 1fr;
  }

  .micro-badge-state {
    display: none;
  }
}


/* RC8: Teacher hands-on approval dashboard */
.teacher-dashboard-tools {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 0.45fr);
  gap: 1rem;
  margin: 1rem 0 1.25rem;
}

.teacher-dashboard-tools label {
  display: grid;
  gap: 0.35rem;
  color: #0b1f3a;
  font-weight: 800;
}

.teacher-dashboard-tools input,
.teacher-dashboard-tools select {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, 0.24);
  border-radius: 0.75rem;
  padding: 0.75rem 0.85rem;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
}

.teacher-dashboard-status {
  margin: 0.75rem 0 1rem;
  padding: 0.8rem 1rem;
  border-radius: 0.9rem;
  background: #f8fafc;
  color: #0b1f3a;
  font-weight: 800;
}

.teacher-dashboard-status.error {
  background: rgba(185, 28, 28, 0.10);
  color: #7f1d1d;
}

.teacher-approval-table-wrap {
  overflow-x: auto;
}

.teacher-approval-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.9rem;
  overflow: hidden;
}

.teacher-approval-table th {
  background: #0b1f3a;
  color: #ffffff;
  text-align: left;
  padding: 0.75rem;
  font-size: 0.86rem;
}

.teacher-approval-table td {
  border-top: 1px solid rgba(15, 23, 42, 0.10);
  padding: 0.75rem;
  vertical-align: top;
  color: #0f172a;
}

.teacher-approval-table tr:nth-child(even) td {
  background: #f8fafc;
}

.approval-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.32rem 0.55rem;
  font-size: 0.78rem;
  font-weight: 900;
  border: 1px solid rgba(15, 23, 42, 0.12);
  color: #0b1f3a;
  background: #ffffff;
}

.approval-pill.passed,
.approval-pill.earned {
  background: rgba(22, 101, 52, 0.10);
  border-color: rgba(22, 101, 52, 0.28);
  color: #14532d;
}

.approval-pill.locked {
  background: #f1f5f9;
  border-color: rgba(100, 116, 139, 0.28);
  color: #64748b;
}

.teacher-note {
  margin: 0.45rem 0 0;
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 700;
}

@media (max-width: 760px) {
  .teacher-dashboard-tools {
    grid-template-columns: 1fr;
  }
}

.cert-status-panel.warning {
  border-color: rgba(200, 162, 74, 0.45);
  background: rgba(200, 162, 74, 0.12);
}


/* RC8c: stacked microcredential badges in signed-in banner */
.cert-account-inner {
  grid-template-columns: minmax(180px, auto) minmax(320px, 1fr) auto;
  align-items: start;
}

.micro-badge-strip {
  flex-wrap: wrap;
  overflow-x: visible;
  scrollbar-width: none;
  row-gap: 0.4rem;
  max-width: 100%;
  align-content: flex-start;
}

.micro-badge-strip::-webkit-scrollbar {
  display: none;
}

.micro-badge.compact {
  padding: 0.24rem 0.44rem;
  font-size: 0.74rem;
}

.micro-badge.compact .micro-badge-icon {
  min-width: 1.2rem;
  height: 1.2rem;
  font-size: 0.66rem;
}

@media (max-width: 1100px) {
  .cert-account-inner {
    grid-template-columns: 1fr;
  }

  .cert-account-actions {
    justify-content: flex-start;
  }
}


/* RC8d: Teacher-only dashboard access button */
.cert-account-bar .cert-teacher-dashboard-btn {
  background: #0b1f3a;
  color: #ffffff !important;
  border-color: #0b1f3a;
}

.cert-account-bar .cert-teacher-dashboard-btn:hover,
.cert-account-bar .cert-teacher-dashboard-btn:focus {
  color: #ffffff !important;
  outline: 3px solid rgba(200, 162, 74, 0.42);
  outline-offset: 2px;
}


/* RC9: 3D Printing Certification additions */
.cert-study strong {
  color: #0b1f3a;
}

.printer-family-list {
  display: grid;
  gap: 0.75rem;
}


/* RC10: Laser Cutter Certification additions */
.cert-study strong {
  color: #0b1f3a;
}

.laser-safety-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* RC11: Drill Press Certification additions */
.drill-safety-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* RC12: Hand & Cutting Tools Certification additions */
.hand-tool-safety-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* RC13: Soldering Certification additions */
.soldering-safety-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* RC14: CNC Mill Certification additions */
.cnc-safety-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* RC15: Technical Sketching Certification additions */
.sketching-safety-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* RC16: Engineering Documentation Certification additions */
.documentation-skill-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* RC17: Fusion CAD Level 1 Certification additions */
.fusion-cad-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* RC18: Engineering Drawings Certification additions */
.engineering-drawing-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* RC19: Fusion CAD Level 2 Certification additions */
.fusion-cad-level-2-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* RC20: Design Review Certification additions */
.design-review-note {
  border-left: 5px solid #c8a24a;
  padding-left: 1rem;
}


/* Unit 1 instructional figures */
.lesson-figure {
  margin: 1.25rem 0;
  padding: 0.85rem;
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, 0.12);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
}
.lesson-figure img {
  width: 100%;
  max-height: 520px;
  object-fit: contain;
  display: block;
  background: #f8fafc;
  border-radius: 12px;
}
.lesson-figure figcaption {
  margin-top: 0.55rem;
  color: #475569;
  font-size: 0.93rem;
  line-height: 1.45;
}
.lesson-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
  margin: 1.2rem 0;
}
.lesson-image-grid .lesson-figure { margin: 0; }
.figure-link-card img {
  width: 100%;
  height: 190px;
  object-fit: contain;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid rgba(17, 24, 39, 0.1);
  margin-bottom: 0.8rem;
}
