/* Registro — jorgestexmex.com
   Palette roles: ground (char), ink (masa), accent (chile), secondary (talavera), straw (labels) */

:root{
  --ground:#191410;        /* ground — the site's field */
  --ground-2:#0F0C09;      /* deeper ground, photo wells */
  --ink:#F3EADA;           /* ink on ground */
  --body-ink:#EDE3D0;
  --paper:#F3EADA;         /* inverted bands: diagrams, plates */
  --paper-ink:#191410;
  --paper-ink-2:#3A322A;
  --accent:#B4271A;        /* chile — numerals, rules, plate chips */
  --secondary:#14607A;     /* talavera — areas on paper */
  --secondary-lt:#4FA8C4;  /* talavera on ground */
  --straw:#B29E7E;         /* labels, sub-entries */
  --quiet:#9C8B74;         /* credits */
  --rule:#33291F;
  --rule-2:#4A3F35;
  --measure:72ch;
  --pad:clamp(18px,4vw,44px);
  --display:"Zilla Slab",Georgia,serif;
  --text:"Familjen Grotesk","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--text);font-size:18px;line-height:1.6;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:var(--secondary-lt);text-decoration:none}
a:hover{color:var(--accent)}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.08;margin:0;letter-spacing:-0.015em}
p{margin:0 0 1.15em}
ul,ol{margin:0 0 1.15em;padding-left:1.1em}
hr{border:0;border-top:1px solid var(--rule);margin:2.4rem 0}
svg{flex:none}
.wrap{max-width:1280px;margin:0 auto;padding-inline:var(--pad)}
.kicker{font-size:12px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin:0}
.label{font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--straw)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--accent);color:var(--ink);padding:10px 14px;z-index:20}

/* ---------- masthead + printed register ---------- */
.masthead{border-bottom:1px solid var(--rule-2)}
.masthead-row{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 0 20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:16px;color:var(--secondary-lt)}
.brand:hover{color:var(--secondary-lt)}
.brand .wordmark{font-family:var(--display);font-weight:700;font-size:clamp(30px,5vw,54px);line-height:0.94;letter-spacing:-0.02em;color:var(--ink);display:block}
.brand .tagline{display:block;font-size:11px;font-weight:600;letter-spacing:0.3em;text-transform:uppercase;color:var(--straw);padding-top:8px}
.masthead-note{font-family:var(--display);font-style:italic;font-size:17px;line-height:1.35;color:var(--ink);opacity:.85;max-width:270px;text-align:right}

.idx-toggle{position:absolute;opacity:0;pointer-events:none}
.idx-label{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--secondary-lt);border:1px solid var(--rule-2);padding:9px 14px;cursor:pointer;margin:0 0 18px}
.idx-label::after{content:"open"}
.idx-toggle:checked ~ .idx-label::after{content:"close"}
.register{border-top:1px solid var(--rule);border-bottom:3px solid var(--accent);padding:18px 0 22px;display:none;
  grid-template-columns:repeat(3,1fr);gap:26px 44px}
.idx-toggle:checked ~ .register{display:grid}
.reg-col{display:flex;flex-direction:column}
.reg-sec{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule)}
.reg-col .reg-sec:last-child{border-bottom:0}
.reg-no{font-family:var(--display);font-size:14px;font-weight:600;color:var(--accent);padding-top:2px}
.reg-sec > div{min-width:0}
.reg-sec a.sec-link{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--ink)}
.reg-sec a.sec-link:hover{color:var(--secondary-lt)}
.reg-entries{display:flex;flex-wrap:wrap;gap:2px 0;padding-top:3px}
.reg-entries a{font-size:14px;color:var(--straw);position:relative;padding-right:14px}
.reg-entries a:not(:last-child)::after{content:"\00B7";position:absolute;right:4px;color:var(--rule-2)}
.reg-entries a:hover{color:var(--secondary-lt)}
.reg-entries span{font-size:14px;color:var(--rule-2)}
.reg-foot{display:flex;align-items:baseline;gap:10px;padding-top:14px}
.reg-foot .count{font-size:14px;color:var(--quiet)}
@media(min-width:900px){
  .idx-label{display:none}
  .register{display:grid}
}

/* running bar on inner pages */
.subbar{border-bottom:3px solid var(--accent)}
.subbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;padding-block:14px;flex-wrap:wrap}
.subbar .where{font-size:13px;color:var(--straw);display:inline-flex;align-items:center;gap:8px}
.subbar .where a{color:var(--straw)}

/* ---------- generic bands ---------- */
.band{border-bottom:1px solid var(--rule)}
.band--paper{background:var(--paper);color:var(--paper-ink);border-bottom:0}
.band--paper a{color:var(--secondary)}
.band--sec{background:var(--secondary);color:var(--ink);border-bottom:0}
.band--quiet .wrap{padding-block:clamp(38px,6vw,64px);text-align:center}
.band-line{font-family:var(--display);font-style:italic;font-size:clamp(21px,2.6vw,30px);line-height:1.4;margin:0 auto;max-width:30em}
.band-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:26px 14px}
.band-head h2{font-size:clamp(24px,3vw,30px)}

/* ---------- lead ---------- */
.lead-band{display:grid;grid-template-columns:minmax(0,1fr);background:#2A1411;border-top:1px solid var(--rule-2)}
.lead-capstrip{background:#2A1411;border-bottom:1px solid var(--rule)}
@media(min-width:1000px){.lead-band{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch}}
.lead-text{padding:clamp(28px,4vw,52px) var(--pad) clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:18px;justify-content:center}
.lead-text h1{font-size:clamp(34px,5vw,62px);line-height:1.02;text-wrap:pretty}
.lead-text .deck{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--body-ink);max-width:46ch}
.lead-media{position:relative;background:var(--ground-2);min-height:340px}
.lead-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.plate-chip{position:absolute;left:0;bottom:0;background:var(--accent);color:var(--ink);
  font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.08em;padding:7px 13px}
.plate-chip--sec{background:var(--secondary)}
.lead-caption{display:grid;gap:6px;padding:12px 0 20px}
.lead-caption .cap{font-family:var(--display);font-style:italic;font-size:17px;line-height:1.45;color:var(--body-ink)}

/* ---------- figures ---------- */
figure{margin:0}
.article-figure{margin:34px 0}
.article-figure img{width:100%;height:auto}
.article-figure figcaption{display:grid;gap:6px;padding-top:12px}
.fig-cap{font-family:var(--display);font-style:italic;font-size:18px;line-height:1.45;color:var(--body-ink)}
.fig-credit{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet)}
/* treatment 1 — matted */
.fig--mat{border:1px solid var(--rule-2);padding:10px;position:relative}
.fig--mat figcaption{padding:12px 4px 2px}
/* treatment 2 — full-bleed with plate chip */
.fig--bleed{position:relative;margin:44px calc(50% - 50vw);width:100vw;max-width:100vw}
.fig--bleed .imgwrap{position:relative;background:var(--ground-2)}
.fig--bleed img{width:100%;max-height:70vh;object-fit:cover}
.fig--bleed figcaption{max-width:1280px;margin:0 auto;padding:12px var(--pad) 0;
  display:grid;gap:6px 32px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.fig--bleed figcaption{grid-template-columns:minmax(0,1fr) 240px;align-items:start}
  .fig--bleed .fig-credit{text-align:right}}
/* treatment 3 — offset: caption beside on the register grid */
.fig--offset{display:grid;gap:18px}
@media(min-width:900px){
  .fig--offset{grid-template-columns:minmax(0,1fr) 260px;align-items:start;
    margin-inline:0;width:auto}
  .fig--offset figcaption{padding-top:0;border-top:2px solid var(--accent);padding-block:10px}
}

/* ---------- article ---------- */
.article-head{padding-block:clamp(30px,4vw,54px) 6px}
.article-head .kicker-row{display:flex;align-items:center;gap:10px;color:var(--accent);margin-bottom:16px}
.article-head h1{font-size:clamp(32px,4.6vw,58px);line-height:1.03;max-width:19ch;text-wrap:pretty}
.article-head .deck{font-family:var(--display);font-style:italic;font-size:clamp(18px,2vw,23px);
  line-height:1.45;color:var(--body-ink);max-width:44ch;margin:18px 0 0}
.article-folio{font-family:var(--display);font-size:clamp(28px,4vw,40px);font-weight:700;color:var(--accent);line-height:1}
.article-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
@media(min-width:900px){.article-grid{grid-template-columns:112px minmax(0,1fr)}}
.prose{max-width:none;font-size:19px;line-height:1.72;color:var(--body-ink);padding-bottom:10px}
.prose > p,.prose > h2,.prose > ul:not(.related-links),.prose > ol{max-width:var(--measure)}
.prose h2{font-size:clamp(24px,2.6vw,31px);margin:2.1em 0 .6em;color:var(--ink)}
.prose h2:first-child{margin-top:.6em}
.prose strong{color:var(--ink)}
.prose a{border-bottom:1px solid rgba(79,168,196,.4)}
.prose > .article-figure,.prose > .notes-panel{max-width:none}

/* notes-for-design material — full-width interruptions, never a rail */
.notes-panel{margin:38px 0;background:var(--paper);color:var(--paper-ink)}
.notes-panel .inner{padding:clamp(24px,3vw,36px) clamp(20px,3vw,34px)}
.notes-panel h3{font-size:clamp(21px,2.4vw,28px);margin:0 0 4px}
.notes-panel .label{color:var(--secondary)}
.notes-panel--dark{background:var(--ground);color:var(--ink);border-block:1px solid var(--rule)}
.notes-panel:not(.notes-panel--dark) strong,.band--paper strong,.callout strong{color:var(--paper-ink)}
.notes-panel:not(.notes-panel--dark) a,.callout a{color:var(--secondary)}
.notes-panel:not(.notes-panel--dark) a:hover,.callout a:hover{color:var(--accent)}
.notes-panel--dark .label{color:var(--secondary-lt)}

.timeline{list-style:none;margin:18px 0 0;padding:0;border-top:2px solid var(--accent)}
.timeline li{display:grid;grid-template-columns:minmax(0,1fr);gap:2px 20px;padding:14px 0;border-bottom:1px solid rgba(25,20,16,.16)}
@media(min-width:760px){.timeline li{grid-template-columns:230px minmax(0,1fr)}}
.t-when{font-family:var(--display);font-weight:600;font-size:17px;color:var(--accent)}
.t-what{font-size:17px;line-height:1.5}
.notes-panel--dark .timeline li{border-bottom-color:var(--rule)}

.note-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:0;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));border-top:2px solid var(--accent)}
.note-list li{padding:14px 26px 14px 0;border-bottom:1px solid rgba(25,20,16,.16);font-size:17px;line-height:1.5;display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px}
.note-list li .n{font-family:var(--display);font-weight:600;color:var(--accent)}
.notes-panel--dark .note-list li{border-bottom-color:var(--rule)}

/* ---------- components (styleguide set) ---------- */
.lead{font-family:var(--display);font-style:italic;font-size:22px;line-height:1.45;color:var(--ink)}
.pullquote{margin:34px 0;padding:4px 0 4px 22px;border-left:4px solid var(--secondary-lt)}
.pullquote p{font-family:var(--display);font-size:clamp(22px,2.4vw,28px);font-weight:600;line-height:1.3;margin:0;color:var(--ink)}
.blockquote{margin:30px 0;padding:18px 22px;background:rgba(243,234,218,.05);border-left:3px solid var(--straw)}
.blockquote p{font-family:var(--display);font-size:20px;font-style:italic;margin:0 0 8px}
.blockquote cite{font-style:normal;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--straw)}
.callout{margin:30px 0;padding:22px 24px;background:var(--paper);color:var(--paper-ink)}
.callout p{margin:0;font-size:18px;line-height:1.55}
.note{font-size:16px;color:var(--straw);border-top:1px solid var(--rule);padding-top:10px}

.versus,.datatable{width:100%;border-collapse:collapse;margin:26px 0;font-size:16px}
.versus th,.versus td,.datatable th,.datatable td{text-align:left;padding:13px 16px 13px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.versus th,.datatable th{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--straw);border-bottom:2px solid var(--accent)}
.datatable td:first-child,.versus td:first-child{font-family:var(--display);font-weight:600;color:var(--ink)}
.band--paper .datatable td:first-child,.notes-panel .datatable td:first-child{color:var(--paper-ink)}
.notes-panel .datatable th{color:var(--secondary)}
.notes-panel .datatable td,.notes-panel .datatable th{border-bottom-color:rgba(25,20,16,.16)}
.table-scroll{overflow-x:auto}

.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;margin:26px 0;border-top:2px solid var(--accent)}
.statblock{padding:18px 24px 18px 0;border-bottom:1px solid var(--rule)}
.stat-num{display:block;font-family:var(--display);font-size:44px;font-weight:700;line-height:1;color:var(--ink)}
.stat-label{display:block;font-size:15px;line-height:1.4;color:var(--straw);padding-top:8px}

.chart{margin:30px 0}
.chart svg{width:100%;height:auto;overflow:visible}
.chart figcaption{font-size:15px;color:var(--straw);padding-top:10px}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:30px 0}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:16/10;object-fit:cover}
.gallery figcaption{font-size:14px;color:var(--straw);padding-top:8px}

.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:26px 0}
.profile-card{border:1px solid var(--rule-2);padding:18px;display:flex;flex-direction:column;gap:8px}
.profile-card .p-photo{width:100%;aspect-ratio:3/2;object-fit:cover}
.profile-card h3{font-size:22px}
.profile-card .p-role{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0}
.profile-card p{font-size:16px;margin:0}
.profile-card .p-links{margin-top:auto;padding-top:8px}

.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:26px 0}
.org-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--rule-2);padding:12px 14px;color:var(--ink)}
.org-card:hover{border-color:var(--secondary-lt);color:var(--ink)}
.org-logo{width:52px;height:52px;object-fit:contain;background:var(--ground-2)}
.org-name{font-family:var(--display);font-weight:600;font-size:17px}
.org-host{font-size:13px;color:var(--straw)}
.entity-ref{border-bottom:1px solid rgba(79,168,196,.45)}

.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:2px solid var(--accent);margin:10px 0 0}
.further-grid a{display:flex;flex-direction:column;gap:6px;padding:16px 26px 16px 0;border-bottom:1px solid var(--rule);color:var(--ink);font-family:var(--display);font-size:20px;font-weight:600;line-height:1.25}
.further-grid a span{font-family:var(--text);font-size:15px;font-weight:400;line-height:1.45;color:var(--straw)}
.further-grid a:hover{color:var(--secondary-lt)}
.related-links{list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:2px solid var(--accent)}
.related-links li{border-bottom:1px solid var(--rule)}
.related-links a{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:15px 0;color:var(--ink);font-family:var(--display);font-size:20px;font-weight:600}
.related-links a span{font-family:var(--text);font-size:15px;font-weight:400;color:var(--straw)}
.related-links a:hover{color:var(--secondary-lt)}

.cat-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--accent)}
.cat-list li{border-bottom:1px solid var(--rule)}
.cat-list > li > a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:start;padding:20px 0;color:var(--ink)}
.cat-list .c-no{font-family:var(--display);font-weight:600;font-size:16px;color:var(--accent);padding-top:5px}
.cat-list .c-title{font-family:var(--display);font-size:clamp(22px,2.4vw,28px);font-weight:600;line-height:1.2;display:block}
.cat-list .c-brief{font-size:16px;line-height:1.5;color:var(--straw);display:block;padding-top:6px;max-width:70ch}
.cat-list > li > a:hover .c-title{color:var(--secondary-lt)}

/* homepage pieces */
.seconds{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;padding-block:8px 44px}
.second{display:flex;flex-direction:column;gap:12px}
.second .shot{position:relative;background:var(--ground-2)}
.second .shot img{width:100%;aspect-ratio:16/10;object-fit:cover}
.second h3{font-size:clamp(22px,2.2vw,27px);line-height:1.18}
.second h3 a{color:var(--ink)}
.second h3 a:hover{color:var(--secondary-lt)}
.second p{font-size:16px;line-height:1.55;color:var(--straw);margin:0}
.second .label{color:var(--accent)}

.sections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0;border-top:2px solid var(--accent);margin-bottom:46px}
.section-block{padding:22px 30px 22px 0;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:8px}
.section-block .top{display:flex;align-items:center;gap:12px;color:var(--secondary-lt)}
.section-block h3{font-size:25px}
.section-block h3 a{color:var(--ink)}
.section-block h3 a:hover{color:var(--secondary-lt)}
.section-block p{font-size:16px;color:var(--straw);margin:0}
.section-block .entries{font-size:15px;color:var(--quiet)}

.dish-table{width:100%;border-collapse:collapse;font-size:16px;margin-bottom:40px}
.dish-table th{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--straw);text-align:left;padding:14px 16px 12px 0;border-top:3px solid var(--accent)}
.dish-table td{padding:15px 16px 15px 0;border-top:1px solid var(--rule);vertical-align:top;color:var(--body-ink)}
.dish-table td.no{font-family:var(--display);font-weight:600;color:var(--accent);width:60px}
.dish-table td.entry{font-family:var(--display);font-size:19px;font-weight:600;color:var(--ink);width:24%}
.dish-table td.entry a{color:var(--ink)}
.dish-table td.entry a:hover{color:var(--secondary-lt)}
.dish-table td.sec{width:20%;color:var(--straw)}

/* ---------- supporters ---------- */
.supporters{border-block:1px solid var(--rule)}
.supporters .wrap{padding-block:clamp(30px,4vw,50px)}
.sup-group{margin-top:26px}
.sup-group > .label{display:block;padding-bottom:12px;border-bottom:1px solid var(--rule);margin-bottom:18px;color:var(--secondary-lt)}
.sup-grid{display:grid;grid-template-columns:repeat(auto-fill,380px);justify-content:start;gap:16px}
.sponsor{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-content:start;
  width:380px;min-height:150px;padding:16px;border:1px solid var(--rule-2);background:var(--ground-2);color:var(--ink)}
.sponsor:hover{border-color:var(--secondary-lt);color:var(--ink)}
.sponsor img{width:100%;height:48px;object-fit:contain;object-position:left center}
.sponsor .sponsor-name{font-family:var(--display);font-size:17px;font-weight:600;display:block}
.sponsor .sponsor-blurb{display:block;font-size:14px;line-height:1.45;color:var(--straw);padding-top:4px}
.sponsor.feat{border-color:var(--accent)}
@media(max-width:820px){
  .sup-grid{grid-template-columns:minmax(0,1fr)}
  .sponsor{width:100%;grid-template-columns:minmax(0,1fr);min-height:0}
  .sponsor img{max-height:38px}
}

/* ---------- footer ---------- */
.site-foot{border-top:3px solid var(--accent);background:#0B0907;margin-top:0}
.site-foot .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:14px 34px;flex-wrap:wrap;padding-block:28px 32px}
.site-foot .foot-brand{font-family:var(--display);font-size:20px;font-weight:700;color:var(--ink)}
.site-foot .foot-line{font-size:14px;color:var(--quiet);margin:0}
.site-foot nav{display:flex;gap:22px;flex-wrap:wrap}
.site-foot nav a{font-size:14px;letter-spacing:.02em;color:var(--straw)}
.site-foot nav a:hover{color:var(--secondary-lt)}

@media(min-width:900px){
  .diagram-band{grid-template-columns:minmax(0,1fr) minmax(0,520px)!important}
}

/* utility */
.stack-lg{display:grid;gap:clamp(28px,4vw,48px)}
.pad-block{padding-block:clamp(30px,4vw,52px)}
.center-measure{max-width:var(--measure);margin-inline:auto}
@media print{body{background:#fff;color:#000}}


/* ================= ENTRY (article) — second pass ================= */
.entry{--acc:var(--accent)}
.entry.acc-sea{--acc:var(--secondary-lt)}

.entry-hero{position:relative;display:flex;align-items:flex-end;background:var(--ground-2);
  min-height:clamp(420px,62vh,660px);border-bottom:1px solid var(--rule)}
.entry-hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.entry-hero .scrim{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,9,7,.97) 0%,rgba(11,9,7,.93) 32%,rgba(11,9,7,.7) 58%,rgba(11,9,7,.34) 100%)}
.entry-hero .wrap{position:relative;width:100%;padding-block:clamp(28px,5vw,58px)}
.entry-hero .kicker-row{display:flex;align-items:center;gap:10px;color:var(--acc);margin-bottom:16px}
.entry-hero .kicker{color:var(--ink);background:var(--acc);padding:6px 11px;letter-spacing:.16em}
.entry-hero h1{font-size:clamp(36px,6.2vw,74px);line-height:1;max-width:15ch;text-wrap:pretty;
  text-shadow:0 2px 30px rgba(11,9,7,.55)}
.entry-hero .deck{font-family:var(--display);font-style:italic;font-size:clamp(18px,2vw,24px);
  line-height:1.4;color:var(--body-ink);max-width:46ch;margin:18px 0 0}
.entry-hero .plate-chip{background:var(--acc)}
.entry-credit-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;
  padding-block:12px 18px;border-bottom:1px solid var(--rule)}
.entry-credit-row .fig-cap{max-width:78ch}

.entry .article-folio{color:var(--acc)}
.entry .kicker{color:var(--acc)}
.prose--open > p:first-of-type::first-letter{font-family:var(--display);font-weight:700;float:left;
  font-size:4.2em;line-height:.78;padding:.04em .1em 0 0;color:var(--acc)}
.prose h2{position:relative;padding-top:24px}
.prose h2::before{content:"";position:absolute;top:0;left:0;width:66px;height:2px;background:var(--acc)}
.prose h2:first-child{margin-top:.2em}

.bleed-figure{position:relative;background:var(--ground-2);margin-block:clamp(24px,4vw,46px) 0;
  border-block:1px solid var(--rule)}
.bleed-figure img{width:100%;height:clamp(280px,52vh,540px);object-fit:cover;display:block}
.bleed-figure .plate-chip{background:var(--acc)}
.bleed-cap{display:grid;gap:6px 32px;padding-block:14px 22px;border-bottom:1px solid var(--rule)}
@media(min-width:900px){.bleed-cap{grid-template-columns:minmax(0,1fr) 240px;align-items:start}
  .bleed-cap .fig-credit{text-align:right}}

.notes-panel{position:relative}
.notes-panel .inner::before,.notes-panel .inner::after{content:"";position:absolute;width:22px;height:22px;
  border-color:var(--acc);border-style:solid}
.notes-panel .inner::before{top:10px;left:10px;border-width:2px 0 0 2px}
.notes-panel .inner::after{right:10px;bottom:10px;border-width:0 2px 2px 0}
.notes-panel:not(.notes-panel--dark) .label{color:var(--secondary)}
.notes-panel .timeline,.notes-panel .note-list{border-top-color:var(--acc)}

.end-mark{display:flex;align-items:center;gap:14px;color:var(--acc);margin:34px 0 6px}
.end-mark span{flex:1;height:1px;background:var(--rule)}

.entry-pager{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:2px solid var(--acc);margin-top:44px}
@media(min-width:760px){.entry-pager{grid-template-columns:1fr 1fr}}
.entry-pager a{display:flex;flex-direction:column;gap:6px;padding:20px 26px 22px 0;border-bottom:1px solid var(--rule);color:var(--ink)}
.entry-pager a:last-child{border-left:0}
@media(min-width:760px){.entry-pager a + a{padding-left:26px;border-left:1px solid var(--rule);align-items:flex-end;text-align:right}}
.entry-pager .dir{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--straw)}
.entry-pager .ttl{font-family:var(--display);font-size:23px;font-weight:600;line-height:1.2}
.entry-pager a:hover .ttl{color:var(--acc)}

.entry .related-links,.entry .further-grid{border-top-color:var(--acc)}
.entry .t-when,.entry .note-list li .n{color:var(--acc)}
.entry .prose a{border-bottom-color:color-mix(in oklch,var(--acc) 45%,transparent)}
.entry .notes-panel:not(.notes-panel--dark) .t-when,.entry .notes-panel:not(.notes-panel--dark) .note-list li .n{color:var(--acc)}
.entry.acc-sea .notes-panel:not(.notes-panel--dark) .t-when,.entry.acc-sea .notes-panel:not(.notes-panel--dark) .note-list li .n{color:var(--secondary)}
.entry.acc-sea .notes-panel:not(.notes-panel--dark) .inner::before,.entry.acc-sea .notes-panel:not(.notes-panel--dark) .inner::after{border-color:var(--secondary)}
.entry.acc-sea .notes-panel:not(.notes-panel--dark) .timeline,.entry.acc-sea .notes-panel:not(.notes-panel--dark) .note-list{border-top-color:var(--secondary)}

.entry .entry-hero .kicker{color:var(--ink);background:var(--acc);padding:6px 11px;letter-spacing:.16em}

.article-figure img,.bleed-figure img,.second .shot img,.lead-media img{background:var(--ground-2)}
.fig--mat img,.fig--offset img,.article-figure img{aspect-ratio:16/10;object-fit:cover;height:auto}
.bleed-figure img{aspect-ratio:auto}

@media(max-width:899px){
  .register{grid-template-columns:minmax(0,1fr);gap:12px 0;max-height:66vh;overflow-y:auto}
  .reg-col{min-width:0}
  .reg-col .reg-sec:last-child{border-bottom:1px solid var(--rule)}
  .masthead-note{display:none}
}
.reg-entries a{max-width:100%}

@media(max-width:620px){
  .dish-table th:nth-child(3),.dish-table td.sec{display:none}
  .dish-table td.entry{width:auto}
  .dish-table td,.dish-table th{padding-right:10px}
}

/* sp-mark-align: marks sit CENTRED in their box. Placement only — Design's size,
   padding, panel and object-fit are untouched. */
.sponsor img,.sponsor-box img,.sp-logo img{object-position:center!important;margin-left:auto!important;margin-right:auto!important;display:block}
.sponsor .sp-logo,.sponsor-box{display:flex;align-items:center;justify-content:center}

/* sp-tile-uniform: a slot never grows to fill its row — every tile the same width in
   every row, whatever the count. Only flex-grow is touched. */
.sponsor{flex-grow:0!important}
.sponsor.lead-line,.sponsor.feat.lead-line{flex-grow:1!important}

/* sp-blurb-unhide: every supporter slot shows its text — no half-texted grids */
.sponsor-blurb:not(:empty){display:block!important;line-height:1.5}

/* sp-blurb-link: money-link anchors in blurbs must inherit the blurb colour (readable on dark OR light tiles) */
.sponsor-blurb a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   1930px at 390, 18% of the whole page. Two columns bring it to
   1313px (32% shorter). Checked before writing: no new overflow, smallest mark still
   133px wide, longest blurb 3 lines, tile heights 123-178px.
   A block that fails any of those is left in one column — two narrow columns can make a block
   TALLER once the copy rewraps, which is the case the operator warned about.
   An odd tile count means the lead tile spans the whole row, so the block does not end on an empty cell. Only the tier(s) that were one-per-row are touched (.sup-grid), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .sup-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px!important}
    .sup-grid > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sup-grid > * *{min-width:0!important;max-width:100%}
    .sup-grid img,.sup-grid svg{max-width:100%;height:auto}

}

/* op-odd-tier-lead: .sup-grid (3 tiles), .sup-grid (3 tiles), .sup-grid (3 tiles), .sup-grid (3 tiles) lay out two per row with an ODD tile count, so the
   block ended on a lone tile beside an empty cell. The lead tile takes the whole row instead —
   operator: "the 1st item in such rows to be 100% width, then split" — so the grid reads as
   complete. These tiers were already two-per-row, which is why the column pass never wrote the
   rule for them. Checked before writing: no new horizontal overflow, block not more than 15%
   taller. Phone widths only; desktop keeps Design's layout. */
@media (max-width:640px){
  .sup-grid:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
  .sup-grid:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
  .sup-grid:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
  .sup-grid:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}

/* op-article-width: the article column was capped at 775px (98 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through Design's own measure --measure (declared in .prose > p, .prose > h2, .prose > ul:not(.related-links), .prose > ol) to ~102 characters per line in this build's own prose font, never past the edge Design's own content already reaches beside it. Above 1600 the column and the prose type grow together (up to 1.2x). Nothing below 1280 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1280px){
  article.entry.acc-sea div.prose{--measure:min(74.861ch, 100%)!important}
}
@media (min-width:1600px){
  article.entry.acc-sea div.prose > :is(p:not([class])), article.entry.acc-sea div.prose > :is(ul.related-links) > li{font-size:clamp(19px,1.3194vw,22.8px)!important}
}
/* op-article-width:end */
@media (min-width:984px) and (max-width:1279px){.sup-grid.sup-grid:has(> [data-partner]){grid-template-columns:repeat(auto-fill,minmax(min(380px,calc(50% - 8px)),1fr))!important;justify-content:stretch!important}.sup-grid.sup-grid > [data-partner]{width:auto!important;max-width:none!important}}
