:root{
  --ink:#17211d;
  --cream:#f4f1e9;
  --paper:#fffdf8;
  --coral:#f26d4f;
  --lime:#c7d84e;
  --blue:#3f78d4;
  --purple:#5735a7;
  --line:rgba(23,33,29,.16);
  --grotesk:'Space Grotesk',sans-serif;
  --sans:'DM Sans',sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.lesson-header{height:88px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(244,241,233,.94);backdrop-filter:blur(12px);z-index:20}
.lesson-brand img{height:56px;width:auto;max-width:260px;object-fit:contain}
.lesson-header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}
.pdf-link{background:var(--ink);color:var(--cream);padding:11px 15px}
.course-hero{min-height:620px;padding:90px 9%;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;border-bottom:1px solid var(--line)}
.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700;margin:0 0 18px;text-transform:uppercase}
.course-hero h1{font:600 clamp(60px,7.7vw,112px)/.88 var(--grotesk);letter-spacing:-.055em;margin:0}
.course-hero h1 span{color:var(--purple)}
.lede{font-size:17px;max-width:650px;margin:32px 0;line-height:1.65}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;padding:15px 19px;font-weight:700;font-size:13px;border:1px solid var(--ink)}
.primary{background:var(--purple);color:white;border-color:var(--purple)}
.secondary{background:transparent}
.hero-chip-grid{display:grid;grid-template-columns:repeat(2,150px);grid-auto-rows:150px;gap:16px;justify-content:center;transform:rotate(5deg)}
.hero-chip-grid div{border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font:700 22px var(--grotesk);box-shadow:10px 10px 0 var(--ink)}
.hero-chip-grid div:nth-child(1){background:var(--lime);transform:rotate(-6deg)}
.hero-chip-grid div:nth-child(2){background:var(--blue);color:white;transform:rotate(7deg)}
.hero-chip-grid div:nth-child(3){background:var(--coral);transform:rotate(4deg)}
.hero-chip-grid div:nth-child(4){background:var(--paper);transform:rotate(-8deg)}
.topics-nav{padding:80px 9%;border-bottom:1px solid var(--line)}
.topic-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.topic-links a{background:var(--paper);border:1px solid var(--line);padding:20px;display:flex;gap:13px;align-items:flex-start;font-weight:700;transition:.2s}
.topic-links a:hover{transform:translateY(-3px);border-color:var(--purple)}
.topic-links span{color:var(--purple);font:700 13px var(--grotesk)}
.topic{padding:105px 9%;border-bottom:1px solid var(--line)}
.topic:nth-of-type(even){background:#f8f5ee}
.topic-heading{max-width:900px;margin-bottom:52px}
.topic-number{display:inline-block;color:var(--purple);font:700 13px var(--grotesk);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.topic-heading h2,.download-panel h2{font:600 clamp(45px,5vw,74px)/.95 var(--grotesk);letter-spacing:-.045em;margin:0}
.big-question{font-size:18px;max-width:780px;margin:24px 0 0}
.lesson-stack{display:grid;gap:26px}
.lesson-card{background:var(--paper);border:1px solid var(--line);padding:34px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:46px;align-items:start}
.lesson-card .lesson-kicker,.lesson-card h3{grid-column:1/-1}
.lesson-kicker{font:700 10px var(--grotesk);letter-spacing:.13em;text-transform:uppercase;color:var(--purple);margin-bottom:8px}
.lesson-card h3{font:600 clamp(28px,3vw,44px)/1 var(--grotesk);letter-spacing:-.035em;margin:0 0 26px}
.lesson-card figure{margin:0}
.lesson-card figure img{width:100%;border:1px solid var(--line);background:white}
.lesson-card figcaption{font-size:11px;opacity:.58;margin-top:8px}
.lesson-text{font-size:16px;max-width:720px}
.lesson-text h4{font:700 12px var(--grotesk);text-transform:uppercase;letter-spacing:.1em;margin:22px 0 8px;color:var(--purple)}
.lesson-text h4:first-child{margin-top:0}
.lesson-text p{margin:0 0 14px;white-space:normal}
.download-panel{padding:90px 9%;display:flex;align-items:end;justify-content:space-between;gap:50px;background:var(--lime)}
.download-panel p{max-width:680px}
footer{background:var(--ink);color:var(--cream);padding:28px 6%;display:flex;justify-content:space-between;font-size:12px;font-weight:600}
@media(max-width:900px){
  .lesson-header nav a:not(.pdf-link){display:none}
  .lesson-brand img{height:42px;max-width:190px}
  .course-hero{display:block;padding:70px 7%}
  .hero-chip-grid{margin:70px auto 10px;grid-template-columns:repeat(2,110px);grid-auto-rows:110px}
  .topic-links{grid-template-columns:1fr 1fr}
  .topic,.topics-nav{padding-left:7%;padding-right:7%}
  .lesson-card{grid-template-columns:1fr;padding:24px}
  .lesson-card figure{margin-bottom:24px}
  .download-panel{display:block;padding:70px 7%}
  .download-panel .primary{margin-top:20px}
}
@media(max-width:560px){
  .lesson-header{padding:0 5%;height:76px}
  .lesson-brand img{height:36px;max-width:155px}
  .course-hero h1{font-size:16vw}
  .topic-links{grid-template-columns:1fr}
  .hero-actions{display:grid}
  .topic-heading h2,.download-panel h2{font-size:12vw}
}


/* MOSAIC vocabulary tables */
.brand-logo{height:52px;width:auto;display:block;object-fit:contain}
.vocab-table{width:100%;border-collapse:collapse;margin:8px 0 24px;background:#fff}
.vocab-table th,.vocab-table td{border:1px solid var(--ink);padding:14px 16px;text-align:left;vertical-align:top;line-height:1.45}
.vocab-table th{font:700 12px var(--grotesk);letter-spacing:.08em;text-transform:uppercase;background:#f7f3ff;color:var(--purple)}
.vocab-table td:first-child{width:34%;font-weight:700}
@media(max-width:560px){.vocab-table th,.vocab-table td{padding:11px 12px}.vocab-table td:first-child{width:38%}}
.downloads-section {
  padding: 80px 8%;
  border-top: 1px solid rgba(23, 33, 29, 0.18);
}

.downloads-section h2 {
  margin-bottom: 32px;
}

.download-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.download-card {
  border: 1px solid #17211d;
  padding: 24px;
  text-decoration: none;
  color: #17211d;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 180px;
  transition: transform 0.2s ease;
}

.download-card:hover {
  transform: translateY(-5px);
}

.download-topic {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.65;
}

.download-card strong {
  font-size: 22px;
  line-height: 1.15;
}

.download-link {
  margin-top: auto;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 800px) {
  .download-grid {
    grid-template-columns: 1fr;
  }
}
#downloads {
  scroll-margin-top: 100px;
}
.back-home,
.back-top {
  display: inline-block;
  margin-top: 42px;
  padding: 14px 20px;
  border: 1px solid #17211d;
  color: #17211d;
  background: transparent;
  text-decoration: none;
  font-weight: 700;
}

.back-top {
  margin-left: 14px;
}

.back-home:hover,
.back-top:hover {
  background: #17211d;
  color: #ffffff;
}

/* MOSAIC search highlight */

mark.page-search-highlight {
  background: #e9ddff !important;
  color: #5f36d8 !important;
  padding: 1px 2px !important;
  border-radius: 4px !important;
  display: inline !important;
  width: auto !important;
  height: auto !important;
  line-height: inherit !important;
}

mark.page-search-highlight.current-search-match {
  background: #693fe0 !important;
  color: #ffffff !important;
}

.search-target-lesson {
  outline: 3px solid rgba(105, 63, 224, 0.35);
  outline-offset: -3px;
  box-shadow: 0 0 0 8px rgba(105, 63, 224, 0.06);
}