/* Additive presentation for CIN's existing generated public pages.
   All data, source notes, table columns, forms and filtering hooks are retained. */
html.cin-family :is(.state-main, .states-main, .hub-wrap, .cb-wrap, .ag-wrap) {
  max-width: 1200px;
  width: 100%;
  margin-inline: auto;
  padding: 30px 0 55px;
  color: var(--cin-text, #f3f8fc);
  font-family: Arial, Helvetica, sans-serif;
}
html.cin-family :is(.state-hero, .states-hero, .cov-hero, .ag-hero) {
  max-width: 1200px;
  margin: 0 auto 24px;
  padding: 24px 0 28px;
  border-color: var(--cin-line, #8eb4cd29);
  background: transparent;
}
html.cin-family :is(.state-h1, .states-h1, .cov-hero h1, .hub-wrap h1, .ag-hero h1, .cb-wrap h1) {
  font: 700 clamp(34px, 3.8vw, 50px)/1.14 Arial, Helvetica, sans-serif !important;
  letter-spacing: -.035em;
  color: var(--cin-text, #f3f8fc) !important;
  margin: 10px 0 20px;
  overflow-wrap: break-word;
}
html.cin-family :is(.state-eyebrow, .states-eyebrow, .ag-eyebrow) {
  font: 700 11px/1.6 Arial, Helvetica, sans-serif;
  letter-spacing: .13em;
  color: #95c8d8;
}
html.cin-family :is(.state-lede, .states-lede, .cov-hero p.lede, .hub-wrap .lede, .ag-lede, .cb-wrap p.lede) {
  font: 400 18px/1.75 Arial, Helvetica, sans-serif;
  max-width: 870px;
  color: var(--cin-muted, #abc1cf);
}
html.cin-family :is(.state-meta, .src-note, .byline-desc, .cov-updated, .hub-meta, .ag-foot, .breadcrumb, .ag-crumb) {
  font: 400 13px/1.7 Arial, Helvetica, sans-serif;
  color: #9bb9cb;
}
html.cin-family :is(.state-meta a, .src-note a, .fact-src, .hub-link, .cov-methodology a, .ag-foot a) { color: #78dedc; }
html.cin-family :is(.fact-grid, .ag-stats) { gap: 18px; margin-block: 30px; }
html.cin-family .fact-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
html.cin-family :is(.fact-card, .ag-stat, .ag-panel, .ag-cta, .hub-cta, .cb-latest) {
  min-width: 0;
  border: 1px solid #83b0c83d;
  border-radius: 17px;
  padding: 25px;
  background: radial-gradient(ellipse at 0 0, #67a9ff16, transparent 75%), linear-gradient(135deg, #16394dc9, #092633ed);
  box-shadow: inset 0 1px #e7f6ff0c, 0 18px 44px -34px #000a;
  transition: border-color .25s, box-shadow .25s;
}
html.cin-family :is(.fact-card, .ag-stat, .ag-panel, .hub-cta, .cb-latest):hover {
  border-color: #6eddd275;
  box-shadow: inset 0 1px #e7f6ff16, 0 12px 40px -28px #00e5dd66;
}
html.cin-family :is(.fact-label, .ag-stat span, .cov-stat span) {
  font: 600 12px/1.6 Arial, Helvetica, sans-serif;
  color: #a8c5d6;
  letter-spacing: .04em;
}
html.cin-family .fact-value { font: 700 clamp(25px, 2.3vw, 32px)/1.35 Arial, Helvetica, sans-serif; color: #edf8fc; margin-block: 10px; overflow-wrap: break-word; }
html.cin-family .fact-sub { font: 400 13px/1.65 Arial, Helvetica, sans-serif; color: #a4bfd0; flex-wrap: wrap; }
html.cin-family .fact-src { min-height: 26px; }
html.cin-family :is(.state-context, .cov-region-intro, .cov-methodology, .hub-wrap section, .hub-faq, .ag-panel-body, .ag-dl, .cb-wrap) {
  font-family: Arial, Helvetica, sans-serif;
  color: #bfd3e0;
  font-size: 17px;
  line-height: 1.8;
}
html.cin-family :is(.section-h2, .cov-region h2, .cov-methodology h2, .cov-hub-faq h2, .hub-wrap h2, .cb-wrap h2, .ag-section h2) {
  font: 700 27px/1.3 Arial, Helvetica, sans-serif !important;
  color: #eef7fc !important;
  letter-spacing: -.025em;
  margin-top: 30px;
  margin-bottom: 18px;
}
html.cin-family :is(.hub-wrap h3, .cov-region-intro h3, .ag-cta-title, .ag-panel-head) {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 21px !important;
  line-height: 1.4;
  color: #e9f5fc !important;
}
html.cin-family :is(.byline-block, .state-context, .cov-methodology, .cov-hub-faq, .cov-category-guide) { border-color: #85abc630; }
html.cin-family .byline-block { background: #0c2a3a; border-radius: 12px; padding: 20px; }
html.cin-family .byline-name { font-size: 15px; color: #edf7fc; }
html.cin-family .nearby-states { border-color: var(--cin-line, #8eb4cd29); }
html.cin-family :is(.nearby-states a, .cov-nav-inner a, .hub-cross a) { min-height: 42px; padding: 10px 14px; font: 600 14px/1.5 Arial, Helvetica, sans-serif; color: #bcdae5; border: 1px solid #7aa9c23d; border-radius: 8px; background: #0b2c3e; }
html.cin-family :is(.nearby-states a, .cov-nav-inner a, .hub-cross a):hover { color: #9ffff0; border-color: #00e5dd85; box-shadow: 0 0 22px -12px #00e5dd88; }

/* Coverage and hub data remain complete; small screens scroll, rather than
   removing exchange/category fields inherited from older layouts. */
html.cin-family :is(.cov-region, .cov-filter, .cov-methodology, .cov-hub-faq) { padding-inline: 0; }
html.cin-family .cov-nav { background: #082838; border-block-color: #89b4c72e; }
html.cin-family .cov-nav-inner { gap: 8px; padding-block: 12px; }
html.cin-family .cov-stats { gap: 24px 36px; margin-top: 26px; }
html.cin-family .cov-stat b { font: 700 31px/1.2 Arial, Helvetica, sans-serif; color: #eff8fc; }
html.cin-family .cov-count { font-family: Arial, Helvetica, sans-serif; color: #9cbfd2; }
html.cin-family :is(.cov-table-wrap, .ag-table-wrap) { border-color: #7da9c43b; border-radius: 14px; background: #082838; overflow-x: auto; }
html.cin-family :is(.states-table, .data-table, .cov-table, .ag-table) { font-family: Arial, Helvetica, sans-serif; color: #c5dce9; font-size: 15px; border-color: #84b5cc30; }
html.cin-family :is(.states-table, .data-table, .cov-table, .ag-table) :is(th, td) { border-color: #82aec323; padding: 14px 16px; }
html.cin-family :is(.states-table, .data-table, .cov-table, .ag-table) th { background: #14374b; font: 600 12px/1.5 Arial, Helvetica, sans-serif; color: #a9c9da; letter-spacing: .04em; }
html.cin-family :is(.states-table, .data-table, .cov-table, .ag-table) td { color: #c8dbe8; }
html.cin-family :is(.states-table, .data-table, .cov-table, .ag-table) tbody tr:hover { background: #19405070; }
html.cin-family :is(.states-table a, .cov-sym a, .ag-table a) { color: #78e8df; }
html.cin-family :is(.cov-exch, .cov-cat) { color: #a0bdcf; font-size: 13px; }
html.cin-family .cov-name { color: #e1edf6; max-width: 340px; }
html.cin-family :is(.cov-badge, .ag-badge) { border-radius: 5px; padding: 4px 8px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; }
html.cin-family :is(.cov-filter input, .ag-filter input, .ag-filter select) { min-width: 0; min-height: 46px; color: #f2f7fc; border: 1px solid #8bb4ca45; border-radius: 8px; background: #052333; font: 400 16px/1.4 Arial, Helvetica, sans-serif; }
html.cin-family :is(.cov-filter-count, .ag-filter-count) { font-size: 13px; color: #a2bfd0; }
html.cin-family .cov-table :is(.cov-exch, .cov-cat) { display: table-cell; }
html.cin-family .cov-table thead th:nth-child(3), html.cin-family .cov-table thead th:nth-child(4) { display: table-cell; }
html.cin-family :is(.hub-wrap .btn, .cb-wrap .btn, .ag-btn) { min-height: 44px; padding: 12px 18px; border-radius: 8px; font: 700 14px/1.4 Arial, Helvetica, sans-serif; letter-spacing: 0; }
html.cin-family :is(.hub-wrap .btn, .cb-wrap .btn, .ag-btn.primary) { background: linear-gradient(110deg, #00e5d5, #00d6e4); border-color: #62fff078; color: #002533; }
html.cin-family :is(.ag-field input, .ag-field select, .ag-field textarea) { background: #062635; border-color: #85b5c34d; border-radius: 8px; color: #f3f8fc; font: 400 16px/1.5 Arial, Helvetica, sans-serif; }
html.cin-family .ag-field label { font: 600 14px/1.5 Arial, Helvetica, sans-serif; color: #d3e4ef; }
html.cin-family .ag-field .hint { font-size: 13px; line-height: 1.65; color: #9dbed1; }
html.cin-family .ag-dl dt { color: #9dbcd0; font-size: 13px; }
html.cin-family .ag-dl dd { color: #deedf6; overflow-wrap: anywhere; }
html.cin-family .ag-muted { color: #99b4c5; }

/* The source/methodology renderer uses inline presentation and no custom
   classes; route scoping prevents its corrections affecting other templates. */
html.cin-family body[data-cin-page="data-sources"] #main-content,
html.cin-family body[data-cin-page="methodology-data-sources"] #main-content { max-width: 1100px !important; padding-inline: 0 !important; }
html.cin-family body[data-cin-page*="sources"] #main-content :is(h1,h2,h3,p) { font-family: Arial, Helvetica, sans-serif !important; }
html.cin-family body[data-cin-page*="sources"] #main-content h1 { font-size: clamp(34px, 3.8vw, 50px) !important; line-height: 1.15 !important; color: #f3f8fc !important; }
html.cin-family body[data-cin-page*="sources"] #main-content p { font-size: 17px !important; line-height: 1.75 !important; color: #bad0df !important; }
html.cin-family body[data-cin-page*="sources"] #main-content article { background: linear-gradient(135deg,#15394c,#0a2939) !important; border: 1px solid #82b2cb3d !important; border-radius: 16px !important; padding: 25px !important; }
html.cin-family body[data-cin-page*="sources"] #main-content article h3 { color: #eaf6fc !important; font-size: 22px !important; }
html.cin-family body[data-cin-page*="sources"] #main-content a { color: #78e8df !important; }

@media (max-width: 720px) {
  html.cin-family :is(.state-main, .states-main, .hub-wrap, .cb-wrap, .ag-wrap) { padding-top: 20px; }
  html.cin-family :is(.state-hero, .states-hero, .cov-hero, .ag-hero) { padding-block: 18px 24px; }
  html.cin-family :is(.state-lede, .states-lede, .cov-hero p.lede, .hub-wrap .lede, .ag-lede, .cb-wrap p.lede) { font-size: 17px; }
  html.cin-family :is(.fact-card, .ag-stat, .ag-panel, .ag-cta, .hub-cta, .cb-latest) { padding: 22px; border-radius: 15px; }
  html.cin-family :is(.ag-grid-2, .ag-form-grid-2) { grid-template-columns: 1fr; }
  html.cin-family .ag-stats { flex-wrap: wrap; }
  html.cin-family :is(.states-table, .data-table) { display: block; width: 100%; max-width: 100%; overflow-x: auto; }
  html.cin-family :is(.states-table, .data-table, .cov-table, .ag-table) :is(th,td) { min-width: 110px; padding: 13px 14px; font-size: 14px; }
  html.cin-family .cov-name { max-width: 230px; }
  html.cin-family .cov-nav-inner { flex-wrap: wrap; }
  html.cin-family :is(.ag-filter, .cov-filter) { flex-wrap: wrap; }
  html.cin-family :is(.ag-filter input, .cov-filter input) { width: 100%; flex-basis: 100%; }
  html.cin-family .byline-block { align-items: flex-start; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html.cin-family :is(.fact-card, .ag-stat, .ag-panel, .hub-cta, .cb-latest) { transition: none; }
}

/* The compact generated pages retain their complete data on mobile. */
html.cin-family :is(.fact-card, .ag-stat, .ag-panel, .ag-cta, .hub-cta, .cb-latest):focus-within { border-color:#6eddd275; box-shadow:inset 0 1px #e7f6ff16,0 12px 40px -28px #00e5dd66; }
html.cin-family :is(.nearby-states a, .cov-nav-inner a, .hub-cross a):focus-visible { color:#9ffff0; border-color:#00e5dd85; box-shadow:0 0 22px -12px #00e5dd88; }
html.cin-family :is(.fact-sub, .ag-foot, .ag-dl dt, .ag-field .hint) { font-size:14px; }
html.cin-family .ag-dl { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); }
html.cin-family .ag-dl :is(dt,dd) { min-width:0; overflow-wrap:anywhere; }
html.cin-family :is(.ag-table-wrap, .cov-table-wrap) { overscroll-behavior-inline:contain; scrollbar-width:thin; }
html.cin-family :is(.ag-radio, .nearby-states a, .cov-nav-inner a, .hub-cross a) { min-height:44px; }
@media(max-width:720px) {
  html.cin-family .ag-table :is(th,td):nth-child(2) { display:table-cell; }
  html.cin-family .ag-dl { grid-template-columns:minmax(0,1fr); gap:6px; }
  html.cin-family .ag-dl dd { margin:0 0 14px; }
  html.cin-family .ag-stats>* { min-width:0; }
  html.cin-family .ag-cta { flex-wrap:wrap; gap:18px; }
}
