/* =========================================================
   Candy On Bone — stylesheet
   Rebuilt from the supplied design spec (blush / aubergine / gold).
   Namespace: .cb-
   ========================================================= */

/* ---------- Fonts (self-hosted, no third-party request) ---------- */
@font-face{font-family:'Noe Display';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/NoeDisplay-Regular.woff2') format('woff2')}
@font-face{font-family:'Noe Display';font-weight:500;font-style:normal;font-display:swap;src:url('fonts/NoeDisplay-Medium.woff2') format('woff2')}
@font-face{font-family:'Noe Display';font-weight:400;font-style:italic;font-display:swap;src:url('fonts/NoeDisplay-RegularItalic.woff2') format('woff2')}
@font-face{font-family:'Soehne';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/Sohne-Buch.woff2') format('woff2')}
@font-face{font-family:'Soehne';font-weight:500;font-style:normal;font-display:swap;src:url('fonts/Sohne-Kraftig.woff2') format('woff2')}
@font-face{font-family:'Soehne';font-weight:600;font-style:normal;font-display:swap;src:url('fonts/Sohne-Halbfett.woff2') format('woff2')}

/* ---------- Tokens ---------- */
:root{
  --cb-page:#E7DAD3;
  --cb-blush:#F7EFEA;
  --cb-ink:#2A1527;
  --cb-body:#4E3A4A;
  --cb-muted:#7B6577;
  --cb-rule:#E3D3CB;
  --cb-aub:#3B1F38;
  --cb-aub-dark:#2A1527;
  --cb-plum:#7A3D6E;
  --cb-gold:#D9B25C;
  --cb-gold-hi:#E8C676;
  --cb-tint:#EFE2E6;
  --cb-tint-rule:#DCC6CE;
  --cb-on-aub:#E6D5DE;
  --cb-on-dark:#CDB8C6;
  --cb-serif:'Noe Display',Georgia,'Times New Roman',serif;
  --cb-sans:'Soehne','Helvetica Neue',Helvetica,Arial,sans-serif;
  --cb-r:14px;
  --cb-pad:48px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cb-page);color:var(--cb-ink);
  font-family:var(--cb-sans);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--cb-plum)}
img{max-width:100%;display:block}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
button,input{font-family:inherit}
:focus-visible{outline:2px solid var(--cb-plum);outline-offset:3px}

.cb-shell{width:100%;max-width:1280px;margin:0 auto;background:var(--cb-blush)}
.cb-skip{position:absolute;left:-9999px}
.cb-skip:focus{left:8px;top:8px;z-index:60;background:var(--cb-aub);color:var(--cb-blush);padding:10px 16px;font-size:14px}

/* ---------- Advertorial disclosure strip ---------- */
.cb-disclosure{
  background:var(--cb-aub-dark);color:var(--cb-on-dark);
  font-size:12px;letter-spacing:.06em;line-height:1.45;
  padding:9px var(--cb-pad);text-align:center;
}
.cb-disclosure b{color:var(--cb-blush);font-weight:600}

/* ---------- Masthead ---------- */
.cb-masthead{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:22px var(--cb-pad);border-bottom:1px solid var(--cb-rule);gap:20px;
}
.cb-nav{display:flex;align-items:center;gap:24px;font-size:14.5px;line-height:1;flex-wrap:wrap}
.cb-nav a{display:flex;align-items:center;gap:7px}
.cb-nav img{width:16px;height:16px;flex:none}
.cb-brand{text-align:center}
.cb-wordmark{
  font-family:var(--cb-serif);font-style:italic;font-weight:400;
  font-size:clamp(32px,4.2vw,44px);line-height:1;color:var(--cb-aub);
}
.cb-tagline{
  margin-top:6px;font-size:11.5px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--cb-muted);
}
.cb-masthead-cta{display:flex;justify-content:flex-end}
.cb-btn-dark{
  height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 20px;
  background:var(--cb-aub);color:var(--cb-blush);font-size:14.5px;font-weight:500;
  line-height:1;border:0;cursor:pointer;white-space:nowrap;
}
.cb-btn-dark:hover{background:var(--cb-aub-dark);color:var(--cb-blush)}
.cb-btn-dark img{width:16px;height:16px;flex:none}

/* ---------- Kickers / labels ---------- */
.cb-kicker{
  display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;line-height:1;
}
.cb-kicker img{width:15px;height:15px;flex:none}
.cb-kicker--gold{color:var(--cb-gold)}
.cb-kicker--plum{color:var(--cb-plum)}
.cb-kicker--muted{color:var(--cb-muted)}

/* ---------- Hero (split: photo + aubergine panel) ---------- */
.cb-hero{display:grid;grid-template-columns:720px minmax(0,1fr)}
.cb-hero-img{width:100%;height:580px;object-fit:cover}
.cb-hero-panel{
  background:var(--cb-aub);color:var(--cb-blush);padding:52px var(--cb-pad);
  display:flex;flex-direction:column;justify-content:flex-end;
}
.cb-hero-panel h1{
  margin:18px 0 0;font-family:var(--cb-serif);font-weight:400;
  font-size:clamp(32px,3.6vw,46px);line-height:1.06;text-wrap:pretty;
}
.cb-hero-standfirst{margin:18px 0 0;font-size:17.5px;line-height:1.6;color:var(--cb-on-aub)}
.cb-byline{margin-top:26px;display:flex;align-items:center;gap:12px}
.cb-byline-meta{font-size:13.5px;line-height:1.4;color:var(--cb-on-aub)}

/* Editorial avatar — monogram mark, not a stock portrait */
.cb-avatar{
  width:40px;height:40px;border-radius:50%;flex:none;display:flex;
  align-items:center;justify-content:center;background:var(--cb-gold);
  color:var(--cb-aub-dark);font-family:var(--cb-serif);font-size:17px;line-height:1;
}
.cb-avatar--lg{width:64px;height:64px;font-size:26px}
.cb-avatar--onlight{background:var(--cb-tint);color:var(--cb-aub)}

/* ---------- "The month in numbers" ---------- */
.cb-numbers{padding:40px var(--cb-pad) 44px;border-bottom:1px solid var(--cb-rule)}
.cb-numbers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}
.cb-num{padding:0 36px;border-right:1px solid var(--cb-rule)}
.cb-num:first-child{padding-left:0}
.cb-num:last-child{padding-right:0;border-right:0}
.cb-num-fig{font-family:var(--cb-serif);font-size:clamp(46px,5.6vw,72px);line-height:1;color:var(--cb-aub)}
.cb-num-fig span{font-size:.5em}
.cb-num-cap{margin-top:8px;font-size:15px;line-height:1.5;color:var(--cb-body)}

/* ---------- Section heads ---------- */
.cb-sec{padding:56px var(--cb-pad) 0}
.cb-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.cb-sec-head h2{
  margin:8px 0 0;font-family:var(--cb-serif);font-weight:400;
  font-size:clamp(28px,3.1vw,40px);line-height:1.1;
}
.cb-morelink{font-size:14.5px;font-weight:500;border-bottom:1px solid var(--cb-ink);padding-bottom:2px;white-space:nowrap}
.cb-morelink:hover{border-color:var(--cb-plum)}

/* ---------- Series: 4 tall 3:4 portrait cards ---------- */
.cb-series{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:26px}
.cb-series a{display:block}
.cb-series img{width:100%;height:340px;object-fit:cover;border-radius:var(--cb-r)}
.cb-series-part{margin-top:14px;font-family:var(--cb-serif);font-style:italic;font-size:17px;color:var(--cb-plum)}
.cb-series-title{margin-top:4px;font-family:var(--cb-serif);font-size:23px;line-height:1.2}

/* ---------- Rubric blocks ---------- */
.cb-rubrics{padding:64px var(--cb-pad) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.cb-rubric-head{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:2px solid var(--cb-aub)}
.cb-rubric-head img{width:20px;height:20px;flex:none}
.cb-rubric-head span{font-family:var(--cb-serif);font-size:26px;line-height:1}
.cb-rubric-lead{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;margin-top:20px}
.cb-rubric-lead img{width:220px;height:165px;object-fit:cover;border-radius:var(--cb-r)}
.cb-rubric-lead-title{font-family:var(--cb-serif);font-size:23px;line-height:1.2}
.cb-rubric-lead-ex{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--cb-body)}
.cb-rubric-item{
  display:block;margin-top:18px;padding-top:16px;border-top:1px solid var(--cb-rule);
  font-family:var(--cb-serif);font-size:20px;line-height:1.3;
}
.cb-rubric-item + .cb-rubric-item{margin-top:14px;padding-top:14px}

/* ---------- Card grid (category / archive pages) ---------- */
.cb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;margin-top:28px}
.cb-card{display:block}
.cb-card img{width:100%;height:210px;object-fit:cover;border-radius:var(--cb-r)}
.cb-card-cat{margin-top:13px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cb-plum)}
.cb-card-title{margin-top:6px;font-family:var(--cb-serif);font-size:23px;line-height:1.2}
.cb-card-ex{margin-top:8px;font-size:15px;line-height:1.5;color:var(--cb-body)}
.cb-card-meta{margin-top:8px;font-size:12.5px;color:var(--cb-muted)}

/* ---------- Newsletter band ---------- */
.cb-optin{
  margin-top:72px;background:var(--cb-aub);color:var(--cb-blush);
  padding:56px var(--cb-pad);display:grid;grid-template-columns:minmax(0,1fr) 480px;
  gap:64px;align-items:center;
}
.cb-optin h2,.cb-optin-head{
  margin-top:14px;font-family:var(--cb-serif);font-weight:400;
  font-size:clamp(30px,3.4vw,44px);line-height:1.08;
}
.cb-field{display:flex;border-bottom:1px solid var(--cb-gold)}
.cb-field input{
  flex:1;min-width:0;height:52px;padding:0 2px;font-size:16px;border:0;
  background:transparent;color:var(--cb-blush);outline:none;
}
.cb-field input::placeholder{color:#B9A2B4;opacity:1}
.cb-field button{
  height:52px;padding:0 22px;display:flex;align-items:center;font-size:15px;
  font-weight:500;line-height:1;border:0;background:var(--cb-gold);
  color:var(--cb-aub-dark);cursor:pointer;
}
.cb-field button:hover{background:var(--cb-gold-hi)}
.cb-consent{margin-top:14px;display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--cb-on-dark)}
.cb-consent input{margin:2px 0 0;flex:none;width:15px;height:15px;accent-color:var(--cb-gold)}
.cb-consent a{text-decoration:underline}
.cb-finenote{margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--cb-on-dark)}
.cb-form-msg{margin-top:10px;font-size:13px;line-height:1.5;min-height:1px}
.cb-form-msg[data-state="err"]{color:var(--cb-gold-hi)}
.cb-form-msg[data-state="ok"]{color:var(--cb-blush)}

/* ---------- Article page ---------- */
.cb-art-top{padding:52px var(--cb-pad) 0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:end}
.cb-art-top h1{
  margin:18px 0 0;font-family:var(--cb-serif);font-weight:400;
  font-size:clamp(34px,4.6vw,58px);line-height:1.04;text-wrap:pretty;
}
.cb-standfirst{
  margin:20px 0 0;font-family:var(--cb-serif);font-style:italic;
  font-size:clamp(20px,2vw,24px);line-height:1.4;color:var(--cb-body);
}
.cb-art-author{display:flex;align-items:center;gap:14px;padding-bottom:6px}
.cb-art-author-name{font-size:14px;font-weight:500;line-height:1.5}
.cb-art-author-meta{font-size:14px;line-height:1.5;color:var(--cb-muted)}
.cb-adlabel{
  margin:20px 0 0;display:inline-block;padding:7px 12px;background:var(--cb-tint);
  border-left:3px solid var(--cb-plum);font-size:12.5px;font-weight:500;
  letter-spacing:.04em;color:var(--cb-aub);
}
.cb-art-figure{padding:36px var(--cb-pad) 0}
.cb-art-figure img{width:100%;height:clamp(240px,42vw,560px);object-fit:cover;border-radius:var(--cb-r)}
.cb-art-figure figcaption{margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--cb-muted)}
.cb-art-body{padding:40px var(--cb-pad) 0;display:grid;grid-template-columns:220px minmax(0,680px);gap:64px}
.cb-aside{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:22px}
.cb-toc{display:flex;flex-direction:column;gap:10px;margin-top:12px;font-size:14.5px;line-height:1.35}
.cb-toc a.is-active{color:var(--cb-plum);font-weight:500}
.cb-btn-outline{
  height:44px;display:flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--cb-aub);font-size:14px;font-weight:500;line-height:1;text-align:center;
}
.cb-btn-outline:hover{background:var(--cb-aub);color:var(--cb-blush)}

/* Prose */
.cb-prose p{margin:20px 0 0;font-size:19px;line-height:1.72}
.cb-prose p:first-child{margin-top:0}
.cb-prose h2{margin:44px 0 0;font-family:var(--cb-serif);font-weight:400;font-size:clamp(26px,2.6vw,32px);line-height:1.2}
.cb-prose h3{margin:32px 0 0;font-family:var(--cb-serif);font-weight:500;font-size:23px;line-height:1.25}
.cb-prose h2 + p,.cb-prose h3 + p{margin-top:14px}
.cb-prose ul,.cb-prose ol{margin:18px 0 0;padding-left:24px;font-size:19px;line-height:1.72}
.cb-prose li{margin-top:9px}
.cb-prose li::marker{color:var(--cb-plum)}
.cb-prose strong{font-weight:600;color:var(--cb-aub)}
.cb-prose a{color:var(--cb-plum);text-decoration:underline;text-underline-offset:2px}
.cb-prose a:hover{color:var(--cb-aub)}
.cb-dropcap::first-letter{
  float:left;font-family:var(--cb-serif);font-size:82px;line-height:.8;
  margin:8px 12px 0 0;color:var(--cb-aub);font-weight:400;
}

/* Pull quote */
.cb-pullquote{margin:40px 0;display:grid;grid-template-columns:54px minmax(0,1fr);gap:6px}
.cb-pullquote-mark{font-family:var(--cb-serif);font-size:96px;line-height:.8;color:var(--cb-gold)}
.cb-pullquote-text{font-family:var(--cb-serif);font-style:italic;font-size:clamp(24px,2.6vw,32px);line-height:1.3;color:var(--cb-aub)}

/* Worked-example panel */
.cb-panel{background:var(--cb-tint);border-radius:var(--cb-r);padding:24px 26px;margin-top:26px}
.cb-panel-head{display:flex;align-items:center;gap:10px}
.cb-panel-head img{width:22px;height:22px;flex:none}
.cb-panel-head span{font-family:var(--cb-serif);font-size:24px;line-height:1.15}
.cb-rows{margin-top:16px;font-size:16px}
.cb-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--cb-tint-rule)}
.cb-row--total{padding:12px 0 0;font-weight:600;color:var(--cb-aub);border-bottom:0}
.cb-panel-note{margin-top:14px;font-size:13px;line-height:1.55;color:var(--cb-muted)}

/* Tables */
.cb-tablewrap{margin-top:26px;overflow-x:auto}
.cb-table{width:100%;border-collapse:collapse;font-size:16px}
.cb-table caption{text-align:left;font-size:13px;color:var(--cb-muted);padding-bottom:10px}
.cb-table th,.cb-table td{padding:11px 12px;border-bottom:1px solid var(--cb-rule);text-align:left;vertical-align:top}
.cb-table thead th{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cb-muted);border-bottom:2px solid var(--cb-aub)}
.cb-table td.num,.cb-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.cb-table tbody tr:last-child td{border-bottom:0}

/* Callout / disclaimer */
.cb-note{
  margin-top:30px;background:var(--cb-tint);border-left:3px solid var(--cb-plum);
  border-radius:0 var(--cb-r) var(--cb-r) 0;padding:20px 24px;font-size:15.5px;line-height:1.6;color:var(--cb-body);
}
.cb-note b,.cb-note strong{color:var(--cb-aub)}
.cb-note a{color:var(--cb-plum);text-decoration:underline}

/* Inline opt-in inside the article column */
.cb-optin-inline{background:var(--cb-aub);border-radius:var(--cb-r);padding:28px 30px;color:var(--cb-blush);margin-top:40px}
.cb-optin-inline-title{font-family:var(--cb-serif);font-size:28px;line-height:1.2}
.cb-optin-inline p{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--cb-on-aub)}
.cb-optin-inline .cb-field{margin-top:18px}
.cb-optin-inline .cb-field input{height:50px;font-size:15.5px}
.cb-optin-inline .cb-field button{height:50px;padding:0 20px}

/* Sources + disclaimer blocks */
.cb-sources{margin-top:44px;padding-top:24px;border-top:1px solid var(--cb-rule)}
.cb-sources h2{margin:0;font-family:var(--cb-serif);font-weight:400;font-size:24px;line-height:1.2}
.cb-sources ul{margin:14px 0 0;padding-left:20px;font-size:15.5px;line-height:1.6}
.cb-sources li{margin-top:10px;color:var(--cb-body)}
.cb-sources a{color:var(--cb-plum);text-decoration:underline}
.cb-fineprint{margin-top:26px;font-size:13.5px;line-height:1.65;color:var(--cb-muted)}
.cb-fineprint a{text-decoration:underline}

/* "Next / related" card */
.cb-next{
  margin-top:36px;display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;
  align-items:center;padding:18px;border:1px solid var(--cb-rule);border-radius:var(--cb-r);
}
.cb-next img{width:140px;height:105px;object-fit:cover;border-radius:10px}
.cb-next-kicker{font-family:var(--cb-serif);font-style:italic;font-size:16px;color:var(--cb-plum)}
.cb-next-title{margin-top:4px;font-family:var(--cb-serif);font-size:23px;line-height:1.2}

/* Related strip */
.cb-related{padding:0 var(--cb-pad)}
.cb-related-inner{margin-top:56px;padding-top:28px;border-top:1px solid var(--cb-rule)}

/* ---------- Static / legal pages ---------- */
.cb-page{padding:52px var(--cb-pad) 0;max-width:860px}
.cb-page h1{margin:14px 0 0;font-family:var(--cb-serif);font-weight:400;font-size:clamp(32px,4vw,52px);line-height:1.06}
.cb-page h2{margin:40px 0 0;font-family:var(--cb-serif);font-weight:400;font-size:28px;line-height:1.2}
.cb-page h3{margin:28px 0 0;font-family:var(--cb-serif);font-weight:500;font-size:21px;line-height:1.25}
.cb-page p{margin:16px 0 0;font-size:17px;line-height:1.7;color:var(--cb-body)}
.cb-page ul,.cb-page ol{margin:16px 0 0;padding-left:24px;font-size:17px;line-height:1.7;color:var(--cb-body)}
.cb-page li{margin-top:8px}
.cb-page a{color:var(--cb-plum);text-decoration:underline}
.cb-page strong{color:var(--cb-aub);font-weight:600}
.cb-dl{margin:16px 0 0;font-size:17px;line-height:1.7;color:var(--cb-body)}
.cb-dl dt{font-weight:600;color:var(--cb-aub);margin-top:14px}
.cb-dl dd{margin:2px 0 0}

/* The prominent registration / VAT block */
.cb-idbox{
  margin-top:24px;background:var(--cb-tint);border-left:3px solid var(--cb-plum);
  border-radius:0 var(--cb-r) var(--cb-r) 0;padding:24px 26px;
}
.cb-idbox-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cb-muted)}
.cb-idbox-val{display:block;margin-top:6px;font-family:var(--cb-serif);font-size:30px;line-height:1.1;color:var(--cb-plum)}
.cb-idbox-row{margin-top:16px;font-size:15.5px;line-height:1.6;color:var(--cb-body)}
.cb-idbox-row b{color:var(--cb-aub)}

/* Thank-you / confirmation */
.cb-centered{padding:84px var(--cb-pad);max-width:720px;margin:0 auto;text-align:center}
.cb-centered .cb-kicker{justify-content:center}
.cb-centered h1{margin:16px 0 0;font-family:var(--cb-serif);font-weight:400;font-size:clamp(32px,4vw,48px);line-height:1.08}
.cb-centered p{margin:18px 0 0;font-size:17.5px;line-height:1.7;color:var(--cb-body)}
.cb-centered .cb-btn-dark{margin-top:30px}

/* ---------- Footer ---------- */
.cb-footer{
  margin-top:72px;background:var(--cb-aub-dark);color:var(--cb-on-dark);
  padding:34px var(--cb-pad);display:flex;justify-content:space-between;
  align-items:center;gap:24px;flex-wrap:wrap;
}
.cb-footer-mark{font-family:var(--cb-serif);font-style:italic;font-size:28px;color:var(--cb-blush)}
.cb-footer-nav{display:flex;gap:28px;font-size:14px;flex-wrap:wrap}
.cb-footer-nav a:hover{color:var(--cb-gold-hi)}
.cb-footer-legal{font-size:12.5px;line-height:1.5}
.cb-footer-note{
  background:var(--cb-aub-dark);color:#9C859A;padding:0 var(--cb-pad) 30px;
  font-size:12px;line-height:1.6;
}
.cb-footer-note a{text-decoration:underline}

/* ---------- Cookie banner ---------- */
.cb-cookie{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:720px;
  margin:0 auto;background:var(--cb-blush);color:var(--cb-ink);
  border:1px solid var(--cb-aub);padding:20px 22px;
  box-shadow:0 10px 36px rgba(42,21,39,.26);
}
.cb-cookie[hidden]{display:none}
.cb-cookie-title{font-family:var(--cb-serif);font-size:21px;line-height:1.2}
.cb-cookie p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--cb-body)}
.cb-cookie p a{color:var(--cb-plum);text-decoration:underline}
.cb-cookie-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.cb-btn-ghost{
  height:44px;display:inline-flex;align-items:center;padding:0 18px;background:transparent;
  border:1px solid var(--cb-aub);color:var(--cb-aub);font-size:14.5px;font-weight:500;line-height:1;cursor:pointer;
}
.cb-btn-ghost:hover{background:var(--cb-tint)}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  :root{--cb-pad:32px}
  .cb-masthead{grid-template-columns:1fr;justify-items:center;gap:16px;text-align:center}
  .cb-nav{justify-content:center;gap:18px;order:2;flex-wrap:nowrap}
  .cb-brand{order:1}
  .cb-masthead-cta{order:3;justify-content:center}
  .cb-hero{grid-template-columns:minmax(0,1fr) minmax(0,420px)}
  .cb-hero-img{height:480px}
  .cb-art-body{grid-template-columns:200px minmax(0,1fr);gap:40px}
  .cb-optin{grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:40px}
  .cb-series{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cb-series img{height:300px}
}
@media (max-width:900px){
  .cb-hero{grid-template-columns:1fr}
  .cb-hero-img{height:clamp(240px,56vw,420px)}
  .cb-hero-panel{padding:36px var(--cb-pad)}
  .cb-numbers-grid{grid-template-columns:1fr;gap:0}
  .cb-num{padding:20px 0;border-right:0;border-bottom:1px solid var(--cb-rule)}
  .cb-num:first-child{padding-top:0}
  .cb-num:last-child{padding-bottom:0;border-bottom:0}
  .cb-rubrics{grid-template-columns:1fr;gap:44px}
  .cb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cb-art-top{grid-template-columns:1fr;gap:28px;align-items:start}
  .cb-art-body{grid-template-columns:1fr;gap:0}
  .cb-aside{position:static;flex-direction:column;gap:18px;padding-bottom:30px;border-bottom:1px solid var(--cb-rule);margin-bottom:30px}
  .cb-optin{grid-template-columns:1fr;gap:28px;padding:40px var(--cb-pad)}
  .cb-footer{flex-direction:column;align-items:flex-start;text-align:left}
}
@media (max-width:640px){
  :root{--cb-pad:20px}
  .cb-nav{flex-wrap:wrap;gap:14px 18px}
  .cb-series{grid-template-columns:1fr;gap:28px}
  .cb-series img{height:clamp(280px,74vw,380px)}
  .cb-grid{grid-template-columns:1fr;gap:28px}
  .cb-card img{height:clamp(190px,52vw,240px)}
  .cb-rubric-lead{grid-template-columns:1fr;gap:14px}
  .cb-rubric-lead img{width:100%;height:clamp(180px,48vw,220px)}
  .cb-prose p,.cb-prose ul,.cb-prose ol{font-size:17.5px}
  .cb-dropcap::first-letter{font-size:64px;margin:6px 10px 0 0}
  .cb-next{grid-template-columns:1fr}
  .cb-next img{width:100%;height:clamp(160px,42vw,200px)}
  .cb-panel,.cb-optin-inline{padding:22px 20px}
  .cb-field{flex-wrap:wrap}
  .cb-field button{width:100%;justify-content:center;margin-top:12px}
  .cb-table{font-size:14.5px}
  .cb-table th,.cb-table td{padding:9px 8px}
  .cb-footer-nav{gap:16px 20px}
}
@media print{
  .cb-cookie,.cb-optin,.cb-optin-inline,.cb-aside,.cb-masthead-cta{display:none}
}
