/* Editorial-only. Home and shared styles remain frozen at the approved checkpoint. */
.editorial-site { --side: clamp(20px, 5vw, 120px); --shell: 1200px; background: #f1f1f1; color: #524a58; font-size: 20px; line-height: 1.5; }
.editorial-site [hidden] { display: none !important; }
.editorial-site :focus-visible { outline: 3px solid #524a58; outline-offset: 5px; }
.editorial-site h1, .editorial-site h2, .editorial-site h3 { font-family: "DIN2014-Bold", "DIN 2014", "Arial Narrow", Arial, sans-serif; font-weight: 700; overflow-wrap: break-word; }
.editorial-site button, .editorial-site a { -webkit-tap-highlight-color: transparent; }
.editorial-header { position: absolute; z-index: 10; inset: 0 0 auto; color: #fff; }
.editorial-header-inner { min-height: 112px; display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.editorial-brand { flex: 0 0 175px; }
.editorial-brand img { width: 175px; height: 53px; }
.editorial-nav { display: flex; gap: 36px; align-items: center; }
.editorial-nav a { position: relative; padding-block: 14px; font-size: 14px; text-transform: uppercase; letter-spacing: .12em; white-space: nowrap; }
.editorial-nav a[aria-current]::after { content: ""; position: absolute; inset: auto 0 4px; height: 3px; background: #00a88e; }
.editorial-nav a:hover { color: #f3edd7; }
.editorial-menu-toggle { display: none; }
.editorial-masthead, .single-masthead, .editorial-footer { background-color: #524a58; background-image: radial-gradient(ellipse at 0 0, #00a88e22, transparent 42%), radial-gradient(ellipse at 100% 100%, #00a88e20, transparent 35%); color: #fff; }
.editorial-header :focus-visible, .editorial-masthead :focus-visible, .single-masthead :focus-visible, .editorial-footer :focus-visible { outline-color: #f3edd7; }
.editorial-masthead-inner { position: relative; padding-block: 188px 80px; }
.editorial-masthead h1 { position: relative; z-index: 1; margin: 0; font-size: clamp(72px, 8vw, 120px); line-height: 1; letter-spacing: -.035em; }
.editorial-masthead h1 span { color: #00a88e; }
.masthead-two { position: absolute; right: 0; bottom: 28px; height: 205px; width: auto; opacity: .85; }
.editorial-listing { padding-block: 40px 96px; }
.editorial-preview-notice { font-size: 14px; line-height: 1.5; color: #625a67; max-width: 720px; margin: 0 0 32px; }
.editorial-divider { display: grid; grid-template-columns: 1fr 42px 1fr; align-items: center; gap: 28px; margin-bottom: 40px; }
.editorial-divider span { height: 1px; background: #524a58; }
.editorial-divider img { width: 42px; height: 61px; }
.editorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; }
.editorial-card { min-width: 0; display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; padding-bottom: 44px; }
.editorial-card-media { display: block; align-self: start; padding-bottom: 12px; border-bottom: 2px solid #00a88e; margin-bottom: 16px; }
.editorial-card-media img, .media-unavailable { width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
.media-unavailable { display: grid; place-items: center; background: #e2dfe4; font-size: 16px; }
.editorial-card-title { font-size: clamp(26px, 2.1vw, 30px); line-height: 1.08; letter-spacing: -.02em; margin-bottom: 14px; }
.editorial-card-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.editorial-card-excerpt { font-size: 17px; line-height: 1.5; margin-bottom: 20px; }
.editorial-read { align-self: start; justify-self: start; display: inline-flex; gap: 24px; align-items: center; min-height: 44px; border-bottom: 1px solid currentColor; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; }
.editorial-arrow { width: 24px; height: 24px; flex: 0 0 24px; transition: transform .2s ease; }
.editorial-read:hover .editorial-arrow, .editorial-button:hover .editorial-arrow { transform: translate(2px, -2px); }
.editorial-pagination { text-align: center; }
.editorial-button { display: inline-flex; justify-content: center; align-items: center; gap: 30px; border: 1px solid currentColor; background: transparent; padding: 14px 30px; min-height: 52px; cursor: pointer; }
.editorial-button:hover { background: #524a580b; }
.editorial-button:disabled { opacity: .65; cursor: wait; }
.editorial-list-message { font-size: 16px; margin: 20px 0 0; }
.editorial-list-message:empty { display: none; }
.single-masthead-inner { position: relative; padding-block: 176px 76px; }
.editorial-back { display: inline-flex; gap: 18px; align-items: center; min-height: 44px; border-bottom: 1px solid currentColor; padding-block: 6px 10px; text-transform: uppercase; font-size: 14px; letter-spacing: .15em; }
.single-masthead .editorial-back { border-color: #00a88e; margin-bottom: 38px; }
.single-masthead .editorial-back svg { color: #00a88e; }
.single-heading { display: grid; grid-template-columns: 1.45fr 1fr; align-items: end; gap: 48px; padding-right: 184px; }
.single-heading h1 { font-size: clamp(60px, 6.65vw, 96px); line-height: 1.02; letter-spacing: -.035em; margin: 0; }
.single-deck { font-size: 26px; line-height: 1.35; color: #f3edd7; margin: 0; }
.single-two { position: absolute; right: 0; top: 156px; width: 150px; height: auto; }
.single-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 16px; margin-top: 32px; }
.single-cover { margin: 0; }
.single-cover img { width: 100%; height: auto; aspect-ratio: 1672 / 941; object-fit: cover; }
.single-reading { padding-block: 40px 96px; }
.single-reading > .editorial-preview-notice { margin: 0 auto 64px; }
.article-body, .article-end { max-width: 720px; margin-inline: auto; }
.article-body { font-size: 20px; line-height: 1.6; color: #2d2d2d; overflow-wrap: break-word; }
.article-body p { margin-bottom: 28px; }
.article-opening { position: relative; color: #524a58; }
.article-opening::before { content: ""; position: absolute; top: 0; bottom: 0; left: -36px; width: 2px; background: #00a88e; }
.article-mark { position: absolute; top: 0; left: -144px; width: 64px; height: auto; }
.article-body .article-kicker { margin-bottom: 28px; font-size: 14px; line-height: 1.5; text-transform: uppercase; letter-spacing: .2em; }
.article-opening > p:last-child { margin: 0; }
.article-body h2 { font-size: 32px; line-height: 1.25; letter-spacing: -.015em; margin: 56px 0 24px; }
.article-body h3 { font-size: 26px; line-height: 1.3; margin: 40px 0 20px; }
.article-body ul, .article-body ol { margin: 32px 0; padding-left: 24px; }
.article-body li { padding-left: 6px; margin-bottom: 8px; }
.article-body li::marker { color: #00806c; }
.article-body blockquote { margin: 40px 0; padding: 8px 0 8px 28px; border-left: 2px solid #00a88e; color: #524a58; font-size: 24px; line-height: 1.5; }
.article-body figure { margin: 40px 0; }
.article-body figure img { width: 100%; height: auto; }
.article-body figcaption { font-size: 14px; margin-top: 12px; color: #625a67; }
.article-body a { text-decoration: underline; text-underline-offset: 4px; }
.article-end { border-top: 1px solid #524a58; padding-top: 24px; margin-top: 56px; }
.article-end .editorial-back { border: 0; }
.editorial-recent { padding-block: 0 48px; }
.editorial-recent > .shell { max-width: 792px; }
.editorial-recent .editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.editorial-section-heading { display: flex; gap: 24px; justify-content: space-between; align-items: center; padding-top: 48px; border-top: 1px solid #524a58; margin-bottom: 40px; }
.editorial-section-heading h2 { font-size: 32px; line-height: 1.1; margin: 0; letter-spacing: -.02em; }
.editorial-closing { color: #2d2d2d; background: #00a88e; padding-block: 64px; }
.editorial-closing-inner { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.editorial-closing h2 { font-size: clamp(44px, 5vw, 72px); line-height: 1; letter-spacing: -.025em; text-transform: uppercase; margin: 0 0 8px; }
.editorial-closing p { margin: 0; text-transform: uppercase; font-size: 14px; letter-spacing: .23em; }
.editorial-closing .editorial-button { flex-shrink: 0; font-size: 14px; text-transform: uppercase; letter-spacing: .1em; padding-inline: 22px; gap: 22px; }
.editorial-footer { padding-block: 64px; }
.editorial-footer-inner { display: grid; grid-template-columns: 1fr 112px 1fr; gap: 42px; align-items: center; }
.editorial-footer-inner > span { height: 1px; background: #00a88e; }
.editorial-footer img { width: 112px; height: 94px; }
@supports not (grid-template-rows: subgrid) {
  .editorial-card { display: flex; flex-direction: column; }
  .editorial-card-title { min-height: 2.16em; }
  .editorial-card-excerpt { flex: 1; }
  .editorial-read { align-self: flex-start; }
}
@media (max-width: 1100px) {
  .editorial-nav { gap: 24px; }
  .single-heading { padding-right: 124px; gap: 32px; }
  .single-deck { font-size: 22px; }
  .single-two { width: 100px; top: 170px; }
  .article-mark { position: static; width: 42px; margin-bottom: 24px; }
  .article-opening::before { left: -24px; }
  .editorial-closing-inner { flex-wrap: wrap; }
}
@media (max-width: 999px) {
  .editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .editorial-header-inner { min-height: 88px; }
  .editorial-brand, .editorial-brand img { width: 150px; flex-basis: 150px; height: auto; }
  .editorial-menu-toggle { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 8px; width: 48px; height: 48px; background: none; border: 0; padding: 8px; cursor: pointer; z-index: 12; }
  .editorial-menu-toggle span { width: 32px; height: 2px; background: #00a88e; transition: transform .2s; }
  .editorial-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(5px) rotate(45deg); }
  .editorial-menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-5px) rotate(-45deg); }
  .editorial-nav { display: none; position: absolute; inset: 88px 0 auto; padding: 24px var(--side) 40px; background: #524a58; border-bottom: 2px solid #00a88e; max-height: calc(100dvh - 88px); overflow-y: auto; align-items: flex-start; gap: 8px; }
  .editorial-nav.is-open { display: flex; flex-direction: column; }
  .editorial-nav a { font-size: 20px; }
  .editorial-masthead-inner { padding-block: 164px 64px; }
  .masthead-two { height: 150px; bottom: 30px; }
  .single-masthead-inner { padding-block: 140px 56px; }
  .single-heading { grid-template-columns: 1fr; padding-right: 116px; gap: 24px; }
  .single-heading h1 { font-size: 68px; max-width: 650px; }
  .single-deck { font-size: 22px; max-width: 520px; }
  .single-two { top: 214px; width: 86px; }
  .single-reading > .editorial-preview-notice { margin-bottom: 40px; }
  .article-opening::before { display: none; }
}
@media (max-width: 700px) {
  .editorial-site { --side: 20px; }
  .editorial-masthead-inner { padding-block: 148px 56px; }
  .editorial-masthead h1 { font-size: clamp(54px, 12vw, 82px); }
  .masthead-two { display: none; }
  .editorial-listing { padding-block: 28px 64px; }
  .editorial-preview-notice { font-size: 13px; margin-bottom: 28px; }
  .editorial-divider { grid-template-columns: 1fr 30px 1fr; gap: 20px; margin-bottom: 32px; }
  .editorial-divider img { width: 30px; height: auto; }
  .editorial-grid, .editorial-recent .editorial-grid { grid-template-columns: minmax(0, 1fr); }
  .editorial-card { display: flex; flex-direction: column; padding-bottom: 36px; }
  .editorial-card-title { font-size: 28px; line-height: 1.08; margin-bottom: 14px; min-height: 0; }
  .editorial-read { align-self: flex-start; font-size: 14px; }
  .single-masthead-inner { padding-block: 132px 48px; }
  .single-masthead .editorial-back { margin-bottom: 28px; }
  .single-heading { padding-right: 0; gap: 24px; }
  .single-heading h1 { font-size: clamp(44px, 10vw, 66px); letter-spacing: -.025em; padding-right: 38px; }
  .single-deck { font-size: 20px; line-height: 1.4; }
  .single-two { width: 30px; top: 224px; }
  .single-reading { padding-block: 28px 64px; }
  .article-body { font-size: 18px; line-height: 1.6; }
  .article-body .article-kicker { font-size: 12px; letter-spacing: .14em; margin-bottom: 24px; }
  .article-mark { width: 36px; }
  .article-body h2 { font-size: 30px; margin-top: 40px; }
  .article-body h3 { font-size: 24px; }
  .article-body blockquote { font-size: 22px; padding-left: 20px; }
  .article-end { margin-top: 40px; }
  .editorial-recent { padding-bottom: 16px; }
  .editorial-section-heading { align-items: flex-start; flex-direction: column; padding-top: 32px; margin-bottom: 32px; gap: 16px; }
  .editorial-section-heading h2 { font-size: 28px; }
  .editorial-closing { padding-block: 44px; }
  .editorial-closing-inner { gap: 28px; }
  .editorial-closing h2 { font-size: clamp(35px, 9vw, 58px); }
  .editorial-closing p { font-size: 12px; line-height: 1.6; letter-spacing: .15em; }
  .editorial-footer { padding-block: 44px; }
  .editorial-footer-inner { grid-template-columns: 1fr 90px 1fr; gap: 24px; }
  .editorial-footer img { width: 90px; height: auto; }
}
