/* ============================================================
   INSIGHTS HUB — newspaper-style front page
   ============================================================ */
.insights-hub { padding: 32px 0 80px; background-color: #faf7f2; }
.insights-hub .container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.insights-hub .hub-intro { max-width: 740px; margin: 0 0 28px; font-size: 16px; line-height: 28px; color: rgba(26, 26, 28, 0.72); }
.insights-hub .hub-intro p { margin: 0 0 14px; }
.insights-hub .hub-intro p:last-child { margin-bottom: 0; }
.insights-hub .hub-intro a { color: #1d4ed8; text-decoration: none; border-bottom: 1px solid rgba(29, 78, 216, 0.3); padding-bottom: 1px; }
.insights-hub .hub-intro a:hover { border-color: #1d4ed8; }

.insights-hub .section-kicker { display: flex; align-items: center; gap: 14px; margin: 36px 0 18px; }
.insights-hub .section-kicker .kicker-label { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; font-weight: 800; color: #1d4ed8; white-space: nowrap; }
.insights-hub .section-kicker .kicker-rule { flex: 1; height: 1px; background-color: rgba(176, 142, 42, 0.25); }

/* Card base */
.insights-hub .insight-card { display: flex; flex-direction: column; background-color: #ffffff; border: 1px solid rgba(26, 26, 28, 0.08); border-radius: 8px; overflow: hidden; text-decoration: none; color: inherit; transition: border-color 0.25s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03); }
.insights-hub .insight-card:hover { border-color: rgba(176, 142, 42, 0.35); transform: translateY(-2px); box-shadow: 0 14px 32px rgba(0, 0, 0, 0.10); color: inherit; }
.insights-hub .insight-card .card-image { position: relative; width: 100%; aspect-ratio: 16 / 9; background-color: #1a1a1c; overflow: hidden; }
.insights-hub .insight-card .card-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.insights-hub .insight-card:hover .card-image img { transform: scale(1.04); }
.insights-hub .insight-card .card-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.55) 80%, rgba(0, 0, 0, 0.78) 100%); pointer-events: none; z-index: 1; }
.insights-hub .insight-card .card-image .card-tag { position: absolute; top: 14px; left: 14px; z-index: 2; padding: 5px 10px; font-size: 10px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: #ffffff; background-color: rgba(29, 78, 216, 0.92); border-radius: 3px; }
.insights-hub .insight-card .card-image .card-kicker { position: absolute; left: 18px; right: 18px; bottom: 14px; z-index: 2; font-size: 26px; line-height: 1; font-weight: 900; letter-spacing: -0.6px; text-transform: uppercase; color: #ffffff; text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55), 0 0 4px rgba(0, 0, 0, 0.6); }
.insights-hub .insight-card .card-image .card-kicker .kicker-accent { color: #93c5fd; }
.insights-hub .insight-card .card-body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.insights-hub .insight-card .card-title { font-size: 18px; font-weight: 800; color: #1a1a1c; margin: 0 0 8px; letter-spacing: -0.3px; line-height: 24px; }
.insights-hub .insight-card .card-summary { font-size: 14px; line-height: 22px; color: rgba(26, 26, 28, 0.72); margin: 0 0 14px; flex: 1; }
.insights-hub .insight-card .card-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid rgba(26, 26, 28, 0.06); }
.insights-hub .insight-card .card-meta .card-date { font-size: 12px; color: rgba(26, 26, 28, 0.55); font-weight: 600; }
.insights-hub .insight-card .card-meta .card-read { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #1d4ed8; transition: gap 0.25s ease; }
.insights-hub .insight-card:hover .card-meta .card-read { gap: 10px; }
.insights-hub .insight-card .card-meta .card-read .read-arrow { width: 14px; height: 14px; }

/* LEAD story */
.insights-hub .lead-story { display: grid; grid-template-columns: 1fr; gap: 0; }
.insights-hub .lead-story .card-image { aspect-ratio: 16 / 9; }
.insights-hub .lead-story .card-tag { font-size: 11px; padding: 6px 12px; }
.insights-hub .lead-story .card-image .card-kicker { font-size: 38px; left: 24px; right: 24px; bottom: 22px; letter-spacing: -1px; }
.insights-hub .lead-story .card-body { padding: 24px 22px 24px; }
.insights-hub .lead-story .card-title { font-size: 24px; line-height: 30px; margin: 0 0 12px; letter-spacing: -0.5px; }
.insights-hub .lead-story .card-summary { font-size: 15px; line-height: 24px; }

/* SECONDARY row */
.insights-hub .secondary-row { display: grid; grid-template-columns: 1fr; gap: 18px; }

/* TERTIARY row */
.insights-hub .tertiary-row { display: grid; grid-template-columns: 1fr; gap: 18px; }
.insights-hub .tertiary-row .insight-card .card-image .card-kicker { font-size: 22px; }
.insights-hub .tertiary-row .insight-card .card-title { font-size: 16px; line-height: 22px; }
.insights-hub .tertiary-row .insight-card .card-summary { font-size: 13px; line-height: 21px; }

/* ============================================================
   ARTICLE HERO — editorial photo treatment
   ============================================================ */
.insight-article-hero { position: relative; width: 100%; min-height: 320px; background-color: #0f0f10; overflow: hidden; display: flex; align-items: flex-end; }
.insight-article-hero .hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.78; filter: saturate(1.05); }
.insight-article-hero .hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 15, 16, 0.15) 0%, rgba(15, 15, 16, 0.55) 55%, rgba(15, 15, 16, 0.92) 95%, #faf7f2 100%); }
.insight-article-hero .hero-inner { position: relative; z-index: 2; max-width: 900px; width: 100%; margin: 0 auto; padding: 80px 20px 36px; }
.insight-article-hero .hero-crumbs { display: flex; align-items: center; gap: 8px; font-size: 13px; margin-bottom: 18px; color: rgba(255, 255, 255, 0.65); }
.insight-article-hero .hero-crumbs a { color: #2563eb; text-decoration: none; }
.insight-article-hero .hero-crumbs a:hover { color: #60a5fa; }
.insight-article-hero .hero-crumbs .crumb-sep { color: rgba(255, 255, 255, 0.35); }
.insight-article-hero .hero-tag { display: inline-block; padding: 6px 12px; font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #ffffff; background-color: rgba(29, 78, 216, 0.92); border-radius: 3px; margin-bottom: 14px; }
.insight-article-hero .hero-kicker { display: block; font-size: 32px; line-height: 1; font-weight: 900; letter-spacing: -0.6px; text-transform: uppercase; color: #93c5fd; margin: 0 0 16px; text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5); }
.insight-article-hero .hero-title { font-size: 30px; line-height: 38px; font-weight: 900; color: #ffffff; letter-spacing: -0.5px; margin: 0 0 14px; max-width: 800px; }
.insight-article-hero .hero-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 13px; color: rgba(255, 255, 255, 0.78); font-weight: 600; }
.insight-article-hero .hero-meta .meta-sep { color: rgba(255, 255, 255, 0.3); }

/* ============================================================
   ARTICLE BODY
   ============================================================ */
.insight-page { padding: 40px 0 80px; background-color: #faf7f2; }
.insight-page .container { width: 100%; max-width: 880px; margin: 0 auto; padding: 0 20px; }
.insight-page .insight-meta-row { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; flex-wrap: wrap; }
.insight-page .insight-meta-row .insight-tag { display: inline-block; padding: 4px 10px; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #1e3a8a; background-color: rgba(176, 142, 42, 0.10); border-radius: 3px; }
.insight-page .insight-meta-row .insight-byline { font-size: 13px; color: rgba(26, 26, 28, 0.65); font-weight: 600; }
.insight-page .insight-body { display: flex; flex-direction: column; gap: 32px; }
.insight-page .insight-body .insight-section .section-heading { font-size: 22px; line-height: 30px; font-weight: 800; color: #1a1a1c; margin: 0 0 14px; letter-spacing: -0.3px; }
.insight-page .insight-body .insight-section p { font-size: 16px; line-height: 27px; color: rgba(26, 26, 28, 0.78); margin: 0 0 14px; }
.insight-page .insight-body .insight-section p:last-child { margin-bottom: 0; }
.insight-page .insight-body .insight-section p a { color: #1d4ed8; text-decoration: none; border-bottom: 1px solid rgba(29, 78, 216, 0.3); padding-bottom: 1px; transition: border-color 0.2s ease; }
.insight-page .insight-body .insight-section p a:hover { border-color: #1d4ed8; }
.insight-page .insight-body .insight-section p strong { color: #1a1a1c; font-weight: 700; }
.insight-page .insight-body .insight-section .insight-pullquote { padding: 18px 22px; background-color: rgba(176, 142, 42, 0.07); border-left: 3px solid #1d4ed8; border-radius: 0 6px 6px 0; margin: 6px 0 14px; }
.insight-page .insight-body .insight-section .insight-pullquote p { font-size: 16px; line-height: 26px; color: rgba(26, 26, 28, 0.85); margin: 0; font-style: italic; }
.insight-page .insight-body .insight-section .insight-table-wrap { margin: 4px 0 18px; overflow-x: auto; border: 1px solid rgba(26, 26, 28, 0.08); border-radius: 8px; background-color: #ffffff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03); }
.insight-page .insight-body .insight-section .insight-table { width: 100%; border-collapse: collapse; font-size: 14px; table-layout: auto; }
.insight-page .insight-body .insight-section .insight-table th { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: rgba(26, 26, 28, 0.6); text-align: left; padding: 11px 12px; border-bottom: 1px solid rgba(26, 26, 28, 0.08); background-color: #faf7f2; }
.insight-page .insight-body .insight-section .insight-table td { padding: 11px 12px; border-bottom: 1px solid rgba(26, 26, 28, 0.06); color: #1a1a1c; line-height: 22px; }
.insight-page .insight-body .insight-section .insight-table tr:last-child td { border-bottom: 0; }
.insight-page .insight-body .insight-section .insight-table td.t-num { font-weight: 700; }
.insight-page .insight-body .insight-section .insight-table td.t-positive { color: #047857; font-weight: 700; }
.insight-page .insight-body .insight-section .insight-table td.t-warning { color: #1d4ed8; font-weight: 700; }
.insight-page .insight-body .insight-section .detail-list { display: flex; flex-direction: column; gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.insight-page .insight-body .insight-section .detail-list .detail-item { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 24px; color: rgba(26, 26, 28, 0.78); }
.insight-page .insight-body .insight-section .detail-list .detail-item .detail-icon { width: 16px; height: 16px; flex-shrink: 0; margin-top: 4px; color: #1d4ed8; }
.insight-page .insight-body .insight-section .detail-list .detail-item strong { color: #1a1a1c; font-weight: 700; }
.insight-page .insight-body .insight-section .faq-list { display: flex; flex-direction: column; gap: 14px; }
.insight-page .insight-body .insight-section .faq-list .faq-item { padding: 18px 22px; background-color: #ffffff; border: 1px solid rgba(26, 26, 28, 0.08); border-radius: 8px; border-left: 3px solid rgba(176, 142, 42, 0.4); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03); }
.insight-page .insight-body .insight-section .faq-list .faq-item .faq-question { font-size: 15px; font-weight: 800; color: #1a1a1c; margin: 0 0 8px; letter-spacing: -0.2px; line-height: 22px; }
.insight-page .insight-body .insight-section .faq-list .faq-item .faq-answer { font-size: 14px; line-height: 24px; color: rgba(26, 26, 28, 0.78); margin: 0; }
.insight-page .insight-body .insight-related { padding: 24px 26px; background-color: #ffffff; border: 1px solid rgba(26, 26, 28, 0.08); border-radius: 10px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03); }
.insight-page .insight-body .insight-related .related-heading { font-size: 13px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #1d4ed8; margin: 0 0 12px; }
.insight-page .insight-body .insight-related .related-list { display: flex; flex-direction: column; gap: 8px; }
.insight-page .insight-body .insight-related .related-list .related-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: #1d4ed8; text-decoration: none; }
.insight-page .insight-body .insight-related .related-list .related-link:hover { gap: 10px; }
.insight-page .insight-body .insight-related .related-list .related-link .related-arrow { width: 13px; height: 13px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (min-width: 640px) {
  .insights-hub .secondary-row { grid-template-columns: repeat(2, 1fr); }
  .insights-hub .tertiary-row { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
  .insights-hub { padding: 40px 0 100px; }
  .insights-hub .container { padding: 0 40px; }
  .insights-hub .lead-story { grid-template-columns: 1.4fr 1fr; align-items: stretch; }
  .insights-hub .lead-story .card-image { aspect-ratio: auto; height: 100%; min-height: 360px; }
  .insights-hub .lead-story .card-body { padding: 32px 30px; justify-content: center; }
  .insights-hub .lead-story .card-title { font-size: 28px; line-height: 34px; }
  .insights-hub .lead-story .card-summary { font-size: 16px; line-height: 26px; }
  .insight-article-hero { min-height: 380px; }
  .insight-article-hero .hero-inner { padding: 110px 40px 48px; }
  .insight-article-hero .hero-kicker { font-size: 44px; }
  .insight-article-hero .hero-title { font-size: 40px; line-height: 48px; letter-spacing: -1px; }
  .insights-hub .insight-card .card-image .card-kicker { font-size: 30px; }
  .insights-hub .lead-story .card-image .card-kicker { font-size: 52px; }
  .insights-hub .tertiary-row .insight-card .card-image .card-kicker { font-size: 24px; }
  .insight-page { padding: 48px 0 100px; }
  .insight-page .container { padding: 0 40px; }
  .insight-page .insight-body { gap: 36px; }
  .insight-page .insight-body .insight-section .section-heading { font-size: 26px; line-height: 34px; }
  .insight-page .insight-body .insight-section p { font-size: 17px; line-height: 28px; }
}
@media (min-width: 1024px) {
  .insights-hub .lead-story .card-title { font-size: 34px; line-height: 40px; }
  .insights-hub .lead-story .card-image .card-kicker { font-size: 64px; }
  .insights-hub .tertiary-row { grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .insight-article-hero { min-height: 440px; }
  .insight-article-hero .hero-kicker { font-size: 56px; }
  .insight-article-hero .hero-title { font-size: 46px; line-height: 54px; }
}


/* Province conversion toplist (additive) */
.prov-toplist { display: flex; flex-direction: column; gap: 14px; margin: 6px 0 22px; }
.prov-row { display: grid; grid-template-columns: 1fr; gap: 14px; background: #ffffff; border: 1px solid rgba(26,26,28,0.10); border-radius: 12px; padding: 18px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease; }
.prov-row:hover { border-color: rgba(29,78,216,0.30); box-shadow: 0 10px 26px rgba(0,0,0,0.08); transform: translateY(-2px); }
.prov-row.prov-featured { border-color: rgba(29,78,216,0.35); background: linear-gradient(180deg, rgba(29,78,216,0.06), #ffffff 130px); }
.prov-main { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; row-gap: 12px; align-items: center; }
.prov-main .prov-rank { grid-column: 1; grid-row: 1; }
.prov-main .prov-logo { grid-column: 2; grid-row: 1; justify-self: start; }
.prov-main .prov-id { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
.prov-rank { width: 32px; height: 32px; border-radius: 8px; background: rgba(29,78,216,0.10); color: #1d4ed8; font-weight: 900; font-size: 15px; display: flex; align-items: center; justify-content: center; }
.prov-row.prov-featured .prov-rank { background: linear-gradient(135deg,#1d4ed8,#1e3a8a); color: #fff; }
.prov-logo { width: 116px; height: 60px; background: #fff; border: 1px solid rgba(26,26,28,0.08); border-radius: 8px; display: flex; align-items: center; justify-content: center; padding: 5px 8px; }
.prov-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.prov-name { font-size: 17px; font-weight: 800; color: #1a1a1c; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.prov-pick { font-size: 10px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; color: #fff; background: linear-gradient(135deg,#1d4ed8,#1e3a8a); padding: 3px 8px; border-radius: 999px; }
.prov-rating { display: flex; align-items: center; gap: 8px; margin: 3px 0 8px; }
.prov-stars { color: #1d4ed8; font-size: 13px; letter-spacing: 1px; }
.prov-score { font-weight: 800; color: #1a1a1c; font-size: 14px; }
.prov-score span { color: rgba(26,26,28,0.45); font-weight: 600; font-size: 12px; }
.prov-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; list-style: none; margin: 0; padding: 0; }
.prov-facts li { font-size: 13px; color: rgba(26,26,28,0.7); }
.prov-facts li b { color: #1a1a1c; font-weight: 700; }
.prov-note { font-size: 13px; line-height: 20px; color: rgba(26,26,28,0.6); margin: 8px 0 0; }
.prov-cta { display: flex; flex-direction: column; gap: 8px; }
.prov-btn { display: inline-flex; align-items: center; justify-content: center; padding: 13px 20px; background: linear-gradient(135deg,#1d4ed8,#1e3a8a); color: #fff; font-weight: 800; font-size: 14px; text-transform: uppercase; letter-spacing: 0.6px; border-radius: 6px; box-shadow: 0 4px 14px rgba(29,78,216,0.25); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.prov-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(29,78,216,0.35); color: #fff; }
.prov-review { text-align: center; font-size: 13px; font-weight: 700; color: rgba(26,26,28,0.6); }
.prov-review:hover { color: #1d4ed8; }
@media (min-width: 768px) {
  .prov-row { grid-template-columns: 1fr 188px; align-items: center; gap: 20px 26px; padding: 22px 24px; }
  .prov-cta { align-self: center; }
}

/* Province page v2: byline, stats, best-for + pros/cons (additive) */
.prov-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 13px; color: rgba(26,26,28,0.6); margin: 0 0 22px; padding: 12px 0; border-top: 1px solid rgba(26,26,28,0.08); border-bottom: 1px solid rgba(26,26,28,0.08); }
.prov-byline b { color: #1a1a1c; font-weight: 700; }
.prov-byline a { color: #1d4ed8; }
.prov-byline .bull { color: rgba(26,26,28,0.3); }
.ont-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 6px 0 8px; }
.ont-stat { background: #fff; border: 1px solid rgba(26,26,28,0.08); border-left: 3px solid #1d4ed8; border-radius: 0 8px 8px 0; padding: 13px 16px; }
.ont-stat .num { font-size: 22px; font-weight: 900; color: #1d4ed8; line-height: 1.1; }
.ont-stat .lbl { font-size: 12px; color: rgba(26,26,28,0.6); margin-top: 4px; }
@media (min-width: 600px) { .ont-stats { grid-template-columns: repeat(3,1fr); } }
.prov-bestfor { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: 0.5px; text-transform: uppercase; color: #1d4ed8; background: rgba(29,78,216,0.08); border: 1px solid rgba(29,78,216,0.18); padding: 3px 9px; border-radius: 999px; margin: 2px 0 8px; }
.prov-pc { display: grid; grid-template-columns: 1fr; gap: 0 18px; margin: 8px 0 0; }
.prov-pros, .prov-cons { list-style: none; margin: 0; padding: 0; }
.prov-pros li, .prov-cons li { font-size: 13px; line-height: 19px; padding-left: 20px; position: relative; color: rgba(26,26,28,0.72); margin: 3px 0; }
.prov-pros li::before { content: "\2713"; position: absolute; left: 0; color: #047857; font-weight: 800; }
.prov-cons li::before { content: "\2715"; position: absolute; left: 0; color: #c0392b; font-weight: 800; }
.prov-callout { background: rgba(29,78,216,0.05); border: 1px solid rgba(29,78,216,0.16); border-radius: 10px; padding: 18px 20px; }
.prov-callout h2 { margin-top: 0; }
@media (min-width: 560px) { .prov-pc { grid-template-columns: 1fr 1fr; } }

/* CTA contrast: override base .wrapper a link colour (specificity fix) */
.prov-cta .prov-btn, .prov-cta .prov-btn:hover, .prov-cta .prov-btn:visited { color: #ffffff; }
.prov-cta .prov-review { color: rgba(26,26,28,0.6); }
.prov-cta .prov-review:hover { color: #1d4ed8; }

/* Grey-market warning callout (additive) */
.prov-callout.prov-warn { border-color: rgba(193,124,30,0.40); background: rgba(193,124,30,0.07); }
.prov-callout.prov-warn h2 { color: #8a5a12; }

/* Compare page — sortable table + CTA buttons (additive) */
.insight-table th.sortable { cursor: pointer; user-select: none; white-space: normal; }
.insight-table th.sortable:hover { color: #2563eb; }
.insight-table th.sortable:focus-visible { outline: 2px solid #2563eb; outline-offset: -2px; }
.insight-table th .sort-ind { font-size: 10px; margin-left: 4px; opacity: .45; }
.insight-table th[aria-sort] .sort-ind { opacity: 1; color: #2563eb; }
.insight-table .cmp-actions { white-space: nowrap; }
.insight-table .cmp-visit { display: inline-block; background: #2563eb; color: #fff; font-weight: 700; font-size: 13px; line-height: 1; padding: 8px 14px; border-radius: 6px; text-decoration: none; transition: background .15s ease; }
.insight-table .cmp-visit:hover, .insight-table .cmp-visit:visited { color: #fff; }
.insight-table .cmp-visit:hover { background: #1d4ed8; }
.insight-table .cmp-review { display: inline-block; margin-left: 12px; font-size: 13px; color: #2563eb; text-decoration: none; }
.insight-table .cmp-review:hover { text-decoration: underline; }

/* Tables -> stacked cards on mobile so NO horizontal scroll is ever needed (RP53) */
@media (max-width: 768px) {
  .insight-page .insight-body .insight-section .insight-table-wrap { overflow-x: visible; border: 0; background: transparent; box-shadow: none; }
  .insight-page .insight-body .insight-section .insight-table { display: block; font-size: 14px; }
  .insight-page .insight-body .insight-section .insight-table thead { display: none; }
  .insight-page .insight-body .insight-section .insight-table tbody,
  .insight-page .insight-body .insight-section .insight-table tr,
  .insight-page .insight-body .insight-section .insight-table td { display: block; width: 100%; }
  .insight-page .insight-body .insight-section .insight-table tr { background: #ffffff; border: 1px solid rgba(26, 26, 28, 0.10); border-radius: 10px; margin: 0 0 14px; padding: 4px 16px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); }
  .insight-page .insight-body .insight-section .insight-table td { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 4px 16px; min-width: 0; text-align: right; padding: 10px 0; border-bottom: 1px solid rgba(26, 26, 28, 0.07); line-height: 1.45; overflow-wrap: anywhere; }
  .insight-page .insight-body .insight-section .insight-table tr td:last-child { border-bottom: 0; }
  .insight-page .insight-body .insight-section .insight-table td::before { content: attr(data-label); font-weight: 800; font-size: 11px; letter-spacing: 0.5px; text-transform: uppercase; color: rgba(26, 26, 28, 0.5); text-align: left; padding-right: 14px; padding-top: 2px; flex: 0 1 auto; }
  .insight-page .insight-body .insight-section .insight-table td.cmp-name { display: block; text-align: left; font-size: 17px; font-weight: 800; color: #0f2a4a; padding: 14px 0 8px; }
  .insight-page .insight-body .insight-section .insight-table td.cmp-name::before { display: none; }
  .insight-page .insight-body .insight-section .insight-table td.cmp-actions { display: flex; justify-content: flex-start; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 0 10px; }
  .insight-page .insight-body .insight-section .insight-table td.cmp-actions::before { display: none; }
  .insight-table .cmp-review { margin-left: 0; }
}

/* ============================================================
   KYC / verification page — diagrams (additive)
   ============================================================ */
/* 1 — horizontal numbered process flow */
.kyc-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 26px 0; }
.kyc-flow .kyc-step { position: relative; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 24px 16px 18px; text-align: center; }
.kyc-flow .kyc-num { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); width: 28px; height: 28px; border-radius: 50%; background: #0f2a4a; color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.kyc-flow .kyc-ico { display: block; width: 46px; height: 46px; margin: 6px auto 12px; color: #2563eb; }
.kyc-flow .kyc-ico svg { width: 46px; height: 46px; display: block; }
.kyc-flow h3 { font-size: 15px; margin: 0 0 6px; color: #0f2a4a; }
.kyc-flow p { font-size: 13px; line-height: 1.5; margin: 0; opacity: .8; }
.kyc-flow .kyc-step:not(:last-child)::after { content: "\2192"; position: absolute; top: 50%; right: -14px; transform: translateY(-50%); color: #94a3b8; font-size: 20px; line-height: 1; z-index: 2; }
@media (max-width: 760px) {
  .kyc-flow { grid-template-columns: 1fr; gap: 30px; }
  .kyc-flow .kyc-step:not(:last-child)::after { content: "\2193"; top: auto; right: auto; bottom: -25px; left: 50%; transform: translateX(-50%); }
}

/* 2 — required/optional document grid */
.kyc-docs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 22px 0; }
.kyc-docs .kyc-doc { display: flex; gap: 14px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 16px; }
.kyc-docs .kyc-ico { flex: 0 0 auto; width: 34px; height: 34px; color: #2563eb; }
.kyc-docs .kyc-ico svg { width: 34px; height: 34px; display: block; }
.kyc-docs h3 { font-size: 15px; margin: 0 0 4px; color: #0f2a4a; }
.kyc-docs p { font-size: 13px; line-height: 1.5; margin: 0; opacity: .82; }
.kyc-docs .kyc-tag { display: inline-block; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; padding: 2px 8px; border-radius: 4px; margin-top: 9px; }
.kyc-docs .kyc-tag.req { background: rgba(5,150,105,.12); color: #047857; }
.kyc-docs .kyc-tag.opt { background: rgba(37,99,235,.10); color: #2563eb; }
@media (max-width: 640px) { .kyc-docs { grid-template-columns: 1fr; } }

/* 3 — vertical "when it's triggered" timeline */
.kyc-timeline { list-style: none; margin: 24px 0; padding: 0; position: relative; }
.kyc-timeline::before { content: ""; position: absolute; left: 13px; top: 8px; bottom: 8px; width: 2px; background: #dbe3ee; }
.kyc-timeline li { position: relative; padding: 0 0 24px 46px; }
.kyc-timeline li:last-child { padding-bottom: 0; }
.kyc-timeline .kyc-dot { position: absolute; left: 5px; top: 2px; width: 18px; height: 18px; border-radius: 50%; background: #2563eb; border: 4px solid #fff; box-shadow: 0 0 0 2px #2563eb; }
.kyc-timeline h3 { font-size: 15px; margin: 0 0 4px; color: #0f2a4a; }
.kyc-timeline p { font-size: 14px; line-height: 1.55; margin: 0; opacity: .85; }
.kyc-timeline .kyc-when { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: #2563eb; margin-bottom: 2px; }

/* Legality hub — "read your province's full guide" navigation (additive) */
.prov-guides { margin: 22px 0 4px; padding: 18px 18px 14px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; }
.prov-guides .prov-guides-head { font-size: 14px; font-weight: 700; color: #0f2a4a; margin: 0 0 12px; }
.prov-guides .prov-guides-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.prov-guides .prov-guides-grid a { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; font-weight: 600; color: #2563eb; text-decoration: none; padding: 10px 13px; background: #fff; border: 1px solid #d7e0ec; border-radius: 8px; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.prov-guides .prov-guides-grid a:hover { background: #2563eb; color: #fff; border-color: #2563eb; }
.prov-guides .prov-guides-grid .pg-arrow { color: #94a3b8; font-weight: 400; transition: color .15s ease; }
.prov-guides .prov-guides-grid a:hover .pg-arrow { color: #fff; }
@media (max-width: 640px) { .prov-guides .prov-guides-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 380px) { .prov-guides .prov-guides-grid { grid-template-columns: 1fr; } }

/* PR / citable data-asset figures (RP52) */
.pr-figure { margin: 30px 0; }
.pr-figure img { width: 100%; height: auto; display: block; border-radius: 10px; border: 1px solid rgba(15,42,74,0.12); box-shadow: 0 8px 28px rgba(15,42,74,0.10); }
.pr-figure figcaption { margin-top: 10px; font-size: 13px; line-height: 1.55; color: #64748b; }
.pr-figure .pr-cap { font-weight: 700; color: #0f2a4a; }


/* ============================================================
   NEWS TAGS — taxonomy chips, topic cloud + tag archive
   ============================================================ */
/* Clickable tag chip (article foot, topic cloud, archive) */
.news-tag { display: inline-flex; align-items: center; font-size: 13px; font-weight: 700; line-height: 1; color: #0f2a4a; text-decoration: none; padding: 8px 13px; background: #f1f5fb; border: 1px solid #d7e0ec; border-radius: 999px; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.news-tag:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; }
.news-tag .tag-count { margin-left: 6px; font-size: 11px; font-weight: 700; opacity: .55; }
.news-tag.is-current { background: #2563eb; color: #ffffff; border-color: #2563eb; cursor: default; }

/* Tag block at the foot of an article */
.insight-page .insight-body .insight-tags { margin: 0 0 22px; padding: 18px 22px; background-color: #ffffff; border: 1px solid rgba(26, 26, 28, 0.08); border-radius: 10px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03); }
.insight-page .insight-body .insight-tags .tags-heading { font-size: 13px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #1d4ed8; margin: 0 0 12px; }
.insight-page .insight-body .insight-tags .tags-list { display: flex; flex-wrap: wrap; gap: 8px; }

/* Non-clickable tag labels inside a hub card */
.insights-hub .insight-card .card-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.insights-hub .insight-card .card-tags .card-tag-chip { font-size: 11px; font-weight: 700; line-height: 1; color: #3b5573; padding: 5px 9px; background: #f1f5fb; border: 1px solid #e2e8f0; border-radius: 999px; }

/* Browse-by-topic cloud */
.news-topics { margin: 4px 0 8px; padding: 18px 18px 16px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; }
.news-topics .topics-head { font-size: 12px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #1d4ed8; margin: 0 0 12px; }
.news-topics .topics-list { display: flex; flex-wrap: wrap; gap: 8px; }

/* Tag-archive page */
.insights-hub .tag-archive-intro { margin-bottom: 18px; }
.tag-archive-back { display: inline-flex; align-items: center; gap: 7px; margin-top: 26px; font-size: 14px; font-weight: 700; color: #1d4ed8; text-decoration: none; }
.tag-archive-back:hover { gap: 11px; }
.tag-archive-back .related-arrow { width: 13px; height: 13px; }
