.canine-lesson { padding-block: 0 4rem; }
.canine-lesson .answer-section { margin-block: 0 3rem; padding-block: 1rem; }
.canine-lesson h2 { font-size: clamp(1.6rem, 4vw, 2.2rem); line-height: 1.2; }
.canine-lesson h3 { margin-block: 0 1rem; font-size: 1.25rem; }
.canine-contents { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; margin-top: 2rem; }
.canine-contents a { color: var(--ink); text-underline-offset: .2em; }
.canine-case, .canine-retelling { border-left: 4px solid #17483f; padding: 1.3rem; background: #f1f5f2; color: #171717; }
.canine-case { margin-block: 1.5rem; }
.canine-purpose { border-top: 1px solid #65766e; padding-top: 1.25rem; margin-top: 1.25rem; }
.canine-figure { margin: 1.5rem 0; max-width: 36rem; }
.canine-figure img { display: block; width: min(100%, 360px); height: auto; margin-inline: auto; }
.canine-figure figcaption { margin-top: 1rem; font-size: 1rem; line-height: 1.6; color: var(--muted); }
.canine-lesson a:focus-visible, .canine-contents a:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.canine-lesson p, .canine-lesson a, .canine-contents a { overflow-wrap: anywhere; }
@media (max-width: 390px) {
  .canine-case, .canine-retelling { padding: 1rem; }
  .canine-contents { flex-direction: column; align-items: flex-start; }
}
@media print {
  :root { color-scheme: light; --bg: #fff; --panel: #fff; --panel-light: #fff; --ink: #171717; --muted: #171717; }
  .skip-link { display: none; }
  .page-intro { background: #fff; }
  .lead { color: #171717; }
  nav[aria-label="More in this guide"], nav[aria-label="More in this guide"] p, nav[aria-label="More in this guide"] a { color: #171717; background: #fff; }
  html.canine-document { color: #000; background: #fff; color-scheme: light; }
  .canine-document .skip-link { display: none; }
  .canine-document .page-intro { background: #fff; }
  .canine-document .lead { color: #000; }
  .canine-document .page-intro, .canine-document .section-pad { padding-block: .35rem; }
  .canine-document .canine-lesson { padding-block: 0; }
  .canine-document .answer-section { margin-block: 0 .7rem; padding-block: .2rem; }
  .canine-document h1 { font-size: 25pt; line-height: 1.1; }
  .canine-document h2 { font-size: 16pt; break-after: avoid; }
  .canine-document h3 { font-size: 12pt; break-after: avoid; }
  .canine-document p, .canine-document figcaption { font-size: 10pt; line-height: 1.4; orphans: 3; widows: 3; }
  .canine-document .canine-case, .canine-document .canine-purpose, .canine-document .canine-retelling, .canine-document .canine-figure { break-inside: avoid; }
  .canine-document .canine-case, .canine-document .canine-retelling { color: #000; background: #fff; border-color: #000; padding: .5rem; }
  .canine-document .canine-figure { margin-block: .5rem; }
  .canine-document .canine-figure img { width: 245px; }
  .canine-document .canine-contents { display: block; margin-top: .5rem; }
  .canine-document .canine-contents a { display: inline; margin-right: .8rem; }
  .canine-document a, .canine-document figcaption { color: #000; }
}
