/* Editorial-only additions. Elementor owns the containers, responsive padding,
   typography families, design tokens, header, footer, menu and button styling. */
.esferical-blog .blog-reading {
  inline-size: 100%;
  max-inline-size: 68ch;
  margin-inline: auto;
}
.esferical-blog .blog-title,
.esferical-blog .blog-copy h2,
.esferical-blog .blog-copy h3 {
  text-transform: none;
  overflow-wrap: anywhere;
}
.esferical-blog .blog-copy h2 {
  font-size: var(--e-global-typography-secondary-font-size);
  font-weight: var(--e-global-typography-secondary-font-weight);
  line-height: var(--e-global-typography-secondary-line-height);
  color: var(--blog-ink, var(--e-global-color-primary));
  margin-block: 1.5em .75em;
}
.esferical-blog .blog-copy h3 {
  font-size: var(--e-global-typography-392b9e0-font-size);
  font-weight: var(--e-global-typography-392b9e0-font-weight);
  line-height: var(--e-global-typography-392b9e0-line-height);
  color: var(--blog-ink, var(--e-global-color-primary));
  margin-block: 1.5em .75em;
}
.esferical-blog .blog-copy p,
.esferical-blog .blog-copy ul {
  margin-block: 0 1.25em;
}
.esferical-blog .blog-copy li + li { margin-block-start: .75em; }
.esferical-blog .blog-copy ul { padding-inline-start: 1.5em; }
.esferical-blog .blog-lead {
  font-size: var(--e-global-typography-c05b693-font-size);
  line-height: var(--e-global-typography-c05b693-line-height);
}
.esferical-blog .blog-cover {
  margin: 1.5em 0;
  aspect-ratio: 2 / 1;
  background: var(--blog-panel, var(--e-global-color-secondary));
  overflow: hidden;
}
.esferical-blog .blog-cover img { display: block; width: 100%; height: 100%; object-fit: contain; }
.esferical-blog .blog-navigation { font-size: var(--e-global-typography-text-font-size); }
.esferical-blog .blog-navigation a { color: var(--blog-text, var(--e-global-color-text)); text-decoration: underline; text-underline-offset: .2em; }
.esferical-blog a:focus-visible { outline: 3px solid var(--blog-ink, var(--e-global-color-primary)); outline-offset: 4px; }
.esferical-blog .blog-contact { margin-block-start: 1.5em; }
.esferical-blog .blog-index-card { border-block-start: 1px solid var(--blog-line, var(--e-global-color-14ef391)); padding-block-start: 1.5em; }

/* Article composition: all colours and font families come from the existing kit. */
.esferical-blog.blog-article.site-main { width: 100%; max-width: none; padding: 0; }
.esferical-blog .blog-article-title { text-wrap: balance; }
.esferical-blog .blog-title-accent { color: var(--e-global-color-accent); white-space: nowrap; }
.esferical-blog .blog-meta { font-family: var(--e-global-typography-text-font-family), sans-serif; font-weight: var(--e-global-typography-text-font-weight); display: flex; flex-wrap: wrap; gap: .75em 1.75em; margin-block: 1.25em .5em; font-size: var(--e-global-typography-text-font-size); }
.esferical-blog .blog-meta > span { display: inline-flex; align-items: center; gap: .5em; }
.esferical-blog .blog-meta svg { width: 1.2em; height: 1.2em; fill: none; color: var(--blog-green, var(--e-global-color-c4a35cf)); }
.esferical-blog .blog-prose { max-inline-size: 80ch; font-size: 18px; line-height: 1.75; }
.esferical-blog .blog-prose p, .esferical-blog .blog-endcap-copy p { text-wrap: pretty; }
.esferical-blog .blog-prose strong { color: var(--blog-ink, var(--e-global-color-primary)); font-weight: var(--e-global-typography-392b9e0-font-weight); }
.esferical-blog .blog-prose .blog-lead { font-size: var(--e-global-typography-c05b693-font-size); line-height: 1.6; }
.esferical-blog .blog-prose h2 { font-size: max(20px, var(--e-global-typography-392b9e0-font-size)); line-height: 1.4; margin-block: 0 1.1em; text-wrap: balance; }
.esferical-blog .blog-prose h3 { color: var(--blog-green, var(--e-global-color-c4a35cf)); display: flex; align-items: flex-start; gap: .75em; font-size: 20px; line-height: 1.4; margin-block: 0 .75em; text-wrap: balance; }
.esferical-blog .blog-prose h3 svg { flex: 0 0 1.25em; width: 1.25em; height: 1.25em; fill: none; color: var(--blog-green, var(--e-global-color-c4a35cf)); }
.esferical-blog .blog-section { margin-block-start: 3em; padding-block-start: 2em; border-block-start: 1px solid var(--blog-line, var(--e-global-color-14ef391)); }
.esferical-blog .blog-section-number { color: var(--blog-green, var(--e-global-color-c4a35cf)); }
.esferical-blog .blog-prose li::marker { color: var(--blog-green, var(--e-global-color-c4a35cf)); }
.esferical-blog .blog-prose .blog-key-thought { margin-block: 1.75em; padding: .25em 0 .25em 1.25em; border-inline-start: 3px solid var(--e-global-color-accent); }
.esferical-blog .blog-scenario { margin: 1.75em 0; padding: 1.5em 2em; background: var(--blog-panel, var(--e-global-color-secondary)); border-radius: .75em; }
.esferical-blog .blog-scenario figcaption { color: var(--blog-text, var(--e-global-color-text)); font-size: var(--e-global-typography-text-font-size); margin-block-end: 1em; }
.esferical-blog .blog-scenario-flow { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5em; }
.esferical-blog .blog-scenario-flow > div { display: flex; flex-direction: column; gap: .35em; }
.esferical-blog .blog-scenario-flow strong { font-size: var(--e-global-typography-secondary-font-size); line-height: 1.2; }
.esferical-blog .blog-scenario-flow strong span { font-size: .55em; font-weight: var(--e-global-typography-text-font-weight); }
.esferical-blog .blog-scenario-flow > div > span { font-size: var(--e-global-typography-text-font-size); }
.esferical-blog .blog-scenario-arrow { color: var(--blog-green, var(--e-global-color-c4a35cf)); font-size: 2em; }
.esferical-blog .blog-decision-map { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1em; margin-block: 1.5em 2em; }
.esferical-blog .blog-decision-map a { display: flex; flex-wrap: wrap; align-items: center; gap: .4em; padding: .75em 0; color: var(--blog-ink, var(--e-global-color-primary)); border-block: 1px solid var(--blog-line, var(--e-global-color-14ef391)); font-weight: var(--e-global-typography-accent-font-weight); }
.esferical-blog .blog-decision-order { flex-basis: 100%; color: var(--blog-green, var(--e-global-color-c4a35cf)); font-size: var(--e-global-typography-text-font-size); }
.esferical-blog .blog-decision-map a > span:last-child { margin-inline-start: auto; color: var(--blog-green, var(--e-global-color-c4a35cf)); }
.esferical-blog .blog-decision-map a > span:last-child svg { display: block; width: 1em; height: 1em; fill: none; }
.esferical-blog .blog-decision-map a:hover { border-color: var(--e-global-color-accent); }
.esferical-blog .blog-decision-step { border-inline-start: 2px solid var(--e-global-color-accent); padding-inline-start: 1.5em; margin-block: 2em; }
.esferical-blog .blog-decision-step h3 { scroll-margin-block-start: 9rem; }
.esferical-blog .blog-prose .blog-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1em; padding: 0; list-style: none; margin-block: 1.5em; }
.esferical-blog .blog-metrics li { padding: 1.25em; border-radius: .75em; background: var(--blog-panel, var(--e-global-color-secondary)); }
.esferical-blog .blog-metrics li + li { margin-block-start: 0; }
.esferical-blog .blog-metrics svg { display: block; width: 1.5em; height: 1.5em; margin-block-end: .6em; color: var(--blog-green, var(--e-global-color-c4a35cf)); fill: none; }
.esferical-blog .blog-metrics strong { display: block; margin-block-end: .3em; }
.esferical-blog .blog-share { border-block-start: 1px solid var(--blog-line, var(--e-global-color-14ef391)); margin-block-start: 2.5em; padding-block-start: 1.5em; font-size: var(--e-global-typography-text-font-size); }
.esferical-blog .blog-share-label { display: block; color: var(--blog-ink, var(--e-global-color-primary)); font-weight: var(--e-global-typography-accent-font-weight); margin-block-end: 1em; }
.esferical-blog .blog-share-actions { display: flex; flex-wrap: wrap; gap: .75em; }
.esferical-blog .blog-share-action { display: inline-flex; justify-content: center; align-items: center; gap: .6em; min-height: 44px; padding: .6em 1em; border: 1px solid var(--blog-line, var(--e-global-color-14ef391)); border-radius: 100px; background: transparent; color: var(--blog-ink, var(--e-global-color-primary)); font: inherit; text-transform: none; cursor: pointer; }
.esferical-blog .blog-share-action:hover { color: var(--blog-ink, var(--e-global-color-primary)); border-color: var(--e-global-color-accent); background: var(--blog-hover, var(--e-global-color-c197f4d)); }
.esferical-blog .blog-share-action:focus-visible { outline: 3px solid var(--blog-ink, var(--e-global-color-primary)); outline-offset: 4px; }
.esferical-blog .blog-share-action svg { width: 1.2em; height: 1.2em; fill: currentColor; }
.esferical-blog .blog-share-action svg[stroke] { fill: none; }
.esferical-blog .blog-share-status { display: block; margin-block-start: .5em; overflow-wrap: anywhere; }
.esferical-blog .blog-endcap { background: var(--e-global-color-8e5f8d4); color: var(--e-global-color-secondary); }
.esferical-blog .blog-endcap > .e-con-inner { align-items: center; text-align: center; padding-block: 3.5em; }
.esferical-blog .blog-endcap-copy { font-family: var(--e-global-typography-text-font-family), sans-serif; font-weight: var(--e-global-typography-text-font-weight); max-inline-size: 52ch; font-size: var(--e-global-typography-c05b693-font-size); line-height: 1.6; }
.esferical-blog .blog-endcap-question { font-size: var(--e-global-typography-secondary-font-size); line-height: 1.3; text-wrap: balance; margin-block-end: .75em; color: var(--e-global-color-c696dce); }
.esferical-blog .blog-endcap strong { font-weight: var(--e-global-typography-secondary-font-weight); color: var(--e-global-color-c696dce); }
.esferical-blog .blog-endcap .blog-contact { width: 100%; margin-block-start: 1em; text-align: center; }
.esferical-blog .blog-endcap a:focus-visible { outline-color: var(--e-global-color-accent); }
@media (min-width: 1025px) {
  .esferical-blog .blog-article-title { font-size: calc(var(--e-global-typography-primary-font-size) * .8); line-height: 1.15; }
}
@media (max-width: 767px) {
  .blog-article .elementor-1673 > .e-parent:not(.blog-endcap) { padding-inline: 25px; }
  .esferical-blog .blog-prose { font-size: 16px; }
  .esferical-blog .blog-prose .blog-lead { font-size: 18px; }
  .esferical-blog .blog-scenario { padding: 1.25em; }
  .esferical-blog .blog-scenario-flow { gap: .75em; }
  .esferical-blog .blog-decision-map { gap: .75em; font-size: 14px; }
  .esferical-blog .blog-decision-map a > span:last-child { display: none; }
  .esferical-blog .blog-decision-step { padding-inline-start: 1em; }
  .esferical-blog .blog-prose .blog-metrics { grid-template-columns: 1fr; }
  .esferical-blog .blog-share-actions { display: grid; grid-template-columns: repeat(2, 1fr); }
  .esferical-blog .blog-share-action { padding-inline: .65em; }
  .esferical-blog .blog-endcap-copy { font-size: 18px; }
}

/* Reading refinements: scoped to the article, with the exported kit as palette. */
.blog-article {
  --blog-background: var(--e-global-color-c696dce);
  --blog-ink: var(--e-global-color-primary);
  --blog-text: var(--e-global-color-text);
  --blog-panel: var(--e-global-color-secondary);
  --blog-line: var(--e-global-color-14ef391);
  --blog-green: var(--e-global-color-c4a35cf);
  --blog-hover: var(--e-global-color-c197f4d);
  background: var(--blog-background);
  color: var(--blog-text);
}
.blog-article .elementor-widget-text-editor { color: var(--blog-text); }
.blog-article .blog-article-title { color: var(--blog-ink); }
.blog-article .elementor-1673 > .e-parent:not(.blog-endcap) { padding-block: 30px 35px; }
.blog-article .elementor-1673 > .e-parent:not(.blog-endcap) > .e-con-inner { padding-block: 0; }
.blog-article .blog-navigation { margin-block-end: 1.5em; }
.blog-article .blog-reader-tools { display: flex; flex-wrap: wrap; gap: .5em; margin-inline-start: auto; }
.blog-article .blog-reader-tools[hidden], .blog-article .blog-reader-tools [hidden] { display: none; }
.blog-article .blog-reader-tools .blog-share-action { padding: .45em .8em; }
.blog-article .blog-theme-control { cursor: default; }
.blog-article .blog-theme-control select { width: auto; border: 0; background: transparent; color: inherit; font: inherit; padding: 0; cursor: pointer; }
.blog-article .blog-theme-control select:focus-visible { outline: 2px solid var(--blog-ink); outline-offset: 3px; }
.blog-article .blog-reader-tools button:disabled { opacity: .65; cursor: default; }
.blog-article .blog-reader-status { flex-basis: 100%; font-size: .875em; color: var(--blog-text); }
.blog-article .blog-reader-status:empty, .blog-article .blog-share-status:empty { display: none; }
.blog-article .blog-meta { align-items: center; gap: .75em 1.25em; }
.blog-article .blog-prose .blog-questions { list-style: none; padding: 0; margin-block: 1.5em; }
.blog-article .blog-questions li { position: relative; padding-inline-start: 1.4em; }
.blog-article .blog-questions li::before { content: ''; position: absolute; inset-inline-start: 0; inset-block-start: .7em; width: .4em; height: .4em; border-radius: 50%; background: var(--e-global-color-accent); }
.blog-article .blog-questions em { font-style: italic; }
.blog-article .blog-alternatives { background: var(--e-global-color-8e5f8d4); color: var(--e-global-color-secondary); text-align: center; padding: 2em 1.5em; margin-block: 2em; border-radius: .75em; font-size: max(20px, var(--e-global-typography-c05b693-font-size)); line-height: 1.5; }
.blog-article .blog-alternatives p { margin-block: 0 .7em; }
.blog-article .blog-alternatives p:last-child { margin: 0; }
.blog-article .blog-alternatives strong { color: var(--e-global-color-accent); }
.blog-article .blog-human-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 2em; margin-block-end: 1.25em; }
.blog-article .blog-human-copy { grid-column: 1; grid-row: 1; }
.blog-article .blog-human-copy p:last-child { margin-block-end: 0; }
.blog-article .blog-human-image { grid-column: 2; grid-row: 1; position: relative; background: var(--e-global-color-8e5f8d4); border-radius: .75em; overflow: hidden; }
.blog-article .blog-human-image img { position: absolute; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
.blog-article .blog-test-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5em; list-style: none; padding: 0; margin: 0 0 1.5em; counter-reset: test-step; }
.blog-article .blog-test-steps-continued { counter-reset: test-step 2; }
.blog-article .blog-test-steps li { counter-increment: test-step; border-block-start: 2px solid var(--e-global-color-accent); padding-block-start: 1em; }
.blog-article .blog-test-steps li + li { margin: 0; }
.blog-article .blog-test-steps li::before { content: '0' counter(test-step); display: block; font-weight: var(--e-global-typography-secondary-font-weight); color: var(--blog-green); margin-block-end: .4em; }
.blog-article .blog-conclusion { padding: 1.75em 0 0 1.5em; border-inline-start: 3px solid var(--e-global-color-accent); margin-block: 2em .5em; }
.blog-article .blog-conclusion p:first-child { font-size: .9em; margin-block-end: .65em; }
.blog-article .blog-conclusion p:last-child { font-size: clamp(24px, 3vw, 32px); line-height: 1.4; margin: 0; text-wrap: balance; }
.blog-article .blog-action-quote { text-align: center; font-size: max(22px, var(--e-global-typography-c05b693-font-size)); line-height: 1.5; padding-block: .5em; }
.blog-article .blog-action-quote span { display: block; margin-block-end: .5em; }
.blog-article .blog-closing-quote { border: 1px solid var(--e-global-color-accent); padding: 1.75em 2em; margin: 1.5em 0 0; border-radius: .75em; text-align: center; font-size: 1.1em; }
.blog-article .blog-closing-quote p { margin: 0; }
.blog-article .blog-closing-quote p::before { content: '«'; color: var(--blog-green); }
.blog-article .blog-closing-quote p::after { content: '»'; color: var(--blog-green); }
.blog-article .blog-endcap .elementor-button { text-transform: uppercase; }
.blog-article .blog-endcap .elementor-button-text { text-transform: uppercase; }

/* Theme applies to this article and its existing footer only. Header and consent
   integrations retain their own styling and configuration. */
html[data-reader-theme="dark"] .blog-article {
  color-scheme: dark;
  --blog-background: var(--e-global-color-8e5f8d4);
  --blog-ink: var(--e-global-color-secondary);
  --blog-text: var(--e-global-color-14ef391);
  --blog-panel: color-mix(in srgb, var(--e-global-color-primary) 50%, var(--e-global-color-8e5f8d4));
  --blog-line: color-mix(in srgb, var(--e-global-color-14ef391) 25%, var(--e-global-color-8e5f8d4));
  --blog-green: var(--e-global-color-accent);
  --blog-hover: color-mix(in srgb, var(--e-global-color-accent) 15%, var(--e-global-color-8e5f8d4));
}
html[data-reader-theme="dark"] .blog-article .blog-alternatives { background: var(--blog-panel); }
html[data-reader-theme="dark"] .blog-article .blog-endcap { border-block-start: 1px solid var(--blog-line); }
html[data-reader-theme="dark"] .esferical-reading-page .elementor-location-footer { background: var(--e-global-color-8e5f8d4); color: var(--e-global-color-14ef391); }
html[data-reader-theme="dark"] .esferical-reading-page .elementor-location-footer :is(a, h6, .elementor-icon-list-text, .elementor-widget-text-editor) { color: var(--e-global-color-14ef391); }
html[data-reader-theme="dark"] .esferical-reading-page .elementor-location-footer a:hover { color: var(--e-global-color-accent); }
html[data-reader-theme="dark"] .esferical-reading-page .elementor-location-footer .elementor-element-7a1835a6 img { content: url('/wp-content/uploads/2026/02/logo-esferical.png'); object-fit: contain; }
html[data-reader-theme="dark"] .esferical-reading-page .elementor-location-footer .elementor-icon-list-icon svg { fill: var(--e-global-color-14ef391); }
@media (min-width: 768px) and (max-width: 900px) {
  .blog-article .blog-human-image img { object-fit: contain; }
}
@media (max-width: 767px) {
  .blog-article .elementor-1673 > .e-parent:not(.blog-endcap) { padding-block: 22px 28px; }
  .blog-article .blog-reader-tools { margin-inline-start: 0; flex-basis: 100%; }
  .blog-article .blog-human-layout { grid-template-columns: 1fr; gap: 1.25em; }
  .blog-article .blog-human-image { grid-column: 1; grid-row: 1; aspect-ratio: 3 / 1; }
  .blog-article .blog-human-copy { grid-column: 1; grid-row: 2; }
  .blog-article .blog-human-image img { position: static; aspect-ratio: 3 / 1; }
  .blog-article .blog-test-steps { grid-template-columns: 1fr; gap: 1.25em; }
  .blog-article .blog-closing-quote { padding: 1.5em 1.25em; }
  .blog-article .blog-conclusion { padding-inline-start: 1em; }
}
