/* The Anatolia Reader — "The Tile" ------------------------------------------
   Iznik tile + old paper. Turquoise is the ink; pomegranate is the tile accent.
   Ornament is structural: hairline frames, corner diamonds, octagram bands.   */

:root{
  --ground:#DCD3BE;
  --paper:#EFE7D6;
  --paper-2:#F7F2E6;
  --band:#E5D9C1;
  --ink:#14494E;
  --turq:#1D6B73;
  --turq-lite:#2E8B94;
  --accent:#A8342A;
  --muted:#5C7376;
  --body:#22484B;
  --rule:rgba(20,73,78,.22);
  --rule-2:rgba(20,73,78,.42);
  --dark:#123C40;
  --display:Marcellus,"Times New Roman",serif;
  --prose:Newsreader,Georgia,serif;
  --label:"Barlow Condensed","Arial Narrow",sans-serif;
  --octagram:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Crect width='40' height='40' fill='%231D6B73'/%3E%3Cg fill='none' stroke='%23EFE7D6' stroke-width='1.1'%3E%3Crect x='7' y='7' width='26' height='26'/%3E%3Crect x='7' y='7' width='26' height='26' transform='rotate(45 20 20)'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='2.6' fill='%23A8342A'/%3E%3C/svg%3E");
  --octagram-pale:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34'%3E%3Cg fill='none' stroke='%231D6B73' stroke-opacity='.18' stroke-width='1'%3E%3Crect x='6' y='6' width='22' height='22'/%3E%3Crect x='6' y='6' width='22' height='22' transform='rotate(45 17 17)'/%3E%3C/g%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--ground);color:var(--body);
  font:400 clamp(19px,1.15vw,21px)/1.62 var(--prose);
  text-wrap:pretty;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--turq);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent)}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;color:var(--ink);margin:0;line-height:1.08;letter-spacing:.005em}
p{margin:0 0 1.05em}
ul,ol{margin:0 0 1.1em;padding-left:1.2em}
hr{border:0;border-top:1px solid var(--rule);margin:2em 0}
::selection{background:rgba(168,52,42,.18)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.wrap{width:100%;max-width:1340px;margin-inline:auto;padding-inline:clamp(18px,4vw,52px)}
.sheet{background:var(--paper)}
.band{padding-block:clamp(36px,4.6vw,68px)}
.band--paper{background:var(--paper)}
.band--soft{background:var(--band)}
.band--dark{background:var(--turq);color:#EFE7D6}
.tile-rule{height:38px;background:var(--octagram);background-size:40px 40px}
.tile-rule--slim{height:24px;background:var(--octagram);background-size:24px 24px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--paper);padding:10px 16px}

/* labels + section marks ---------------------------------------------------*/
.kicker,.label{font:500 clamp(14px,.95vw,16px)/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.label--ink{color:var(--turq)}
.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 22px}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--rule)}
.diamond{width:14px;height:14px;flex:none;background:var(--accent);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.diamond--ink{background:var(--turq)}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-bottom:26px}
.sec-head h2{font-size:clamp(30px,3vw,44px)}
.sec-note{font-style:italic;color:var(--muted);font-size:clamp(16px,1.05vw,18px);max-width:46ch;margin:0}
.centre-mark{display:flex;align-items:center;justify-content:center;gap:16px;margin:16px auto 0;max-width:760px}
.centre-mark::before,.centre-mark::after{content:"";flex:1;height:1px;background:var(--rule-2)}

/* framed panels (tile frame + corner diamonds) ----------------------------*/
.framed{position:relative;border:1px solid var(--turq-lite);background:var(--paper-2)}
.framed--pad{padding:10px}
.framed::before,.framed::after,.framed>.cnr{pointer-events:none}
.cnr{position:absolute;width:20px;height:20px;background:var(--paper);border:1px solid var(--turq-lite);transform:rotate(45deg)}
.cnr.tl{top:-11px;left:-11px}.cnr.tr{top:-11px;right:-11px}
.cnr.bl{bottom:-11px;left:-11px}.cnr.br{bottom:-11px;right:-11px}

/* ---------------------------------------------------------------- masthead */
.masthead{background:var(--paper);border-bottom:1px solid var(--rule)}
.masthead__inner{padding-block:clamp(24px,2.4vw,36px) 0;text-align:center}
.wordmark{display:block;margin:0;font-family:var(--display);font-weight:400;font-size:clamp(34px,4.6vw,62px);letter-spacing:.06em;color:var(--ink);text-decoration:none;line-height:1}
.wordmark a{color:inherit;text-decoration:none}
.wordmark a:hover{color:var(--accent)}
.wordmark:hover{color:var(--ink)}
.strapline{margin:14px 0 0;font-size:clamp(17px,1.15vw,21px);color:var(--muted)}

/* nav: numbered single-line sections, tile dividers, CSS-only panels */
.nav{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:clamp(16px,1.8vw,24px);background:var(--paper)}
.nav__inner{display:flex;align-items:stretch;justify-content:center;position:relative}
.nav ul{list-style:none;margin:0;padding:0}
.nav__list{display:flex;justify-content:center;flex-wrap:nowrap}
.nav-item{position:relative}
.nav-item+.nav-item::before{content:"";position:absolute;left:0;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:5px;height:5px;background:var(--accent);opacity:.55}
.nav-link{display:flex;align-items:baseline;gap:8px;padding:15px clamp(11px,1.3vw,24px);text-decoration:none;color:var(--turq);white-space:nowrap}
.nav-link__no{font:500 12px/1 var(--label);letter-spacing:.16em;color:var(--accent);opacity:.85}
.nav-link__name{font:500 clamp(14px,1.05vw,17.5px)/1 var(--label);letter-spacing:clamp(.08em,.6vw,.17em);text-transform:uppercase;white-space:nowrap}
.nav-link:hover,.nav-item:focus-within .nav-link{color:var(--accent)}
.nav-link[aria-current]{color:var(--accent)}
.nav-link[aria-current] .nav-link__name{box-shadow:inset 0 -2px 0 var(--accent)}
.nav-item--hub .nav-link__no{opacity:.5;color:var(--muted)}

.nav-sub{
  position:absolute;top:100%;left:50%;margin-left:-326px;z-index:40;
  width:652px;max-width:calc(100vw - 32px);
  display:grid;grid-template-columns:232px minmax(0,1fr);
  background:var(--paper);border:1px solid var(--turq-lite);border-top:3px solid var(--accent);
  opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s;
  box-shadow:0 18px 34px rgba(20,73,78,.16);
}
.has-sub:hover>.nav-sub,.has-sub:focus-within>.nav-sub{opacity:1;visibility:visible;transform:none}
/* keep the leading and trailing panels inside the viewport */
@media (min-width:901px){
  .nav-item:first-child .nav-sub,.nav-item:nth-child(2) .nav-sub{left:0;margin-left:0}
  .nav-item:nth-last-child(2) .nav-sub,.nav-item:nth-last-child(3) .nav-sub{left:auto;right:0;margin-left:0}
}
.nav-sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav-sub__intro{display:flex;flex-direction:column;gap:7px;padding:20px 22px;background:var(--band);border-right:1px solid var(--rule)}
.nav-sub__icon{color:var(--turq)}
.nav-sub__icon svg{width:38px;height:38px}
.nav-sub__no{font:500 12px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:4px}
.nav-sub__title{font-family:var(--display);font-size:24px;line-height:1.1;color:var(--ink)}
.nav-sub__blurb{font:400 17px/1.4 var(--prose);color:var(--muted)}
.nav-sub__all{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:9px;font:500 13.5px/1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--turq);text-decoration:none}
.nav-sub__all:hover{color:var(--accent)}
.nav-sub__arrow{width:7px;height:7px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.nav-sub__list{padding:8px 0}
.nav-sub__list li+li{border-top:1px solid var(--rule)}
.nav-sub__list a{display:block;padding:11px 22px;text-decoration:none;color:var(--ink);font:400 17.5px/1.32 var(--prose)}
.nav-sub__list a:hover{background:var(--band);color:var(--accent)}
.nav-toggle,.nav-toggle-label{display:none}

/* ------------------------------------------------------------------- cards */
.grid{display:grid;gap:clamp(20px,2vw,30px)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.card{display:flex;flex-direction:column;background:var(--paper-2);border:1px solid var(--rule);text-decoration:none;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--accent)}
.card__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--band);border-bottom:1px solid var(--rule)}
.card__media img{width:100%;height:100%;object-fit:cover}
.card__body{display:flex;flex-direction:column;flex:1;padding:clamp(16px,1.4vw,22px)}
.card__title{font-size:clamp(23px,1.7vw,29px);line-height:1.12;margin:10px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:2.24em}
.card__dek{margin:11px 0 0;color:var(--muted);font-size:clamp(17px,1.05vw,18.5px);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card__meta{margin-top:auto;padding-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font:500 15px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--turq)}
.card__meta .sep{width:5px;height:5px;background:var(--accent);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.layer-tag{font:500 15px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}

/* lead feature */
.lead-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border:1px solid var(--turq-lite);background:var(--paper-2)}
.lead-feature__media{position:relative;aspect-ratio:4/3;overflow:hidden}
.lead-feature__media img{width:100%;height:100%;object-fit:cover}
.lead-feature__body{padding:clamp(22px,2.4vw,42px);display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--turq-lite)}
.lead-feature__title{font-size:clamp(32px,3.5vw,52px);margin:16px 0 0}
.lead-feature__dek{margin:18px 0 0;font-size:clamp(19px,1.35vw,23px);color:#3E5E61;line-height:1.5}
.lead-feature__cta{margin-top:22px;display:inline-flex;align-items:center;gap:10px;font:500 16px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.lead-feature a{text-decoration:none}

/* motif key ---------------------------------------------------------------*/
.motif-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,1.2vw,18px)}
.motif{background:var(--paper);padding:16px 14px 18px;text-align:center;border:1px solid rgba(239,231,214,.35)}
.motif svg{width:100%;height:auto;max-height:96px}
.motif__name{margin-top:12px;font:500 clamp(15px,1vw,17px)/1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.motif__what{margin:9px 0 0;font-size:16.5px;line-height:1.45;color:var(--muted)}

/* era ruler ---------------------------------------------------------------*/
.ruler{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--turq-lite);background:var(--paper-2)}
.ruler>div{padding:14px 14px 16px;border-right:1px solid var(--rule)}
.ruler>div:last-child{border-right:0}
.ruler__hatch{height:7px;background:repeating-linear-gradient(90deg,var(--turq-lite) 0 2px,transparent 2px 7px)}
.ruler>div:first-child .ruler__hatch{background:repeating-linear-gradient(90deg,var(--accent) 0 2px,transparent 2px 7px)}
.ruler__era{margin-top:11px;font:500 clamp(15px,1.05vw,17px)/1.1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--turq)}
.ruler>div:first-child .ruler__era{color:var(--accent)}
.ruler__marker{margin-top:8px;font-size:16px;line-height:1.35;color:var(--muted)}
.ruler__cap{margin:14px 0 0;font-style:italic;color:var(--muted);font-size:17px}

/* map ---------------------------------------------------------------------*/
.map-figure{margin:0}
figure{margin-inline:0}
.map-slot{position:relative;background:#C7D6D8;border:1px solid var(--turq-lite);min-height:280px;overflow:hidden}
.map-slot svg{display:block;width:100%;height:auto}
.map-slot__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;background:var(--paper-2)}
.map-slot__empty p{margin:8px 0 0;color:var(--muted);font-size:17px;max-width:44ch}
.map-figure figcaption,.article-figure figcaption{margin-top:12px;font-size:17px;font-style:italic;color:var(--muted)}
.map-pin{cursor:pointer}
.map-pin .pin-hit{fill:transparent}
.map-pin .pin-mark{fill:var(--accent);stroke:var(--paper);stroke-width:1.2}
.map-pin .pin-label{font:500 13px var(--label);letter-spacing:.1em;text-transform:uppercase;fill:var(--ink);paint-order:stroke;stroke:rgba(232,224,204,.9);stroke-width:3.5px}
.map-pin:hover .pin-mark,.map-pin:focus .pin-mark{fill:var(--turq)}
.map-pin:hover .pin-label{fill:var(--accent)}
.map-legend{display:flex;flex-wrap:wrap;gap:18px 26px;margin-top:16px;font:500 15px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--turq)}
.map-legend span{display:flex;align-items:center;gap:9px}
.site-list{list-style:none;margin:0;padding:0;columns:3;column-gap:34px}
.site-list li{break-inside:avoid;border-top:1px solid var(--rule);padding:9px 0}
.site-list a{text-decoration:none;font-size:18.5px}
.site-list .st-where{display:block;font:500 13.5px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* breakfast table --------------------------------------------------------*/
.breakfast{border:1px solid var(--turq-lite);background:var(--paper-2)}
.breakfast__head{display:flex;align-items:baseline;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--rule);background:var(--band)}
.breakfast__head h3{font-size:clamp(24px,2.1vw,32px)}
.plates{display:grid;grid-template-columns:repeat(7,1fr);gap:22px 16px;padding:clamp(20px,2vw,30px) clamp(16px,1.6vw,24px)}
.plate{text-align:center}
.plate__dish{width:100%;max-width:120px;aspect-ratio:1;margin:0 auto;border-radius:50%;border:1px solid var(--turq-lite);background:var(--paper);display:grid;place-items:center}
.plate__dish svg{width:70%;height:70%}

.plate__dish--photo{position:relative;overflow:hidden;background:var(--band)}
.plate__dish--photo img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.plate__ghost{position:absolute;inset:0;display:grid;place-items:center;opacity:.3}
.plate__ghost svg{width:64%;height:64%}
.plate__drop{position:relative;z-index:1;text-align:center;font:500 12.5px/1.25 var(--label);letter-spacing:.22em;text-transform:uppercase;color:var(--turq);background:rgba(239,231,214,.82);padding:6px 9px}
.plate__drop span{display:block;margin-top:3px;letter-spacing:.12em;color:var(--accent)}
.plate--hot .plate__dish--photo{border-color:var(--accent)}
.plate--hot .plate__dish{border-color:var(--accent)}
.plate__name{margin-top:11px;font:500 clamp(14.5px,1vw,16px)/1.15 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.plate__note{margin:5px 0 0;font-size:16px;line-height:1.4;color:var(--muted)}
.breakfast__foot{padding:16px 22px;border-top:1px solid var(--rule);background:var(--band);color:#3E5E61;font-size:17.5px}

/* sponsors ---------------------------------------------------------------*/
.patrons__intro{max-width:56ch;color:var(--muted);margin:0 0 24px}
.sponsor-row{display:grid;gap:clamp(14px,1.4vw,22px)}
.sponsor-row--featured{grid-template-columns:repeat(2,1fr)}
.sponsor-row--roll{grid-template-columns:repeat(3,1fr)}
.sponsor{
  display:flex;flex-direction:column;gap:12px;text-decoration:none;
  background:var(--dark);border:1px solid rgba(20,73,78,.5);padding:18px 20px;min-height:96px;
}
.sponsor:hover{border-color:var(--accent)}
.sponsor img{width:100%;max-height:52px;object-fit:contain;object-position:left center;background:transparent;filter:none}
.sponsor-row--roll .sponsor img{max-height:38px}
.sponsor-blurb{color:rgba(239,231,214,.78);font-size:16.5px;line-height:1.45}
.sponsor-blurb:empty{display:none}

/* footer -----------------------------------------------------------------*/
.foot{background:var(--band);border-top:1px solid var(--rule)}
.foot__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(24px,3vw,52px);padding-block:clamp(30px,3vw,48px)}
.foot h4{font:500 15px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{padding:6px 0}
.foot a{text-decoration:none;font-size:18px}
.foot__disambig{margin:14px 0 0;color:var(--muted);font-size:17.5px;max-width:44ch}
.foot__base{border-top:1px solid var(--rule);padding-block:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:500 14.5px/1.5 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* ======================================================= article template */
.post-hero{position:relative;margin:0;background:var(--ink)}
.post-hero img{width:100%;height:clamp(280px,44vh,560px);object-fit:cover}
.post-head{background:var(--paper);border:1px solid var(--turq-lite);margin-top:-70px;position:relative;padding:clamp(24px,3vw,52px)}
.post-head h1{font-size:clamp(34px,4.6vw,68px);margin:16px 0 0;max-width:26ch}
.post-head .lead{margin:20px 0 0;max-width:60ch}
.post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);font:500 clamp(15px,1vw,16.5px)/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--turq)}
.post-meta .sep{width:5px;height:5px;background:var(--accent);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.post-figcredit{font-size:15.5px;color:var(--muted);font-style:italic}

.post-body{display:grid;grid-template-columns:minmax(0,210px) minmax(0,72ch) minmax(0,1fr);gap:0 clamp(24px,3vw,54px);padding-block:clamp(30px,3.4vw,56px)}
.post-body>*{grid-column:2}
.post-body .lead{font-size:clamp(21px,1.5vw,25px);line-height:1.5;color:#3E5E61}
.post-body p{font-size:clamp(20px,1.35vw,22.5px);line-height:1.68}
.post-body h2{grid-column:2;display:flex;gap:clamp(14px,1.4vw,22px);align-items:baseline;font-size:clamp(26px,2.5vw,38px);margin:1.5em 0 .7em}
.post-body h2 .sec-no{flex:none;font-family:var(--label);font-size:clamp(26px,2.4vw,38px);letter-spacing:.06em;color:var(--accent);line-height:1.05}
.post-body h3{font-size:clamp(22px,1.8vw,27px);margin:1.5em 0 .5em}
.post-body>.bleed{grid-column:1/-1}
.post-body>.wide{grid-column:2/-1}
.post-body a{color:var(--turq)}
.dropcap::first-letter{float:left;font-family:var(--display);font-size:4.1em;line-height:.74;padding:.09em .1em 0 0;color:var(--accent)}

.lead{font-size:clamp(20px,1.4vw,24px);line-height:1.5;color:#3E5E61;margin:0 0 1em}
.pullquote{margin:1.6em 0;padding:26px 30px;border:1px solid var(--turq-lite);background:var(--paper-2);text-align:center}
.pullquote p{margin:0;font-family:var(--display);font-size:clamp(24px,2.2vw,33px)!important;line-height:1.32;color:var(--ink)}
.blockquote{margin:1.6em 0;padding:20px 0 20px 26px;border-left:4px solid var(--accent)}
.blockquote p{margin:0;font-family:var(--display);font-size:clamp(21px,1.8vw,27px)!important;line-height:1.36;color:var(--ink)}
.blockquote cite{display:block;margin-top:12px;font:500 15.5px/1.4 var(--label);letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--accent)}
.callout{margin:1.6em 0;padding:22px 26px;background:var(--band);border-top:3px solid var(--accent)}
.callout p{margin:0;font-size:clamp(19px,1.25vw,21px)!important}
.callout>*+*{margin-top:.8em}
.note{margin:1.4em 0;padding:16px 20px 16px 46px;background:var(--paper-2);border:1px solid var(--rule);position:relative;font-size:18.5px!important;color:var(--muted)}
.note::before{content:"";position:absolute;left:20px;top:22px;width:12px;height:12px;background:var(--turq-lite);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}

.versus,.datatable{width:100%;border-collapse:collapse;margin:1.6em 0;background:var(--paper-2);font-size:18.5px}
.versus caption,.datatable caption{caption-side:top;text-align:left;padding:0 0 12px;font:500 15px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.versus th,.versus td,.datatable th,.datatable td{border:1px solid var(--rule);padding:12px 14px;text-align:left;vertical-align:top}
.versus thead th,.datatable thead th{background:var(--band);font:500 15.5px/1.2 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.versus tbody th{width:26%;font-family:var(--label);letter-spacing:.12em;text-transform:uppercase;font-size:16px;color:var(--turq)}
.datatable tbody tr:nth-child(even){background:rgba(20,73,78,.04)}

.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;margin:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.statblock{background:var(--paper);padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.stat-num{font-family:var(--display);font-size:clamp(32px,3.2vw,48px);line-height:1;color:var(--accent)}
.stat-label{font:500 15.5px/1.35 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--turq)}
.numbers-band{background:var(--turq);color:#EFE7D6;padding-block:clamp(26px,3vw,44px)}
.numbers-band h3{color:#EFE7D6;font-size:clamp(24px,2.2vw,32px)}
.numbers-band .statrow{border-color:rgba(239,231,214,.34)}
.numbers-band .statblock{border-color:rgba(239,231,214,.34)}
.numbers-band .statblock{background:var(--turq)}
.numbers-band .stat-num{color:#EFE7D6}
.numbers-band .stat-label{color:rgba(239,231,214,.8)}

.timeline{list-style:none;margin:1.6em 0;padding:0;border-top:1px solid var(--rule)}
.timeline li{display:grid;grid-template-columns:minmax(140px,22%) 1fr;gap:14px 24px;padding:15px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.t-when{font:500 16px/1.3 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.t-what{font-size:19px;line-height:1.5}

.chart{margin:1.7em 0}
.chart svg{width:100%;height:auto;overflow:visible}
.chart figcaption{margin-top:12px;font-size:17px;font-style:italic;color:var(--muted)}
.chart .c-bar{fill:var(--turq-lite)}
.chart .c-bar-alt{fill:var(--accent)}
.chart .c-axis{stroke:var(--rule-2);stroke-width:1}
.chart .c-lab{font:500 14px var(--label);letter-spacing:.08em;fill:var(--muted);text-transform:uppercase}
.chart .c-val{font:500 15px var(--label);letter-spacing:.06em;fill:var(--ink)}
.chart .c-line{fill:none;stroke:var(--accent);stroke-width:2.5}

.article-figure{margin:1.8em 0}
.article-figure img{width:100%;border:1px solid var(--rule)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:1.8em 0}
.gallery figure{margin:0}
.gallery figcaption{margin-top:9px;font-size:16px;font-style:italic;color:var(--muted)}

.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:1.7em 0}
.profile-card{background:var(--paper-2);border:1px solid var(--rule);padding:20px 22px}
.profile-card h3{font-size:23px;margin-bottom:6px}
.profile-card .p-photo{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:14px}
.profile-card.no-photo{border-left:3px solid var(--turq-lite)}
.profile-card .p-role{font:500 14.5px/1.3 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.profile-card p{font-size:18px!important;line-height:1.5;margin:0 0 .7em}
.profile-card .p-links a{font-size:17px}
.profile-card .p-attr{font-size:15.5px;color:var(--muted);font-style:italic;margin:0}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:1.6em 0}
.org-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:var(--paper-2);border:1px solid var(--rule);text-decoration:none}
.org-card:hover{border-color:var(--accent)}
.org-logo{width:38px;height:38px;object-fit:contain}
.org-name{font-family:var(--display);font-size:20px;color:var(--ink)}
.org-host{font:500 14px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.entity-ref{white-space:nowrap}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:1.4em 0}
.further-grid a{padding:18px 20px;background:var(--paper-2);border:1px solid var(--rule);text-decoration:none;font-family:var(--display);font-size:21px;line-height:1.2;color:var(--ink)}
.further-grid a:hover{border-color:var(--accent);color:var(--accent)}
.related-links{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.related-links li{border-bottom:1px solid var(--rule)}
.related-links a{display:flex;gap:16px;align-items:baseline;padding:16px 0;text-decoration:none;font-family:var(--display);font-size:clamp(21px,1.7vw,26px);color:var(--ink)}
.related-links a:hover{color:var(--accent)}
.related-links .rl-tag{font:500 14.5px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);flex:none;min-width:9ch}
.vocab{margin:1.7em 0;border-top:1px solid var(--rule)}
.vocab div{display:grid;grid-template-columns:minmax(130px,24%) 1fr;gap:10px 24px;padding:13px 0;border-bottom:1px solid var(--rule)}
.vocab dt{font-family:var(--display);font-size:20px;color:var(--ink)}
.vocab dd{margin:0;font-size:18.5px;color:var(--muted);line-height:1.5}

/* category / index pages -------------------------------------------------*/
.cat-hero{text-align:center;padding-block:clamp(30px,3.4vw,58px)}
.cat-hero h1{font-size:clamp(38px,5vw,70px)}
.cat-hero p{margin:18px auto 0;max-width:60ch;font-size:clamp(19px,1.35vw,23px);color:#3E5E61}
.cat-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.cat-list>li{border-bottom:1px solid var(--rule)}
.cat-list a{display:grid;grid-template-columns:200px 1fr auto;gap:clamp(18px,2vw,32px);align-items:start;padding:22px 0;text-decoration:none}
.cat-list a:hover .cat-list__title{color:var(--accent)}
.cat-list img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rule)}
.cat-list__title{font-family:var(--display);font-size:clamp(24px,2.2vw,33px);line-height:1.13;color:var(--ink)}
.cat-list__dek{margin:10px 0 0;color:var(--muted);font-size:18.5px;line-height:1.5;max-width:62ch}
.cat-list__meta{text-align:right;font:500 15px/1.5 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--turq);white-space:nowrap}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:clamp(18px,2vw,28px)}
.hub-card{background:var(--paper-2);border:1px solid var(--turq-lite);display:flex;flex-direction:column}
.hub-card__head{display:flex;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--rule);background:var(--band)}
.hub-card__head svg{width:44px;height:44px;flex:none}
.hub-card__body{padding:18px 20px;flex:1;display:flex;flex-direction:column}
.hub-card ul{list-style:none;padding:0;margin:14px 0 0}
.hub-card li{border-top:1px solid var(--rule);padding:10px 0}
.hub-card a{text-decoration:none;font-size:18.5px}

/* CSS-only "more" expander ----------------------------------------------*/
.more-toggle{position:absolute;opacity:0;pointer-events:none}
.more-panel{display:none}
.more-toggle:checked~.more-panel{display:block}
.more-label{display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding:14px 26px;border:1px solid var(--turq-lite);background:var(--paper-2);cursor:pointer;font:500 16px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--turq)}
.more-label:hover{border-color:var(--accent);color:var(--accent)}
.more-toggle:checked~.more-label{display:none}
.more-toggle:focus-visible~.more-label{outline:2px solid var(--accent);outline-offset:3px}

/* generic prose pages ---------------------------------------------------*/
.page-body{max-width:74ch;padding-inline:clamp(18px,4vw,52px);margin-inline:auto;padding-block:clamp(28px,3vw,52px)}
.page-body h1{font-size:clamp(34px,4.4vw,58px);margin-bottom:20px}
.page-body h2{font-size:clamp(24px,2.2vw,32px);margin:1.6em 0 .6em}
.page-body p,.page-body li{font-size:clamp(20px,1.3vw,22px);line-height:1.66}

/* styleguide -------------------------------------------------------------*/
.sg-section{padding-block:clamp(26px,3vw,44px);border-top:1px solid var(--rule)}
.sg-section>h2{font-size:clamp(26px,2.6vw,38px);margin-bottom:8px}
.sg-note{color:var(--muted);font-style:italic;margin-bottom:22px}
.sg-demo{max-width:74ch}
.sg-demo--wide{max-width:none}

/* ------------------------------------------------------------ responsive */
@media (max-width:1180px){
  .motif-grid{grid-template-columns:repeat(3,1fr)}
  .plates{grid-template-columns:repeat(4,1fr)}
  .ruler{grid-template-columns:repeat(4,1fr)}
  .ruler>div{border-bottom:1px solid var(--rule)}
  .post-body{grid-template-columns:minmax(0,1fr);padding-inline:clamp(18px,4vw,52px)}
  .post-body>*{grid-column:1}
  .post-body h2{grid-column:1}
  .post-body>.bleed,.post-body>.wide{grid-column:1}
  .site-list{columns:2}
}
@media (max-width:980px){
  .grid--3{grid-template-columns:repeat(2,1fr)}
  .lead-feature{grid-template-columns:1fr}
  .lead-feature__body{border-left:0;border-top:1px solid var(--turq-lite)}
  .foot__grid{grid-template-columns:1fr 1fr}
  .cat-list a{grid-template-columns:150px 1fr}
  .cat-list__meta{grid-column:2;text-align:left}
  .sponsor-row--roll{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .nav__inner{flex-direction:column}
  .nav-toggle-label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;cursor:pointer;font:500 16px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--turq);width:100%}
  .nav-toggle-label::after{content:"";width:11px;height:11px;background:currentColor;clip-path:polygon(50% 100%,0 0,100% 0)}
  .nav-toggle:checked~.nav-toggle-label::after{clip-path:polygon(50% 0,0 100%,100% 100%)}
  .nav__list{display:none;width:100%;flex-direction:column;padding-bottom:10px}
  .nav-toggle:checked~.nav__list{display:flex}
  .nav-item{width:100%;border-top:1px solid var(--rule)}
  .nav-item+.nav-item::before{display:none}
  .nav-link{padding:15px 0}
  .nav__list{flex-wrap:wrap}
  .nav-link__name{white-space:normal}
  .nav-sub{position:static;transform:none;opacity:1;visibility:visible;display:block;width:auto;max-width:none;margin-left:0;box-shadow:none;border:0;border-top:1px dashed var(--rule);background:transparent}
  .nav-sub::before{display:none}
  .nav-sub__intro{display:none}
  .nav-sub__list{padding:0 0 10px}
  .nav-sub__list li+li{border-top:0}
  .nav-sub__list a{padding:9px 0 9px 22px;font-size:17px}
  .post-head{margin-top:-34px}
  .numbers-band .statrow{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .grid--3,.grid--2{grid-template-columns:1fr}
  .motif-grid{grid-template-columns:repeat(2,1fr)}
  .plates{grid-template-columns:repeat(2,1fr)}
  .ruler{grid-template-columns:repeat(2,1fr)}
  .site-list{columns:1}
  .foot__grid{grid-template-columns:1fr}
  .sponsor-row--featured,.sponsor-row--roll{grid-template-columns:1fr 1fr}
  .cat-list a{grid-template-columns:1fr}
  .cat-list img{max-width:100%}
  .timeline li{grid-template-columns:1fr;gap:6px}
  .vocab div{grid-template-columns:1fr;gap:4px}
  .post-head{margin-top:0;border-left:0;border-right:0}
  .dropcap::first-letter{font-size:3.4em}
  .versus tbody th{width:auto}
}
@media (max-width:420px){
  .sponsor-row--featured,.sponsor-row--roll{grid-template-columns:1fr}
  .plates{grid-template-columns:1fr 1fr;gap:18px 12px}
}
@media print{
  .nav,.tile-rule,.sponsor-row,.more-label{display:none}
  body{background:#fff}
}

/* map controls */
.map-ctrl{position:absolute;right:12px;bottom:12px;display:flex;gap:6px}
.map-ctrl button{width:38px;height:38px;border:1px solid var(--turq-lite);background:var(--paper);color:var(--turq);font:500 18px/1 var(--label);cursor:pointer}
.map-ctrl button[data-z=reset]{width:auto;padding:0 14px;font-size:14px;letter-spacing:.18em;text-transform:uppercase}
.map-ctrl button:hover{border-color:var(--accent);color:var(--accent)}
.map-attrib{margin-top:10px;font:500 13.5px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* charts: donut legend + line */
.chart.donut svg{max-width:420px}
.chart .c-lab{dominant-baseline:middle}
.chart.bar .c-lab{dominant-baseline:auto}

/* short posts: the numbers rail inlines rather than becoming a thin band */

/* ------------------------------------------------- homepage lead (band 2) */
.lead-band{background:var(--paper);position:relative}
.lead-band__media{position:relative;background:var(--ink)}
.lead-band__media img{width:100%;height:clamp(300px,52vh,620px);object-fit:cover;object-position:center 42%}
.lead-band__rule{position:absolute;left:0;right:0;bottom:0;height:22px;background:var(--octagram);background-size:22px 22px;opacity:.96}
.lead-band__inner{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:0 clamp(14px,1.6vw,26px);align-items:start;margin-top:clamp(-170px,-11vw,-90px);z-index:2}
.lead-rail{grid-column:1;margin:0;align-self:end;writing-mode:vertical-rl;transform:rotate(180deg);font:500 clamp(14px,1vw,16px)/1 var(--label);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);padding-bottom:14px}
.lead-plate{grid-column:2;position:relative;width:min(100%,78ch);background:var(--paper);border:1px solid var(--turq-lite);padding:clamp(24px,3vw,50px) clamp(22px,3vw,52px) clamp(22px,2.4vw,38px);overflow:hidden}
.lead-plate__mark{position:absolute;right:-46px;top:-46px;width:clamp(180px,20vw,280px);opacity:.16;pointer-events:none}
.lead-plate__title{font-size:clamp(38px,5.4vw,82px);line-height:.98;margin:18px 0 0;max-width:24ch}
.lead-plate__title a{text-decoration:none;color:inherit}
.lead-plate__title a:hover{color:var(--accent)}
.lead-plate__dek{margin:20px 0 0;max-width:52ch;font-size:clamp(20px,1.5vw,26px);line-height:1.44;color:#3E5E61}
.lead-plate__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid var(--rule)}
.lead-plate__foot .lead-feature__cta{margin:0}
.lead-chapters{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.lead-chapters li{display:flex;flex-direction:column;gap:8px;padding:0 18px;border-left:1px solid var(--rule);font-family:var(--display);font-size:clamp(18px,1.35vw,21px);line-height:1.2;color:var(--ink)}
.lead-chapters li:first-child{padding-left:0;border-left:0}
.lead-chapters span{font:500 15px/1 var(--label);letter-spacing:.2em;color:var(--accent)}
@media (max-width:980px){
  .lead-band__inner{grid-template-columns:minmax(0,1fr);margin-top:-56px}
  .lead-rail{display:none}
  .lead-plate{grid-column:1;width:100%}
  .lead-chapters{grid-template-columns:1fr;gap:14px}
  .lead-chapters li{padding:0 0 0 0;border-left:0;flex-direction:row;align-items:baseline;gap:12px}
}
@media (max-width:680px){
  .lead-band__inner{margin-top:0}
  .lead-plate{border-left:0;border-right:0}
  .lead-plate__mark{right:-70px;top:-70px}
}

/* ------------------------------------------------ homepage motif key (3) */
.motif-band{background:var(--turq);color:#EFE7D6;padding:0}
.motif-band__rule{height:20px;background:var(--octagram);background-size:20px 20px;filter:saturate(.75) brightness(1.06)}
.motif-band>.wrap{padding-block:clamp(34px,4vw,60px)}
.motif-band h2{color:#EFE7D6;font-size:clamp(32px,3.4vw,50px)}
.motif-band__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,52ch);gap:clamp(20px,3vw,52px);align-items:end;padding-bottom:clamp(22px,2.4vw,34px);border-bottom:1px solid rgba(239,231,214,.28)}
.motif-band__note{margin:0;color:rgba(239,231,214,.8);font-size:clamp(18px,1.2vw,20px);line-height:1.55}
.motif-band__foot{margin:clamp(22px,2.4vw,34px) 0 0;padding-top:20px;border-top:1px solid rgba(239,231,214,.28);color:rgba(239,231,214,.76);max-width:74ch;font-size:19px}
.motif-band__foot a{color:#EFE7D6}
.motif-band__foot a:hover{color:#F0C0B8}
.motif-layout{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(20px,2.4vw,34px);margin-top:clamp(24px,2.6vw,38px);align-items:start}

.mbuild{margin:0;background:var(--paper);border:1px solid rgba(239,231,214,.5);padding:clamp(20px,2vw,26px);height:100%;display:flex;flex-direction:column}
.mbuild__cap{font:500 15px/1 var(--label);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.mbuild__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.mbuild__step{display:flex;flex-direction:column;gap:9px}
.mbuild__step svg{width:100%;height:auto;background:var(--paper-2);border:1px solid var(--rule)}
.mbuild__step span{font:500 13px/1.3 var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mbuild__body{margin:18px 0 0;color:var(--body);font-size:18.5px;line-height:1.56}
.mbuild__cta{margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:10px;font:500 15.5px/1.3 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.mbuild__cta:hover{color:var(--ink)}

.motif-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.4vw,20px)}
.mcard{background:var(--paper);border:1px solid rgba(239,231,214,.5);padding:16px 18px 18px;display:flex;flex-direction:column;color:var(--ink)}
.mcard__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.mcard__no{font:500 15px/1 var(--label);letter-spacing:.2em;color:var(--accent)}
.mcard__role{font:500 13.5px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mcard__stage{position:relative;margin-top:14px;aspect-ratio:1;background:var(--paper-2);border:1px solid var(--rule);color:#1D6B73;overflow:hidden}
.mcard__stage svg{position:absolute;inset:0;width:100%;height:100%;transition:opacity .22s ease}
.mcard__rep{opacity:0}
.mcard__flip{position:absolute;left:0;bottom:0;padding:5px 9px;background:var(--accent);color:#F7F2E6;font:500 12px/1 var(--label);letter-spacing:.18em;text-transform:uppercase;opacity:0;transition:opacity .22s ease}
.mcard:hover .mcard__one,.mcard:focus-within .mcard__one{opacity:0}
.mcard:hover .mcard__rep,.mcard:focus-within .mcard__rep,.mcard:hover .mcard__flip,.mcard:focus-within .mcard__flip{opacity:1}
.mcard__name{margin:14px 0 0;font-size:clamp(22px,1.6vw,27px)}
.mcard__what{margin:9px 0 0;color:var(--muted);font-size:17px;line-height:1.45}
.mcard__where{margin:auto 0 0;padding-top:12px;font:500 13px/1.35 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--turq)}

@media (max-width:1180px){
  .motif-layout{grid-template-columns:minmax(0,1fr)}
  .motif-cards{grid-template-columns:repeat(3,1fr)}
  .mbuild__steps{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:980px){
  .motif-band__head{grid-template-columns:minmax(0,1fr)}
  .motif-cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){.motif-cards{grid-template-columns:1fr}}

/* ------------------------------------------------------ mobile pass (≤560) */
@media (max-width:560px){
  /* type floor: no label below 14px on a phone */
  .mcard__role,.mcard__where,.mbuild__step span,.site-list .st-where,.plate__drop,.mcard__flip,
  .card__meta,.post-meta,.map-legend,.foot__base,.cat-list__meta,.motif__name{font-size:14px;letter-spacing:.12em}
  .plate__drop{padding:5px 7px}
  .plate__note,.motif__what,.mcard__what,.cat-list__dek,.card__dek,.sec-note,.foot__disambig{font-size:17px}
  .chart .c-lab{font-size:17px}
  .chart .c-val{font-size:18px}
  /* tap targets ≥44px */
  .lead-feature__cta,.mbuild__cta{min-height:44px;align-items:center}
  .nav-sub a{padding:13px 0 13px 20px;min-height:44px;display:flex;align-items:center}
  .nav-link{padding:15px 0;min-height:48px}
  .map-ctrl button{width:44px;height:44px}
  .map-ctrl button[data-z=reset]{height:44px}
  .related-links a,.further-grid a,.site-list a,.hub-card a,.foot a{min-height:44px;display:flex;align-items:center}
  .site-list li,.hub-card li{padding:6px 0}
  .entity-ref{display:inline-flex;align-items:center;min-height:44px}
  /* ornament restraint on a small screen */
  .lead-plate__mark{width:150px;right:-40px;top:-40px}
  .mbuild__steps{grid-template-columns:1fr 1fr}
  .mbuild__step:last-child{grid-column:1/-1}
  .motif-band__rule{height:14px;background-size:14px 14px}
  .lead-band__rule{height:16px;background-size:16px 16px}
  .tile-rule{height:26px;background-size:26px 26px}
}

/* ---------------------------------------------- article appendix (band) */
.h2--plain{grid-column:2}
.appendix{border-top:1px solid var(--rule)}
.appendix__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(22px,3vw,48px);align-items:start}
.appendix__grid>*:only-child{grid-column:1/-1}
.appendix__subhead{font-size:clamp(21px,1.6vw,26px);margin-bottom:4px}
.named-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.named-grid:has(.named-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,360px));width:max-content;max-width:100%;justify-self:start}
.named-grid:has(.named-card:only-child){grid-template-columns:minmax(0,360px);width:max-content;max-width:100%;justify-self:start}
.named-card{background:var(--paper);padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.named-card h3{font-size:clamp(20px,1.5vw,24px);line-height:1.15}
.named-card__role{margin:0;font:500 13.5px/1.3 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.named-card p{margin:0;font-size:17.5px;line-height:1.5;color:var(--muted)}
.appendix .vocab{margin:14px 0 0;border-top:1px solid var(--rule)}
.appendix .vocab div{grid-template-columns:minmax(0,38%) minmax(0,1fr)}
.appendix .vocab dt{font-size:19px}
.appendix .vocab dd{font-size:17.5px}
@media (max-width:1100px){
  .appendix__grid{grid-template-columns:minmax(0,1fr)}
  .named-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){.named-grid{grid-template-columns:1fr}}

/* a short numbers rail sits as a 2-up strip rather than a stretched band */
.statrow--inline{grid-template-columns:repeat(auto-fit,minmax(240px,320px));width:max-content;max-width:100%;justify-self:start}
.statrow--inline .statblock{background:var(--paper-2)}

/* long glossaries split into two columns rather than running down a rail */
.appendix__vocab:has(.vocab div:nth-child(9)){grid-column:1/-1}
.appendix__vocab:has(.vocab div:nth-child(9)) .vocab{columns:2;column-gap:clamp(24px,3vw,44px)}
.appendix__vocab:has(.vocab div:nth-child(9)) .vocab div{break-inside:avoid}
@media (max-width:760px){.appendix__vocab:has(.vocab div:nth-child(9)) .vocab{columns:1}}

/* the left rail earns its column: layer, place and the chapter list */
.post-rail{grid-column:1;grid-row:1/999;align-self:start;position:sticky;top:22px;padding-right:clamp(12px,1.4vw,22px);border-right:1px solid var(--rule)}
.post-rail__inner{display:flex;flex-direction:column;gap:18px}
.post-rail__row{display:flex;flex-direction:column;gap:6px}
.post-rail__k{font:500 12.5px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.post-rail__v{font-family:var(--display);font-size:19px;line-height:1.2;color:var(--ink)}
.post-rail__v--accent{color:var(--accent)}
.post-rail__chapters{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.post-rail__chapters li{display:grid;grid-template-columns:2.2em 1fr;gap:6px;font:400 15.5px/1.28 var(--prose);color:var(--muted)}
.post-rail__chapters span{font:500 13px/1.35 var(--label);letter-spacing:.14em;color:var(--accent)}
@media (max-width:1180px){
  .post-rail{position:static;grid-row:auto;border-right:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:16px 0;margin-bottom:8px}
  .post-rail__inner{flex-direction:row;flex-wrap:wrap;gap:14px 34px}
  .post-rail__row:has(.post-rail__chapters){display:none}
}


/* 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-centre-and-darken: operator: centre the logos, darken the background. The artwork was pinned
   left by object-position:left center inside a full-width plate, and the tile carried no ground of
   its own so the marks floated on the page. Centred, and the tile takes a ground one step below
   the page the way the rest of the estate frames a money tile. */
.sponsor-row .sponsor img{object-position:center center}
/* ⚠️ a 22% BLACK WASH WAS NOT ENOUGH: the page here is a light #DCD3BE and the blurb is
   rgba(239,231,214,.78) — near-white — so the tile came out khaki with pale grey copy on it,
   worse than before. The tile takes the site's own --dark (#123C40), which is the ground the
   light copy was written for. */
.sponsor-row .sponsor{background:var(--dark)}
.sponsor-row .sponsor > *:not(.sponsor-blurb) + .sponsor-blurb{margin-left:0}

/* op-footer-compact: the footer printed 10 rows for 10 link(s) in
   2 list(s) — 1209px 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 1209 -> 1025px (15% 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:min(2.99vw,43px)!important;row-gap:8px!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 — 10 tiles,
   1639px at 390, 10% of the whole page. Two columns bring it to
   821px (50% shorter). Checked before writing: no new overflow, smallest mark still
   127px wide, longest blurb 3 lines, tile heights 145-162px.
   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-row.sponsor-row--featured, .sponsor-row.sponsor-row--roll), 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-row.sponsor-row--featured{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:20px!important}
    .sponsor-row.sponsor-row--featured > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsor-row.sponsor-row--featured > * *{min-width:0!important;max-width:100%}
    .sponsor-row.sponsor-row--featured img,.sponsor-row.sponsor-row--featured svg{max-width:100%;height:auto}
  .sponsor-row.sponsor-row--roll{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:20px!important}
    .sponsor-row.sponsor-row--roll > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsor-row.sponsor-row--roll > * *{min-width:0!important;max-width:100%}
    .sponsor-row.sponsor-row--roll img,.sponsor-row.sponsor-row--roll svg{max-width:100%;height:auto}
  .sponsor-row.sponsor-row--featured .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
  .sponsor-row.sponsor-row--roll .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}
/* op-heading-levels */
h2:where(.rt-h3){font-family: var(--display); font-weight: 400; color: var(--ink); margin: 0px; line-height: 1.08; letter-spacing: 0.005em;}
.post-body h2:where(.rt-h3){font-size: clamp(22px, 1.8vw, 27px); margin: 1.5em 0px 0.5em;}
.numbers-band h2:where(.rt-h3){color: rgb(239, 231, 214); font-size: clamp(24px, 2.2vw, 32px);}
.named-card h2:where(.rt-h3){font-size: clamp(20px, 1.5vw, 24px); line-height: 1.15;}
h2.rt-h3.rt-h3{display:block;column-gap:normal;row-gap:normal}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(a.card > div.card__media > img,
  article.sheet > figure.post-hero > img,
  div.plate > div.plate__dish.plate__dish--photo > img,
  div.plate.plate--hot > div.plate__dish.plate__dish--photo > img,
  div.post-body.wrap > figure.article-figure.wide > img,
  li > a > img,
  section.lead-band > div.lead-band__media > img){height:auto}
/* op-img-dims:end */
