.edition-editorial { background: var(--paper); }
.edition-editorial .ed-head { position: relative; z-index: 2; }
.ed-head .mast { gap: clamp(12px, 2vw, 26px); }
.ed-head .mainnav { gap: clamp(12px, 2vw, 28px); }
.ed-head .mainnav a[aria-current],
.ed-head details a[aria-current] { color: var(--teal); text-decoration: underline; text-underline-offset: 5px; }
.ed-head details { position: relative; font-size: 14px; z-index: 2; }
.ed-head summary { min-height: 44px; display: flex; align-items: center; gap: 7px; list-style: none; }
.ed-head summary::-webkit-details-marker { display: none; }
.ed-head summary::after {
  content: ""; width: 6px; height: 6px; border-right: 1px solid; border-bottom: 1px solid;
  transform: translateY(-2px) rotate(45deg);
}
.ed-head details[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.ed-languages > div, .ed-menu > nav {
  position: absolute; top: 100%; right: 0; display: grid; gap: 0;
  min-width: 140px; max-width: calc(100vw - 44px); padding: 4px 16px;
  border: 1px solid var(--line); background: var(--paper);
}
.ed-head details:not([open]) > :not(summary) { display: none; }
.ed-head details a { display: flex; align-items: center; min-height: 44px; }
.ed-head .ed-menu { display: none; }

.ed-layout { max-width: 1600px; margin: auto; padding: clamp(54px, 7vw, 115px) var(--pad) clamp(74px, 9vw, 138px); }
.ed-layout h1, .ed-layout h2, .ed-layout h3, .ed-layout p, .ed-layout a { overflow-wrap: anywhere; }
.ed-intro { max-width: 64rem; margin-bottom: clamp(28px, 4vw, 60px); }
.ed-intro h1 { font-size: clamp(56px, 7.8vw, 110px); line-height: 1.05; margin-bottom: .28em; }
.ed-intro p { font-size: clamp(16px, 1.35vw, 20px); line-height: 1.65; max-width: 44ch; }
.ed-link { display: inline-flex; align-items: center; color: var(--teal); min-height: 44px; text-decoration: underline; text-underline-offset: .3em; }
.ed-link:hover, .ed-link:focus-visible { text-decoration-thickness: 2px; }
.ed-feature {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.94fr); align-items: center;
  gap: clamp(38px,6vw,94px); padding-block: 22px; border-block: 1px solid var(--line);
}
.ed-feature img { width: 100%; height: auto; aspect-ratio: 3/2; }
.ed-feature h2 { font-size: clamp(33px,4.2vw,63px); line-height: 1.08; }
.ed-feature p { margin: 18px 0 8px; max-width: 44ch; }
.ed-feature h2 a:hover { color: var(--teal); }
.ed-topics { padding-top: clamp(65px,8vw,125px); }
.ed-topics h2, .ed-copy h2 { font-size: clamp(32px,3.5vw,54px); margin-bottom: .55em; }
.ed-topics ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 6vw; }
.ed-topics li { border-top: 1px solid var(--line); padding: 25px 0; }
.ed-topics h3 { max-width: 32ch; font-size: clamp(23px,2.3vw,34px); }

.ed-article > .ed-link { margin-bottom: 20px; }
.ed-article .ed-intro h1 { max-width: 23ch; font-size: clamp(43px,6vw,88px); text-wrap: balance; }
.ed-article .ed-wide-art { max-width: 1200px; }
.ed-wide-art img { width: 100%; height: auto; aspect-ratio: 2.12; object-fit: cover; }
.ed-intro .ed-byline { font-size: 14px; line-height: 1.6; margin-top: 17px; color: #5a524b; }
.ed-reading {
  display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,2fr); align-items: start;
  gap: clamp(42px,7vw,108px); max-width: 1200px; margin-top: clamp(44px,6vw,88px);
}
.ed-toc { position: sticky; top: 2rem; padding-top: 18px; border-top: 1px solid var(--line); }
.ed-toc h2, .ed-toc-small summary { font: 600 15px/1.5 Sans,system-ui,sans-serif; }
.ed-toc ol { padding-inline-start: 1.4em; margin: 12px 0 0; }
.ed-toc a { min-height: 44px; padding: 6px 0; display: inline-flex; align-items: center; }
.ed-toc a:hover { color: var(--teal); text-decoration: underline; text-underline-offset: 4px; }
.ed-toc-small { display: none; }
.ed-copy section { margin-bottom: clamp(43px,6vw,84px); scroll-margin-top: 72px; }
.ed-copy p, .ed-sample blockquote { font-size: clamp(16px,1.35vw,18px); line-height: 1.74; max-width: 46ch; }
.ed-copy img { height: auto; aspect-ratio: 3/2; width: 100%; margin-top: 22px; }
.ed-sample { margin-top: 26px; padding: 18px clamp(18px,3vw,42px); border-left: 2px solid var(--teal); background: var(--ivory); }
.ed-sample p { font-size: 14px; font-weight: 600; }
.ed-sample blockquote { margin: 8px 0 0; }
.ed-faq details { border-top: 1px solid var(--line); }
.ed-faq details:last-child { border-bottom: 1px solid var(--line); }
.ed-faq summary { min-height: 48px; padding: 10px 0; }
.ed-faq details p { margin: 0 0 16px; }
.ed-news { min-height: 65svh; }
.ed-empty { padding: clamp(26px,4vw,56px) 0; border-top: 1px solid var(--line); }
.ed-empty p { font-size: clamp(19px,2vw,25px); margin-bottom: 16px; }

@media (max-width: 940px) {
  .ed-head .mainnav { display: none; }
  .ed-head .ed-menu { display: block; margin-inline-start: auto; }
}
@media (max-width: 720px) {
  .ed-feature, .ed-reading, .ed-topics ul { grid-template-columns: minmax(0,1fr); }
  .ed-feature, .ed-reading { gap: 25px; }
  .ed-toc { position: static; padding: 0; border-block: 1px solid var(--line); }
  .ed-toc-large { display: none; }
  .ed-toc-small { display: block; }
  .ed-toc-small summary { min-height: 46px; padding: 12px 0; }
  .ed-toc ol { padding-block-end: 10px; }
  .ed-wide-art img { aspect-ratio: 3/2; }
}
@media (max-width: 430px) {
  .ed-head .mast { flex-wrap: wrap; gap: 4px 14px; padding-block: 8px; }
  .ed-head .brand { gap: 7px; font-size: 21px; }
}
@media (max-width: 300px) {
  .ed-head .brand { flex-basis: 100%; }
  .ed-head .ed-menu { margin-inline-start: 0; }
  .ed-menu > nav { left: 0; right: auto; }
  .ed-intro h1 { font-size: 42px; }
  .ed-article .ed-intro h1 { font-size: 35px; }
  .edition-editorial footer { overflow-wrap: anywhere; }
  .edition-editorial footer .brand { white-space: normal; }
}
