:root {
  color-scheme: light;
  --paper: #f8f6ed;
  --ivory: #fffdf6;
  --ink: #1c3028;
  --forest: #193b33;
  --body: #434f45;
  --muted: #596456;
  --rule: #cccfbd;
  --gold: #e4be7c;
  --serif: Georgia, Cambria, "Times New Roman", serif;
  --sans: "Segoe UI", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 1rem; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 1rem; }
a { color: inherit; text-underline-offset: .22em; }
a:hover, summary:hover { color: #85602b; }
:focus-visible { outline: 3px solid #b56a13; outline-offset: 5px; }
h1, h2, p, figure, dl, dd { margin: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; text-wrap: balance; }
h1 { max-width: 9em; font-size: clamp(3.45rem, 5.6vw, 5.7rem); line-height: .99; letter-spacing: -.067em; }
h2 { font-size: clamp(2.55rem, 4.2vw, 4.2rem); line-height: 1.04; letter-spacing: -.06em; }
em { color: #4d684c; font-weight: 400; }
.wrap { width: min(1220px, calc(100% - clamp(2.6rem, 10vw, 10rem))); margin-inline: auto; }
.skip { position: absolute; z-index: 3; left: 1rem; top: 0; transform: translateY(-140%); padding: .8rem 1rem; color: white; background: var(--forest); }
.skip:focus { transform: translateY(0); }
.site-header { background: var(--paper); border-bottom: 1px solid var(--rule); }
.masthead, .foot { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 76px; }
.wordmark { display: inline-flex; align-items: center; gap: .68rem; color: var(--ink); font: 600 1.14rem var(--serif); letter-spacing: -.035em; text-decoration: none; white-space: nowrap; }
.wordmark img { display: block; }
nav { display: flex; align-items: center; gap: clamp(1.3rem, 2.4vw, 2.2rem); }
nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font-size: .88rem; font-weight: 600; }
nav a:hover { text-decoration: underline; }
.hero { padding-block: clamp(2rem, 4vw, 4.1rem); }
.hero-grid { display: grid; grid-template-columns: minmax(0, .89fr) minmax(0, 1.12fr); gap: clamp(2rem, 5.8vw, 6rem); align-items: center; }
.hero-copy { padding-block: .5rem; }
.eyebrow { display: flex; align-items: center; gap: .62rem; margin-bottom: 1.15rem; color: #556144; font-size: .72rem; font-weight: 720; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow span { width: 1.65rem; height: 3px; background: #a97c39; }
.lead, .exercise-copy>p:not(.eyebrow), .section-intro, .last-call p { font-size: clamp(1rem, 1.33vw, 1.16rem); line-height: 1.62; color: var(--body); }
.lead { max-width: 29.5rem; margin: 1.46rem 0; }
.actions { display: flex; flex-wrap: wrap; align-items: center; column-gap: 1.25rem; row-gap: .4rem; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: .85rem; min-height: 49px; padding: .85rem 1.14rem; border: 1px solid transparent; border-radius: .2rem; background: var(--forest); color: white; font-weight: 650; font-size: .99rem; line-height: 1.3; text-decoration: none; }
.button:hover { background: #285144; color: white; }
.button span, .text-link span { display: inline-block; font-size: 1.1em; font-weight: 400; }
.text-link { display: inline-flex; gap: .51rem; align-items: center; min-height: 44px; color: var(--forest); font-size: .92rem; font-weight: 650; }
.disclosure { max-width: 26rem; margin-top: .94rem; font-size: .8rem; color: var(--muted); line-height: 1.55; }
.hero-image { position: relative; isolation: isolate; align-self: stretch; min-height: clamp(375px, 36vw, 510px); background: #9e8459; overflow: hidden; }
.hero-image img { display: block; position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; object-position: 54% 52%; }
.hero-image figcaption { position: absolute; right: .85rem; bottom: .7rem; padding: .25rem .5rem; background: #19342ad9; color: white; font-size: .67rem; letter-spacing: .04em; }
.layout-section { padding-block: clamp(3.3rem, 5.4vw, 5.5rem); background: var(--forest); color: #f8f4dd; }
.layout-grid, .contents-grid, .question-grid, .final-grid { display: grid; align-items: center; gap: clamp(2.6rem, 7.4vw, 7.3rem); }
.layout-grid { grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); }
.layout-section em, .last-call em { color: #ebc685; }
.layout-section .eyebrow { color: var(--gold); }
.layout-section .eyebrow span { background: var(--gold); }
.exercise-copy>p:not(.eyebrow) { margin: 1rem 0 1.2rem; color: #e0e9d9; }
.measure-list { margin: 0; padding: 0; list-style: none; }
.measure-list li { position: relative; padding: .55rem 0 .55rem 1.2rem; color: #e0e9d9; font-size: .98rem; line-height: 1.52; }
.measure-list li::before { content: ""; width: 5px; height: 5px; position: absolute; left: 0; top: 1.15rem; background: var(--gold); }
.measure-list strong { color: var(--ivory); }
.plan { background: #234b41; padding: clamp(.7rem, 2vw, 1.4rem); border: 1px solid #658073; }
.plan img { width: 100%; height: auto; display: block; }
.plan figcaption, .cover figcaption { font-family: ui-monospace, Consolas, monospace; line-height: 1.5; font-size: .72rem; }
.plan figcaption { display: flex; align-items: baseline; flex-wrap: wrap; gap: .3rem 1rem; justify-content: space-between; color: #d2dfcb; border-top: 1px solid #739285; padding-top: .9rem; margin-top: .65rem; }
.contents-section, .questions { padding-block: clamp(3.7rem, 6vw, 6.4rem); }
.contents-grid { grid-template-columns: minmax(0, .77fr) minmax(0, 1.12fr); }
.cover { display: grid; justify-items: center; background: #e7e4d2; border: 1px solid #d1cebc; padding: clamp(2.1rem, 3.5vw, 3.3rem) 1.4rem 1.35rem; }
.cover img { display: block; width: min(78%, 285px); height: auto; }
.cover figcaption { color: #556048; text-align: center; margin-top: 1.5rem; }
.section-intro { margin: 1.1rem 0; }
.chapter-list dt { margin: 1.1rem 0 .27rem; font-size: 1.04rem; font-weight: 700; }
.chapter-list dd, details p, .questions p:not(.eyebrow) { color: var(--body); line-height: 1.65; }
.chapter-list+.text-link { margin-top: .8rem; }
.questions { border-top: 1px solid var(--rule); }
.question-grid { grid-template-columns: minmax(0, .75fr) minmax(0, 1.12fr); align-items: start; }
.answers { border-top: 1px solid #acb4a3; }
details { border-bottom: 1px solid #acb4a3; }
summary { position: relative; list-style: none; cursor: pointer; min-height: 54px; padding: 1.08rem 1.8rem 1.08rem 0; font-size: 1rem; line-height: 1.45; font-weight: 650; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; font-weight: 400; color: #587254; font-size: 1.4rem; position: absolute; top: .7rem; right: .22rem; }
details[open] summary::after { content: "−"; }
details p { margin: -.2rem 1.45rem 1.1rem 0; }
.last-call { padding-block: clamp(3rem, 4.8vw, 4.5rem); color: var(--ivory); background: #203d32; }
.final-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .6fr); }
.last-call p { color: #e1e7d8; margin-top: 1rem; max-width: 36rem; }
.offer { justify-self: end; text-align: center; }
.button-gold { background: #ebc888; color: #233629; }
.button-gold:hover { background: #f3dbab; color: #233629; }
.offer>span { display: block; margin-top: .55rem; font-size: .8rem; line-height: 1.5; color: #dce4d7; }
.foot { min-height: 82px; }
.foot .wordmark { font-size: 1rem; }
@media (max-width: 950px) {
  .wrap { width: min(100% - 3rem, 1220px); }
  .actions { column-gap: .9rem; }
}
@media (max-width: 770px) {
  .hero-grid, .layout-grid, .contents-grid, .question-grid, .final-grid { grid-template-columns: 1fr; gap: 2rem; }
  .wrap { width: min(100% - 2.6rem, 630px); }
  .masthead { min-height: 64px; }
  .hero { padding-top: 2.5rem; padding-bottom: 1.8rem; }
  h1 { max-width: 9em; }
  .hero-image { aspect-ratio: 1.7; min-height: 0; }
  .hero-grid { gap: 1.6rem; }
  .lead { max-width: 36rem; margin: 1.05rem 0 1.25rem; }
  .layout-grid { gap: 1.6rem; }
  .contents-grid { grid-template-areas: "copy" "book"; }
  .contents-grid>div { grid-area: copy; }
  .cover { grid-area: book; padding-block: 1.5rem 1rem; }
  .cover img { max-width: 160px; }
  .cover figcaption { margin-top: .65rem; }
  .offer { justify-self: start; text-align: left; }
}
@media (max-width: 500px) {
  .wrap { width: calc(100% - 2.25rem); }
  .masthead { gap: .6rem; }
  .wordmark { font-size: 1.02rem; gap: .45rem; }
  .masthead .wordmark img { width: 29px; height: 29px; }
  .masthead nav a[href="#questions"] { display: none; }
  nav a { font-size: .82rem; }
  .hero { padding-top: 1.9rem; }
  h1 { font-size: clamp(3.08rem, 13.2vw, 3.85rem); }
  .eyebrow { margin-bottom: 1rem; font-size: .68rem; }
  .actions { gap: .25rem 1rem; }
  .disclosure { margin-top: .65rem; }
  .foot { flex-wrap: wrap; min-height: 76px; gap: 0 1rem; padding-block: .9rem; }
  .foot nav { gap: 1rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .button { transition: background-color .18s ease; }
}
