/* sprachen-beruf.com — palette roles: ground, ink, accent, secondary, paper */
:root{
  --ground:#1A0F12;      /* page ground */
  --ground-2:#241519;    /* recessed ground: image wells, panels */
  --ink:#F0E9E4;         /* primary ink on ground */
  --ink-2:#B9A9AD;       /* secondary ink */
  --ink-3:#8B7A7E;       /* quiet ink: credits, meta */
  --rule:#3A2A2E;        /* hairlines */
  --accent:#FF5A1F;      /* saturated accent — the clock, the mark that moved */
  --secondary:#3DD6C1;   /* saturated secondary — the channel, the live line */
  --paper:#F0E9E4;       /* paper ground for full-area bands */
  --paper-ink:#1A0F12;   /* ink on paper */
  --paper-2:#DED8CA;     /* paper well */
  --flag:#C96442;        /* flag / alert on paper */
  --measure:68ch;
  --gutter:4vw;
  --display:"Antonio",Impact,sans-serif;
  --text:"Spline Sans",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.6;text-wrap:pretty}
img{max-width:100%;display:block}
a{color:var(--secondary);text-decoration:none}
a:hover{color:var(--accent)}
::selection{background:var(--secondary);color:var(--ground)}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.01em;margin:0}
.wrap{padding-inline:var(--gutter)}
.icon{width:1.15em;height:1.15em;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;vertical-align:-.15em}
.icon--lg{width:2.1em;height:2.1em;stroke-width:1.4}
.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 14px;display:flex;align-items:center;gap:9px}
.kicker a{color:inherit}
.quiet{color:var(--ink-3)}

/* ---------- masthead + nav ---------- */
.masthead{padding:26px var(--gutter) 0;display:flex;gap:5vw;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}
.brand{display:flex;flex-direction:column;gap:14px;width:fit-content;color:var(--ink)}
.brand h1,.brand .wordmark{font-family:var(--display);font-weight:700;font-size:clamp(38px,4.6vw,66px);line-height:.92;letter-spacing:.005em;text-transform:uppercase;margin:0}
.brand .wordmark span{color:var(--secondary)}
.ruler{display:flex;flex-direction:column;gap:7px}
.ruler svg{display:block;width:100%;height:14px}
.ruler-labels{display:flex;justify-content:space-between;font-size:9.5px;letter-spacing:.2em;color:var(--ink-3)}
.ruler-labels .end{color:var(--accent)}
.sitenav{flex:1 1 620px;display:flex;flex-direction:column;padding-top:6px}
.sitenav .navrow{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;border-top:1px solid var(--rule);padding:12px 0 12px}
.sitenav .navrow:last-child{border-bottom:1px solid var(--rule)}
.sitenav h2{flex:0 0 auto;display:flex;align-items:center;gap:10px;font-size:22px;font-weight:600}
.sitenav h2 a{color:var(--ink)}
.sitenav h2 a:hover{color:var(--secondary)}
.sitenav .navrow--minor h2{font-size:19px;font-weight:400}
.sitenav ul{margin:0;padding:0;list-style:none;flex:1 1 240px;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14.5px}
.sitenav ul a{color:var(--ink-2)}
.sitenav .navrow--minor ul a{color:var(--ink-3)}
.sitenav .all a{color:var(--accent)}

/* ---------- homepage bands ---------- */
.lead{position:relative;margin-top:4vh}
.lead .plate{position:relative;width:100%;height:90vh;min-height:560px;background:var(--ground-2);overflow:hidden}
.lead img{width:100%;height:100%;object-fit:cover}
.lead .mullion{position:absolute;inset:26px;border:1px solid rgba(61,214,193,.5);pointer-events:none}
.lead .mullion::before,.lead .mullion::after{content:"";position:absolute;background:rgba(61,214,193,.32)}
.lead .mullion::before{left:50%;top:0;bottom:0;width:1px}
.lead .mullion::after{left:0;right:0;top:24%;height:1px}
.lead .scrim{position:absolute;inset:0;background:linear-gradient(to top,var(--ground) 0%,rgba(26,15,18,.86) 26%,rgba(26,15,18,0) 62%);pointer-events:none}
.lead .chip{position:absolute;left:26px;top:26px;margin:0;background:var(--accent);color:var(--ground);font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;padding:7px 13px}
.lead .titles{position:absolute;left:0;right:0;bottom:0;padding:0 var(--gutter) 4vh;display:flex;gap:4vw;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}
.lead h2{flex:1 1 640px;max-width:19ch;font-size:clamp(50px,9.2vw,152px);line-height:.82;font-weight:700;letter-spacing:-.008em}
.lead h2 a{color:var(--ink)}
.lead .deck{flex:0 1 380px;border-top:2px solid var(--secondary);padding-top:16px}
.lead .deck p{margin:0;font-size:18px;line-height:1.55}
.band{padding:12vh var(--gutter)}
.band--paper{background:var(--paper);color:var(--paper-ink);padding:0}
.band--paper a{color:var(--paper-ink)}
.split{display:flex;flex-wrap:wrap;align-items:stretch}
.split .half-img{flex:1 1 460px;min-height:58vh;position:relative;background:var(--paper-2);margin:0}
.split .half-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .half-txt{flex:1 1 480px;padding:9vh var(--gutter);display:flex;flex-direction:column;justify-content:center}
.split .half-txt h3{font-size:clamp(40px,5.4vw,92px);line-height:.88;font-weight:700}
.split .half-txt p{max-width:46ch;font-size:19px;line-height:1.6;color:#3A2E31}
.bigline{font-family:var(--display);font-weight:300;font-size:clamp(32px,4.8vw,80px);line-height:1;text-transform:uppercase;max-width:26ch;margin:0}
.rowend{display:flex;gap:4vw;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}
.morelink{font-family:var(--display);font-size:22px;text-transform:uppercase;letter-spacing:.02em;border-bottom:2px solid var(--secondary);padding-bottom:3px}
.morelink--paper{border-bottom-color:var(--accent)}

/* the ruler run: stops down a hairline */
.run{display:grid;grid-template-columns:130px minmax(0,1fr);column-gap:20px;row-gap:12vh;background:linear-gradient(to right,transparent 129px,var(--rule) 129px,var(--rule) 130px,transparent 130px)}
.run .tick{padding-top:10px}
.run .tick i{display:block;height:1px;width:60%;background:var(--ink-3)}
.run .tick b{display:block;margin-top:12px;font-family:var(--display);font-weight:400;font-size:26px;line-height:1;color:var(--ink-3);letter-spacing:.02em}
.run .tick--major i{height:3px;width:100%;background:var(--secondary)}
.run .tick--major b{font-size:34px;color:var(--secondary)}
.run .tick--end i{height:3px;width:100%;background:var(--accent)}
.run .tick--end b{font-size:34px;color:var(--accent)}
.run .stop{display:flex;gap:3vw;flex-wrap:wrap;align-items:flex-start}
.run .stop h3{flex:1 1 420px;max-width:26ch;font-weight:400;font-size:clamp(28px,3.6vw,54px);line-height:1.04}
.run .stop h3 a{color:var(--ink)}
.run .stop p{margin:0;flex:1 1 300px;max-width:44ch;font-size:17.5px;line-height:1.62;color:var(--ink-2)}

/* compact index band */
.index-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:34px 4vw}
.index-grid h3{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.index-grid h3 a{color:var(--ink)}
.index-grid ul{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;font-size:16.5px}
.index-grid ul a{color:var(--ink-2)}
.index-grid ul a:hover{color:var(--accent)}
.index-grid .blurb{margin:12px 0 0;font-size:15.5px;color:var(--ink-3)}

/* ---------- colophon (supporters) ---------- */
.colophon{border-top:1px solid var(--rule);padding:8vh var(--gutter) 0}
.colophon>h2{font-size:clamp(24px,2.6vw,38px);font-weight:400}
.colophon .intro{margin:12px 0 5vh;max-width:56ch;font-size:16.5px;color:var(--ink-2)}
.col-group{margin-bottom:5vh}
.col-group h3{font-size:14px;letter-spacing:.18em;font-weight:400;color:var(--ink-3);padding-bottom:10px;border-bottom:1px solid var(--rule)}
.col-slots{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,240px);gap:22px}
.sponsor{display:block;width:240px;color:var(--ink)}
.sponsor img{width:100%;height:52px;object-fit:contain;object-position:left center;background:var(--ground-2);border:1px solid var(--rule);padding:9px 12px}
.sponsor .sponsor-name{display:block;margin-top:10px;font-family:var(--display);font-size:17px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}
.sponsor:hover .sponsor-name{color:var(--accent)}

/* ---------- footer ---------- */
.sitefoot{border-top:1px solid var(--rule);margin:10vh var(--gutter) 0;padding:30px 0 56px;display:flex;gap:4vw;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}
.sitefoot p{margin:0;max-width:46ch;font-size:16px;color:var(--ink-2)}
.sitefoot nav{display:flex;gap:26px;flex-wrap:wrap;font-size:14.5px}
.sitefoot nav a{color:var(--ink-3)}

/* ---------- article ---------- */
.arthead{padding:8vh var(--gutter) 0;display:flex;gap:5vw;flex-wrap:wrap;align-items:flex-end}
.arthead .titleblock{flex:1 1 620px}
.arthead h1{max-width:20ch;font-size:clamp(40px,6.4vw,104px);line-height:.86;font-weight:700}
.arthead .lead{flex:1 1 320px;max-width:46ch;margin:0}
.lead,p.lead{font-size:20px;line-height:1.55;color:var(--ink-2)}
.artbody{padding:0 var(--gutter);display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:5vw}
.artbody .scale{position:relative;border-right:1px solid var(--rule)}
.artbody .scale span{position:absolute;left:0;font-family:var(--display);font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.artbody .scale .s-top{top:22px;color:var(--secondary)}
.artbody .scale .s-bot{bottom:22px;color:var(--accent)}
.artbody .scale::before,.artbody .scale::after{content:"";position:absolute;right:-1px;width:30px;height:3px}
.artbody .scale::before{top:6px;background:var(--secondary)}
.artbody .scale::after{bottom:6px;background:var(--accent)}
.artflow{min-width:0}
.artflow>*{max-width:var(--measure)}
.artflow p{font-size:19px;line-height:1.68;margin:0 0 26px;color:#EAE2DD}
.artflow>p:first-of-type{font-size:21.5px;line-height:1.6;color:var(--ink);margin-bottom:30px}
.artflow>*:last-child{margin-bottom:0}
.artflow h3{clear:both;margin:5vh 0 14px;font-size:24px;font-weight:600;letter-spacing:.02em}
.artflow .bodylist{margin:0 0 30px;padding:0;list-style:none;border-top:1px solid var(--rule)}
.artflow .bodylist li{padding:13px 0;border-bottom:1px solid var(--rule);font-size:18px;line-height:1.6;color:#EAE2DD}
.artflow h2{clear:both;margin:6vh 0 20px;font-size:clamp(26px,3.2vw,44px);line-height:1.04;font-weight:400}
.artflow h2::before{content:"";display:block;width:44px;height:2px;background:var(--secondary);margin-bottom:18px}
.artflow>.full,.artflow>figure.fig--plate,.artflow>.panel,.artflow>.pullquote{max-width:none}

/* figure system — three treatments */
figure{margin:0}
.fig--plate .frame,.fig--frame .frame,.fig--inset .frame,.half-img .frame{display:block}
.fig--plate{margin:7vh 0;width:100%;clear:both}
.fig--plate .frame{position:relative;background:var(--ground-2);border-top:2px solid var(--accent)}
.fig--plate img{width:100%;aspect-ratio:2/1;object-fit:cover}
.fig--frame{margin:6vh 0;max-width:var(--measure)}
.fig--frame .frame{padding:10px;border:1px solid var(--rule);outline:1px solid var(--secondary);outline-offset:-19px}
.fig--frame img{width:100%;aspect-ratio:16/10;object-fit:cover}
.fig--inset{margin:0 0 26px 34px;float:right;width:min(330px,42%)}
.fig--inset .frame{background:var(--paper);padding:11px 11px 0}
.fig--inset img{width:100%;aspect-ratio:4/5;object-fit:cover}
figcaption{margin-top:14px;font-size:16px;line-height:1.5;color:var(--ink-2);max-width:52ch;border-top:1px solid var(--rule);padding-top:12px}
.fig--plate figcaption{display:flex;gap:3vw;flex-wrap:wrap;max-width:none}
.fig--plate figcaption .cap-text{flex:1 1 420px;max-width:52ch;margin:0}
.fig--inset figcaption{font-size:14.5px;max-width:none}
.cap-kicker{display:block;font-family:var(--display);font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);margin-bottom:6px}
.cap-credit{display:block;margin-top:9px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

/* text components */
.pullquote{margin:7vh 0;padding:0;border:0;clear:both}
.pullquote p{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(28px,4vw,60px);line-height:1.02;text-transform:uppercase;color:var(--secondary);max-width:24ch}
.blockquote{margin:5vh 0;padding-left:24px;border-left:3px solid var(--accent)}
.blockquote p{margin:0 0 10px;font-size:20px;line-height:1.55}
.blockquote cite{font-size:15px;font-style:normal;color:var(--ink-3)}
.callout{margin:5vh 0;padding:26px 28px;background:var(--ground-2);border-top:2px solid var(--secondary)}
.callout p{margin:0;font-size:18px;line-height:1.6}
.note{font-size:16px;color:var(--ink-3);border-left:2px solid var(--rule);padding-left:16px}

/* interruption panels built from the writers' notes */
.panel{margin:7vh 0;background:var(--paper);color:var(--paper-ink);padding:5vh 0;clear:both}
.panel .panel-in{padding-inline:clamp(20px,3vw,44px)}
.panel h3{font-size:clamp(22px,2.6vw,34px);font-weight:600;margin-bottom:26px;display:flex;align-items:center;gap:12px}
.panel--dark{background:var(--ground-2);color:var(--ink)}
.timeline{list-style:none;margin:0;padding:0;counter-reset:t}
.timeline li{display:grid;grid-template-columns:minmax(120px,26%) minmax(0,1fr);gap:12px 26px;padding:16px 0;border-top:1px solid rgba(26,15,18,.18)}
.panel--dark .timeline li{border-top-color:var(--rule)}
.timeline li:last-child{border-bottom:1px solid rgba(26,15,18,.18)}
.panel--dark .timeline li:last-child{border-bottom-color:var(--rule)}
.t-when{font-family:var(--display);font-size:20px;text-transform:uppercase;line-height:1.15;color:var(--flag)}
.panel--dark .t-when{color:var(--accent)}
.timeline li.full{grid-template-columns:1fr}
.timeline li.full .t-what{font-size:18px}
.datatable td.span,.versus td.span{width:auto;font-family:var(--text);font-size:17px;text-transform:none;line-height:1.55}
.t-what{font-size:17px;line-height:1.55}
.datatable,.versus{width:100%;border-collapse:collapse;font-size:17px}
.datatable th,.versus th{text-align:left;font-family:var(--display);font-size:15px;letter-spacing:.12em;text-transform:uppercase;font-weight:400;padding:0 20px 12px 0;color:var(--flag)}
.panel--dark .datatable th,.panel--dark .versus th{color:var(--accent)}
.datatable td,.versus td{padding:16px 20px 16px 0;border-top:1px solid rgba(26,15,18,.18);vertical-align:top;line-height:1.55}
.panel--dark .datatable td,.panel--dark .versus td{border-top-color:var(--rule)}
.datatable td:first-child,.versus td:first-child{width:34%;font-family:var(--display);font-size:20px;text-transform:uppercase;line-height:1.2}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:rgba(26,15,18,.18)}
.panel--dark .statrow{background:var(--rule)}
.statblock{background:var(--paper);padding:26px 22px}
.panel--dark .statblock{background:var(--ground-2)}
.stat-num{display:block;font-family:var(--display);font-size:clamp(38px,5vw,68px);line-height:.9;color:var(--flag)}
.panel--dark .stat-num{color:var(--accent)}
.stat-label{display:block;margin-top:12px;font-size:15.5px;line-height:1.45}
.notelist{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px 4vw}
.notelist li{padding-top:14px;border-top:1px solid rgba(26,15,18,.18);font-size:17px;line-height:1.55}
.panel--dark .notelist li{border-top-color:var(--rule)}
.notelist b{font-family:var(--display);font-weight:600;font-size:19px;text-transform:uppercase;display:block;margin-bottom:5px}

/* related + category + register */
.related{padding:9vh var(--gutter) 0}
.related h2{font-size:clamp(22px,2.4vw,32px);font-weight:400;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.related-links{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px 4vw}
.related-links li{display:flex;flex-direction:column;min-height:100%}
.related-links a{font-family:var(--display);font-size:22px;text-transform:uppercase;line-height:1.1;color:var(--ink)}
.related-links a:hover{color:var(--accent)}
.related-links p{margin:10px 0 0;font-size:16px;color:var(--ink-3);line-height:1.5}
.cathead{padding:8vh var(--gutter) 0;max-width:1200px}
.cathead h1{max-width:22ch;font-size:clamp(42px,7vw,116px);line-height:.86;font-weight:700}
.cathead .lead{margin:28px 0 0;max-width:56ch;font-size:21px}
.cat-list{list-style:none;margin:0;padding:0}
.cat-list li{border-top:1px solid var(--rule);padding:26px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:10px 4vw;align-items:baseline}
.cat-list li:last-child{border-bottom:1px solid var(--rule)}
.cat-list a{font-family:var(--display);font-size:clamp(24px,2.8vw,38px);text-transform:uppercase;line-height:1.05;color:var(--ink)}
.cat-list a:hover{color:var(--accent)}
.cat-list p{margin:0;font-size:16.5px;line-height:1.55;color:var(--ink-2)}
.register{border-collapse:collapse;width:100%;font-size:17px}
.register th{text-align:left;font-family:var(--display);font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--ink-3);padding:0 20px 12px 0;border-bottom:1px solid var(--ink)}
.register td{padding:15px 20px 15px 0;border-top:1px solid var(--rule);vertical-align:top;line-height:1.5}
.register td:first-child{width:38%}
.register a{font-family:var(--display);font-size:21px;text-transform:uppercase;line-height:1.15;color:var(--ink)}
.register a:hover{color:var(--accent)}
.register .sect{white-space:nowrap;color:var(--ink-3);font-size:15px}
.prose{padding:8vh var(--gutter) 0;max-width:var(--measure)}
.prose p{font-size:19px;line-height:1.68}
.sg-block{padding:6vh var(--gutter) 0}
.sg-block>h2{font-size:26px;color:var(--accent);padding-bottom:10px;border-bottom:1px solid var(--rule);margin-bottom:30px}

@media(max-width:900px){
  :root{--gutter:6vw}
  .artbody{grid-template-columns:1fr;column-gap:0}
  .artbody .scale{display:none}
  .run{grid-template-columns:1fr;background:none;row-gap:7vh}
  .run .tick{display:flex;align-items:center;gap:14px;padding-top:0}
  .run .tick i{width:44px;flex:none}
  .run .tick b{margin-top:0}
  .fig--inset{float:none;width:min(330px,100%);margin-left:0}
  .cat-list li{grid-template-columns:1fr}
  .lead .plate{height:70vh}
  .split .half-img{min-height:44vh}
  .register td:first-child{width:auto}
  .register thead{display:none}
  .timeline li{grid-template-columns:1fr;gap:6px}
  .datatable td:first-child,.versus td:first-child{width:auto;font-size:18px}
  .datatable tr,.versus tr{display:block;border-top:1px solid rgba(26,15,18,.18)}
  .panel--dark .datatable tr,.panel--dark .versus tr{border-top-color:var(--rule)}
  .datatable td,.versus td{display:block;border:0;padding:10px 0 0}
  .datatable tr td:last-child,.versus tr td:last-child{padding-bottom:16px}
  .datatable thead{display:none}
  .versus thead{display:block}
  .versus thead tr{border:0}
  .versus th{display:inline-block;padding:0 18px 10px 0}
  .panel .panel-in{padding-inline:var(--gutter)}
  .arthead{gap:26px}
  .sitenav .navrow{padding:10px 0}
  .sitenav h2{padding:5px 0}
  .sitenav ul{gap:0}
  .sitenav ul li{flex:1 1 100%}
  .sitenav ul a{display:block;padding:10px 0}
  .sitefoot nav{gap:0;flex-direction:column;width:100%}
  .sitefoot nav a{display:block;padding:11px 0;border-bottom:1px solid var(--rule)}
  .index-grid ul{gap:0}
  .index-grid ul a{display:block;padding:9px 0}
  .register tr{display:block;border-top:1px solid var(--rule);padding:14px 0}
  .register td{display:block;border:0;padding:0 0 6px}
}
@media(max-width:420px){
  .col-slots{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
  .sponsor{width:100%}
}
@media print{
  body{background:#fff;color:#000}
  .sitenav,.colophon{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-fit: width:100% + padding must not overflow the tile — but the declared
   HEIGHT is the mark's size and border-box alone steals the vertical padding from it.
   earlychristianireland declares height:66px with 10px top/bottom padding: border-box
   left a 46px mark and the operator read it as 'logos too small'. Keep the horizontal
   inset, drop the vertical padding, so the mark occupies the full height Design set. */
.sponsor img,.sponsor-box img,.sp-logo img{box-sizing:border-box!important;padding-top:0!important;padding-bottom:0!important}

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

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

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

/* op-nav-collapse: this nav printed 1311px of stacked links at 390 before any content
   (26 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", 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 (23px measured) the button carries the build's
   gutter (4vw) 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 (940px here), where the button appears and the nav starts closed.
   Folded with the "max-height" technique and marked with the "chevron" icon — the mechanism
   is deliberately not identical across the fleet either. */
.menu-open{display:none}
@media (max-width:940px){
  .menu-open{align-items:center;justify-content:center;gap:9px;font:inherit;font-weight:600;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)}

  .menu-open-bars{width:8px;height:8px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
  .sitenav{max-height:0;overflow:hidden;padding-block:0;border-top-width:0;border-bottom-width:0;transition:max-height .28s ease}
  .menu-open-c:checked ~ .sitenav{max-height:220vh;padding-block:revert;border-top-width:revert;border-bottom-width:revert}
  .menu-open:not(:has(~ .sitenav)){display:none}
}

/* op-money-columns: the supporters block ran one tile per row — 11 tiles,
   1157px at 390, 15% of the whole page. Two columns bring it to
   624px (46% shorter). Checked before writing: no new overflow, smallest mark still
   164px wide, longest blurb 1 lines, tile heights 74-121px.
   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.
   Only the tier(s) that were one-per-row are touched (.col-slots), 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){
  .col-slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:22px!important}
    .col-slots > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .col-slots > * *{min-width:0!important;max-width:100%}
    .col-slots img,.col-slots svg{max-width:100%;height:auto}
}

/* op-odd-tier-lead: .col-slots (5 tiles) lay out two per row with an ODD tile count, so the
   block ended on a lone tile beside an empty cell. The lead tile takes the whole row instead —
   operator: "the 1st item in such rows to be 100% width, then split" — so the grid reads as
   complete. These tiers were already two-per-row, which is why the column pass never wrote the
   rule for them. Checked before writing: no new horizontal overflow, block not more than 15%
   taller. Phone widths only; desktop keeps Design's layout. */
@media (max-width:640px){
  .col-slots:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}
/* op-heading-levels */
h1:where(.rt-h3){font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: 0.01em; margin: 0px;}
.split .half-txt h1:where(.rt-h3){font-size: clamp(40px, 5.4vw, 92px); line-height: 0.88; font-weight: 700;}
.run .stop h1:where(.rt-h3){flex: 1 1 420px; max-width: 26ch; font-weight: 400; font-size: clamp(28px, 3.6vw, 54px); line-height: 1.04;}
.run .stop h1:where(.rt-h3) a{color: var(--ink);}
.index-grid h1:where(.rt-h3){display: flex; align-items: center; gap: 12px; font-size: 24px; font-weight: 600; padding-bottom: 12px; border-bottom: 1px solid var(--rule);}
.index-grid h1:where(.rt-h3) a{color: var(--ink);}
.col-group h1:where(.rt-h3){font-size: 14px; letter-spacing: 0.18em; font-weight: 400; color: var(--ink-3); padding-bottom: 10px; border-bottom: 1px solid var(--rule);}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(div.split > figure.half-img > img,
  figure.fig--frame > span.frame > img,
  figure.fig--inset > span.frame > img,
  figure.fig--plate > span.frame > img,
  section.lead > div.plate > img){height:auto}
/* op-img-dims:end */
@media (min-width:660px) and (max-width:1439px){.col-slots.col-slots:has(> [data-partner]){grid-template-columns:repeat(auto-fit,minmax(min(240px,calc(50% - 11px)),1fr))!important;justify-content:stretch!important}.col-slots.col-slots > [data-partner]{width:auto!important;max-width:none!important}}
.col-slots > [data-partner] img{background:transparent!important}
