@font-face {
  font-family: "Graphik Compact";
  src: url("/wp-content/uploads/fonts/GraphikCompLCWebRegular-Reg.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Graphik Compact";
  src: url("/wp-content/uploads/fonts/GraphikCompLCWebMedium-Reg.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Graphik";
  src: url("/wp-content/uploads/fonts/GraphikLCG-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Graphik";
  src: url("/wp-content/uploads/fonts/GraphikLCG-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --ed-paper: #f4f1ea;
  --ed-ink: #141210;
  --ed-muted: #6b655c;
  --ed-line: rgba(20, 18, 16, 0.12);
  --ed-line-strong: rgba(20, 18, 16, 0.28);
  --ed-accent: #7c2d2a;
  --ed-surface: rgba(255, 255, 255, 0.55);
  --ed-measure: 68ch;
  --ed-media: min(52rem, 100%);
  --ed-wide: min(64rem, 100%);
  --ed-close: 67.5rem;
  --ed-close-wide: 67.5rem;
  --ed-close-reading: 42rem;
  --ed-portrait: 34rem;
  --ed-portrait-intimate: 26rem;
  --ed-talk: 46rem;
  --ed-pad: clamp(16px, 4vw, 32px);
  --ed-header-h: 64px;
  --ed-sticky-top: var(--ed-header-h);
  --ed-sans: "Graphik Compact", "Graphik", ui-sans-serif, system-ui, sans-serif;
  --ed-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --ed-body: "Graphik", "Graphik Compact", ui-sans-serif, system-ui, sans-serif;
  --ed-space-1: 8px;
  --ed-space-2: 16px;
  --ed-space-3: 24px;
  --ed-space-4: 40px;
  --ed-space-5: 64px;
  --ed-radius: 2px;
}

html:has(body.bag-ed) {
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--ed-header-h) + 16px);
}
html.gs-has-shell {
  --ed-header-h: var(--gs-h, 56px);
}
html.gs-has-shell:has(body.bag-ed) {
  scroll-padding-top: calc(var(--gs-admin-bar, 0px) + var(--gs-h, 56px) + 16px);
}
html.gs-has-shell .ed-open {
  padding-top: var(--ed-space-3);
}
@media (min-width: 960px) {
  html.gs-has-shell .ed-open {
    padding-top: var(--ed-space-4);
  }
}
html.gs-has-shell .ed-main {
  padding-bottom: 0;
}
html.gs-has-shell .ed-close {
  padding-bottom: var(--ed-space-5);
}
html.gs-has-shell .ed-lb {
  z-index: var(--gs-z-modal, 20040);
}

body.bag-ed {
  margin: 0;
  background: var(--ed-paper);
  color: var(--ed-ink);
  font-family: var(--ed-body);
  font-size: 18px;
  line-height: 1.62;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
  max-width: 100%;
}
body.bag-ed *,
body.bag-ed *::before,
body.bag-ed *::after {
  box-sizing: border-box;
}
body.bag-ed #wpadminbar,
body.bag-ed #wpadminbar * {
  box-sizing: content-box;
}

body.bag-ed .ed-skip {
  position: absolute;
  left: -999px;
  top: 8px;
}
body.bag-ed .ed-skip:focus {
  left: var(--ed-pad);
  z-index: 40;
  background: #fff;
  color: var(--ed-ink);
  padding: 10px 14px;
  text-decoration: none;
}

.ed-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: color-mix(in srgb, var(--ed-paper) 92%, white);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--ed-line);
}
.admin-bar .ed-header { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .ed-header { top: 46px; }
}
.ed-header__inner {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: var(--ed-space-2);
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px var(--ed-pad);
  min-height: var(--ed-header-h);
}
.ed-wordmark {
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  line-height: 1.12;
  min-width: 0;
}
.ed-wordmark__kicker {
  font-family: var(--ed-sans);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ed-muted);
}
.ed-wordmark__name {
  font-family: var(--ed-sans);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.ed-nav-desk {
  display: none;
  gap: 22px;
  font-family: var(--ed-sans);
  font-size: 13px;
}
.ed-nav-desk a,
.ed-nav__panel a,
.ed-header__cta,
.ed-footer a {
  color: inherit;
  text-decoration: none;
}
.ed-nav-desk a {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.28em;
}
.ed-nav-desk a:hover { text-decoration-color: currentColor; }
.ed-header__cta {
  font-family: var(--ed-sans);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--ed-ink);
  padding: 8px 0 6px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.ed-nav { font-family: var(--ed-sans); position: relative; }
.ed-nav:not([open]) .ed-nav__panel { display: none; }
.ed-nav__sum {
  list-style: none;
  cursor: pointer;
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
}
.ed-nav__sum::-webkit-details-marker { display: none; }
.ed-nav__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  background: var(--ed-paper);
  border: 1px solid var(--ed-line);
  padding: 14px 18px;
  display: grid;
  gap: 12px;
  min-width: 180px;
  z-index: 22;
}

.ed-main { padding-bottom: var(--ed-space-5); }
.ed-open {
  max-width: 820px;
  margin: 0 auto;
  padding: var(--ed-space-4) var(--ed-pad) 12px;
}
.ed-context {
  font-family: var(--ed-sans);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ed-muted);
  margin: 0 0 12px;
  line-height: 1.4;
}
.ed-context a {
  color: inherit;
  text-decoration: none;
}
.ed-context a:hover,
.ed-context a:focus-visible {
  color: var(--ed-ink);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.ed-context__sep {
  margin: 0 0.55em;
  opacity: 0.65;
  letter-spacing: 0;
}
.ed-context__label {
  letter-spacing: 0.12em;
}
.ed-kicker {
  font-family: var(--ed-sans);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ed-muted);
  margin: 0 0 10px;
}
.ed-title {
  font-family: var(--ed-serif);
  font-weight: 500;
  font-size: clamp(2.05rem, 5.4vw, 3.75rem);
  line-height: 1.06;
  margin: 0 0 16px;
  letter-spacing: -0.03em;
  font-variation-settings: "opsz" 60;
}
.ed-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  color: var(--ed-muted);
  font-family: var(--ed-sans);
  font-size: 13px;
  margin: 0;
}

.ed-hero {
  margin: 8px auto 0;
  max-width: 1280px;
  padding: 0 var(--ed-pad);
}
.ed-hero .ed-cap {
  max-width: var(--ed-measure);
  margin-left: auto;
  margin-right: auto;
}
.ed-hero__img,
.ed-photo,
.ed-bridge__img,
.ed-related__img img {
  display: block;
  width: 100%;
  height: auto;
}
.ed-hero__img {
  max-height: min(82vh, 920px);
  object-fit: contain;
  object-position: center;
}

.ed-ai {
  max-width: none;
  margin: 8px 0 0;
  padding: 0;
  font-family: var(--ed-sans);
  font-size: 14px;
}
.ed-ai summary {
  cursor: pointer;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border-bottom: 1px solid var(--ed-line);
  list-style: none;
}
.ed-ai summary::-webkit-details-marker { display: none; }
.ed-ai__help {
  color: var(--ed-muted);
  max-width: 42ch;
  margin: 12px 0 0;
}
.ed-ai__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.ed-ai__btn {
  color: inherit;
  text-decoration: none;
  border: 1px solid var(--ed-line);
  padding: 0 14px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  background: transparent;
  font-size: 13px;
}
.ed-ai__preview-note {
  color: var(--ed-muted);
  font-size: 12px;
  margin: 8px 0 0;
}
.ed-ai__btn:hover,
.ed-ai__btn:focus-visible {
  border-color: var(--ed-ink);
}
.ed-ai__btn[data-ed-tip] { position: relative; }
.ed-ai__btn[data-ed-tip]:hover::after,
.ed-ai__btn[data-ed-tip]:focus-visible::after {
  content: attr(data-ed-tip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%);
  padding: 6px 10px;
  background: var(--ed-ink);
  color: var(--ed-paper);
  font-size: 12px;
  line-height: 1.3;
  white-space: nowrap;
  pointer-events: none;
  z-index: 9;
}
.ed-note {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.96);
  z-index: 40;
  padding: 14px 22px;
  background: var(--ed-ink);
  color: var(--ed-paper);
  font-family: var(--ed-sans);
  font-size: 14px;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.ed-note.is-on {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
@media (prefers-reduced-motion: reduce) {
  .ed-note { transition: none; }
}

.ed-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width: 1280px;
  margin: 28px auto 0;
  padding: 0 var(--ed-pad);
}
.ed-layout--solo {
  max-width: min(1100px, calc(100% ));
}

.ed-toc {
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 16px;
  align-items: start;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ed-line);
}
.ed-toc__now {
  margin: 0;
  min-width: 0;
}
.ed-toc__label {
  display: block;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 10px;
  color: var(--ed-muted);
  margin-bottom: 4px;
}
.ed-toc__current {
  color: var(--ed-ink);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ed-toc__all,
.ed-toc__close,
.ed-lb__close,
.ed-share__btn,
.ed-rate__star {
  font-family: var(--ed-sans);
}
.ed-toc__all {
  background: none;
  border: 1px solid var(--ed-line);
  color: inherit;
  min-height: 44px;
  padding: 0 12px;
  cursor: pointer;
  white-space: nowrap;
}
.ed-toc__dialog {
  border: 0;
  padding: 0;
  max-width: min(92vw, 520px);
  width: 92vw;
  background: var(--ed-paper);
}
.ed-toc__dialog::backdrop { background: rgba(20, 18, 16, 0.42); }
.ed-toc__dialog-inner { padding: 20px 22px 28px; }
.ed-toc__dialog-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 16px;
  font-family: var(--ed-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 11px;
}
.ed-toc__close {
  background: none;
  border: 0;
  min-height: 44px;
  cursor: pointer;
}
.ed-toc ol {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: edtoc;
}
.ed-toc li {
  counter-increment: edtoc;
  display: grid;
  grid-template-columns: 2.2em 1fr;
  gap: 8px;
  margin: 0 0 10px;
}
.ed-toc li::before {
  content: counter(edtoc) ".";
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ed-toc a {
  color: inherit;
  text-decoration: none;
}
.ed-toc a:hover,
.ed-toc a[aria-current="true"] {
  color: var(--ed-ink);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.ed-body {
  max-width: none;
  min-width: 0;
  width: 100%;
}
.ed-body > :not(.ed-gallery):not(.ed-embed):not(.ed-image):not(.ed-param):not(.ed-kicker) {
  max-width: var(--ed-measure);
}
.ed-body p { margin: 0 0 1.15em; }
.ed-body h2,
.ed-body h3,
.ed-body h4 {
  font-family: var(--ed-serif);
  font-weight: 500;
  line-height: 1.18;
  margin: 1.8em 0 0.55em;
  scroll-margin-top: calc(var(--ed-header-h) + 24px);
}

/* Tech-card banners (Elementor heading header_size=span) — not real H2s */
.ed-kicker {
  max-width: var(--ed-media);
  text-align: center;
  border-bottom: 2px solid #328cc1;
  text-transform: uppercase;
  margin: 2.4em 0 0;
  clear: both;
  scroll-margin-top: calc(var(--ed-header-h) + 24px);
  font-family: var(--ed-sans);
}
.ed-kicker__label {
  display: inline-block;
  background-color: #328cc1;
  color: #fff;
  padding: 0.65em 2.4em;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.ed-kicker + .ed-image,
.ed-kicker + .ed-gallery {
  margin-top: 0.85em;
}

/* 2-column parameter rows from Elementor product cards */
.ed-param {
  display: grid;
  grid-template-columns: minmax(7.5rem, 11.5rem) minmax(0, 1fr);
  gap: 0.55rem 1.35rem;
  align-items: start;
  max-width: var(--ed-media);
  margin: 0.65em 0;
  font-family: var(--ed-sans);
}
.ed-param__label {
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ed-muted);
  line-height: 1.35;
  padding-top: 0.2em;
}
.ed-param__body {
  min-width: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--ed-ink);
}
.ed-param__body > p {
  margin: 0.2em 0;
  max-width: none;
}
.ed-param__body > p:first-child { margin-top: 0; }
.ed-param__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ed-param__list li {
  margin: 0.2em 0;
}
.ed-param__offer {
  margin: 0.15em 0 0;
}
.ed-param__link {
  color: #1a6fb5;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ed-rule {
  border: 0;
  border-top: 1px solid var(--ed-line-strong);
  margin: 1.6em 0;
  max-width: var(--ed-media);
}
@media (max-width: 639px) {
  .ed-param {
    grid-template-columns: 1fr;
    gap: 0.25rem 0;
  }
  .ed-kicker__label {
    padding: 0.6em 1.2em;
    font-size: 0.75rem;
  }
}
.admin-bar .ed-body h2,
.admin-bar .ed-body h3,
.admin-bar .ed-body h4 {
  scroll-margin-top: calc(var(--ed-header-h) + 24px + 32px);
}
html.gs-has-shell .ed-body h2,
html.gs-has-shell .ed-body h3,
html.gs-has-shell .ed-body h4,
html.gs-has-shell .admin-bar .ed-body h2,
html.gs-has-shell .admin-bar .ed-body h3,
html.gs-has-shell .admin-bar .ed-body h4 {
  scroll-margin-top: calc(var(--gs-admin-bar, 0px) + var(--ed-header-h) + 16px);
}
@media screen and (max-width: 782px) {
  .admin-bar .ed-body h2,
  .admin-bar .ed-body h3,
  .admin-bar .ed-body h4 {
    scroll-margin-top: calc(var(--ed-header-h) + 24px + 46px);
  }
  html.gs-has-shell .admin-bar .ed-body h2,
  html.gs-has-shell .admin-bar .ed-body h3,
  html.gs-has-shell .admin-bar .ed-body h4 {
    scroll-margin-top: calc(var(--gs-admin-bar, 0px) + var(--ed-header-h) + 16px);
  }
}
.ed-body h2 { font-size: 1.62rem; letter-spacing: -0.02em; }
.ed-body h3 { font-size: 1.22rem; }
.ed-body a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  text-decoration-color: rgba(20, 18, 16, 0.35);
}
.ed-body a:hover {
  color: var(--ed-accent);
  text-decoration-color: var(--ed-accent);
}
.ed-body ul,
.ed-body ol { margin: 0 0 1.2em; padding-left: 1.2em; }
.ed-body blockquote {
  margin: 0 0 1.3em;
  padding-left: 1em;
  border-left: 1px solid var(--ed-line-strong);
  color: var(--ed-muted);
}

.ed-image {
  margin: 32px 0 44px;
  width: 100%;
}
.ed-image[data-intent="landscape_standard"] { max-width: var(--ed-media); }
.ed-image[data-intent="landscape_breakout"] { max-width: 100%; }
.ed-image[data-intent="editorial_portrait"] { max-width: var(--ed-portrait); }
.ed-image[data-intent="intimate_portrait"] { max-width: var(--ed-portrait-intimate); }
.ed-image[data-intent="portrait_breakout"] { max-width: 42rem; }
.ed-image[data-intent="measure"] { max-width: var(--ed-measure); }
.ed-image .ed-figure { margin: 0; }

.ed-gallery {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 32px 0 44px;
  max-width: var(--ed-media);
  width: 100%;
}
.ed-gallery[data-breakout="wide"] {
  max-width: 100%;
}
.ed-gallery[data-breakout="measure"] {
  max-width: var(--ed-measure);
}
.ed-gallery[data-breakout="portrait"],
.ed-gallery[data-mode="single_portrait"] {
  max-width: min(26rem, 100%);
}
.ed-gallery__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
}
.ed-gallery__row .ed-figure {
  flex: var(--ed-ar, 1) 1 0%;
  min-width: 0;
  margin: 0;
}
.ed-figure { margin: 0; }
.ed-figure--small {
  margin-left: auto;
  margin-right: auto;
}
.ed-figure--missing .ed-photo--fallback {
  display: block;
  min-height: 0;
  aspect-ratio: 3 / 2;
  background: var(--ed-line);
}
.ed-photo {
  width: 100%;
  height: auto;
  display: block;
}
.ed-cap {
  font-family: var(--ed-sans);
  font-size: 12px;
  color: var(--ed-muted);
  margin-top: 6px;
  line-height: 1.4;
}
.ed-photo-link { color: inherit; text-decoration: none; display: block; }

.ed-embed { margin: 24px 0 32px; }
.ed-embed iframe { width: 100%; height: 420px; border: 0; }

.ed-bridge {
  display: grid;
  gap: 16px;
  margin: 48px 0;
  padding: 20px 0;
  border-top: 1px solid var(--ed-ink);
  border-bottom: 1px solid var(--ed-line);
}
/* Option A — enhanced editorial card (selected default for inline). */
.ed-bridge--card {
  padding: 20px;
  background: color-mix(in srgb, var(--ed-paper) 70%, #fff);
  border: 1px solid var(--ed-line-strong);
  border-radius: var(--ed-radius);
}
.ed-bridge--card .ed-bridge__cta {
  border: 1px solid var(--ed-ink);
  border-bottom: 1px solid var(--ed-ink);
  padding: 0 16px;
  background: var(--ed-ink);
  color: #f7f4ee;
  text-decoration: none;
}
.ed-bridge--card .ed-bridge__cta:hover,
.ed-bridge--card .ed-bridge__cta:focus-visible {
  background: var(--ed-accent);
  border-color: var(--ed-accent);
  color: #fff;
}
/* Option B — image-led feature. */
.ed-bridge--feature {
  padding: 0;
  border: 0;
  border-radius: var(--ed-radius);
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 0 1px var(--ed-line);
}
.ed-bridge--feature .ed-bridge__media { margin: 0; }
.ed-bridge--feature .ed-bridge__copy { padding: 20px; }
.ed-bridge--feature .ed-bridge__cta {
  border: 1px solid var(--ed-ink);
  padding: 0 16px;
  background: transparent;
  text-decoration: none;
}
/* Option C — compact end CTA when inline already exists. */
.ed-bridge--compact {
  margin: 24px 0 32px;
  padding: 16px 0;
  gap: 12px;
  border-top: 1px solid var(--ed-line);
  border-bottom: 0;
  grid-template-columns: 1fr;
}
.ed-bridge--compact .ed-bridge__media { display: none; }
.ed-bridge--compact .ed-bridge__title { font-size: 1.25rem; }
.ed-bridge--compact .ed-bridge__cta {
  border-bottom: 1px solid var(--ed-ink);
}
.ed-bridge__title {
  font-family: var(--ed-serif);
  font-size: 1.55rem;
  margin: 0 0 8px;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.ed-bridge__text { margin: 0 0 14px; color: var(--ed-muted); }
.ed-bridge__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: center;
  margin: 0;
}
.ed-bridge__cta {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--ed-ink);
  font-family: var(--ed-sans);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}
.ed-bridge__more {
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
  text-decoration: underline;
  text-underline-offset: 0.16em;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Inline editorial recommendation — navigation, not advertising. */
.ed-rec {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 14px;
  align-items: start;
  margin: 28px 0;
  padding: 14px 0;
  border-top: 1px solid var(--ed-line);
  border-bottom: 1px solid var(--ed-line);
  max-width: var(--ed-measure);
}
.ed-rec:not(:has(.ed-rec__media)) {
  grid-template-columns: 1fr;
}
.ed-rec__media {
  display: block;
  overflow: hidden;
  border-radius: var(--ed-radius);
}
.ed-rec__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}
.ed-rec__label {
  display: block;
  font-family: var(--ed-sans);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ed-muted);
  margin-bottom: 4px;
}
.ed-rec__title {
  display: block;
  font-family: var(--ed-serif);
  font-size: 1.15rem;
  font-weight: 500;
  color: inherit;
  text-decoration: none;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.ed-rec__title:hover,
.ed-rec__title:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ed-rec__reason {
  display: block;
  margin-top: 6px;
  font-size: 0.95rem;
  color: var(--ed-muted);
  line-height: 1.4;
}
@media (max-width: 520px) {
  .ed-rec { grid-template-columns: 72px 1fr; }
}

/* Utility / interactive tool — quieter than commercial bridge, distinct from ed-rec. */
.ed-tool {
  margin: 28px 0;
  padding: 16px 0;
  border-top: 1px solid var(--ed-line);
  border-bottom: 1px solid var(--ed-line);
  max-width: var(--ed-measure);
}
.ed-tool__kicker {
  margin: 0 0 6px;
  font-family: var(--ed-sans);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ed-muted);
}
.ed-tool__title {
  margin: 0 0 8px;
  font-family: var(--ed-serif);
  font-weight: 500;
  font-size: 1.28rem;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.ed-tool__text {
  margin: 0 0 12px;
  color: var(--ed-muted);
  font-size: 0.98rem;
  line-height: 1.45;
  max-width: 42ch;
}
.ed-tool__actions { margin: 0; }
.ed-tool__cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--ed-ink);
  font-family: var(--ed-sans);
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.ed-tool__cta:hover,
.ed-tool__cta:focus-visible {
  color: var(--ed-accent);
  border-bottom-color: var(--ed-accent);
}

.ed-endmark {
  display: none;
}

.ed-close {
  max-width: min(var(--ed-close-wide), 100%);
  margin: 48px auto 0;
  padding: 48px var(--ed-pad) var(--ed-space-4);
  border-top: 1px solid var(--ed-line);
}
.ed-close__reading {
  max-width: var(--ed-close-reading);
  margin: 0 auto;
}
.ed-close__reading:empty { display: none; }
.ed-close .ed-bridge {
  max-width: none;
  margin: 0 0 40px;
}

.ed-byline {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 0 0 12px;
  font-family: var(--ed-sans);
  font-size: 14px;
}
.ed-byline a { color: inherit; }
.ed-byline span { color: var(--ed-muted); }

.ed-author__role {
  margin: 0 0 6px;
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
}

.ed-comments__invite summary,
.ed-comments__open,
.ed-comments__cancel {
  min-height: 44px;
  cursor: pointer;
  font-family: var(--ed-sans);
}
.ed-comments__open,
.ed-comments__cancel {
  background: none;
  border: 1px solid var(--ed-ink);
  padding: 0 16px;
  color: inherit;
}
.ed-comments__cancel {
  border-color: var(--ed-line);
  margin-bottom: 12px;
}
.ed-comments__panel { margin: 0; }
/* While replying, home dock shows only the park clone — never park + live form. */
.ed-comments__dock.is-replying > #ed-comment-panel {
  display: none !important;
}
.ed-comments__dock.is-replying > [data-ed-comment-park] {
  display: flex;
}
#respond { margin: 0; }
/* WP cancel uses style="display:none;" (no space). Hide empty root title; show compact recipient row in reply. */
#respond #reply-title {
  display: none;
  margin: 0 0 12px;
  font-family: var(--ed-sans);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
}
#respond #reply-title:has(#cancel-comment-reply-link:not([style*="display:none"]):not([style*="display: none"])) {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: flex-start;
  gap: 6px 10px;
}
#respond #reply-title::before {
  content: "↩";
  font-weight: 500;
  color: var(--ed-muted);
}
#respond #reply-title small {
  margin-left: 0;
  font-weight: 500;
}
#respond #reply-title #cancel-comment-reply-link {
  margin-left: 0;
  font-weight: 500;
  color: var(--ed-accent);
  text-decoration: underline;
  text-underline-offset: 0.16em;
}
/* Reply composer sits between selected card and its children. */
.ed-comment > #respond {
  margin: 12px 0 8px;
  padding: 0;
}
.ed-comment-form.is-idle textarea { resize: none; }
.ed-comment__likes,
.ed-comment__vote-row {
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
}
.ed-comment__vote {
  min-height: 44px;
  background: none;
  border: 1px solid var(--ed-line);
  padding: 0 12px;
  cursor: pointer;
}

.ed-utils {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  justify-content: flex-start;
  align-items: center;
  padding: 8px 0 20px;
  margin: 8px 0 0;
  border-top: 0;
}
.ed-rate,
.ed-share {
  flex: 1 1 16rem;
  min-width: 0;
}
.ed-rate {
  display: grid;
  gap: 6px;
  justify-items: start;
}
.ed-rate__ask {
  margin: 0;
  font-family: var(--ed-sans);
  font-size: 14px;
}
.ed-rate__avg {
  margin: 0;
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
}
.ed-rate__hint,
.ed-rate__choice,
.ed-rate__msg {
  margin: 0;
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
}
.ed-rate__choice {
  min-height: 1.35em;
}
.ed-rate__meaning,
.ed-rate__selected[hidden] {
  display: none;
}
.ed-rate:has(.ed-rate__selected:not([hidden])):not(:has(.ed-rate__stars:hover)):not([data-ed-preview]) .ed-rate__meaning {
  display: none;
}
.ed-rate__stars {
  display: flex;
  gap: 2px;
}
.ed-rate__star {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  cursor: pointer;
  color: var(--ed-ink);
}
.ed-rate__star input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.ed-rate__star input:focus-visible {
  outline: none;
}
.ed-rate__star:focus-within {
  outline: 2px solid var(--ed-ink);
  outline-offset: 2px;
}
.ed-rate__glyph {
  font-size: 22px;
  line-height: 1;
  pointer-events: none;
}
.ed-rate__on {
  display: none;
}
.ed-rate__star.is-on .ed-rate__off { display: none; }
.ed-rate__star.is-on .ed-rate__on {
  display: inline;
  color: var(--ed-accent);
}
.ed-rate:not(.is-done) .ed-rate__stars:hover .ed-rate__star .ed-rate__on { display: none; }
.ed-rate:not(.is-done) .ed-rate__stars:hover .ed-rate__star .ed-rate__off { display: inline; }
.ed-rate:not(.is-done) .ed-rate__stars:hover .ed-rate__star:hover .ed-rate__on,
.ed-rate:not(.is-done) .ed-rate__stars:hover .ed-rate__star:has(~ .ed-rate__star:hover) .ed-rate__on {
  display: inline;
  color: var(--ed-ink);
}
.ed-rate:not(.is-done) .ed-rate__stars:hover .ed-rate__star:hover .ed-rate__off,
.ed-rate:not(.is-done) .ed-rate__stars:hover .ed-rate__star:has(~ .ed-rate__star:hover) .ed-rate__off {
  display: none;
}
.ed-rate:not(.is-done) .ed-rate__stars:hover ~ .ed-rate__choice .ed-rate__selected { display: none; }
.ed-rate:not(.is-done) .ed-rate__stars:has(.ed-rate__star:nth-child(1):hover) ~ .ed-rate__choice [data-ed-hover-meaning="1"],
.ed-rate:not(.is-done) .ed-rate__stars:has(.ed-rate__star:nth-child(2):hover) ~ .ed-rate__choice [data-ed-hover-meaning="2"],
.ed-rate:not(.is-done) .ed-rate__stars:has(.ed-rate__star:nth-child(3):hover) ~ .ed-rate__choice [data-ed-hover-meaning="3"],
.ed-rate:not(.is-done) .ed-rate__stars:has(.ed-rate__star:nth-child(4):hover) ~ .ed-rate__choice [data-ed-hover-meaning="4"],
.ed-rate:not(.is-done) .ed-rate__stars:has(.ed-rate__star:nth-child(5):hover) ~ .ed-rate__choice [data-ed-hover-meaning="5"],
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(1) input:focus-visible) ~ .ed-rate__choice [data-ed-hover-meaning="1"],
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(2) input:focus-visible) ~ .ed-rate__choice [data-ed-hover-meaning="2"],
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(3) input:focus-visible) ~ .ed-rate__choice [data-ed-hover-meaning="3"],
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(4) input:focus-visible) ~ .ed-rate__choice [data-ed-hover-meaning="4"],
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(5) input:focus-visible) ~ .ed-rate__choice [data-ed-hover-meaning="5"] {
  display: block;
}
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(1) input:focus-visible) .ed-rate__star:nth-child(-n+1) .ed-rate__on,
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(2) input:focus-visible) .ed-rate__star:nth-child(-n+2) .ed-rate__on,
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(3) input:focus-visible) .ed-rate__star:nth-child(-n+3) .ed-rate__on,
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(4) input:focus-visible) .ed-rate__star:nth-child(-n+4) .ed-rate__on,
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(5) input:focus-visible) .ed-rate__star:nth-child(-n+5) .ed-rate__on {
  display: inline;
  color: var(--ed-ink);
}
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(1) input:focus-visible) .ed-rate__star:nth-child(-n+1) .ed-rate__off,
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(2) input:focus-visible) .ed-rate__star:nth-child(-n+2) .ed-rate__off,
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(3) input:focus-visible) .ed-rate__star:nth-child(-n+3) .ed-rate__off,
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(4) input:focus-visible) .ed-rate__star:nth-child(-n+4) .ed-rate__off,
.ed-rate:not(.is-done):not(:has(.ed-rate__stars:hover)) .ed-rate__stars:has(.ed-rate__star:nth-child(5) input:focus-visible) .ed-rate__star:nth-child(-n+5) .ed-rate__off {
  display: none;
}
.ed-rate:not(.is-done)[data-ed-preview] .ed-rate__star .ed-rate__on { display: none; }
.ed-rate:not(.is-done)[data-ed-preview] .ed-rate__star .ed-rate__off { display: inline; }
.ed-rate:not(.is-done)[data-ed-preview] .ed-rate__selected { display: none; }
.ed-rate:not(.is-done)[data-ed-preview="1"] .ed-rate__star:nth-of-type(-n+1) .ed-rate__on,
.ed-rate:not(.is-done)[data-ed-preview="2"] .ed-rate__star:nth-of-type(-n+2) .ed-rate__on,
.ed-rate:not(.is-done)[data-ed-preview="3"] .ed-rate__star:nth-of-type(-n+3) .ed-rate__on,
.ed-rate:not(.is-done)[data-ed-preview="4"] .ed-rate__star:nth-of-type(-n+4) .ed-rate__on,
.ed-rate:not(.is-done)[data-ed-preview="5"] .ed-rate__star:nth-of-type(-n+5) .ed-rate__on {
  display: inline;
  color: var(--ed-ink);
}
.ed-rate:not(.is-done)[data-ed-preview="1"] .ed-rate__star:nth-of-type(-n+1) .ed-rate__off,
.ed-rate:not(.is-done)[data-ed-preview="2"] .ed-rate__star:nth-of-type(-n+2) .ed-rate__off,
.ed-rate:not(.is-done)[data-ed-preview="3"] .ed-rate__star:nth-of-type(-n+3) .ed-rate__off,
.ed-rate:not(.is-done)[data-ed-preview="4"] .ed-rate__star:nth-of-type(-n+4) .ed-rate__off,
.ed-rate:not(.is-done)[data-ed-preview="5"] .ed-rate__star:nth-of-type(-n+5) .ed-rate__off {
  display: none;
}
.ed-rate:not(.is-done)[data-ed-preview="1"] [data-ed-hover-meaning="1"],
.ed-rate:not(.is-done)[data-ed-preview="2"] [data-ed-hover-meaning="2"],
.ed-rate:not(.is-done)[data-ed-preview="3"] [data-ed-hover-meaning="3"],
.ed-rate:not(.is-done)[data-ed-preview="4"] [data-ed-hover-meaning="4"],
.ed-rate:not(.is-done)[data-ed-preview="5"] [data-ed-hover-meaning="5"] {
  display: block;
}
.ed-rate__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ed-rate__submit {
  font-family: var(--ed-sans);
  font-size: 13px;
  min-height: 44px;
  padding: 8px 16px;
  background: var(--ed-ink);
  color: var(--ed-paper);
  border: 0;
  cursor: pointer;
}
.ed-rate__submit[hidden] { display: none; }
.ed-rate__submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.ed-rate.is-busy .ed-rate__submit { opacity: 0.45; }
.ed-rate.is-done .ed-rate__stars { pointer-events: none; }
.ed-rate.is-done .ed-rate__hint { display: none; }
.ed-rate:has(.ed-rate__selected:not([hidden])):not([data-ed-preview]) .ed-rate__star.is-on .ed-rate__on {
  display: inline;
  color: var(--ed-accent);
}
.ed-rate:has(.ed-rate__selected:not([hidden])):not([data-ed-preview]) .ed-rate__star.is-on .ed-rate__off {
  display: none;
}
.ed-rate:has(.ed-rate__selected:not([hidden])):not([data-ed-preview]) .ed-rate__star:not(.is-on) .ed-rate__on {
  display: none;
}
.ed-rate:has(.ed-rate__selected:not([hidden])):not([data-ed-preview]) .ed-rate__star:not(.is-on) .ed-rate__off {
  display: inline;
}
.ed-share__row { display: flex; flex-wrap: wrap; gap: 8px; }
.ed-share__btn {
  font-size: 13px;
  background: none;
  border: 1px solid var(--ed-line);
  padding: 8px 12px;
  min-height: 44px;
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.ed-share__more { position: relative; }
.ed-share__more > summary { list-style: none; }
.ed-share__more > summary::-webkit-details-marker { display: none; }
.ed-share__extra {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.ed-related {
  display: grid;
  gap: 20px 18px;
  margin: 8px 0 40px;
  padding: 0;
  border: 0;
}
.ed-related__head {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
}
.ed-related__heading {
  margin: 0;
  font-family: var(--ed-serif);
  font-weight: 500;
  font-size: 1.45rem;
  letter-spacing: -0.02em;
}
.ed-related__all {
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
  text-decoration: underline;
  text-underline-offset: 0.16em;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.ed-related__all:hover { color: var(--ed-ink); }
.ed-related[data-count="1"] { grid-template-columns: 1fr; }
.ed-related__item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  color: inherit;
  text-decoration: none;
}
.ed-related__item:hover .ed-related__title,
.ed-related__item:focus-visible .ed-related__title {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
.ed-related__img { display: block; }
.ed-related__img img {
  width: 100%;
  aspect-ratio: 3 / 2;
  height: auto;
  object-fit: cover;
  object-position: center;
}
.ed-related__kicker {
  font-family: var(--ed-sans);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ed-muted);
}
.ed-related__title {
  font-family: var(--ed-serif);
  font-size: 1.12rem;
  line-height: 1.25;
}
@media (min-width: 700px) {
  .ed-related[data-count="2"],
  .ed-related[data-count="3"] { grid-template-columns: 1fr 1fr; }
  .ed-related[data-count="3"] .ed-related__item:last-child { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  .ed-related[data-count="3"] { grid-template-columns: 1fr 1fr 1fr; }
  .ed-related[data-count="3"] .ed-related__item:last-child { grid-column: auto; }
}

.ed-author {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 10px 16px;
  margin: 0;
  padding: 8px 0 0;
  border: 0;
  align-items: start;
}
.ed-author__photo {
  display: block;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--ed-line);
}
.ed-author__img {
  display: block;
  width: 104px;
  height: 104px;
  object-fit: cover;
  object-position: 50% 10%;
}
.ed-author__name {
  margin: 0 0 6px;
  font-family: var(--ed-sans);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.3;
}
.ed-author__name a,
.ed-author__photo {
  color: inherit;
  text-decoration: none;
}
.ed-author__name a:hover {
  text-decoration: underline;
  text-underline-offset: 0.16em;
}
.ed-author__ask {
  margin: 0;
  font-family: var(--ed-serif);
  font-weight: 500;
  font-size: 1.45rem;
  line-height: 1.28;
  letter-spacing: -0.02em;
  max-width: 28ch;
}
.ed-author__role,
.ed-author__lead,
.ed-author__bio,
.ed-author__links { display: none; }

.ed-comments {
  max-width: none;
  margin: 0;
  padding: 12px 0 0;
  border-top: 0;
  /* Prevent Chromium scroll-anchoring jump when #respond relocates (Wave 5.1.6). */
  overflow-anchor: none;
}
/* Empty thread: form → soft pause → related (T—Ж air without empty-state copy). */
.ed-close__reading:has(.ed-comments--empty) + .ed-related {
  margin-top: 112px;
}
.ed-comments__list,
.ed-comments li.ed-comment,
.ed-comments [data-ed-dock] {
  overflow-anchor: none;
}
.ed-comments h2:not(.ed-pass__sr),
.ed-comments__count {
  font-family: var(--ed-serif);
  font-weight: 500;
  font-size: 1.2rem;
  margin: 0;
  padding-top: 0;
  border-top: 0;
}
.ed-comments__empty { color: var(--ed-muted); }
.ed-comments a,
.ed-comments a:link,
.ed-comments a:visited {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  text-decoration-color: rgba(20, 18, 16, 0.35);
}
.ed-comments a:hover {
  color: var(--ed-accent);
  text-decoration-color: var(--ed-accent);
}
.ed-comments .logged-in-as,
.ed-comments .must-log-in,
.ed-comment-session {
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
}
.ed-comment .comment-reply-link {
  color: inherit;
  font-family: var(--ed-sans);
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  min-width: 44px;
  padding: 0 2px;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}
.ed-comments__panel { margin: 0; }
.ed-comments__list {
  list-style: none;
  padding: 16px 0 0;
  margin: 0;
}
.ed-comment { margin: 0 0 22px; }
.ed-comment .children { margin: 16px 0 0 18px; padding: 0; list-style: none; }
.ed-comment__head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-family: var(--ed-sans);
  font-size: 13px;
}
.ed-comment__badge {
  border: 1px solid var(--ed-ink);
  padding: 0 6px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ed-comment-note,
.ed-comment-privacy {
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
}
.ed-comment-form label {
  display: block;
  font-family: var(--ed-sans);
  font-size: 13px;
  margin-bottom: 4px;
}
.ed-comment-form input[type="text"],
.ed-comment-form input[type="email"],
.ed-comment-form textarea {
  width: 100%;
  max-width: none;
  border: 1px solid var(--ed-line);
  background: #fff;
  padding: 10px 12px;
  font: inherit;
  border-radius: 12px;
}
.ed-comment-form textarea {
  display: block; /* avoid inline-block baseline gap under the box (~9px) */
  min-height: 5.5rem;
  max-height: 12rem;
  resize: vertical;
  padding: 16px 18px;
  font-size: 1rem;
  line-height: 1.4;
}
.ed-comment-form label.ed-pass__sr {
  margin: 0;
}
/* Idle collapse is class-driven only (not :focus-within).
   Cancel link focus must not expand the home composer (Wave 5.1.6). */
.ed-comment-form.is-idle .ed-comment-field:not(.ed-comment-field--body),
.ed-comment-form.is-idle .ed-comment-note,
.ed-comment-form.is-idle .ed-comment-privacy,
.ed-comment-form.is-idle .ed-comment-session,
.ed-comment-form.is-idle .logged-in-as,
.ed-comment-form.is-idle .must-log-in,
.ed-comment-form.is-idle .form-submit,
.ed-comment-form.is-idle .comment-form-cookies-consent,
.ed-comment-form.is-idle #reply-title {
  display: none;
}
.ed-comment-form.is-idle .ed-comment-field--body { margin: 0; }
.ed-comment-form input:focus-visible,
.ed-comment-form textarea:focus-visible {
  border-color: var(--ed-ink);
}
.ed-comment-form .submit,
.ed-comment-form input[type="submit"] {
  min-height: 44px;
  background: var(--ed-ink);
  color: var(--ed-paper);
  border: 0;
  padding: 10px 18px;
  font-family: var(--ed-sans);
  cursor: pointer;
}
.ed-comment-form .submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.ed-embed iframe {
  width: 100%;
  max-width: 100%;
  min-height: 360px;
  border: 0;
}
.ed-comments--wpd {
  font-family: var(--ed-sans);
}
.ed-comments--wpd .wpd-thread-list,
.ed-comments--wpd #wpdcom {
  background: transparent;
  color: var(--ed-ink);
  font-family: var(--ed-sans);
}
.ed-comments--wpd input,
.ed-comments--wpd textarea {
  font-family: var(--ed-sans);
  min-height: 44px;
}
.ed-comments--wpd #wpdcom,
.ed-comments--wpd .wpd-form-wrap,
.ed-comments--wpd .wpd-thread-list,
.ed-comments--wpd .wpd-comment,
.ed-comments--wpd .wpd-comment-wrap {
  background: transparent !important;
  color: var(--ed-ink) !important;
  font-family: var(--ed-body) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.ed-comments--wpd .wpd-thread-head,
.ed-comments--wpd .wpdiscuz-front-actions,
.ed-comments--wpd .wpd-form,
.ed-comments--wpd .wpd-comment-header {
  border-color: var(--ed-line) !important;
  background: transparent !important;
}
.ed-comments--wpd .wpd-thread-filter,
.ed-comments--wpd .wpd-blog-guest-followed-threads,
.ed-comments--wpd .wpdiscuz-subscribe-bar,
.ed-comments--wpd .wpd-prime-title {
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
}
.ed-comments--wpd textarea,
.ed-comments--wpd input[type="text"],
.ed-comments--wpd input[type="email"] {
  border: 1px solid var(--ed-line) !important;
  background: #fff !important;
  color: var(--ed-ink) !important;
  border-radius: var(--ed-radius) !important;
  min-height: 44px;
  font: inherit !important;
}
.ed-comments--wpd .wpd-field textarea {
  min-height: 8rem;
}
.ed-comments--wpd button,
.ed-comments--wpd .wpd-prim-button,
.ed-comments--wpd input[type="submit"] {
  min-height: 44px;
  font-family: var(--ed-sans) !important;
  background: var(--ed-ink) !important;
  color: var(--ed-paper) !important;
  border: 0 !important;
  border-radius: var(--ed-radius) !important;
}
.ed-comments--wpd .wpd-reply-button,
.ed-comments--wpd .wpd-comment-link,
.ed-comments--wpd .wpd-vote-up,
.ed-comments--wpd .wpd-vote-down {
  min-height: 44px;
  min-width: 44px;
  color: var(--ed-ink) !important;
}
.ed-comments--wpd .wpd-comment-text {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--ed-ink);
}
.ed-comments--wpd .wpd-comment-author {
  font-family: var(--ed-sans);
  font-weight: 500;
  color: var(--ed-ink) !important;
}
.ed-body img,
.ed-body iframe,
.ed-body video,
.ed-body table {
  max-width: 100%;
}
.ed-body table {
  display: block;
  overflow-x: auto;
}
.ed-toc__dialog-inner {
  max-height: min(80vh, 720px);
  overflow: auto;
}

.ed-footer {
  border-top: 1px solid var(--ed-ink);
  margin-top: 40px;
  padding: 28px var(--ed-pad) 40px;
  font-family: var(--ed-sans);
  font-size: 13px;
}
.ed-footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  gap: 22px;
}
.ed-footer__note {
  color: var(--ed-muted);
  max-width: 36ch;
  margin: 8px 0 0;
}
.ed-footer__nav,
.ed-footer__contact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0;
}
.ed-footer a {
  text-decoration: underline;
  text-underline-offset: 0.16em;
  text-decoration-color: transparent;
}
.ed-footer a:hover { text-decoration-color: currentColor; }

.ed-lb {
  border: 0;
  padding: 48px 0 0;
  box-sizing: border-box;
  max-width: min(96vw, 1400px);
  background: #111;
  color: #f4f1ea;
  position: relative;
}
.ed-lb::backdrop { background: rgba(10, 9, 8, 0.82); }
.ed-lb img { max-width: 96vw; max-height: calc(88vh - 48px); display: block; }
.ed-lb__fig { margin: 0; }
.ed-lb__cap {
  font-family: var(--ed-sans);
  font-size: 13px;
  padding: 8px 12px 12px;
  color: #d8d2c8;
}
.ed-lb__close {
  position: absolute;
  top: 4px;
  right: 8px;
  min-height: 40px;
  min-width: 44px;
  padding: 0 12px;
  background: #fff;
  border: 0;
  cursor: pointer;
  z-index: 2;
}

body.bag-ed :focus-visible {
  outline: 2px solid var(--ed-ink);
  outline-offset: 3px;
}
body.bag-ed #wpadminbar :focus-visible {
  outline: revert;
}

@media (min-width: 960px) {
  .ed-nav { display: none; }
  .ed-nav-desk { display: flex; }
  .ed-layout:not(.ed-layout--solo) {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 56px;
    align-items: start;
    max-width: 1280px;
  }
  .ed-layout:not(:has(.ed-toc)),
  .ed-layout--solo {
    grid-template-columns: 1fr;
    max-width: min(1100px, 100%);
  }
  .ed-toc {
    position: sticky;
    top: calc(var(--ed-header-h) + 16px);
    display: grid;
    grid-template-columns: 1fr;
    border-bottom: 0;
    padding-bottom: 0;
  }
  .admin-bar .ed-toc { top: calc(var(--ed-header-h) + 16px + 32px); }
  html.gs-has-shell .ed-toc,
  html.gs-has-shell .admin-bar .ed-toc {
    top: calc(var(--gs-admin-bar, 0px) + var(--ed-header-h) + 16px);
  }
  .ed-bridge {
    grid-template-columns: 200px 1fr;
    align-items: center;
  }
  .ed-footer__inner {
    grid-template-columns: 1.2fr 1fr 1fr;
    align-items: start;
  }
}

@media (max-width: 639px) {
  .ed-gallery__row {
    flex-direction: column;
  }
  .ed-gallery__row .ed-figure {
    flex: none;
    width: 100%;
    max-width: 100%;
  }
  .ed-image[data-intent] {
    max-width: 100%;
  }
  .ed-author {
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 10px 12px;
  }
  .ed-author__photo,
  .ed-author__img {
    width: 80px;
    height: 80px;
  }
  .ed-author__ask {
    font-size: 1.22rem;
  }
}

@media (max-width: 959px) {
  .ed-related__item { grid-template-columns: 1fr; }
}

@media (max-width: 360px) {
  body.bag-ed { font-size: 16.5px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ed-header { backdrop-filter: none; }
}

@media (min-resolution: 2dppx) {
  .ed-photo { image-rendering: auto; }
}

.ed-entry {
  max-width: 820px;
  margin: 12px auto 0;
  padding: 0 var(--ed-pad) 8px;
}
.ed-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 18px;
  margin: 0 0 4px;
}
.ed-tools__comments,
.ed-pass__btn,
.ed-helpful {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 10px;
  background: none;
  border: 0;
  color: inherit;
  cursor: pointer;
  font-family: var(--ed-sans);
  font-size: 14px;
  text-decoration: none;
}
.ed-tools__comments,
.ed-tools .ed-pass__btn {
  padding: 0;
  font-size: 15px;
}
.ed-tools__comments:hover,
.ed-pass__btn:hover,
.ed-helpful:hover,
.ed-pass__btn[aria-expanded="true"] {
  color: var(--ed-accent);
}
.ed-pass { position: relative; }
.ed-pass__pop {
  position: absolute;
  z-index: 8;
  top: calc(100% + 4px);
  left: 0;
  min-width: 14rem;
  padding: 8px;
  background: var(--ed-paper);
  border: 1px solid var(--ed-line);
  box-shadow: none;
}
.ed-pass__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 40px;
  padding: 0 8px;
  background: none;
  border: 0;
  color: inherit;
  text-decoration: none;
  font-family: var(--ed-sans);
  font-size: 14px;
  cursor: pointer;
  text-align: left;
}
.ed-pass__item:hover { background: rgba(20, 18, 16, 0.04); }
.ed-pass__item.is-copied { color: var(--ed-muted); }
.ed-pass__hint {
  font-size: 11px;
  color: var(--ed-muted);
}
.ed-pass__status {
  margin: 6px 8px 0;
  font-size: 12px;
  color: var(--ed-muted);
}
.ed-pass__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.ed-helpful[aria-pressed="true"] { font-weight: 500; }
.ed-helpful[aria-pressed="true"] .ed-helpful__icon { color: var(--ed-accent); }
.ed-helpful__icon {
  display: inline-flex;
  line-height: 0;
}
.ed-helpful__icon svg { display: block; }
.ed-utils {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 20px;
  padding: 12px 0 24px;
  margin: 0;
  border-top: 0;
  justify-content: flex-start;
}
.ed-utils .ed-helpful,
.ed-utils .ed-pass__btn {
  font-size: 16px;
  gap: 8px;
  min-height: 48px;
  padding: 0 6px;
}
.ed-utils .ed-helpful__icon svg,
.ed-utils .ed-pass__icon svg {
  width: 24px;
  height: 24px;
}
.ed-tools .ed-pass__icon svg,
.ed-tools__comments svg {
  width: 22px;
  height: 22px;
}
.ed-comments__clone {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  box-sizing: border-box;
  min-height: 5.5rem;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--ed-line);
  border-radius: 12px;
  background: #fff;
  color: var(--ed-muted);
  font: inherit;
  font-size: 1rem;
  line-height: 1.4;
  text-align: left;
  cursor: text;
}
.ed-comments__clone[hidden] { display: none; }
.ed-comments__dock--after { margin-top: 28px; }
.ed-comments__open {
  display: none;
}
.ed-comments__more {
  background: none;
  border: 0;
  min-height: 44px;
  padding: 0;
  cursor: pointer;
  font-family: var(--ed-sans);
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 0.16em;
  color: inherit;
}
/* Static (1–3 cards): items join parent grid. Do not use rail column sizing. */
.ed-related--static .ed-related__track {
  display: contents;
}

.ed-related--rail {
  display: block;
  margin: 40px 0 24px;
}
.ed-related--rail .ed-related__head { display: flex; }
.ed-related__chrome {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin: 8px 0 12px;
}
.ed-related__prev,
.ed-related__next {
  min-width: 44px;
  min-height: 44px;
  background: none;
  border: 1px solid var(--ed-line);
  cursor: pointer;
  color: inherit;
}
.ed-related__prev:disabled,
.ed-related__next:disabled { opacity: 0.35; cursor: default; }
.ed-related--rail .ed-related__track {
  --ed-rail-gap: 18px;
  --ed-rail-peek: 64px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 2 * var(--ed-rail-gap) - var(--ed-rail-peek)) / 3);
  gap: var(--ed-rail-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.ed-related--rail .ed-related__track::-webkit-scrollbar { display: none; }
.ed-related--rail .ed-related__item:last-child { grid-column: auto; }
@media (max-width: 1023px) {
  .ed-related--rail .ed-related__track {
    --ed-rail-peek: 56px;
    grid-auto-columns: calc((100% - var(--ed-rail-gap) - var(--ed-rail-peek)) / 2);
  }
  .ed-related__chrome { display: none; }
}
@media (max-width: 699px) {
  .ed-related--rail .ed-related__track {
    --ed-rail-peek: 0px;
    grid-auto-columns: 82%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ed-related--rail .ed-related__track { scroll-behavior: auto; }
}
.ed-talk { margin: 8px 0 0; padding: 28px 0 0; border-top: 1px solid var(--ed-line); }
.ed-talk h2 {
  font-family: var(--ed-serif);
  font-weight: 500;
  font-size: 1.35rem;
}
.ed-talk__list {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 16px;
}
@media (min-width: 700px) {
  .ed-talk__list { grid-template-columns: 1fr 1fr; }
}
.ed-talk__item a {
  display: grid;
  gap: 4px;
  text-decoration: none;
  color: inherit;
}
.ed-talk__who { font-family: var(--ed-sans); font-size: 13px; font-weight: 500; }
.ed-talk__item time { font-family: var(--ed-sans); font-size: 12px; color: var(--ed-muted); }
.ed-talk__in { font-family: var(--ed-sans); font-size: 12px; color: var(--ed-muted); }
.ed-talk__ex { font-size: 0.95rem; }
.ed-pass__icon { display: inline-flex; line-height: 0; }
.ed-pass__icon svg { display: block; }


/* Wave 5.1.3 — discussion system (T—Ж: air between composer and list, no rules) */
.ed-comments__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px 20px;
  margin: 40px 0 0;
  padding-top: 0;
  border-top: 0;
}
.ed-comments__title {
  font-family: var(--ed-serif);
  font-weight: 500;
  font-size: 1.2rem;
  margin: 0;
  padding: 0;
  border: 0;
}
.ed-comments__count { display: none; }
.ed-comments__sort {
  display: inline-flex;
  gap: 4px;
  font-family: var(--ed-sans);
}
.ed-comments__sort-btn {
  min-height: 44px;
  min-width: 44px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  color: var(--ed-muted);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 0.16em;
  text-decoration-color: transparent;
}
.ed-comments__sort-btn.is-active {
  color: var(--ed-ink);
  text-decoration-color: rgba(20, 18, 16, 0.35);
}
.ed-comments__status:empty { display: none; }
.ed-comments__status {
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
  margin: 8px 0 0;
}
.ed-comment__card { margin: 0; }
.ed-comment__author { font-weight: 500; }
.ed-comment__time { color: var(--ed-muted); }
.ed-comment__body {
  font-family: var(--ed-serif);
  font-size: 1.02rem;
  line-height: 1.55;
  margin: 8px 0 0;
}
.ed-comment__body p { margin: 0 0 0.6em; }
.ed-comment__body p:last-child { margin-bottom: 0; }
.ed-comment__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  margin-top: 8px;
}
.ed-comment__votes {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-left: 4px;
}
.ed-comment__vote {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  min-width: 44px;
  padding: 0 8px;
  border: 0;
  background: transparent;
  color: var(--ed-muted);
  font-family: var(--ed-sans);
  font-size: 13px;
  cursor: pointer;
  border-radius: 10px;
}
.ed-comment__vote:hover { color: var(--ed-ink); background: var(--ed-surface); }
.ed-comment__vote[aria-pressed="true"] {
  color: var(--ed-accent);
}
.ed-comment__vote-ico { display: inline-flex; }
.ed-comment__vote-count { min-width: 1ch; }
.ed-comment__vote-count[data-ed-count-empty="1"],
.ed-comment__vote-count[hidden] { display: none; }
.ed-comment__vote-msg {
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-accent);
  margin: 6px 0 0;
}
.ed-comment__vote-msg[hidden] { display: none; }
.ed-comment__menu {
  position: relative;
  /* Keep ⋯ in the left action cluster (Reply / votes), not orphaned far-right. */
  margin-left: 0;
}
.ed-comment__menu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  border: 0;
  background: transparent;
  color: var(--ed-muted);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  border-radius: 10px;
}
.ed-comment__menu-btn:hover,
.ed-comment__menu-btn[aria-expanded="true"] {
  color: var(--ed-ink);
  background: var(--ed-surface);
}
.ed-comment__menu-pop {
  position: absolute;
  left: 0;
  right: auto;
  bottom: calc(100% + 4px);
  min-width: 12.5rem;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--ed-line);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(20, 18, 16, 0.08);
  z-index: 5;
}
.ed-comment__menu-item {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  text-align: left;
  font-family: var(--ed-sans);
  font-size: 14px;
  color: var(--ed-ink);
  cursor: pointer;
  border-radius: 8px;
}
.ed-comment__menu-item:hover,
.ed-comment__menu-item:focus-visible {
  background: var(--ed-paper);
}
.ed-comment__menu-item.is-copied { color: var(--ed-accent); }
.ed-comment--flash {
  animation: ed-comment-flash 1.6s ease;
}
@keyframes ed-comment-flash {
  0% { background: rgba(124, 45, 42, 0.12); }
  100% { background: transparent; }
}
@media (max-width: 390px) {
  .ed-comment .children { margin-left: 10px; }
  .ed-comments__head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 320px) {
  .ed-comment .children { margin-left: 8px; }
  .ed-comment__vote { padding: 0 4px; }
}

/* Kleymo documentary variant — chrome only; photos/type reuse blog system. */
.ed-kl-mark {
  font-family: var(--ed-sans);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ed-muted);
  margin: 0 0 10px;
}
.bag-ed-kleymo .ed-title {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.ed-kl-credit {
  max-width: var(--ed-close-reading);
  margin: 8px auto 28px;
  padding: 0 var(--ed-pad);
  font-family: var(--ed-sans);
  font-size: 13px;
  color: var(--ed-muted);
}
.ed-kl-credit a {
  color: var(--ed-ink);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.ed-kl-credit a:hover,
.ed-kl-credit a:focus-visible {
  color: var(--ed-ink);
}
.ed-kl-join {
  max-width: var(--ed-close-reading);
  margin: 0 auto 40px;
  padding: 20px var(--ed-pad) 0;
  border-top: 1px solid var(--ed-line);
}
.ed-kl-join__kicker {
  font-family: var(--ed-sans);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ed-muted);
  margin: 0 0 8px;
}
.ed-kl-join__title {
  font-family: var(--ed-serif);
  font-weight: 500;
  font-size: 1.35rem;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.ed-kl-join__text {
  margin: 0 0 14px;
  color: var(--ed-muted);
  font-size: 15px;
  line-height: 1.45;
}
.ed-kl-join__cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-family: var(--ed-sans);
  font-size: 14px;
  color: var(--ed-ink);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.ed-kl-join__cta:hover,
.ed-kl-join__cta:focus-visible {
  color: var(--ed-ink);
}
.bag-ed-kleymo .ed-related--kleymo {
  margin-top: 32px;
}
.bag-ed-kleymo .ed-related--kleymo .ed-related__img img {
  aspect-ratio: 2 / 3;
  object-fit: cover;
  object-position: var(--kl-crop, 50% 20%);
}
@media (max-width: 390px) {
  .bag-ed-kleymo .ed-title {
    font-size: clamp(1.75rem, 9vw, 2.4rem);
    line-height: 1.12;
  }
  .bag-ed-kleymo .ed-meta {
    gap: 4px 12px;
  }
}
