/* Editorial article layout. Service pages and purchase UI keep their own layout. */
body.ek-editorial {
  --article-ink: #0a1730;
  --article-text: #424958;
  --article-muted: #69635e;
  --article-paper: #fbfaf7;
  --article-rule: #e3dfd8;
  background: var(--article-paper);
  color: var(--article-text);
}
.ek-editorial .ek-site-header__brand-name { font: 400 26px/1.15 Georgia, 'Times New Roman', serif; }
.ek-editorial .ek-article-main {
  box-sizing: border-box;
  max-width: 1136px;
  margin: 0 auto;
  padding: 32px 24px 72px;
}
.ek-editorial .ek-article-breadcrumb {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0 0 32px;
  font: 13px/1.6 system-ui, sans-serif;
  color: var(--article-muted);
}
.ek-editorial .ek-article-breadcrumb a { color: inherit; text-decoration: none; }
.ek-editorial .ek-article-grid {
  display: grid;
  grid-template-columns: minmax(0, 744px) minmax(0, 232px);
  gap: 56px;
  align-items: start;
}
.ek-editorial .ek-article-grid--single { display: block; max-width: 744px; margin: 0 auto; }
.ek-editorial .ek-article { min-width: 0; width: 100%; margin: 0; }
.ek-editorial .ek-article h1 {
  margin: 0 0 16px;
  color: var(--article-ink);
  font: 400 clamp(2rem, 4.2vw, 3.5rem)/1.08 Georgia, 'Times New Roman', serif;
  letter-spacing: -.025em;
  text-wrap: pretty;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}
.ek-editorial .ek-article-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0 0 24px; font: 14px/1.6 system-ui, sans-serif; color: var(--article-muted); }
.ek-editorial .ek-article-content { font: 18px/1.65 system-ui, sans-serif; overflow-wrap: anywhere; }
.ek-editorial .ek-article-content > * { box-sizing: border-box; max-width: 100%; margin: 0 0 24px; }
.ek-editorial .ek-article-content p { font: inherit; color: inherit; }
.ek-editorial .ek-article-content .ek-article-lead { font: 24px/1.45 Georgia, 'Times New Roman', serif; color: var(--article-ink); }
.ek-editorial .ek-article-content :is(h2,h3,h4) {
  color: var(--article-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.2;
  text-wrap: pretty;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: auto;
  scroll-margin-top: 110px;
}
.ek-editorial .ek-article-content h2 { font-size: 32px; margin: 40px 0 16px; }
.ek-editorial .ek-article-content h3 { font-size: 26px; margin: 32px 0 16px; }
.ek-editorial .ek-article-content h4 { font-size: 22px; margin: 32px 0 16px; }
.ek-editorial .ek-article-content :is(ul,ol) { padding-left: 1.4em; }
.ek-editorial .ek-article-content li { margin: 8px 0; }
.ek-editorial .ek-article-content li :is(ul,ol) { margin: 12px 0; }
.ek-editorial .ek-article-content a { color: var(--article-ink); text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.ek-editorial .ek-article-content figure { margin: 24px 0 32px; }
.ek-editorial .ek-article-content img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.ek-editorial .ek-article-content figure img { max-height: 520px; object-fit: contain; }
.ek-editorial .ek-article-content .ek-article-hero { margin: 0 0 32px; }
.ek-editorial .ek-article-content figcaption { margin: 12px 0 0; color: var(--article-muted); font: 14px/1.5 system-ui, sans-serif; text-align: left; }
.ek-editorial .ek-article-content blockquote { margin: 32px 0; padding: 0 0 0 24px; border-left: 2px solid var(--article-rule); }
.ek-editorial .ek-article-content blockquote p:last-child { margin-bottom: 0; }
.ek-editorial .ek-article-content :is(pre,table) { max-width: 100%; }
.ek-editorial .ek-article-content pre { overflow: auto; }
.ek-editorial .ek-article-content .ek-article-table { overflow: auto; }
.ek-editorial .ek-article-content table { width: 100%; border-collapse: collapse; }
.ek-editorial .ek-article-content :is(td,th) { padding: 8px; border-bottom: 1px solid var(--article-rule); text-align: left; }
.ek-editorial .ek-article-content .wp-block-columns { display: block; }
.ek-editorial .ek-article-content .wp-block-column { margin: 0 0 24px; }
.ek-editorial .ek-article-sidebar { position: sticky; top: 112px; border-left: 1px solid var(--article-rule); padding-left: 24px; }
.ek-editorial .ek-article-toc > summary { color: var(--article-ink); font: 26px/1.3 Georgia, 'Times New Roman', serif; cursor: pointer; }
.ek-editorial .ek-article-toc nav { margin: 16px 0 0; max-height: calc(100vh - 220px); overflow: auto; }
.ek-editorial .ek-article-toc ol { list-style: none; padding: 0; margin: 0; }
.ek-editorial .ek-article-toc a { display: block; padding: 8px 0 8px 16px; border-left: 2px solid transparent; color: var(--article-text); font: 15px/1.5 system-ui, sans-serif; text-decoration: none; }
.ek-editorial .ek-article-toc a[aria-current='location'] { border-left-color: var(--article-ink); color: var(--article-ink); }
.ek-editorial .ek-article-toc a:hover { color: var(--article-ink); text-decoration: underline; text-underline-offset: 3px; }
.ek-editorial .ek-article-download { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid var(--article-rule); }
.ek-editorial .ek-article-download a { padding-left: 0; }
.ek-editorial .ek-article-ad { margin: 48px 0 0; padding: 24px 0 0; border-top: 1px solid var(--article-rule); }
.ek-editorial .ek-article-ad-label { display: block; margin: 0 0 8px; color: var(--article-muted); font: 12px/1.5 system-ui, sans-serif; }
.ek-editorial .ek-article-ad p { margin: 0; font: 16px/1.6 system-ui, sans-serif; }
.ek-editorial .ek-article-ad a { display: inline-block; margin-top: 8px; padding: 4px 0; color: var(--article-ink); font: 15px/1.6 system-ui, sans-serif; text-underline-offset: 3px; }
.ek-editorial .ek-article-footer { border-top: 1px solid var(--article-rule); padding: 24px; color: var(--article-muted); font: 13px/1.8 system-ui, sans-serif; }
.ek-editorial .ek-article-footer > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; max-width: 1088px; margin: auto; }
.ek-editorial .ek-article-footer a { color: inherit; text-underline-offset: 3px; }
.ek-editorial :is(.ek-article-toc a,.ek-article-ad a,.ek-article-breadcrumb a,.ek-article-footer a):focus-visible { outline: 2px solid var(--article-ink); outline-offset: 4px; }
@media (min-width: 1101px) {
  .ek-editorial .ek-article-toc > summary { list-style: none; pointer-events: none; }
  .ek-editorial .ek-article-toc > summary::-webkit-details-marker { display: none; }
  .ek-editorial .ek-article-toc:not([open]) > nav { display: block; }
}
@media (max-width: 1100px) {
  .ek-editorial .ek-article-main { max-width: 792px; }
  .ek-editorial .ek-article-grid { display: flex; flex-direction: column; gap: 24px; }
  .ek-editorial .ek-article-sidebar { order: -1; width: 100%; position: static; border: 0; padding: 0 0 16px; border-bottom: 1px solid var(--article-rule); }
  .ek-editorial .ek-article-toc > summary { font: 16px/1.5 system-ui, sans-serif; padding: 8px 0; }
  .ek-editorial .ek-article-toc nav { max-height: none; }
}
@media (max-width: 600px) {
  .ek-editorial .ek-site-header__brand-name { font-size: 20px; }
  .ek-editorial .ek-article-main { padding: 24px 24px 48px; }
  .ek-editorial .ek-article-breadcrumb { margin-bottom: 24px; }
  .ek-editorial .ek-article h1 { font-size: 32px; line-height: 1.12; }
  .ek-editorial .ek-article-content { font-size: 17px; line-height: 1.65; }
  .ek-editorial .ek-article-content .ek-article-lead { font-size: 22px; }
  .ek-editorial .ek-article-content h2 { font-size: 28px; margin-top: 32px; }
  .ek-editorial .ek-article-content h3 { font-size: 24px; }
  .ek-editorial .ek-article-content h4 { font-size: 21px; }
  .ek-editorial .ek-article-content figure { margin: 24px 0; }
}
/* Keep the existing accessible display preference; changing it never remounts a form. */
html[data-display-mode='clear'] body.ek-editorial { --article-paper: #fff; --article-ink: #15181d; --article-text: #202329; --article-muted: #50565f; --article-rule: #c8ced6; }
html[data-display-mode='clear'] .ek-editorial :is(h1,h2,h3,h4,.ek-article-lead,.ek-article-toc > summary) { font-family: system-ui, sans-serif; }
@media (prefers-color-scheme: dark) {
  html[data-display-mode='clear'] body.ek-editorial { --article-paper: #000; --article-ink: #fff; --article-text: #fff; --article-muted: #bec5cf; --article-rule: #41464d; }
}
@media print {
  body.ek-editorial { --article-paper: #fff; --article-ink: #000; --article-text: #000; }
  .ek-editorial :is(.ek-site-header,.ek-article-sidebar,.ek-article-ad,.ek-article-footer) { display: none; }
  .ek-editorial .ek-article-grid { display: block; }
  .ek-editorial .ek-article-main { padding: 0; }
}
