:root {
  color-scheme: dark;
  --paper: #f4ecd8;
  --muted: #b6b1a1;
  --forest: #172820;
  --deep: #0d1713;
  --panel: #1e3329;
  --line: #40594d;
  --gold: #d7b96d;
  --moss: #93ad84;
  --ember: #b9603e;
  --max: 1160px;
  font-family: Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--paper); background: radial-gradient(circle at 80% 0, rgba(80,108,84,.27), transparent 34rem), var(--deep); line-height: 1.65; }
a { color: inherit; }
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
img { display: block; width: 100%; height: auto; }
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 30; padding: .75rem 1rem; color: var(--deep); background: var(--gold); font: 800 .85rem/1.2 ui-sans-serif, system-ui, sans-serif; }
.skip-link:focus { top: 1rem; }
.site-header, main, .site-footer { width: min(calc(100% - 2rem), var(--max)); margin-inline: auto; }
.site-header { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; position: relative; z-index: 12; border-bottom: 1px solid var(--line); }
.brand { color: var(--paper); font-size: 1.18rem; font-weight: 700; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.brand span { display: block; margin-top: .22rem; color: var(--gold); font: 800 .62rem/1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .21em; }
.primary-nav { display: flex; align-items: stretch; gap: .25rem; }
.primary-nav > a, .nav-group > summary { display: flex; align-items: center; min-height: 42px; padding: .65rem .8rem; color: var(--muted); font: 800 .73rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; cursor: pointer; list-style: none; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group { position: relative; }
.nav-group > summary::after { content: ""; width: .38rem; height: .38rem; margin-left: .5rem; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.nav-group[open] > summary, .primary-nav > a:hover { color: var(--gold); background: rgba(30,51,41,.72); }
.nav-group ul { position: absolute; right: 0; top: calc(100% - 1px); z-index: 20; width: 280px; margin: 0; padding: .55rem; list-style: none; background: #12221b; border: 1px solid var(--line); box-shadow: 0 20px 45px rgba(0,0,0,.42); }
.nav-group li + li { border-top: 1px solid rgba(64,89,77,.56); }
.nav-group li a { display: block; padding: .7rem; color: var(--muted); font: 700 .82rem/1.35 ui-sans-serif, system-ui, sans-serif; text-decoration: none; }
.nav-group li a:hover { color: var(--paper); background: var(--panel); }
main { padding-bottom: 7rem; }
.opening { min-height: 650px; display: grid; grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; padding: 5rem 0; }
.kicker, .chapter { margin: 0 0 .9rem; color: var(--gold); font: 850 .67rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .2em; text-transform: uppercase; }
h1, h2, h3, p, a, dd, td { overflow-wrap: anywhere; }
h1 { margin: 0; font-size: clamp(4rem, 9vw, 7.7rem); font-weight: 500; line-height: .82; letter-spacing: -.07em; }
hgroup > p { max-width: 660px; margin: 1.6rem 0 0; color: var(--muted); font-size: clamp(1.05rem, 2vw, 1.32rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 2rem 0 0; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .72rem 1rem; border: 1px solid var(--line); font: 850 .82rem/1 ui-sans-serif, system-ui, sans-serif; text-decoration: none; }
.button-gold { color: #1b1b12; background: var(--gold); border-color: var(--gold); }
.button-gold:hover { color: #1b1b12; background: #f1d890; }
.button-ghost { color: var(--paper); background: rgba(23,40,32,.68); }
.fast-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 2rem 0 0; border-block: 1px solid var(--line); }
.fast-facts div { min-width: 0; padding: .85rem; border-right: 1px solid var(--line); }
.fast-facts div:last-child { border-right: 0; }
.fast-facts dt { color: var(--muted); font: 750 .62rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.fast-facts dd { margin: .35rem 0 0; font-size: .88rem; }
.opening figure { background: #14241c; border: 1px solid var(--line); box-shadow: 16px 16px 0 rgba(215,185,109,.09); }
.opening figure img { aspect-ratio: 1200 / 630; object-fit: cover; }
figcaption { padding: .8rem 1rem; color: var(--muted); font: .76rem/1.45 ui-sans-serif, system-ui, sans-serif; }
section, .task-board, .evidence-panel { margin-top: 7rem; scroll-margin-top: 1rem; }
.task-board { padding: clamp(1.3rem, 4vw, 2.8rem); color: #132019; background: var(--paper); }
.task-board header, section > header, .evidence-panel > header { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: .5rem 2rem; margin-bottom: 2rem; }
.task-board .chapter { color: #7c482f; }
.task-board h2, section > header h2, .evidence-panel h2 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.5rem); font-weight: 500; line-height: .94; letter-spacing: -.05em; }
.task-board ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin: 0; padding: 0; list-style: none; }
.task-board li { min-width: 0; }
.task-board a { display: grid; height: 100%; padding: 1rem; border: 1px solid #b8a986; text-decoration: none; }
.task-board a:hover { color: #132019; background: #fff8e8; border-color: #7c482f; }
.task-board strong { font-size: 1.08rem; }
.task-board span { margin-top: .45rem; color: #675e4e; font: .82rem/1.45 ui-sans-serif, system-ui, sans-serif; }
.timer-section { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 3rem; align-items: center; padding: clamp(1.4rem, 4vw, 3rem); background: var(--forest); border: 1px solid var(--line); }
.timer-section h2 { margin: 0; font-size: clamp(2.4rem, 5vw, 4.8rem); font-weight: 500; line-height: .9; letter-spacing: -.05em; }
.timer-copy > p:not(.chapter) { max-width: 680px; color: var(--muted); }
.timer-controls { display: flex; flex-wrap: wrap; align-items: end; gap: .7rem; margin-top: 1.4rem; }
.timer-controls label { display: grid; gap: .35rem; color: var(--muted); font: 700 .7rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.timer-controls input { width: 82px; min-height: 48px; padding: .7rem; color: var(--paper); background: var(--deep); border: 1px solid var(--line); font: 800 1rem/1 ui-monospace, monospace; }
.timer-controls button { cursor: pointer; }
.timer-display { color: var(--gold); font: 500 clamp(3.5rem, 9vw, 7.5rem)/.9 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: -.08em; }
.timer-note { grid-column: 1 / -1; margin: 0; color: var(--muted); font: .76rem/1.4 ui-sans-serif, system-ui, sans-serif; }
.playbook { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 2rem; }
.playbook > header { grid-column: 1 / -1; }
.playbook ol { margin: 0; padding: 0; list-style: none; border-block: 1px solid var(--line); }
.playbook ol li { display: grid; grid-template-columns: 55px 1fr; gap: 1rem; padding: 1.1rem 0; }
.playbook ol li + li { border-top: 1px solid var(--line); }
.playbook ol li > span { color: var(--gold); font: 850 1rem/1.4 ui-monospace, monospace; }
.playbook h3 { margin: 0; font-size: 1.25rem; font-weight: 500; }
.playbook ol p { margin: .35rem 0 0; color: var(--muted); }
.playbook aside { padding: 1.3rem; background: var(--panel); border-top: 4px solid var(--gold); }
.playbook aside h3 { color: var(--gold); }
.playbook aside ul { padding-left: 1.1rem; color: var(--muted); }
.playbook aside a { color: var(--gold); font: 800 .82rem/1.4 ui-sans-serif, system-ui, sans-serif; }
.table-frame { overflow-x: auto; border-block: 1px solid var(--line); }
table { width: 100%; min-width: 740px; border-collapse: collapse; text-align: left; }
caption { padding: .9rem 0; color: var(--muted); text-align: left; font-style: italic; }
th, td { padding: 1rem; border-top: 1px solid var(--line); }
thead th { color: var(--gold); font: 850 .68rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
tbody th { color: var(--gold); font-size: 1.08rem; font-weight: 500; }
td { color: var(--muted); }
.evidence-panel { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 1rem 2rem; padding: clamp(1.5rem, 5vw, 3.5rem); background: linear-gradient(135deg, #271710, #140f0c); border: 1px solid #674331; }
.evidence-panel > header { display: block; margin: 0; }
.evidence-panel .answer { margin: 0; font-size: 1.15rem; }
.evidence-panel dl { grid-column: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 1rem 0; background: #674331; }
.evidence-panel dl div { padding: 1rem; background: #1c120e; }
.evidence-panel dt { color: #ef9d78; font: 850 .68rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.evidence-panel dd { margin: .5rem 0 0; color: #c8b2a6; font-size: .86rem; }
.evidence-panel mark { color: #22130c; background: #ef9d78; }
.evidence-panel .button { grid-column: 2; justify-self: start; }
.video-notes > header > p:last-child { grid-column: 2; max-width: 740px; margin: .45rem 0 0; color: var(--muted); }
.video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.video-grid figure { min-width: 0; margin: 0; background: var(--panel); border: 1px solid var(--line); }
.video-grid iframe, .video-launch { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.video-launch { position: relative; padding: 0; color: var(--paper); background: #0f2119; cursor: pointer; overflow: hidden; }
.video-launch img { height: 100%; object-fit: cover; }
.video-launch::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 40%, rgba(8,18,13,.86)); }
.video-launch span { position: absolute; left: 1rem; bottom: .85rem; z-index: 1; font: 850 .72rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.faq > div { max-width: 880px; margin-left: auto; }
.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; padding: 1.15rem 2rem 1.15rem 0; color: var(--gold); font-size: 1.03rem; }
.faq details p { margin: 0 0 1.25rem; color: var(--muted); }
.site-footer { display: flex; justify-content: space-between; gap: 2rem; padding: 2rem 0 3rem; border-top: 1px solid var(--line); color: var(--muted); font: .8rem/1.55 ui-sans-serif, system-ui, sans-serif; }
.site-footer p { max-width: 660px; margin: .35rem 0 0; }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .8rem 1rem; }
.site-footer a { font-weight: 750; text-decoration: none; }
@media (max-width: 920px) {
  .site-header { align-items: flex-start; flex-direction: column; padding: 1rem 0; }
  .primary-nav { width: 100%; flex-wrap: wrap; }
  .nav-group ul { left: 0; right: auto; }
  .opening { grid-template-columns: 1fr; min-height: 0; }
  .task-board ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .playbook { grid-template-columns: 1fr; }
  .playbook > header { grid-column: 1; }
  .evidence-panel { grid-template-columns: 1fr; }
  .evidence-panel dl, .evidence-panel .button { grid-column: 1; }
}
@media (max-width: 680px) {
  .primary-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .primary-nav > a, .nav-group > summary { justify-content: space-between; border: 1px solid var(--line); background: rgba(30,51,41,.7); }
  .nav-group { position: static; }
  .nav-group ul { position: absolute; left: 0; right: 0; top: 100%; width: 100%; }
  .opening { padding-top: 4rem; }
  h1 { font-size: clamp(4rem, 19vw, 6rem); }
  .fast-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fast-facts div { border-bottom: 1px solid var(--line); }
  .task-board header, section > header, .evidence-panel > header { grid-template-columns: 1fr; }
  .video-notes > header > p:last-child { grid-column: 1; }
  .task-board ul, .video-grid { grid-template-columns: 1fr; }
  .timer-section { grid-template-columns: 1fr; }
  .timer-display { justify-self: start; font-size: clamp(3.3rem, 17vw, 5.5rem); }
  .evidence-panel dl { grid-template-columns: 1fr; }
  .site-footer { flex-direction: column; }
  .site-footer nav { justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
