/* Reader-facing refinements, scoped away from native Foxiz articles. */
.itr-toolkit { background: #eeeae2; padding: 48px 0; border-block: 1px solid #d4d0c8; }
.itr-toolkit__grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 52px; align-items: center; }
.itr-toolkit__art img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.itr-toolkit__art small { display: block; margin-top: 8px; color: #626761; font-size: 11px; }
.itr-toolkit h2 { margin: 0 0 16px; color: #111516; font: 700 clamp(32px,3.2vw,48px)/1.02 var(--itr-condensed); letter-spacing: -.025em; }
.itr-toolkit p:not(.itr-kicker) { color: #4e5552; font-size: 16px; line-height: 1.6; }
.itr-toolkit__links { border-top: 1px solid #bcbfb8; margin: 24px 0 16px; }
.itr-toolkit__links a { display: flex; gap: 18px; padding: 16px 0; align-items: center; color: #111516; border-bottom: 1px solid #bcbfb8; }
.itr-toolkit__links a:hover strong { color: #ba241a; }
.itr-toolkit__links a > span:first-child { color: #a12920; font-size: 12px; }
.itr-toolkit__links a > span:last-child { margin-left: auto; }
.itr-toolkit__links strong { display: block; font: 700 21px/1.2 var(--itr-condensed); }
.itr-toolkit__links small { display: block; margin-top: 5px; font-size: 13px; color: #525a55; }
body.itr-publication-surface .itr-newsletter-form .itr-newsletter-form__submit { background: #c52c22; color: #fff; border-radius: 0; }
body.itr-publication-surface .itr-newsletter-form { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; gap: 16px; align-items: start; }
body.itr-publication-surface .itr-newsletter-form .itr-newsletter-form__field { width: 100%; min-width: 0; }
body.itr-publication-surface .itr-newsletter-form input[type=email], body.itr-publication-surface .itr-newsletter-form select { width: 100%; min-width: 0; }
body.itr-publication-surface .itr-newsletter-form .itr-newsletter-form__submit { width: 100%; }
body.itr-publication-surface .itr-newsletter-form .itr-newsletter-form__submit:hover { background: #a31f17; }
body.itr-publication-surface .itr-newsletter-form input[type=email], body.itr-publication-surface .itr-newsletter-form select { border-radius: 0; }
body.itr-publication-active { overflow-x: visible; }
body.itr-publication-surface .itr-primary-nav__list { gap: clamp(4px, .7vw, 12px); }
body.itr-publication-surface .itr-primary-nav__link-row > a { font-size: 13px; }
body.itr-homepage-active .itr-hero { padding: 32px 0; }
body.itr-homepage-active .itr-hero__intro { padding-top: 16px; }
body.itr-homepage-active .itr-hero h1 { font-size: clamp(46px, 3.7vw, 64px); line-height: 1.02; }
body.itr-homepage-active .itr-hero__dek { margin: 20px 0; font-size: 16px; line-height: 1.55; }
body.itr-homepage-active .itr-feature-card__media { height: 230px; }
body.itr-homepage-active .itr-feature-card h2 { font-size: 26px; }
body.itr-homepage-active .itr-coverage-card .itr-meta, body.itr-homepage-active .itr-analysis-card .itr-meta { color: #58605e; }
body.itr-homepage-active .itr-disclosure-fallback li { padding-block: 10px; }
body.itr-homepage-active .itr-disclosure-fallback li:nth-child(n+5) { display: none; }
body.itr-publication-active .itr-archive-masthead { max-width: none; padding: 18px 0; }
body.itr-publication-active .itr-archive-masthead h1 { font-size: clamp(34px, 4vw, 54px); line-height: 1.05; }
body.itr-publication-active .itr-archive-masthead__intro { max-width: 850px; margin-top: 12px; font-size: 16px; }
body.itr-publication-active .itr-publication .itr-filter-link.is-active { color: #fff; background: #111516; }
body.itr-publication-active .itr-archive-filters { padding: 16px 0; white-space: normal; overflow: visible; }
body.itr-publication-active .itr-archive-filters__row { flex-wrap: wrap; width: auto; }
.itr-discovery-form { display: grid; grid-template-columns: 2fr 1.3fr 1fr 1fr 1.1fr; gap: 12px; padding: 20px; margin: 0 0 8px; background: #fff; border: 1px solid #d6d9d7; }
.itr-discovery-form label { min-width: 0; display: flex; flex-direction: column; gap: 6px; font: 600 12px/1.4 var(--itr-sans); color: #313637; }
.itr-discovery-form input, .itr-discovery-form select { width: 100%; min-width: 0; min-height: 44px; padding: 9px; border: 1px solid #8c9391; background: #fff; color: #111516; font: 400 14px/1.4 var(--itr-sans); border-radius: 0; }
.itr-discovery-form__actions { grid-column: 1/-1; display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.itr-discovery-form button { min-height: 44px; padding: 10px 20px; border: 0; background: #111516; color: #fff; font-weight: 700; cursor: pointer; }
.itr-discovery-form__actions a { text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; }
body.itr-publication-active .itr-archive-card--lead { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 26px; padding: 24px 0; }
body.itr-publication-active .itr-archive-card--lead .itr-archive-card__media { min-height: 0; height: 250px; }
body.itr-publication-active .itr-archive-card--lead h2 { font-size: clamp(28px, 2.6vw, 38px); }
body.itr-publication-active .itr-archive-card--lead .itr-archive-card__body { align-self: center; }
.itr-editorial-identity { display: grid; grid-template-columns: 1.6fr 1fr; gap: 44px; border-top: 1px solid #aeb2b1; padding-top: 28px; }
.itr-editorial-identity__author { display: flex; gap: 22px; }
.itr-editorial-identity__author > img { width: 82px; height: 82px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
body.itr-homepage-active .itr-editorial-identity h2 { font-size: 24px; }
body.itr-homepage-active .itr-editorial-identity .itr-text-link { margin-top: 14px; min-height: 44px; }
.itr-chart-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.itr-chart-tabs button { min-height: 44px; padding: 8px 14px; border: 1px solid #7c8383; background: #fff; color: #161a1b; cursor: pointer; font: 600 13px var(--itr-sans); }
.itr-chart-tabs button[aria-pressed="true"] { background: #111516; color: #fff; border-color: #111516; }
.itr-chart-summary { color: #505859; font-size: 12px; line-height: 1.6; }
.itr-market-status--loading .itr-market-status__dot { background: #a7b1b4; box-shadow: none; }
.itr-market-status--partial .itr-market-status__dot { background: #d6a84b; box-shadow: 0 0 0 4px rgba(214,168,75,.13); }
.itr-market-retry { min-height: 44px; padding: 10px 16px; margin-top: 6px; border: 1px solid #757e80; border-radius: 3px; background: #fff; color: #111516; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.itr-market-retry:hover { background: #edf0ef; }
.itr-chart__frame canvas[hidden] { display: none; }
.itr-chart__frame:has(canvas[hidden]) { min-height: 240px; }
@media (max-width: 1250px) and (min-width: 961px) {
 body.itr-homepage-active .itr-hero__grid { grid-template-columns: 1fr 1.1fr; }
 body.itr-homepage-active .itr-disclosures { grid-column: 1/-1; }
 body.itr-homepage-active .itr-hero__intro { grid-row: auto; }
 body.itr-homepage-active .itr-disclosure-fallback { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 960px) {
 .itr-discovery-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .itr-discovery-form__search { grid-column: 1/-1; }
 .itr-editorial-identity { gap: 24px; }
}
@media (max-width: 680px) {
 .itr-toolkit { padding: 30px 0; }
 .itr-toolkit__grid { grid-template-columns: 1fr; gap: 24px; }
 .itr-toolkit__art { order: 2; }
 body.itr-homepage-active .itr-hero { padding: 24px 0; }
 body.itr-homepage-active .itr-hero h1 { font-size: clamp(42px, 11.5vw, 54px); }
 body.itr-homepage-active .itr-feature-card__media { height: 170px; }
 body.itr-homepage-active .itr-feature-card h2 { font-size: 24px; }
 body.itr-publication-active .itr-archive-card--lead { grid-template-columns: 1fr; gap: 0; }
 body.itr-publication-active .itr-archive-card--lead .itr-archive-card__media { height: auto; aspect-ratio: 16/9; }
 body.itr-publication-active .itr-archive-card--lead h2 { font-size: 29px; }
 .itr-discovery-form { padding: 14px; gap: 12px; }
 .itr-editorial-identity { grid-template-columns: 1fr; }
 .itr-editorial-identity__author { gap: 14px; }
 .itr-editorial-identity__author > img { width: 58px; height: 58px; }
}
