/* Ava insights: article, hub and topic pages.
   Inherits each site theme's tokens (--bg, --surface, --ink, --ink-2, --muted, --line, --line-strong, --accent, --display, --body,
   --label, --radius, --radius-lg, --btn-radius, --end-*). A theme may set --chart-1 … --chart-6 or --ins-heading-case to tune it.
   Mobile first; no horizontal page scroll from 320 px (wide tables scroll inside their own box). */
.ins{
  --ins-bg:var(--bg,#fff);--ins-ink:var(--ink,#15171c);--ins-ink-2:var(--ink-2,var(--ins-ink));--ins-muted:var(--muted,#5d6371);
  --ins-line:var(--line,rgba(20,22,28,.1));--ins-line-strong:var(--line-strong,rgba(20,22,28,.22));--ins-accent:var(--accent,#2f5bd3);
  --ins-accent-text:color-mix(in srgb,var(--ins-accent) 58%,var(--ins-ink));
  --ins-panel:color-mix(in srgb,var(--ins-ink) 3.5%,var(--ins-bg));
  --ins-track:color-mix(in srgb,var(--ins-ink) 9%,var(--ins-panel));
  --ins-radius:var(--radius,10px);--ins-radius-lg:var(--radius-lg,16px);
  --ins-c1:var(--chart-1,var(--ins-accent));
  --ins-c2:var(--chart-2,color-mix(in srgb,var(--ins-ink) 58%,var(--ins-bg)));
  --ins-c3:var(--chart-3,color-mix(in srgb,var(--ins-accent) 45%,var(--ins-bg)));
  --ins-c4:var(--chart-4,color-mix(in srgb,var(--ins-ink) 26%,var(--ins-bg)));
  --ins-c5:var(--chart-5,color-mix(in srgb,var(--ins-accent) 62%,var(--ins-ink)));
  --ins-c6:var(--chart-6,color-mix(in srgb,var(--ins-ink) 84%,var(--ins-bg)));
  overflow-wrap:break-word;
}
.ins-wrap{width:min(1200px,calc(100% - 40px));margin-inline:auto}
@media (min-width:720px){.ins-wrap{width:min(1200px,calc(100% - 64px))}}
.ins-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Breadcrumbs */
.ins-crumbs{padding-top:clamp(20px,3vw,32px)}
.ins-crumbs ol{display:flex;flex-wrap:wrap;row-gap:4px;margin:0;padding:0;list-style:none;font-size:13px;line-height:1.5;color:var(--ins-muted)}
.ins-crumbs li{display:flex;align-items:center;min-width:0;max-width:100%}
.ins-crumbs li+li::before{content:"/";margin:0 10px;opacity:.5}
.ins-crumbs a{color:inherit;text-decoration:none}
.ins-crumbs a:hover{color:var(--ins-ink);text-decoration:underline}
.ins-crumbs [aria-current]{color:var(--ins-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(56ch,72vw)}

/* Page heads */
.ins-head{padding-block:clamp(28px,5vw,64px) clamp(24px,4vw,44px)}
.ins-eyebrow{margin:0 0 18px;font:650 12px/1.4 var(--label,var(--body));letter-spacing:var(--label-tracking,.14em);text-transform:uppercase;color:var(--ins-accent-text)}
.ins-eyebrow a{color:inherit;text-decoration:none}
.ins-eyebrow a:hover{text-decoration:underline}
.ins .ins-title{margin:0;max-width:22ch;font-family:var(--display);font-weight:var(--display-weight,650);font-stretch:var(--display-stretch,normal);letter-spacing:var(--display-tracking,-.02em);text-transform:var(--display-case,none);font-size:clamp(34px,5.2vw,62px);line-height:1.05;color:var(--ins-ink);text-wrap:balance}
.ins .ins-head--hub .ins-title,.ins .ins-head--topic .ins-title{font-size:clamp(40px,6.4vw,84px);line-height:1;max-width:18ch}
.ins-lede{margin:20px 0 0;max-width:62ch;font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--ins-muted)}
.ins-meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin:28px 0 0;padding-top:18px;border-top:1px solid var(--ins-line);font-size:13.5px;color:var(--ins-muted);max-width:720px}

/* Article layout: one column, with a sticky contents rail from 1080 px */
.ins-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:clamp(40px,6vw,80px)}
.ins-rail{display:none}
.ins-toc--mobile{border:1px solid var(--ins-line);border-radius:var(--ins-radius);background:var(--ins-panel)}
.ins-toc--mobile summary{cursor:pointer;padding:14px 18px;font-weight:650;font-size:14.5px;color:var(--ins-ink)}
.ins-toc--mobile ol{padding:0 18px 16px 38px}
.ins-toc ol{margin:0;display:grid;gap:8px;font-size:14px;line-height:1.45}
.ins-toc li::marker{color:var(--ins-muted);font-variant-numeric:tabular-nums}
.ins-toc a{color:var(--ins-muted);text-decoration:none}
.ins-toc a:hover{color:var(--ins-ink)}
@media (min-width:1080px){
  .ins-layout{grid-template-columns:minmax(0,720px) 248px;justify-content:space-between;gap:64px}
  .ins-toc--mobile{display:none}
  .ins-body{grid-column:1;grid-row:1}
  .ins-rail{display:block;grid-column:2;grid-row:1}
  .ins-toc--desk{position:sticky;top:104px;max-height:calc(100vh - 128px);overflow:auto;padding-left:18px;border-left:1px solid var(--ins-line)}
  .ins-toc--desk ol{padding-left:18px}
}
.ins-toc-title{margin:0 0 14px;font:650 11.5px/1.4 var(--label,var(--body));letter-spacing:var(--label-tracking,.14em);text-transform:uppercase;color:var(--ins-ink)}

/* Article body */
.ins-body{min-width:0;font-size:17px;line-height:1.75;color:var(--ins-ink-2)}
@media (min-width:720px){.ins-body{font-size:18px}}
.ins-body p{margin:0 0 1.15em}
.ins-body a{color:var(--ins-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ins-accent) 75%,transparent);text-decoration-thickness:1.5px;text-underline-offset:3px}
.ins-body a:hover{text-decoration-color:var(--ins-ink)}
.ins-section{margin-top:clamp(44px,6vw,64px)}
.ins .ins-section>h2,.ins .ins-faq>h2,.ins .ins-refs>h2{margin:0 0 .7em;font-family:var(--display);font-weight:var(--display-weight,650);font-stretch:var(--display-stretch,normal);letter-spacing:var(--display-tracking,-.02em);text-transform:var(--ins-heading-case,none);font-size:clamp(26px,3.1vw,38px);line-height:1.12;color:var(--ins-ink);scroll-margin-top:100px;text-wrap:balance}
.ins-body h3{margin:0 0 .35em;font-family:var(--heading,var(--body));font-size:18px;line-height:1.35;font-weight:650;letter-spacing:-.01em;color:var(--ins-ink)}
.ins-body strong,.ins-body b{color:var(--ins-ink)}

.ins-takeaways{padding:clamp(20px,3vw,30px);border:1px solid var(--ins-line);border-radius:var(--ins-radius-lg);background:var(--ins-panel)}
.ins .ins-takeaways h2{margin:0 0 14px;font:650 12px/1.4 var(--label,var(--body));letter-spacing:var(--label-tracking,.14em);text-transform:uppercase;color:var(--ins-accent-text)}
.ins-takeaways ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.ins-takeaways li{position:relative;padding-left:24px;line-height:1.55;color:var(--ins-ink)}
.ins-takeaways li::before{content:"";position:absolute;left:0;top:.72em;width:12px;height:2px;background:var(--ins-accent)}

.ins-list{margin:0 0 1.3em;padding-left:1.3em}
.ins-list li{margin:.5em 0;padding-left:.3em}
.ins-list li::marker{color:var(--ins-accent-text);font-weight:650}

.ins-stats{display:grid;gap:12px;margin:1.6em 0}
@media (min-width:560px){.ins-stats--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ins-stats--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ins-stat{padding:20px 22px;border:1px solid var(--ins-line);border-top:2px solid var(--ins-accent);border-radius:var(--ins-radius);background:var(--ins-panel)}
.ins .ins-stat-value{margin:0 0 10px;font-family:var(--display);font-weight:var(--display-weight,650);letter-spacing:var(--display-tracking,-.02em);font-size:clamp(34px,4vw,46px);line-height:1;color:var(--ins-ink);font-variant-numeric:tabular-nums}
.ins .ins-stat-label{margin:0;font-size:14.5px;line-height:1.5;color:var(--ins-ink-2)}

.ins-callout{margin:1.6em 0;padding:18px 22px;border-left:3px solid var(--ins-accent);border-radius:0 var(--ins-radius) var(--ins-radius) 0;background:var(--ins-panel);color:var(--ins-ink)}
.ins .ins-callout p{margin:0}

.ins-steps{list-style:none;margin:1.6em 0;padding:0}
.ins-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:18px 0;border-top:1px solid var(--ins-line)}
.ins-steps li:last-child{border-bottom:1px solid var(--ins-line)}
.ins-step-n{padding-top:5px;font:650 13px/1 var(--label,var(--body));letter-spacing:.06em;color:var(--ins-accent-text);font-variant-numeric:tabular-nums}
.ins .ins-steps p{margin:0;font-size:.95em}

/* Tables scroll inside their own box on small screens */
.ins-table{margin:1.8em 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--ins-line);border-radius:var(--ins-radius)}
.ins-table:focus-visible{outline:2px solid var(--ins-accent);outline-offset:2px}
.ins-table table{width:100%;min-width:480px;border-collapse:collapse;font-size:15px;line-height:1.5}
.ins-table caption{caption-side:top;padding:14px 16px 12px;text-align:left;font-weight:650;font-size:14.5px;color:var(--ins-ink)}
.ins-table th,.ins-table td{padding:12px 16px;text-align:left;vertical-align:top;border-top:1px solid var(--ins-line)}
.ins-table thead th{font:650 11.5px/1.4 var(--label,var(--body));letter-spacing:.08em;text-transform:uppercase;color:var(--ins-muted);background:var(--ins-panel)}
.ins-table tbody th{font-weight:600;color:var(--ins-ink)}
.ins-table td{color:var(--ins-ink-2);font-variant-numeric:tabular-nums}

/* Figures and charts */
.ins-figure{margin:2em 0;padding:clamp(14px,3vw,28px);border:1px solid var(--ins-line);border-radius:var(--ins-radius-lg);background:var(--ins-panel)}
.ins-fig-cap{display:block;margin:0 0 18px;font-family:var(--heading,var(--body));font-weight:650;font-size:16px;line-height:1.4;letter-spacing:-.005em;color:var(--ins-ink)}
.ins-fig-note{display:block;margin-top:4px;font-weight:400;font-size:14px;color:var(--ins-muted)}
.ins-fig-body{display:grid;gap:18px}
.ins-chart{display:block;width:100%;height:auto;overflow:visible}
.ins-chart-n{max-width:400px}
@media (min-width:640px){.ins-chart-n{display:none}}
@media (max-width:639.98px){.ins-chart-w{display:none}}
.ins-chart-donut{max-width:200px;margin-inline:auto}
.ins-figure--donut .ins-fig-body{align-items:center}
@media (min-width:560px){.ins-figure--donut .ins-fig-body{grid-template-columns:200px minmax(0,1fr);gap:36px}}
.ins-chart text{fill:var(--ins-ink-2);font-family:var(--body)}
.ins-chart .ins-t-value{fill:var(--ins-ink);font-variant-numeric:tabular-nums}
.ins-chart .ins-t-muted{fill:var(--ins-muted);font-variant-numeric:tabular-nums}
.ins-chart .ins-t-big{fill:var(--ins-ink);font-family:var(--display);letter-spacing:-.02em}
.ins-chart .ins-grid{stroke:var(--ins-line);stroke-width:1}
.ins-chart .ins-axis{stroke:var(--ins-line-strong);stroke-width:1}
.ins-chart .ins-track{fill:var(--ins-track)}
.ins-chart .ins-k1{fill:var(--ins-c1)}.ins-chart .ins-k2{fill:var(--ins-c2)}.ins-chart .ins-k3{fill:var(--ins-c3)}
.ins-chart .ins-k4{fill:var(--ins-c4)}.ins-chart .ins-k5{fill:var(--ins-c5)}.ins-chart .ins-k6{fill:var(--ins-c6)}
.ins-chart path.ins-line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.ins-chart path.ins-k1.ins-line{stroke:var(--ins-c1)}.ins-chart path.ins-k2.ins-line{stroke:var(--ins-c2)}
.ins-chart path.ins-k3.ins-line{stroke:var(--ins-c3)}.ins-chart path.ins-k4.ins-line{stroke:var(--ins-c4)}
.ins-chart .ins-dot,.ins-chart .ins-gap{stroke:var(--ins-panel);stroke-width:2}
.ins-chart .ins-mark{transition:opacity .15s}
.ins-chart .ins-mark:hover{opacity:.8}
.ins-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;font-size:14px;line-height:1.45;color:var(--ins-ink-2)}
.ins-legend li{display:flex;align-items:center;gap:8px;min-width:0}
.ins-legend--parts{display:grid;gap:10px}
.ins-legend-label{flex:1;min-width:0}
.ins-legend b{font-weight:650;color:var(--ins-ink);font-variant-numeric:tabular-nums}
.ins-legend-share{min-width:3.2em;text-align:right;color:var(--ins-muted);font-variant-numeric:tabular-nums}
.ins-sw{flex:none;width:12px;height:12px;border-radius:3px}
.ins-sw.ins-k1{background:var(--ins-c1)}.ins-sw.ins-k2{background:var(--ins-c2)}.ins-sw.ins-k3{background:var(--ins-c3)}
.ins-sw.ins-k4{background:var(--ins-c4)}.ins-sw.ins-k5{background:var(--ins-c5)}.ins-sw.ins-k6{background:var(--ins-c6)}
.ins .ins-fig-source{margin:16px 0 0;font-size:13px;line-height:1.5;color:var(--ins-muted)}
.ins-fig-data{margin-top:8px;font-size:13.5px}
.ins-fig-data summary{width:max-content;cursor:pointer;color:var(--ins-muted)}
.ins-fig-data summary:hover{color:var(--ins-ink)}
.ins-fig-data .ins-table{margin:12px 0 0;background:var(--ins-bg)}
.ins-table--data table{min-width:0;font-size:14px}

/* Citations and references */
.ins-cite{margin-left:2px;font-size:.68em;line-height:0;vertical-align:super}
.ins-body .ins-cite a{padding:0 1px;font-weight:650;color:var(--ins-accent-text);text-decoration:none;scroll-margin-top:120px}
.ins-body .ins-cite a:hover{text-decoration:underline}
.ins-faq,.ins-refs{margin-top:clamp(48px,6vw,72px)}
.ins-faq-item{padding:20px 0;border-top:1px solid var(--ins-line)}
.ins-faq-item:last-child{border-bottom:1px solid var(--ins-line)}
.ins .ins-faq-item p{margin:0}
.ins .ins-refs>h2{font-size:clamp(22px,2.4vw,28px)}
.ins-refs-list{display:grid;gap:2px;margin:0;padding:0;list-style:none;font-size:14.5px;line-height:1.55}
.ins-refs-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:10px 10px 10px 6px;border-radius:var(--ins-radius);scroll-margin-top:110px}
.ins-refs-list li:target{background:color-mix(in srgb,var(--ins-accent) 14%,transparent)}
.ins-ref-n{font-weight:650;color:var(--ins-muted);font-variant-numeric:tabular-nums}
.ins .ins-refs-list p{margin:0;color:var(--ins-ink-2);overflow-wrap:anywhere}
.ins-ref-pub{font-weight:600;color:var(--ins-ink)}
.ins-body .ins-backref{margin-left:4px;color:var(--ins-muted);text-decoration:none}

/* Cards, rows, filters, pagination */
.ins-block,.ins-related{padding-block:clamp(24px,4vw,44px)}
.ins-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--ins-line)}
.ins .ins-row-head h2{margin:0;font-family:var(--display);font-weight:var(--display-weight,650);font-stretch:var(--display-stretch,normal);letter-spacing:var(--display-tracking,-.02em);text-transform:var(--ins-heading-case,none);font-size:clamp(24px,2.8vw,34px);line-height:1.1;color:var(--ins-ink)}
.ins-more{flex:none;padding-bottom:2px;border-bottom:1px solid var(--ins-accent);font-size:14px;font-weight:600;color:var(--ins-ink);text-decoration:none}
.ins-more:hover{border-bottom-color:var(--ins-ink)}
.ins-row-text{margin:-4px 0 20px;max-width:62ch;color:var(--ins-muted)}
.ins-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:640px){.ins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.ins-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.ins-card{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:clamp(20px,2.4vw,28px);border:1px solid var(--ins-line);border-radius:var(--ins-radius-lg);background:var(--ins-panel);transition:border-color .2s,transform .2s}
.ins-card:hover{border-color:var(--ins-line-strong);transform:translateY(-2px)}
.ins-card:has(a:focus-visible){outline:2px solid var(--ins-accent);outline-offset:3px}
.ins .ins-card-kicker{margin:0;font:650 11.5px/1.4 var(--label,var(--body));letter-spacing:var(--label-tracking,.12em);text-transform:uppercase;color:var(--ins-accent-text)}
.ins .ins-card-title{margin:0;font-family:var(--heading,var(--body));font-size:19px;font-weight:650;font-stretch:normal;line-height:1.3;letter-spacing:-.012em;text-transform:none;color:var(--ins-ink);text-wrap:balance}
.ins-card-title a{color:inherit;text-decoration:none}
.ins-card-title a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ins-card-title a:focus-visible{outline:none}
.ins .ins-card-text{margin:0;font-size:15px;line-height:1.55;color:var(--ins-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ins .ins-card-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:auto 0 0;padding-top:8px;font-size:13px;color:var(--ins-muted)}
@media (min-width:1024px){
  .ins-card--feature{grid-column:span 2;justify-content:flex-end;min-height:280px}
  .ins .ins-card--feature .ins-card-title{font-family:var(--display);font-weight:var(--display-weight,650);letter-spacing:var(--display-tracking,-.02em);font-size:clamp(26px,2.6vw,36px);line-height:1.1;max-width:24ch}
  .ins-card--feature .ins-card-meta{margin-top:0}
}
.ins-filter ul{display:flex;gap:8px;margin:0;padding:2px 2px 12px;list-style:none;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
@media (min-width:900px){.ins-filter ul{flex-wrap:wrap;overflow:visible}}
.ins-filter a{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid var(--ins-line-strong);border-radius:var(--btn-radius,999px);font-size:14px;font-weight:550;white-space:nowrap;color:var(--ins-ink-2);text-decoration:none;transition:border-color .2s,background .2s,color .2s}
.ins-filter a:hover{border-color:var(--ins-ink);color:var(--ins-ink)}
.ins-filter a[aria-current]{border-color:var(--ins-ink);background:var(--ins-ink);color:var(--ins-bg)}
.ins-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:8px 24px}
.ins-pager ol{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none}
.ins-pager li{display:flex;align-items:center;color:var(--ins-muted)}
.ins-pager li a,.ins-pager li span{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 8px;border:1px solid transparent;border-radius:var(--ins-radius);font-size:14px;color:var(--ins-ink-2);text-decoration:none;font-variant-numeric:tabular-nums}
.ins-pager li a:hover{border-color:var(--ins-line-strong)}
.ins-pager li [aria-current]{background:var(--ins-ink);color:var(--ins-bg)}
.ins-pager-step{min-width:64px;font-size:14px;font-weight:600;color:var(--ins-ink);text-decoration:none}
.ins-pager-step:last-child{text-align:right}

/* Closing call to action (uses the site's endcap tokens and .button styles) */
.ins-cta{display:grid;gap:24px;align-items:center;margin-block:clamp(32px,5vw,64px) clamp(56px,8vw,112px);padding:clamp(28px,5vw,56px);border:1px solid var(--ins-line);border-radius:var(--ins-radius-lg);background:var(--end-bg,var(--ins-panel));color:var(--end-ink,var(--ins-ink))}
@media (min-width:860px){.ins-cta{grid-template-columns:minmax(0,1fr) auto;gap:48px}}
.ins .ins-cta h2{margin:0 0 12px;max-width:18ch;font-family:var(--display);font-weight:var(--display-weight,650);font-stretch:var(--display-stretch,normal);letter-spacing:var(--display-tracking,-.02em);text-transform:var(--display-case,none);font-size:clamp(30px,4vw,52px);line-height:1.04;color:inherit}
.ins .ins-cta p{margin:0;max-width:52ch;color:var(--end-muted,var(--ins-muted))}
.ins .ins-cta .ins-eyebrow{margin-bottom:14px;color:var(--end-accent,var(--ins-accent-text))}
.ins-cta-button{justify-self:start}
.ins .ins-cta .button.primary{background:var(--end-btn,var(--btn-bg,var(--ins-accent)));color:var(--end-btn-ink,var(--btn-ink,var(--accent-ink,#fff)))}

@media (prefers-reduced-motion:reduce){.ins-card,.ins-card:hover,.ins-chart .ins-mark{transition:none;transform:none}}
@media print{
  .ins-crumbs,.ins-toc,.ins-rail,.ins-related,.ins-cta,.ins-filter,.ins-pager,.ins-fig-data{display:none}
  .ins-chart-n{display:none}.ins-chart-w{display:block}
  .ins-figure,.ins-stat,.ins-takeaways{break-inside:avoid}
}
