:root {
  --ground: #b7beb2;
  --card: #d3d5ca;
  --ink: #28312e;
  --muted: #444941;
  --lavender: #c6b8ce;
  --violet: #554361;
  --soft: #c3c9ba;
  --rule: #8f9b87;
  --card-shadow: 4px 6px 0 rgb(74 85 65 / 18%), 0 10px 24px rgb(74 85 65 / 7%);
  color-scheme: light;
  font-family: ui-rounded, "Hiragino Maru Gothic ProN", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
  font-size: 18px;
  color: var(--ink);
  background: var(--ground);
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.75; }
body:has(dialog[open]) { overflow: hidden; }
h1, h2, h3, h4, h5, h6, strong { font-family: inherit; }
h1, h2, h3, h4, h5, h6 { line-height: 1.22; letter-spacing: .005em; text-wrap: balance; font-weight: 700; }
h1 { font-size: clamp(2.3rem, 4.1vw, 3.45rem); margin: .3em 0 .5em; }
h2 { font-size: clamp(1.4rem, 2.3vw, 1.85rem); margin: 0 0 .7em; }
h3 { font-size: 1.2rem; }
p { margin: 0 0 1em; }
a { color: var(--violet); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .22em; min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; padding-block: 8px; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: 3px; }
button, summary { font: inherit; color: inherit; cursor: pointer; min-height: 48px; min-width: 44px; }
button { border: 0; border-radius: 6px; background: var(--lavender); padding: 12px 20px; box-shadow: 2px 3px 0 rgb(85 67 97 / 20%); }
button:hover { background: var(--soft); }
:focus-visible { outline: 3px solid var(--violet); outline-offset: 4px; border-radius: 6px; }
ul, ol { padding-left: 1.25em; }
li { padding: .35em 0; }
main { max-width: 1192px; margin: 0 auto; padding: 0 32px; }
article { max-width: 76ch; margin-inline: auto; }
article > section { margin: 0 0 32px; padding: 34px 38px; background: var(--card); border-radius: 6px; box-shadow: var(--card-shadow); }
article > section > p, article > section > ul { max-width: 66ch; }
article > section > :last-child { margin-bottom: 0; }
article > section > a { display: flex; width: fit-content; }
hr { border: 0; border-top: 2px solid var(--rule); margin: 2rem 0; }
dialog { color: var(--ink); background: var(--card); border: 0; border-radius: 6px; }
dialog::backdrop { background: rgb(40 49 46 / 32%); }
dialog form { display: flex; justify-content: flex-end; margin-bottom: 2rem; }
dialog a { overflow-wrap: anywhere; }
.c-skip { position: fixed; left: 24px; top: -120px; z-index: 9; background: var(--card); padding: 12px 20px; border: 2px solid var(--violet); border-radius: 6px; }
.c-skip:focus { top: 12px; }
.c-masthead { max-width: 1192px; margin: 0 auto; padding: 30px 32px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.c-name { display: flex; align-items: center; gap: 14px; }
.c-name p { font-size: 1.3rem; font-weight: 700; margin: 0; line-height: 1.25; }
.c-name p span { display: block; font-size: 1rem; font-weight: 400; margin-top: 5px; }
.c-name-mark { width: 32px; height: 39px; flex-shrink: 0; display: block; border-radius: 6px; position: relative; background: var(--lavender); box-shadow: 3px 3px 0 rgb(85 67 97 / 20%); transform: rotate(-5deg); }
.c-name-mark::after { content: ""; position: absolute; width: 17px; height: 11px; left: 8px; top: 13px; border-top: 2px solid var(--violet); border-bottom: 2px solid var(--violet); }
.c-breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 0; margin: 0; }
.c-breadcrumb li { padding: 0; }
.c-breadcrumb a, .c-breadcrumb span { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 10px; }
.c-breadcrumb [aria-hidden] { padding-inline: 2px; }
.c-breadcrumb [aria-current] { color: var(--muted); }
.c-home-opener { display: grid; grid-template-columns: 1.25fr .85fr; gap: 44px; align-items: center; padding: 64px 0 58px; }
.c-home-opener > div:first-child, .c-chapter-opener { position: relative; background: var(--card); border-radius: 6px; box-shadow: var(--card-shadow); padding: 34px 38px 38px; }
.c-home-opener > div:first-child::before, .c-chapter-opener::before { content: ""; position: absolute; width: 100px; height: 20px; top: -20px; left: 30px; border-radius: 6px 6px 0 0; background: var(--lavender); }
.c-home-opener h1 { max-width: 14ch; }
.c-home-opener h1 span { color: var(--violet); }
.c-eyebrow { color: var(--muted); font-size: 1rem; font-weight: 500; margin-bottom: 24px; }
.c-lead { font-size: 1.12rem; max-width: 56ch; line-height: 1.65; margin-bottom: 0; }
.c-chapter-opener { max-width: 940px; margin: 62px auto 46px; padding: 38px 48px 42px; }
.c-chapter-opener h1 { max-width: 22ch; }
.c-chapter { padding-bottom: 22px; }
article > .c-path { padding: 8px 0 0; background: transparent; box-shadow: none; }
.c-path ol { padding: 0; margin: 1.4rem 0 0; list-style: none; display: grid; gap: 16px; }
.c-path li { padding: 0; min-width: 0; }
.c-path a { display: grid; grid-template-columns: 108px minmax(0, 1fr) 24px; gap: 20px; padding: 24px; text-decoration: none; width: 100%; color: var(--ink); background: var(--card); border-radius: 6px; box-shadow: var(--card-shadow); }
.c-path a:hover { background: var(--soft); }
.c-path strong { color: var(--violet); font-size: 1.12rem; font-weight: 700; text-decoration: underline; text-underline-offset: .22em; }
.c-path-cue { color: var(--violet); background: var(--lavender); padding: 4px 10px; border-radius: 6px; align-self: start; font-size: .95rem; }
.c-path-description { display: block; margin-top: 8px; }
.c-path-arrow { font-size: 1.4rem; align-self: center; color: var(--violet); }
.c-evidence { margin: 1.5rem 0 0; background: var(--lavender); border-radius: 6px; }
.c-evidence summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; list-style: none; color: var(--violet); text-decoration: underline; text-underline-offset: .22em; }
.c-evidence summary::-webkit-details-marker { display: none; }
.c-evidence summary span { font-size: 1.3rem; text-decoration: none; flex-shrink: 0; }
.c-evidence summary:hover { background: var(--soft); border-radius: 6px; }
.c-evidence-body { padding: 18px 22px 14px; background: var(--soft); border-radius: 0 0 6px 6px; }
.c-evidence-body ul { list-style: none; padding: 0; margin: 0; }
.c-evidence-body li { padding: 0; }
.c-evidence-body a { display: flex; }
.c-questions { list-style: none; padding: 0; margin-top: 1.2rem; display: grid; gap: 12px; }
.c-questions li { padding: 16px 18px 16px 42px; position: relative; background: var(--soft); border-radius: 6px; }
.c-questions li::before { content: ""; position: absolute; left: 18px; top: 28px; width: 9px; height: 9px; border-radius: 50%; background: var(--violet); }
.c-recap { position: relative; background: var(--lavender); padding: 30px 38px; border-radius: 6px; margin: 48px 0 0; box-shadow: var(--card-shadow); }
.c-recap::before { content: ""; position: absolute; left: 28px; top: -14px; width: 70px; height: 14px; background: var(--lavender); border-radius: 6px 6px 0 0; }
.c-recap h2 { font-size: 1.3rem; }
.c-recap p { margin-bottom: 0; }
.c-next { display: flex; justify-content: space-between; gap: 22px; width: 100%; padding: 24px 30px; margin: 28px 0 0; text-decoration: none; background: var(--card); border-radius: 6px; box-shadow: var(--card-shadow); }
.c-next:hover { background: var(--soft); }
.c-next-label { display: block; color: var(--muted); font-size: 1rem; margin-bottom: 6px; }
.c-next strong { font-size: 1.12rem; font-weight: 700; text-decoration: underline; text-underline-offset: .22em; }
.c-next > span:last-child { font-size: 1.6rem; align-self: center; }
.c-footer { max-width: 1128px; margin: 38px auto 0; padding: 30px 0 40px; display: grid; grid-template-columns: minmax(0, 68ch) auto; align-items: start; gap: 36px; border-top: 2px solid var(--rule); }
.c-footer p { margin: 0; }
.c-footer a { justify-self: end; }
.c-drawer { margin: 16px 16px 16px auto; inset: 0; height: calc(100dvh - 32px); max-height: calc(100dvh - 32px); width: min(570px, calc(100% - 32px)); max-width: calc(100% - 32px); padding: 28px 36px; box-shadow: -6px 8px 0 rgb(40 49 46 / 18%); overflow-y: auto; }
.c-drawer:not([open]) { display: none; }
.c-drawer h2 { max-width: 24ch; }
.c-drawer .c-evidence-body { padding: 0; background: transparent; }
.c-drawer button { display: inline-flex; align-items: center; gap: 18px; }
.c-illustration { aspect-ratio: 1.05; background: var(--soft); border-radius: 6px; position: relative; overflow: hidden; margin: 0; transform: rotate(1.5deg); box-shadow: 6px 8px 0 rgb(74 85 65 / 20%); }
.c-illustration > span { position: absolute; display: block; }
.c-art-sun { width: 22%; aspect-ratio: 1; border-radius: 50%; background: var(--lavender); left: 51%; top: 15%; }
.c-art-ridge { width: 105%; height: 54%; border-top: 2px solid #63745d; background: #bac3ae; border-radius: 55% 65% 0 0; top: 46%; left: -18%; transform: rotate(-8deg); }
.c-art-ridge-far { width: 80%; height: 39%; left: 38%; top: 46%; transform: rotate(6deg); background: #a8b59c; }
.c-art-path { width: 48%; height: 64%; left: 44%; top: 46%; border-left: 2px solid #796686; border-right: 2px solid #796686; background: #c6b8ce; border-radius: 55% 65% 0 0; transform: rotate(-28deg); }
.c-art-cactus { width: 5%; height: 23%; top: 36%; left: 20%; border-radius: 40% 40% 0 0; background: #74856e; }
.c-art-cactus::before { content: ""; width: 135%; height: 42%; border: 4px solid #74856e; border-top: 0; border-right: 0; border-radius: 0 0 0 16px; position: absolute; left: -135%; top: 22%; }
.c-art-cactus::after { content: ""; width: 145%; height: 38%; border: 4px solid #74856e; border-top: 0; border-left: 0; border-radius: 0 0 16px 0; position: absolute; right: -145%; top: 4%; }
.c-art-stone { width: 9%; height: 4%; background: #8f9b87; border-radius: 60% 60% 10% 10%; top: 65%; left: 23%; }
.c-art-book { width: 33%; height: 21%; background: var(--card); border: 2px solid #796686; border-radius: 6px; left: 13%; bottom: 10%; transform: rotate(8deg); box-shadow: 3px 4px 0 rgb(85 67 97 / 20%); }
.c-art-book::before { content: ""; position: absolute; left: 50%; top: 0; width: 2px; height: 100%; background: #796686; }
.c-art-book::after { content: ""; position: absolute; left: 10%; top: 28%; width: 25%; height: 28%; border-top: 2px solid var(--rule); border-bottom: 2px solid var(--rule); }
@media (prefers-reduced-motion: no-preference) {
  a, button, summary { transition: background-color 120ms ease, text-decoration-thickness 120ms ease; }
}
@media (max-width: 1192px) {
  .c-footer { margin-inline: 32px; }
}
@media (max-width: 760px) {
  main { padding-inline: 20px; }
  .c-masthead { padding: 24px 20px 12px; flex-direction: column; align-items: flex-start; gap: 14px; }
  .c-breadcrumb a, .c-breadcrumb span { padding-inline: 6px; }
  .c-breadcrumb li:first-child a, .c-breadcrumb li:first-child span { padding-left: 0; }
  .c-home-opener { display: flex; flex-direction: column; align-items: stretch; gap: 30px; padding: 40px 0 38px; }
  .c-home-opener > div:first-child { padding: 26px 24px 30px; }
  .c-home-opener h1 { max-width: 13ch; font-size: clamp(2rem, 9.5vw, 2.7rem); }
  .c-eyebrow { margin-bottom: 18px; }
  .c-illustration { max-width: 440px; width: calc(100% - 12px); aspect-ratio: 1.38; align-self: center; }
  .c-art-ridge { width: 89%; left: 4%; }
  .c-art-ridge-far { width: 65%; left: 30%; }
  .c-chapter-opener { margin: 40px 0 30px; padding: 28px 24px 32px; }
  .c-chapter-opener h1 { font-size: 2.2rem; }
  article > section { padding: 26px 24px; margin-bottom: 24px; }
  .c-path a { grid-template-columns: minmax(0, 1fr) 24px; gap: 12px 16px; padding: 22px 24px; }
  .c-path-cue { grid-column: 1; justify-self: start; }
  .c-path a > span:nth-child(2) { grid-column: 1; }
  .c-path-arrow { grid-column: 2; grid-row: 1 / 3; }
  .c-recap { padding: 26px 24px; }
  .c-next { padding: 22px 24px; }
  .c-footer { display: flex; flex-direction: column; margin-inline: 20px; gap: 12px; }
  .c-drawer { padding: 22px 24px; }
  .c-evidence summary { padding: 14px 16px; }
  .c-evidence-body { padding-inline: 16px; }
}
@media print {
  :root { font-size: 12pt; background: white; color: #28312e; }
  .c-skip, .c-breadcrumb, .c-drawer, .c-illustration { display: none; }
  .c-masthead, main, .c-footer { max-width: none; padding-inline: 0; margin-inline: 0; }
  .c-home-opener { display: block; padding-block: 24px; }
  .c-home-opener > div:first-child, .c-chapter-opener, article > section, .c-recap, .c-next, .c-path a { background: transparent; box-shadow: none; }
  .c-home-opener > div:first-child, .c-chapter-opener, article > section { padding-inline: 0; }
  .c-home-opener > div:first-child::before, .c-chapter-opener::before, .c-recap::before { display: none; }
  h1 { font-size: 28pt; }
  h2 { break-after: avoid; }
  p, li { orphans: 3; widows: 3; }
  .c-recap, .c-next { break-inside: avoid; }
  a { color: var(--ink); }
}
