/* lirecreer.org — "Register" direction
   Palette (3 named jobs + 2 supports):
   --paper  ground      #EFEAE0
   --ink    ink         #191512
   --ultra  accent      #1F4FA8   (saturated; large grounds, register rules)
   --madder secondary   #8A1E4B   (saturated; field ink, signature marks, flags)
   --mat    mat         #D8D0C0   (plate mats, quiet panels)
*/
:root{
  --paper:#EFEAE0;
  --ink:#191512;
  --ultra:#1F4FA8;
  --madder:#8A1E4B;
  --mat:#D8D0C0;

  --paper-2:#E4DDD0;
  --mat-2:#C9C0AE;
  --rule:#B9AF9B;
  --rule-soft:#CFC5B1;
  --ink-soft:#5F5648;
  --ink-quiet:#7A6F60;
  --ultra-pale:#C3D2EF;
  --ultra-mid:#6E8DD1;
  --madder-pale:#E7BFCE;

  --serif:Faustina,Georgia,"Times New Roman",serif;
  --field:"Anonymous Pro",ui-monospace,"Courier New",monospace;

  --measure:68ch;
  --gut:clamp(18px,4vw,48px);
  --maxw:1300px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--serif);font-size:18px;line-height:1.6;
  text-wrap:pretty;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--ultra);text-decoration:none}
a:hover{color:var(--madder);text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0}
::selection{background:var(--madder);color:var(--paper)}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.field{font-family:var(--field);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.icon{width:26px;height:26px;flex:0 0 auto}
.icon--sm{width:20px;height:20px}
.icon--lg{width:40px;height:40px}

/* ---------------- header: the printed index ---------------- */
.site-head{background:var(--ultra);color:var(--paper)}
.site-head a{color:var(--paper)}
.site-head a:hover{color:#fff}
.masthead{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(16px,3vw,56px);
  padding:clamp(20px,3vw,40px) 0 clamp(16px,2vw,26px);border-bottom:1px solid var(--ultra-mid)}
.mast-name{font-family:var(--serif);font-weight:700;letter-spacing:-.035em;line-height:.9;
  font-size:clamp(38px,6.4vw,86px)}
.mast-line{font-family:var(--field);font-size:clamp(11px,1.1vw,13px);letter-spacing:.2em;
  text-transform:uppercase;color:var(--ultra-pale);margin-top:14px;max-width:62ch}
.mast-key{color:#BBCBEC;flex:0 0 auto}
.mast-key svg{display:block;width:clamp(120px,14vw,188px);height:auto}
.site-head--compact .mast-name{font-size:clamp(28px,3.4vw,40px)}
.site-head--compact .masthead{padding:16px 0 12px;align-items:center}
.site-head--compact .mast-line{margin-top:8px}

.site-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:clamp(16px,2vw,28px) clamp(20px,2.4vw,44px);padding:clamp(18px,2.4vw,28px) 0}
.idx-sec{min-width:0}
.idx-head{display:flex;align-items:center;gap:9px;margin-bottom:7px}
.idx-head a{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:-.01em;color:#fff}
.idx-head .num{font-family:var(--field);font-size:11.5px;letter-spacing:.12em;color:var(--ultra-pale)}
.idx-list{list-style:none;margin:0;padding:0;font-family:var(--field);font-size:12.5px;line-height:1.85}
.idx-list a{color:var(--ultra-pale);display:block}
.idx-list a[aria-current="page"]{color:#fff;text-decoration:underline;text-underline-offset:3px}
.util{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:flex-end;
  border-top:1px solid var(--ultra-mid);padding:10px 0 14px;
  font-family:var(--field);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.util a{color:var(--ultra-pale)}

/* ---------------- bands ---------------- */
.band{padding-block:clamp(34px,5vw,64px)}
.band--tight{padding-block:clamp(24px,3vw,40px)}
.band--mat{background:var(--mat)}
.band--ultra{background:var(--ultra);color:var(--paper)}
.band--ultra a{color:#fff}
.band--madder{background:var(--madder);color:#F7E9EE}
.band--madder a{color:#fff}
.band--madder .band-title,.band--ultra .band-title{color:inherit}
.band-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:10px 24px;border-bottom:2px solid currentColor;padding-bottom:12px;margin-bottom:clamp(20px,2.6vw,32px)}
.band-title{font-size:clamp(26px,3.2vw,36px)}
.band-kicker{font-family:var(--field);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--madder)}
.band--ultra .band-kicker{color:var(--ultra-pale)}
.band--madder .band-kicker{color:var(--madder-pale)}
.rule-fold{border:0;border-top:1.5px dashed var(--rule);margin:clamp(26px,4vw,44px) 0}

/* ---------------- lead entry ---------------- */
.lead-entry{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);
  gap:clamp(22px,3vw,52px);align-items:start}
.lead-kicker{display:flex;align-items:center;gap:10px;color:var(--madder);
  font-family:var(--field);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.lead-title{font-size:clamp(34px,5vw,62px);line-height:.99;letter-spacing:-.035em}
.lead-title a{color:var(--ink)}
.lead-dek{font-family:var(--serif);font-weight:300;font-size:clamp(19px,2.1vw,25px);
  line-height:1.38;margin:16px 0 0;max-width:48ch}

/* ---------------- figure system (one drawing family) ---------------- */
figure{margin:0}
figcaption .cap{font-family:var(--serif);font-size:16.5px;line-height:1.45;display:block;max-width:64ch}
figcaption .credit{font-family:var(--field);font-size:11.5px;line-height:1.5;color:var(--ink-quiet);
  display:block;margin-top:7px}
figcaption .credit b{font-weight:400;color:var(--madder);letter-spacing:.14em;text-transform:uppercase;
  display:block;font-size:10.5px;margin-bottom:2px}

/* 1 · plate: mat + overhanging plate chip, caption on a rule */
.fig--plate{background:var(--mat);padding:clamp(12px,1.5vw,22px)}
.fig--plate .frame{position:relative;background:var(--mat-2)}
.fig--plate .chip{position:absolute;left:calc(-1 * clamp(12px,1.5vw,22px) + -6px);top:16px;
  background:var(--madder);color:#F7E9EE;font-family:var(--field);font-size:11px;letter-spacing:.16em;
  padding:5px 10px}
.fig--plate figcaption{padding-top:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px);
  gap:10px 28px;align-items:start}

/* 2 · frame: inset hairline, caption hangs under a rule */
.fig--frame img{border:1px solid var(--rule)}
.fig--frame figcaption{border-top:1px solid var(--rule);margin-top:12px;padding-top:10px}

/* 3 · bleed: breaks the measure, caption offset right */
.fig--bleed img{width:100%}
.fig--bleed figcaption{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);
  gap:10px 40px;padding-top:12px;border-top:2px solid var(--ink)}

/* 4 · inset: sits in the column, prose runs beside it */
.fig--inset{float:right;width:min(46%,340px);margin:6px 0 18px 28px;background:var(--mat);padding:12px}
.fig--inset img{border:1px solid var(--rule)}
.fig--inset figcaption{padding-top:10px}
.fig--inset figcaption .cap{font-size:15.5px}

/* ---------------- the register (rows) ---------------- */
.reg{border-top:2px solid var(--ink)}
.reg-row{display:grid;grid-template-columns:64px minmax(140px,180px) minmax(0,1fr) minmax(160px,230px);
  gap:clamp(14px,2vw,34px);padding:22px 0;border-bottom:1px solid var(--rule);align-items:start}
.reg-row:hover{background:var(--paper-2)}
.sig{color:var(--madder)}
.reg-fields{font-family:var(--field);font-size:12px;line-height:1.8;color:var(--ink-soft)}
.reg-fields b{display:block;color:var(--madder);letter-spacing:.14em;text-transform:uppercase;
  font-size:11px;font-weight:400}
.reg-title{font-size:clamp(21px,2.3vw,28px);line-height:1.16;margin-bottom:8px}
.reg-title a{color:var(--ink)}
.reg-dek{margin:0;font-size:16.5px;color:#3A342C;max-width:64ch}
.reg-thumb img{border:1px solid var(--rule);aspect-ratio:16/11;object-fit:cover;width:100%}
.reg-thumb figcaption{font-family:var(--field);font-size:11px;color:var(--ink-quiet);padding-top:6px}
.reg-more{font-family:var(--field);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding-top:18px}

/* ---------------- section index ---------------- */
.sec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px clamp(24px,3vw,48px)}
.sec-card{border-top:1px solid var(--ultra-mid);padding:16px 0 18px;display:flex;gap:14px;align-items:flex-start}
.sec-card .icon{color:var(--ultra-pale)}
.sec-card h3{font-size:23px}
.sec-card p{margin:6px 0 0;font-size:15.5px;color:var(--ultra-pale)}
.sec-card .count{font-family:var(--field);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ultra-pale);display:block;margin-top:8px}

/* ---------------- key diagram band ---------------- */
.key-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);
  gap:clamp(24px,4vw,56px);align-items:center}
.key-band .diagram{color:var(--ultra)}
.key-band p{max-width:54ch;margin:14px 0 0}

/* ---------------- supporters ---------------- */
.supporters{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  background:var(--paper-2);padding-block:clamp(26px,3.4vw,44px)}
.sponsor-group{margin-top:26px}
.sponsor-group h3{font-family:var(--field);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--madder);font-weight:400;margin-bottom:14px}
.sponsor-block{display:flex;flex-wrap:wrap;gap:18px}
.sponsor-group--offset .sponsor-block{padding-left:clamp(0px,6vw,160px)}
.sponsor{flex:0 0 300px;width:300px;background:var(--paper);border:1px solid var(--rule);
  padding:14px;display:flex;flex-direction:column;gap:10px;color:var(--ink);text-decoration:none}
.sponsor:hover{border-color:var(--madder);text-decoration:none}
.sponsor img{background:var(--ink);width:100%;aspect-ratio:auto;height:56px;
  object-fit:contain;padding:8px 12px}
.sponsor-name{font-family:var(--serif);font-size:18px;line-height:1.2;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.sponsor-blurb{font-family:var(--field);font-size:12px;line-height:1.55;color:var(--ink-soft);
  min-width:200px;margin-top:auto}

/* ---------------- entry (article) ---------------- */
.entry-head{padding-block:clamp(26px,3.4vw,44px) 0}
.entry-top{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(240px,300px);
  gap:clamp(18px,2.6vw,44px);align-items:start}
.entry-kicker{display:flex;align-items:center;gap:10px;color:var(--madder);
  font-family:var(--field);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.entry-title{font-size:clamp(32px,4.6vw,60px);line-height:1;letter-spacing:-.035em;max-width:26ch}
.entry-dek{font-family:var(--serif);font-weight:300;font-size:clamp(18px,2vw,24px);line-height:1.4;
  margin:16px 0 0;max-width:48ch}
.fields{border-top:2px solid var(--ink);padding-top:14px;margin:0;
  font-family:var(--field);font-size:12px;line-height:1.85;color:var(--ink-soft);
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 16px}
.fields dt{color:var(--madder);letter-spacing:.1em;text-transform:uppercase}
.fields dd{margin:0}

.entry-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--measure)) minmax(0,1fr);
  gap:0 clamp(20px,3vw,44px);padding-block:clamp(26px,3.4vw,42px) 0}
.entry-body>*{grid-column:2;min-width:0}
.entry-body>.full{grid-column:1/-1}
.entry-body>.wide{grid-column:2/-1}
.entry-body p{margin:0 0 20px;font-size:19px;line-height:1.62}
.entry-body h2{font-size:clamp(24px,2.8vw,32px);margin:34px 0 14px}
.entry-body h3{font-size:22px;margin:26px 0 10px}
.entry-body>figure{margin:28px 0}
.entry-body ul,.entry-body ol{margin:0 0 22px;padding-left:22px}
.entry-body li{margin-bottom:8px}
.lead{font-family:var(--serif);font-weight:300;font-size:22px;line-height:1.42}

.pullquote{margin:30px 0;padding:0;border-top:2px solid var(--madder);border-bottom:2px solid var(--madder)}
.pullquote p{font-family:var(--serif);font-size:clamp(22px,2.6vw,29px);line-height:1.28;margin:16px 0}
.blockquote{margin:28px 0;padding:0 0 0 24px;border-left:3px solid var(--ultra)}
.blockquote p{font-size:19px;margin:0 0 8px}
.blockquote cite{font-family:var(--field);font-size:12px;font-style:normal;color:var(--ink-quiet)}
.callout{background:var(--ultra);color:var(--paper);padding:22px 26px;margin:30px 0}
.callout p{margin:0;font-size:19px;line-height:1.45}
.note{font-family:var(--field);font-size:14px;line-height:1.6;color:var(--ink-soft);
  border-left:2px solid var(--rule);padding-left:16px;margin:24px 0}

/* notes-for-design bands: full-width interruptions, never a rail */
.apparatus{background:var(--mat);padding-block:clamp(22px,3vw,38px);margin:clamp(30px,4vw,46px) 0}
.apparatus--ultra{background:var(--ultra);color:var(--paper)}
.apparatus--ultra .app-kicker{color:var(--ultra-pale)}
.app-kicker{font-family:var(--field);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--madder);margin-bottom:6px}
.app-title{font-size:clamp(22px,2.4vw,28px);margin-bottom:18px}
.keyterms{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:0 clamp(24px,3vw,44px);list-style:none;margin:0;padding:0}
.keyterms li{border-top:1px solid var(--rule);padding:12px 0}
.apparatus--ultra .keyterms li{border-color:var(--ultra-mid)}
.keyterms dfn{font-family:var(--field);font-style:normal;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--madder);display:block;margin-bottom:4px}
.apparatus--ultra .keyterms dfn{color:#fff}
.keyterms p{margin:0;font-size:16.5px;line-height:1.45}

.timeline{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.timeline li{display:grid;grid-template-columns:minmax(120px,240px) minmax(0,1fr);
  gap:8px clamp(16px,2vw,32px);padding:12px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.t-when{font-family:var(--field);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--madder);line-height:1.5}
.t-what{font-size:17px;line-height:1.45}
.apparatus--ultra .timeline,.apparatus--ultra .timeline li{border-color:var(--ultra-mid)}
.apparatus--ultra .t-when{color:#fff}

.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:2px clamp(20px,3vw,40px)}
.statblock{border-top:2px solid var(--madder);padding:12px 0}
.stat-num{font-family:var(--serif);font-weight:600;font-size:clamp(30px,3.6vw,44px);line-height:1;display:block}
.stat-label{font-family:var(--field);font-size:12px;line-height:1.5;color:var(--ink-soft);display:block;margin-top:8px}

table{border-collapse:collapse;width:100%}
.datatable,.versus{font-size:16.5px;margin:0}
.datatable caption,.versus caption{font-family:var(--field);font-size:11.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--madder);text-align:left;padding-bottom:10px}
.datatable th,.versus th{font-family:var(--field);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  text-align:left;font-weight:400;color:var(--madder);border-bottom:2px solid var(--ink);padding:8px 12px 8px 0;
  vertical-align:bottom}
.datatable td,.versus td{border-bottom:1px solid var(--rule);padding:10px 12px 10px 0;vertical-align:top}
.versus tbody th{border-bottom:1px solid var(--rule);color:var(--ink);width:34%}
.table-scroll{overflow-x:auto}

.chart figcaption{font-family:var(--field);font-size:12px;color:var(--ink-soft);padding-top:10px;max-width:60ch}
.chart svg{width:100%;height:auto;display:block}

/* ---------------- cards / references ---------------- */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(18px,2.4vw,32px)}
.profile-card{background:var(--paper-2);border-top:2px solid var(--madder);padding:18px;
  display:flex;flex-direction:column;gap:8px}
.profile-card .p-photo{aspect-ratio:1/1;object-fit:cover;border:1px solid var(--rule);width:100%}
.profile-card h3{font-size:21px}
.profile-card .p-role{font-family:var(--field);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--madder);margin:0}
.profile-card p{margin:0;font-size:16.5px;line-height:1.45}
.profile-card .p-links,.profile-card .p-attr{font-family:var(--field);font-size:12px;margin-top:auto}
.profile-card.no-photo{border-top-color:var(--ultra)}

.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.org-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;
  border:1px solid var(--rule);padding:12px 14px;color:var(--ink)}
.org-card:hover{border-color:var(--madder);text-decoration:none}
.org-card .org-logo{grid-row:span 2;width:52px;height:52px;object-fit:contain;background:var(--ink);padding:6px}
.org-card.no-logo{grid-template-columns:minmax(0,1fr)}
.org-name{font-family:var(--serif);font-size:18px;line-height:1.2}
.org-host{font-family:var(--field);font-size:11.5px;color:var(--ink-quiet)}
.entity-ref{font-family:var(--field);font-size:.92em;letter-spacing:.02em;
  border-bottom:1px solid var(--ultra-pale)}

.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.further-grid a{border-top:2px solid var(--ink);padding-top:12px;font-family:var(--serif);
  font-size:20px;line-height:1.2;color:var(--ink);display:flex;flex-direction:column;min-height:88px}
.further-grid a span{font-family:var(--field);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--madder);margin-bottom:8px}
.related-links{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.related-links li{border-top:1px solid var(--rule);padding-top:12px}
.related-links a{font-family:var(--serif);font-size:19px;line-height:1.22;display:block}
.related-links span{font-family:var(--field);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--madder);display:block;margin-bottom:6px}

.cat-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.cat-list li{border-bottom:1px solid var(--rule);padding:16px 0;
  display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,260px);gap:10px clamp(14px,2vw,32px);align-items:start}
.cat-list .sig{color:var(--madder)}
.cat-list a{font-family:var(--serif);font-size:23px;line-height:1.18;color:var(--ink);display:block}
.cat-list p{margin:6px 0 0;font-size:16px;color:#3A342C}
.cat-list .cat-fields{font-family:var(--field);font-size:11.5px;line-height:1.7;color:var(--ink-soft)}

/* ---------------- footer ---------------- */
.site-foot{background:var(--ink);color:#CFC6B7;padding-block:clamp(30px,4vw,52px) 40px;margin-top:clamp(30px,4vw,56px)}
.site-foot a{color:#CFC6B7}
.site-foot a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(20px,2.6vw,36px)}
.foot-grid h4{font-family:var(--field);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:#9FB6E4;font-weight:400;margin-bottom:8px}
.foot-grid ul{list-style:none;margin:0;padding:0;font-family:var(--field);font-size:12.5px;line-height:1.95}
.foot-name{font-family:var(--serif);font-size:clamp(26px,3vw,34px);line-height:1.05;color:#8F8474}
.foot-sig{font-family:var(--field);font-size:12px;color:#8F8474;margin-top:26px;max-width:70ch;line-height:1.7}

/* ---------------- page furniture ---------------- */
.page-head{padding-block:clamp(26px,3.4vw,44px) 0}
.page-title{font-size:clamp(34px,5.2vw,66px);line-height:.98;letter-spacing:-.035em}
.page-dek{font-family:var(--serif);font-weight:300;font-size:clamp(19px,2.1vw,25px);line-height:1.38;
  margin:16px 0 0;max-width:46ch}
.sec-open{display:grid;grid-template-columns:110px minmax(0,1fr);gap:clamp(18px,3vw,44px);align-items:start}
.sec-open .sec-no{font-family:var(--field);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--madder);line-height:1.7}
.prose-block{max-width:var(--measure)}
.prose-block p{font-size:19px;margin:0 0 20px}
.quiet-line{font-family:var(--serif);font-weight:300;font-size:clamp(21px,2.6vw,30px);line-height:1.34;
  max-width:64ch;margin:0}

/* ---------------- responsive ---------------- */
@media (max-width:1080px){
  .lead-entry{grid-template-columns:1fr}
  .entry-top{grid-template-columns:52px minmax(0,1fr)}
  .entry-top .fields{grid-column:1/-1;margin-top:10px}
  .reg-row{grid-template-columns:52px minmax(120px,150px) minmax(0,1fr)}
  .reg-thumb{grid-column:2/-1}
  .reg-thumb img{max-width:320px}
  .key-band{grid-template-columns:1fr}
}
@media (max-width:820px){
  body{font-size:17px}
  .entry-body{grid-template-columns:minmax(0,1fr)}
  .entry-body>*,.entry-body>.full,.entry-body>.wide{grid-column:1}
  .entry-body p{font-size:18px}
  .fig--inset{float:none;width:100%;margin:20px 0}
  .fig--plate figcaption,.fig--bleed figcaption{grid-template-columns:1fr}
  .cat-list li{grid-template-columns:44px minmax(0,1fr)}
  .cat-list .cat-fields{grid-column:2}
  .sec-open{grid-template-columns:1fr}
  .util{justify-content:flex-start}
}
@media (max-width:620px){
  .reg-row{grid-template-columns:40px minmax(0,1fr)}
  .reg-fields,.reg-thumb{grid-column:2}
  .entry-top{grid-template-columns:40px minmax(0,1fr)}
  .site-index{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .sponsor{flex:0 0 100%;width:100%}
  .sponsor-group--offset .sponsor-block{padding-left:0}
  .timeline li{grid-template-columns:1fr}
  .fields{grid-template-columns:1fr}
  .fields dt{margin-top:8px}
}
@media print{
  .site-head,.site-foot,.supporters{background:#fff;color:#000}
  a{color:#000}
}

/* prose runs (a figure floated inside the measure) */
.prose-run{grid-column:2;min-width:0}
.prose-run::after{content:"";display:block;clear:both}
.prose-run p{margin:0 0 20px;font-size:19px;line-height:1.62}
@media (max-width:820px){.prose-run{grid-column:1}.prose-run p{font-size:18px}}
.sec-card h3 a{color:inherit}
.fig--bleed figcaption.wrap{padding-top:12px}
/* styleguide only */
.sg-row{border-top:2px solid var(--ink);padding:clamp(20px,3vw,34px) 0}
.sg-row h2{font-size:26px;margin-bottom:6px}
.sg-row .sg-note{font-family:var(--field);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--madder);margin-bottom:18px}
.sg-narrow{max-width:360px;border:1px dashed var(--rule);padding:12px;margin-top:22px;resize:horizontal;overflow:auto}
details.expander{border-top:1px solid var(--rule);margin-top:10px}
details.expander>summary{font-family:var(--field);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--madder);padding:10px 0;cursor:pointer}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.gallery figure img{border:1px solid var(--rule)}
.gallery figcaption{font-family:var(--field);font-size:11.5px;color:var(--ink-quiet);padding-top:6px}

/* image geometry: the kit mixes landscape stock and portrait library scans,
   so each figure treatment fixes its own frame and the picture fits into it */
.fig--plate .frame{display:flex;justify-content:center;align-items:center;min-height:220px}
.fig--plate .frame img{width:auto;max-width:100%;height:auto;max-height:min(66vh,540px)}
.fig--bleed img{width:100%;height:clamp(220px,32vw,440px);object-fit:cover}
.fig--frame img{width:100%;height:clamp(190px,24vw,300px);object-fit:cover}
.fig--inset img{width:100%;height:200px;object-fit:cover}
.reg-thumb img{height:150px;object-fit:cover;width:100%;aspect-ratio:auto}
.profile-card .p-photo{height:210px;object-fit:cover;aspect-ratio:auto}
.gallery figure img{width:100%;height:170px;object-fit:cover}
.sponsor img{height:52px;width:100%;max-width:100%;object-fit:contain;padding:6px 12px;background:var(--ink)}
@media (max-width:620px){.fig--plate .frame img{max-height:52vh}}

/* apparatus on the ultramarine ground */
.apparatus--ultra .statblock{border-top-color:#fff}
.apparatus--ultra .stat-num{color:#fff}
.apparatus--ultra .stat-label{color:var(--ultra-pale)}
.apparatus--ultra .keyterms p,.apparatus--ultra .t-what{color:var(--paper)}
.apparatus--ultra .app-title{color:#fff}

/* contrast: credits and thumb credits move to --ink-soft (4.75:1 on the mat, 6.02:1 on paper) */
figcaption .credit{color:var(--ink-soft)}
.reg-thumb figcaption{color:var(--ink-soft)}
.gallery figcaption{color:var(--ink-soft)}
.chart figcaption{color:var(--ink-soft)}
.apparatus--ultra figcaption .credit,.band--ultra figcaption .credit{color:var(--ultra-pale)}

/* ================= homepage pass ================= */
/* header: icon-led and quieter — the whole index still prints, but at half the weight */
.masthead{padding-bottom:14px}
.mast-line{font-size:11px;letter-spacing:.16em;max-width:54ch;color:#A9BFE9}
.site-index{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:14px clamp(18px,2vw,34px);padding:16px 0 10px}
.idx-head{gap:9px;margin-bottom:5px;align-items:center}
.idx-head .icon,.idx-head .icon--sm{width:24px;height:24px;color:#fff}
.idx-head a{font-family:var(--field);font-size:12.5px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.idx-head .num{display:none}
.idx-list{font-size:11.5px;line-height:1.7}
.idx-list a{color:#A9BFE9}
.idx-list a:hover{color:#fff;text-decoration:none;border-bottom:1px solid #fff}
.util{padding:8px 0 12px;font-size:11px;letter-spacing:.14em;gap:4px 18px}

/* sponsors: identical tiles, sized to fill the container width */
.sponsor{flex:0 0 clamp(300px,calc((100% - 36px) / 3),460px);width:auto}
.sponsor-group--offset .sponsor-block{padding-left:0}
.sponsor-group{margin-top:22px}
@media (max-width:1000px){.sponsor{flex:0 0 clamp(280px,calc((100% - 18px) / 2),460px)}}
@media (max-width:620px){.sponsor{flex:0 0 100%}}

/* portrait plates: the mat hugs the picture instead of reserving an empty column */
.lead-entry{grid-template-columns:minmax(0,1.3fr) minmax(320px,auto);align-items:start}
.lead-entry .fig--plate{width:fit-content;max-width:100%;margin-left:auto}
.lead-entry .fig--plate .frame{min-height:0}
.lead-entry .fig--plate .frame img{max-height:min(50vh,420px)}
.lead-entry .fig--plate figcaption{max-width:520px}
article>.wrap>.fig--plate{width:fit-content;max-width:100%;margin-inline:auto}
article>.wrap>.fig--plate figcaption{max-width:760px}
@media (max-width:1080px){.lead-entry .fig--plate{margin-left:0}}

/* footer: set apart from whatever band precedes it */
.site-foot{border-top:7px solid var(--madder);background:var(--ink);margin-top:0}
.site-foot .wrap>.foot-grid{border-top:1.5px dashed rgba(207,198,183,.32);padding-top:clamp(22px,3vw,34px)}
.site-foot .foot-name{color:var(--madder-pale);letter-spacing:-.03em}
.site-foot .foot-sig{border-top:1px solid #33291F;padding-top:16px;color:#A2937E}

/* lead entry: cap the plate column, and restore the stacked case below 1080px
   (these rules sit last so they win over the desktop grid above) */
.lead-entry{grid-template-columns:minmax(0,1.3fr) minmax(300px,44%)}
@media (max-width:1080px){
  .lead-entry{grid-template-columns:minmax(0,1fr)}
  .lead-entry .fig--plate{margin-left:0;margin-top:8px}
}

.lead-kicker,.entry-kicker{flex-wrap:wrap;row-gap:4px;line-height:1.5}


/* ============ minimal icon nav ============ */
.site-nav{display:flex;flex-wrap:wrap;gap:2px clamp(4px,1.4vw,20px);padding:clamp(10px,1.6vw,18px) 0 clamp(8px,1.2vw,14px)}
.nav-item{display:flex;align-items:center;gap:9px;padding:8px 12px 8px 2px;min-height:44px;
  color:var(--paper);text-decoration:none;border-bottom:2px solid transparent}
.nav-item:hover{color:#fff;text-decoration:none;border-bottom-color:var(--ultra-pale)}
.nav-item.is-current{border-bottom-color:#fff}
.nav-item .icon{color:var(--ultra-pale)}
.nav-item:hover .icon,.nav-item.is-current .icon{color:#fff}
.nav-label{font-family:var(--field);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.nav-item--all{margin-left:auto}
.nav-count{font-family:var(--field);font-size:12.5px;letter-spacing:.06em;color:var(--ultra-pale);
  border:1px solid var(--ultra-mid);padding:2px 7px}
.site-head .util{border-top:1px solid var(--ultra-mid);padding:9px 0 12px}
@media (max-width:820px){
  .site-nav{gap:0 6px}
  .nav-item{padding:8px 8px 8px 2px}
  .nav-label{font-size:11.5px;letter-spacing:.1em}
  .nav-item--all{margin-left:0}
}
@media (max-width:560px){
  .nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .nav-item{padding:10px 12px;justify-content:center}
  .nav-item--all .nav-label{position:static;width:auto;height:auto;clip-path:none}
}

/* ============ entry cards (the register on the homepage) ============ */
.ecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));
  gap:1px clamp(24px,3vw,44px);border-top:2px solid var(--ink)}
.ecard{display:grid;grid-template-columns:minmax(140px,34%) minmax(0,1fr);gap:clamp(14px,1.8vw,24px);
  padding:20px 0;border-bottom:1px solid var(--rule);align-items:stretch}
.ecard-thumb{display:block;min-height:100%}
.ecard-thumb img{width:100%;height:100%;min-height:132px;object-fit:cover;border:1px solid var(--rule)}
.ecard-body{display:flex;flex-direction:column;min-width:0}
.ecard-fields{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:var(--madder);
  font-family:var(--field);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.ecard-fields svg{flex:0 0 auto}
.ecard-title{font-size:clamp(21px,2.1vw,26px);line-height:1.14;margin-bottom:8px}
.ecard-title a{color:var(--ink)}
.ecard-dek{margin:0;font-size:16.5px;line-height:1.45;color:#3A342C}
@media (max-width:520px){
  .ecards{grid-template-columns:1fr}
  .ecard{grid-template-columns:100px minmax(0,1fr)}
  .ecard-thumb img{min-height:96px}
}

/* ============ sponsors: fill the container ============ */
.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:clamp(12px,1.4vw,18px)}
.sponsor{flex:initial;width:auto}
.sponsor-group+.sponsor-group{margin-top:clamp(22px,2.6vw,34px)}

/* ============ lead entry: the mat carries the column, no void ============ */
.lead-entry{align-items:stretch;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)}
.lead-entry>div:first-child{display:flex;flex-direction:column}
.lead-entry .fields{margin-top:auto}
.lead-entry .fig--plate{display:flex;flex-direction:column}
.lead-entry .fig--plate .frame{flex:1 1 auto;min-height:0}
.lead-entry .fig--plate .frame img{max-height:min(58vh,470px)}
@media (max-width:1080px){.lead-entry{grid-template-columns:1fr}.lead-entry .fields{margin-top:24px}}

/* ============ footer: a colophon, set apart from the sections ============ */
.site-foot{border-top:10px solid var(--madder);padding-block:clamp(26px,3.2vw,40px) 34px;margin-top:0}
.colophon{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);
  gap:clamp(20px,3vw,56px);align-items:start}
.colophon-brand{display:flex;align-items:flex-start;gap:20px}
.foot-name{margin:0;font-family:var(--serif);font-size:clamp(26px,3vw,36px);line-height:1.02;color:#8F8474}
.foot-mark{color:#5C5346;flex:0 0 auto}
.fold-mark{width:76px;height:auto;display:block}
.colophon-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(16px,2vw,40px)}
.foot-sections,.foot-apparatus{list-style:none;margin:0;padding:0}
.foot-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2px 24px}
.foot-sections a,.foot-apparatus a{display:flex;align-items:center;gap:9px;padding:5px 0;
  font-family:var(--field);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#CFC6B7}
.foot-sections .icon{color:#8F8474;flex:0 0 auto}
.foot-sections a:hover .icon{color:#E7BFCE}
.foot-apparatus{border-left:1px solid #3A342C;padding-left:clamp(14px,1.6vw,24px)}
.foot-apparatus a{letter-spacing:.06em;text-transform:none;font-size:12.5px}
.foot-sig{border-top:1px solid #3A342C;margin-top:clamp(20px,2.4vw,30px);padding-top:14px;
  font-family:var(--field);font-size:11.5px;line-height:1.7;color:#8F8474;max-width:78ch}
@media (max-width:900px){
  .colophon{grid-template-columns:1fr}
  .colophon-body{grid-template-columns:1fr}
  .foot-apparatus{border-left:0;border-top:1px solid #3A342C;padding-left:0;padding-top:10px}
}

.ecard-fields svg{width:28px;height:18px}
.foot-sections{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* masthead without the sheet diagram: the strapline takes the width it needs */
.masthead{align-items:flex-end}
.mast-line{max-width:78ch}

/* compact masthead: name and strapline on one line, nav tight beneath */
.masthead{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px clamp(14px,2vw,28px);
  padding:clamp(12px,1.6vw,18px) 0 clamp(8px,1vw,12px)}
.masthead>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px clamp(12px,1.8vw,22px);min-width:0}
.mast-name{font-size:clamp(26px,3.2vw,40px);line-height:1}
.mast-line{margin-top:0;font-size:11.5px;letter-spacing:.16em;line-height:1.5;max-width:52ch;
  color:var(--ultra-pale)}
.site-head--compact .masthead{padding:clamp(10px,1.2vw,14px) 0 8px}
.site-head--compact .mast-name{font-size:clamp(24px,2.6vw,32px)}
.site-nav{padding:6px 0 4px}
.nav-item{min-height:40px;padding:6px 10px 6px 2px}
.site-head .util{padding:7px 0 10px}
@media (max-width:700px){.mast-line{display:none}}

/* masthead: one row, name and strapline sharing a baseline, hairline beneath */
.masthead{display:block;padding:clamp(12px,1.5vw,18px) 0 0;border-bottom:0}
.masthead>div{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;
  gap:clamp(16px,3vw,48px);width:100%;padding-bottom:clamp(8px,1vw,12px);
  border-bottom:1px solid var(--ultra-mid)}
.masthead>div>a{flex:0 0 auto}
.mast-name{font-size:clamp(24px,3vw,38px);line-height:1;display:block}
.mast-line{flex:0 1 auto;margin:0;text-align:right;font-size:11px;letter-spacing:.14em;
  line-height:1.45;max-width:44ch;color:var(--ultra-pale)}
@media (max-width:820px){.mast-line{max-width:26ch;font-size:10.5px}}
@media (max-width:640px){.masthead>div{flex-wrap:wrap}.mast-line{display:none}}

.mast-name{white-space:nowrap}
.mast-line{white-space:nowrap;max-width:none;font-size:11.5px}
@media (max-width:780px){.mast-line{display:none}}

/* ============ article prose: rhythm and data ============ */
.entry-body .p-open{font-size:21px;line-height:1.5;font-weight:300}
.entry-body .p-open::first-letter{font-family:var(--serif);font-weight:600;font-size:3.1em;
  line-height:.82;float:left;padding:6px 12px 0 0;color:var(--madder)}
.entry-body .p-dense{border-left:2px solid var(--mat);padding-left:22px;margin-left:-24px;line-height:1.68}
.entry-body p+h2{margin-top:38px}
.entry-body h2{padding-bottom:8px;border-bottom:1px solid var(--rule)}
.entry-body h3{color:var(--madder);font-family:var(--field);font-size:13px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:400;margin:30px 0 10px}
.entry-body ul{list-style:none;padding-left:0}
.entry-body ul li{position:relative;padding-left:24px;margin-bottom:10px}
.entry-body ul li::before{content:"";position:absolute;left:2px;top:.62em;width:11px;height:0;
  border-top:1px solid var(--madder)}
/* digits set as register data */
.num{font-family:var(--field);font-size:.9em;letter-spacing:.01em;font-variant-numeric:tabular-nums;
  color:#3D3327;white-space:nowrap}
.entry-body .p-open .num{font-size:.86em}
.apparatus .num,.apparatus--ultra .num{color:inherit;font-size:1em;letter-spacing:0}
.stat-num .num{font-family:var(--serif);font-size:1em;color:inherit}
.t-when .num{color:inherit;font-size:1em}
@media (max-width:820px){
  .entry-body .p-dense{margin-left:0;padding-left:16px}
  .entry-body .p-open{font-size:19.5px}
  .entry-body .p-open::first-letter{font-size:2.7em}
}

/* guarantee the gutter even where a block sets its own padding */
.wrap{padding-inline:var(--gut)!important}

/* a paragraph too long to break sits on a narrower measure, marked in the margin */
.entry-body .p-long{max-width:60ch;padding-left:20px;border-left:2px solid var(--mat);line-height:1.66}
@media (max-width:820px){.entry-body .p-long{padding-left:14px;max-width:none}}
.entry-body .p-dense{border-left:0;padding-left:0;margin-left:0}

.statblock{display:flex;flex-direction:column;gap:8px;padding:14px 0}
.stat-num{font-size:clamp(26px,3vw,38px);line-height:1.04;white-space:nowrap}
.stat-label{margin:0;line-height:1.5}
.apparatus--ultra .statblock{border-top:2px solid #fff}

/* stat blocks with no extractable figure fall back to a text-only card */
.statblock:not(:has(.stat-num)) .stat-label{font-family:var(--serif);font-size:17px;
  color:inherit;line-height:1.45;letter-spacing:0;text-transform:none}
.apparatus--ultra .statblock:not(:has(.stat-num)) .stat-label{color:var(--paper)}
.statblock .stat-num+.stat-label{font-family:var(--field);font-size:12px}

/* ============ mobile: tap targets and reading comfort ============ */
@media (max-width:820px){
  .util{gap:0 18px}
  .util a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
  .foot-sections a,.foot-apparatus a{min-height:44px;padding-block:0}
  .related-links a,.cat-list a,.further-grid a,.reg-more a,.ecard-title a{display:block;min-height:44px}
  .ecard-title a,.cat-list a{padding-block:4px}
  .datatable a,.keyterms a,.entity-ref{display:inline-block;min-height:36px;padding-block:6px}
  .mast-name{display:inline-flex;align-items:center;min-height:44px}
  .sponsor{min-height:132px}
  .entry-body p{font-size:17.5px;line-height:1.6}
  .entry-body .p-open{font-size:19px}
  .fields dd a{display:inline-block;min-height:40px;padding-block:8px}
  .index-of-entries .datatable td{padding-block:12px}
}
@media (max-width:560px){
  .site-nav{gap:0 4px}
  .nav-item{min-height:46px;padding:8px 10px}
  .statrow{gap:0}
  .statblock{padding:12px 0}
  .keyterms li{padding:14px 0}
  .timeline li{padding:14px 0}
}

@media (max-width:820px){
  .sec-card h3 a{display:inline-flex;align-items:center;min-height:44px}
  .sec-card .count{margin-top:4px}
  .entry-kicker a,.lead-kicker a{display:inline-flex;align-items:center;min-height:40px}
  .entry-body a:not(.entity-ref){padding-block:2px}
  .datatable td a{min-height:44px;display:inline-flex;align-items:center}
}

/* 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-mark-fit: width:100% + padding must not overflow the tile — but the declared
   HEIGHT is the mark's size and border-box alone steals the vertical padding from it.
   earlychristianireland declares height:66px with 10px top/bottom padding: border-box
   left a 46px mark and the operator read it as 'logos too small'. Keep the horizontal
   inset, drop the vertical padding, so the mark occupies the full height Design set. */
.sponsor img,.sponsor-box img,.sp-logo img{box-sizing:border-box!important;padding-top:0!important;padding-bottom:0!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}

/* sp-mark-frame: a uniform plate for the money mark, in the tiers where Design sized the plate
   to the artwork instead. Operator's rule: the dark ground is unified whatever the logo's
   size. width:100% (or one fixed width where copy shares the row) + one height for the tier
   + object-fit:contain, so the plate is the same box everywhere and the artwork fits inside
   it. A ground and an inset are added ONLY where none exists — adding a second ground gives
   co-cure's rectangle-inside-a-rectangle. Design's framed tiers are not touched at all. */
.sponsor-grid .sponsor.sponsor img{box-sizing:border-box!important;padding:8px 14px!important}

/* op-footer-compact: the footer printed 9 rows for 12 link(s) in
   2 list(s) — 660px at 390, 7% of the whole page. Design's own
   good case (evbb) has no list at all: its footer links simply flow inline, 479px in total.
   Here the lists flow inline too,
   measured 660 -> 586px (11% shorter) with no new overflow. Both shapes were
   tried and the shorter one kept — two columns helps a wide group set and hurts a narrow one.
   Phone widths only; the desktop footer is untouched. */
@media (max-width:640px){
  footer ul,footer ol{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;column-gap:clamp(2px,1.67vw,24px)!important;row-gap:2px!important}
  footer ul > li,footer ol > li{width:auto!important;flex:0 0 auto;max-width:100%}
}

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   2035px at 390, 23% of the whole page. Two columns bring it to
   1041px (49% shorter). Checked before writing: no new overflow, smallest mark still
   138px wide, longest blurb 3 lines, tile heights 156-176px.
   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.
   The blurb is held to three rows at phone width, because a nine- or eleven-line blurb in a narrow column made two columns TALLER than one. The copy stays in the markup. Only the tier(s) that were one-per-row are touched (.sponsor-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){
  .sponsor-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important}
    .sponsor-grid > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsor-grid > * *{min-width:0!important;max-width:100%}
    .sponsor-grid img,.sponsor-grid svg{max-width:100%;height:auto}
  .sponsor-grid .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

/* op-name-wrap: at 320 the money tile truncated its brand name — "Touch My Wife" — losing up to 33px to an
   ellipsis. The name is allowed to wrap instead of being cut: a brand that reads as half a word
   is worse than a brand on two lines. Structural only, phone widths only, desktop untouched. */
@media (max-width:360px){
  .sponsor-name{white-space:normal!important;overflow-wrap:anywhere;text-overflow:clip}
}

/* op-article-width: the article column was capped at 724px (94 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through grid track 2 of "minmax(0,1fr) minmax(0,var(--measure)) minmax(0,1fr)" (declared in .entry-body) 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 1024 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1024px){
  div.wrap.entry-body{grid-template-columns:minmax(0,1fr) min(785px, calc(100% - 86px)) minmax(0,1fr)!important}
}
@media (min-width:1600px){
  div.wrap.entry-body{grid-template-columns:minmax(0,1fr) min(clamp(785px, 54.514vw, 942px), calc(100% - 86px)) minmax(0,1fr)!important}
  div.wrap.entry-body > :is(p:not([class])){font-size:clamp(19px,1.3194vw,22.8px)!important}
}
/* op-article-width:end */

/* op-article-seam: text ran into the band that follows it (0-7px) — operator: "end of paragraph nearly touches intersection. Padding is missing." The section now keeps Design's own gap before the band: div.wrap.entry-head → div.wrap: 134px (the gap after the band). */
@media (min-width:1440px){
  article > div.wrap.entry-head:has(+ div.wrap){padding-bottom:134px!important}
}
/* op-article-seam:end */
/* op-heading-levels */
h2:where(.rt-h3){font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; margin: 0px;}
.entry-body h2:where(.rt-h3){font-size: 22px; margin: 26px 0px 10px;}
.entry-body h2:where(.rt-h3){color: var(--madder); font-family: var(--field); font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 400; margin: 30px 0px 10px;}
h2.rt-h3.rt-h3{padding-bottom:0px;border-bottom-width:0px;border-bottom-style:none;border-bottom-color:rgb(138, 30, 75)}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(article.ecard > a.ecard-thumb > img,
  div.entry-body.wrap > figure.fig.fig--bleed.full > img,
  div.prose-run > figure.fig.fig--inset > img,
  figure.fig.fig--plate > div.frame > img){height:auto}
/* op-img-dims:end */
