/* tgeyacht.com — Bodrum builds by eye
   PALETTE (5 members, each with a job)
   --ground  #0B1215  page ground, the sea at night
   --ink     #F2EDE4  type on the ground
   --accent  #E9B21F  signal yellow: the money, the numerals, the marks
   --second  #0F7A82  Aegean teal: the coast bands
   --rule    #24343A  hairlines, mats, panels
   two saturated members (yellow ~48°, teal ~186°), both used as full bands
*/
:root{
  --ground:#0B1215;
  --ink:#F2EDE4;
  --accent:#E9B21F;
  --second:#0F7A82;
  --rule:#24343A;
  --muted:#9FB0B6;
  --quiet:#6E7F85;
  --mat:#101B1F;
  --ink-on-accent:#0B1215;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:"Spline Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gut:clamp(18px,4vw,44px);
  --measure:74ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.015em;line-height:1.02}
p{margin:0}
.wrap{max-width:1360px;margin:0 auto;padding-inline:var(--gut)}
.narrow{max-width:74ch}
.kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.ic{width:1.25em;height:1.25em;flex:none;vertical-align:-.22em}

/* ─── masthead ─────────────────────────────────────────── */
.head{border-bottom:1px solid var(--rule)}
.head-poster{display:grid;grid-template-columns:320px 1fr;align-items:stretch}
.navrail{border-right:1px solid var(--rule);padding:26px var(--gut) 26px var(--gut);display:flex;flex-direction:column;gap:20px}
.navsec{display:grid;grid-template-columns:34px 1fr;gap:6px}
.navsec-no{font-family:var(--serif);font-size:25px;color:var(--accent);line-height:1}
.navsec-t{display:flex;flex-direction:column;gap:4px}
.navsec-t>a:first-child{font-size:16px;font-weight:600;color:var(--ink);line-height:1.2;display:flex;gap:7px;align-items:flex-start}
.navsec-t>a:first-child .ic{color:var(--accent);margin-top:2px}
.navsec-t>a+a{font-size:14px;color:var(--muted);line-height:1.3}
.navsec-t>a+a:hover{color:var(--ink)}
.rail-foot{border-top:1px solid var(--rule);padding-top:14px;display:flex;gap:8px;align-items:center;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.poster--photo{background:linear-gradient(90deg,rgba(11,18,21,.95) 0%,rgba(11,18,21,.78) 48%,rgba(11,18,21,.42) 100%),url("img/band-lift.jpg") center 42%/cover no-repeat}
.poster{padding:34px var(--gut) 26px;display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-height:340px}
.wordmark{font-family:var(--serif);font-size:clamp(58px,10.5vw,168px);line-height:.84;letter-spacing:-.025em;color:var(--ink)}
.wordmark span{color:var(--accent)}
.poster-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;flex-wrap:wrap}
.standing{font-size:19px;line-height:1.4;max-width:46ch;color:#C6D2D6}

/* compact header on inner pages: two always-visible levels */
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px var(--gut);flex-wrap:wrap}
.bar-brand{display:flex;align-items:baseline;gap:14px;font-family:var(--serif);font-size:34px;line-height:1}
.bar-brand .bm i{font-style:normal;color:var(--accent)}
.bar-brand:hover{text-decoration:none}
.bar-brand span{color:var(--accent)}
.bar-nav{display:flex;gap:20px;flex-wrap:wrap;font-size:14px}
.bar-nav a{display:flex;gap:7px;align-items:center;color:var(--muted)}
.bar-nav a .ic{color:var(--accent)}
.bar-nav a.on,.bar-nav a:hover{color:var(--ink)}
.subbar{border-top:1px solid var(--rule);padding:11px var(--gut);display:flex;gap:6px 22px;flex-wrap:wrap;font-size:14px;background:#0E171B}
.subbar b{font-family:var(--serif);font-weight:400;font-size:19px;color:var(--accent);margin-right:6px}
.subbar a{color:var(--muted)}
.subbar a.on{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* ─── bands ────────────────────────────────────────────── */
.band{padding:clamp(48px,7vw,96px) 0}
.band--tight{padding:clamp(30px,4vw,54px) 0}
.band--money{background:var(--accent);color:var(--ink-on-accent)}
.band--money a{color:var(--ink-on-accent)}
.band--coast{background:var(--second);color:var(--ink)}
.band--coast a{color:var(--ink)}
.band--mat{background:var(--mat)}
.rule-top{border-top:1px solid var(--rule)}

.display-xl{font-family:var(--serif);font-size:clamp(46px,8vw,124px);line-height:.92;letter-spacing:-.025em}
.display-l{font-family:var(--serif);font-size:clamp(36px,5vw,74px);line-height:.98}
.display-m{font-family:var(--serif);font-size:clamp(28px,3.4vw,48px);line-height:1.03}
.serif-it{font-family:var(--serif);font-style:italic}

/* ─── figures: one drawing system, four treatments ─────── */
figure{margin:0}
figcaption{font-family:var(--serif);font-size:20px;line-height:1.32;color:#D7DEDF;padding-top:10px}
.credit{display:block;font-family:var(--sans);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet);padding-top:8px}
/* 1 — full-bleed, caption hangs off a yellow rule */
.fig--bleed img{width:100%;height:clamp(260px,46vw,620px);object-fit:cover}
.fig--bleed figcaption{border-top:2px solid var(--accent);margin-top:14px;max-width:62ch}
/* 2 — matted, inset hairline, caption inside the mat */
.fig--mat{background:var(--mat);padding:clamp(12px,1.6vw,22px)}
.fig--mat img{outline:1px solid var(--rule);outline-offset:-1px;width:100%;height:auto}
.fig--mat figcaption{max-width:56ch}
/* 3 — in the column, aligned to the measure, ruled caption */
.fig--offset{max-width:var(--measure);margin:40px auto;background:none;padding:0}
.fig--offset img{width:100%;outline:1px solid var(--rule);outline-offset:-1px}
.fig--offset figcaption{border-top:2px solid var(--accent);margin-top:12px;padding-top:11px;max-width:62ch}
/* 4 — inset in the column, prose runs beside it */
.fig--inset{float:right;width:min(46%,340px);margin:6px 0 22px 30px;background:var(--mat);padding:12px}
.fig--inset figcaption{font-size:17px;padding-top:8px}
/* 4 — plate: caption steps over the image edge */
.fig--plate{position:relative;padding-bottom:34px;margin-top:clamp(52px,6vw,88px)}
.fig--plate img{width:100%;height:clamp(220px,34vw,460px);object-fit:cover}
.fig--plate figcaption{position:relative;margin:-46px 0 0 clamp(12px,3vw,42px);background:var(--ground);border-left:3px solid var(--accent);padding:16px 20px;max-width:44ch}
.article-figure{margin:34px 0}
.article-figure img{width:100%;height:auto}
.article-figure figcaption{border-top:1px solid var(--rule);margin-top:12px;max-width:62ch}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.gallery img{aspect-ratio:16/10;object-fit:cover;width:100%}
.map-figure{background:var(--mat);padding:clamp(12px,1.6vw,22px)}

/* ─── reading page ─────────────────────────────────────── */
.article{padding:clamp(30px,4vw,62px) 0 0}
.article>.wrap:first-child{padding-bottom:clamp(28px,3.6vw,52px)}
.art-head{display:flex;flex-direction:column;gap:18px;max-width:30ch}
.art-h1{font-size:clamp(40px,7vw,116px)}
.art-kicker{display:flex;align-items:center;gap:9px;color:var(--accent)}
.art-kicker .ic{width:22px;height:22px}
.art-h1{font-size:clamp(40px,6.4vw,104px)}
@media (max-width:1000px){.artcol:has(.art-head){display:block}.artcol:has(.art-head) .lead{margin-top:22px}}
.lead{font-family:var(--serif);font-size:clamp(23px,2.4vw,32px);line-height:1.3;color:#CFD8DA;max-width:46ch;font-style:italic}
.body{font-size:19px;line-height:1.72;color:#DCE4E6;max-width:var(--measure);display:flow-root;margin-inline:auto}
.artcol--read>h2,.artcol--read>.pullquote,.artcol--read>.related,.artcol--read>.divider,.artcol--read>.note{max-width:var(--measure);margin-inline:auto}
.artcol--read>h2{margin-top:52px;margin-bottom:16px}
.divider{display:flex;align-items:center;gap:22px;margin-block:46px}
.divider span{flex:1;height:1px;background:var(--rule)}
.related-kicker{color:var(--accent);display:block;margin:0 0 6px}
.related{margin-top:48px}
.article>.wrap:last-of-type{padding-bottom:clamp(56px,7vw,110px)}
.body>p+p{margin-top:20px}
.body h2{font-size:clamp(28px,3.2vw,44px);margin:46px 0 16px;max-width:30ch}
.body a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(233,178,31,.5)}
.entity-ref{white-space:nowrap}
.pullquote{margin:36px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:26px 0}
.pullquote p{font-family:var(--serif);font-style:italic;font-size:clamp(26px,3vw,40px);line-height:1.22;color:var(--accent);margin:0;max-width:34ch}
.blockquote{margin:30px 0;padding-left:22px;border-left:3px solid var(--second)}
.blockquote p{font-family:var(--serif);font-size:24px;line-height:1.35}
.blockquote cite{display:block;font-family:var(--sans);font-style:normal;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--quiet);padding-top:10px}
.callout{background:var(--mat);border-top:3px solid var(--accent);padding:24px;margin:32px 0}
.callout p{font-size:18px;line-height:1.6}
.note{font-size:16px;color:var(--muted);border-left:2px solid var(--rule);padding-left:16px;margin:24px 0}

/* the workings — Notes-for-Design material, breaking the prose */
.workings{margin:40px 0;background:var(--mat);border:1px solid var(--rule);padding:clamp(18px,2.4vw,30px)}
.workings--wide{grid-column:1/-1}
.workings h3{font-size:clamp(22px,2.4vw,32px);margin-bottom:4px;max-width:34ch}
.workings .kicker{color:var(--accent);display:block;margin-bottom:12px}
.workings ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.workings li{display:grid;grid-template-columns:26px 1fr;gap:12px;font-size:16px;line-height:1.5;color:#CFD8DA;border-top:1px solid var(--rule);padding-top:11px}
.workings li b{color:var(--ink);font-weight:600}
.workings li .n{font-family:var(--serif);font-size:19px;color:var(--accent);line-height:1.2}
.workings--flat li{grid-template-columns:1fr}
.workings--flat li .n{display:none}
.workings--cols ul{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 26px}

/* data */
.versus,.datatable{width:100%;border-collapse:collapse;margin:30px 0;font-size:16px}
.versus th,.versus td,.datatable th,.datatable td{border-bottom:1px solid var(--rule);padding:12px 14px;text-align:left;vertical-align:top}
.versus thead th,.datatable thead th{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}
.versus tbody th{font-weight:600;color:var(--ink);width:34%}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--rule);margin:32px 0}
.statblock{background:var(--mat);padding:20px}
.stat-num{display:block;font-family:var(--serif);font-size:54px;line-height:1;color:var(--accent)}
.stat-label{display:block;font-size:14px;color:var(--muted);padding-top:8px}
.timeline{list-style:none;margin:32px 0;padding:0}
.timeline li{display:grid;grid-template-columns:minmax(120px,22%) 1fr;gap:20px;border-top:1px solid var(--rule);padding:13px 0;font-size:16px}
.t-when{font-family:var(--serif);font-size:20px;color:var(--accent);line-height:1.2}
.chart{margin:32px 0;background:var(--mat);padding:clamp(14px,2vw,22px)}
.chart svg{width:100%;height:auto;display:block}
.chart text{font-family:var(--sans);fill:var(--muted)}
.chart .v{fill:var(--accent);font-weight:600}
.chart figcaption{border-top:1px solid var(--rule);margin-top:12px}
.profile-card.no-photo .p-photo,.org-card.no-logo .org-logo{display:none}
.chart figcaption{font-size:16px}

/* cards */
.related-links,.cat-list{list-style:none;margin:0;padding:0}
.related-links li{border-top:1px solid var(--rule)}
.related-links a{display:block;padding:14px 0;font-family:var(--serif);font-size:26px;color:var(--ink)}
.related-links a:hover{color:var(--accent);text-decoration:none}
.cat-list li{border-top:1px solid var(--rule)}
.cat-list>li>a{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px 0;color:var(--ink)}
.cat-list .n{font-family:var(--serif);font-size:30px;color:var(--accent);line-height:.9}
.cat-list h3{font-size:clamp(26px,3vw,42px);max-width:28ch}
.cat-list p{color:var(--muted);font-size:17px;padding-top:8px;max-width:56ch}
.cat-list>li>a:hover{background:#0E171B;text-decoration:none}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--rule);margin:34px 0}
.further-grid a{background:var(--mat);padding:20px;display:flex;flex-direction:column;min-height:130px;font-family:var(--serif);font-size:24px;line-height:1.1;color:var(--ink)}
.further-grid a:hover{background:#132025;text-decoration:none;color:var(--accent)}
.further-grid a .kicker{font-family:var(--sans);color:var(--accent);margin-bottom:auto;padding-bottom:14px}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--rule);margin:30px 0}
.profile-card{background:var(--mat);padding:22px;display:flex;flex-direction:column;gap:8px}
.profile-card .p-photo{width:76px;height:76px;object-fit:cover;border-radius:50%}
.profile-card h3{font-size:26px}
.p-role{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.profile-card p{font-size:16px;color:#CFD8DA}
.p-links,.p-attr{font-size:14px}
.p-attr{color:var(--quiet)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--rule)}
.org-card{background:var(--mat);padding:16px;display:flex;flex-direction:column;gap:6px}
.org-logo{height:34px;width:auto;object-fit:contain}
.org-name{font-family:var(--serif);font-size:22px;color:var(--ink)}
.org-host{font-size:13px;color:var(--quiet)}

/* ─── supporters strip (12 slots, constant tiles) ──────── */
.supporters{border-top:1px solid var(--rule);padding:clamp(34px,5vw,62px) 0 clamp(30px,4vw,50px)}
.sup-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:8px}
.sup-head h2{font-size:clamp(26px,3vw,40px)}
.sup-note{font-size:15px;color:var(--muted);max-width:52ch}
.sup-tier{display:grid;grid-template-columns:repeat(4,calc((100% - 42px)/4));gap:14px;margin-top:26px}
.sup-tier-label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--quiet);grid-column:1/-1;border-top:1px solid var(--rule);padding-top:12px}
.sponsor{width:auto;background:var(--mat);border:1px solid var(--rule);padding:14px;display:flex;flex-direction:column;gap:9px;color:var(--ink)}
.sponsor:hover{background:#132025;text-decoration:none;border-color:var(--quiet)}
.sponsor img{width:100%;height:46px;max-height:46px;object-fit:contain;object-position:left center;background:#060C0F;padding:6px 8px}
.sponsor-name{font-family:var(--serif);font-size:21px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sponsor-blurb{font-size:13.5px;line-height:1.42;color:var(--muted);min-height:2.9em}

/* ─── footer ───────────────────────────────────────────── */
.foot{border-top:1px solid var(--rule);padding-block:clamp(34px,4.5vw,60px) clamp(24px,3vw,36px)}
.foot-top{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:clamp(28px,4vw,64px)}
.foot-brand{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.foot-standing{font-size:16px;line-height:1.5;color:var(--muted);max-width:34ch}
.foot-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;align-content:start}
.foot-sec{display:flex;flex-direction:column;gap:8px;padding:16px 22px 20px 0;border-top:1px solid var(--rule);color:var(--ink)}
.foot-sec:hover{text-decoration:none;background:linear-gradient(180deg,rgba(233,178,31,.07),transparent 70%)}
.foot-sec-top{display:flex;align-items:center;gap:10px}
.foot-sec .ic{color:var(--accent);width:19px;height:19px}
.foot-no{font-family:var(--serif);color:var(--accent);font-size:26px;line-height:1}
.foot-sec-t{font-family:var(--serif);font-size:23px;line-height:1.1;max-width:16ch}
.foot-sec:hover .foot-sec-t{color:var(--accent)}
.foot-sec-b{font-size:14px;line-height:1.45;color:var(--muted);max-width:26ch}
.foot-sec-c{margin-top:auto;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--quiet)}
.foot-sec:hover .foot-sec-c{color:var(--accent)}
.foot-base{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--rule);margin-top:clamp(28px,3.4vw,44px);padding-top:16px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet)}
.foot-base a{display:flex;align-items:center;gap:8px}
.foot-mark{font-family:var(--serif);font-size:clamp(38px,5vw,60px);line-height:.9}
.foot-mark span{color:var(--accent)}
.foot-nav{display:flex;flex-direction:column;gap:5px;font-size:14px;text-align:right}
.foot-nav span{color:var(--muted)}

/* ─── map ──────────────────────────────────────────────── */
.map svg{width:100%;height:auto;display:block}
.map-legend{display:flex;flex-wrap:wrap;gap:8px 30px;margin-top:18px;font-size:15px;color:var(--muted)}
.map-legend b{color:var(--ink);font-weight:600}

/* ─── article column + picks ────────────────────────────── */
.artcol{max-width:1120px;margin:0 auto}
.artcol:has(.art-head){display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(26px,4vw,64px);align-items:end}
.artcol:has(.art-head) .art-head{max-width:none}
.artcol:has(.art-head) .lead{max-width:40ch;padding-bottom:10px;border-top:2px solid var(--accent);padding-top:16px}
.fullbleed{width:100%}
.fullbleed figcaption{padding-inline:var(--gut)}
.fullbleed .fig--plate figcaption{margin-left:0;margin-inline:var(--gut);padding-inline:20px}
.picks{display:flex;flex-direction:column}
.pick{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-top:1px solid rgba(242,237,228,.18);color:inherit}
.band--money .pick{border-color:rgba(11,18,21,.3)}
.band--coast .pick{border-color:rgba(242,237,228,.3)}
.pick .n{font-family:var(--serif);font-size:26px;line-height:1;color:inherit;opacity:.75}
.pick h3{font-size:clamp(23px,2.5vw,34px)}
.pick p{font-size:16px;opacity:.75;padding-top:6px;max-width:50ch}
.pick:hover{text-decoration:none}
.pick:hover h3{text-decoration:underline;text-underline-offset:4px}

/* ─── layout helpers ───────────────────────────────────── */
.two{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(26px,4vw,70px);align-items:start}
.two--even{grid-template-columns:1fr 1fr}
.two--rail{grid-template-columns:1fr minmax(240px,320px)}
.stack{display:flex;flex-direction:column;gap:18px}
.flow>*+*{margin-top:clamp(26px,3.4vw,44px)}
.eyebrow{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.eyebrow .no{font-family:var(--serif);font-size:30px;color:var(--accent);line-height:1}
.quiet-line{padding:clamp(50px,8vw,110px) 0;text-align:center}
.quiet-line p{font-family:var(--serif);font-size:clamp(30px,4.6vw,62px);line-height:1.06;max-width:27ch;margin:0 auto;text-wrap:balance}

@media (max-width:1000px){
  .head-poster{grid-template-columns:1fr;display:flex;flex-direction:column}
  .poster{order:-1;border-bottom:1px solid var(--rule)}
  .navrail{border-right:0;border-bottom:1px solid var(--rule);flex-direction:row;flex-wrap:wrap;gap:22px 34px;padding-top:22px}
  .navsec{flex:1 1 240px}
  .rail-foot{border-top:0;padding-top:0;flex:1 1 100%}
  .poster{min-height:0;padding-bottom:22px}
  .two,.two--even,.two--rail{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}
}
@media (max-width:700px){
  .map svg text{font-size:15px;font-weight:700}
  .fig--offset{width:auto;margin-inline:0}
}
@media (max-width:620px){
  body{font-size:16px}
  .fig--inset{float:none;width:auto;margin:24px 0}
  .timeline li{grid-template-columns:1fr;gap:4px}
  .versus tbody th{width:auto}
  .body{font-size:17.5px}
  .fig--plate figcaption{margin-left:0;margin-top:-26px}
  .sponsor{width:auto}
  .bar-brand{font-size:28px}
}
@media (max-width:1180px){.sup-tier{grid-template-columns:repeat(3,calc((100% - 28px)/3))}}
@media (max-width:820px){.sup-tier{grid-template-columns:repeat(2,calc((100% - 14px)/2))}}
@media (max-width:560px){.sup-tier{grid-template-columns:1fr}}
@media print{
  body{background:#fff;color:#111}
  .navrail,.supporters{display:none}
}

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

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

/* sp-mark-pad: the mark keeps the height Design declared AND the inset Design drew.
   border-box stops width:100%+padding overflowing the tile; the box grows by the
   vertical padding and border so the artwork is not shrunk to pay for the inset. */
.sponsor img,.sponsor-box img,.sp-logo img{box-sizing:border-box!important;height:58px!important;max-height:58px!important}

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

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

/* MAPKIT_BEGIN — injected real geodata; pins are links */
.map-slot{padding:0;background:none!important;border:0!important;display:flex;align-items:center;justify-content:center;min-height:0!important}
.map-slot>svg.mapkit{width:100%!important;max-width:100%;height:auto;max-height:none;margin:0 auto}
.map-slot{width:100%}
.map-slot{aspect-ratio:auto!important;height:auto!important}
.map-slot::after,.map-slot::before{content:none!important;display:none!important}
.map-figure figcaption{}
.mapkit__pin{cursor:pointer}
.mapkit__pin text{paint-order:stroke;stroke:#0B1215;stroke-width:3px;stroke-linejoin:round}
.mapkit__pin:hover circle{r:9.1}
.mapkit__pin:hover text{font-weight:700}
/* MAPKIT_END */

/* op-more-padding: operator: add a bit of padding. The tile had 14px and the mark's plate 6px/8px
   — tight on both counts. Tile 18px; plate inset 10px/14px with the plate grown to 54px so the
   artwork keeps its current size rather than shrinking into the same box. */
.sup-tier .sponsor{padding:18px}
.sup-tier .sponsor img{height:54px;max-height:54px;padding:10px 14px;box-sizing:border-box}

/* op-nav-collapse: this nav printed 645px of stacked links at 390 before any content
   (23 links), and the build shipped no control to close it. A disclosure cannot be
   built from CSS alone — :hover and :focus-within are unreachable on touch until a link has
   already been tapped — so a hidden checkbox and its label were injected immediately before
   the nav, and the nav collapses against the checked state. Exactly the mechanism the builds
   that DO have a burger already use.
   Treatment "filled-soft", bold, seeded from the domain so 175 builds do not all ship the
   same hairline box in the same place; it inherits this build's font and colour, and where the
   nav's own parent has no inline padding (0px measured) the button carries the build's
   gutter (clamp(18px,4vw,44px)) so it cannot sit against the glass. The links are hidden,
   not removed: they stay in the markup. Desktop is untouched — every rule below is inside the
   phone breakpoint (900px here), where the button appears and the nav starts closed.
   Folded with the "display" technique and marked with the "plus" icon — the mechanism
   is deliberately not identical across the fleet either. */
.nav-disclose{display:none}
@media (max-width:900px){
  .nav-disclose{align-items:center;justify-content:center;gap:9px;font:inherit;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:inherit;cursor:pointer;min-height:44px;box-sizing:border-box;display:flex;width:fit-content;margin-inline:auto;justify-self:center;border:0;border-radius:2px;padding:12px 20px;background:color-mix(in srgb, currentColor 14%, transparent);margin-block:clamp(16px,4.5vw,26px) clamp(12px,3vw,18px)}

  .nav-disclose-bars{width:11px;height:11px;flex:none;position:relative;border-top:1.5px solid currentColor;margin-top:-1px;box-shadow:inset 5px 0 0 -3.75px currentColor}
  .navrail{display:none}
  .nav-disclose-c:checked ~ .navrail{display:flex}
  .head-poster:has(> .nav-disclose){display:flow-root}
  .nav-disclose:not(:has(~ .navrail)){display:none}
}

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   2362px at 390, 28% of the whole page. Two columns bring it to
   1334px (44% shorter). Checked before writing: no new overflow, smallest mark still
   130px wide, longest blurb 3 lines, tile heights 198-198px.
   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 (.sup-tier), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .sup-tier{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:14px!important}
    .sup-tier > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sup-tier > * *{min-width:0!important;max-width:100%}
    .sup-tier img,.sup-tier svg{max-width:100%;height:auto}
  .sup-tier .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

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

/* op-article-width: the article column was capped at 835px (99 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through Design's own measure --measure (declared in .body) to ~102 characters per line in this build's own prose font, never past the edge Design's own content already reaches beside it. Above 1600 the column and the prose type grow together (up to 1.2x). Nothing below 1024 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1024px){
  div.artcol.artcol--read div.body{--measure:min(76.289ch, 100%)!important}
}
@media (min-width:1600px){
  div.artcol.artcol--read div.body{--measure:min(clamp(76.289ch, 59.792vw, calc(76.289ch * 1.2)), 100%)!important}
  div.artcol.artcol--read div.body > :is(p:not([class])){font-size:clamp(19px,1.3194vw,22.8px)!important}
}
/* op-article-width:end */

/* op-hover-pad */
.cat-list > li > a{padding-left:clamp(12px,3.5vw,22px)!important}
/* op-hover-pad:end */
/* op-heading-levels */
h2:where(.rt-h3){font-family: var(--serif); font-weight: 400; margin: 0px; letter-spacing: -0.015em; line-height: 1.02;}
.cat-list h2:where(.rt-h3){font-size: clamp(26px, 3vw, 42px); max-width: 28ch;}
/* op-heading-levels:end */

/* op-entity-wrap: long reference links wrap like the text around them (nowrap ran them off phone screens) */
.entity-ref.entity-ref{white-space:normal!important}
[data-partner] img{background:transparent!important}
