/* MOSAIC Chemistry companion to the existing Biology page: same class structure, standalone fallback. */
:root{--ink:#243246;--muted:#657287;--border:#e3e8f2;--accent:#7552d7;--accent-soft:#f2ecff;--bg:#f9fbff;--cyan:#37b9c4;--shadow:0 12px 32px rgba(32,39,78,.055);scroll-behavior:smooth}
*{box-sizing:border-box}html{scroll-padding-top:98px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif;line-height:1.68;overflow-x:hidden}h1,h2,h3,h4,h5{font-family:'Space Grotesk','DM Sans',sans-serif;line-height:1.26;color:#27314c}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #8261ec;outline-offset:4px}img{max-width:100%;height:auto}
.lesson-header{display:flex;align-items:center;justify-content:space-between;gap:14px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(15px);border-bottom:1px solid var(--border);padding:12px max(24px,calc((100vw - 1180px)/2))}.lesson-header .brand-logo{width:auto;max-width:180px;height:40px;object-fit:contain}.brand-text{font-weight:800;color:#6c4ac9}.lesson-header nav{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:700}.lesson-header nav a:hover{color:var(--accent)}.lesson-header nav .pdf-link{background:#f0eaff;border:1px solid #e5dafa;padding:9px 14px;border-radius:100px;color:#704bd0}
main{max-width:1180px;margin:auto;padding:0 22px}.course-hero{background:linear-gradient(125deg,#f6f0ff,#eef9fd 62%,#f6fcff);border:1px solid #e9e5ff;border-radius:28px;padding:64px clamp(26px,5vw,66px);margin:32px 0 38px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(200px,1fr);align-items:center;gap:40px}.eyebrow{color:#7957d9;font-weight:800;letter-spacing:.11em;text-transform:uppercase;font-size:.78rem;margin:0 0 11px}.hero-copy h1{font-size:clamp(2.4rem,4.6vw,4.6rem);line-height:1.13;letter-spacing:-.055em;margin:4px 0 20px}.hero-copy h1 span{color:#8257de}.lede{color:#58657d;font-size:1.08rem;max-width:640px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.hero-actions a{border-radius:12px;padding:11px 18px;font-weight:750;font-size:.94rem;border:1px solid #dcd9e9}.hero-actions .primary{color:white;background:#7b53d5;border-color:#7b53d5}.hero-actions .secondary{color:#7551c8;background:white}.hero-chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;transform:rotate(-5deg)}.hero-chip-grid div{border-radius:19px;padding:25px 12px;text-align:center;background:white;border:1px solid #d9d9fa;font:800 1.1rem 'Space Grotesk',sans-serif;box-shadow:var(--shadow);color:#8663d1}.hero-chip-grid div:nth-child(2){color:#1e9f9f}.hero-chip-grid div:nth-child(3){color:#df7d6c}.hero-chip-grid div:nth-child(4){color:#496cbb}
.topics-nav{margin:0 0 56px;padding:26px 32px;background:white;border:1px solid var(--border);border-radius:23px;box-shadow:var(--shadow)}.topic-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.topic-links a{display:flex;align-items:center;gap:13px;background:#f8f7ff;border:1px solid #e8e5fb;border-radius:14px;padding:18px;font-weight:750;min-width:0}.topic-links a span{padding:6px 12px;flex:0 0 auto;border-radius:10px;background:#e7ddff;color:#6c4bc7;font-weight:800}.topic-links a:hover,.lesson-jump-links a:hover{background:#eee8ff}
.topic{margin:0 0 70px;scroll-margin-top:90px}.topic-heading{margin:0 0 21px}.topic-number{display:inline-block;border-radius:999px;background:#e9e2ff;color:#684ac3;font-weight:800;padding:5px 14px;font-size:.85rem;margin-bottom:10px}.topic-heading h2{font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.035em;margin:7px 0 10px}.big-question{border-left:4px solid #8d6bda;padding:10px 16px;margin:13px 0 0;color:#526178;background:#f1edff;border-radius:0 9px 9px 0}.lesson-jump{padding:20px 24px;background:#fff;border:1px solid #e5e7f3;border-radius:16px;margin:0 0 26px}.lesson-jump>span{display:block;font-size:.83rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#7b66ae;margin-bottom:10px}.lesson-jump-links{display:flex;gap:8px;flex-wrap:wrap}.lesson-jump-links a{border:1px solid #e7e4ef;border-radius:10px;padding:7px 11px;font-size:.81rem;font-weight:650;color:#625679;background:#fbfaff}.lesson-jump-links a[aria-current]{background:#e5ddff;border-color:#bca6f7;color:#593bb1}
.lesson-stack{display:grid;gap:26px}.lesson-card{background:#fff;border:1px solid #e6e9f2;box-shadow:var(--shadow);border-radius:22px;padding:clamp(20px,3.5vw,39px);scroll-margin-top:98px;min-width:0}.lesson-kicker{color:#8059db;font-size:.77rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lesson-card h3{font-size:clamp(1.35rem,2.2vw,1.95rem);line-height:1.32;margin:10px 0 20px}.lesson-card figure{margin:12px 0 22px;max-width:100%;padding:0;overflow:visible;text-align:center}.lesson-card figure img{display:block;width:100%;max-width:920px;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:13px;margin:0 auto;background:white;border:1px solid #eceff5}.lesson-card figcaption{color:#778298;font-size:.75rem;margin:9px auto 0}.lesson-text{max-width:100%;min-width:0;color:#36445d;font-size:1rem;line-height:1.66}.lesson-text h4{font-size:1.17rem;margin:25px 0 10px}.lesson-text h5{font-size:1rem;margin:19px 0 8px;font-weight:800}.lesson-text p{margin:0 0 11px;max-width:100%;overflow-wrap:anywhere}.lesson-text .instruction-lead{font-weight:750;margin-top:14px}.lesson-text .equation{display:block;width:fit-content;max-width:100%;padding:6px 14px;border:1px solid #dcdafa;background:#f5f3ff;border-radius:8px;color:#5847b4;font-weight:750;font-size:.96rem;white-space:normal;overflow-wrap:anywhere}.lesson-text .diagram-arrow{font-size:1.4rem;font-weight:900;color:#8a64d5;margin:0 0 7px 18px}.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:19px 0 24px;border-radius:12px;border:1px solid #e0e5ed}.vocab-table{border-collapse:collapse;width:100%;background:white;table-layout:auto;font-size:.91rem;text-align:left;line-height:1.45}.vocab-table th,.vocab-table td{border:1px solid #e1e5ee;padding:12px 13px;vertical-align:top;overflow-wrap:anywhere}.vocab-table thead th{background:#f2edff;color:#5641a6;font-weight:800}.vocab-table tbody th{min-width:120px;font-weight:750;background:#fcfbff;color:#37415e}.lesson-card-footer{margin-top:25px;padding-top:16px;display:flex;justify-content:space-between;gap:14px;border-top:1px solid #ebedf4;font-size:.82rem;font-weight:750;color:#7957d2}
.downloads-section{margin:76px 0 40px;background:#fff;border:1px solid #e5e7f1;border-radius:24px;padding:clamp(25px,4vw,45px)}.downloads-section h2{font-size:2.1rem;margin:0 0 12px}.download-intro{color:#617087;font-size:.92rem}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 20px}.download-card{border-radius:14px;border:1px solid #e6e4f2;background:#fbf9ff;padding:24px;display:flex;flex-direction:column;gap:7px}.download-card:hover{border-color:#a690df;background:#f1ecff}.download-topic{color:#805dd5;font-size:.8rem;font-weight:850;letter-spacing:.05em}.download-card strong{font-size:1.08rem;line-height:1.4}.download-link{font-size:.84rem;color:#6c50c3;font-weight:750;margin-top:6px}.back-home,.back-top{display:inline-block;margin:10px 20px 0 0;color:#6f54c4;font-weight:750}footer{display:flex;justify-content:space-between;max-width:1180px;margin:auto;padding:18px 24px 42px;gap:12px;color:#8190a1;font-size:.81rem;font-weight:750}
@media(max-width:760px){.lesson-header{padding:10px 18px;gap:8px}.lesson-header nav{gap:10px;font-size:.76rem}.lesson-header nav a{white-space:nowrap}.lesson-header .brand-logo{max-width:100px;height:32px}.lesson-header nav .pdf-link{padding:6px 8px}.course-hero{grid-template-columns:1fr;padding:32px 24px;margin-top:20px;gap:20px}.hero-chip-grid{transform:none;max-width:430px}.hero-chip-grid div{padding:16px 8px}.topics-nav{padding:21px 18px}.topic-links{grid-template-columns:1fr}.lesson-card{padding:20px 17px}.lesson-card figure img{border-radius:8px}.download-grid{grid-template-columns:1fr}.lesson-jump{padding:17px}.lesson-header nav a:first-child{display:none}}
@media(max-width:430px){main{padding:0 12px}.hero-copy h1{font-size:2.5rem}.lesson-header nav{gap:7px;font-size:.71rem}.lesson-header .brand-logo{max-width:82px}.topic-heading h2{font-size:1.65rem}.vocab-table th,.vocab-table td{padding:9px 8px;font-size:.82rem}.vocab-table tbody th{min-width:94px}.lesson-card h3{font-size:1.36rem}footer{padding:14px 17px 40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Chemistry: Large centered images */

.lesson-stack .lesson-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

/* Center and enlarge each illustration */
.lesson-stack .lesson-card > figure {
  width: 100%;
  max-width: 1050px;
  margin: 24px auto 32px;
  text-align: center;
}

/* Show the complete image without cropping */
.lesson-stack .lesson-card > figure img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  margin: 0 auto;
}

/* Put vocabulary and explanations below */
.lesson-stack .lesson-card > .lesson-text {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  min-width: 0;
}

/* Center image captions */
.lesson-stack .lesson-card figcaption {
  text-align: center;
  margin-top: 12px;
}

/* Mobile */
@media (max-width: 760px) {
  .lesson-stack .lesson-card > figure {
    width: 100%;
    margin: 18px auto 24px;
  }

  .lesson-stack .lesson-card > figure img {
    width: 100%;
    height: auto;
  }
}
