/* Account, support and reference pages in the shared CIN / CanIDeal family.
   Presentation only: native fields, IDs, form handlers and data tables remain. */
html.cin-family {
  --cin-reference-surface: linear-gradient(145deg, rgba(19, 60, 77, .84), rgba(3, 31, 47, .96) 70%);
  --cin-reference-border: rgba(111, 197, 213, .22);
  --cin-reference-shadow: 0 16px 46px rgba(0, 8, 18, .2), inset 0 1px rgba(222, 252, 255, .045);
}

html.cin-family :is(.page-header, .ref-hero, .glossary-hero, .cov-hero) {
  position: relative;
  padding-block: clamp(28px, 4vw, 58px);
  background: transparent;
  border-bottom: 1px solid var(--cin-line, rgba(99, 167, 190, .2));
}
html.cin-family :is(.page-header, .ref-hero, .glossary-hero, .cov-hero)::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: min(210px, 38%);
  height: 1px;
  background: linear-gradient(90deg, var(--cin-cyan, #00e1e5), transparent);
  box-shadow: 0 0 14px rgba(0, 221, 229, .18);
  pointer-events: none;
}
html.cin-family :is(.page-title, .ref-h1, .glossary-hero h1, .term-title, .cov-hero h1) {
  color: var(--cin-text, #f7fbff);
  font-family: inherit;
  font-size: clamp(32px, 4.2vw, 56px);
  font-weight: 750;
  line-height: 1.12;
  letter-spacing: -.035em;
  text-wrap: balance;
  margin: 0 0 18px;
}
html.cin-family :is(.page-subtitle, .ref-subtitle, .glossary-hero > p, .cov-hero .lede, .term-short) {
  color: var(--cin-muted, #b0c6d3);
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.65;
  max-width: 75ch;
  margin-block: 0 10px;
}
html.cin-family :is(.ref-kicker, .ref-cite-label, .term-category, .glossary-count, .sx-eyebrow, .signup-hero-eyebrow, .signup-card-eyebrow) {
  color: var(--cin-cyan, #00e1e5);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .14em;
  line-height: 1.6;
  text-transform: uppercase;
}
html.cin-family :is(.ref-meta, .cov-updated, .term-breadcrumb) {
  color: var(--cin-muted, #b0c6d3);
  font-size: 14px;
  line-height: 1.7;
}
html.cin-family :is(.methodology-content, .term-wrap) {
  max-width: 1050px;
  margin-inline: auto;
}
html.cin-family :is(.content-section, .glossary-wrap, .term-wrap, .cov-sections) {
  padding-block: clamp(26px, 4vw, 48px);
}
html.cin-family :is(.methodology-content, .term-wrap, .content-section) :is(p, li) {
  color: var(--cin-muted, #b0c6d3);
  font-size: 16px;
  line-height: 1.8;
}
html.cin-family :is(.methodology-content, .term-wrap, .content-section) :is(strong, b) {
  color: var(--cin-text, #f7fbff);
}
html.cin-family :is(.methodology-section-heading, .content-section h2, .term-section h2, .glossary-category h2, .cov-region h2) {
  color: var(--cin-text, #f7fbff);
  font-family: inherit;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 720;
  letter-spacing: -.025em;
  line-height: 1.3;
  margin-block: 34px 18px;
}

/* Quiet dimensional surfaces, with a restrained shared accent on hover. */
html.cin-family :is(.data-pillar, .principle-card, .contact-form-panel, .contact-sidebar-card,
  .response-card, .ref-stat, .ref-cite, .ref-lanes, .cov-stat, .cov-methodology,
  .glossary-card, .term-section, .term-cta, .benefit-group, .signup-card,
  .signup-quote, .sx-card, .signup-proof-band, .signup-faq .faq-item, .lite-form) {
  border: 1px solid var(--cin-reference-border);
  border-radius: 18px;
  background: var(--cin-reference-surface);
  box-shadow: var(--cin-reference-shadow);
  transition: border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}
html.cin-family :is(.data-pillar, .principle-card, .contact-form-panel, .contact-sidebar-card,
  .response-card, .ref-cite, .cov-methodology, .term-section, .term-cta, .signup-card) {
  padding: clamp(22px, 3vw, 34px);
}
html.cin-family :is(.data-pillar, .principle-card, .contact-form-panel, .contact-sidebar-card,
  .response-card, .ref-stat, .ref-cite, .cov-stat, .glossary-card, .benefit-group,
  .signup-card, .sx-card):is(:hover, :focus-within) {
  border-color: rgba(0, 225, 229, .48);
  box-shadow: 0 14px 38px rgba(0, 5, 15, .23), 0 0 26px rgba(0, 225, 229, .07), inset 0 1px rgba(220, 255, 255, .07);
}
html.cin-family :is(.data-pillar-title, .principle-card h3, .contact-sidebar-card h3, .response-card-title,
  .ref-cite h3, .glossary-card-term, .benefit-group-title, .sx-card-head h3) {
  color: var(--cin-text, #f7fbff);
  font-family: inherit;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
}
html.cin-family :is(.data-pillar-body, .principle-card p, .contact-channel-note, .glossary-card-short,
  .signup-card-sub, .signup-hero-sub, .signup-quote-text, .benefit-item, .sx-sub) {
  color: var(--cin-muted, #b0c6d3);
  font-size: 16px;
  line-height: 1.75;
}
html.cin-family :is(.data-pillar-icon, .benefit-group-icon, .contact-channel-icon) {
  color: var(--cin-cyan, #00e1e5);
  background: rgba(0, 225, 229, .08);
  border-color: rgba(0, 225, 229, .18);
  border-radius: 12px;
}
html.cin-family :is(.standards-list, .benefit-list) { row-gap: 14px; }
html.cin-family :is(.data-pillar, .principle-card, .term-section) + :is(.data-pillar, .principle-card, .term-section) {
  margin-top: 20px;
}

/* Readable, unchanged native account and support controls. */
html.cin-family :is(.signup-field label, .form-group label, .lite-form label) {
  display: block;
  color: var(--cin-text, #f7fbff);
  font-size: 15px;
  font-weight: 650;
  margin-bottom: 9px;
}
html.cin-family :is(.signup-input, .form-input, .form-select, .form-textarea, .lite-email,
  .ref-search, .ref-select, .glossary-search, .cov-filter input, .cov-filter select) {
  min-height: 48px;
  max-width: 100%;
  padding: 13px 15px;
  border: 1px solid rgba(130, 181, 200, .34);
  border-radius: 10px;
  background: rgba(1, 19, 33, .84);
  color: var(--cin-text, #f7fbff);
  font: inherit;
  font-size: 16px;
  line-height: 1.4;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .16);
  transition: border-color .18s ease, box-shadow .18s ease;
}
html.cin-family :is(.signup-input, .form-input, .form-select, .form-textarea, .lite-email,
  .ref-search, .ref-select, .glossary-search, .cov-filter input, .cov-filter select):focus {
  border-color: var(--cin-cyan, #00e1e5);
  outline: 2px solid transparent;
  box-shadow: 0 0 0 3px rgba(0, 225, 229, .14), 0 0 20px rgba(0, 225, 229, .06);
}
html.cin-family :is(.signup-input, .form-input, .form-textarea, .lite-email, .ref-search, .glossary-search)::placeholder {
  color: #91acbc;
  opacity: 1;
}
html.cin-family :is(.form-select, .ref-select, .cov-filter select) option {
  background: var(--cin-navy, #001e2d);
  color: var(--cin-text, #f7fbff);
}
html.cin-family :is(.signup-submit, .form-submit-btn, .lite-cta, .ref-btn:not(.ref-btn-secondary),
  .sx-btn-primary, .signup-sticky-cta .sticky-btn, .signup-final-cta .signup-submit) {
  min-height: 48px;
  padding: 13px 22px;
  border: 1px solid rgba(93, 252, 255, .5);
  border-radius: 10px;
  background: linear-gradient(115deg, #00dde3, #59f0e5);
  color: #00222e;
  font-family: inherit;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.4;
  text-decoration: none;
  box-shadow: 0 7px 22px rgba(0, 225, 229, .12);
  transition: box-shadow .2s ease, filter .2s ease;
}
html.cin-family :is(.signup-submit, .form-submit-btn, .lite-cta, .ref-btn, .sx-btn-primary,
  .signup-sticky-cta .sticky-btn):not(:disabled):hover {
  filter: brightness(1.06);
  box-shadow: 0 8px 28px rgba(0, 225, 229, .25);
}
html.cin-family :is(.ref-btn-secondary, .sx-btn-ghost, .lite-cta-secondary) {
  min-height: 46px;
  padding: 12px 18px;
  border: 1px solid rgba(0, 225, 229, .35);
  border-radius: 10px;
  background: rgba(0, 225, 229, .045);
  color: var(--cin-cyan, #00e1e5);
}
html.cin-family :is(.signup-google, .lite-google, .signup-sticky-cta .sticky-google) {
  min-height: 48px;
  border-radius: 10px;
  font-size: 16px;
}
html.cin-family :is(.signup-submit, .form-submit-btn, .lite-cta):disabled { opacity: .65; cursor: wait; }
html.cin-family :is(.field-error, .signup-status.is-error, .form-status.error) { color: #ffabb6; }
html.cin-family :is(.signup-input, .form-input, .form-select, .form-textarea).is-invalid {
  border-color: #ff849b;
  box-shadow: 0 0 0 2px rgba(255, 96, 133, .1);
}
html.cin-family :is(.signup-fineprint, .signup-cta-meta, .signup-final-cta-meta, .contact-channel-note) {
  color: var(--cin-muted, #b0c6d3);
  font-size: 14px;
  line-height: 1.7;
}
html.cin-family :is(.contact-layout, .signup-grid) { gap: clamp(24px, 4vw, 48px); }
html.cin-family :is(.signup-card-title, .lite-h1, .signup-hero-title, .sx-h1) {
  font-family: inherit;
  color: var(--cin-text, #f7fbff);
  letter-spacing: -.035em;
  text-wrap: balance;
}
html.cin-family :is(.signup-hero-title, .sx-h1) { font-size: clamp(34px, 4.2vw, 56px); line-height: 1.13; }
html.cin-family .signup-card-title { font-size: 30px; }
html.cin-family :is(.signup-hero-title .accent, .sx-accent, .signup-trust-item .num, .sx-cov-num) {
  color: var(--cin-cyan, #00e1e5);
}
html.cin-family :is(.signup-trust-pill, .sx-pill, .lite-pill, .signup-free-banner) {
  border-color: rgba(0, 225, 229, .24);
  background: rgba(0, 225, 229, .06);
  color: var(--cin-text, #f7fbff);
}
html.cin-family .signup-sticky-cta {
  background: rgba(3, 30, 46, .96);
  border-color: rgba(0, 225, 229, .3);
  box-shadow: 0 10px 36px rgba(0, 0, 0, .4);
}

/* Reference coverage stays a usable table rather than tiny mobile type. */
html.cin-family :is(.ref-stats, .cov-stats, .stat-row) { gap: 16px; }
html.cin-family :is(.ref-stat, .cov-stat, .stat-item) { padding: 24px; }
html.cin-family :is(.ref-stat-value, .cov-stat b, .stat-value) {
  color: var(--cin-cyan, #00e1e5);
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.1;
  letter-spacing: -.035em;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
html.cin-family :is(.ref-stat-label, .cov-stat span, .stat-label) {
  color: var(--cin-muted, #b0c6d3);
  font-size: 13px;
  letter-spacing: .055em;
  line-height: 1.6;
}
html.cin-family :is(.ref-table-wrap, .cov-table-wrap) {
  overflow-x: auto;
  border: 1px solid var(--cin-reference-border);
  border-radius: 16px;
  background: rgba(3, 29, 44, .84);
  box-shadow: var(--cin-reference-shadow);
  overscroll-behavior-inline: contain;
}
html.cin-family :is(.ref-table, .cov-table) { font-size: 15px; }
html.cin-family :is(.ref-table, .cov-table) :is(th, td) { padding: 15px 17px; border-color: var(--cin-line, rgba(99, 167, 190, .2)); }
html.cin-family :is(.ref-table, .cov-table) th {
  background: #082d40;
  color: #bdd2df;
  font-size: 12px;
  letter-spacing: .07em;
  line-height: 1.5;
}
html.cin-family :is(.ref-table, .cov-table) tbody tr:hover td { background: rgba(0, 225, 229, .055); }
html.cin-family :is(.ref-ticker, .cov-sym a) { color: var(--cin-cyan, #00e1e5); font-weight: 700; }
html.cin-family :is(.ref-table-footer, .ref-cite code) {
  background: rgba(1, 20, 34, .65);
  color: var(--cin-muted, #b0c6d3);
  border-color: var(--cin-line, rgba(99, 167, 190, .2));
  font-size: 14px;
  line-height: 1.7;
}
html.cin-family .ref-cite code { white-space: pre-wrap; overflow-wrap: anywhere; }
html.cin-family .cov-nav a {
  color: var(--cin-muted, #b0c6d3);
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 15px;
}
html.cin-family .cov-nav a:hover {
  color: var(--cin-cyan, #00e1e5);
  border-color: rgba(0, 225, 229, .28);
  background: rgba(0, 225, 229, .06);
}
html.cin-family .glossary-card { padding: 24px; text-decoration: none; }
html.cin-family .glossary-card:hover .glossary-card-term { color: var(--cin-cyan, #00e1e5); }
html.cin-family .term-cta a { color: var(--cin-cyan, #00e1e5); font-weight: 700; }

@media (max-width: 980px) {
  html.cin-family .signup-card-wrap { position: static; }
  html.cin-family :is(.signup-grid, .contact-layout) { grid-template-columns: minmax(0, 1fr); }
  html.cin-family :is(.signup-grid > *, .contact-layout > *, .sx-hero > *) { min-width: 0; }
  html.cin-family :is(.ref-stats, .cov-stats) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  html.cin-family :is(.page-header, .ref-hero, .glossary-hero, .cov-hero) { padding-block: 30px; }
  html.cin-family :is(.page-title, .ref-h1, .glossary-hero h1, .term-title, .cov-hero h1) { font-size: 34px; }
  html.cin-family :is(.page-subtitle, .ref-subtitle, .glossary-hero > p, .cov-hero .lede, .term-short) { font-size: 17px; }
  html.cin-family :is(.data-pillar, .principle-card, .contact-form-panel, .contact-sidebar-card,
    .response-card, .ref-cite, .cov-methodology, .term-section, .term-cta, .signup-card) { padding: 22px; border-radius: 15px; }
  html.cin-family :is(.ref-controls, .cov-filter) { gap: 10px; }
  html.cin-family :is(.ref-search, .ref-select, .cov-filter input, .cov-filter select) { min-width: 0; width: 100%; }
  html.cin-family :is(.ref-table, .cov-table) { min-width: 640px; }
  html.cin-family :is(.principles-grid, .signup-perks, .sx-two, .sx-three) { grid-template-columns: minmax(0, 1fr); }
  html.cin-family :is(.ref-stat, .cov-stat, .stat-item) { padding: 20px 16px; }
  html.cin-family :is(.contact-channel-value, .contact-channel-value a, .term-wrap p, .methodology-content p) { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html.cin-family :is(.data-pillar, .principle-card, .contact-form-panel, .contact-sidebar-card,
    .ref-stat, .cov-stat, .glossary-card, .benefit-group, .signup-card, .sx-card,
    .signup-input, .form-input, .form-select, .form-textarea, .signup-submit, .form-submit-btn) { transition: none; }
}

/* A single scroll surface keeps the full reference table and its sticky
   headers reachable together, including the columns on narrow screens. */
html.cin-family .ref-table-wrap { overflow:hidden; }
html.cin-family .ref-table-scroll { max-width:100%; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#3b7486 #082838; }
html.cin-family .ref-table th { white-space:normal; min-width:100px; }
html.cin-family :is(.methodology-content, .term-wrap, .content-section) :is(p,li) { font-size:17px; overflow-wrap:break-word; }
html.cin-family :is(.methodology-content, .content-section) :is(p,li) { max-width:80ch; }
html.cin-family :is(.ref-table-footer, .ref-meta, .cov-updated, .term-breadcrumb, .signup-fineprint) { overflow-wrap:anywhere; }
html.cin-family :is(.glossary-card, .term-cta, .response-card, .signup-quote, .signup-proof-band):focus-within { border-color:#00e5dd70; box-shadow:0 14px 38px #000b,0 0 24px #00e5dd0b; }
html.cin-family :is(.cov-nav a, .ref-btn, .ref-btn-secondary, .sx-btn-ghost, .lite-cta-secondary) { min-height:44px; }
html.cin-family :is(.cov-nav a, .ref-btn-secondary, .sx-btn-ghost, .lite-cta-secondary):focus-visible { color:#b3fff3; border-color:#00e5dd80; background:#00e5dd0b; }
html.cin-family .glossary-card:focus-within .glossary-card-term { color:var(--cin-cyan); }
html.cin-family :is(.signup-field, .form-group, .lite-form) :is(input,textarea,select) { min-width:0; }
@media(max-width:640px) {
  html.cin-family :is(.ref-controls, .cov-filter) { flex-wrap:wrap; }
  html.cin-family :is(.ref-stats, .cov-stats)>* { min-width:0; }
  html.cin-family :is(.ref-table-wrap, .cov-table-wrap) { max-width:100%; }
  html.cin-family :is(.methodology-content, .content-section) :is(p,li) { max-width:none; }
}
/* The public directory uses native GET filters rather than a bulk-data client. */
html.cin-family .cin-reference-public .cin-research-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; }
html.cin-family .cin-reference-public .cin-research-filters>div { flex:1 1 180px; min-width:0; }
html.cin-family .cin-reference-public .cin-research-filters>div:first-child { flex:2 1 240px; }
html.cin-family .cin-reference-public .cin-research-filters :is(input,select) { width:100%; box-sizing:border-box; }
html.cin-family .cin-reference-public .cin-research-filters>a { display:flex; align-items:center; min-height:46px; color:#8ee8df; }
@media (max-width:640px) {
  html.cin-family .cin-reference-public .cin-research-filters>div,
  html.cin-family .cin-reference-public .cin-research-filters>button,
  html.cin-family .cin-reference-public .cin-research-filters>a { flex:1 1 100%; width:100%; }
}
