/* Editorial styles are local to Insights; shared storefront surfaces stay native. */
.insights-main a { color: var(--lynx-primary); text-underline-offset: 4px; }
.insights-main a:hover { color: var(--lynx-primary-hover); }
.insights-main a:focus-visible { outline: 2px solid var(--lynx-primary); outline-offset: 5px; }
.insights-label { margin: 0 0 20px; color: var(--lynx-primary); font: 600 12px/1.4 var(--font-display); letter-spacing: .06em; }
.insights-main .page-container { max-width: 1060px; }
.insights-resources { padding-top: 32px; }
.insights-resources h2 { margin: 0 0 24px; color: var(--lynx-heading); font: 600 24px/1.3 var(--font-display); letter-spacing: var(--tracking-section); }
.insights-article-header { margin-bottom: 24px; }
.insights-article-header h1 { margin: 0 0 14px; color: var(--lynx-page-title-color); font: var(--lynx-page-title-weight) clamp(27px, 2.6vw, 34px)/1.16 var(--font-display); letter-spacing: var(--lynx-page-title-tracking); text-wrap: balance; }
.insights-article-header .insights-label { margin-bottom: 12px; text-transform: uppercase; font-size: 12px; }
.insights-prose .insights-deck { font-size: 17px; line-height: 1.65; color: var(--lynx-text-muted); margin-bottom: 14px; }
.insights-prose .insights-meta { font-size: 12px; color: var(--lynx-text-muted); }
.insights-meta span { margin-inline: 8px; }
.insights-visual { margin: 0 0 28px; }
.insights-visual figcaption { margin-top: 10px; font-size: 12px; line-height: 1.5; color: var(--lynx-text-muted); }
.insights-prose > .insights-visual + section { border-top: 0; padding-top: 0; }
.insights-main [id] { scroll-margin-top: 120px; }
.insights-reading { display: grid; grid-template-columns: 230px minmax(0, 1fr); grid-template-areas: ". header" "toc body"; column-gap: 40px; row-gap: 0; padding-block: clamp(20px, 2.5vw, 30px) 48px; align-items: start; }
.insights-article-header { grid-area: header; min-width: 0; }
.insights-toc-mobile { display: none; }
.insights-main--article .crumb [aria-current] { min-width: 0; overflow-wrap: anywhere; }
.insights-toc { grid-area: toc; position: sticky; top: 120px; }
.insights-prose { grid-area: body; }
.insights-article-header .insights-deck { font-size: 16px; line-height: 1.6; color: var(--lynx-text-muted); margin: 0 0 12px; }
.insights-article-header .insights-meta { font-size: 12px; color: var(--lynx-text-muted); margin: 0; }
.insights-toc h2 { font: 600 16px/1.4 var(--font-display); margin: 0 0 16px; color: var(--lynx-heading); }
.insights-toc ol { list-style: none; padding: 0; margin: 0; }
.insights-toc a { display: block; padding-block: 8px; font-size: 14px; line-height: 1.5; text-decoration: none; }
.insights-toc a:hover { text-decoration: underline; }
.insights-prose { max-width: 72ch; min-width: 0; font-size: 16px; line-height: 1.8; color: var(--lynx-text); }
.insights-prose section { scroll-margin-top: 120px; padding-bottom: 32px; }
.insights-prose section + section { padding-top: 32px; border-top: 1px solid var(--lynx-border); }
.insights-prose h2 { margin: 0 0 20px; font: 600 clamp(24px, 2.5vw, 30px)/1.25 var(--font-display); letter-spacing: var(--tracking-section); text-wrap: balance; }
.insights-prose h3 { font: 600 19px/1.4 var(--font-display); color: var(--lynx-heading); }
.insights-prose p { color: inherit; margin: 0 0 20px; }
.insights-prose p:last-child { margin-bottom: 0; }
.insights-definitions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 28px 0; padding-block: 24px; border-block: 1px solid var(--lynx-border); }
.insights-definitions div { padding-inline: 16px; }
.insights-definitions div:first-child { padding-left: 0; }
.insights-definitions div:last-child { padding-right: 0; }
.insights-definitions div + div { border-left: 1px solid var(--lynx-border); }
.insights-definitions dt { font: 600 12px/1.5 var(--font-display); text-transform: uppercase; letter-spacing: .06em; }
.insights-definitions dd { font-size: 14px; line-height: 1.65; }
.insights-prose dt { font-weight: 600; color: var(--lynx-heading); }
.insights-prose dd { margin: 4px 0 20px; }
.insights-definitions dd { margin-bottom: 0; }
.insights-note { padding-left: 20px; border-left: 2px solid var(--lynx-border); font-size: 14px; color: var(--lynx-text-muted); }
.insights-note .insights-label { display: block; margin-bottom: 8px; }
.insights-example { margin: 24px 0; padding-left: 20px; border-left: 1px solid var(--lynx-border); }
.insights-key-point { margin: 0 0 32px; padding-block: 8px 24px; border-bottom: 1px solid var(--lynx-border); }
.insights-prose .insights-statement { font: 600 clamp(24px, 2.4vw, 30px)/1.3 var(--font-display); color: var(--lynx-heading); letter-spacing: var(--tracking-section); }
.insights-example h3 { margin: 0 0 8px; }
.insights-checklist { padding-left: 22px; }
.insights-checklist li { padding-left: 4px; margin-bottom: 16px; }
@media (max-width: 900px) {
  .insights-reading { grid-template-columns: minmax(0, 1fr); grid-template-areas: "header" "body"; gap: 24px; }
  .insights-article-header { margin-bottom: 0; }
  .insights-reading > .insights-toc { display: none; }
  .insights-toc-mobile { display: block; margin: 0 0 28px; border-block: 1px solid var(--lynx-border); }
  .insights-toc-mobile summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; padding-block: 12px; cursor: pointer; list-style: none; font: 600 16px/1.4 var(--font-display); color: var(--lynx-heading); }
  .insights-toc-mobile summary::-webkit-details-marker { display: none; }
  .insights-toc-mobile summary:focus-visible { outline: 2px solid var(--lynx-primary); outline-offset: 3px; }
  .insights-toc-chevron { width: 8px; height: 8px; margin-right: 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
  .insights-toc-mobile[open] .insights-toc-chevron { transform: rotate(225deg); }
  .insights-toc-mobile .insights-toc { position: static; padding-bottom: 12px; }
  .insights-toc-mobile + section { border-top: 0; padding-top: 0; }
  .insights-toc a { min-height: 44px; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .insights-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
}
@media (max-width: 600px) {
  .insights-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
  .insights-toc a { font-size: 13px; }

  .insights-definitions { grid-template-columns: minmax(0, 1fr); padding-block: 0; }
  .insights-definitions div, .insights-definitions div:first-child, .insights-definitions div:last-child { padding: 16px 0; }
  .insights-definitions div + div { border-left: 0; border-top: 1px solid var(--lynx-border); }
  .insights-hub { padding-block: 16px 32px; }
  .insights-reading { padding-block: 20px 32px; }
}

.insights-main { background: #fff; }
.insights-main [hidden] { display: none !important; }
.insights-toc { padding-left: 16px; border-left: 1px solid var(--lynx-border); }
@media (max-width: 900px) { .insights-toc { border-left: 0; padding-left: 0; } }


/* Breadcrumb and controls follow the Research Library rhythm without altering shared styles. */
.insights-main .page-container { width: min(1060px, calc(100% - 48px)); }
@media (max-width: 600px) { .insights-main .page-container { width: calc(100% - 32px); } }

/* On wide screens, centre the existing reading measure and contents rail as
   one group. The rail sits on the right while the article remains 72ch. */
@media (min-width: 1200px) {
  .insights-main--article .page-container.insights-reading {
    width: min(1280px, calc(100% - 48px));
    max-width: 1280px;
    grid-template-columns: minmax(0, 72ch) 230px;
    grid-template-areas: "header ." "body toc";
    justify-content: center;
  }
}

/* The hub uses Research Library classes directly. Only Guides-specific additions live here. */
.guides-hub { background: #fff; }
.guides-hub .research-library__hero { border: 0; }
.guides-hub .research-library__controls { border-bottom: 0; }
.guides-hub .insights-guide-grid { gap: 16px 12px; }
.guides-hub .guides-result-count { margin: 0; }
.insights-guide-card__media { overflow: hidden; margin: 0; flex-shrink: 0; aspect-ratio: 1672 / 941; }
.insights-guide-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Keep pointer focus quiet without changing Research cards. The stretched link
   receives a card-level ring only when keyboard focus is visible. */
.insights-guide-card:focus-within { outline: none; }
.insights-guide-card .research-card__primary:focus-visible { outline: none; }
.insights-guide-card:has(a:focus-visible) { border-color: var(--lynx-primary); box-shadow: 0 0 0 3px rgba(18,63,58,.16); }
.guides-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.guides-hub .insights-resources .guides-resource-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.guides-resource-card { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 18px 20px; border: 1px solid var(--lynx-border); border-radius: 9px; background: #fff; color: var(--lynx-primary); text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.guides-resource-card strong { font: 650 16px/1.4 var(--font-display); }
.guides-resource-card span { color: var(--lynx-text-muted); font-size: 13px; line-height: 1.6; }
.guides-resource-card:hover { transform: translateY(-2px); border-color: #91ab9c; box-shadow: 0 4px 12px rgba(18,63,58,.06); text-decoration: none; }
.guides-resource-card:focus-visible, .insights-main .guides-resource-card:focus-visible { outline: 2px solid var(--lynx-primary); outline-offset: 3px; box-shadow: 0 0 0 3px rgba(18,63,58,.12); }
.guides-material-card { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 20px; align-items: center; margin-top: 24px; padding: 18px 20px; border: 1px solid var(--lynx-border); border-radius: 9px; background: #fafcfb; }
.guides-material-card > img { display: block; width: 88px; height: auto; }
.guides-material-card__content { min-width: 0; }
.insights-prose .guides-material-card__label { margin-bottom: 6px; font-size: 12px; color: var(--lynx-text-muted); }
.guides-material-card h3 { margin: 0 0 8px; }
.insights-prose .guides-material-card p { margin: 0 0 14px; font-size: 14px; line-height: 1.65; }
.guides-material-card__links { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; font-weight: 600; }
.guides-material-card__links a { min-height: 24px; }
@media (max-width: 600px) { .guides-material-card { grid-template-columns: minmax(0, 1fr); gap: 14px; } }
.guides-hub [hidden] { display: none; }
@media (max-width: 600px) { .guides-resource-grid, .guides-hub .insights-resources .guides-resource-grid { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .guides-resource-card { transition: none; } .guides-resource-card:hover { transform: none; } }

.insights-visual img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; object-fit: contain; border-radius: 4px; }

/* Editorial media is part of the card surface; image-free cards keep native padding. */
.insights-guide-card--media { padding: 0; overflow: hidden; }
.insights-guide-card__content { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.insights-guide-card--media .insights-guide-card__content { padding: 18px 20px; }
.insights-guide-card__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 16px; margin-top: auto; padding-top: 20px; }
.insights-guide-card__bottom .research-card__meta, .insights-guide-card__bottom .research-card__links { margin: 0; padding: 0; }
.insights-guide-card h2, .insights-guide-card h2 a { text-decoration: none; }
@media (max-width: 600px) { .insights-guide-card--media .insights-guide-card__content { padding: 16px; } }
/* Related guides sit below the reading column and contents rail, with room
   for the same compact cards used on the index. */
.insights-related-container { padding-bottom: 48px; }
.insights-related > h2 { margin: 0 0 18px; color: var(--lynx-heading); font: 600 24px/1.3 var(--font-display); letter-spacing: var(--tracking-section); }
.insights-related .insights-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
@media (max-width: 600px) { .insights-related .insights-guide-grid { grid-template-columns: minmax(0, 1fr); } }

/* Full descriptions and natural grid row heights keep the footer aligned. */
.guides-hub .insights-guide-card__media, .insights-related .insights-guide-card__media { aspect-ratio: 2 / 1; }
/* The compact hub slot is wider than the artwork; crop rather than letterbox. */
.guides-hub .insights-guide-card__media { width: 100%; }
.guides-hub .insights-guide-card__media img { object-fit: cover; }
/* Related cards share the 2:1 slot: fill it without side letterboxing. */
.insights-related .insights-guide-card__media { width: 100%; }
.insights-related .insights-guide-card__media img { object-fit: cover; }
.guides-hub .insights-guide-card__content, .insights-related .insights-guide-card__content { padding: 14px 16px; }
.guides-hub .insights-guide-card:not(.insights-guide-card--media), .insights-related .insights-guide-card:not(.insights-guide-card--media) { padding: 0; }
.guides-hub .insights-guide-card .research-card__badge, .insights-related .insights-guide-card .research-card__badge { margin-bottom: 6px; }
.guides-hub .insights-guide-card h2, .insights-related .insights-guide-card h2 { margin-bottom: 7px; font-size: 20px; line-height: 1.25; }
.guides-hub .insights-guide-card .research-card__summary, .insights-related .insights-guide-card .research-card__summary { line-height: 1.55; }
.guides-hub .insights-guide-card__bottom, .insights-related .insights-guide-card__bottom { padding-top: 12px; gap: 8px 12px; }
@media (min-width: 1000px) { .guides-hub .insights-guide-grid, .insights-related .insights-guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Keep the COA measurement comparison readable within the article column. */
.insights-comparison { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 24px 0; font-size: 14px; line-height: 1.65; }
.insights-comparison th, .insights-comparison td { padding: 12px; border-bottom: 1px solid var(--lynx-border); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.insights-comparison th { color: var(--lynx-heading); font-weight: 600; }
.insights-comparison th:first-child { width: 38%; }
@media (max-width: 600px) { .insights-comparison th, .insights-comparison td { padding: 10px 8px; } }
