/* indiatouristoffice.org — The Register
   Palette roles: ground (indigo) · paper (reading ground) · ink · accent (saffron) · secondary (aubergine) */
:root{
  --ground:#17253F;      /* page ground — saturated */
  --ground-deep:#0F1A2E;
  --ground-lift:#1E3055;
  --paper:#F4EFE4;       /* reading ground */
  --paper-2:#EAE3D2;
  --ink:#16202F;         /* type on paper */
  --ink-2:#3C4557;
  --accent:#E9A21B;      /* saffron — saturated, used as area */
  --accent-deep:#8A6A1E;
  --secondary:#6B2B4D;   /* aubergine — saturated, far from saffron in hue */
  --line:#34486E;
  --flag-green:#1E7A54;  /* tricolour cue in the wordmark rule */
  --line-paper:#D8CFBA;
  --muted:#8FA0BC;
  --muted-paper:#6E7788;
  --display:"Khand",system-ui,sans-serif;
  --body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --mono:"Spline Sans Mono",ui-monospace,Menlo,monospace;
  --measure:68ch;
  --gutter:clamp(18px,4vw,46px);
  --maxw:1360px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--paper);font-family:var(--body);font-size:17px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:#F6C15E}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.02em;line-height:1.02;margin:0}
p{margin:0 0 1.05em;text-wrap:pretty}
svg{flex:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.kicker{font-family:var(--mono);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.kicker.on-paper{color:var(--secondary)}
.num{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--accent)}
.rule-step{display:block;color:var(--accent)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:50;background:var(--accent);color:var(--ground);padding:8px 12px}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--line);background:var(--ground)}
.mast-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:22px 0 16px}
.wordmark{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(28px,4.4vw,50px);line-height:.9;color:var(--paper);letter-spacing:.005em}
.wordmark:hover{color:var(--paper)}
.mast-sub{display:flex;align-items:center;gap:12px;margin-top:9px;font-size:15px;color:var(--muted)}
.mast-util{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:4px}
.util-link{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:8px 12px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper)}
.util-link:hover{border-color:var(--accent);color:var(--accent)}
.util-link[aria-current="page"]{border-color:var(--accent);color:var(--accent)}
.mast-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line)}
.mast-nav a{display:flex;align-items:flex-start;gap:9px;padding:14px 16px 16px;border-right:1px solid var(--line);color:var(--paper)}
.mast-nav a:last-child{border-right:0}
.mast-nav a:hover{background:var(--ground-lift);color:var(--paper)}
.mast-nav a[aria-current="page"]{background:var(--ground-lift);box-shadow:inset 0 3px 0 var(--accent)}
.mast-nav .n-title{font-family:var(--display);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.04em;line-height:1.05}
.mast-nav .n-sub{display:block;font-family:var(--body);font-size:13.5px;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:3px}
.mast-nav svg{color:var(--accent);margin-top:1px}
.mast-nav a[aria-current="page"] svg{color:var(--paper)}
@media(max-width:1000px){.mast-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.mast-nav a{border-bottom:1px solid var(--line)}}
@media(max-width:620px){.mast-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.mast-nav .n-sub{display:none}}

/* ---------- homepage bands ---------- */
.band{border-bottom:1px solid var(--line)}
.band.paper{background:var(--paper);color:var(--ink);border-bottom:0}
.band.paper a{color:var(--secondary)}
.band.paper h1,.band.paper h2,.band.paper h3{color:var(--ink)}
.band.accent{background:var(--accent);color:#3A2A08;border-bottom:0}
.band.accent a{color:#3A2A08}
.band.plum{background:var(--secondary);color:#F6E9EF;border-bottom:0}
.band-pad{padding-block:clamp(34px,5vw,60px)}

.lead-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:stretch}
.lead-feature .lf-img{position:relative;background:var(--ground-deep)}
.lead-feature .lf-img img{width:100%;height:100%;object-fit:cover;min-height:320px}
.lead-feature .lf-body{padding:clamp(20px,3vw,40px) 0}
.lf-title{font-size:clamp(34px,5.4vw,66px);color:var(--paper);margin:14px 0 0}
.lf-standfirst{font-size:clamp(17px,1.5vw,21px);color:#CFDAEC;margin-top:16px;max-width:46ch}
.lf-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lf-meta b{color:var(--paper);font-weight:500}
.lf-more{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--accent);padding-bottom:5px}
@media(max-width:900px){.lead-feature{grid-template-columns:1fr}.lead-feature .lf-img img{min-height:240px}}

.feed-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,3vw,48px);align-items:start}
@media(max-width:1040px){.feed-shell{grid-template-columns:1fr}}

.sec-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:2px solid currentColor;margin-bottom:20px}
.sec-head h2{font-size:clamp(22px,2.4vw,30px)}
.sec-head .sh-note{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-paper)}
.band:not(.paper) .sec-head .sh-note{color:var(--muted)}

/* section cards (dense run) */
.sec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px;background:var(--line)}
.sec-card{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--ground);color:var(--paper);min-height:100%}
.sec-card:hover{background:var(--ground-lift);color:var(--paper)}
.sec-card .sc-top{display:flex;align-items:center;gap:10px}
.sec-card svg{color:var(--accent)}
.sec-card h3{font-size:21px}
.sec-card p{margin:0;font-size:15.5px;color:var(--muted);flex:1}
.sec-card .sc-count{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:auto}

/* quiet line */
.quiet-line{padding:clamp(40px,6vw,74px) 0;text-align:center}
.quiet-line p{margin:0 auto;max-width:32ch;font-family:var(--display);font-weight:500;font-size:clamp(28px,4.4vw,48px);line-height:1.04;text-transform:uppercase;color:var(--accent)}
.band.accent .quiet-line p{color:#3A2A08}

/* ---------- register table ---------- */
.register{width:100%;border-collapse:collapse;text-align:left}
.register th{font-family:var(--mono);font-weight:600;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-paper);border-bottom:1px solid var(--line-paper);padding:10px 14px 10px 0;vertical-align:bottom}
.register td{font-size:16px;line-height:1.4;color:var(--ink-2);border-bottom:1px solid var(--line-paper);padding:11px 14px 11px 0;vertical-align:top}
.register td:last-child,.register th:last-child{padding-right:0}
.register .r-no{font-family:var(--mono);font-size:13px;color:var(--secondary);width:52px}
.register .r-name{font-weight:600;color:var(--ink)}
.register .r-name a{color:var(--ink);border-bottom:1px solid var(--line-paper)}
.register .r-name a:hover{color:var(--secondary);border-color:var(--secondary)}
.register tbody tr:hover td{background:var(--paper-2)}
.register .r-group td{padding:20px 0 7px;font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary);border-bottom:0}
.register .r-group svg{display:inline-block;vertical-align:-3px;margin-right:8px;color:var(--secondary)}
@media(max-width:760px){
  .register,.register tbody,.register tr,.register td{display:block;width:100%}
  .register thead{display:none}
  .register tr{border-bottom:1px solid var(--line-paper);padding:12px 0}
  .register td{border:0;padding:2px 0}
  .register td[data-label]::before{content:attr(data-label) " ";font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-paper);display:block;margin-top:6px}
  .register .r-no{width:auto}
  .register .r-group td{padding:14px 0 4px}
}

/* ---------- selection list (max 8) ---------- */
.pick{display:flex;flex-direction:column}
.pick a{display:grid;grid-template-columns:44px 96px minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start;padding:16px 0;border-top:1px solid var(--line);color:var(--paper)}
.pick a:first-child{border-top:0}
.pick a:hover{color:var(--paper)}
.pick a:hover .p-title{color:var(--accent)}
.pick .p-no{font-family:var(--mono);font-size:12.5px;color:var(--accent)}
.pick img{width:96px;height:64px;object-fit:cover}
.pick .p-title{font-family:var(--display);font-weight:600;font-size:23px;text-transform:uppercase;line-height:1.05}
.pick .p-sub{display:block;margin-top:4px;font-size:15px;color:var(--muted)}
.pick .p-brief{font-size:15.5px;color:var(--muted)}
@media(max-width:820px){.pick a{grid-template-columns:38px 1fr}.pick img{display:none}.pick .p-brief{display:none}}

/* ---------- figures ---------- */
figure{margin:0}
.article-figure img{width:100%}
figcaption{font-size:16px;line-height:1.45}
.fig-cap{font-size:16.5px;line-height:1.45;color:var(--ink)}
.band:not(.paper) .fig-cap,.on-ground .fig-cap{color:#CFDAEC}
.credit{display:block;margin-top:7px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-paper)}
.on-ground .credit,.band:not(.paper) .credit{color:var(--muted)}

/* treatment 1 — plate on a mat */
.fig-plate{background:var(--paper-2);padding:clamp(14px,1.6vw,22px);border:1px solid var(--line-paper)}
.fig-plate img{border:1px solid rgba(22,32,47,.25)}
.fig-plate figcaption{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;margin-top:14px}
.fig-plate .f-no{font-family:var(--mono);font-size:12px;color:var(--secondary)}
/* treatment 2 — full-measure bleed band */
.fig-bleed{background:var(--secondary);padding:clamp(20px,3vw,38px) 0}
.fig-bleed figcaption{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;margin-top:16px}
.fig-bleed .fig-cap{color:#F6E9EF}
.fig-bleed .credit{color:#D8B7C6}
.fig-bleed .f-lead{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.2vw,28px);text-transform:uppercase;line-height:1.05;color:var(--accent)}
/* treatment 3 — inset in the column, prose wrapping */
.fig-inset{float:right;width:min(300px,42%);margin:6px 0 18px 26px}
.fig-inset img{border-top:3px solid var(--accent)}
.fig-inset figcaption{margin-top:10px;padding-left:12px;border-left:1px solid var(--line-paper)}
.fig-inset .fig-cap{font-size:15px}
@media(max-width:700px){.fig-inset{float:none;width:100%;margin:0 0 22px}}
/* treatment 4 — strip: image beside caption */
.fig-strip{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(16px,2vw,30px);align-items:center;background:var(--paper-2);border:1px solid var(--line-paper);padding:clamp(14px,1.6vw,20px)}
@media(max-width:760px){.fig-strip{grid-template-columns:1fr}}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.gallery figure img{border-top:3px solid var(--accent)}
.map-figure .map-slot{min-height:320px;background:var(--paper-2);border:1px solid var(--line-paper)}

/* ---------- article ---------- */
.entry-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch;border-bottom:1px solid var(--line)}
.entry-head .eh-body{padding:clamp(28px,4vw,52px) clamp(28px,3vw,44px) clamp(28px,4vw,48px) var(--gutter)}
.entry-head .eh-img{position:relative;background:var(--ground-deep);min-height:320px}
.entry-head .eh-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
@media(max-width:900px){.entry-head{grid-template-columns:1fr}.entry-head .eh-body{padding-inline:var(--gutter)}.entry-head .eh-img{min-height:260px;position:relative}}
.eh-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.eh-kicker svg{color:var(--accent)}
.entry-title{font-size:clamp(32px,5vw,62px);color:var(--paper);margin:16px 0 0}
.entry-standfirst,.lead{font-size:clamp(18px,1.6vw,22px);line-height:1.45;color:#CFDAEC;margin:18px 0 0;max-width:44ch}
.band.paper .lead{color:var(--ink)}
.facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px 20px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.facts dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:0;font-size:16px;color:var(--paper)}

.article-body{background:var(--paper);color:var(--ink);padding:clamp(30px,4.5vw,56px) 0 clamp(24px,3vw,40px)}
.article-body .measure{max-width:var(--measure);margin:0 auto;padding-inline:var(--gutter)}
.article-body .measure.wide{max-width:min(1080px,100%)}
.article-body p{font-size:19px;line-height:1.65;color:var(--ink-2)}
.article-body h2{font-size:clamp(22px,2.6vw,30px);color:var(--ink);margin:34px 0 14px;display:flex;align-items:baseline;gap:12px}
.article-body h2::after{content:"";flex:1;height:1px;background:var(--line-paper)}
.article-body h3{font-size:19px;color:var(--secondary);margin:24px 0 10px}
.article-body a{color:var(--secondary);border-bottom:1px solid rgba(107,43,77,.35)}
.article-body a:hover{color:var(--ink);border-color:var(--ink)}
.article-body figure{margin:26px 0 30px}
.article-body .full{margin:34px 0}

.pullquote{margin:30px 0;padding:0 0 0 22px;border-left:3px solid var(--accent)}
.pullquote p{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.6vw,30px);line-height:1.1;text-transform:uppercase;color:var(--secondary);margin:0}
.blockquote{margin:26px 0;padding:20px 22px;background:var(--paper-2);border-left:3px solid var(--secondary)}
.blockquote p{margin:0 0 8px;font-size:18px}
.blockquote cite{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-paper);font-style:normal}
.callout{margin:26px 0;padding:20px 22px;background:var(--ground);color:#CFDAEC}
.callout p{margin:0;color:#CFDAEC;font-size:17.5px}
.note{font-size:16px;color:var(--muted-paper);border-top:1px solid var(--line-paper);padding-top:10px}

/* notes-for-design panels */
.panel{margin:34px 0;background:var(--paper-2);border-top:3px solid var(--secondary);padding:clamp(18px,2.4vw,28px)}
.panel-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.panel-head h3{font-size:clamp(18px,2vw,24px);color:var(--ink);margin:0}
.terms{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px 20px;margin:0}
.terms dt{font-family:var(--display);font-weight:600;font-size:18px;text-transform:uppercase;color:var(--secondary);line-height:1.1}
.terms dd{margin:0;font-size:16.5px;line-height:1.45;color:var(--ink-2)}
@media(max-width:620px){.terms{grid-template-columns:1fr;gap:2px 0}.terms dd{margin-bottom:12px}}
.timeline{list-style:none;margin:0;padding:0;counter-reset:t}
.timeline li{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:8px 20px;padding:11px 0;border-top:1px solid var(--line-paper)}
.timeline li:first-child{border-top:0}
.timeline .t-when{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--secondary);line-height:1.4}
.timeline .t-what{font-size:16.5px;line-height:1.45;color:var(--ink-2)}
@media(max-width:620px){.timeline li{grid-template-columns:1fr}}
.procession{list-style:none;margin:0;padding:0;counter-reset:step;display:grid;gap:2px}
.procession li{counter-increment:step;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;background:var(--paper);padding:12px 14px}
.procession li::before{content:counter(step,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--accent-deep)}
.procession li span{font-size:16.5px;line-height:1.45;color:var(--ink-2)}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;background:var(--line-paper);margin:26px 0}
.statblock{background:var(--paper);padding:18px}
.stat-num{display:block;font-family:var(--display);font-weight:700;font-size:40px;line-height:1;color:var(--secondary)}
.stat-label{display:block;margin-top:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-paper)}
.datatable,.versus{width:100%;border-collapse:collapse;margin:26px 0;text-align:left}
.datatable th,.versus th{font-family:var(--mono);font-weight:600;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-paper);border-bottom:1px solid var(--ink);padding:9px 14px 9px 0}
.datatable td,.versus td{font-size:16.5px;color:var(--ink-2);border-bottom:1px solid var(--line-paper);padding:10px 14px 10px 0;vertical-align:top}
.versus td:first-child{font-weight:600;color:var(--ink)}
.chart figcaption{margin-top:10px;font-size:15.5px;color:var(--ink-2)}
.chart svg{width:100%;height:auto;overflow:visible}

/* related / further */
.related-links,.cat-list{list-style:none;margin:0;padding:0}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:var(--line)}
.further-grid a{display:block;padding:18px;background:var(--ground);color:var(--paper)}
.further-grid a:hover{background:var(--ground-lift)}
.further-grid .fg-k{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.further-grid .fg-t{font-family:var(--display);font-weight:600;font-size:21px;text-transform:uppercase;line-height:1.05}
.related-links li{border-top:1px solid var(--line)}
.related-links li:first-child{border-top:0}
.related-links a{display:flex;gap:14px;align-items:baseline;padding:13px 0;color:var(--paper)}
.related-links a:hover{color:var(--accent)}
.related-links .rl-no{font-family:var(--mono);font-size:12px;color:var(--accent)}
.cat-list li{border-top:1px solid var(--line-paper)}
.cat-list a{display:grid;grid-template-columns:44px 120px minmax(0,1fr);gap:18px;align-items:start;padding:16px 0;color:var(--ink)}
.cat-list a:hover .cl-title{color:var(--secondary)}
.cat-list img{width:120px;height:80px;object-fit:cover}
.cat-list .cl-no{font-family:var(--mono);font-size:12.5px;color:var(--secondary)}
.cat-list .cl-title{font-family:var(--display);font-weight:600;font-size:24px;text-transform:uppercase;line-height:1.05;color:var(--ink)}
.cat-list .cl-brief{display:block;margin-top:5px;font-size:16px;color:var(--ink-2)}
@media(max-width:700px){.cat-list a{grid-template-columns:38px 1fr}.cat-list img{display:none}}

/* entity + org cards */
.entity-ref{font-family:var(--mono);font-size:.92em;letter-spacing:.02em}
.org-grid,.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.org-card{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--paper-2);border:1px solid var(--line-paper);color:var(--ink)}
.org-logo{width:100%;max-height:40px;object-fit:contain;object-position:left}
.org-name{font-family:var(--display);font-weight:600;font-size:19px;text-transform:uppercase}
.org-host{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted-paper)}
.profile-card{background:var(--paper-2);border:1px solid var(--line-paper);padding:18px}
.profile-card .p-photo{width:100%;height:170px;object-fit:cover;margin-bottom:12px}
.profile-card h3{font-size:21px;color:var(--ink)}
.profile-card .p-role{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin:6px 0 10px}
.profile-card p{font-size:16px;color:var(--ink-2)}
.profile-card.no-photo{border-left:3px solid var(--secondary)}

/* ---------- supporters rail ---------- */
.supporters{background:var(--ground-lift);border:1px solid var(--line);padding:20px}
.supporters .s-head{margin-bottom:6px}
.supporters h2{font-size:20px;color:var(--paper)}
.supporters .s-note{font-size:14.5px;color:var(--muted);margin:8px 0 18px}
.s-group{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.s-group-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;display:block}
.sponsor{flex:0 0 244px;max-width:100%;display:flex;flex-direction:column;gap:10px;background:var(--ground);border:1px solid var(--line);padding:12px}
.sponsor:hover{border-color:var(--accent)}
.sponsor img{width:100%;height:44px;max-height:44px;object-fit:contain;object-position:left center;background:var(--ground-deep);padding:6px 10px}
.sponsor .sponsor-name{font-family:var(--display);font-weight:600;font-size:17px;text-transform:uppercase;letter-spacing:.03em;color:var(--paper);line-height:1.1}
.sponsor .sponsor-blurb{font-size:14.5px;line-height:1.4;color:var(--muted);min-width:200px}
.sponsor.feat{border-color:var(--line);background:var(--ground-deep)}
@media(max-width:1040px){
  .supporters{padding:22px}
  .s-group{gap:16px}
  .sponsor{flex:0 0 244px}
}
@media(max-width:560px){.sponsor{flex:0 0 100%}}

/* ---------- footer ---------- */
.foot{background:var(--ground-deep);border-top:1px solid var(--line);padding:36px 0 44px;margin-top:0}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px}
.foot h2{font-size:18px;color:var(--paper);margin-bottom:12px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:7px}
.foot a{color:var(--muted)}
.foot a:hover{color:var(--accent)}
.foot .disclaimer{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:15px;color:var(--muted);max-width:70ch}
.foot .mono{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-paper)}

/* ---------- simple pages ---------- */
.page-head{padding:clamp(30px,4.5vw,58px) 0 clamp(20px,3vw,36px);border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(34px,6vw,68px);color:var(--paper)}
.page-head .ph-sub{max-width:52ch;margin-top:16px;font-size:19px;color:#CFDAEC}
.prose{max-width:var(--measure);padding-inline:var(--gutter);margin:0 auto}
.prose p{font-size:18.5px;line-height:1.62}

/* ---------- panel lists + misc ---------- */
.panel-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.panel-list li{position:relative;padding-left:22px;font-size:16.5px;line-height:1.45;color:var(--ink-2)}
.panel-list li::before{content:"";position:absolute;left:0;top:.62em;width:11px;height:1px;background:var(--secondary)}
.article-body .panel-list{margin:20px 0 26px}
.related-links .p-sub{display:block;margin-top:3px;font-size:15px;color:var(--muted)}
.related-links a:hover .p-sub{color:var(--muted)}
.band.paper .related-links li{border-color:var(--line-paper)}
.band.paper .related-links a{color:var(--ink)}
.sg-block{border-top:1px solid var(--line);padding:30px 0}
.sg-block > h2{font-size:22px;color:var(--accent);margin-bottom:16px}
.sg-narrow{max-width:360px;border:1px dashed var(--line);padding:12px;overflow:hidden;resize:horizontal}

/* contain floated insets so a trailing inset can never overlap the next band */
.article-body .measure{overflow:hidden}
.panel,.fig-bleed,.article-body h2{clear:both}

/* utility strip — moved out of the masthead top row */
.mast-strip{background:var(--ground-deep);border-top:1px solid var(--line)}
.mast-strip .ms-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:9px}
.mast-strip .ms-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-paper)}
.mast-strip .mast-util{padding-bottom:0;gap:8px}
.mast-strip .util-link{padding:6px 11px;font-size:10.5px}
@media(max-width:520px){.mast-strip .ms-label{display:none}}

/* lead feature — hairline fact rows, captioned image */
.lf-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:26px 0 0;border-top:1px solid var(--line)}
.lf-facts > div{padding:14px 18px 14px 0;border-right:1px solid var(--line)}
.lf-facts > div:last-child{border-right:0;padding-right:0}
.lf-facts dt{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-paper)}
.lf-facts dd{margin:7px 0 0;font-size:16px;line-height:1.35;color:var(--paper)}
@media(max-width:700px){.lf-facts{grid-template-columns:1fr}.lf-facts > div{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.lf-facts > div:last-child{border-bottom:0}}
.lf-img figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;background:linear-gradient(to top,rgba(15,26,46,.94),rgba(15,26,46,0))}
.lf-img{position:relative}
.lf-img .fig-cap{color:#E4EAF4;font-size:15.5px}
.lf-img .credit{color:var(--muted)}
@media(max-width:900px){.lf-img figcaption{position:static;background:none;padding:12px 0}.lf-img .fig-cap{color:#CFDAEC}}

/* image-led entry cards — even height, one figure treatment */
.entry-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(18px,2.2vw,30px)}
.ecard{display:flex;flex-direction:column;background:var(--paper-2);border:1px solid var(--line-paper);padding:14px;color:var(--ink)}
.ecard:hover{border-color:var(--secondary)}
.ecard .ec-img{display:block;aspect-ratio:3/2;overflow:hidden;border-top:3px solid var(--accent)}
.ecard .ec-img img{width:100%;height:100%;object-fit:cover}
.ecard:hover .ec-img img{filter:saturate(1.06)}
.ec-kick{display:flex;align-items:center;gap:8px;margin-top:13px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary)}
.ec-kick .ec-no{margin-left:auto;color:var(--muted-paper)}
.ec-title{display:block;margin-top:8px;font-family:var(--display);font-weight:600;font-size:clamp(22px,2.2vw,27px);text-transform:uppercase;line-height:1.03}
.ecard:hover .ec-title{color:var(--secondary)}
.ec-line{display:block;margin-top:8px;font-size:16.5px;line-height:1.45;color:var(--ink-2)}
.ec-foot{display:block;margin-top:auto;padding-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-paper)}
.ec-after{margin-top:26px}
.ec-after a{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);border-bottom:2px solid var(--secondary);padding-bottom:6px}

.mast-mark{flex:none;margin-right:2px}
.mast-sub{align-items:flex-start}

/* lead feature runs full width: image bleeds to the viewport edge */
.lead-full{padding-inline:0;max-width:none}
.lead-full .lead-feature{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:0}
.lead-full .lf-body{padding:clamp(26px,3.6vw,52px) clamp(26px,3vw,44px) clamp(26px,3.6vw,52px) var(--gutter)}
.lead-full .lf-img img{min-height:clamp(340px,44vw,620px)}
@media(max-width:900px){.lead-full .lf-body{padding-inline:var(--gutter)}}

.quiet-line .ql-label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#5C4310;margin-bottom:16px}
.quiet-line p{max-width:26ch}
.quiet-line .ql-after{display:block;max-width:62ch;margin:20px auto 0;font-size:17px;line-height:1.5;color:#4A3410}

/* cards: three across on desktop, two on tablet, one on phone */
.entry-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1040px){.entry-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.entry-cards{grid-template-columns:minmax(0,1fr)}}

/* supporters: a full-width band, no side rail */
.supporters-band{background:var(--ground-deep)}
.supporters-band .supporters{background:transparent;border:0;padding:0;max-width:none}
.supporters-band .s-head{display:flex;align-items:center;gap:14px}
.supporters-band .supporters h2{font-size:clamp(22px,2.4vw,30px)}
.supporters-band .s-note{max-width:60ch;margin-bottom:26px}
.supporters-band .s-group{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:26px}
.supporters-band .s-group-label{margin-bottom:12px}
.supporters-band .sponsor{flex:0 0 244px}

/* composed plate band — a photograph with a job, not a wallpaper */
.plate-band{background:var(--secondary);color:#F6E9EF;padding:clamp(30px,4vw,54px) 0}
.pb-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(22px,3vw,44px);align-items:start}
.pb-main img{width:100%;aspect-ratio:16/10;object-fit:cover;border-top:3px solid var(--accent)}
.pb-main figcaption,.pb-sub figcaption{margin-top:12px}
.plate-band .fig-cap{color:#F6E9EF;font-size:16.5px}
.plate-band .credit{color:#D8B7C6}
.pb-kick{color:var(--accent)}
.pb-lead{margin:12px 0 22px;font-family:var(--display);font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:1.08;text-transform:uppercase;color:#F6E9EF}
.pb-sub img{width:100%;aspect-ratio:3/2;object-fit:cover;border-top:3px solid var(--accent)}
.pb-links{margin-top:22px;border-top:1px solid rgba(246,233,239,.28)}
.pb-links li{border-color:rgba(246,233,239,.28)}
.pb-links a,.pb-links .p-sub{color:#F6E9EF}
.pb-links .rl-no{color:var(--accent)}
.pb-links a:hover{color:var(--accent)}
@media(max-width:860px){.pb-grid{grid-template-columns:1fr}}

/* ---------- statrow, enlarged ---------- */
.statrow{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));background:var(--ink);gap:1px;margin:30px 0 34px}
.statblock{background:var(--paper);padding:26px 22px 22px;position:relative}
.statblock::before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;background:var(--accent)}
.stat-num{font-size:clamp(52px,7vw,86px);line-height:.86;color:var(--secondary);letter-spacing:-.01em}
.stat-label{margin-top:12px;font-size:11px;letter-spacing:.14em;color:var(--ink-2)}

/* ---------- footer ---------- */
.foot{background:var(--ground-deep);border-top:3px solid var(--secondary);padding:clamp(34px,4.5vw,58px) 0 40px}
.foot-top{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid var(--line)}
.foot-wordmark{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(26px,3.6vw,42px);line-height:.9;color:var(--paper)}
.foot-wordmark:hover{color:var(--accent)}
.foot-strap{display:flex;align-items:flex-start;gap:12px;margin:12px 0 0;max-width:64ch;font-size:15.5px;color:var(--muted)}
.foot-strap svg{flex:none;margin-top:2px}
.foot-util{display:flex;gap:22px;flex-wrap:wrap;padding-bottom:6px}
.foot-util a{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);border-bottom:1px solid var(--line);padding-bottom:5px}
.foot-util a:hover{color:var(--accent);border-color:var(--accent)}
.foot-index{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,3vw,48px);padding:30px 0}
.foot-index h2{font-family:var(--mono);font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:none;color:var(--accent);margin-bottom:16px}
.foot-secs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px}
.foot-secs a{display:flex;align-items:flex-start;gap:10px;padding:9px 0;color:var(--paper);border-bottom:1px solid rgba(52,72,110,.55)}
.foot-secs a:hover{color:var(--accent)}
.foot-secs svg{color:var(--accent);margin-top:3px}
.foot-secs span{font-family:var(--display);font-weight:600;font-size:17px;text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.foot-secs em{display:block;font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-paper);margin-top:3px}
.foot-links{list-style:none;margin:0;padding:0}
.foot-links li{border-bottom:1px solid rgba(52,72,110,.55)}
.foot-links a{display:block;padding:9px 0;font-size:16px;color:var(--muted)}
.foot-links a:hover{color:var(--accent)}
.foot-count{margin:18px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-paper)}
.foot-count span{font-family:var(--display);font-size:26px;letter-spacing:0;color:var(--accent);margin-right:6px;vertical-align:-2px}
.foot-count span + span{margin-left:14px}
.foot-bottom{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(18px,3vw,44px);padding-top:24px;border-top:1px solid var(--line)}
.foot .disclaimer{margin:0;max-width:78ch;font-size:15px;color:var(--muted);border:0;padding:0}
.foot-sig{margin:0;font-family:var(--display);font-weight:500;font-size:19px;text-transform:uppercase;line-height:1.12;color:var(--accent)}
@media(max-width:900px){.foot-index{grid-template-columns:1fr}.foot-bottom{grid-template-columns:1fr}}
@media(max-width:560px){.foot-secs{grid-template-columns:1fr}}

/* supporters band: two groups side by side, tile width constant throughout */
.supporters-band .s-cols{display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:clamp(24px,3vw,52px)}
.supporters-band .s-col--feat .s-group{display:grid;grid-template-columns:repeat(2,244px);gap:16px;margin-bottom:0}
.supporters-band .s-col--roll .s-group{display:grid;grid-template-columns:repeat(3,244px);gap:16px;margin-bottom:0}
.supporters-band .sponsor{flex:none;width:244px}
@media(max-width:1359px){  /* was 1240: the 5-tile row needs 1360 */
  .supporters-band .s-cols{grid-template-columns:1fr;gap:26px}
  .supporters-band .s-col--feat .s-group,.supporters-band .s-col--roll .s-group{grid-template-columns:repeat(auto-fill,244px)}
}
@media(max-width:560px){
  .supporters-band .s-col--feat .s-group,.supporters-band .s-col--roll .s-group{grid-template-columns:minmax(0,1fr)}
  .supporters-band .sponsor{width:auto}
}

/* ---------- article pacing ---------- */
.article-body{padding-top:clamp(24px,3vw,40px)}
.article-body .measure{max-width:66ch}
.article-body p{font-size:19px;line-height:1.62;margin-bottom:1.15em}
.article-body p.opening{font-size:clamp(21px,2vw,24px);line-height:1.45;color:var(--ink)}

.entry-toc{padding-block:0 6px;margin-bottom:30px}
.etoc-label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);padding-bottom:10px;border-bottom:2px solid var(--secondary)}
.etoc-list{list-style:none;margin:0;padding:0}
.etoc-list li{border-bottom:1px solid var(--line-paper)}
.etoc-list a{display:flex;align-items:baseline;gap:14px;padding:10px 0;font-family:var(--display);font-weight:600;font-size:18px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink);border:0}
.etoc-list a:hover{color:var(--secondary)}
.etoc-no{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.06em;color:var(--accent-deep)}

.article-body h2{position:relative;align-items:baseline;gap:14px;margin:44px 0 16px;scroll-margin-top:20px}
.article-body h2 .h2-no{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.06em;color:var(--accent-deep);flex:none}
.article-body h2 .h2-t{flex:none;max-width:calc(100% - 60px)}
@media(min-width:1120px){
  .article-body h2 .h2-no{position:absolute;left:-58px;top:.45em}
  .article-body h2{gap:0}
}
.fig-inset--left{float:left;margin:6px 26px 18px 0}
@media(max-width:700px){.fig-inset--left{float:none;margin:0 0 22px}}

/* portrait sources must not swamp a band or a plate */
.fig-bleed img{width:100%;aspect-ratio:16/9;object-fit:cover;max-height:70vh}
.fig-plate img{max-height:560px;width:auto;max-width:100%;margin-inline:auto}
.gallery figure img{aspect-ratio:3/2;object-fit:cover}

/* wider reading column on desktop */
.article-body .measure{max-width:min(860px,100%)}
.article-body .measure.wide{max-width:min(1100px,100%)}
.article-body p{font-size:19.5px;line-height:1.6}
.article-body p.opening{font-size:clamp(21px,1.9vw,25px);line-height:1.42}
.entry-toc{max-width:min(860px,100%)}

/* panels: typographic head, no repeated drawn rule */
.panel-head{gap:0;border-bottom:1px solid var(--line-paper);padding-bottom:10px}
.panel-head h3{display:flex;align-items:baseline;gap:12px;letter-spacing:.05em}
.panel-head h3::before{content:"";width:22px;height:0;border-top:3px solid var(--secondary);flex:none;transform:translateY(-.35em)}

/* ---------- panels, one system ---------- */
.panel{background:var(--paper-2);border:1px solid var(--line-paper);border-top:3px solid var(--secondary);padding:clamp(18px,2vw,26px);margin:34px 0}
.panel-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin:34px 0;align-items:start}
.panel-pair .panel{margin:0;height:100%}
@media(max-width:820px){.panel-pair{grid-template-columns:1fr}}
.panel-head{display:block;border-bottom:1px solid var(--line-paper);padding-bottom:12px;margin-bottom:4px}
.panel-head .p-kind{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:7px}
.panel-head h3{display:block;font-family:var(--display);font-weight:600;font-size:clamp(19px,2vw,23px);text-transform:uppercase;letter-spacing:.04em;line-height:1.06;color:var(--ink)}
.panel-head h3::before{content:none}
.p-rows{list-style:none;margin:0;padding:0;counter-reset:prow}
.p-rows li{display:grid;grid-template-columns:minmax(140px,.62fr) minmax(0,1fr);gap:8px 20px;padding:13px 0;border-bottom:1px solid var(--line-paper)}
.p-rows li:last-child{border-bottom:0;padding-bottom:2px}
.p-key{font-family:var(--display);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.05em;line-height:1.16;color:var(--secondary)}
.p-val{font-size:17px;line-height:1.5;color:var(--ink-2)}
.panel[data-kind="dates"] .p-key{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.09em;color:var(--accent-deep);padding-top:2px}
.panel[data-kind="conditions"] .p-rows li{counter-increment:prow}
.panel[data-kind="conditions"] .p-key::before{content:counter(prow,decimal-leading-zero) " ";font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.08em;color:var(--accent-deep);margin-right:8px}
.panel[data-kind="conditions"] .p-key{color:var(--ink)}
@media(max-width:620px){.p-rows li{grid-template-columns:1fr;gap:5px}}

/* wordmark lockup: name set tight, tld as a mono suffix */
.wordmark,.foot-wordmark{display:inline-flex;align-items:baseline;gap:.1em;text-transform:none}
.wordmark .wm-name,.foot-wordmark .wm-name{text-transform:uppercase;letter-spacing:-.012em;font-weight:700}
.wordmark .wm-tld,.foot-wordmark .wm-tld{font-family:var(--mono);font-weight:500;font-size:.26em;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-self:flex-start;padding-top:.35em}
.wordmark{position:relative;padding-bottom:9px;align-items:flex-start}
.wordmark::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(to right,var(--accent) 0 34%,#EFE7D6 34% 66%,var(--flag-green) 66% 100%)}
.wordmark:hover .wm-name{color:var(--accent)}
.foot-wordmark:hover .wm-name{color:var(--accent)}
@media(max-width:520px){.wordmark .wm-tld,.foot-wordmark .wm-tld{font-size:.3em}}

/* green from the tricolour carries one job: the Spice Regions section mark */
.mast-nav a[href$="/category/spice/"] svg,.sec-card[href$="/category/spice/"] svg,.foot a[href$="/category/spice/"] svg{color:var(--flag-green)}
.sec-card[href$="/category/spice/"] .sc-count{color:var(--flag-green)}
.eh-kicker a[href$="/category/spice/"]{color:var(--flag-green)}
.page-head.spice{box-shadow:inset 0 3px 0 var(--flag-green)}
.page-head.spice .eh-kicker svg,.page-head.spice .eh-kicker .kicker{color:var(--flag-green)}

/* accent band: ghat ridge and terraces behind the line */
.band.accent{position:relative;overflow:hidden;background:linear-gradient(180deg,#F0AE2C 0%,var(--accent) 45%,#DD9411 100%)}
.band.accent > .wrap{position:relative;z-index:1}
.band.accent .terrain{position:absolute;left:0;bottom:0;width:100%;height:clamp(78px,11vw,148px);pointer-events:none}
.band.accent .terrain .t-back{fill:#8A6A1E;opacity:.17}
.band.accent .terrain .t-front{fill:#7A5A15;opacity:.2}

/* mobile audit fixes */
@media(max-width:900px){.lead-full .lead-feature{grid-template-columns:1fr}}
@media(max-width:620px){
  .mast-util .util-link{padding:11px 12px}
  .foot-secs a{padding-block:11px}
  .foot-index a{display:inline-block;padding-block:5px}
  .wordmark .wm-tld,.foot-wordmark .wm-tld{font-size:11px}
}
@media(max-width:620px){.band.accent .terrain{height:58px}.band.accent .quiet-line{padding-bottom:74px}}

/* 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. */
.s-group .sponsor.sponsor img{box-sizing:border-box!important;padding:8px 12px!important}


/* op-wrap-gutter: these elements carry the build's own gutter class but their own
   rule sets a padding SHORTHAND, which resets left/right to 0 — every line of type
   then sits against the screen edge at phone width. Design's own token is restated
   for the inline axis, on the exact element that lost it. Measured, not guessed:
   each selector below had TEXT within 2px of a viewport edge at 390. */
@media (max-width:900px){
  .wrap.lead-full{padding-inline:var(--gutter)}
}

/* op-nav-collapse: this nav printed 166px of stacked links at 390 before any content
   (6 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,46px)) 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 "max-height" technique and marked with the "dots" icon — the mechanism
   is deliberately not identical across the fleet either. */
.nav-fold{display:none}
@media (max-width:900px){
  .nav-fold{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-fold-bars{width:13px;height:3px;flex:none;border-radius:99px;background:currentColor;box-shadow:5px 0 0 -0.5px currentColor,-5px 0 0 -0.5px currentColor}
  .mast-nav{max-height:0;overflow:hidden;padding-block:0;border-top-width:0;border-bottom-width:0;transition:max-height .28s ease}
  .nav-fold-c:checked ~ .mast-nav{max-height:220vh;padding-block:revert;border-top-width:revert;border-bottom-width:revert}
  .masthead:has(> .nav-fold){display:flow-root}
  .nav-fold:not(:has(~ .mast-nav)){display:none}
}

/* op-footer-compact: the footer printed 7 rows for 10 link(s) in
   2 list(s) — 1306px at 390, 12% 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 1306 -> 1141px (13% shorter) with no new overflow. Both shapes were
   tried and the shorter one kept — two columns helps a wide group set and hurts a narrow one.
   Phone widths only; the desktop footer is untouched. */
@media (max-width:640px){
  footer ul,footer ol{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;column-gap:clamp(9px,2.99vw,43px)!important;row-gap:4px!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,
   1272px at 390, 12% of the whole page. Two columns bring it to
   659px (48% shorter). Checked before writing: no new overflow, smallest mark still
   142px wide, longest blurb 3 lines, tile heights 95-174px.
   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 (.s-group), 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){
  .s-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px!important}
    .s-group > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .s-group > * *{min-width:0!important;max-width:100%}
    .s-group img,.s-group svg{max-width:100%;height:auto}
  .s-group .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

/* op-hover-pad */
.register tbody tr td:first-child{padding-left:clamp(12px,3.5vw,22px)!important}
/* op-hover-pad:end */

/* op-tablet-gutter — text never sits on the screen edge between the mobile guard and the max-width */
@media (min-width:681px){
  div.measure{padding-left:max(var(--gutter), 18px);padding-right:max(var(--gutter), 18px)}
}
/* op-tablet-gutter:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(a.ecard > span.ec-img > img,
  div.entry-head > div.eh-img > img,
  div.lead-feature > figure.lf-img > img,
  div.measure > figure.article-figure.fig-inset > img,
  div.measure > figure.article-figure.fig-plate > img,
  div.measure > figure.article-figure.fig-strip > img,
  div.pb-grid.wrap > figure.pb-main > img,
  div.pb-side > figure.pb-sub > img,
  div.pick > a > img,
  div.wrap > figure.article-figure > img,
  li > a > img){height:auto}
/* op-img-dims:end */
@media (min-width:660px) and (max-width:1439px){.s-group.s-group:has(> [data-partner]){grid-template-columns:repeat(auto-fill,minmax(min(244px,calc(50% - 8px)),1fr))!important;justify-content:stretch!important}.s-group.s-group > [data-partner]{width:auto!important;max-width:none!important}}
.s-group > [data-partner] img{background:transparent!important}
