:root{color-scheme:light;--paper:#f5f1e8;--white:#fffdf8;--ink:#2f382e;--green:#344e42;--muted:#6b7063;--line:#dcded0;--accent:#9b573a}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--green);text-underline-offset:4px}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}.skip-link{position:absolute;top:8px;left:8px;padding:12px;background:var(--white);transform:translateY(-160%);z-index:10}.skip-link:focus{transform:none}
.site-header,.site-footer,.library,.reader{width:min(1280px,calc(100% - 40px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:22px;letter-spacing:-.5px;text-decoration:none;line-height:1.2}.brand span{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:11px;letter-spacing:.4px;color:var(--muted);margin-top:5px}.family-link{font-size:11px;text-decoration:none}.family-link span{margin-left:5px}.intro{padding:48px 0 34px}.eyebrow{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--accent);font-weight:600}.intro h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,5.4vw,66px);letter-spacing:-1.7px;line-height:1.13;max-width:800px;margin:18px 0 22px}.intro>p:last-child{max-width:590px;color:var(--muted);font-size:16px}.directory{display:flex;align-items:center;gap:12px;font-size:12px;border-block:1px solid var(--line);padding:15px 0;margin-bottom:28px}.directory a{text-decoration:none}.count{margin-left:auto;color:var(--muted)}.lesson-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:70px}.lesson-card{min-width:0}.card-link{display:block;text-decoration:none;background:var(--white);border-radius:12px;overflow:hidden;border:1px solid var(--line);height:calc(100% - 36px);transition:box-shadow .2s,transform .2s}.card-link:hover{box-shadow:0 7px 22px #2f382e12;transform:translateY(-3px)}.card-image{position:relative;aspect-ratio:3/2;overflow:hidden;background:#ddd5c4}.card-image img{width:100%;height:100%;object-fit:cover}.card-image:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#15241acf)}.card-image>span{position:absolute;z-index:1;bottom:22px;left:24px;right:20px;font-family:Georgia,serif;font-size:31px;color:white;line-height:1.15}.card-copy{padding:22px 24px 24px}.card-copy .eyebrow{margin:0 0 10px;font-size:10px}.card-copy h2{font:400 25px/1.3 Georgia,serif;letter-spacing:-.3px;margin:0 0 24px;color:var(--ink)}.card-copy>p:last-child{font-size:12px;color:var(--muted);margin:0}.card-copy>p:last-child span{margin-left:6px}.art-credit{font-size:10px;color:var(--muted);margin:8px 5px 0;line-height:1.4}.site-footer{border-top:1px solid var(--line);padding:25px 0 32px;font-size:11px;color:var(--muted)}.site-footer>a{font:18px Georgia,serif;text-decoration:none}.site-footer p{max-width:530px}.publication{font-size:10px}
.reader{max-width:840px}.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;padding-top:26px;color:var(--muted)}.breadcrumbs a{text-decoration:none}.reader-heading{padding:20px 0 16px}.reader-heading>p:last-child{font-size:12px;color:var(--muted)}.contents{background:#eeeadf;border:1px solid var(--line);border-radius:8px;margin-bottom:26px;font-size:13px}.contents summary{cursor:pointer;padding:14px 18px;min-height:48px}.contents summary>span{float:right;color:var(--muted);font-size:11px}.contents ol{list-style:none;padding:0 18px 15px;margin:0;display:grid;gap:3px}.contents li a{display:flex;gap:12px;align-items:baseline;text-decoration:none;padding:7px 0;line-height:1.5}.contents li a>span{font-variant-numeric:tabular-nums;font-size:10px;color:var(--accent);min-width:20px}.lesson-section{position:relative;border-top:1px solid var(--line);padding:35px 0 40px;scroll-margin-top:20px}.slide-number{display:inline-block;font-size:11px;font-variant-numeric:tabular-nums;text-decoration:none;color:var(--accent);margin-bottom:16px}.slide-number>span{color:#858a7c}.slide-content{font-size:17px;overflow-wrap:break-word}.slide-content p{margin:0 0 20px}.slide-content h1,.slide-content h2{font-family:Georgia,serif;font-weight:400;line-height:1.22;letter-spacing:-.6px}.slide-content h1{font-size:clamp(34px,5vw,51px)}.slide-content h2{font-size:29px}.slide-content .kicker,.slide-content .part{font-size:12px;color:var(--muted);line-height:1.6}.slide-content .ref{font-size:16px}.slide-content .question{font:400 23px/1.5 Georgia,serif}.slide-content .apply{font:inherit;border-left:3px solid #bfc9b4;padding-left:17px;color:#515d4e}.slide-content .quote{font:400 23px/1.5 Georgia,serif;border-left:3px solid #b79c6d;padding-left:20px}.slide-content .attrib,.slide-content .small{font-size:15px}.slide-content .credit,.portrait>span{font-size:11px;color:var(--muted);line-height:1.55}.slide-content>.art,.slide-content .plate{border-radius:8px;width:100%;max-height:600px;object-fit:contain;margin:0 0 23px}.cover .slide-content>.art{max-height:440px;object-fit:cover}.cover .kicker{margin-top:24px}.cover h1{margin-top:14px;margin-bottom:20px}.portrait{max-width:300px;margin:25px auto 0;text-align:center}.portrait img{border-radius:7px;max-height:360px;margin:0 auto 12px;object-fit:contain}.portrait>span{display:block}.overview>p{padding:16px 0;border-bottom:1px solid var(--line);margin:0}.overview>p>span{display:block}.overview .ref-inline{font-size:13px;font-weight:600;margin-bottom:5px}.compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;margin:20px 0;font-size:14px}.compare>p{padding:10px 0;border-bottom:1px solid var(--line);margin:0}.compare .head{font-size:12px;font-weight:700;color:var(--green)}.compare .both{grid-column:1/-1}.slide-content br+br+br{display:none}.more-lessons{border-top:1px solid var(--line);padding:30px 0;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:13px}.more-lessons>p{flex-basis:100%;font-family:Georgia,serif;font-size:25px;margin:0}.revision{font-size:10px;color:var(--muted);margin-bottom:32px}
@media(min-width:650px){.site-header,.site-footer,.library{width:min(1280px,calc(100% - 80px))}.reader{width:min(840px,calc(100% - 80px))}.site-header{padding-block:32px}.brand{font-size:27px}.family-link{font-size:12px}.intro{padding-top:68px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.slide-content{font-size:19px}.slide-content .question,.slide-content .quote{font-size:27px}.slide-content .kicker,.slide-content .part{font-size:13px}.lesson-section{padding:44px 30px 50px}.cover{padding-inline:0}.hasportrait .slide-content{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:0 32px}.hasportrait .slide-content>.part,.hasportrait .slide-content>.kicker{grid-column:1/-1}.hasportrait .portrait{margin:0}.compare{font-size:17px;column-gap:32px}.overview>p{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px}.overview .ref-inline{font-size:14px}.contents ol{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}
@media(min-width:1050px){.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.intro{padding-top:80px;padding-bottom:44px}.card-copy h2{min-height:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header,.contents,.site-footer,.more-lessons,.skip-link{display:none}.reader{width:100%;max-width:none}.lesson-section{break-inside:avoid;padding:20px 0}.slide-content{font-size:12pt}body{background:white}.slide-content a{color:inherit}}

/* Keep each imported slide visibly separate, including while reading long slides. */
html { scroll-behavior: auto; }
.lesson-section {
  padding: 0;
  margin-bottom: 32px;
  border: 1px solid #b7beb0;
  border-radius: 10px;
  background: var(--white);
  scroll-margin-top: 12px;
}
.slide-bar {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 4px 12px 4px 18px;
  border-top: 3px solid var(--green);
  border-bottom: 1px solid #b7beb0;
  border-radius: 9px 9px 0 0;
  background: #e5eadf;
}
.slide-number {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 44px;
  margin: 0;
  font-size: 14px;
  font-weight: 650;
  white-space: nowrap;
  color: var(--ink);
}
.slide-number > span { color: #515d4e; font-weight: 400; }
.slide-controls { display: flex; gap: 4px; }
.slide-step {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid #b7beb0;
  border-radius: 6px;
  background: var(--white);
  text-decoration: none;
  font-size: 19px;
  line-height: 1;
}
.slide-step:hover { background: #f1f3eb; }
.step-label { display: none; }
.lesson-section > .slide-content { padding: 24px 20px 28px; }
.slide-content > :first-child { margin-top: 0; }
.slide-content > :last-child { margin-bottom: 0; }
@media (min-width: 650px) {
  .lesson-section { margin-bottom: 40px; }
  .slide-bar { padding-inline: 30px 18px; }
  .slide-step { padding-inline: 12px; }
  .step-label { display: inline; font-size: 13px; }
  .lesson-section > .slide-content { padding: 32px 30px 36px; }
}
@media print {
  .lesson-section { margin-bottom: 20px; border-radius: 0; }
  .slide-bar { position: static; border-radius: 0; background: none; }
  .slide-controls { display: none; }
  .lesson-section > .slide-content { padding: 16px; }
}
/* Class comments stay private to the sender and the companion apps. */
.comment-launch { position:fixed; z-index:20; right:1rem; bottom:1rem; border:0; border-radius:999px; padding:.85rem 1.15rem; background:#344e42; color:#fff; font:600 1rem system-ui; box-shadow:0 3px 18px #0002; cursor:pointer }
#lesson-comments { width:min(90vw,32rem); max-height:85dvh; overflow:auto; padding:1.5rem; border:1px solid #d3cabb; border-radius:1rem; background:#fbf8f0; color:#273c30 }
#lesson-comments::backdrop { background:#0007 }
#lesson-comments h2 { margin:0 0 .5rem; font-size:1.5rem }
#lesson-comments label { display:block; margin:1rem 0; font:600 .95rem system-ui }
#lesson-comments input,#lesson-comments textarea { display:block; box-sizing:border-box; width:100%; margin-top:.4rem; padding:.75rem; border:1px solid #a8ac9d; border-radius:.4rem; background:#fff; color:#222; font:1rem system-ui }
#lesson-comments button { padding:.65rem 1rem; background:#344e42; color:#fff; border:0; border-radius:.4rem; font:600 .95rem system-ui; cursor:pointer }
#lesson-comments button:disabled { opacity:.5 }
#lesson-comments .comment-close { float:right; margin-left:1rem; background:transparent; color:#344e42 }
#lesson-comments .comment-status { min-height:1.5rem; font-weight:600 }
#lesson-comments .own-comments article { border-top:1px solid #d3cabb; padding:1rem 0 }
#lesson-comments .own-comments p { white-space:pre-wrap; overflow-wrap:anywhere }
#lesson-comments .own-comments button { float:right; background:transparent; color:#344e42 }
body:has(.comment-launch) .site-footer { padding-bottom:5rem }
