/* Additions for the current book companion; retained site assets stay intact. */
.companion-grid,.case-grid,.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.companion-card,.case-card{border:1px solid var(--line);background:var(--white,#fff);padding:30px;border-radius:8px;min-width:0}
.companion-card h3,.case-card h2,.case-card h3,.companion-case-jumps h2{font-size:1.45rem;line-height:1.25;margin:.7rem 0 1rem}
.companion-card p,.case-card p{font-size:1rem;line-height:1.65}.companion-card .text-link{display:inline-block;margin-top:14px}
.companion-number{color:var(--gold-ink);font-size:.8rem;letter-spacing:.12em;font-weight:700}
.companion-intro{background:var(--paper)}.companion-edition{padding:30px 0;border-block:1px solid var(--line);background:var(--soft,#f1f0e9)}
.companion-edition>.wrap{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:22px}.companion-edition .eyebrow{margin-bottom:10px}.companion-edition dl{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0}.companion-edition dt{font-size:.78rem;color:var(--muted)}.companion-edition dd{font-family:var(--serif);font-size:2.4rem;margin:3px 0 0}.companion-edition .small{grid-column:1/-1;margin:0}
.companion-crosslinks{padding:20px 0;background:var(--soft,#f1f0e9);border-block:1px solid var(--line)}.companion-crosslinks p{margin:0;max-width:900px}.companion-crosslinks a{margin-inline:3px}
.companion-hero,.companion-section{padding:58px 0}.companion-hero{border-bottom:1px solid var(--line)}.companion-hero h1{max-width:850px}.companion-section+.companion-section{border-top:1px solid var(--line)}
.companion-case-jumps{margin-top:32px}.companion-case-jumps.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid .card{min-width:0}
.companion-update h2{font-size:2.25rem}.case-card{scroll-margin-top:110px}.case-card ul{padding-left:20px}.case-card li{margin:.5rem 0}.case-card .eyebrow{margin-bottom:12px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:7px;margin:24px 0}.table-wrap table{width:100%;border-collapse:collapse;margin:0;font-size:.92rem}.table-wrap th,.table-wrap td{padding:14px;vertical-align:top;text-align:left;border-bottom:1px solid var(--line)}.table-wrap th{background:var(--soft,#f1f0e9)}.table-wrap tr:last-child td{border-bottom:0}.table-wrap caption{text-align:left;font-size:1rem;padding:16px;font-weight:700}
.practice-note{border-left:4px solid var(--gold);background:var(--soft,#f1f0e9);padding:22px 26px;margin:28px 0}.practice-note h3{font-size:1.4rem}.practice-note details{margin-top:14px}.practice-note summary{cursor:pointer;font-weight:700}.companion-section .lead{max-width:800px}
.book-companion article a,.companion-section a,.companion-hero a{overflow-wrap:anywhere}.companion-section h2,.essay h2{scroll-margin-top:110px}.companion-section .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1050px){.companion-grid{gap:16px}.companion-card{padding:24px}.nav{gap:14px}}
@media(max-width:760px){.companion-grid,.case-grid,.card-grid,.companion-section .case-grid,.companion-case-jumps.card-grid{grid-template-columns:1fr}.companion-edition>.wrap{grid-template-columns:1fr}.companion-edition .small{grid-column:auto}.companion-edition dd{font-size:2rem}.companion-hero,.companion-section{padding:40px 0}.companion-update h2{font-size:1.8rem}.table-wrap table{font-size:.85rem}.table-wrap th,.table-wrap td{padding:10px}.companion-card,.case-card{padding:22px}}

.decision-tool{scroll-margin-top:110px}.companion-case-jumps.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.companion-case-jumps .card{text-decoration:none}.companion-case-jumps .card:hover h2{text-decoration:underline}
@media(max-width:760px){.companion-case-jumps.card-grid{grid-template-columns:1fr}}
@media(max-width:1050px){.header-inner{min-height:76px}.menu-toggle{display:block;flex-shrink:0}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 28px;box-shadow:0 10px 20px #222c3815;flex-wrap:wrap;gap:6px 25px}.nav.open{display:flex}.nav a{font-size:14px}}
@media(max-width:520px){.header-inner{gap:12px}.brand{flex-shrink:1;min-width:0}.brand-mark{flex-shrink:0}.brand strong{font-size:18px}.brand small{font-size:8px;letter-spacing:.08em;white-space:normal}}
