@import url("tokens.css");
img { height:auto; }   
html { background-color:var(--bone); }
body { margin:0; background:var(--bone); color:var(--ink); font-family:var(--font-text); font-size:19px; line-height:1.6; font-variant-numeric:lining-nums; }
.bar { position:fixed; left:0; top:0; bottom:0; width:10px; background:linear-gradient(to bottom, var(--hematite), var(--wine)); z-index:60; }   
.wrap { max-width:1120px; margin:0 auto; padding-block:0 80px; padding-left:max(16px, env(safe-area-inset-left, 0px)); padding-right:max(16px, env(safe-area-inset-right, 0px)); }
@media (min-width:700px) { .wrap { padding-left:max(44px, env(safe-area-inset-left, 0px)); padding-right:max(32px, env(safe-area-inset-right, 0px)); } }
a { color:inherit; }
.top { display:flex; justify-content:space-between; align-items:baseline; gap:10px 24px; flex-wrap:wrap; padding:22px 0 0; font-family:var(--font-text); font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ash); font-weight:500; }
.top b { color:var(--ink); font-weight:600; }
.top a { text-decoration:none; border-bottom:1px solid transparent; }
.nv > a:hover, .nv-g > a:hover, .nv > a:focus-visible, .nv-g > a:focus-visible { text-decoration:underline; text-decoration-thickness:1px; text-decoration-color:var(--cinnabar); text-underline-offset:4px; }
.top a:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.top nav { display:flex; gap:18px; flex-wrap:wrap; }
.role { font-family:var(--font-text); font-size:14px; letter-spacing:.06em; color:var(--ash); margin:64px 0 18px; max-width:70ch; line-height:1.5; }
.role b { color:var(--ink); font-weight:600; }
header.hero { padding:0 0 40px; border-bottom:1px solid var(--rule); }
h1.big { font-family:var(--font-head); font-style:italic; font-weight:400; font-variation-settings:"opsz" 144; font-size:clamp(42px, 6.8vw, 86px); line-height:1.04; letter-spacing:-.012em; margin:0 0 26px; max-width:16ch; text-wrap:balance; color:var(--hematite); }
h1.big .p { color:var(--fresco-teal); font-style:normal; font-family:var(--font-text); }
.lede { font-size:clamp(20px, 2.1vw, 23px); line-height:1.5; max-width:62ch; margin:0 0 18px; }
.lede:last-child { margin-bottom:0; }
.ladder { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:18px 24px; margin:34px 0 0; }
.ladder div { border-top:2px solid var(--cinnabar); padding-top:12px; min-width:0; }
.ladder b { display:block; font-family:var(--font-text); font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--hematite); font-weight:600; margin-bottom:6px; }
.ladder p { margin:0; font-size:16.5px; line-height:1.5; }
.grid { display:grid; grid-template-columns:minmax(0,1fr); gap:38px 32px; padding:48px 0 0; }
@media (min-width:720px) { .grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
.grid .flag { grid-column:1 / -1; }
.card { display:grid; gap:14px; text-decoration:none; color:inherit; min-width:0; }
@media (min-width:720px) { .card.flag { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:28px; align-items:end; } }
.card .thumb { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover; object-position:top; border:1px solid var(--rule); background:var(--paper); max-width:100%; }
.card.flag .thumb { aspect-ratio:16 / 10; }
.card .n { font-family:var(--font-text); font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.card h2 { font-family:var(--font-text); font-weight:400; font-size:clamp(24px, 2.6vw, 32px); line-height:1.18; margin:6px 0 8px; max-width:24ch; text-wrap:balance; }
.card.flag h2 { font-size:clamp(28px, 3.4vw, 42px); }
.card p { margin:0; font-size:17px; line-height:1.5; max-width:50ch; color:var(--ink); }
.card .go { font-family:var(--font-text); font-size:13px; letter-spacing:.06em; color:var(--cinnabar); margin-top:8px; display:block; border-bottom:1px solid transparent; width:max-content; }
.card:hover .go, .card:focus-visible .go { border-bottom-color:var(--cinnabar); }
.card:focus-visible { outline:2px solid var(--cinnabar); outline-offset:6px; }
.chip { display:inline-block; font-family:var(--font-text); font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; padding:3px 8px; border-radius:2px; border:1px solid var(--ash); color:var(--ash); white-space:nowrap; }
.chip.d { border-color:var(--fresco-teal); color:var(--fresco-teal); }
.chip.m { border-color:var(--cinnabar); color:var(--cinnabar); }
header.head { padding:56px 0 30px; border-bottom:1px solid var(--rule); }
.eyebrow { font-family:var(--font-text); font-size:12.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; margin:0 0 14px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
h1.title { font-family:var(--font-text); font-weight:400; font-size:clamp(32px, 4.2vw, 52px); line-height:1.1; letter-spacing:-.01em; margin:0 0 20px; max-width:24ch; text-wrap:balance; color:var(--hematite); }
.meta { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:14px 24px; margin:26px 0 0; padding-top:18px; border-top:1px solid var(--rule); font-family:var(--font-text); }
.meta div { min-width:0; }
.meta b { display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ash); font-weight:600; margin-bottom:4px; }
.meta span { font-size:14.5px; line-height:1.45; color:var(--ink); display:block; }
section { padding:48px 0 40px; border-bottom:1px solid var(--rule); }
section:last-of-type { border-bottom:0; }
.lbl { font-family:var(--font-text); font-size:12.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--ash); font-weight:600; margin:0 0 14px; }
h2.sec { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(24px, 2.8vw, 32px); line-height:1.2; margin:0 0 20px; max-width:30ch; text-wrap:balance; }
.words { display:grid; grid-template-columns:minmax(0,1fr); gap:28px 56px; align-items:start; }
@media (min-width:900px) { .words { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); } }
.c1, .c2 { min-width:0; }
.words p { margin:0 0 16px; max-width:62ch; }
.words p:last-child { margin-bottom:0; }
.q { font-family:var(--font-text); font-size:13px; line-height:1.5; color:var(--ash); letter-spacing:.01em; margin:0 0 16px; max-width:62ch; padding-left:14px; border-left:2px solid var(--cinnabar); }
.bound { padding:16px 18px; background:var(--plaster); border-radius:2px; max-width:60ch; }
.bound .lbl { margin:0 0 8px; color:var(--hematite); }
.bound p { margin:0 0 10px; font-size:17px; line-height:1.5; }
.bound p:last-child { margin:0; }
.bound + .bound { margin-top:16px; }
.sixty { margin:24px 0 0; padding-left:18px; border-left:2px solid var(--cinnabar); max-width:60ch; font-size:18px; line-height:1.55; }
.sixty .lbl { margin:0 0 6px; }
.sixty p { margin:0; }
ul.dec { margin:0; padding:0 0 0 1.1em; max-width:62ch; }
ul.dec li { margin:0 0 8px; padding-left:.2em; }
.plates { display:grid; grid-template-columns:minmax(0,1fr); gap:30px 28px; margin:0 0 8px; }
@media (min-width:760px) { .plates { grid-template-columns:repeat(2, minmax(0,1fr)); } .plates .wide { grid-column:1 / -1; } }
@media (min-width:1000px) { .plates.three { grid-template-columns:repeat(3, minmax(0,1fr)); } .plates.three .wide { grid-column:1 / -1; } }
.plate { min-width:0; margin:0; }
.plate img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); max-width:100%; }
.plate.tall img { max-height:720px; width:auto; max-width:100%; margin:0 auto; }
.plate figcaption { font-family:var(--font-text); font-size:13px; color:var(--ash); margin-top:9px; line-height:1.5; letter-spacing:.01em; max-width:62ch; }
.plate figcaption b { display:block; color:var(--ink); font-weight:600; }
.strip { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px 16px; }
@media (min-width:900px) { .strip { grid-template-columns:repeat(6, minmax(0,1fr)); } }
.strip .plate figcaption { font-size:12.5px; }
.note { font-family:var(--font-text); font-size:13px; color:var(--ash); line-height:1.5; letter-spacing:.01em; margin:14px 0 0; max-width:70ch; }
.counts { display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:14px 20px; margin:26px 0 0; padding-top:18px; border-top:1px solid var(--rule); }
.counts div { min-width:0; }
.counts b { display:block; font-family:var(--font-text); font-weight:600; font-size:clamp(28px, 3.2vw, 40px); line-height:1; color:var(--hematite); letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.counts b i { font-style:normal; color:var(--ash); font-weight:400; font-size:.55em; padding:0 .15em; }
.counts small { display:block; font-family:var(--font-text); font-size:12.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--ash); margin-top:6px; font-weight:500; }
.scroll { overflow-x:auto; }
.cal { display:grid; grid-template-columns:repeat(5, minmax(156px,1fr)); gap:6px; min-width:800px; }
.cal .wk { grid-column:1 / -1; font-family:var(--font-text); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; padding:12px 0 2px; }
.cal .d { background:var(--plaster); padding:9px 10px 10px; border-radius:0; min-height:124px; display:flex; flex-direction:column; gap:4px; min-width:0; }
.cal .d.off { background:transparent; border:1px dashed var(--rule); color:var(--ash); }
.cal .dt { font-family:var(--font-text); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ash); font-weight:600; display:flex; justify-content:space-between; gap:6px; }
.cal .dt i { font-style:normal; color:var(--fresco-teal); }
.cal .wu { font-family:var(--font-text); font-size:12px; color:var(--hematite); letter-spacing:.02em; line-height:1.35; }
.cal .wh { font-family:var(--font-text); font-size:14.5px; line-height:1.3; }
.cal .q { font-family:var(--font-text); font-size:12px; color:var(--cinnabar); font-weight:600; letter-spacing:.07em; text-transform:uppercase; margin-top:auto; }
.tools { font-family:var(--font-text); font-size:14px; line-height:1.6; color:var(--ash); max-width:70ch; margin:0; }
.tools b { color:var(--ink); font-weight:600; }
.pn { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:36px 0 0; border-top:1px solid var(--rule); margin-top:8px; font-family:var(--font-text); font-size:14px; }
.pn a { text-decoration:none; color:var(--ink); display:grid; gap:4px; max-width:46%; }
.pn a small { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; }
.pn a:hover, .pn a:focus-visible { color:var(--cinnabar); outline:none; }
.pn .r { text-align:right; }
footer { margin-top:56px; padding-top:18px; border-top:1px solid var(--rule); font-family:var(--font-text); font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--ash); display:flex; flex-wrap:wrap; gap:8px 28px; }
footer b { color:var(--ink); font-weight:600; }
ol.method { margin:0 0 16px; padding-left:1.25em; max-width:62ch; }
ol.method li { margin:0 0 10px; padding-left:.2em; }
.fig { min-width:0; margin:0; }
.day { width:100%; border-collapse:collapse; font-size:16px; line-height:1.45; }
.day th { text-align:left; font-family:var(--font-text); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ash); font-weight:600; padding:0 14px 10px 0; }
.day td { vertical-align:top; padding:12px 14px 12px 0; border-top:1px solid var(--rule); }
.day tr.brk td { padding:6px 14px 6px 0; color:var(--ash); font-family:var(--font-text); font-size:13px; background:var(--plaster); }
.day td.tm { font-family:var(--font-text); font-size:13.5px; white-space:nowrap; color:var(--hematite); font-weight:600; padding-top:14px; }
.day td.who { font-family:var(--font-text); font-size:13px; color:var(--cinnabar); font-weight:600; white-space:nowrap; padding-top:14px; letter-spacing:.03em; }
.day td.ses b { font-weight:400; font-size:17px; display:block; }
.day td.ses small { display:block; font-family:var(--font-text); font-size:13px; color:var(--ash); margin-top:3px; line-height:1.45; }
.day a.pg { font-family:var(--font-text); font-size:13px; color:var(--fresco-teal); text-decoration:none; border-bottom:1px solid var(--rule); white-space:nowrap; }
.day a.pg:hover { border-bottom-color:var(--fresco-teal); }
.daywrap { overflow-x:auto; margin:0 0 28px; }
.day { min-width:760px; }
.doors { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:18px 22px; margin:0 0 10px; }
a.door { display:grid; grid-template-rows:auto 1fr; gap:10px; text-decoration:none; color:inherit; border:1px solid var(--rule); border-radius:2px; padding:14px 16px 16px; background:var(--surface); min-width:0; }
a.door:hover, a.door:focus-visible { border-color:var(--cinnabar); outline:none; }
a.door .k { font-family:var(--font-text); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; display:flex; justify-content:space-between; gap:8px; }
a.door .k span { color:var(--ash); font-weight:500; letter-spacing:.04em; text-transform:none; }
a.door b { font-weight:400; font-size:18px; line-height:1.25; display:block; color:var(--ink); }
a.door p { margin:6px 0 0; font-family:var(--font-text); font-size:13px; color:var(--ash); line-height:1.5; }
a.door img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); margin-bottom:4px; }
.film { display:flex; gap:12px; overflow-x:auto; padding:4px 0 14px; scroll-snap-type:x proximity; }
.film a { flex:0 0 220px; scroll-snap-align:start; text-decoration:none; color:inherit; min-width:0; }
.film img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); }
.film small { display:block; font-family:var(--font-text); font-size:12px; color:var(--ash); margin-top:6px; line-height:1.4; letter-spacing:.02em; }
.film small b { color:var(--ink); font-weight:600; }
.film a:hover img, .film a:focus-visible img { border-color:var(--cinnabar); }
a.big { display:inline-block; font-family:var(--font-text); font-size:14px; font-weight:600; letter-spacing:.04em; color:var(--bone); background:var(--cinnabar); padding:10px 16px; border-radius:2px; text-decoration:none; margin:6px 0 0; }
a.big:hover { background:var(--hematite); }
.rail { list-style:none; margin:0; padding:0; border-left:2px solid var(--cinnabar); }
.rail li { padding:0 0 22px 22px; position:relative; }
.rail li::before { content:""; position:absolute; left:-7px; top:9px; width:12px; height:12px; border-radius:50%; background:var(--bone); border:2px solid var(--cinnabar); }
.rail .when { font-family:var(--font-text); font-size:12.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; display:block; margin-bottom:4px; }
.rail .what { font-size:18px; line-height:1.4; max-width:62ch; }
.rail .docs { display:flex; flex-wrap:wrap; gap:8px 10px; margin:8px 0 0; }
.rail .docs a { font-family:var(--font-text); font-size:13px; color:var(--fresco-teal); text-decoration:none; border:1px solid var(--rule); border-radius:2px; padding:5px 9px; background:var(--surface); }
.rail .docs a:hover { border-color:var(--fresco-teal); }
.rail .docs span { font-family:var(--font-text); font-size:13px; color:var(--ash); padding:5px 0; }
.pairs { display:grid; gap:30px; margin:0 0 10px; }
.pair2 { display:grid; grid-template-columns:minmax(0,1fr); gap:14px 22px; }
@media (min-width:760px) { .pair2 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.pair2 figure { margin:0; min-width:0; }
.pair2 img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); }
.pair2 figcaption { font-family:var(--font-text); font-size:13px; color:var(--ash); margin-top:8px; line-height:1.5; }
.pair2 figcaption b { display:block; color:var(--ink); font-weight:600; }
.pair2 figcaption a { color:var(--fresco-teal); text-decoration:none; border-bottom:1px solid var(--rule); }
.pairnote { font-size:17px; line-height:1.5; max-width:62ch; margin:10px 0 0; }
.quotes { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:22px 28px; }
.quote { border-top:2px solid var(--fresco-teal); padding-top:12px; min-width:0; }
.quote p { font-family:var(--font-text); font-size:19px; line-height:1.45; margin:0 0 8px; }
.quote small { display:block; font-family:var(--font-text); font-size:12.5px; color:var(--ash); line-height:1.5; letter-spacing:.02em; }
.thgroup { font-family:var(--font-text); font-size:12.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; margin:18px 0 6px; }
.threads { list-style:none; margin:0 0 6px; padding:0; border-top:1px solid var(--rule); }
.threads li { padding:14px 0 16px; border-bottom:1px solid var(--rule); min-width:0; }
.threads a.th { text-decoration:none; color:var(--ink); display:flex; flex-wrap:wrap; gap:4px 14px; align-items:baseline; }
.threads a.th b { font-family:var(--font-text); font-size:18px; font-weight:600; color:var(--fresco-teal); }
.threads a.th:hover b { text-decoration:underline; }
.threads .tmeta { font-family:var(--font-text); font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ash); }
.threads .what { font-size:16.5px; line-height:1.45; max-width:68ch; margin:6px 0 0; }
.threads .al { font-family:var(--font-text); font-size:16.5px; line-height:1.45; margin:8px 0 0; color:var(--hematite); max-width:68ch; }
.threads .al small { display:block; font-family:var(--font-text); font-size:12.5px; color:var(--ash); margin-top:2px; }
.s2s { margin:0 0 26px; }
.s2srow { display:grid; grid-template-columns:minmax(0,1fr); gap:18px 28px; margin-top:12px; }
.s2s .k { font-family:var(--font-text); font-size:12.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--ash); margin:0 0 8px; }
.doors2 { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px; max-width:760px; }
.doors2 a { text-decoration:none; color:inherit; min-width:0; }
.doors2 img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); }
.doors2 small { display:block; font-family:var(--font-text); font-size:12px; color:var(--ash); margin-top:6px; line-height:1.4; }
.doors2 a:hover img, .doors2 a:focus-visible img { border-color:var(--cinnabar); }
.s2s .film a { flex-basis:190px; }
body, p, li, small, figcaption, td, th, dd, dt, blockquote, caption, summary, .lede, .what, .pairnote, .note, .rail .what, .threads .what, .threads .al, .doors2 small, .film small { text-wrap:pretty; }
.keep { white-space:nowrap; }
h1, h2, h3, .title, .big { text-wrap:balance; }
.grid .gridlbl { grid-column:1 / -1; margin:0 0 -14px; }
@media (min-width:900px) { .words.one { grid-template-columns:minmax(0,1fr); } }
.cred { font-family:var(--font-text); font-size:14px; letter-spacing:.04em; color:var(--ash); margin:-6px 0 20px; }
.jumps { display:flex; flex-wrap:wrap; gap:8px 22px; margin:16px 0 0; font-family:var(--font-text); font-size:14px; letter-spacing:.02em; }
.jumps a { color:var(--cinnabar); text-decoration:none; border-bottom:1px solid var(--rule); }
.jumps a:hover, .jumps a:focus-visible { border-bottom-color:var(--cinnabar); outline:none; }
footer a { color:inherit; text-decoration:underline; text-decoration-color:var(--rule); text-underline-offset:3px; }
footer a:hover, footer a:focus-visible { color:var(--cinnabar); text-decoration-color:var(--cinnabar); outline:none; }
.tools + .tools { margin-top:12px; }
:where(a[role="link"]) { text-decoration:underline; cursor:pointer; }
a[role="link"] { cursor:pointer; }
.nv { align-items:baseline; }
.nv-g { position:relative; padding-bottom:10px; margin-bottom:-10px; }
.nv-m { display:none; position:absolute; top:100%; left:-16px; z-index:40; min-width:270px; padding:12px 16px 14px; background:var(--bone); border:1px solid var(--rule); box-shadow:0 8px 28px rgba(26,22,20,.14); flex-direction:column; gap:9px; font-family:var(--font-text); font-size:16.5px; letter-spacing:0; text-transform:none; color:var(--ink); line-height:1.3; }
.nv-m a { border-bottom:1px solid transparent; width:max-content; max-width:100%; }
.nv-m a:hover, .nv-m a:focus-visible, .nv-m a[aria-current="page"] { border-bottom-color:var(--cinnabar); }
@media (hover:hover) and (min-width:701px) { .nv-g:hover .nv-m, .nv-g:focus-within .nv-m { display:flex; } }
@media (max-width:700px) { .nv-g { padding-bottom:0; margin-bottom:0; } }
body.viewing { overflow:hidden; }
.viewer { position:fixed; inset:0; z-index:50; background:var(--plaster); display:flex; flex-direction:column; }
.vw-bar { display:grid; grid-template-columns:minmax(0,1fr) auto auto; grid-template-areas:"id nav close"; align-items:center; gap:10px 14px; background:var(--bone); border-bottom:1px solid var(--rule); font-family:var(--font-text); padding-top:calc(10px + env(safe-area-inset-top, 0px)); padding-bottom:10px; padding-left:max(16px, env(safe-area-inset-left, 0px)); padding-right:max(16px, env(safe-area-inset-right, 0px)); }
.vw-id { grid-area:id; min-width:0; display:flex; flex-direction:column; gap:2px; }
.vw-id small { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vw-id b { font-size:16px; line-height:1.3; font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vw-nav { grid-area:nav; display:flex; align-items:center; gap:8px; }
.vw-close { grid-area:close; }
.vw-pos { font-size:14px; color:var(--ash); font-variant-numeric:tabular-nums; white-space:nowrap; min-width:9.5ch; text-align:center; }
.viewer button { font:600 15px/1 var(--font-text); color:var(--ink); background:transparent; border:1px solid var(--ash); border-radius:0; padding:0 12px; min-height:42px; min-width:42px; cursor:pointer; }
.viewer button:hover:not(:disabled), .viewer button:focus-visible { border-color:var(--cinnabar); color:var(--cinnabar); outline:none; }
.viewer button[aria-pressed="true"] { background:var(--plaster); }
.viewer button:disabled { opacity:.35; cursor:default; }
.viewer .vw-close { background:var(--ink); color:var(--bone); border-color:var(--ink); }
.viewer .vw-close:hover, .viewer .vw-close:focus-visible { color:var(--bone); }
.vw-body { position:relative; flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding-top:20px; padding-bottom:calc(32px + env(safe-area-inset-bottom, 0px)); padding-left:max(16px, env(safe-area-inset-left, 0px)); padding-right:max(16px, env(safe-area-inset-right, 0px)); }
.vw-body:focus { outline:none; }
.vw-body.is-doc { padding:0 env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); }
.vw-page { max-width:1000px; margin:0 auto 18px; background:var(--paper); box-shadow:0 1px 4px rgba(26,22,20,.22); }
.vw-body.zoomed .vw-page { width:200%; max-width:2000px; }
.vw-page canvas { display:block; width:100%; height:auto; }
.vw-img { display:block; width:100%; max-width:1000px; height:auto; margin:0 auto 18px; background:var(--paper); box-shadow:0 1px 4px rgba(26,22,20,.22); }
.vw-body.zoomed .vw-img { width:200%; max-width:2000px; }
.vw-msg { font-family:var(--font-text); font-size:16px; color:var(--ash); text-align:center; margin:56px auto; max-width:40ch; }
.vw-doc { max-width:1240px; margin:0 auto; }
@media (max-width:620px) {
  .vw-bar { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"id close" "nav nav"; }
  .vw-id b { font-size:15px; white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .vw-nav { justify-content:center; }
}
.xtab { width:100%; border-collapse:collapse; margin:18px 0 0; font-size:17px; line-height:1.5; }
.xtab th { font-family:var(--font-text); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ash); font-weight:600; text-align:left; padding:0 16px 8px 0; border-bottom:1px solid var(--rule); vertical-align:bottom; }
.xtab td { padding:14px 16px 14px 0; border-bottom:1px solid var(--rule); vertical-align:top; }
.xtab tr td:last-child { font-family:var(--font-text); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--cinnabar); white-space:nowrap; padding-right:0; }
.xtab tr th:last-child { padding-right:0; }
@media (max-width:700px) {
  .xtab, .xtab tbody, .xtab tr, .xtab td { display:block; width:100%; }
  .xtab thead { display:none; }
  .xtab tr { border-bottom:1px solid var(--rule); padding:14px 0; }
  .xtab td { border:0; padding:0 0 6px; }
  .xtab tr td:last-child { padding-bottom:0; }
}
body { background:var(--bone); color:var(--ink); font-family:var(--font-text); font-size:19px; line-height:1.6; }
.bar { width:6px; background:var(--rail); }
.top { font-size:16px; font-family:var(--font-text); }
.nv a { font-size:16px; font-weight:500; letter-spacing:0; text-transform:none; }
.top b a { font-family:var(--font-mark); font-weight:400; font-size:1.75em; letter-spacing:0; text-transform:none; color:var(--ink); }
.top b a i { font-style:italic; color:var(--cinnabar); } .top b a .p { color:var(--teal-on-dark); }   
.top b a i { font-feature-settings:"ss01"; } .top b a .p { font-size:1.3em; line-height:0; margin-left:-.14em; }
body { font-synthesis:none; }
h1.big, h1.title, h2, h3, .card h2, .counts b, .quote p, .m-index-hire b { font-family:var(--font-head); font-weight:var(--font-head-weight); font-style:normal; font-variation-settings:normal; font-optical-sizing:auto; font-variant-numeric:lining-nums proportional-nums; letter-spacing:0; word-spacing:.02em; line-height:1.04; color:var(--ink); text-transform:none; -webkit-text-stroke:0; }
h1.big i, h1.title i, h2 i, h3 i, .card h2 i { font-family:var(--font-mark); font-style:italic; font-weight:400; font-size:.92em; color:var(--cinnabar); display:inline; transform:none; margin:0; }
h1.big .p, h1.title .p { color:var(--fresco-teal); }
h1.big { font-size:clamp(60px, 7.6vw, 100px); line-height:1; margin:0 0 24px; }
h1.title { font-size:clamp(50px, 6.2vw, 84px); line-height:.9; max-width:24ch; margin:0 0 22px; }
h2 { font-size:clamp(38px, 4.4vw, 60px); margin:0 0 18px; } h3 { font-size:clamp(26px, 2.4vw, 34px); margin:0 0 12px; }
.card h2 { font-size:clamp(28px, 2.8vw, 38px); line-height:1.06; margin:8px 0 10px; max-width:none; }
.counts b { color:var(--cinnabar); }
.lede { font-size:clamp(20px, 1.9vw, 23px); line-height:1.45; max-width:60ch; }
.eyebrow, .lbl, .gridlbl, .card .n, .card .go, footer, .chip, .course-renamed, .role { font-family:var(--font-text); text-transform:none; letter-spacing:0; }
.eyebrow, .lbl, .gridlbl, .role { font-size:16px; font-weight:500; color:var(--ash); }
.eyebrow > span:first-child::before, .lbl::before, .gridlbl::before { content:""; display:inline-block; width:8px; height:8px; border-radius:0; background:var(--cinnabar); margin-right:11px; vertical-align:1px; }
.lbl { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(22px, 2.1vw, 26px); line-height:1.2; color:var(--ink); margin:0 0 14px; text-wrap:balance; }
.lbl::before { width:8px; height:8px; border-radius:0; margin-right:12px; vertical-align:.22em; }   
.bound .lbl, .sixty .lbl { font-size:20px; }
.eyebrow > span:last-child:not(.chip), .eyebrow a { color:var(--ink); }
.card { background:var(--surface); border:1px solid var(--rule); border-radius:14px; padding:14px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.card:hover, .card:focus-visible { transform:translateY(-3px); box-shadow:0 14px 36px color-mix(in srgb, var(--ink) 10%, transparent); border-color:color-mix(in srgb, var(--ink) 25%, transparent); }
.card .thumb { border-radius:8px; border-color:var(--rule); background:var(--paper); }
.card .n { font-size:14px; font-weight:500; color:var(--ash); } .card .go { font-size:15px; font-weight:500; color:var(--cinnabar); }
.chip { font-size:13px; font-weight:600; padding:4px 10px; border-radius:999px; border:1px solid var(--rule); color:var(--ink); background:var(--plaster); }
.chip.d { background:var(--fresco-teal); border-color:var(--fresco-teal); color:var(--bone); } .chip.m { background:var(--cinnabar); border-color:var(--cinnabar); color:var(--bone); }
footer { font-size:15px; border-top:1px solid var(--rule); border-image:none; }
.course-kicker { font-family:var(--font-mark); font-weight:400; color:var(--ink); font-size:clamp(24px, 2.6vw, 32px); line-height:1.1; margin:6px 0 2px; word-spacing:.1em; }   
.course-kicker sup { font-family:var(--font-text); font-size:.5em; color:var(--fresco-teal); margin-left:2px; }
.course-renamed { font-size:13px; color:var(--ash); margin:0 0 14px; }
.meta b, .pn a small { font-family:var(--font-text); text-transform:none; letter-spacing:0; font-size:14px; font-weight:500; color:var(--ash); }
.top { position:relative; padding-bottom:10px; }
.top::after { content:""; position:absolute; left:0; right:0; bottom:0; height:6px; border-top:1px solid var(--ink); border-bottom:3px solid var(--ink); pointer-events:none; }
.nv > a, .nv-g > a { position:relative; display:inline-block; padding-bottom:10px; }
.nv > a[aria-current], .nv-g > a[aria-current] { color:var(--ink); border-bottom-color:transparent; background:linear-gradient(var(--hematite),var(--hematite)) left bottom / 18px 6px no-repeat; background-origin:border-box; }
.nv-m { box-shadow:none; border:1px solid var(--ash); border-radius:0; }
footer { position:relative; border-top:3px solid var(--ink); border-image:none; padding-top:25px; }
footer::before { content:""; position:absolute; left:0; right:0; top:6px; height:1px; background:var(--ink); pointer-events:none; }
.card, .card .thumb, .chip, a.door, a.big, .rail .docs a, .bound, .m-index-portrait img, .m-index-band, .m-index-research, .m-index-vis { border-radius:0; }
.card:hover, .card:focus-visible { transform:none; box-shadow:none; border-color:var(--ink); }
.chip.d { background:var(--fresco-teal); border-color:var(--fresco-teal); color:var(--bone); }   
ul.dec { list-style-type:square; }
a.door:focus-visible, .rail .docs a:focus-visible, .card:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
ul.dec li::marker { color:var(--hematite); }
header.head { border-bottom:1px solid var(--ink); }
a.big { display:inline-flex; align-items:center; min-height:44px; box-sizing:border-box; padding:11px 18px; box-shadow:inset 0 0 0 3px var(--cinnabar), inset 0 0 0 4px var(--bone); }
a.big:hover, a.big:focus-visible { background:var(--hematite); box-shadow:inset 0 0 0 3px var(--hematite), inset 0 0 0 4px var(--bone); }
a.big:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.bar { width:8px; background:var(--rail); }
html { scroll-padding-top:20px; }
@media (min-width:760px) { html { scroll-padding-top:112px; } }
@media (prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth; } }
@view-transition { navigation:auto; }
.bar { view-transition-name:rail; }
.top { view-transition-name:masthead; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration:.18s; }
@media (prefers-reduced-motion:reduce) { ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation:none !important; } }
h1.title { font-family:var(--font-mark); font-weight:400; font-size:clamp(38px, 4.9vw, 66px); line-height:1.04; letter-spacing:0; word-spacing:.08em; max-width:22ch; }   
h1.title i { font-size:1em; }
.lede .rw { color:var(--cinnabar); }
.lede .p { color:var(--fresco-teal); }
:root {
  --dk:var(--ink); --dk-ink:var(--bone); --dk-ash:color-mix(in srgb, var(--bone) 66%, var(--ink)); --dk-rule:color-mix(in srgb, var(--bone) 18%, transparent);
  --dk-gold:#D2A86A;   
  --dk-accent:var(--dk-gold); --dk-teal:var(--dk-gold); --dk-raise:var(--charcoal); --dk-edge:color-mix(in srgb, var(--dk-gold) 60%, transparent);
  --ease:cubic-bezier(.16,1,.3,1);
}
html, body { overflow-x:clip; }
.top, header.head, .dk {
  --ink:var(--dk-ink); --ash:var(--dk-ash); --bone:var(--dk); --plaster:var(--dk-raise); --rule:var(--dk-rule);
  --cinnabar:var(--dk-accent); --hematite:var(--dk-accent);   
  color:var(--ink); isolation:isolate;
}
header.head, .dk { position:relative; }
.top::before, header.head::before, .dk::before { content:""; position:absolute; top:0; bottom:0; left:calc(50% - 50vw); width:100vw; z-index:-1; background:var(--dk); }
.top { z-index:50; padding-bottom:14px; }
.top::after { height:0; border-top:0; border-bottom:1px solid var(--dk-edge); }
.top { padding-bottom:20px; }
.top::after { bottom:10px; height:6px; border-top:1px solid var(--dk-accent); border-bottom:3px solid var(--dk-accent); }
header.head { border-bottom:0; }
header.head::after { content:""; position:absolute; left:0; right:0; bottom:28px; height:1px; background:var(--dk-accent); pointer-events:none; }
@media (min-width:760px){ .top { position:sticky; top:0; } }
header.head { display:grid; grid-template-columns:minmax(0,1fr); padding:clamp(52px, 7vw, 88px) 0 clamp(52px, 7vw, 84px); border-bottom:0; }
header.head .eyebrow { margin:0 0 26px; }
header.head h1.title { font-size:clamp(42px, 6vw, 80px); line-height:1; color:var(--ink); margin:0 0 26px; max-width:15ch; }
header.head .lede { color:var(--ink); max-width:44ch; }
header.head .meta { display:block; margin:30px 0 0; padding:0; border-top:0; }
header.head .meta > div { display:grid; grid-template-columns:104px minmax(0,1fr); gap:18px; padding:13px 0; border-top:1px solid var(--rule); }
header.head .meta b { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ash); margin:0; padding-top:4px; }
header.head .meta span { font-size:16px; line-height:1.45; color:var(--ink); }
@media (min-width:940px){
  header.head:has(> .meta) { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); column-gap:72px; align-items:start; }
  header.head:has(> .meta) > * { grid-column:1; }
  header.head:has(> .meta) > .eyebrow { grid-column:1 / -1; }
  header.head:has(> .meta) > .meta { grid-column:2; grid-row:2 / span 12; margin-top:6px; }
}
section { padding:clamp(56px, 7.5vw, 96px) 0 clamp(48px, 6.5vw, 84px); }
.dk::before { box-shadow:inset 0 1px 0 var(--dk-edge); }
@media (prefers-reduced-motion: no-preference){
  .rv { opacity:0; transform:translateY(18px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
  .rv.in { opacity:1; transform:none; }
  .card { transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .25s var(--ease); }
  .card:hover, .card:focus-visible { transform:translateY(-4px); box-shadow:0 20px 38px -22px color-mix(in srgb, var(--ink) 45%, transparent); }
}
@media print { .rv { opacity:1 !important; transform:none !important; } }
.ribbon { position:relative; z-index:6; display:flex; height:11px; }
.ribbon i { display:block; height:100%; }
.ribbon i:nth-child(1) { width:18%; background:var(--clay); }
.ribbon i:nth-child(2) { width:4%; background:var(--ochre); }
.ribbon i:nth-child(3) { width:32%; background:var(--hematite); }
.ribbon i:nth-child(4) { width:2%; background:var(--tufa); }
.ribbon i:nth-child(5) { width:6%; background:var(--fresco-teal); }
.ribbon i:nth-child(6) { width:14%; background:var(--wine); }
.ribbon i:nth-child(7) { width:4%; background:var(--ochre); }
.ribbon i:nth-child(8) { width:20%; background:var(--ink); }
:where(.wrap > section, .wrap > article, .wrap > main > section, body > section) { background-color:var(--bone); }
:is(.top, header.head, .dk) .chip, :is(.top, header.head, .dk) .chip.d, :is(.top, header.head, .dk) .chip.m, .m-index-study .chip.d { background:transparent; border-color:var(--ochre); color:var(--ochre); }
.card .thumb.m-index-fit169 { aspect-ratio:16 / 9; }
.card .thumb.m-index-fit2 { aspect-ratio:2 / 1; }
.grid .card:not(.flag) { align-content:start; }
.m-index-eyebrow { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:16px; line-height:1.3; letter-spacing:0; text-transform:none; margin:0 0 16px; color:var(--ash); }
.m-index-eyebrow::before { content:""; display:inline-block; width:8px; height:8px; border-radius:0; background:var(--cinnabar); margin-right:11px; vertical-align:1px; }
.m-index-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; align-items:center; padding:40px 0 34px; margin:0; border:0; }
.m-index-hero h1.big { margin:0 0 26px; max-width:none; font-size:clamp(44px, 5vw, 64px); }
.m-index-hero .lede { font-size:21px; line-height:1.45; max-width:46ch; margin:0 0 16px; color:var(--ink); }
.m-index-sub { color:var(--ash); font-size:18px; line-height:1.5; max-width:46ch; margin:0; }
.m-index-portrait { margin:0; justify-self:end; width:100%; max-width:430px; border-top:6px solid transparent; border-image:var(--rail-x) 1; }
.m-index-portrait img { display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; object-position:50% 30%; border-radius:18px; }
.m-index-facts { display:grid; grid-template-columns:.8fr 1.1fr 1fr 1fr; gap:28px; padding:24px 0 28px; border-top:1px solid var(--ink); margin:0; }
.m-index-facts div { min-width:0; }
.m-index-facts dt { display:flex; align-items:baseline; gap:8px; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:60px; line-height:1; margin:0; letter-spacing:0; min-height:44px; }
.m-index-facts dt span { font-family:var(--font-text); font-size:14px; font-weight:500; letter-spacing:0; }
.m-index-facts dt.w { display:block; font-size:30px; line-height:1; letter-spacing:0; }
.m-index-facts dd { margin:10px 0 0; font-family:var(--font-text); font-size:13.5px; line-height:1.4; max-width:30ch; }
.m-index-between { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr); gap:48px; padding:0 0 60px; }
.m-index-between .m-index-eyebrow { margin:6px 0 0; }
.m-index-between p:not(.m-index-eyebrow) { font-size:21px; line-height:1.55; margin:0; max-width:60ch; }
@media (max-width:1000px) { .m-index-hero { gap:36px; } .m-index-facts { grid-template-columns:1fr 1fr; } .m-index-between { grid-template-columns:1fr; gap:14px; } }
@media (max-width:800px) { .m-index-hero { grid-template-columns:1fr; padding-top:24px; } .m-index-portrait { justify-self:start; max-width:340px; } }
@media (max-width:600px) { .m-index-hero h1.big { font-size:42px; } .m-index-hero .lede { font-size:19px; } }
.m-index-hero { grid-template-columns:minmax(0,1fr) auto; gap:56px; }
.m-index-portrait { max-width:340px; width:340px; border-top-width:5px; }
@media (max-width:1000px) { .m-index-portrait { max-width:280px; width:280px; } }
@media (max-width:800px) { .m-index-hero { grid-template-columns:1fr; } .m-index-portrait { max-width:260px; width:260px; } }
.m-index-portrait { border-top:0; border-image:none; }
.m-index-facts dt:not(.w) { font-family:var(--font-head); font-variant-numeric:lining-nums proportional-nums; }   
.m-index-facts dt:not(.w) { font-weight:var(--font-head-weight); letter-spacing:0; }   
@media (max-width:359px) { .m-index-facts dt { font-size:46px; min-height:38px; } }   
.m-index-facts dt span { font-family:var(--font-text); }
.m-index-hero { padding:34px 0 26px; }
.m-index-hero .lede { font-size:clamp(20px,1.8vw,22px); line-height:1.42; max-width:44ch; margin:0 0 22px; }
.m-index-lanes { display:flex; flex-wrap:wrap; gap:10px 26px; }
.m-index-lanes a { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:26px; line-height:1; color:var(--ink); text-decoration:none; padding:4px 0 6px; border-bottom:3px solid var(--cinnabar); }
.m-index-lanes a:hover, .m-index-lanes a:focus-visible { color:var(--cinnabar); outline:none; }
.m-index-bio { padding:0 0 36px; } .m-index-bio .m-index-sub { max-width:62ch; }
.m-index-facts { padding:28px 0 30px; }
@media (max-width:600px) { .m-index-lanes a { font-size:22px; } }
.m-index-hero .lede + .lede { margin-top:-6px; }
.m-index-hero h1.big { font-size:clamp(44px, 5.9vw, 76px); line-height:1.02; margin:0 0 22px; max-width:none; }
.m-index-hero h1.big, .m-index-hero h1.big i, .m-index-hero h1.big .p, .m-index-hero h1.big .m-index-wink { font-family:var(--font-mark); font-style:normal; font-weight:400; }
.m-index-hero h1.big i, .m-index-hero h1.big .p, .m-index-hero h1.big .m-index-wink { font-size:inherit; letter-spacing:inherit; }
.m-index-hero h1.big i { font-style:italic; color:var(--cinnabar); }
.m-index-hero h1.big .p { color:var(--fresco-teal); }
.m-index-hero h1.big .m-index-wink { color:var(--ink); font-style:normal; }   
.m-index-hero h1.big .m-index-wink { font-size:.8em; color:var(--cinnabar); }      
.m-index-hero .m-index-cues { max-width:none; margin:0 0 14px; }
.m-index-cues span, .m-index-name span { white-space:nowrap; }
.m-index-name { font-family:var(--font-mark); font-style:italic; font-weight:400; font-size:24px; line-height:1.35; color:var(--ink); margin:0 0 26px; }
.m-index-name > span:first-child { display:block; }
.m-index-name i { color:var(--cinnabar); }
.m-index-name .p { color:var(--fresco-teal); font-style:normal; }
@media (max-width:800px) { .m-index-cues span, .m-index-name > span { display:block; } .m-index-name { font-size:22px; } }
.m-index-portrait img { border-radius:0; }   
.m-index-portrait { background:none; padding:0; width:auto; max-width:340px; }
.m-index-portrait img { border:0; outline:0; outline-offset:0; }
.m-index-bio .m-index-name { margin:0 0 14px; }
@media (max-width:768px) {
  :root:has(.m-index-hero) .bar { display:none; }
  .wrap:has(.m-index-hero) { padding-left:max(18px, env(safe-area-inset-left, 0px)); padding-right:max(18px, env(safe-area-inset-right, 0px)); }
}
.m-index-band { padding:clamp(40px, 5vw, 64px) 0 clamp(56px, 7vw, 88px); margin:0; background:none; color:var(--ink); }
h2.m-index-eyebrow { font-size:16px; line-height:1.3; color:var(--ash); word-spacing:normal; }
.m-index-band-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; margin:0 0 28px; }
.m-index-band-head .m-index-eyebrow { margin:0; }
.m-index-lens { display:grid; grid-auto-flow:column; grid-auto-columns:auto; gap:1px; border:1px solid var(--ink); background:var(--ink); }
.m-index-lens[hidden] { display:none; }
.m-index-lens button { appearance:none; -webkit-appearance:none; margin:0; border:0; border-radius:0; background:var(--bone); color:var(--ink); font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:16px; line-height:1.15; letter-spacing:0; text-transform:none; text-align:center; padding:10px 14px; min-height:44px; cursor:pointer; }
.m-index-lens button[aria-pressed="true"] { background:var(--ink); color:var(--bone); }
.m-index-lens button:focus-visible { outline:2px solid var(--ink); outline-offset:2px; position:relative; z-index:1; }
@media (hover:hover) { .m-index-lens button:not([aria-pressed="true"]):hover { background:var(--plaster); } }
@media (prefers-reduced-motion:no-preference) { .m-index-lens button { transition:background-color .18s var(--ease), color .18s var(--ease); } }
@media (max-width:640px) { .m-index-band-head { align-items:stretch; } .m-index-lens { width:100%; grid-auto-flow:row; grid-template-columns:repeat(2, minmax(0,1fr)); } }
.m-index-feats { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); border-top:1px solid var(--ink); border-left:1px solid var(--ink); counter-reset:exhibit; }
.m-index-feat { position:relative; counter-increment:exhibit; min-width:0; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.m-index-lift { --m-index-slab:var(--cinnabar); position:relative; height:100%; box-sizing:border-box; display:flex; flex-direction:column; padding:30px 32px 30px; background:var(--bone); color:var(--ink); }
.m-index-feats > .m-index-feat:nth-child(even) .m-index-lift { --m-index-slab:var(--fresco-teal); }
.m-index-fn { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; font-family:var(--font-text); font-size:14px; font-weight:500; letter-spacing:0; text-transform:none; margin:0 0 12px; color:var(--ash); }
.m-index-num::before { content:counter(exhibit, decimal-leading-zero); font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:22px; line-height:1; color:var(--cinnabar); font-variant-numeric:lining-nums tabular-nums; }
.m-index-feat h3 { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(25px, 2.3vw, 30px); line-height:1.08; margin:0 0 12px; max-width:24ch; color:var(--ink); }
.m-index-door-link { color:inherit; text-decoration:none; }
.m-index-nw { white-space:nowrap; }
.m-index-door-link::after { content:""; position:absolute; inset:0; z-index:1; }
.m-index-feat .m-index-blurb { margin:0 0 24px; font-size:17px; line-height:1.5; max-width:54ch; }
.m-index-art { --m-index-h:300px; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); height:var(--m-index-h); place-items:center; margin:0 0 16px; }
.m-index-art img { grid-area:1 / 1; display:block; width:auto; height:auto; max-width:100%; max-height:var(--m-index-h); }
.m-index-doc { box-shadow:0 0 0 1px var(--rule); background:var(--paper); }
.m-index-cut { --m-index-edge:color-mix(in srgb, var(--ink) 20%, var(--bone)); filter:drop-shadow(1px 0 0 var(--m-index-edge)) drop-shadow(-1px 0 0 var(--m-index-edge)) drop-shadow(0 1px 0 var(--m-index-edge)) drop-shadow(0 -1px 0 var(--m-index-edge)); }
.m-index-go { margin-top:auto; padding-top:18px; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:16px; line-height:1.2; color:var(--ink); }
.m-index-ctl { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; margin:0 0 14px; }
.m-index-state { margin:0; font-size:14.5px; line-height:1.4; color:var(--ash); min-width:0; flex:1 1 200px; }
.m-index-swap { position:relative; z-index:2; appearance:none; -webkit-appearance:none; margin:0; border:1px solid var(--ink); border-radius:0; background:var(--bone); color:var(--ink); font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:15px; line-height:1.1; padding:10px 14px; min-height:44px; cursor:pointer; }
.m-index-swap[hidden] { display:none; }
.m-index-swap[aria-pressed="true"] { background:var(--ink); color:var(--bone); }
.m-index-swap:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
@media (hover:hover) { .m-index-swap:not([aria-pressed="true"]):hover { background:var(--plaster); } }
.m-index-feat[data-state="after"] .m-index-b, .m-index-feat[data-state="before"] .m-index-a { display:none; }
.m-index-feat[data-state="after"] .m-index-ib, .m-index-feat[data-state="before"] .m-index-ia { visibility:hidden; }
@media (prefers-reduced-motion:no-preference) {
  .m-index-feat.is-swapped[data-state="after"] .m-index-ia, .m-index-feat.is-swapped[data-state="before"] .m-index-ib { animation:m-index-wipe .34s var(--ease) both; }
}
@keyframes m-index-wipe { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0 0 0 0); } }
.m-index-spine { display:grid; grid-template-columns:repeat(4, auto); justify-content:start; gap:6px 26px; margin:2px 0 14px; }
.m-index-spine-note { grid-column:1 / -1; margin:0; font-size:14px; line-height:1.4; color:var(--ash); }
.m-index-spine > div { min-width:0; border-top:2px solid var(--cinnabar); padding-top:6px; }
.m-index-spine b { display:block; font-family:var(--font-head); font-weight:var(--font-head-weight); font-variant-numeric:lining-nums proportional-nums; font-size:26px; line-height:1; letter-spacing:0; white-space:nowrap; }
.m-index-spine > div > span { display:block; margin-top:5px; font-size:14px; line-height:1.3; color:var(--ash); }
@media (max-width:600px) { .m-index-spine { grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px 18px; } }
.m-index-moves { list-style:none; counter-reset:m-index-mv; display:flex; flex-wrap:wrap; gap:4px 20px; margin:0; padding:0; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:17px; line-height:1.3; }
.m-index-moves li { counter-increment:m-index-mv; }
.m-index-moves li::before { content:counter(m-index-mv) "\00a0"; color:var(--cinnabar); }
.m-index-cap { margin:0 0 10px; font-size:14.5px; line-height:1.45; color:var(--ash); max-width:58ch; }
.m-index-lift::after { content:""; position:absolute; top:-1px; right:-1px; z-index:3; width:10px; height:10px; background:var(--m-index-slab); opacity:0; pointer-events:none; }
@media (hover:hover) {
  .m-index-feat:hover { z-index:3; }
  .m-index-feat:hover .m-index-lift { transform:perspective(1200px) translate3d(-6px,-6px,20px) rotateX(2deg) rotateY(-2.5deg); box-shadow:0 0 0 1px var(--ink), 8px 8px 0 var(--m-index-slab); }
  .m-index-feat:hover .m-index-lift::after { opacity:1; }
  .m-index-feat:hover h3 { transform:translateX(5px); }
}
.m-index-feat:has(:focus-visible) { z-index:3; }
.m-index-feat:has(:focus-visible) .m-index-lift { transform:perspective(1200px) translate3d(-6px,-6px,20px) rotateX(2deg) rotateY(-2.5deg); box-shadow:0 0 0 1px var(--ink), 8px 8px 0 var(--m-index-slab); }
.m-index-feat:has(:focus-visible) .m-index-lift::after { opacity:1; }
.m-index-feat:has(:focus-visible) h3 { transform:translateX(5px); }
.m-index-door-link:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.m-index-feat:has(.m-index-door-link:focus-visible) .m-index-lift { outline:2px solid var(--ink); outline-offset:12px; }
.m-index-feat:has(.m-index-door-link:focus-visible) .m-index-door-link { outline:none; }
@media (prefers-reduced-motion:no-preference) {
  .m-index-lift { transition:transform .24s var(--ease), box-shadow .24s var(--ease); }
  .m-index-lift::after { transition:opacity .18s ease; }
  .m-index-feat h3 { transition:transform .22s var(--ease); }
}
@media (prefers-reduced-motion:reduce) {
  .m-index-feat:hover .m-index-lift, .m-index-feat:has(:focus-visible) .m-index-lift, .m-index-feat:hover h3, .m-index-feat:has(:focus-visible) h3 { transform:none; }
}
@media (max-width:800px) {
  .m-index-feats { grid-template-columns:minmax(0,1fr); }
  .m-index-lift { padding:24px 20px 24px; }
  .m-index-art { --m-index-h:230px; }
}
.m-index-study { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:56px; align-items:start; padding:clamp(56px, 7vw, 92px) 0 clamp(56px, 7vw, 88px); }
.m-index-study .m-index-fn { color:var(--ash); }
.m-index-study .chip.d { background:transparent; border-color:var(--dk-teal); color:var(--ink); }
.m-index-52 { display:flex; align-items:flex-start; gap:16px; margin:22px 0 4px; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:96px; line-height:.86; letter-spacing:0; color:var(--cinnabar); font-variant-numeric:lining-nums proportional-nums; }
.m-index-52 span { font-size:21px; line-height:1.12; color:var(--ink); padding-top:4px; }
.m-index-study h2 { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(30px, 3vw, 40px); line-height:1.08; margin:22px 0 14px; color:var(--ink); }
.m-index-study-p { font-size:18px; line-height:1.55; margin:0 0 22px; max-width:46ch; }
.m-index-open { margin:0; }
.m-index-open a { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:18px; color:var(--ink); text-decoration:none; border-bottom:2px solid var(--cinnabar); padding-bottom:3px; }
.m-index-open a:hover, .m-index-open a:focus-visible { color:var(--cinnabar); }
.m-index-open a:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.m-index-study-r { margin:0; min-width:0; }
.m-index-key { list-style:none; display:flex; flex-wrap:wrap; gap:8px 28px; margin:0 0 18px; padding:0; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:19px; line-height:1.2; color:var(--ink); }
.m-index-key li { display:flex; align-items:center; gap:10px; }
.m-index-key i { display:block; width:16px; height:16px; box-sizing:border-box; border:1px solid var(--ash); }
.m-index-key i.on { background:var(--dk-teal); border-color:var(--dk-teal); }
.m-index-key b { font-weight:var(--font-head-weight); font-variant-numeric:lining-nums tabular-nums; }
.m-index-vh { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.m-index-map { display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:4px; }
.m-index-map .t { aspect-ratio:1; display:grid; place-items:center; box-sizing:border-box; border:1px solid var(--ash); color:var(--ash); font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:13px; line-height:1; cursor:default; user-select:none; }
.m-index-map .t.on { background:var(--dk-teal); border-color:var(--dk-teal); color:var(--dk); }
.m-index-map.is-counting .t.on:not(.lit) { background:transparent; border-color:var(--ash); color:var(--ash); }
.m-index-map .t:hover { outline:2px solid var(--ink); outline-offset:1px; }
.m-index-map .t:focus-visible { outline:2px solid var(--ink); outline-offset:2px; position:relative; z-index:1; }
@media (prefers-reduced-motion:no-preference) { .m-index-map .t { transition:background-color .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease); } }
.m-index-readout { min-height:2.9em; margin:16px 0 8px; font-style:italic; font-size:15.5px; line-height:1.45; color:var(--ink); }
.m-index-study figcaption { font-size:14px; line-height:1.5; color:var(--ash); max-width:64ch; }
@media (max-width:900px) { .m-index-study { grid-template-columns:minmax(0,1fr); gap:36px; } }
@media (max-width:600px) { .m-index-52 { font-size:76px; } .m-index-52 span { font-size:18px; } .m-index-map { gap:3px; } .m-index-map .t { font-size:11px; } }
@media (max-width:359px) { .m-index-map .t { font-size:9px; } }
.m-index-how { padding:clamp(56px, 7vw, 88px) 0 clamp(32px, 4vw, 48px); }
.m-index-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:0 28px; border-top:1px solid var(--ink); }
.m-index-steps > li { min-width:0; display:flex; flex-direction:column; padding:20px 0 8px; }
.m-index-step-n { margin:0 0 10px; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:16px; line-height:1.2; color:var(--cinnabar); }
.m-index-steps h3 { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:23px; line-height:1.1; margin:0 0 12px; color:var(--ink); }
.m-index-steps p { margin:0 0 12px; font-size:16.5px; line-height:1.5; }
.m-index-steps blockquote { margin:0 0 12px; padding:0 0 0 14px; border-left:2px solid var(--cinnabar); }
.m-index-steps blockquote p { font-style:italic; margin:0; }
.m-index-steps p.m-index-receipt { margin:auto 0 0; padding-top:8px; font-style:italic; font-size:15px; line-height:1.4; }
.m-index-receipt a { color:var(--ink); text-decoration:underline; text-decoration-color:var(--cinnabar); text-decoration-thickness:1px; text-underline-offset:3px; }
.m-index-receipt a:hover, .m-index-receipt a:focus-visible { color:var(--cinnabar); }
.m-index-receipt a:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
@media (max-width:1060px) { .m-index-steps { grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 32px; } .m-index-steps > li:nth-child(n+3) { border-top:1px solid var(--rule); } }
@media (max-width:640px) { .m-index-steps { grid-template-columns:minmax(0,1fr); } .m-index-steps > li + li { border-top:1px solid var(--rule); } }
.m-index-archive { padding:clamp(40px, 5vw, 64px) 0 clamp(48px, 6vw, 72px); }
.m-index-rows { list-style:none; margin:0; padding:0; border-top:1px solid var(--ink); counter-reset:m-index-row; }
.m-index-rows > li { counter-increment:m-index-row; border-bottom:1px solid var(--rule); }
.m-index-rows > li[hidden] { display:none; }
.m-index-row { display:grid; grid-template-columns:44px minmax(0,5fr) minmax(0,6fr) 24px; align-items:start; gap:6px 24px; width:100%; box-sizing:border-box; margin:0; padding:18px 10px 18px 6px; background:none; border:0; border-radius:0; color:var(--ink); font:inherit; text-align:left; text-decoration:none; cursor:pointer; }
.m-index-row::before { content:counter(m-index-row, decimal-leading-zero); font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:16px; line-height:1.5; color:var(--cinnabar); font-variant-numeric:lining-nums tabular-nums; }
.m-index-rt { display:block; min-width:0; }
.m-index-rh { display:block; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:22px; line-height:1.15; margin:0 0 8px; }
.m-index-rt .m-index-fn { margin:0; font-size:13.5px; }
.m-index-sw { display:inline-block; width:135px; height:auto; margin:8px 0 0; vertical-align:middle; }
.m-index-rh .m-index-sw { display:block; }
.m-index-rl { font-size:16px; line-height:1.5; color:var(--ash); min-width:0; }
.m-index-ra { font-family:var(--font-text); font-size:20px; line-height:1.2; color:var(--cinnabar); text-align:right; }
.m-index-ra:empty { justify-self:end; margin-top:9px; }
@media (hover:hover) { .m-index-row:hover { background:var(--plaster); } .m-index-row:hover .m-index-rh { transform:translateX(4px); } }
.m-index-row:focus-visible { outline:2px solid var(--ink); outline-offset:-2px; background:var(--plaster); }
.m-index-row:focus-visible .m-index-rh { transform:translateX(4px); }
@media (prefers-reduced-motion:no-preference) { .m-index-row { transition:background-color .18s var(--ease); } .m-index-rh { transition:transform .22s var(--ease); } }
@media (prefers-reduced-motion:reduce) { .m-index-row:hover .m-index-rh, .m-index-row:focus-visible .m-index-rh { transform:none; } }
@media (max-width:760px) {
  .m-index-row { grid-template-columns:34px minmax(0,1fr) 20px; gap:6px 12px; padding:16px 4px 16px 2px; }
  .m-index-rl { grid-column:2; grid-row:2; }
  .m-index-ra { grid-column:3; grid-row:1; }
  .m-index-rh { font-size:20px; }
}
.m-index-facts { margin:0; }
.m-index-routes { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:0 28px; padding:clamp(28px, 4vw, 44px) 0 clamp(44px, 6vw, 72px); }
.m-index-routes .m-index-eyebrow { grid-column:1 / -1; margin:0 0 18px; }
.m-index-route { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; min-width:0; padding:16px 0 18px; border-top:1px solid var(--ink); border-radius:0; background:none; color:var(--ink); text-decoration:none; }
.m-index-route b { display:block; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:24px; line-height:1.1; color:var(--ink); }
.m-index-route small { display:block; margin-top:8px; font-family:var(--font-text); font-size:14px; line-height:1.4; color:var(--ash); }
.m-index-route i { flex:0 0 auto; margin-top:7px; }
.m-index-route:hover b, .m-index-route:focus-visible b { color:var(--cinnabar); }
.m-index-route:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
@media (max-width:800px) { .m-index-routes { grid-template-columns:minmax(0,1fr); } }
.m-index-between { padding:clamp(32px, 4vw, 48px) 0 clamp(48px, 6vw, 72px); border-top:1px solid var(--rule); }
.m-index-between a { color:var(--ink); text-decoration-color:var(--cinnabar); text-underline-offset:3px; }
.m-index-bio { padding:clamp(36px, 4vw, 48px) 0 12px; border-top:1px solid var(--ink); }
.m-index-bio + .legend { padding:clamp(24px, 3vw, 36px) 0 clamp(32px, 4vw, 48px); }
.m-index-go::after, .m-index-open a::after, .m-index-dlg-go a::after, .m-index-ra:empty::after, .m-index-route i::after {
  content:""; display:inline-block; width:.95em; height:.6em; margin-left:.4em; vertical-align:.04em; background:var(--cinnabar);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 12'%3E%3Cpath d='M.5 6h16.8M12.2 1.2 17.3 6l-5.1 4.8' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 12'%3E%3Cpath d='M.5 6h16.8M12.2 1.2 17.3 6l-5.1 4.8' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.m-index-ra:empty::after { display:block; width:19px; height:12px; margin:0; }
.m-index-route i::after { display:block; width:22px; height:14px; margin:0; transform:rotate(-45deg); }
@media (forced-colors:active) { .m-index-go::after, .m-index-open a::after, .m-index-dlg-go a::after, .m-index-ra:empty::after, .m-index-route i::after { background:CanvasText; } }
@media (max-width:800px) { .m-index-feat:has(.m-index-door-link:focus-visible) .m-index-lift { outline-offset:4px; } }
@media (max-width:440px) { .m-index-facts div:has(dt.w) { grid-column:1 / -1; } }
.m-index-steps blockquote footer { margin:8px 0 0; padding:0; border:0; font-family:var(--font-head); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ash); }
.m-index-steps blockquote footer::before { display:none; }
.m-route { padding:52px 0 8px; }
.m-route .eyebrow { display:flex; gap:14px; flex-wrap:wrap; align-items:center; font-family:var(--font-text); font-size:16px; letter-spacing:0; text-transform:none; color:var(--ash); font-weight:500; margin:0 0 14px; }
.m-route .eyebrow a { text-decoration:none; color:var(--ink); border-bottom:1px solid var(--rule); }
.m-route .title { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(50px, 6.2vw, 84px); line-height:1; letter-spacing:0; margin:0 0 22px; max-width:24ch; text-wrap:balance; color:var(--ink); }
.m-route-grid { padding-top:36px; }
.m-route-grid .card:nth-child(2):not(.flag) { grid-column:auto; }
@media (min-width:720px) { .m-route-grid .card:nth-child(2):not(.flag) { grid-template-columns:minmax(0,1fr); gap:14px; align-items:normal; } .m-route-grid .card:nth-child(2):not(.flag) .thumb { aspect-ratio:3 / 2; } .m-route-grid .card:nth-child(2):not(.flag) .thumb.m-index-fit169 { aspect-ratio:16 / 9; } }
.m-route-back { display:flex; justify-content:space-between; gap:16px 28px; flex-wrap:wrap; margin:56px 0 0; padding-top:22px; border-top:1px solid var(--rule); font-family:var(--font-text); font-size:13.5px; letter-spacing:.05em; }
.m-route-back a { text-decoration:none; color:var(--cinnabar); border-bottom:1px solid transparent; }
.m-route-back a:hover, .m-route-back a:focus-visible { border-bottom-color:var(--cinnabar); }
.m-route { padding:52px 0 8px; }
.m-route .eyebrow { display:flex; gap:14px; flex-wrap:wrap; align-items:center; font-family:var(--font-text); font-size:16px; letter-spacing:0; text-transform:none; color:var(--ash); font-weight:500; margin:0 0 14px; }
.m-route .eyebrow a { text-decoration:none; color:var(--ink); border-bottom:1px solid var(--rule); }
.m-route .title { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(50px, 6.2vw, 84px); line-height:1; letter-spacing:0; margin:0 0 22px; max-width:24ch; text-wrap:balance; color:var(--ink); }
.m-route-grid { padding-top:36px; }
.m-route-grid .card:nth-child(2):not(.flag) { grid-column:auto; }
@media (min-width:720px) { .m-route-grid .card:nth-child(2):not(.flag) { grid-template-columns:minmax(0,1fr); gap:14px; align-items:normal; } .m-route-grid .card:nth-child(2):not(.flag) .thumb { aspect-ratio:3 / 2; } .m-route-grid .card:nth-child(2):not(.flag) .thumb.m-index-fit169 { aspect-ratio:16 / 9; } }
.m-route-back { display:flex; justify-content:space-between; gap:16px 28px; flex-wrap:wrap; margin:56px 0 0; padding-top:22px; border-top:1px solid var(--rule); font-family:var(--font-text); font-size:13.5px; letter-spacing:.05em; }
.m-route-back a { text-decoration:none; color:var(--cinnabar); border-bottom:1px solid transparent; }
.m-route-back a:hover, .m-route-back a:focus-visible { border-bottom-color:var(--cinnabar); }
.m-route { padding:52px 0 8px; }
.m-route .eyebrow { display:flex; gap:14px; flex-wrap:wrap; align-items:center; font-family:var(--font-text); font-size:16px; letter-spacing:0; text-transform:none; color:var(--ash); font-weight:500; margin:0 0 14px; }
.m-route .eyebrow a { text-decoration:none; color:var(--ink); border-bottom:1px solid var(--rule); }
.m-route .title { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(50px, 6.2vw, 84px); line-height:1; letter-spacing:0; margin:0 0 22px; max-width:24ch; text-wrap:balance; color:var(--ink); }
.m-route-grid { padding-top:36px; }
.m-route-grid .card:nth-child(2):not(.flag) { grid-column:auto; }
@media (min-width:720px) { .m-route-grid .card:nth-child(2):not(.flag) { grid-template-columns:minmax(0,1fr); gap:14px; align-items:normal; } .m-route-grid .card:nth-child(2):not(.flag) .thumb { aspect-ratio:3 / 2; } .m-route-grid .card:nth-child(2):not(.flag) .thumb.m-index-fit169 { aspect-ratio:16 / 9; } }
.m-route-back { display:flex; justify-content:space-between; gap:16px 28px; flex-wrap:wrap; margin:56px 0 0; padding-top:22px; border-top:1px solid var(--rule); font-family:var(--font-text); font-size:13.5px; letter-spacing:.05em; }
.m-route-back a { text-decoration:none; color:var(--cinnabar); border-bottom:1px solid transparent; }
.m-route-back a:hover, .m-route-back a:focus-visible { border-bottom-color:var(--cinnabar); }
.m-route .lede.m-route-more { margin-top:4px; color:var(--ash); }
.m-route .lede.m-route-more { margin-top:4px; color:var(--ash); }
.m-family-stop { color: var(--fresco-teal); }
.m-family-arch { margin:36px 0 0; border-top:1px solid var(--rule); padding:16px 0 0; }
.m-family-arch > summary { cursor:pointer; font-family:var(--font-text); font-size:12.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--fresco-teal); font-weight:700; }
.m-family-arch > summary:hover { color:var(--hematite); }
.m-family-arch[open] > summary { margin-bottom:18px; }
.m-family-arch .lbl { margin-top:26px; }
.m-family-arch .lbl:first-of-type { margin-top:0; }
@media (min-width:900px) { .m-family-decision .words { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); } }
.m-family-decision .plates { grid-template-columns:minmax(0,1fr); }
.m-family-decision .plate { max-width:none; }
.m-family-decision .plate img { width:100%; height:auto; }
.m-family-vh { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
.m-family-ob { border-bottom:0; }
.m-family-ob .pairnote { color:var(--ash); margin:0 0 30px; }
.m-family-ctl { display:flex; align-items:center; gap:12px; margin:0 0 22px; }
.m-family-ctl[hidden], .m-family-slide[hidden] { display:none; }
.m-family-now { flex:1; min-width:0; margin:0; font-size:17px; line-height:1.2; color:var(--ink); }
.m-family-now b { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:50px; line-height:1; margin-right:16px; }
.m-family-btn { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:15px; line-height:1.2; padding:11px 18px; min-height:44px; border:1px solid var(--rule); border-radius:0; background:transparent; color:var(--ink); cursor:pointer; transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease); }
.m-family-btn:hover { background:var(--ink); border-color:var(--ink); color:var(--bone); }
.m-family-btn:focus-visible, .m-family-card:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.m-family-btn[data-step="-1"]::before { content:"\2190\00a0\00a0"; }
.m-family-btn[data-step="1"]::after { content:"\00a0\00a0\2192"; }
.m-family-slides { list-style:none; margin:0; padding:0; display:grid; gap:28px; }
.m-family-slide img { display:block; width:100%; height:auto; aspect-ratio:16 / 9; box-shadow:0 34px 70px -30px rgba(0,0,0,.6); }
.m-family-ob.is-live .m-family-slide img { cursor:pointer; }
.m-family-qwords { max-width:62ch; }
.m-family-qwords p { margin:0 0 1em; }
.m-family-hint { color:var(--ash); margin:26px 0 0; }
.m-family-quiz:not(.is-live) ~ .m-family-hint, .m-family-quizsec:has(.m-family-quiz:not(.is-live)) .m-family-hint { display:none; }
.m-family-quiz { list-style:none; margin:22px 0 40px; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:26px 20px; }
.m-family-quiz li { min-width:0; }
.m-family-card { display:block; position:relative; width:100%; margin:0; padding:0; border:0; border-radius:0; background:none; cursor:pointer; text-align:left; transition:transform .35s var(--ease), box-shadow .35s var(--ease); box-shadow:0 18px 36px -22px rgba(0,0,0,.45); }
.m-family-card img { display:block; width:100%; height:auto; aspect-ratio:16 / 9; }
.m-family-quiz.is-live .m-family-card:hover { transform:translateY(-4px); box-shadow:0 26px 44px -22px rgba(0,0,0,.5); }
.m-family-quiz.is-live .m-family-a, .m-family-quiz.is-live .m-family-card[aria-pressed="true"] .m-family-q { display:none; }
.m-family-quiz.is-live .m-family-card[aria-pressed="true"] .m-family-a { display:block; }
.m-family-quiz.is-live .m-family-card::after { content:"Answer \2192"; position:absolute; right:0; top:0; padding:6px 11px; font-family:var(--font-head); font-size:12px; letter-spacing:.12em; text-transform:uppercase; background:var(--ink); color:var(--bone); }
.m-family-quiz.is-live .m-family-card[aria-pressed="true"]::after { content:"\2190  Question"; }
.m-family-quiz small { display:block; margin-top:11px; font-size:15px; line-height:1.35; color:var(--ink); }
.m-family-quiz small b { font-family:var(--font-head); font-weight:var(--font-head-weight); color:var(--ash); letter-spacing:.06em; margin-right:10px; }
@media (max-width:560px){ .m-family-ctl { flex-wrap:wrap; } .m-family-now { flex-basis:100%; } .m-family-btn { flex:1; } .m-family-now b { font-size:40px; } }
@media (prefers-reduced-motion: no-preference){
  .m-family-ob.is-live .m-family-slide:not([hidden]) img, .m-family-quiz.is-live .m-family-card[aria-pressed="true"] .m-family-a { animation:m-family-in .45s var(--ease) both; }
  @keyframes m-family-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
}
.m-family-judge { max-width:62ch; }
.m-family-judge p { margin:0 0 1em; }
.m-family-judge p:last-child { margin-bottom:0; }
.top nav .m-program-cur { color:var(--ink); border-bottom:1px solid var(--fresco-teal); }
h1.title .m-program-dot { color:var(--fresco-teal); }
details.m-program-archive { margin-top:40px; border-top:1px solid var(--rule); padding-top:24px; }
details.m-program-archive > summary { cursor:pointer; }
details.m-program-archive > summary:hover { color:var(--cinnabar); }
details.m-program-archive > section { padding-top:24px; border-bottom:0; }
.m-pf-pull.m-program-pull { max-width:64ch; margin-top:30px; }   
.m-comings-open { padding:48px 0 40px; border-bottom:1px solid var(--rule); }
.m-comings-instr { font-family:var(--font-text); font-weight:400; font-size:clamp(30px, 4.8vw, 58px); line-height:1.1; letter-spacing:-.012em; margin:0 0 18px; max-width:21ch; text-wrap:balance; color:var(--hematite); }
.m-comings-attr { font-size:clamp(18px, 1.9vw, 21px); line-height:1.5; max-width:56ch; margin:0 0 30px; color:var(--ink); }
.m-comings-two { display:grid; grid-template-columns:minmax(0,1fr); gap:24px 48px; align-items:start; }
@media (min-width:900px) { .m-comings-two { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.m-comings-two p { margin:0; max-width:56ch; }
.m-comings-fig { margin:0; min-width:0; }
.m-comings-fig figcaption { font-family:var(--font-text); font-size:13px; color:var(--ash); margin-top:8px; line-height:1.5; max-width:62ch; }
.m-comings-svg { display:block; width:100%; height:auto; background:var(--plaster); border-radius:0; }
.m-comings-svg text { font-family:var(--font-text); font-size:12px; fill:var(--ash); }
.m-comings-svg .m-comings-path { fill:none; stroke:var(--cinnabar); stroke-width:2; }
.m-comings-svg .m-comings-dot { fill:var(--ink); }
.m-comings-svg .m-comings-axis { stroke:var(--ink); stroke-width:2; }
.m-comings-svg .m-comings-tick { stroke:var(--ink); stroke-width:1.5; }
.m-comings-svg .m-comings-limit { stroke:var(--ash); stroke-width:1.5; stroke-dasharray:4 4; }
.m-comings-handback { margin:34px 0 26px; max-width:68ch; }
.m-comings-orient { display:grid; grid-template-columns:minmax(0,1fr); gap:26px 48px; align-items:start; margin:0 0 30px; }
@media (min-width:900px) { .m-comings-orient { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); } }
.m-comings-orient-words { min-width:0; }
.m-comings-orient-words p { max-width:62ch; margin:0 0 16px; }
.m-comings-orient-words p:last-child { margin-bottom:0; }
.m-comings-orient > .plate { max-width:440px; }
.m-comings-role { background:var(--plaster); border-radius:0; padding:18px 20px 20px; }
.m-comings-role > .lbl { margin:0 0 12px; color:var(--hematite); }
.m-comings-role-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:14px 32px; }
@media (min-width:900px) { .m-comings-role-grid { grid-template-columns:repeat(3, minmax(0,1fr)); } }
.m-comings-role-grid p { margin:0; font-size:17px; line-height:1.5; max-width:56ch; }
.m-comings-role-grid b { color:var(--hematite); }
.m-comings-sec { padding-top:40px; }
.m-comings-sec > .lbl { margin-bottom:10px; }
.m-comings-sec > p { max-width:66ch; margin:0 0 16px; }
.m-comings-wpgrid { display:grid; grid-template-columns:minmax(0,1fr); gap:28px 36px; margin:22px 0 0; align-items:start; }
@media (min-width:980px) { .m-comings-wpgrid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); } }
.m-comings-wp { background:var(--cg-cream); color:var(--cg-ink); border:1px solid var(--rule); font-family:var(--font-doc); font-size:16px; line-height:1.5; min-width:0; }
.m-comings-wp-head { background:var(--cg-navy); color:var(--paper); padding:12px 16px; display:grid; gap:2px; }
.m-comings-wp-head b { font-family:var(--font-text); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; }
.m-comings-wp-head span { font-size:15px; }
.m-comings-wp-rail { background:var(--cg-plum); color:var(--paper); display:flex; flex-wrap:wrap; gap:4px 14px; padding:8px 16px; font-family:var(--font-text); font-size:12px; }
.m-comings-wp-rail span { white-space:nowrap; }
.m-comings-wp-body { padding:14px 16px 16px; }
.m-comings-wp-body p { margin:0 0 10px; }
.m-comings-wp-body p:last-child { margin-bottom:0; }
.m-comings-wp-save { border:1px solid var(--cg-plum); padding:9px 12px; margin:12px 0; }
.m-comings-wp-save small, .m-comings-wp-tag { display:inline-block; font-family:var(--font-text); font-size:11px; letter-spacing:.09em; text-transform:uppercase; font-weight:600; color:var(--cg-plum); margin:0 0 4px; }
.m-comings-wp-h { font-family:var(--font-text); font-weight:600; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--cg-navy); margin:14px 0 6px; }
.m-comings-wp-card { border:1px solid var(--cg-sand); margin:14px 0 0; background:var(--cg-cream); color:var(--cg-ink); }
.m-comings-wp-card > b { display:block; background:var(--cg-linen); padding:7px 14px; font-family:var(--font-text); font-size:12px; letter-spacing:.06em; text-transform:uppercase; font-weight:600; color:var(--cg-navy); }
.m-comings-wp-card > div { padding:11px 14px 13px; }
.m-comings-wp-card p { margin:0 0 9px; }
.m-comings-wp-note { border:1px dashed var(--cg-plum); color:var(--cg-ash); font-family:var(--font-text); font-size:12.5px; padding:7px 10px; margin-top:6px; }
.m-comings-wp-opt { border-left:3px solid var(--cg-plum); padding:2px 0 2px 11px; margin:0 0 9px; }
.m-comings-wp-opt b { display:block; font-family:var(--font-text); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--cg-plum); }
.m-comings-notes { list-style:none; margin:0; padding:0; counter-reset:m-comings-n; }
.m-comings-notes li { position:relative; padding:0 0 0 38px; margin:0 0 16px; max-width:52ch; counter-increment:m-comings-n; }
.m-comings-notes li::before { content:counter(m-comings-n); position:absolute; left:0; top:1px; width:26px; height:26px; border-radius:50%; border:1px solid var(--hematite); color:var(--hematite); font-family:var(--font-text); font-size:13px; font-weight:600; display:grid; place-items:center; }
.m-comings-notes b { color:var(--hematite); }
.m-comings-sentence { font-size:clamp(19px, 2vw, 22px); line-height:1.45; max-width:58ch; margin:26px 0 0; padding-left:18px; border-left:3px solid var(--cinnabar); }
.m-comings-tab { width:100%; border-collapse:collapse; margin:18px 0 0; font-size:17px; line-height:1.5; }
.m-comings-tab th { font-family:var(--font-text); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ash); font-weight:600; text-align:left; padding:0 16px 8px 0; border-bottom:1px solid var(--rule); vertical-align:bottom; }
.m-comings-tab td { padding:13px 16px 13px 0; border-bottom:1px solid var(--rule); vertical-align:top; }
.m-comings-tab td:nth-child(2) { font-family:var(--font-text); font-size:13.5px; color:var(--ash); width:17%; }
.m-comings-tab td:first-child { width:42%; }
.m-comings-tab tr.m-comings-out td { background:var(--plaster); padding-left:12px; border-top:2px solid var(--cinnabar); }
.m-comings-tab tr.m-comings-out td:last-child { padding-right:12px; }
@media (max-width:700px) {
  .m-comings-tab, .m-comings-tab tbody, .m-comings-tab tr, .m-comings-tab td { display:block; width:100%; }
  .m-comings-tab thead { display:none; }
  .m-comings-tab tr { border-bottom:1px solid var(--rule); padding:14px 0; }
  .m-comings-tab td { border:0; padding:0 0 6px; width:100% !important; }
  .m-comings-tab td:nth-child(2) { font-size:12.5px; letter-spacing:.04em; }
  .m-comings-tab td:nth-child(2)::before { content:"Attributed to: "; text-transform:uppercase; font-weight:600; letter-spacing:.08em; font-size:11.5px; }
  .m-comings-tab td:nth-child(3)::before { content:"In the materials: "; font-family:var(--font-text); text-transform:uppercase; font-weight:600; letter-spacing:.08em; font-size:11.5px; color:var(--ash); }
  .m-comings-tab tr.m-comings-out { padding:14px 12px; background:var(--plaster); border-top:2px solid var(--cinnabar); }
  .m-comings-tab tr.m-comings-out td { background:none; border:0; padding-left:0; padding-right:0; }
}
.m-comings-fin { width:100%; border-collapse:collapse; margin:16px 0 0; font-size:17px; line-height:1.5; }
.m-comings-fin td { padding:12px 16px 12px 0; border-bottom:1px solid var(--rule); vertical-align:top; }
.m-comings-fin td:first-child { white-space:nowrap; font-weight:600; width:1%; color:var(--hematite); }
@media (max-width:700px) {
  .m-comings-fin, .m-comings-fin tbody, .m-comings-fin tr, .m-comings-fin td { display:block; width:100%; }
  .m-comings-fin tr { border-bottom:1px solid var(--rule); padding:12px 0; }
  .m-comings-fin td { border:0; padding:0 0 4px; }
  .m-comings-fin td:first-child { white-space:normal; width:100%; }
}
.m-comings-hands { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; margin:18px 0 26px; }
@media (min-width:760px) { .m-comings-hands { grid-template-columns:repeat(3, minmax(0,1fr)); } }
.m-comings-hand { border:1px solid var(--rule); background:var(--plaster); padding:14px 16px 16px; border-radius:0; min-width:0; }
.m-comings-hand .lbl { margin:0 0 4px; }
.m-comings-hand h3 { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:21px; margin:0 0 10px; color:var(--hematite); }
.m-comings-hand .m-comings-nums { display:flex; gap:22px; margin:0 0 10px; }
.m-comings-hand .m-comings-nums span { display:block; font-family:var(--font-text); font-size:11.5px; letter-spacing:.1em; font-weight:600; color:var(--ash); }
.m-comings-hand .m-comings-nums b { display:block; font-size:34px; line-height:1; letter-spacing:-.02em; font-weight:600; font-variant-numeric:tabular-nums; }
.m-comings-hand .m-comings-nums span:first-child b { color:var(--fresco-teal); }
.m-comings-hand .m-comings-nums span:last-child b { color:var(--cinnabar); }
.m-comings-hand p { margin:0; font-size:16px; line-height:1.45; }
.m-comings-quiet { font-size:17px; color:var(--ash); }
details.m-comings-archive { margin-top:40px; border-top:1px solid var(--rule); padding-top:24px; }
details.m-comings-archive > summary { cursor:pointer; }
details.m-comings-archive > summary:hover { color:var(--cinnabar); }
details.m-comings-archive > section { padding-top:24px; border-bottom:0; }
.m-comings-fig > .m-comings-tab { margin-top:22px; }
.m-comings-rounds td:first-child { width:24%; font-weight:600; color:var(--hematite); }
.m-comings-rounds td:nth-child(2) { width:30%; }
.m-comings-own { margin-bottom:18px; }
@media (max-width:700px) {
  .m-comings-rounds td:nth-child(2)::before { content:"Who hears a scene: "; font-size:12px; }
  .m-comings-rounds td:nth-child(3)::before { content:"What the round changes: "; font-size:12px; }
  .m-comings-own td:nth-child(2)::before { content:"Whose it is: "; font-size:12px; }
  .m-comings-own td:nth-child(3)::before { content:"In the script: "; font-size:12px; }
}
#why, #decided, #support-rule, #review-packet, #mechanics, #script, #pack { scroll-margin-top:110px; }
.m-pf-pull.m-comings-pull { max-width:64ch; margin-top:30px; }
.m-comings-packet .plate.tall img { width:min(100%, 556.375px); }
.m-behsci-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin:22px 0 0; }
.m-behsci-col { min-width:0; padding:16px 0 4px; }
.m-behsci-col .lbl { margin:0 0 4px; color:var(--hematite); }
.m-behsci-col ul { list-style:none; margin:0; padding:0; }
.m-behsci-col li { padding:9px 0 10px; border-top:1px solid var(--rule); font-size:17px; line-height:1.48; }
.m-behsci-mid { background:var(--plaster); padding:16px 18px 8px; border-radius:0; box-shadow:0 8px 22px rgba(26,22,20,.16), 0 1px 3px rgba(26,22,20,.12); position:relative; }
.m-behsci-mid li { border-top-color:rgba(107,95,82,.4); }
@media (min-width:900px) {
  .m-behsci-grid { grid-template-columns:repeat(3, minmax(0,1fr)); gap:0 26px; align-items:start; }
  .m-behsci-col:not(.m-behsci-mid) { padding-top:18px; }
  .m-behsci-mid { margin-top:-6px; }
}
.m-behsci-foot { margin-top:26px; }
.m-behsci-onfile { margin:30px 0 0; }
.m-behsci-files { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:24px 22px; margin:10px 0 0; }
.m-behsci-card { display:block; text-decoration:none; color:inherit; min-width:0; }
.m-behsci-mount { background:var(--paper); padding:9px; border:1px solid var(--rule); box-shadow:0 2px 8px rgba(26,22,20,.12); height:248px; overflow:hidden; display:flex; align-items:flex-start; justify-content:center; }
.m-behsci-mount.m-behsci-wide { align-items:center; }
.m-behsci-mount img { width:100%; height:auto; display:block; }
.m-behsci-card b { display:block; font-family:var(--font-text); font-weight:600; font-size:15px; line-height:1.3; margin:11px 0 3px; color:var(--ink); }
.m-behsci-card .m-behsci-when { display:block; font-family:var(--font-text); text-transform:uppercase; font-variant:normal; letter-spacing:.09em; font-size:12px; color:var(--cinnabar); font-weight:600; }
.m-behsci-card .m-behsci-what { display:block; font-family:var(--font-text); font-size:13.5px; line-height:1.5; color:var(--ash); margin-top:4px; }
.m-behsci-card:hover .m-behsci-mount, .m-behsci-card:focus-visible .m-behsci-mount { border-color:var(--cinnabar); }
.m-behsci-card:focus-visible { outline:2px solid var(--cinnabar); outline-offset:5px; }
.m-behsci-chart { margin:22px 0 0; max-width:760px; }
.m-behsci-chart h3 { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:20px; line-height:1.3; margin:0 0 2px; }
.m-behsci-chart .m-behsci-sub { font-family:var(--font-text); font-size:13px; color:var(--ash); margin:0 0 14px; }
.m-behsci-row { display:grid; grid-template-columns:minmax(0,1fr); gap:3px 14px; align-items:center; margin:0 0 12px; }
.m-behsci-row span.m-behsci-name { font-family:var(--font-text); font-size:14px; line-height:1.35; }
.m-behsci-track { display:flex; align-items:center; gap:10px; min-width:0; }
.m-behsci-fill { display:block; flex:0 0 auto; height:22px; background:var(--fresco-teal); border-radius:1px; min-width:0; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.m-behsci-val { font-family:var(--font-text); font-weight:600; font-size:15px; color:var(--hematite); font-variant-numeric:tabular-nums; }
@media (min-width:700px) { .m-behsci-row { grid-template-columns:230px minmax(0,1fr); } .m-behsci-row span.m-behsci-name { text-align:right; } }
.m-behsci-change { margin:26px 0 0; padding-left:18px; border-left:2px solid var(--cinnabar); max-width:62ch; }
.m-behsci-change .lbl { margin:0 0 6px; }
.m-behsci-change p { margin:0; font-size:18px; line-height:1.55; }
.plates.m-behsci-lead { grid-template-columns:minmax(0,1fr); max-width:640px; margin:0; }
.m-behsci-story { margin-top:30px; }
.m-behsci-count { margin:28px 0 0; max-width:760px; }
.m-behsci-count h3 { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:20px; line-height:1.3; margin:0; }
.m-behsci-count table { width:100%; border-collapse:collapse; margin:10px 0 0; font-family:var(--font-text); font-size:14.5px; line-height:1.4; }
.m-behsci-count th.m-behsci-grp { text-align:left; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--hematite); font-weight:600; padding:18px 0 6px; border-bottom:1px solid var(--rule); }
.m-behsci-count tbody:first-of-type th.m-behsci-grp { padding-top:6px; }
.m-behsci-count td { padding:7px 0; border-bottom:1px solid var(--rule); vertical-align:top; color:var(--ink); }
.m-behsci-count td:last-child { text-align:right; font-weight:600; color:var(--hematite); font-variant-numeric:tabular-nums; white-space:nowrap; padding-left:16px; width:1%; }
.m-behsci-count td.m-behsci-n0 { color:var(--ash); font-weight:500; }
.m-behsci-count .m-behsci-sub { font-family:var(--font-text); font-size:13px; color:var(--ash); margin:10px 0 0; }
details.m-behsci-archive { margin-top:40px; border-top:1px solid var(--rule); padding-top:24px; }
details.m-behsci-archive > summary { cursor:pointer; }
details.m-behsci-archive > summary:hover { color:var(--cinnabar); }
details.m-behsci-archive > section { padding-top:24px; border-bottom:0; }
.top nav span.m-reference-cur { color:var(--ink); border-bottom:1px solid var(--cinnabar); }
@media (max-width:700px) { .xtab.m-reference-x tr:has(> th) { display:none; } }
.m-reference-before { margin-top:30px; }
@media (max-width:899px) { .words.m-reference-role .c2 { order:-1; } }
.m-reference-open { margin-top:16px; }
.m-reference-status { font-style:italic; color:var(--ash); font-size:16px; margin:14px 0 18px; }
.m-reference-meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:14px 28px; margin:0 0 20px; padding:16px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.m-reference-meta div { min-width:0; } .m-reference-meta dt { font-size:14px; color:var(--ash); margin:0 0 3px; } .m-reference-meta dd { margin:0; font-size:16px; line-height:1.4; }
.m-reference-rungs { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0 0 6px; padding:0; }
.m-reference-rungs li { font-size:14px; padding:4px 10px; border:1px solid var(--rule); color:var(--ash); }
.m-reference-rungs li.on { background:var(--fresco-teal); border-color:var(--fresco-teal); color:var(--bone); }
.m-reference-rungkey { font-size:14px; color:var(--ash); margin:0 0 8px; }
.m-reference-counts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:18px; margin:6px 0 18px; }
.m-reference-counts div { border-top:2px solid var(--cinnabar); padding-top:10px; }
.m-reference-counts b { display:block; font-family:var(--font-head); font-weight:var(--font-head-weight); font-variant-numeric:lining-nums proportional-nums; font-size:40px; line-height:1; }
.m-reference-counts span { display:block; font-size:14px; color:var(--ash); margin-top:4px; }
.m-reference-x th:last-child, .m-reference-x td:last-child { white-space:nowrap; color:var(--hematite); font-weight:600; }
.m-reference-more > summary { cursor:pointer; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:26px; padding:14px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); margin:28px 0 8px; }
.plate.m-faculty-ros img { max-width:620px; margin:0 auto; }
.m-pf-pull.m-faculty-pull { max-width:64ch; margin-top:30px; }
details.m-ai-archive { margin-top:40px; border-top:1px solid var(--rule); padding-top:24px; }
details.m-ai-archive > summary { cursor:pointer; }
details.m-ai-archive > summary:hover { color:var(--cinnabar); }
details.m-ai-archive > section { padding-top:24px; border-bottom:0; }
.m-ai-pf { margin:30px 0 0; padding:0 0 22px; border-bottom:1px solid var(--rule); font-size:18px; line-height:1.5; max-width:70ch; }
.m-ai-pf p { margin:0; }
.m-ai-pf p + p { margin-top:14px; }
.m-ai-pf a { color:var(--cinnabar); text-decoration:none; border-bottom:1px solid currentColor; }
.m-ai-pf a:hover, .m-ai-pf a:focus-visible { border-bottom-width:2px; outline:none; }
.m-pf-head .meta a { color:inherit; text-decoration-color:var(--dk-accent); text-underline-offset:3px; }
.m-pf-head .meta a:hover, .m-pf-head .meta a:focus-visible { color:var(--dk-accent); outline:none; }
header.head.m-pf-head > .m-pf-stats { grid-column:1 / -1; }
.m-pf-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin:48px 0 0; border-top:1px solid var(--rule); }
.m-pf-stats div { min-width:0; padding:22px 0 10px; }
.m-pf-stats dt { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(40px, 4.8vw, 60px); line-height:1; color:var(--ink); }
.m-pf-stats dd { margin:12px 0 0; font-size:15px; line-height:1.4; color:var(--ash); max-width:26ch; }
@media (min-width:860px){
  .m-pf-stats { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-top:64px; }
  .m-pf-stats div + div { padding-left:22px; border-left:1px solid var(--rule); }
}
.m-pf-sh { display:grid; grid-template-columns:minmax(0,1fr); gap:14px 48px; margin:0 0 clamp(30px, 4.4vw, 54px); }
.m-pf-no { font-family:var(--font-head); font-size:13px; letter-spacing:.16em; color:var(--cinnabar); }
.m-pf-no::after { content:""; display:inline-block; width:40px; height:1px; background:var(--cinnabar); margin-left:14px; vertical-align:middle; }
.m-pf-sh h2 { font-size:clamp(36px, 4.4vw, 56px); line-height:1; margin:0; max-width:14ch; }
.m-pf-note { font-size:18px; line-height:1.5; max-width:50ch; margin:0; align-self:end; color:var(--ash); }
@media (min-width:900px){
  .m-pf-sh { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); grid-template-areas:"no no" "h note"; }
  .m-pf-no { grid-area:no; } .m-pf-sh h2 { grid-area:h; } .m-pf-note { grid-area:note; }
}
.m-pf-g { display:block; text-align:center; line-height:1; color:var(--cinnabar); white-space:nowrap; font-feature-settings:"lnum"; }
.m-pf-g-t { font-family:var(--font-text); font-size:50px; }
.m-pf-g-s { font-family:var(--font-mark); font-style:italic; font-size:50px; letter-spacing:-.03em; }
.m-pf-g-p { font-family:var(--font-mark); font-size:72px; color:var(--fresco-teal); line-height:.62; }
.m-pf-g-q { font-family:var(--font-text); font-size:54px; position:relative; top:.26em; }
.m-pf-g-r { -webkit-text-stroke:.03em currentColor; }   
.m-pf-g-dd { letter-spacing:-.14em; padding-right:.14em; }   
.m-pf-glance { list-style:none; margin:0 0 8px; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(112px, 1fr)); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.m-pf-glance li { min-width:0; }
.m-pf-glance a { display:grid; justify-items:center; align-content:start; gap:10px; padding:20px 6px 18px; text-decoration:none; color:var(--ink); text-align:center; }
.m-pf-glance .m-pf-g { font-size:34px; height:38px; display:flex; align-items:center; justify-content:center; }
.m-pf-glance .m-pf-g-p { font-size:52px; line-height:1; align-items:flex-end; }
.m-pf-glance span:last-child { font-size:13.5px; line-height:1.3; }
.m-pf-glance a:hover span:last-child, .m-pf-glance a:focus-visible span:last-child { color:var(--cinnabar); }
.m-pf-glance a:focus-visible { outline:2px solid var(--cinnabar); outline-offset:-2px; }
.m-pf-sub { display:flex; align-items:center; gap:16px; font-family:var(--font-head); font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--ash); margin:clamp(56px, 7vw, 84px) 0 26px; }
.m-pf-sub::after { content:""; flex:1; height:1px; background:var(--rule); }
.m-pf-seats { display:grid; grid-template-columns:minmax(0,1fr); gap:52px; }
@media (min-width:880px){ .m-pf-seats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px 72px; } }
.m-pf-seat { min-width:0; border-top:2px solid var(--ink); padding-top:20px; scroll-margin-top:120px; }
.m-pf-top { display:grid; grid-template-columns:64px minmax(0,1fr); column-gap:18px; align-items:start; }
.m-pf-top .m-pf-g { padding-top:2px; }
.m-pf-id h3 { font-size:clamp(26px, 2.4vw, 32px); line-height:1.05; margin:0 0 6px; }
.m-pf-cls { font-size:15.5px; line-height:1.4; font-style:italic; color:var(--ash); margin:0; }
.m-pf-act { grid-column:2; font-family:var(--font-head); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--cinnabar); margin:10px 0 0; }
.m-pf-said { margin:22px 0 6px; padding:2px 0 2px 18px; border-left:1px solid var(--cinnabar); }
.m-pf-said p { margin:0; font-style:italic; font-size:21px; line-height:1.4; color:var(--ink); max-width:46ch; }
.m-pf-dl { margin:18px 0 0; }
.m-pf-dl div { display:grid; grid-template-columns:104px minmax(0,1fr); gap:16px; padding:11px 0; border-top:1px solid var(--rule); }
.m-pf-dl dt { font-family:var(--font-head); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ash); padding-top:5px; line-height:1.3; }
.m-pf-dl dd { margin:0; font-size:16.5px; line-height:1.5; }
.m-pf-dl dd b { font-weight:600; }
@media (min-width:880px){
  .m-pf-wide { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); grid-template-rows:auto 1fr; column-gap:72px; align-items:start; }
  .m-pf-wide .m-pf-top, .m-pf-wide .m-pf-said { grid-column:1; }
  .m-pf-wide .m-pf-dl { grid-column:2; grid-row:1 / span 2; margin-top:0; }
  .m-pf-wide .m-pf-dl div:first-child { border-top:0; padding-top:4px; }
  .m-pf-wide .m-pf-g { font-size:84px; }
  .m-pf-wide .m-pf-top { grid-template-columns:84px minmax(0,1fr); }
  .m-pf-wide .m-pf-said p { font-size:26px; }
}
@media (max-width:560px){
  .m-pf-top { grid-template-columns:50px minmax(0,1fr); column-gap:14px; }
  .m-pf-g-q { font-size:42px; }
  .m-pf-top .m-pf-g { font-size:40px; }
  .m-pf-top .m-pf-g-p { font-size:60px; }
  .m-pf-dl div { grid-template-columns:minmax(0,1fr); gap:4px; }
  .m-pf-dl dt { padding-top:0; }
}
.m-pf-bench { margin:clamp(56px, 7vw, 84px) 0 0; padding-top:18px; border-top:1px solid var(--rule); font-size:16.5px; line-height:1.55; color:var(--ash); max-width:76ch; }
.m-pf-bench b { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); margin-right:8px; }
.m-pf-march { list-style:none; margin:0; padding:0; border-top:2px solid var(--ink); }
.m-pf-march li { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; padding:18px 0; border-bottom:1px solid var(--rule); }
.m-pf-act-n { font-family:var(--font-head); font-size:20px; line-height:1.2; }
.m-pf-who { font-size:17.5px; line-height:1.45; }
.m-pf-gate { font-size:15.5px; line-height:1.45; color:var(--ash); }
.m-pf-gate b { display:block; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--cinnabar); margin-bottom:3px; }
@media (min-width:760px){
  .m-pf-march li { grid-template-columns:140px minmax(0,1.35fr) minmax(0,1fr); gap:28px; align-items:baseline; }
  .m-pf-gate { padding-left:18px; border-left:1px solid var(--rule); }
}
.m-pf-rests { display:grid; grid-template-columns:minmax(0,1fr); gap:24px 32px; margin:44px 0 0; }
@media (min-width:760px){ .m-pf-rests { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.m-pf-rests div { border-top:1px solid var(--ink); padding-top:14px; min-width:0; }
.m-pf-rests dt { font-family:var(--font-head); font-size:19px; margin:0 0 8px; }
.m-pf-rests dd { margin:0; font-size:16px; line-height:1.5; color:var(--ash); }
.m-pf-dates { list-style:none; margin:0; padding:0; max-width:880px; }
.m-pf-dates li { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; padding:13px 0; border-top:1px solid var(--rule); }
.m-pf-dates li:last-child { border-bottom:1px solid var(--rule); }
.m-pf-dates b { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:15px; letter-spacing:.02em; color:var(--cinnabar); }
.m-pf-dates span { font-size:17px; line-height:1.5; }
@media (min-width:760px){ .m-pf-dates li { grid-template-columns:180px minmax(0,1fr); gap:24px; align-items:baseline; } }
.m-pf-prose { display:grid; grid-template-columns:minmax(0,1fr); }
.m-pf-prose .m-pf-sh { margin-bottom:28px; }
@media (min-width:900px){
  .m-pf-prose { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); column-gap:72px; align-items:start; }
  .m-pf-prose .m-pf-sh { grid-template-columns:minmax(0,1fr); grid-template-areas:"no" "h"; position:sticky; top:120px; margin:0; }
}
.m-pf-body { min-width:0; max-width:64ch; }
.m-pf-body > p { margin:0 0 18px; }
.m-pf-pull { margin:0 0 30px; padding:0; }
.m-pf-pull p { margin:0; font-style:italic; font-size:clamp(24px, 2.5vw, 31px); line-height:1.32; color:var(--ink); }
.m-pf-long p { font-size:clamp(20px, 1.9vw, 23px); line-height:1.5; }
.m-pf-pull footer { margin:14px 0 0; padding:0; border:0; font-family:var(--font-head); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ash); display:block; }
.m-pf-pull footer::before { display:none; }
.m-pf-wins { list-style:none; margin:26px 0 0; padding:0; counter-reset:pfw; }
.m-pf-wins li { counter-increment:pfw; display:grid; grid-template-columns:44px minmax(0,1fr); padding:16px 0; border-top:1px solid var(--rule); font-size:17.5px; line-height:1.5; }
.m-pf-wins li:last-child { border-bottom:1px solid var(--rule); }
.m-pf-wins li::before { content:counter(pfw, decimal-leading-zero); font-family:var(--font-head); font-size:12px; letter-spacing:.1em; color:var(--ash); padding-top:6px; }
.m-pf-wins li b { font-weight:600; }
.m-pf-link { margin-top:30px !important; padding-top:16px; border-top:1px solid var(--rule); }
.m-pf-link a { color:var(--cinnabar); text-decoration:none; border-bottom:1px solid currentColor; }
.m-pf-link a:hover, .m-pf-link a:focus-visible { border-bottom-width:2px; outline:none; }
.pairnote + .doors2 { margin-top:14px; }
.m-livery-top { justify-content:space-between; }
.m-livery-h { max-width:none; }
.m-livery-st, .m-livery-h3 .m-livery-st { display:block; font-family:var(--font-text); font-size:12.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; margin-top:6px; }
.m-livery-h3 { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:24px; line-height:1.2; margin:36px 0 12px; }
.m-livery-trio { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
@media (min-width:700px) { .m-livery-trio { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 28px; } }
.m-livery-sw { min-width:0; }
.m-livery-sw p { margin:0; }
.m-livery-blk { height:80px; margin-bottom:10px; }
.m-livery-blk.m-livery-sm { height:56px; }
.m-livery-edge { border:1px solid var(--rule); }
.m-livery-role { font-family:var(--font-text); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; }
.m-livery-name { font-family:var(--font-text); font-size:22px; line-height:1.25; color:var(--hematite); margin-top:3px !important; }
.m-livery-hex { font-family:var(--font-text); font-size:17px; color:var(--ash); margin-top:1px !important; }
.m-livery-job { font-size:16.5px; line-height:1.45; margin-top:6px !important; }
.m-livery-use { font-family:var(--font-text); font-size:12.5px; color:var(--ash); line-height:1.45; margin-top:6px !important; }
.m-livery-neu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; margin:0 0 34px; }
@media (min-width:700px) { .m-livery-neu { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 28px; } }
.m-livery-nm { font-size:19px; }
.m-livery-band { position:relative; height:76px; background:linear-gradient(158deg,var(--livery-burgundy-light) 0%,var(--livery-burgundy) 40%,var(--livery-burgundy-dark) 100%); color:var(--livery-bone); font-family:var(--font-text); font-size:14px; margin:0 0 14px; }
.m-livery-band span { position:absolute; bottom:8px; white-space:nowrap; }
.m-livery-band .s0 { left:10px; }
.m-livery-band .s1 { left:40%; }
.m-livery-band .s2 { right:10px; }
.m-livery-ct { width:100%; border-collapse:collapse; margin:6px 0 0; }
.m-livery-ct th { text-align:left; font-family:var(--font-text); font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:var(--ash); font-weight:600; padding:0 16px 10px 0; border-bottom:1px solid var(--rule); }
.m-livery-ct td { padding:16px 16px 16px 0; border-bottom:1px solid var(--rule); vertical-align:middle; }
.m-livery-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.m-livery-smp { width:84px; }
.m-livery-smp span { display:flex; align-items:center; justify-content:center; width:68px; height:44px; font-family:var(--font-text); font-size:22px; border:1px solid var(--rule); }
.m-livery-ratio { font-family:var(--font-text); font-size:clamp(26px,3.2vw,36px); color:var(--cinnabar); line-height:1; white-space:nowrap; font-variant-numeric:lining-nums; }
.m-livery-pair { font-size:18px; line-height:1.35; }
.m-livery-pair small { display:block; font-family:var(--font-text); font-size:12.5px; color:var(--ash); margin-top:2px; letter-spacing:.02em; }
.m-livery-lvl { font-family:var(--font-text); font-size:14px; line-height:1.45; color:var(--ash); max-width:30ch; }
@media (max-width:640px) {
  .m-livery-ct thead { display:none; }
  .m-livery-ct, .m-livery-ct tbody { display:block; }
  .m-livery-ct tr { display:grid; grid-template-columns:84px minmax(0,1fr); grid-template-areas:"smp ratio" "smp pair" "smp lvl"; gap:2px 8px; padding:16px 0; border-bottom:1px solid var(--rule); }
  .m-livery-ct td { display:block; padding:0; border:0; }
  .m-livery-ct td.m-livery-smp { grid-area:smp; }
  .m-livery-ct td.m-livery-ratio { grid-area:ratio; }
  .m-livery-ct td.m-livery-pair { grid-area:pair; }
  .m-livery-ct td.m-livery-lvl { grid-area:lvl; max-width:none; }
}
.m-livery-fig { margin:0; min-width:0; }
.m-livery-panel { padding:18px 20px 20px; min-height:0; color:var(--livery-bone); overflow:hidden; }
.m-livery-panel p { margin:0; }
.m-livery-plab { line-height:1.55; font-family:var(--font-text); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--livery-sand); font-weight:600; }
.m-livery-pbar { font-family:var(--font-text); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--livery-wine-ink); background:var(--livery-sand); font-weight:600; margin:-18px -20px 0 !important; padding:9px 20px; line-height:1.55; }
.m-livery-pbody { font-size:16px; line-height:1.4; margin-top:10px !important; }
.m-livery-fig figcaption { font-family:var(--font-text); font-size:13.5px; line-height:1.5; color:var(--ash); margin-top:10px; }
.m-livery-fig figcaption b { display:block; font-family:var(--font-text); font-weight:400; font-size:28px; line-height:1.1; color:var(--cinnabar); margin-bottom:2px; }
.m-livery-good figcaption b { color:var(--hematite); }
.m-livery-sheen { height:56px; }
.m-livery-hair { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:minmax(0,1fr); gap:0 40px; }
@media (min-width:800px) { .m-livery-hair { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.m-livery-hair li { border-top:1px solid var(--rule); padding:12px 0 13px; font-size:17px; line-height:1.5; min-width:0; }
.m-livery-hair { border-bottom:1px solid var(--rule); }
@media (min-width:800px) { .m-livery-hair li:nth-last-child(2):nth-child(odd) { border-bottom:0; } }
.m-livery-scale { margin:0; }
@media (min-width:800px) { .m-livery-scale { grid-auto-flow:column; grid-template-rows:repeat(6,auto); } .m-livery-rules { grid-auto-flow:column; grid-template-rows:repeat(6,auto); } }
.m-livery-scale li { display:grid; grid-template-columns:116px minmax(0,1fr); gap:0 12px; align-items:baseline; }
.m-livery-scale li b { font-family:var(--font-text); font-weight:400; font-size:22px; color:var(--cinnabar); white-space:nowrap; font-variant-numeric:lining-nums; }
.m-livery-scale li span { font-size:16.5px; }
.m-livery-quad { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0 0 6px; }
@media (min-width:900px) { .m-livery-quad { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.m-livery-tr { background:var(--livery-bone); color:var(--livery-ink); border:1px solid var(--rule); padding:14px 16px 20px; min-width:0; }
.m-livery-tr p { margin:0; }
.m-livery-trl { font-family:var(--font-text); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--livery-ash); font-weight:600; display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; min-height:34px; }
.m-livery-flag { font-size:11.5px; letter-spacing:.1em; color:var(--livery-bone); background:var(--livery-signal); padding:2px 7px; }
.m-livery-pref { border:2px solid var(--livery-signal); padding:13px 15px 19px; }
.m-livery-tt { font-family:var(--font-text); font-size:24px; line-height:1.2; margin-top:8px !important; }
.m-livery-tt svg { margin-left:8px; vertical-align:baseline; }
.m-livery-r1 { width:44px; height:3px; background:var(--livery-sand); margin-top:10px; }
.m-livery-r3 { width:44px; margin-top:10px; display:flex; flex-direction:column; gap:3px; }
.m-livery-r3 i { height:1px; background:var(--livery-sand); display:block; }
.m-livery-r4 { height:1px; background:var(--livery-ink); margin-top:12px; }
.m-livery-marks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; }
@media (min-width:600px) { .m-livery-marks { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (min-width:900px) { .m-livery-marks { grid-template-columns:repeat(6,minmax(0,1fr)); } }
.m-livery-mk { margin:0; background:var(--livery-pavement); border-top:3px solid var(--livery-sand); padding:10px 8px 0; min-width:0; }
.m-livery-mk svg { display:block; width:100%; height:auto; aspect-ratio:1/1; max-height:96px; }
.m-livery-mk figcaption { margin:8px -8px 0; padding:5px 8px; background:var(--livery-sand); color:var(--livery-wine-ink); font-family:var(--font-text); font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; }
.m-livery-glyphs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
@media (min-width:700px) { .m-livery-glyphs { grid-template-columns:repeat(5,minmax(0,1fr)); } }
.m-livery-gl { margin:0; background:var(--livery-bone); border:1px solid var(--rule); padding:14px 14px 12px; min-width:0; }
.m-livery-gl svg { display:block; width:100%; max-width:170px; height:auto; }
.m-livery-gl figcaption { font-family:var(--font-text); font-size:13px; line-height:1.4; color:var(--livery-ash); margin-top:8px; }
.m-livery-gl figcaption b { display:block; color:var(--livery-ink); font-weight:600; }
@media (max-width:520px) { .m-livery-scale li { grid-template-columns:104px minmax(0,1fr); gap:0 6px; } .m-livery-top .chip { white-space:normal; } }
.m-livery-marks, .m-livery-glyphs { margin-top:18px; }
.top nav span.m-livery-cur { color:var(--ink); border-bottom:1px solid var(--cinnabar); }
details.m-livery-archive { margin-top:40px; border-top:1px solid var(--rule); padding-top:24px; }
details.m-livery-archive > summary { cursor:pointer; }
details.m-livery-archive > summary:hover { color:var(--cinnabar); }
details.m-livery-archive > section { padding-top:24px; border-bottom:0; }
details.m-livery-archive > section + section { border-top:1px solid var(--rule); }
ul.dec + .lbl, .note + .lbl, .m-livery-figs + .lbl { margin-top:28px; }
.m-htxi-pair { padding:44px 0 38px; }
.m-htxi-h { margin:0 0 20px; }
.m-htxi-plates { display:grid; grid-template-columns:minmax(0,1fr); gap:22px 24px; }
@media (min-width:760px) { .m-htxi-plates { grid-template-columns:repeat(2, minmax(0,1fr)); gap:26px 26px; } }
.m-htxi-f { margin:0; min-width:0; }
.m-htxi-f img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); max-width:100%; aspect-ratio:16 / 9; object-fit:contain; }
.m-htxi-f figcaption { font-family:var(--font-text); font-size:13px; color:var(--ash); margin-top:9px; line-height:1.5; letter-spacing:.01em; }
.m-htxi-f figcaption b { display:block; color:var(--ash); font-weight:600; font-size:12px; letter-spacing:.11em; text-transform:uppercase; margin-bottom:2px; }
.m-htxi-after figcaption b { color:var(--cinnabar); }
.m-htxi-note { margin:20px 0 0; max-width:62ch; font-size:17.5px; line-height:1.55; }
.m-htxi-cut { padding-top:44px; }
@media (min-width:1000px) { .m-htxi-plates.m-htxi-three { grid-template-columns:repeat(3, minmax(0,1fr)); } }
.m-htxi-key { list-style:none; margin:14px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:14px 22px; }
.m-htxi-key li { display:grid; grid-template-columns:34px minmax(0,1fr); column-gap:12px; align-items:center; }
.m-htxi-key i { grid-row:1 / span 2; width:34px; height:34px; border:1px solid var(--rule); }
.m-htxi-key b { font-family:var(--font-text); font-weight:600; font-size:15px; }
.m-htxi-key span { font-size:14px; color:var(--ash); }
.k-garnet { background:var(--htxi-garnet); } .k-wine { background:var(--htxi-wine); } .k-verdict { background:var(--htxi-verdict); }
.k-cream { background:var(--htxi-cream); } .k-softcream { background:var(--htxi-softcream); } .k-bronze { background:var(--htxi-bronze); }
.k-dusk { background:var(--htxi-dusk); } .k-red { background:var(--htxi-red); } .k-oathred { background:var(--htxi-oathred); }
.m-record { --m-record-title:var(--rec-navy); --m-record-line:var(--rec-navy); --m-record-btn:var(--rec-navy); --m-record-band:var(--plaster); --m-record-ease:cubic-bezier(.16,1,.3,1); --cinnabar:var(--rec-mauve); --hematite:var(--rec-claret); }
.m-record-vh { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
.m-record header.head, .m-record .m-record-deck { --cinnabar:var(--rec-mauve-lift); --hematite:var(--rec-mauve-lift); --m-record-title:var(--ink); --m-record-line:var(--ink); --m-record-btn:var(--ink); }
.m-record .m-record-deck { --ink:var(--dk-ink); --ash:var(--dk-ash); --bone:var(--dk); --plaster:var(--dk-raise); --rule:var(--dk-rule); color:var(--dk-ink); position:relative; isolation:isolate; }
.m-record .m-record-story { position:relative; isolation:isolate; }
.m-record .m-record-deck::before, .m-record .m-record-story::before { content:""; position:absolute; top:0; bottom:0; left:calc(50% - 50vw); width:100vw; z-index:-1; background:var(--dk); }
.m-record .m-record-story::before { background:var(--m-record-band); }
.m-record header.head { display:grid; grid-template-columns:minmax(0,1fr); }
.m-record .head .eyebrow { margin:0 0 28px; }
.m-record header.head h1.title { font-size:clamp(54px, 13.5vw, 96px); line-height:.92; letter-spacing:-.012em; max-width:none; margin:0 0 30px; color:var(--m-record-title); }
.m-record h1.title .m-record-w { display:block; white-space:nowrap; }
.m-record h1.title i { font-style:normal; font-size:1em; color:inherit; }
.m-record h1.title .m-record-br { display:inline-block; width:.14em; height:.84em; margin:0 .045em; vertical-align:-.11em; border:.032em solid var(--cinnabar); overflow:hidden; white-space:nowrap; text-indent:-9em; color:transparent; }   
.m-record h1.title .m-record-br:first-child { border-right:0; margin-left:0; }
.m-record h1.title i + .m-record-br { border-left:0; }
.m-record .head .lede { max-width:36ch; margin:0 0 30px; color:var(--ink); }
.m-record .head .meta { display:block; margin:0; padding:0; border-top:0; }
.m-record .head .meta div { display:grid; grid-template-columns:96px minmax(0,1fr); gap:18px; padding:13px 0; border-top:1px solid var(--rule); }
.m-record .head .meta b { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ash); margin:0; padding-top:4px; }
.m-record .head .meta span { font-size:16px; line-height:1.45; color:var(--ink); }
.m-record-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin:48px 0 0; border-top:1px solid var(--rule); }
.m-record-stats div { min-width:0; padding:22px 0 10px; }
.m-record-stats dt { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(36px, 4.6vw, 58px); line-height:1; color:var(--ink); }
.m-record-stats dt span[aria-hidden] { color:var(--cinnabar); font-size:.72em; margin:0 .14em; vertical-align:.08em; }
.m-record-stats dd { margin:12px 0 0; font-size:15px; line-height:1.4; color:var(--ash); max-width:24ch; }
@media (min-width:760px){
  .m-record-stats { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
  .m-record-stats div + div { padding-left:22px; border-left:1px solid var(--rule); }
}
@media (min-width:940px){
  .m-record header.head { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); column-gap:72px; grid-template-areas:"eye eye" "title lede" "title meta" "stats stats"; align-items:start; }
  .m-record header.head.head > .eyebrow { grid-area:eye; }
  .m-record header.head.head > h1.title { grid-area:title; font-size:clamp(84px, 9.2vw, 108px); margin:0; }
  .m-record header.head.head > .lede { grid-area:lede; margin-top:6px; }
  .m-record header.head.head > .meta { grid-area:meta; margin-top:0; }
  .m-record header.head.head > .m-record-stats { grid-area:stats; margin-top:64px; }
}
.m-record section { padding:clamp(64px, 9vw, 112px) 0; border-bottom:0; }
.m-record-sh { display:grid; grid-template-columns:minmax(0,1fr); gap:14px 48px; margin:0 0 clamp(30px, 4.4vw, 54px); }
.m-record-no { font-family:var(--font-head); font-size:13px; letter-spacing:.16em; color:var(--cinnabar); }
.m-record-no::after { content:""; display:inline-block; width:40px; height:1px; background:var(--cinnabar); margin-left:14px; vertical-align:middle; }
.m-record .m-record-h { font-size:clamp(34px, 4.4vw, 56px); line-height:1; margin:0; max-width:14ch; color:var(--m-record-title); }
.m-record-note { font-size:18px; line-height:1.5; max-width:46ch; margin:0; align-self:end; color:var(--ash); }
@media (min-width:860px){
  .m-record-sh { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); grid-template-areas:"no no" "h note"; }
  .m-record-no { grid-area:no; } .m-record-sh .m-record-h { grid-area:h; } .m-record-note { grid-area:note; }
}
.m-record-ba { display:grid; grid-template-columns:minmax(0,1fr); gap:34px; margin:0; }
@media (min-width:760px){ .m-record-ba { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(20px, 3vw, 40px); } }
.m-record-ba-one { margin:0; min-width:0; }
.m-record-ba-one img { display:block; width:100%; height:auto; aspect-ratio:16 / 9; object-fit:contain; background:var(--rec-parchment); box-shadow:0 24px 48px -22px rgba(0,0,0,.4); transition:transform .4s var(--m-record-ease), box-shadow .4s var(--m-record-ease); }
.m-record-ba-one:hover img { transform:translateY(-5px); box-shadow:0 34px 60px -24px rgba(0,0,0,.5); }
.m-record-ba-one figcaption { display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 16px; align-items:baseline; font-family:var(--font-text); font-size:15px; line-height:1.5; color:var(--ash); margin-top:18px; padding-top:14px; border-top:1px solid var(--rule); }
.m-record-ba-one figcaption b { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--m-record-title); }
.m-record-ba-aft figcaption b { color:var(--cinnabar); }
.m-record-body p { margin:0 0 1em; max-width:58ch; }
.m-record-body p:last-child { margin-bottom:0; }
@media (min-width:860px){
  .m-record-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); column-gap:48px; align-items:start; }
  .m-record-story .m-record-sh { grid-template-columns:minmax(0,1fr); grid-template-areas:"no" "h"; margin:0; position:sticky; top:110px; }
}
.m-record-deck { margin:0; }
.m-record-jump { list-style:none; display:inline-flex; flex-wrap:wrap; gap:0; margin:0 0 30px; padding:4px; border:1px solid var(--rule); }
.m-record-jump[hidden], .m-record-ctl[hidden], .m-record-board[hidden], .m-record-full[hidden] { display:none; }
.m-record-btn { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:15px; line-height:1.2; padding:11px 16px; min-height:44px; border:0; border-radius:0; background:transparent; color:var(--ash); cursor:pointer; transition:background .25s var(--m-record-ease), color .25s var(--m-record-ease), border-color .25s var(--m-record-ease); }
.m-record-btn:hover { color:var(--ink); }
.m-record-btn:focus-visible { outline:2px solid var(--m-record-line); outline-offset:3px; }
.m-record-btn[aria-current="true"] { background:var(--ink); color:var(--bone); }
.m-record-ctl { display:flex; align-items:center; justify-content:space-between; gap:12px 12px; margin:0 0 24px; }
.m-record-ctl .m-record-btn { border:1px solid var(--rule); color:var(--ink); padding:11px 18px; }
.m-record-ctl .m-record-btn:hover { border-color:var(--ink); background:var(--ink); color:var(--bone); }
.m-record-ctl .m-record-btn[data-step="-1"]::before { content:"\2190\00a0\00a0"; }
.m-record-ctl .m-record-btn[data-step="1"]::after { content:"\00a0\00a0\2192"; }
.m-record-now { order:-1; flex:1; min-width:0; margin:0; text-align:left; font-family:var(--font-text); font-size:17px; line-height:1.2; color:var(--ash); }
.m-record-now b { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:54px; line-height:1; color:var(--ink); margin-right:16px; }
.m-record-now span { color:var(--ink); }
.m-record-stage { list-style:none; margin:0; padding:0; display:grid; gap:48px; }
.m-record-board { margin:0; }
.m-record-board figure { margin:0; }
.m-record-board img { display:block; width:100%; height:auto; aspect-ratio:16 / 9; background:var(--rec-parchment); box-shadow:0 34px 70px -30px rgba(0,0,0,.6); }
.m-record-deck.is-live .m-record-board img { cursor:pointer; }
.m-record-cap { margin:14px 0 0; font-family:var(--font-text); font-size:15px; line-height:1.45; color:var(--ash); }
.m-record-cap b { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:15px; letter-spacing:.04em; color:var(--ink); margin-right:10px; }
.m-record-deck.is-live .m-record-cap { display:none; }
.m-record-full { display:inline-block; margin:16px 0 0; font-family:var(--font-head); font-size:15px; color:var(--ash); }
.m-record-full:hover { color:var(--ink); }
@media (max-width:560px) {
  .m-record-ctl { flex-wrap:wrap; }
  .m-record-now { flex-basis:100%; }
  .m-record-now b { font-size:42px; }
  .m-record-ctl .m-record-btn { flex:1; }
}
@media (prefers-reduced-motion: no-preference){
  .m-record-rv { opacity:0; transform:translateY(18px); transition:opacity .8s var(--m-record-ease), transform .8s var(--m-record-ease); }
  .m-record-rv.in { opacity:1; transform:none; }
  .m-record-deck.is-live .m-record-board:not([hidden]) img { animation:m-record-in .5s var(--m-record-ease) both; }
  @keyframes m-record-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
}
@media (prefers-reduced-motion: reduce){ .m-record-ba-one img { transition:none; } .m-record-ba-one:hover img { transform:none; } }
.m-record-staged { position:relative; }
.m-record-staged::before { content:"Staged · awaiting CINA coordinator"; position:absolute; top:12px; right:0; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--cinnabar); }
@media (min-width:860px){ .m-record-staged::before { top:0; } }
.m-record-cina { padding-bottom:20px; }
.m-record-cina-pair { margin:40px 0 44px; }
.m-record-cina-pair + .m-record-cina-pair { padding-top:36px; border-top:1px solid var(--rule); }
.m-record-cina-h { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(22px, 2.3vw, 28px); line-height:1.1; margin:0 0 8px; color:var(--m-record-title); }
.m-record-cina-note { max-width:54ch; margin:0 0 20px; font-size:17px; line-height:1.5; color:var(--ash); }
.m-record-cina-tail { margin-top:16px; max-width:calc(50% - 20px); }
@media (max-width:759px){ .m-record-cina-tail { max-width:none; } }
.m-record-cina-foot { margin:30px 0 0; padding-top:16px; border-top:1px solid var(--rule); font-size:14.5px; line-height:1.5; color:var(--ash); max-width:66ch; }
.m-record-prod { padding:clamp(56px, 7vw, 88px) 0 clamp(48px, 6vw, 80px); }
.m-record-prod-grid { display:grid; gap:24px; margin:0; }
@media (min-width:860px){ .m-record-prod-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:30px; } }
.m-record-prod-card { padding:26px 28px 24px; border:1px solid var(--rule); background:color-mix(in srgb, var(--plaster) 80%, transparent); }
.m-record-prod-lbl { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--dk-accent); margin:0 0 10px; }
.m-record-prod-h { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(22px, 2.3vw, 28px); line-height:1.1; margin:0 0 14px; color:var(--ink); }
.m-record-prod-body { margin:0 0 18px; font-size:16.5px; line-height:1.5; color:var(--ink); max-width:50ch; }
.m-record-prod-file { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 0 10px; padding:10px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); font-size:13.5px; color:var(--ash); }
.m-record-prod-file b { font-family:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
.m-record-prod-file span { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
.m-record-prod-code { margin:0 0 14px; padding:14px 16px; background:color-mix(in srgb, var(--dk-ink) 8%, transparent); border:1px solid var(--rule); overflow-x:auto; font-size:13.5px; line-height:1.5; }
.m-record-prod-code code { font-family:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace; color:var(--ink); white-space:pre; display:block; }
.m-record-prod-note { margin:0; font-size:14px; line-height:1.5; color:var(--ash); }
.m-record-prod-foot { margin:30px 0 0; padding-top:16px; border-top:1px solid var(--rule); font-size:14.5px; line-height:1.5; color:var(--ash); max-width:72ch; }
.m-dramaturg-method { padding-bottom:44px; }
.m-dramaturg-steps { list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:minmax(0,1fr); gap:0 22px; counter-reset:none; }
@media (min-width:640px) { .m-dramaturg-steps { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:1000px) { .m-dramaturg-steps { grid-template-columns:repeat(4, minmax(0,1fr)); } }
.m-dramaturg-steps li { min-width:0; border-top:2px solid var(--hematite); padding:14px 0 10px; }
.m-dramaturg-steps .m-dramaturg-n { display:block; font-family:var(--font-text); font-size:30px; line-height:1; color:var(--cinnabar); }
.m-dramaturg-steps b { display:block; font-family:var(--font-text); font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); font-weight:600; margin:8px 0 8px; }
.m-dramaturg-steps p { margin:0; font-size:16px; line-height:1.5; max-width:34ch; }
.m-dramaturg-list { margin:14px 0 0; }
.m-dramaturg-card { margin:30px 0 0; padding:20px 22px 18px; border:1px solid var(--rule); border-left:3px solid var(--hematite); max-width:760px; }
.m-dramaturg-card .lbl { color:var(--hematite); margin:0 0 6px; }
.m-dramaturg-frame { margin:0 0 14px; font-size:17px; line-height:1.5; max-width:62ch; }
.m-dramaturg-q { list-style:none; margin:0; padding:0; }
.m-dramaturg-q li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:0 6px; padding:12px 0; border-top:1px solid var(--rule); }
.m-dramaturg-q li > span:first-child { font-family:var(--font-text); font-weight:600; color:var(--cinnabar); }
.m-dramaturg-q li > div { min-width:0; font-size:17px; line-height:1.5; }
.m-dramaturg-q b { font-weight:600; color:var(--ink); }
.m-dramaturg-ptr { display:block; margin-top:4px; font-family:var(--font-text); font-size:12.5px; line-height:1.5; letter-spacing:.01em; color:var(--ash); }
.m-dramaturg-cardnote { margin:14px 0 0; font-family:var(--font-text); font-size:13px; line-height:1.5; color:var(--ash); max-width:66ch; }
.m-dramaturg-row { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px 12px; margin:26px 0 0; }
@media (min-width:640px) { .m-dramaturg-row { grid-template-columns:repeat(auto-fill, 200px); justify-content:start; } }
.m-dramaturg-row a { min-width:0; text-decoration:none; color:inherit; display:block; }
.m-dramaturg-row img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); }
.m-dramaturg-row small { display:block; font-family:var(--font-text); font-size:12px; color:var(--ash); margin-top:6px; line-height:1.4; }
.m-dramaturg-row a:hover img, .m-dramaturg-row a:focus-visible img { border-color:var(--cinnabar); }
.m-dramaturg-row a:focus-visible { outline:2px solid var(--cinnabar); outline-offset:4px; }
.m-dramaturg-row a:first-child { grid-column:span 1; }
.m-dramaturg-row a:first-child small { color:var(--ink); }
.m-dramaturg-row + .m-dramaturg-row { margin-top:30px; }
.counts + .m-dramaturg-list { margin-top:28px; }
details.m-dramaturg-archive { margin-top:40px; border-top:1px solid var(--rule); padding-top:24px; }
details.m-dramaturg-archive > summary { cursor:pointer; }
details.m-dramaturg-archive > summary:hover { color:var(--cinnabar); }
details.m-dramaturg-archive > section { padding-top:24px; border-bottom:0; }
details.m-dramaturg-archive > section + section { border-top:1px solid var(--rule); }
ul.dec + .lbl, .note + .lbl { margin-top:28px; }
.m-dram-shelf { display:grid; grid-template-columns:minmax(0,1fr); gap:30px 26px; margin:18px 0 0; }
@media (min-width:640px) { .m-dram-shelf { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:1000px) { .m-dram-shelf { grid-template-columns:repeat(3, minmax(0,1fr)); } }
.m-dram-pk { display:block; min-width:0; text-decoration:none; color:inherit; }
.m-dram-pk-img { display:block; overflow:hidden; border:1px solid var(--rule); background:var(--paper); aspect-ratio:4 / 3.4; }
.m-dram-pk-img img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; transform-origin:50% 0; transition:transform .45s cubic-bezier(.2,.7,.2,1); }
.m-dram-pk:hover .m-dram-pk-img img, .m-dram-pk:focus-visible .m-dram-pk-img img { transform:scale(1.12); }
.m-dram-pk:hover .m-dram-pk-img, .m-dram-pk:focus-visible .m-dram-pk-img { border-color:var(--ink); }
.m-dram-pk:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.m-dram-pk-c { display:block; margin:12px 0 4px; font-family:var(--font-text); font-size:14px; color:var(--ash); }
.m-dram-pk b { display:block; font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:24px; line-height:1.15; color:var(--ink); }
.m-dram-pk small { display:block; margin-top:6px; font-family:var(--font-text); font-size:14px; color:var(--cinnabar); }
@media (prefers-reduced-motion: reduce) { .m-dram-pk-img img { transition:none; } .m-dram-pk:hover .m-dram-pk-img img { transform:none; } }
.m-dram-view { display:grid; grid-auto-flow:column; grid-auto-columns:min(82vw, 560px); gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 2px 18px; margin:14px 0 0; }
.m-dram-pg { scroll-snap-align:start; display:block; min-width:0; text-decoration:none; color:inherit; }
.m-dram-pg img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); }
.m-dram-pg small, .m-dram-also small, .m-dram-f-pg small { display:block; margin-top:6px; font-family:var(--font-text); font-size:13px; color:var(--ash); }
.m-dram-pg:hover img, .m-dram-pg:focus-visible img { border-color:var(--ink); }
.m-dram-also { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 180px)); gap:16px; margin:12px 0 0; }
.m-dram-also a { display:block; min-width:0; text-decoration:none; color:inherit; }
.m-dram-also img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); }
.m-dram-findings { list-style:none; margin:16px 0 0; padding:0; }
.m-dram-f { display:grid; grid-template-columns:minmax(0,1fr); gap:18px 34px; padding:30px 0; border-top:1px solid var(--rule); scroll-margin-top:90px; }
@media (min-width:860px) { .m-dram-f { grid-template-columns:minmax(0,1fr) 230px; } }
.m-dram-f-txt { min-width:0; }
.m-dram-f-k { display:block; font-family:var(--font-text); font-size:14px; font-weight:600; color:var(--cinnabar); margin:0 0 6px; }
.m-dram-f h3 { margin:0 0 14px; }
.m-dram-f blockquote { margin:0; padding:2px 0 2px 18px; border-left:3px solid var(--hematite); font-size:18px; line-height:1.55; max-width:62ch; }
.m-dram-f-src { margin:10px 0 0; font-family:var(--font-text); font-size:14px; color:var(--ash); }
.m-dram-f-act { margin:18px 0 0; padding:14px 16px 12px; background:var(--plaster); max-width:62ch; }
.m-dram-f-act b { display:block; font-family:var(--font-text); font-size:14px; font-weight:600; margin:0 0 4px; }
.m-dram-f-act a { font-size:17px; }
.m-dram-f-act p { margin:6px 0 0; font-size:15.5px; line-height:1.5; color:var(--ink); }
.m-dram-f-none span { font-size:15.5px; color:var(--ash); }
.m-dram-f-pg { display:block; min-width:0; max-width:230px; text-decoration:none; color:inherit; }
.m-dram-f-pg img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); }
.m-dram-f-pg:hover img, .m-dram-f-pg:focus-visible img { border-color:var(--ink); }
.m-pf-pull.m-dram-pull { max-width:64ch; margin-top:30px; }
.xtab.m-dram-x td small { display:block; margin:8px 0 0; font-family:var(--font-text); font-size:13px; line-height:1.5; letter-spacing:.01em; color:var(--ash); }
.xtab.m-dram-x td small:not(:last-child) { margin-bottom:14px; }
@media (max-width:700px) {
  .xtab.m-dram-x tr:has(> th) { display:none; }
  .xtab.m-dram-x td:nth-child(2)::before, .xtab.m-dram-x td:nth-child(3)::before { display:block; margin:10px 0 2px; font-family:var(--font-text); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ash); font-weight:600; }
  .xtab.m-dram-x td:nth-child(2)::before { content:"In the script"; }
  .xtab.m-dram-x td:nth-child(3)::before { content:"What I did"; }
}
.m-research-bound p.lbl { font-family:var(--font-text); font-size:12.5px; line-height:1.4; letter-spacing:.11em; text-transform:uppercase; color:var(--hematite); font-weight:600; margin:0 0 8px; }
.m-research-fig { margin:0; max-width:100%; }
.m-research-fig a { display:block; }
.m-research-fig img { display:block; width:100%; height:auto; max-width:100%; border:1px solid var(--rule); background:var(--paper); }
.m-research-fig a:hover img, .m-research-fig a:focus-visible img { border-color:var(--cinnabar); }
.m-research-fig figcaption { font-family:var(--font-text); font-size:13px; color:var(--ash); margin-top:9px; line-height:1.5; letter-spacing:.01em; max-width:70ch; }
.m-research-line { font-family:var(--font-text); font-weight:400; font-size:clamp(24px, 2.8vw, 32px); line-height:1.2; color:var(--hematite); margin:0 0 20px; max-width:30ch; text-wrap:balance; }
.m-research-end { margin:20px 0 0; }
.m-research-data { max-width:680px; margin:26px 0 30px; }
.m-research-data img { border:1px solid var(--ink); outline:1px solid var(--ochre); outline-offset:4px; }
.top nav span.m-caesar-here { color:var(--ink); border-bottom:1px solid var(--cinnabar); }
.words.m-caesar-words { grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.m-caesar-bound p.lbl { font-family:var(--font-text); font-size:12.5px; line-height:1.4; letter-spacing:.11em; text-transform:uppercase; color:var(--hematite); font-weight:600; margin:0 0 8px; }
.m-caesar-lp { display:grid; grid-template-columns:minmax(0,1fr); gap:26px 40px; align-items:start; margin:18px 0 8px; }
@media (min-width:900px) { .m-caesar-lp { grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr); } }
.m-caesar-lp .xtab { margin-top:0; }
.m-caesar-lp .xtab td:first-child { font-family:var(--font-text); font-size:13px; letter-spacing:.06em; color:var(--cinnabar); white-space:nowrap; width:1%; }
.m-caesar-lp .xtab tr td:last-child { font-family:inherit; font-size:inherit; letter-spacing:normal; text-transform:none; color:inherit; white-space:normal; }
.m-caesar-lp .xtab tr td:last-child { padding-right:0; }
@media (max-width:640px) { .m-caesar-lp .xtab td:first-child { width:auto; } }
.m-caesar-fig { margin:0; max-width:100%; }
.m-caesar-fig a { display:block; }
.m-caesar-fig img { display:block; width:100%; height:auto; max-width:100%; border:1px solid var(--rule); background:var(--paper); }
.m-caesar-fig a:hover img, .m-caesar-fig a:focus-visible img { border-color:var(--cinnabar); }
.m-caesar-fig figcaption { font-family:var(--font-text); font-size:13px; color:var(--ash); margin-top:9px; line-height:1.5; letter-spacing:.01em; max-width:70ch; }
.m-caesar-say { display:block; margin:10px 0 0; padding:0 0 0 14px; border-left:2px solid var(--rule); font-size:17px; line-height:1.5; max-width:62ch; }
.plate > a { display:block; }
details.m-caesar-archive { margin-top:40px; border-top:1px solid var(--rule); padding-top:24px; }
details.m-caesar-archive > summary { cursor:pointer; }
details.m-caesar-archive > summary:hover { color:var(--cinnabar); }
.m-caesar-archive .xtab { margin-top:18px; max-width:72ch; }
.m-caesar-archive .xtab td:first-child { font-family:var(--font-text); font-size:13px; letter-spacing:.06em; color:var(--cinnabar); white-space:nowrap; width:1%; }
.m-caesar-archive .xtab tr td:last-child { font-family:inherit; font-size:inherit; letter-spacing:normal; text-transform:none; color:inherit; white-space:normal; padding-right:0; }
@media (max-width:640px) { .m-caesar-archive .xtab td:first-child { width:auto; } }
ul.dec + .lbl, .note + .lbl { margin-top:28px; }
.m-traffic-kicker { font-family:var(--font-text); font-size:15px; letter-spacing:.04em; font-style:italic; color:var(--hematite); margin:0 0 10px; }
@media (min-width:900px) { .m-traffic-wide { grid-column:span 2; } }
.m-traffic-gov { margin-top:6px; font-family:var(--font-text); font-size:17px !important; line-height:1.45 !important; color:var(--hematite) !important; }
.m-traffic-sub { margin-top:40px; }
.m-traffic-h { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:clamp(20px,2.2vw,24px); line-height:1.25; margin:0 0 12px; max-width:30ch; text-wrap:balance; color:var(--hematite); }
.m-traffic-go { font-family:var(--font-text); font-size:13px; color:var(--fresco-teal); text-decoration:none; border-bottom:1px solid var(--rule); white-space:nowrap; }
.m-traffic-go:hover, .m-traffic-go:focus-visible { border-bottom-color:var(--fresco-teal); outline:none; }
.m-traffic-rules { display:grid; grid-template-columns:minmax(0,1fr); gap:22px; margin:22px 0 0; align-items:start; }
@media (min-width:860px) { .m-traffic-rules { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 32px; } .m-traffic-rule:last-child { grid-column:1 / -1; } }
.m-traffic-rule { background:var(--plaster); padding:20px 20px 22px; border-radius:0; min-width:0; display:flex; flex-direction:column; gap:10px; }
.m-traffic-rule h3 { font-family:var(--font-head); font-weight:var(--font-head-weight); font-size:22px; line-height:1.2; margin:0; color:var(--hematite); }
.m-traffic-rule p { margin:0; font-size:17px; line-height:1.5; }
.m-traffic-n { font-family:var(--font-text); font-size:13px; letter-spacing:.1em; font-weight:600; color:var(--cinnabar); }
.m-traffic-rule .quote { margin-top:4px; }
.m-traffic-rule .quote p { font-size:17px; }
.m-traffic-rule .quote small a { color:var(--fresco-teal); text-decoration:none; border-bottom:1px solid var(--rule); }
.m-traffic-slide { display:block; max-width:300px; text-decoration:none; color:inherit; margin-top:4px; }
.m-traffic-slide img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); }
.m-traffic-slide small { display:block; font-family:var(--font-text); font-size:12px; color:var(--ash); margin-top:6px; line-height:1.4; }
.m-traffic-slide small b { color:var(--ink); }
.m-traffic-slide:hover img, .m-traffic-slide:focus-visible img { border-color:var(--cinnabar); }
.m-traffic-key { width:100%; border-collapse:collapse; font-size:15px; line-height:1.45; margin-top:4px; }
.m-traffic-key caption { text-align:left; font-family:var(--font-text); font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:var(--ash); font-weight:600; padding:0 0 6px; }
.m-traffic-key th, .m-traffic-key td { text-align:left; vertical-align:top; padding:8px 12px 8px 0; border-top:1px solid var(--rule); font-weight:400; }
.m-traffic-key tbody th { font-family:var(--font-text); font-size:19px; color:var(--cinnabar); width:2.2em; }
.m-traffic-reg thead th { font-family:var(--font-text); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ash); font-weight:600; border-top:0; padding-top:0; }
.m-traffic-reg tbody th { font-family:var(--font-text); font-size:13px; color:var(--cinnabar); font-weight:600; width:34%; letter-spacing:.02em; }
.m-traffic-review { display:grid; grid-template-columns:minmax(0,1fr); gap:22px 28px; margin:18px 0 0; }
@media (min-width:700px) { .m-traffic-review { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.m-traffic-review .quote p { font-size:17px; }
.m-traffic-lead { grid-column:1 / -1; }
.m-traffic-lead p { font-size:19px !important; }
.m-traffic-tbl { width:100%; border-collapse:collapse; margin:16px 0 0; font-size:16px; line-height:1.5; }
.m-traffic-tbl th, .m-traffic-tbl td { text-align:left; vertical-align:top; padding:14px 18px 14px 0; border-bottom:1px solid var(--rule); font-weight:400; }
.m-traffic-tbl thead th { font-family:var(--font-text); font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:var(--ash); font-weight:600; padding-top:0; padding-bottom:8px; }
.m-traffic-tbl tbody th { font-family:var(--font-text); font-size:18px; color:var(--hematite); width:19%; }
.m-traffic-tbl td:last-child, .m-traffic-tbl th:last-child { padding-right:0; }
.m-traffic-two td { width:50%; }
@media (max-width:700px) {
  .m-traffic-tbl, .m-traffic-tbl tbody, .m-traffic-tbl tr, .m-traffic-tbl th, .m-traffic-tbl td { display:block; width:100% !important; }
  .m-traffic-tbl thead { display:none; }
  .m-traffic-tbl tr { border-bottom:1px solid var(--rule); padding:14px 0; }
  .m-traffic-tbl th, .m-traffic-tbl td { border:0; padding:0 0 6px; }
  .m-traffic-tbl td[data-l]::before { content:attr(data-l); display:block; font-family:var(--font-text); font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--ash); font-weight:600; margin-bottom:2px; }
}
.m-traffic-day { min-width:980px; }
.m-traffic-day td.m-traffic-do { font-size:15px; line-height:1.45; max-width:34ch; }
@media (max-width:700px) {
  .m-traffic-day { min-width:0; }
  .m-traffic-day, .m-traffic-day tbody, .m-traffic-day tr, .m-traffic-day td { display:block; width:100%; max-width:none; }
  .m-traffic-day thead { display:none; }
  .m-traffic-day tr { border-top:1px solid var(--rule); padding:14px 0 8px; }
  .m-traffic-day td { border:0; padding:0 0 8px; }
  .m-traffic-day td.tm { padding-top:0; }
  .m-traffic-day td.m-traffic-do { max-width:none; }
  .m-traffic-day td.who { padding-top:0; white-space:normal; }
  .m-traffic-day td[data-l]::before { content:attr(data-l); display:block; font-family:var(--font-text); font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--ash); font-weight:600; margin-bottom:2px; }
  .m-traffic-day tr.brk { padding:8px 10px; background:var(--plaster); }
  .m-traffic-day tr.brk td { padding:0; background:none; }
  .m-traffic-day tr.brk td:empty { display:none; }
}
.m-traffic-rib { margin:8px 0 28px; }
.m-traffic-bar { display:flex; height:30px; border:1px solid var(--rule); border-radius:0; overflow:hidden; background:var(--bone); }
.m-traffic-bar span { display:block; min-width:0; border-right:2px solid var(--bone); }
.m-traffic-bar span:last-child { border-right:0; }
.m-traffic-s-f { background:var(--cinnabar); }
.m-traffic-s-t { background:var(--fresco-teal); }
.m-traffic-s-o { background:var(--ash); opacity:.55; }
.m-traffic-s-b { background:repeating-linear-gradient(135deg, var(--rule) 0 3px, transparent 3px 7px); }
.m-traffic-ticks { position:relative; height:22px; margin-top:6px; font-family:var(--font-text); font-size:12px; color:var(--ash); }
.m-traffic-ticks span { position:absolute; top:0; transform:translateX(-50%); white-space:nowrap; }
.m-traffic-ticks span:first-child { transform:none; }
.m-traffic-ticks span:last-child { transform:translateX(-100%); }
.m-traffic-leg { display:flex; flex-wrap:wrap; gap:6px 20px; margin:4px 0 0; font-family:var(--font-text); font-size:12.5px; color:var(--ash); }
.m-traffic-leg span { display:inline-flex; align-items:center; gap:7px; }
.m-traffic-leg i { display:inline-block; width:14px; height:14px; border:1px solid var(--rule); border-radius:0; }
.m-traffic-grounds { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 18px; margin:16px 0 0; }
@media (min-width:900px) { .m-traffic-grounds { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.m-traffic-grounds a { text-decoration:none; color:inherit; min-width:0; }
.m-traffic-grounds img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); }
.m-traffic-grounds span { display:block; font-family:var(--font-text); font-size:13px; color:var(--ash); margin-top:8px; line-height:1.45; }
.m-traffic-grounds span b { color:var(--ink); font-weight:600; }
.m-traffic-grounds a:hover img, .m-traffic-grounds a:focus-visible img { border-color:var(--cinnabar); }
.m-traffic-sw { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px 20px; margin:16px 0 18px; }
.m-traffic-sw > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px 8px; min-width:0; }
.m-traffic-chip { display:inline-flex; align-items:center; gap:7px; font-family:var(--font-text); font-size:12.5px; }
.m-traffic-chip i { display:inline-block; width:26px; height:26px; border:1px solid var(--ash); border-radius:0; }
.m-traffic-chip b { font-weight:500; color:var(--ink); }
.m-traffic-to { font-family:var(--font-text); font-size:12px; color:var(--ash); }
.m-traffic-sw small { flex-basis:100%; font-family:var(--font-text); font-size:12px; color:var(--ash); letter-spacing:.05em; text-transform:uppercase; }
.m-traffic-bp { display:grid; grid-template-columns:minmax(0,1fr); gap:26px 28px; margin:18px 0 0; }
@media (min-width:900px) { .m-traffic-bp { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.m-traffic-bp figure { margin:0; min-width:0; }
.m-traffic-bpp { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.m-traffic-bpp a { display:block; min-width:0; text-decoration:none; color:inherit; }
.m-traffic-bpp span { display:block; font-family:var(--font-text); font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--cinnabar); font-weight:600; margin-bottom:6px; }
.m-traffic-bpp img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:var(--paper); }
.m-traffic-bp figcaption { font-family:var(--font-text); font-size:13px; color:var(--ash); margin-top:8px; line-height:1.5; }
.m-traffic-bp figcaption b { display:block; color:var(--ink); font-weight:600; }
.m-traffic-arch { margin:36px 0 0; border-top:1px solid var(--rule); padding:16px 0 0; }
.m-traffic-arch > summary { cursor:pointer; font-family:var(--font-text); font-size:12.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--fresco-teal); font-weight:700; }
.m-traffic-arch > summary:hover { color:var(--hematite); }
.m-traffic-arch[open] > summary { margin-bottom:18px; }
.m-traffic-arch .m-traffic-sub:first-of-type { margin-top:0; }
.quote .also { margin-top:18px; }   
.quote p a { color:inherit; text-decoration:none; border-bottom:1px solid var(--fresco-teal); }   
