/* Article themes share a reading layout; front matter selects the visual voice. */
.insight-page {
  --article-paper: #f5f2e9;
  --article-accent: #a35332;
  --article-rule: #d5d5c7;
}
.insight-page[data-article-style="split"] {
  --article-paper: #eaf3f1;
  --article-accent: #1d7b86;
  --article-rule: #c9dad9;
}
.insight-page[data-article-style="grid"] {
  --article-paper: #eef3e8;
  --article-accent: #526b35;
  --article-rule: #d0d9c4;
}
.insight-breadcrumb { max-width: var(--content); margin: auto; padding: 1.6rem 1.5rem; }
.insight-breadcrumb .breadcrumb { margin: 0; }
.insight-hero { position: relative; overflow: hidden; background: var(--article-paper); }
.insight-hero-inner { position: relative; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 0 3rem; max-width: var(--content); margin: auto; padding: clamp(2.5rem, 5vw, 4.5rem) 1.5rem 0; }
.insight-hero-copy { position: relative; z-index: 1; padding-bottom: 2.75rem; }
.insight-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-bottom: 1.65rem; font-size: .8rem; }
.insight-meta .eyebrow { margin: 0; color: var(--article-accent); text-decoration: none; }
.insight-meta > span { padding-left: 1rem; border-left: 1px solid var(--article-rule); }
.insight-hero h1 { max-width: 17ch; margin: 0 0 1.35rem; font-size: clamp(2.75rem, 5.4vw, 4.65rem); line-height: 1.03; letter-spacing: -.055em; }
.insight-hero .insight-subtitle { max-width: 34ch; color: var(--ink); font-size: clamp(1.15rem, 2.2vw, 1.65rem); font-weight: 450; line-height: 1.4; }
.insight-byline { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin: 1.8rem 0 0; color: var(--muted); font-size: .8rem; }
.insight-byline > span { color: var(--article-accent); }
.insight-takeaway { position: relative; z-index: 1; display: grid; grid-template-columns: 13rem minmax(0, 1fr); align-items: baseline; gap: 1.5rem; grid-column: 1 / -1; padding: 1.65rem 0; border-top: 1px solid var(--article-rule); }
.insight-takeaway .eyebrow { color: var(--article-accent); }
.insight-takeaway p { margin: 0; }
.insight-takeaway > p:last-child { max-width: 47rem; font-size: 1.1rem; font-weight: 550; line-height: 1.5; }

/* Purely decorative geometry, kept in its own area so it never covers copy. */
.insight-art { position: relative; align-self: center; width: 100%; aspect-ratio: 1; margin-bottom: 3rem; pointer-events: none; }
.insight-art::before, .insight-art::after, .insight-art span { position: absolute; display: block; content: ""; }
[data-article-style="orbit"] .insight-art::before { width: 85%; height: 85%; top: 0; right: -10%; border: 2.8rem solid #ceded8; border-radius: 50%; }
[data-article-style="orbit"] .insight-art::after { width: 76%; height: 76%; bottom: 0; left: -8%; border: 1px solid #658f87; border-radius: 50%; }
[data-article-style="orbit"] .insight-art span:first-child { width: 35%; height: 35%; top: 36%; left: 25%; border-radius: 50%; background: #1d7b86; }
[data-article-style="orbit"] .insight-art span:nth-child(2) { width: 10%; height: 10%; left: 12%; top: 4%; border-radius: 50%; background: #b26a48; }
[data-article-style="orbit"] .insight-art span:last-child { width: 37%; height: 1px; right: -1%; bottom: 15%; background: #9baa9d; transform: rotate(-45deg); }
[data-article-style="split"] .insight-hero { color: #e0eeeb; background: #173b3d; }
[data-article-style="split"] .insight-hero h1, [data-article-style="split"] .insight-subtitle { color: #f8f6eb; }
[data-article-style="split"] .insight-hero .eyebrow { color: #b9d8aa; }
[data-article-style="split"] .insight-byline { color: #bdd1cd; }
[data-article-style="split"] .insight-byline a { color: inherit; }
[data-article-style="split"] .insight-byline > span { color: #88b6af; }
[data-article-style="split"] .insight-takeaway, [data-article-style="split"] .insight-meta > span { border-color: #496967; }
[data-article-style="split"] .insight-art::before { width: 83%; height: 83%; top: 0; right: -8%; border: 1px solid #84aca2; border-radius: 50%; }
[data-article-style="split"] .insight-art::after { width: 83%; height: 83%; bottom: 0; left: -12%; border: 2.3rem solid #315d59; border-radius: 50%; }
[data-article-style="split"] .insight-art span:first-child { z-index: 1; width: 20%; height: 20%; left: 25%; top: 35%; border-radius: 50%; background: #bfd6aa; }
[data-article-style="split"] .insight-art span:nth-child(2) { width: 67%; height: 1px; left: 22%; top: 45%; background: #84aca2; transform: rotate(-42deg); transform-origin: left; }
[data-article-style="split"] .insight-art span:last-child { width: 9%; height: 9%; right: 1%; bottom: 9%; border-radius: 50%; background: #dba27e; }
[data-article-style="grid"] .insight-art::before { inset: 0; background-image: linear-gradient(90deg, #829573 1px, transparent 1px), linear-gradient(#829573 1px, transparent 1px); background-size: 25% 25%; -webkit-mask-image: radial-gradient(ellipse at center, #000 25%, transparent 72%); mask-image: radial-gradient(ellipse at center, #000 25%, transparent 72%); }
[data-article-style="grid"] .insight-art::after { top: 25%; left: 50%; width: 25%; height: 25%; background: #91a47d; }
[data-article-style="grid"] .insight-art span { display: none; }
[data-article-style="grid"] .insight-art span:first-child { display: block; top: 39%; left: 9%; width: 50%; height: 50%; border: clamp(2px, .35vw, 5px) solid #af7456; border-radius: 50%; }

.insight-layout { display: grid; grid-template-columns: 14.5rem minmax(0, 46rem); justify-content: space-between; align-items: start; gap: 4rem; max-width: var(--content); margin: auto; padding: 3.5rem 1.5rem 5rem; }
.insight-sidebar { position: sticky; top: 2rem; max-height: calc(100dvh - 4rem); overflow-y: auto; padding: .4rem .4rem .5rem 0; font-size: .8rem; }
.insight-contents { border-top: 2px solid var(--article-accent); }
.insight-contents summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; color: var(--article-accent); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; list-style: none; }
.insight-contents summary::-webkit-details-marker { display: none; }
.insight-contents summary > span { display: grid; place-items: center; flex: none; width: 1.25rem; height: 1.25rem; font-size: 1.2rem; font-weight: 400; line-height: 1; }
.insight-contents[open] summary > span { transform: rotate(45deg); }
.insight-contents ul { margin: 0; padding: 0; list-style: none; }
.insight-contents li { margin: 0; }
.insight-contents a { display: block; padding: .6rem .7rem; border-left: 2px solid var(--article-rule); color: var(--muted); line-height: 1.45; text-decoration: none; }
.insight-contents a:hover, .insight-contents a[aria-current] { border-color: var(--article-accent); color: var(--ink); background: var(--article-paper); }
.insight-back { display: inline-flex; gap: .7rem; margin-top: 1.5rem; padding-block: .5rem; font-weight: 650; text-decoration: none; }
.insight-body { min-width: 0; font-size: 1.075rem; line-height: 1.8; overflow-wrap: break-word; }
.insight-body > p:first-child { margin-bottom: 1.65rem; color: var(--ink); font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.6; letter-spacing: -.015em; }
.insight-body > h2 { margin: 3.5rem 0 1.35rem; padding-top: 1.35rem; border-color: var(--article-rule); font-size: clamp(1.65rem, 2.6vw, 2.15rem); line-height: 1.2; scroll-margin-top: 2rem; }
.insight-body > h2::before { display: block; width: 2rem; height: 3px; margin-top: calc(-1.35rem - 2px); margin-bottom: 1.35rem; background: var(--article-accent); content: ""; }
.insight-body > ul, .insight-body > ol { padding-left: 1.5rem; }
.insight-body li { padding-left: .3rem; }
.insight-body li::marker { color: var(--article-accent); font-weight: 700; }
.insight-body > ul li + li, .insight-body > ol li + li { margin-top: .7rem; }
.insight-body strong { font-weight: 700; }
.insight-body blockquote { margin: 2rem 0; padding: 1.5rem 1.75rem; border-left: 3px solid var(--article-accent); background: var(--article-paper); font-size: 1.25rem; line-height: 1.6; }
.insight-body blockquote p:last-child { margin-bottom: 0; }
.insight-body table { margin: 1.75rem 0; font-size: .95rem; line-height: 1.6; }
.insight-body th, .insight-body td { padding: 1rem 1.1rem; border: 0; border-bottom: 1px solid var(--article-rule); }
.insight-body th { color: var(--white); background: var(--ink); font-weight: 650; }
.insight-body td:first-child { width: 31%; font-weight: 650; }
.insight-body tr:nth-child(even) td { background: var(--article-paper); }
.insight-table-label { display: none; }
.insight-panel { margin: 2rem 0; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--article-paper); border-top: 3px solid var(--article-accent); }
.insight-panel > .eyebrow { color: var(--article-accent); }
.insight-panel > :last-child { margin-bottom: 0; }
.insight-panel h3 { margin: 0 0 1rem; font-size: 1.45rem; line-height: 1.2; }
.insight-panel li { margin-top: .55rem; }
.insight-panel--ink { color: #e0eeeb; background: var(--ink); border-color: #93bfb3; }
.insight-panel--ink h3, .insight-panel--ink strong { color: var(--white); }
.insight-panel--ink > .eyebrow, .insight-panel--ink a, .insight-panel--ink li::marker { color: #bbd6b0; }
.insight-panel--plain { border: 1px solid var(--article-rule); border-top: 3px solid var(--article-accent); background: var(--white); }
.insight-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; }
.insight-columns > .insight-panel { margin: 0; padding: 1.6rem; font-size: 1rem; line-height: 1.7; }
.insight-pullquote { position: relative; isolation: isolate; overflow: hidden; margin: 2.5rem 0; padding: clamp(1.75rem, 4vw, 3rem); background: var(--article-paper); }
.insight-pullquote::after { position: absolute; z-index: -1; right: -4rem; bottom: -5rem; width: 15rem; height: 15rem; border: 2rem solid var(--article-rule); border-radius: 50%; opacity: .55; content: ""; }
.insight-pullquote .eyebrow { margin-bottom: 1rem; color: var(--article-accent); }
.insight-pullquote > p:not(.eyebrow) { margin: 0; max-width: 28ch; font-size: clamp(1.5rem, 2.8vw, 2.1rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.35; text-wrap: pretty; }
.insight-related { margin-top: 4rem; padding-top: 2rem; border-top: 2px solid var(--article-accent); }
.insight-related .eyebrow { color: var(--article-accent); }
.insight-related h2 { max-width: 24ch; margin: 0 0 1.5rem; font-size: 1.8rem; line-height: 1.2; }
.insight-related ul { padding: 0; list-style: none; }
.insight-related li { padding: 0; margin: 0; border-bottom: 1px solid var(--article-rule); }
.insight-related a { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; padding: .9rem 0; font-weight: 650; text-decoration: none; }
.insight-related a:hover { text-decoration: underline; }
.insight-related a span { font-size: 1.4rem; }
.insight-note { padding-top: 1.25rem; border-top: 1px solid var(--article-rule); color: var(--muted); font-size: .9rem; }

@media (max-width: 60rem) {
  .insight-hero-inner { gap: 0 1.5rem; }
  .insight-art { max-width: 17rem; }
  [data-article-style="orbit"] .insight-art::before { border-width: 2rem; }
  [data-article-style="split"] .insight-art::after { border-width: 1.75rem; }
  .insight-takeaway { grid-template-columns: 10rem minmax(0, 1fr); }
  .insight-layout { grid-template-columns: minmax(0, 46rem); justify-content: center; gap: 2rem; padding-top: 2rem; }
  .insight-sidebar { position: static; max-height: none; overflow: visible; padding: 0; }
  .insight-contents { border-bottom: 1px solid var(--article-rule); }
  .insight-contents nav { padding-bottom: 1rem; }
  .insight-contents a { min-height: 2.75rem; }
  .insight-back { display: none; }
}
@media (max-width: 40rem) {
  .insight-breadcrumb { padding: 1.15rem 1.1rem; }
  .insight-breadcrumb .breadcrumb { font-size: .75rem; }
  .insight-hero-inner { grid-template-columns: minmax(0, 1fr); padding: 2.25rem 1.1rem 0; }
  .insight-hero-copy { padding-bottom: 1.75rem; }
  .insight-meta { flex-direction: column; align-items: flex-start; justify-content: center; min-height: 8rem; padding-right: 10rem; gap: .65rem; margin-bottom: 1.5rem; font-size: .72rem; }
  .insight-meta > span { padding-left: 0; border-left: 0; }
  .insight-hero h1 { max-width: 17ch; font-size: clamp(2.5rem, 10.3vw, 3.7rem); }
  .insight-hero .insight-subtitle { max-width: 28ch; font-size: 1.2rem; }
  .insight-byline { margin-top: 1.5rem; gap: .4rem .6rem; font-size: .75rem; }
  .insight-art { position: absolute; width: 8rem; height: 8rem; top: 2.25rem; right: 2rem; margin: 0; }
  [data-article-style="orbit"] .insight-art::before { border-width: 1rem; }
  [data-article-style="split"] .insight-art::after { border-width: .9rem; }
  .insight-takeaway { grid-template-columns: minmax(0, 1fr); gap: .6rem; padding-block: 1.25rem 1.5rem; }
  .insight-takeaway > p:last-child { font-size: 1rem; }
  .insight-layout { padding: 1.5rem 1.1rem 3rem; }
  .insight-body { font-size: 1rem; line-height: 1.75; }
  .insight-body > h2 { margin-top: 2.75rem; }
  .insight-columns { grid-template-columns: minmax(0, 1fr); }
  .insight-body th, .insight-body td { padding: .8rem .65rem; }
  .insight-body table { font-size: .85rem; }
  .insight-body td:first-child { width: 36%; }
  .insight-table, .insight-table tbody, .insight-table tr, .insight-table td { display: block; }
  .insight-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .insight-body .insight-table tr { margin-bottom: 1rem; padding: .4rem 1.1rem; border-top: 2px solid var(--article-accent); background: var(--article-paper); }
  .insight-body .insight-table td { width: 100%; padding: .8rem 0; border: 0; background: transparent; font-size: 1rem; }
  .insight-body .insight-table td:first-child { width: 100%; border-bottom: 1px solid var(--article-rule); }
  .insight-table-label { display: block; margin-bottom: .35rem; color: var(--article-accent); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
  .insight-body blockquote { padding: 1.25rem; font-size: 1.15rem; }
}
@media print {
  .insight-sidebar, .insight-art, .insight-back { display: none; }
  .insight-layout, .insight-hero-inner { display: block; }
  .insight-hero, [data-article-style="split"] .insight-hero, .insight-panel--ink { color: #173236; background: white; }
  [data-article-style="split"] .insight-hero h1, [data-article-style="split"] .insight-subtitle, .insight-panel--ink h3, .insight-panel--ink strong { color: #173236; }
  .insight-panel, .insight-pullquote, tr { break-inside: avoid; }
}
