.content-cover-no-image .hub-hero-grid{grid-template-columns:minmax(0,1fr);max-width:960px}
.article-body-section{padding:clamp(28px,5vw,64px) 0 clamp(48px,7vw,96px)}
.article-reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(32px,5vw,72px);align-items:start}
.article-reading-layout:not(:has(.article-sidebar)){grid-template-columns:minmax(0,1fr)}
.article-copy.prose,.article-page-body.prose{min-width:0;max-width:none;margin:0;background:var(--white,#fff);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,4vw,48px);overflow-wrap:anywhere}
.article-page-body.prose{max-width:960px;margin-inline:auto}
.article-copy.prose>:first-child,.article-page-body.prose>:first-child{margin-top:0}
.article-copy.prose>:last-child,.article-page-body.prose>:last-child{margin-bottom:0}
.article-copy.prose p,.article-page-body.prose p,.article-copy.prose li,.article-page-body.prose li{font-size:1.06rem;line-height:1.85}
.article-copy.prose h2,.article-page-body.prose h2{font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1.25;color:var(--forest);margin:.9em 0 .75em}
.article-copy.prose h3,.article-page-body.prose h3{font-size:1.3rem;line-height:1.35;color:var(--forest);margin:1.6em 0 .7em}
.article-copy.prose img,.article-page-body.prose img{max-width:100%;height:auto;border-radius:12px}
.article-copy.prose figure,.article-page-body.prose figure{margin-inline:0}
.article-sidebar{position:sticky;top:24px;display:grid;gap:24px;min-width:0}
.article-sidebar-box{background:var(--paper,#f8f7f3);border:1px solid var(--line);border-radius:18px;padding:24px}
.article-sidebar-box h2{display:flex;align-items:center;gap:10px;font-size:1.25rem;line-height:2;color:var(--forest-2);margin:0 0 20px;border-bottom: 1px solid var(--forest-2);}
.article-sidebar-box h2::before{content:"";width:4px;height:1em;border-radius:2px;background:var(--forest-2);flex:none;}
.article-sidebar-box ul{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.article-sidebar-box li{display:grid;grid-template-columns:70px minmax(0,1fr);gap:14px;align-items:center}
.article-sidebar-thumb{display:grid;place-items:center;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--forest);color:#fff;text-decoration:none}
.article-sidebar-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.article-sidebar-thumb:hover img{transform:scale(1.04)}
.article-sidebar-box h3{font-size:.95rem;font-weight:600;line-height:1.45;margin:0;overflow-wrap:anywhere}
.article-sidebar-box h3 a{color:var(--forest-2);text-decoration:none;transition:color .2s ease}
.article-sidebar-box h3 a:hover{color:var(--wp--preset--color--vivid-red);text-decoration:underline;}
.article-sidebar a:focus-visible{outline:2px solid var(--forest-2);outline-offset:4px}
@media(min-width:801px){.article-sidebar{max-height:calc(100dvh - 48px);overflow-y:auto;scrollbar-width:thin}}
@media(max-width:1000px){.article-reading-layout{grid-template-columns:minmax(0,1fr) 290px;gap:28px}.article-sidebar-box{padding:20px}.article-sidebar-box li{grid-template-columns:64px minmax(0,1fr);gap:12px}}
@media(max-width:800px){.article-reading-layout{grid-template-columns:minmax(0,1fr)}.article-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.article-sidebar{grid-template-columns:minmax(0,1fr)}.article-sidebar-box li{grid-template-columns:70px minmax(0,1fr)}.article-copy.prose,.article-page-body.prose{padding:24px 20px;border-radius:16px}.article-copy.prose p,.article-page-body.prose p,.article-copy.prose li,.article-page-body.prose li{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.article-sidebar-thumb img,.article-sidebar-box h3 a{transition:none}}
.article-copy.prose a {color: var(--forest-2); font-weight: 600; text-decoration: underline;}
.article-copy.prose a:hover {color: var(--wp--preset--color--vivid-red); text-decoration: none;}

/* Article tables: automatic column sizing, theme colours and mobile scrolling. */
.article-copy.prose .article-table-card {
  width: auto;
  max-width: 100%;
  margin: 2em 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 12px 30px var(--color-testimonial-box-shadow, rgba(10, 46, 32, .06));
  overflow: hidden;
}
.article-copy.prose .article-table-title {
  margin: 0;
  padding: 20px 22px;
  color: var(--forest);
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.article-copy.prose .article-table-scroll {
  width: auto;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--forest-2) var(--sage);
}
.article-copy.prose .article-table-scroll:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -2px;
}
.article-copy.prose .article-table {
  display: table;
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
  background: var(--white);
  overflow-wrap: normal;
  word-break: normal;
}
.article-copy.prose .article-table thead { display: table-header-group; }
.article-copy.prose .article-table tbody { display: table-row-group; }
.article-copy.prose .article-table tr { display: table-row; }
.article-copy.prose .article-table :is(th, td) {
  display: table-cell;
  width: auto;
  padding: 15px 18px;
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
  font-size: .98rem;
  line-height: 1.5;
}
.article-copy.prose .article-table thead th {
  background: var(--forest-2);
  color: var(--white);
  border-bottom: 0;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .025em;
  text-transform: uppercase;
  white-space: nowrap;
}
.article-copy.prose .article-table tbody td { color: var(--muted); }
.article-copy.prose .article-table tbody :is(td:first-child, th) {
  color: var(--forest);
  font-weight: 600;
}
.article-copy.prose .article-table tbody tr:last-child > :is(th, td) { border-bottom: 0; }
.article-copy.prose .article-table tbody tr:hover > :is(th, td) { background: var(--paper); }
.article-copy.prose .article-table tbody [colspan] {
  background: var(--sage);
  color: var(--forest);
  font-weight: 700;
}
@media (max-width: 600px) {
  .article-copy.prose .article-table-card { border-radius: 14px; }
  .article-copy.prose .article-table-title { padding: 16px; font-size: 1.06rem; }
  .article-copy.prose .article-table :is(th, td) { padding: 12px 14px; font-size: .9rem; }
  .article-copy.prose .article-table thead th { font-size: .74rem; }
}
