/* ============================================================
   L'Encrier — The Desk. Shared stylesheet.
   Ink-black + bone, single aubergine accent. Type-led, letterpress.
   ============================================================ */

:root{
  --ink:#1b1016;
  --ink-soft:#3c2d34;
  --paper:#efe6d4;
  --paper-2:#e9dcc5;
  --paper-3:#e2d3b8;
  --accent:#5a2b4c;
  --accent-deep:#3a1c33;
  --accent-bright:#c98fb4;
  --muted:#7c6f60;
  --muted-soft:#94886f;
  --rule:#cabb9f;
  --rule-soft:#d8cbae;
  --dark:#201019;
  --dark-2:#160b12;
  --dark-well:#2a1822;
  --dark-rule:#43303b;
  --paper-dim:#c8b9a1;

  --serif-display:"Cormorant Garamond", "Playfair Display", Georgia, "Times New Roman", serif;
  --serif-body:"Spectral", Georgia, Cambria, "Times New Roman", serif;

  --measure:68ch;
  --wrap:1320px;
  --wrap-narrow:1140px;
  --gutter:clamp(20px,5vw,64px);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
html{overflow-x:clip;}
body{
  margin:0;
  overflow-x:clip;
  background-color:var(--paper);
  background-image:radial-gradient(rgba(27,16,22,.028) 1px, transparent 1.15px);
  background-size:3px 3px;
  color:var(--ink);
  font-family:var(--serif-body);
  font-size:20px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"onum" 1,"kern" 1;
}
img{max-width:100%;display:block;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-deep);}
::selection{background:var(--accent);color:var(--paper);}
h1,h2,h3,h4{font-family:var(--serif-display);font-weight:700;line-height:1;margin:0;letter-spacing:-.01em;color:var(--ink);}

/* --- utility --- */
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter);}
.wrap-narrow{max-width:var(--wrap-narrow);margin:0 auto;padding-inline:var(--gutter);}
.kicker{
  font-family:var(--serif-body);
  font-size:13px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);
}
.kicker.mut{color:var(--muted);}
.rule-double{border:0;border-top:3px double var(--ink);margin:0;}
.rule-thin{border:0;border-top:1px solid var(--rule);margin:0;}
.skip-link{position:absolute;left:-9999px;}
.skip-link:focus{left:16px;top:12px;background:var(--ink);color:var(--paper);padding:8px 14px;z-index:100;}

/* ============================================================
   MASTHEAD + NAV
   ============================================================ */
.topstrip{border-bottom:1px solid var(--ink);}
.topstrip .wrap{display:flex;justify-content:space-between;align-items:baseline;padding-block:11px;gap:16px;}
.topstrip span{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}

.masthead{max-width:var(--wrap);margin:0 auto;padding:32px var(--gutter) 14px;display:flex;justify-content:space-between;align-items:baseline;gap:12px 28px;flex-wrap:wrap;text-align:left;}
.masthead .wordmark{
  font-family:var(--serif-display);font-weight:800;
  font-size:clamp(42px,7vw,88px);line-height:.9;letter-spacing:-.02em;
  color:var(--ink);display:inline-block;
}
.masthead .tagline{
  font-family:var(--serif-body);font-style:italic;color:var(--ink-soft);
  font-size:clamp(14px,1.6vw,18px);margin-top:0;text-align:right;
}

.mainnav{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);position:relative;z-index:20;}
.nav-tog-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.nav-toggle{display:none;}
.mainnav > ul{list-style:none;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);display:flex;justify-content:flex-start;align-items:baseline;flex-wrap:wrap;}
.mainnav > ul::before{content:"In this issue \2014";font-style:italic;color:var(--muted);font-size:16px;margin-right:20px;padding:11px 0;}
.submenu{list-style:none;}
.mainnav > ul > li{position:relative;display:flex;align-items:baseline;}
.mainnav > ul > li + li::before{content:"\00B7";color:var(--muted-soft);margin:0 11px;}
.mainnav > ul > li > a{
  display:block;padding:11px 0;
  font-family:var(--serif-body);font-size:17px;font-weight:400;font-style:italic;
  letter-spacing:0;text-transform:none;color:var(--ink);
}
.mainnav > ul > li > a:hover,.mainnav > ul > li:hover > a,.mainnav > ul > li:focus-within > a{color:var(--accent);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;}
.mainnav .has-sub > a::after{content:"\25BE";font-size:9px;margin-left:6px;opacity:.55;font-style:normal;}
.submenu{
  position:absolute;left:0;top:100%;min-width:230px;
  background:var(--ink);border:1px solid var(--dark-rule);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease, transform .16s ease;
  display:block;padding:6px 0;box-shadow:0 18px 40px rgba(0,0,0,.35);
}
.mainnav li:hover > .submenu,.mainnav li:focus-within > .submenu{opacity:1;visibility:visible;transform:translateY(0);}
.mainnav > ul > li:nth-last-child(-n+2) > .submenu{left:auto;right:0;}
.submenu li a{
  display:block;padding:9px 20px;border:0;
  font-family:var(--serif-body);text-transform:none;letter-spacing:0;
  font-size:16px;color:var(--paper);text-align:left;line-height:1.25;
}
.submenu li a:hover{background:var(--dark-well);color:var(--accent-bright);}

/* ============================================================
   HOMEPAGE — THE DESK / FRONT
   ============================================================ */
.desk-front{padding-block:clamp(40px,6vw,72px);}
.desk-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(30px,4vw,60px);align-items:start;}
.flag .kicker{margin-bottom:18px;}
.flag h2{font-size:clamp(40px,6vw,84px);line-height:.94;margin-bottom:22px;}
.flag h2 a{color:var(--ink);}
.flag h2 a:hover{color:var(--accent);}
.flag .flag-dek{font-size:clamp(19px,1.7vw,23px);line-height:1.5;color:var(--ink-soft);max-width:40ch;margin-bottom:26px;}
.flag .byline{font-size:14px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.flag .byline a{color:var(--accent);}
.flag-figure{margin:26px 0 0;}
.flag-figure .well{aspect-ratio:16/10;background:var(--paper-3);border:1px solid var(--ink);overflow:hidden;}
.flag-figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02);}
.flag-figure figcaption{font-size:13.5px;color:var(--muted);margin-top:8px;font-style:italic;}

/* the aside on the desk front (a note in the margin) */
.desk-aside{border-left:1px solid var(--rule);padding-left:26px;}
.desk-aside .m-note{font-style:italic;color:var(--ink-soft);font-size:17px;line-height:1.55;margin:0 0 26px;}
.desk-aside .m-note::before{content:"“";font-family:var(--serif-display);font-size:1.3em;line-height:0;color:var(--accent);margin-right:.05em;}

/* ============================================================
   CURRENTLY ON THE DESK — the shelf (dark)
   ============================================================ */
.shelf-band{background:var(--dark);color:var(--paper);}
.shelf-band .wrap{padding-block:clamp(40px,5vw,60px);}
.shelf-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;}
.shelf-head h2{color:var(--paper);font-size:clamp(30px,4vw,52px);}
.shelf-head .hint{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-bright);}
.shelf-sub{color:var(--paper-dim);font-size:16px;max-width:54ch;margin:12px 0 32px;}
.shelf-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(30px,4vw,52px);align-items:start;}
.shelf-rail{display:flex;gap:12px;align-items:flex-end;justify-content:space-between;min-height:312px;}
.spine{
  position:relative;cursor:pointer;background:var(--dark-well);color:var(--paper);
  border:1px solid rgba(201,143,180,.22);
  width:58px;height:250px;flex:0 0 auto;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  padding:16px 6px 13px;transition:all .3s cubic-bezier(.2,.7,.2,1);
  box-shadow:0 8px 18px rgba(0,0,0,.42);
}
.spine .s-title{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--serif-display);font-weight:700;font-size:15px;line-height:1.04;}
.spine .s-author{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.62;margin-top:8px;}
.spine[aria-selected="true"]{
  width:84px;height:300px;transform:translateY(-12px);
  border-color:var(--accent-bright);background:linear-gradient(180deg,#3a2130,#2a1822);
  box-shadow:0 16px 34px rgba(0,0,0,.55), inset 0 0 0 3px rgba(201,143,180,.14);
}
.spine[aria-selected="true"] .s-title{font-size:19px;}
.spine[aria-selected="true"] .s-author{opacity:.8;}
.shelf-plank{height:14px;background:linear-gradient(#2f1622,#160a10);border-top:2px solid var(--accent-deep);box-shadow:0 12px 26px rgba(0,0,0,.5);}
.shelf-count{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-soft);margin-top:14px;}
.note-panel{border:1px solid var(--dark-rule);background:var(--dark-2);padding:clamp(24px,2.4vw,34px);min-height:312px;}
.note-panel .np-head{display:grid;grid-template-columns:92px 1fr;gap:20px;align-items:start;margin-bottom:20px;}
.np-cover{aspect-ratio:2/3;background:var(--dark-well);border:1px solid var(--accent);overflow:hidden;}
.np-cover img{width:100%;height:100%;object-fit:cover;}
.np-meta .kicker{color:var(--accent-bright);}
.note-panel h3{color:var(--paper);font-size:clamp(24px,2.4vw,30px);line-height:1.02;margin:8px 0 4px;}
.note-panel .np-author{font-style:italic;color:var(--paper-dim);font-size:15px;}
.note-panel .np-note{font-size:17px;line-height:1.6;color:#e6dae1;margin:0 0 22px;}
.note-panel .np-link{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-bright);border-bottom:1px solid var(--accent);padding-bottom:2px;}
.note-panel .np-link:hover{color:#fff;}

/* ============================================================
   SECTION BANDS + CARDS
   ============================================================ */
.band{padding-block:clamp(44px,5vw,72px);}
.band-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:30px;}
.band-head h2{font-size:clamp(30px,4vw,52px);}
.band-head .band-intro{font-size:16px;color:var(--ink-soft);max-width:46ch;margin-top:8px;}
.band-head .seeall{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);white-space:nowrap;}

.cards{display:grid;gap:2px;background:var(--rule);border:1px solid var(--rule);}
.cards.cols-3{grid-template-columns:repeat(3,1fr);}
.cards.cols-2{grid-template-columns:repeat(2,1fr);}
.card{
  background:var(--paper);padding:28px 26px 26px;display:flex;flex-direction:column;
  min-height:100%;
}
.card .c-meta{font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.card h3{font-size:clamp(23px,2.1vw,29px);line-height:1.02;margin-bottom:11px;}
.card h3 a{color:var(--ink);}
.card h3 a:hover{color:var(--accent);}
.card .c-dek{font-size:16px;line-height:1.52;color:var(--ink-soft);margin:0 0 18px;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.card .c-more{margin-top:auto;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}

/* criticism filterable index */
.filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px;}
.chip{font-size:13.5px;padding:5px 13px;}
.filterbar .fb-label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-right:6px;}
.chip{
  font-family:var(--serif-body);font-size:14px;cursor:pointer;
  padding:6px 15px;border:1px solid var(--rule);background:transparent;color:var(--ink-soft);
  transition:all .16s ease;
}
.chip:hover{border-color:var(--accent);color:var(--accent);}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--paper);}
.index-list{border-top:1px solid var(--ink);}
.idx-row{
  display:grid;grid-template-columns:56px 1fr auto;gap:20px;align-items:baseline;
  padding:14px 0;border-bottom:1px solid var(--rule);
}
.idx-row .idx-num{font-family:var(--serif-display);font-weight:700;font-size:22px;color:var(--accent);line-height:1;}
.idx-row h3{font-size:clamp(20px,1.7vw,24px);line-height:1.05;margin-bottom:4px;}
.idx-row h3 a{color:var(--ink);}
.idx-row h3 a:hover{color:var(--accent);}
.idx-row .idx-dek{font-size:14.5px;color:var(--ink-soft);line-height:1.42;max-width:74ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.idx-row .idx-cat{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-top:6px;}
.idx-empty{padding:40px 0;color:var(--muted);font-style:italic;font-size:18px;}

/* essays band — feature + oversized pull-quote */
.essay-feature{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(30px,4vw,52px);align-items:center;padding-bottom:40px;border-bottom:1px solid var(--rule);margin-bottom:40px;}
.essay-feature h3{font-size:clamp(30px,3.4vw,46px);line-height:1;margin:14px 0 16px;}
.essay-feature h3 a{color:var(--ink);}
.essay-feature h3 a:hover{color:var(--accent);}
.essay-feature .ef-dek{font-size:17px;line-height:1.55;color:var(--ink-soft);max-width:48ch;}
.big-quote{margin:0;border-left:3px solid var(--accent);padding-left:28px;}
.big-quote p{font-family:var(--serif-display);font-style:italic;font-weight:500;font-size:clamp(23px,2.7vw,34px);line-height:1.14;margin:0;color:var(--accent);}

/* reading-list band */
.readlist{display:grid;grid-template-columns:300px 1fr;gap:clamp(30px,4vw,52px);align-items:center;}
.readlist .rl-lede h2{font-size:clamp(34px,4vw,50px);line-height:.94;margin-bottom:14px;}
.readlist .rl-lede p{font-size:16px;color:var(--ink-soft);margin:0 0 20px;}
.readlist .rl-lede .seeall{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);}
.shelf-covers{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.shelf-covers .cover .well{aspect-ratio:2/3;background:var(--paper-3);border:1px solid var(--ink);overflow:hidden;}
.shelf-covers .cover img{width:100%;height:100%;object-fit:cover;}
.shelf-covers .cover .ct{font-family:var(--serif-display);font-weight:700;font-size:16px;line-height:1.05;margin-top:9px;}
.shelf-covers .cover .ca{font-size:13px;color:var(--muted);}

/* ============================================================
   SUPPORTERS — With thanks to our readers (dark, tiered)
   ============================================================ */
.thanks{background:var(--ink);color:var(--paper);}
.thanks .wrap{padding-block:clamp(46px,5vw,64px);}
.thanks-head{border-bottom:1px solid var(--dark-rule);padding-bottom:18px;margin-bottom:32px;}
.thanks-head h2{color:var(--paper);font-size:clamp(30px,3.6vw,48px);}
.thanks-head .kicker{color:var(--accent-bright);margin-bottom:12px;display:block;}
.thanks-head p{color:var(--paper-dim);font-style:italic;font-size:16px;max-width:52ch;margin:10px 0 0;}
.featured{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:40px;}
.sponsor{
  display:flex;flex-direction:column;gap:13px;
  background:var(--dark-well);border:1px solid var(--dark-rule);
  padding:24px;color:var(--paper);
}
.sponsor img{height:52px;width:auto;object-fit:contain;align-self:flex-start;}
.sponsor .sponsor-blurb{font-size:14.5px;line-height:1.5;color:var(--paper-dim);}
.sponsor .sponsor-blurb:empty::before{content:"";}
.roll-label{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-soft);margin:0 0 16px;}
.roll{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;}
.sponsor.mini{padding:16px;align-items:center;justify-content:center;}
.sponsor.mini img{height:30px;}
.sponsor.mini .sponsor-blurb{display:none;}

/* ============================================================
   FOOTER
   ============================================================ */
.site-foot{padding-block:clamp(40px,5vw,60px);text-align:center;border-top:3px double var(--ink);}
.site-foot .f-wordmark{font-family:var(--serif-display);font-weight:800;font-size:clamp(28px,4vw,40px);margin-bottom:14px;}
.site-foot .f-disc{font-style:italic;color:var(--ink-soft);font-size:14.5px;max-width:64ch;margin:0 auto 18px;line-height:1.55;}
.site-foot .f-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;}
.site-foot .f-links a{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.site-foot .f-links a:hover{color:var(--accent);}
.site-foot .f-fine{margin-top:20px;font-size:12px;color:var(--muted-soft);}

/* ============================================================
   ARTICLE / POST
   ============================================================ */
.post-top{border-bottom:1px solid var(--ink);}
.post-top .wrap{display:flex;justify-content:space-between;align-items:center;padding-block:18px;gap:16px;}
.post-top .pt-mark{font-family:var(--serif-display);font-weight:800;font-size:26px;color:var(--ink);}
.post-top .pt-back{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);}

.post-hero{padding-block:clamp(44px,6vw,80px) clamp(28px,3vw,40px);}
.post-hero .ph-inner{max-width:1000px;}
.post-hero .kicker{margin-bottom:22px;display:block;}
.post-hero h1{font-size:clamp(40px,6.4vw,92px);line-height:.94;letter-spacing:-.02em;max-width:16ch;}
.post-hero .standfirst{font-family:var(--serif-body);font-style:italic;font-size:clamp(20px,2.2vw,26px);line-height:1.44;color:var(--ink-soft);max-width:54ch;margin-top:26px;}
.post-hero .post-byline{margin-top:24px;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.post-hero .post-byline a{color:var(--accent);}
.post-hero-figure{margin:6px 0 0;}
.post-hero-figure .well{aspect-ratio:21/9;background:var(--paper-3);border:1px solid var(--ink);overflow:hidden;}
.post-hero-figure img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:saturate(.92) contrast(1.02);}
.post-hero-figure figcaption{font-size:13.5px;color:var(--muted);font-style:italic;margin-top:10px;}
.fullbleed{position:relative;margin:0;}
.fullbleed img{width:100%;height:clamp(340px,46vh,520px);object-fit:cover;display:block;filter:brightness(.46) saturate(.85) contrast(1.03);background:var(--dark);}
.fullbleed .fb-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px var(--gutter);background:linear-gradient(180deg,rgba(22,11,18,.35),rgba(22,11,18,.55));}
.fullbleed .fb-kicker{font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent-bright);margin-bottom:20px;}
.fullbleed blockquote{margin:0;max-width:22ch;font-family:var(--serif-display);font-style:italic;font-weight:500;font-size:clamp(28px,4.4vw,58px);line-height:1.08;letter-spacing:-.01em;color:var(--paper);text-shadow:0 2px 24px rgba(0,0,0,.5);}
.fullbleed .fb-attr{margin-top:22px;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim);}

/* article body: wide asymmetric measure with a breakout margin */
.article{padding-bottom:clamp(40px,5vw,72px);}
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(34px,4.5vw,72px);align-items:start;}
.article-body{max-width:var(--measure);padding-inline:0;font-size:20px;line-height:1.68;color:#241a20;}
.article-body > p{margin:0 0 22px;text-wrap:pretty;}
.article-body .lead{font-size:23px;line-height:1.55;color:var(--ink);}
.article-body .lead::first-letter,.dropcap::first-letter{
  font-family:var(--serif-display);font-weight:800;float:left;
  font-size:5.4em;line-height:.66;padding:8px 12px 0 0;color:var(--accent);
}
.sec-head{margin:44px 0 18px;display:flex;gap:16px;align-items:baseline;}
.sec-head .sec-num{font-family:var(--serif-display);font-weight:700;font-size:19px;color:var(--accent);flex:0 0 auto;
  border-top:2px solid var(--accent);padding-top:6px;letter-spacing:.02em;}
.sec-head h2{font-size:clamp(26px,3vw,38px);line-height:1.02;}
.article-body h3{font-size:23px;margin:30px 0 12px;font-family:var(--serif-display);}
.article-body a:not(.entity-ref){border-bottom:1px solid rgba(90,43,76,.4);}
.article-body a:not(.entity-ref):hover{border-bottom-color:var(--accent);}
.article-body em,.article-body i{font-style:italic;}

/* the by-the-numbers margin rail */
.margin-rail{position:sticky;top:24px;display:flex;flex-direction:column;gap:30px;}
.rail-block{border-top:2px solid var(--ink);padding-top:14px;}
.rail-block .rb-label{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.by-numbers{display:flex;flex-direction:column;gap:18px;}
.by-numbers .bn{border-left:2px solid var(--accent);padding-left:14px;}
.by-numbers .bn-num{font-family:var(--serif-display);font-weight:800;font-size:34px;line-height:.95;color:var(--ink);display:block;}
.by-numbers .bn-label{font-size:14px;line-height:1.35;color:var(--ink-soft);}
.rail-figures{margin:0;}
.rail-figures .well{aspect-ratio:4/5;background:var(--paper-3);border:1px solid var(--ink);overflow:hidden;}
.rail-figures img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.02);}
.rail-figures figcaption{font-size:13px;color:var(--muted);font-style:italic;margin-top:8px;line-height:1.4;}
.rail-terms dt{font-family:var(--serif-display);font-weight:700;font-size:16px;font-style:italic;margin-top:12px;color:var(--ink);}
.rail-terms dt:first-child{margin-top:0;}
.rail-terms dd{margin:2px 0 0;font-size:14px;line-height:1.42;color:var(--ink-soft);}
.rail-more{border:0;background:none;color:var(--accent);font-family:var(--serif-body);font-size:14px;cursor:pointer;padding:12px 0 0;letter-spacing:.06em;text-transform:uppercase;}
.rail-collapse{max-height:none;overflow:hidden;}
.rail-collapse.clipped{max-height:0;padding:0;margin:0;}

/* ============================================================
   PALETTE COMPONENTS (shared by articles + styleguide)
   ============================================================ */
.lead{font-size:23px;line-height:1.55;}
.pullquote{margin:40px 0;padding:0;border:0;text-align:left;}
.pullquote p{font-family:var(--serif-display);font-weight:500;font-style:italic;font-size:clamp(26px,3.6vw,46px);line-height:1.1;letter-spacing:-.01em;margin:0;color:var(--ink);}
.pullquote p::before{content:"“";color:var(--accent);}
.pullquote p::after{content:"”";color:var(--accent);}
.blockquote{margin:32px 0;padding:6px 0 6px 26px;border-left:3px solid var(--accent);}
.blockquote p{font-size:21px;line-height:1.5;font-style:italic;margin:0 0 10px;color:var(--ink);}
.blockquote cite{font-style:normal;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.callout{margin:32px 0;background:var(--paper-3);border:1px solid var(--rule);border-top:3px solid var(--accent);padding:24px 26px;}
.callout p{margin:0;font-size:19px;line-height:1.55;color:var(--ink);}
.callout p + p{margin-top:12px;}
.note{margin:26px 0;font-size:16px;line-height:1.55;color:var(--ink-soft);padding:14px 18px;background:rgba(90,43,76,.06);border-left:2px solid var(--accent);font-style:italic;}
.note::before{content:"Note — ";font-style:normal;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:var(--accent);}

/* tables */
.versus,.datatable{width:100%;border-collapse:collapse;margin:30px 0;font-size:16px;}
.versus caption,.datatable caption{caption-side:top;text-align:left;font-family:var(--serif-body);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-bottom:10px;}
.versus th,.versus td,.datatable th,.datatable td{padding:12px 16px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;line-height:1.4;}
.versus thead th,.datatable thead th{font-family:var(--serif-display);font-weight:700;font-size:17px;border-bottom:2px solid var(--ink);}
.versus tbody th{font-family:var(--serif-body);font-weight:600;color:var(--accent);width:26%;}
.datatable tbody tr:nth-child(even){background:rgba(90,43,76,.04);}
.versus td + td{border-left:1px solid var(--rule);}

/* statblocks */
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;background:var(--rule);border:1px solid var(--rule);margin:30px 0;}
.statblock{background:var(--paper);padding:22px 20px;display:flex;flex-direction:column;gap:6px;}
.statblock .stat-num{font-family:var(--serif-display);font-weight:800;font-size:clamp(34px,3.6vw,48px);line-height:.9;color:var(--accent);}
.statblock .stat-label{font-size:14px;line-height:1.35;color:var(--ink-soft);}

/* timeline */
.timeline{list-style:none;margin:30px 0;padding:0;border-left:2px solid var(--accent);}
.timeline li{position:relative;padding:0 0 22px 26px;}
.timeline li::before{content:"";position:absolute;left:-7px;top:7px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--accent);}
.timeline li:last-child{padding-bottom:0;}
.timeline .t-when{display:block;font-family:var(--serif-display);font-weight:700;font-size:18px;color:var(--ink);line-height:1.2;}
.timeline .t-what{display:block;font-size:16px;line-height:1.45;color:var(--ink-soft);margin-top:3px;}

/* charts */
.chart{margin:30px 0;}
.chart svg{width:100%;height:auto;display:block;overflow:visible;}
.chart .bar-rect{fill:var(--accent);}
.chart .bar-track{fill:rgba(27,16,22,.08);}
.chart .bar-label{font-family:var(--serif-body);font-size:13px;fill:var(--ink-soft);}
.chart .bar-val{font-family:var(--serif-display);font-weight:700;font-size:13px;fill:var(--ink);}
.chart .axis-line{stroke:var(--ink);stroke-width:1;}
.chart .line-path{fill:none;stroke:var(--accent);stroke-width:2.5;}
.chart .line-dot{fill:var(--accent);}
.chart .line-area{fill:rgba(90,43,76,.10);}
.chart figcaption{font-size:13.5px;color:var(--muted);font-style:italic;margin-top:12px;}

/* figures + galleries */
.article-figure{margin:34px 0;}
.article-figure .well,.article-figure > img{border:1px solid var(--ink);}
.article-figure img{width:100%;object-fit:cover;}
.article-figure figcaption{font-size:14px;color:var(--muted);font-style:italic;margin-top:10px;line-height:1.45;}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:30px 0;}
.gallery figure{margin:0;}
.gallery img{border:1px solid var(--ink);aspect-ratio:4/3;object-fit:cover;}
.gallery figcaption{font-size:12.5px;color:var(--muted);font-style:italic;margin-top:6px;}

/* map */
.map-figure{margin:34px 0;}
.map-figure .map-slot{aspect-ratio:16/9;background:var(--paper-3) repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(90,43,76,.05) 12px,rgba(90,43,76,.05) 24px);border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;}
.map-figure .map-slot::after{content:"Locator map";font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.map-figure figcaption{font-size:14px;color:var(--muted);font-style:italic;margin-top:10px;}

/* profile + org cards */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:var(--rule);border:1px solid var(--rule);margin:30px 0;}
.profile-card{background:var(--paper);padding:22px 22px;}
.profile-card .p-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--ink);margin-bottom:12px;}
.profile-card.no-photo::before{content:"";display:block;width:44px;height:2px;background:var(--accent);margin-bottom:14px;}
.profile-card h3{font-size:20px;font-family:var(--serif-display);margin-bottom:4px;}
.profile-card .p-role{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;}
.profile-card p{font-size:15px;line-height:1.5;color:var(--ink-soft);margin:0;}
.profile-card .p-links{margin-top:10px;font-size:14px;}
.profile-card .p-attr{font-size:12.5px;color:var(--muted);font-style:italic;margin-top:8px;}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:30px 0;}
.org-card{display:flex;align-items:center;gap:12px;border:1px solid var(--rule);padding:14px 16px;background:var(--paper);}
.org-card:hover{border-color:var(--accent);}
.org-logo{width:40px;height:40px;object-fit:contain;border:1px solid var(--rule);flex:0 0 auto;}
.org-card.no-logo .org-logo{display:flex;align-items:center;justify-content:center;background:var(--accent);border:0;color:var(--paper);font-family:var(--serif-display);font-weight:700;font-size:18px;}
.org-card .org-name{font-family:var(--serif-display);font-weight:700;font-size:16px;display:block;color:var(--ink);}
.org-card .org-host{font-size:12.5px;color:var(--muted);display:block;}
.entity-ref{white-space:nowrap;color:var(--accent);border-bottom:1px solid rgba(90,43,76,.4);}
.entity-ref:hover{border-bottom-color:var(--accent);}

/* further reading / related */
.related{border-top:3px double var(--ink);margin-top:44px;padding-top:26px;}
.related .rel-label{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:22px;}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px;background:var(--rule);border:1px solid var(--rule);}
.related-links{list-style:none;margin:0;padding:0;}
.further-grid a,.related-links a{display:block;background:var(--paper);padding:22px 22px;color:var(--ink);}
.further-grid a:hover{background:var(--paper-3);}
.further-grid a .fr-cat{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:9px;}
.further-grid a .fr-title{font-family:var(--serif-display);font-weight:700;font-size:22px;line-height:1.04;display:block;}
.further-grid a:hover .fr-title{color:var(--accent);}
.further-grid a .fr-dek{font-size:14.5px;line-height:1.45;color:var(--ink-soft);margin-top:8px;display:block;}

/* ============================================================
   CATEGORY / INDEX PAGES
   ============================================================ */
.cat-hero{padding-block:clamp(48px,6vw,84px) clamp(24px,3vw,36px);border-bottom:3px double var(--ink);}
.cat-hero .kicker{display:block;margin-bottom:18px;}
.cat-hero h1{font-size:clamp(46px,7vw,104px);line-height:.92;}
.cat-hero .cat-intro{font-size:clamp(19px,2vw,24px);line-height:1.5;color:var(--ink-soft);max-width:58ch;margin-top:22px;font-style:italic;}
.cat-list{list-style:none;margin:0;padding:0;}
.cat-list li{border-bottom:1px solid var(--rule);}
.cat-list a{display:grid;grid-template-columns:80px 1fr auto;gap:26px;align-items:baseline;padding:26px 0;}
.cat-list .cl-num{font-family:var(--serif-display);font-weight:700;font-size:30px;color:var(--accent);line-height:1;}
.cat-list h2{font-size:clamp(26px,3vw,40px);line-height:1.02;}
.cat-list a:hover h2{color:var(--accent);}
.cat-list .cl-dek{font-size:16.5px;line-height:1.5;color:var(--ink-soft);margin-top:8px;max-width:76ch;}
.cat-list .cl-cat{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-top:8px;}

/* simple content pages (about/contact/404/styleguide) */
.page-hero{padding-block:clamp(48px,6vw,84px) clamp(20px,3vw,32px);}
.page-hero .kicker{display:block;margin-bottom:18px;}
.page-hero h1{font-size:clamp(44px,6.4vw,88px);line-height:.94;max-width:18ch;}
.page-body{max-width:var(--measure);padding-bottom:clamp(40px,5vw,72px);font-size:20px;line-height:1.66;color:#241a20;}
.page-body > p{margin:0 0 22px;}
.page-body h2{font-family:var(--serif-display);font-size:30px;margin:40px 0 14px;}
.page-body a{border-bottom:1px solid rgba(90,43,76,.4);}
.contact-list{list-style:none;margin:24px 0;padding:0;display:grid;gap:2px;background:var(--rule);border:1px solid var(--rule);}
.contact-list li{background:var(--paper);padding:20px 22px;display:flex;align-items:center;gap:16px;}
.contact-list .ci-ico{width:26px;height:26px;flex:0 0 auto;color:var(--accent);}
.contact-list .ci-k{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;}
.contact-list .ci-v{font-family:var(--serif-display);font-size:19px;color:var(--ink);}

/* styleguide scaffolding */
.sg-section{padding-block:36px;border-bottom:1px solid var(--rule);}
.sg-section > h2{font-size:32px;margin-bottom:6px;}
.sg-section > .sg-note{font-size:15px;color:var(--muted);font-style:italic;margin-bottom:24px;}
.sg-label{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:28px 0 10px;font-weight:600;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .desk-grid,.shelf-layout,.essay-feature,.readlist,.article-grid{grid-template-columns:1fr;}
  .desk-aside,.margin-rail{border-left:0;padding-left:0;}
  .margin-rail{position:static;flex-direction:column;margin-top:20px;}
  .cards.cols-3{grid-template-columns:1fr 1fr;}
  .roll{grid-template-columns:repeat(4,1fr);}
  .shelf-covers{grid-template-columns:repeat(4,1fr);}
  .article-body{max-width:none;}
}
@media (max-width:720px){
  body{font-size:18px;}
  .topstrip .wrap{flex-direction:column;gap:2px;align-items:center;text-align:center;}
  .nav-toggle{display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;width:100%;padding:14px 18px;font-family:var(--serif-body);font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);user-select:none;}
  .nav-toggle::after{content:"\25BE";font-size:12px;transition:transform .2s ease;}
  .nav-tog-input:checked ~ .nav-toggle::after{transform:rotate(180deg);}
  .mainnav > ul{display:none;flex-direction:column;border-top:1px solid var(--rule);}
  .mainnav > ul::before{display:none;}
  .mainnav > ul > li{display:block;}
  .mainnav > ul > li + li::before{display:none;}
  .nav-tog-input:checked ~ ul{display:flex;}
  .mainnav > ul > li{border-bottom:1px solid var(--rule);}
  .mainnav > ul > li > a{white-space:normal;padding:13px 22px;border-right:0;border-left:0;font-style:normal;}
  .mainnav > ul > li:first-child > a{border-left:0;}
  .mainnav .has-sub > a::after{content:"";}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;border:0;padding:2px 0 10px 22px;}
  .submenu li a{color:var(--muted);padding:6px 0;font-size:15px;}
  .featured{grid-template-columns:1fr;}
  .roll{grid-template-columns:repeat(3,1fr);}
  .cards.cols-3,.cards.cols-2{grid-template-columns:1fr;}
  .shelf-covers{grid-template-columns:repeat(2,1fr);}
  .idx-row{grid-template-columns:44px 1fr;}
  .idx-row .idx-cat{grid-column:2;padding-top:0;}
  .cat-list a{grid-template-columns:44px 1fr;}
  .cat-list .cl-cat{grid-column:2;}
  .article-body{font-size:18px;}
  .post-hero h1,.cat-hero h1,.page-hero h1{letter-spacing:-.01em;}
  .shelf-rail{min-height:0;flex-wrap:wrap;}
  .statrow{grid-template-columns:1fr 1fr;}
  .versus,.datatable{font-size:14px;}
  .versus th,.versus td,.datatable th,.datatable td{padding:9px 10px;}
}
@media (max-width:420px){
  .roll{grid-template-columns:repeat(2,1fr);}
  .shelf-covers{grid-template-columns:repeat(2,1fr);}
  .note-panel .np-head{grid-template-columns:70px 1fr;gap:14px;}
}

.featured:empty{margin-bottom:0;}
.sponsor.slot-empty{border-style:dashed;border-color:#5a4450;background:transparent;min-height:110px;align-items:center;justify-content:center;}
.sponsor.mini.slot-empty{min-height:58px;}
.slot-mark{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-soft);}

/* ============================================================
   HOUSE PLATE TREATMENT — photography set like printed plates.
   (Covers are data: .np-cover / .shelf-covers stay clean.)
   ============================================================ */
.flag-figure .well,.post-hero-figure .well,.rail-figures .well,.article-figure .well{
  position:relative;border:1px solid var(--ink);background:var(--dark);
  box-shadow:10px 10px 0 -1px rgba(90,43,76,.24);
}
.flag-figure .well::after,.post-hero-figure .well::after,.rail-figures .well::after,.article-figure .well::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(90,43,76,.14),rgba(22,11,18,.20));
  mix-blend-mode:multiply;
}
.flag-figure .well::before,.post-hero-figure .well::before,.rail-figures .well::before,.article-figure .well::before{
  content:"";position:absolute;inset:9px;pointer-events:none;z-index:1;
  border:1px solid rgba(239,230,212,.38);
}
.flag-figure img,.post-hero-figure img,.rail-figures img,.article-figure img{
  filter:sepia(.16) saturate(.82) contrast(1.06) brightness(.97);
}
.flag-figure figcaption,.post-hero-figure figcaption,.rail-figures figcaption,.article-figure figcaption{
  margin-top:12px;
}
.flag-figure figcaption::before,.post-hero-figure figcaption::before,.rail-figures figcaption::before,.article-figure figcaption::before{
  content:"— ";color:var(--accent);font-style:normal;
}

/* roll logos: even height regardless of orientation */
.roll .sponsor img{width:auto;height:27px;max-width:118px;object-fit:contain;}

/* covers are data: frame, never crop */
[hidden]{display:none !important;}
.np-cover{position:relative;}
.np-cover img{width:100%;height:100%;object-fit:contain;background:var(--dark-well);}
.shelf-covers .cover img{object-fit:contain;background:var(--dark-well);}
.np-typo{position:absolute;inset:0;background:#f0e6d0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:14px 9px;box-shadow:inset 0 0 0 4px #f0e6d0,inset 0 0 0 5px #a8442f;}
.np-typo .tp-author{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#3c2d34;line-height:1.3;}
.np-typo .tp-title{font-family:var(--serif-display);font-weight:700;font-size:13.5px;line-height:1.12;color:#a03828;}
.np-typo .tp-roman{font-style:italic;font-size:9.5px;color:#6b5d4e;}

/* ============================================================
   READING LIST — covers set like a bookseller's table
   ============================================================ */
.shelf-covers{gap:28px;align-items:start;counter-reset:rl;}
.shelf-covers .cover{display:block;position:relative;text-align:center;transition:transform .22s ease;}
.shelf-covers .cover:nth-child(even){transform:translateY(16px);}
.shelf-covers .cover:hover{transform:translateY(-6px);}
.shelf-covers .cover:nth-child(even):hover{transform:translateY(8px);}
.shelf-covers .cover::before{
  counter-increment:rl;content:counter(rl,decimal-leading-zero);
  position:absolute;top:-13px;left:-11px;z-index:2;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif-display);font-weight:700;font-size:19px;
  background:var(--accent);color:var(--paper);border:1px solid var(--ink);
}
.shelf-covers .cover .well{aspect-ratio:auto;background:var(--paper);border:1px solid var(--ink);padding:10px;box-shadow:9px 9px 0 -1px rgba(90,43,76,.20);}
.shelf-covers .cover:hover .well{box-shadow:9px 9px 0 -1px var(--accent);}
.shelf-covers .cover img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:transparent;}
.shelf-covers .cover .ct{margin-top:14px;font-size:17px;}
.shelf-covers .cover .ca{font-style:italic;}
.shelf-covers .cover:hover .ct{color:var(--accent);}

/* ============================================================
   CRITICISM INDEX — card-catalogue treatment
   ============================================================ */
.crit-grid{display:grid;grid-template-columns:300px 1fr;gap:clamp(30px,4vw,56px);align-items:start;}
.crit-rail{position:sticky;top:20px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;border-top:2px solid var(--ink);padding-top:18px;}
.crit-rail h2{font-size:clamp(34px,3.8vw,56px);line-height:.94;}
.crit-rail .band-intro{font-size:15.5px;color:var(--ink-soft);margin:0;}
.filterbar-stack{flex-direction:column;align-items:stretch;gap:6px;margin:10px 0 2px;width:100%;max-width:240px;}
.filterbar-stack .fb-label{margin:0 0 4px;}
.filterbar-stack .chip{text-align:left;}
.crit-cards{border-top:0;display:flex;flex-direction:column;gap:16px;}
.idx-card{position:relative;display:block;background:var(--paper-2);border:1px solid var(--ink);padding:24px 26px 20px 96px;box-shadow:7px 7px 0 -1px rgba(90,43,76,.20);color:var(--ink);}
.idx-card:hover{box-shadow:7px 7px 0 -1px var(--accent);color:var(--ink);}
.idx-card .idx-num{position:absolute;left:26px;top:20px;font-family:var(--serif-display);font-weight:800;font-size:42px;line-height:1;color:rgba(90,43,76,.34);transition:color .16s ease;}
.idx-card:hover .idx-num{color:var(--accent);}
.idx-card .idx-cat{position:absolute;right:-1px;top:-1px;background:var(--ink);color:var(--paper);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:6px 13px;white-space:nowrap;}
.idx-card h3{font-size:clamp(22px,2vw,28px);line-height:1.04;margin:0 0 8px;max-width:22ch;}
.idx-card:hover h3{color:var(--accent);}
.idx-card .idx-dek{font-size:15px;line-height:1.48;color:var(--ink-soft);margin:0 0 12px;max-width:66ch;}
.idx-card .idx-go{font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);}
@media (max-width:1000px){
  .crit-grid{grid-template-columns:1fr;}
  .crit-rail{position:static;}
  .filterbar-stack{flex-direction:row;flex-wrap:wrap;max-width:none;}
}
@media (max-width:720px){
  .idx-card{padding:52px 20px 18px 20px;}
  .idx-card .idx-num{left:20px;top:44px;font-size:30px;position:static;display:none;}
  .idx-card .idx-cat{right:0;top:0;}
}

[class~="roll"] .sponsor img,[class*="roll-"] .sponsor img,[class*="-roll"] .sponsor img,.sponsor.mini img{width:auto;height:27px;max-width:118px;object-fit:contain}

/* enc-sponsor-fix */
.sponsor:not(.mini){display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:26px 22px}
.sponsor:not(.mini) img{height:52px;width:auto;max-width:80%;object-fit:contain}
.sponsor .sponsor-blurb{font-size:14px;line-height:1.5;color:#b9a9bd;font-style:italic}
.sponsor.mini img{height:26px;width:auto;max-width:120px;object-fit:contain}

/* enc-sponsor-fix2 */
.sponsor img,.sponsor.mini img{filter:none !important}
.sponsor .sp-link{display:flex;flex-direction:column;align-items:center;gap:14px;text-decoration:none}
.sponsor.mini .sp-link{flex-direction:row;justify-content:center}

/* enc-sponsor-center */
.sponsor img,.sponsor.mini img{filter:none !important;align-self:center !important}
.sponsor .sp-link{display:flex;flex-direction:column;align-items:center !important;justify-content:center !important;text-align:center;gap:14px;text-decoration:none;width:100%;height:100%}
.sponsor.mini .sp-link{flex-direction:row}
.sponsor:not(.mini) img{max-width:78%}

/* post-hero-gap: breathing room before the article body */
.post-hero-figure{margin-bottom:clamp(30px,3.4vw,50px) !important}
.article{padding-top:8px}

/* 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. */
.roll .mini.sponsor .sp-link.sp-link{display:block!important;width:100%!important}
.roll .mini.sponsor.mini.sponsor img{height:38px!important;display:block!important;width:100%!important}

/* op-recentre-plate: the money mark sat 15px off-centre in its own plate (0px one side, 15px the
   other, a 120px mark in a 135px plate). ⚠️ THE CAUSE IS OURS: sp-mark-frame forces display:block
   on the plate, which makes Design's justify-content:center inert. The mark is centred with auto
   inline margins, which works whatever the plate's display ends up being.
   (This build's stylesheet is linked with a ?v= query, so my usual link-scan missed it.) */
a.sp-link{text-align:center}
a.sp-link > img{display:block!important;margin-inline:auto!important}
/* op-heading-levels */
h1:where(.rt-h2){font-family: var(--serif-display); font-weight: 700; line-height: 1; margin: 0px; letter-spacing: -0.01em; color: var(--ink);}
.flag h1:where(.rt-h2){font-size: clamp(40px, 6vw, 84px); line-height: 0.94; margin-bottom: 22px;}
.flag h1:where(.rt-h2) a{color: var(--ink);}
.flag h1:where(.rt-h2) a:hover{color: var(--accent);}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(a.cover > div.well > img,
  figure.article-figure > div.well > img,
  figure.flag-figure > div.well > img,
  figure.post-hero-figure > div.well > img,
  main > section.fullbleed > img){height:auto}
/* op-img-dims:end */
