/* The ICA Difference — page styles. All rules scoped under .icad
   Site tokens are read with live-value fallbacks so the file also works standalone. */

.icad {
  --icad-ink: var(--bs-heading-color-hex, #1e2d3b);
  --icad-body: #212124;
  --icad-muted: #495356;
  --icad-blue: var(--bs-primary-hex, #0072bc);
  --icad-blue-hover: #0086dd;
  --icad-sky: #80b7e3;
  --icad-sky-soft: #d8ecf9;
  --icad-tint: var(--bs-light-hex, #f2f8fc);
  --icad-line: var(--bs-secondary-border-hex, #e7e7e7);
  --icad-line-soft: #dce3e8;
  --icad-green: #4f9c2e;
  --icad-green-light: #9fd086;
  --icad-yellow: #ffd240;
  --icad-r: var(--bs-border-radius, 10px);
  font-family: 'Nunito Sans', system-ui, -apple-system, sans-serif;
  color: var(--icad-body);
  background: var(--icad-tint);
  -webkit-font-smoothing: antialiased;
}
.icad *, .icad *::before, .icad *::after { box-sizing: border-box; }
.icad a, .icad button { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }

.icad-wrap { max-width: 1180px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.icad-wrap--narrow { max-width: 908px; }

/* Type */
.icad-h1 { font-family: 'Catamaran', sans-serif; font-weight: 800; font-size: clamp(34px, 5.2vw, 60px); line-height: 1.04; letter-spacing: -.02em; margin: 0 0 18px; max-width: 22ch; text-wrap: balance; }
.icad-h2 { font-family: 'Catamaran', sans-serif; font-weight: 800; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.1; letter-spacing: -.015em; margin: 0 0 12px; text-wrap: balance; }
.icad-h2--sm { font-size: clamp(24px, 2.8vw, 32px); line-height: 1.15; max-width: 24ch; }
.icad-two .icad-h2 { max-width: 22ch; margin-bottom: 16px; }
.icad-h3 { font-family: 'Catamaran', sans-serif; font-weight: 800; font-size: 20px; line-height: 1.22; margin: 0 0 10px; }
.icad-kicker { font-family: 'Catamaran', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--icad-blue); margin: 0 0 10px; }
.icad-kicker--accent { color: var(--icad-sky); }
.icad-lede { font-size: 18px; line-height: 1.6; color: var(--icad-muted); margin: 0 0 14px; max-width: 58ch; }
.icad-lede:last-child { margin-bottom: 0; }
.icad-lede a { color: var(--icad-blue); font-weight: 700; text-decoration: none; }
.icad-lede a:hover { color: var(--icad-ink); }
.icad-head { max-width: 62ch; margin-bottom: 30px; }
.icad-foot { font-size: 14.5px; line-height: 1.55; color: #8e9598; margin: 14px 0 0; max-width: 80ch; }

/* Buttons */
.icad-btn { display: inline-flex; align-items: center; gap: 10px; background: var(--icad-blue); color: #fff; text-decoration: none; font-family: 'Catamaran', sans-serif; font-weight: 700; font-size: 17px; padding: 15px 26px; border-radius: 8px; border: 0; cursor: pointer; }
.icad-btn:hover { background: var(--icad-blue-hover); color: #fff; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,114,188,.35); }
.icad-btn--ghost { background: transparent; border: 1px solid rgba(255,255,255,.34); }
.icad-btn--ghost:hover { background: rgba(255,255,255,.10); border-color: var(--icad-sky); box-shadow: none; transform: none; }
.icad-btn--outline { background: #fff; color: var(--icad-ink); border: 1px solid #cfe2f1; }
.icad-btn--outline:hover { background: #fff; color: var(--icad-blue); border-color: var(--icad-blue); box-shadow: none; }
.icad-btn--sm { font-size: 16px; padding: 14px 24px; }
.icad-btn--sm:hover { transform: none; box-shadow: none; }
.icad-btn--lg { font-size: 18px; padding: 17px 30px; }
.icad-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }

/* Sections */
.icad-sec { padding: 68px 0; border-bottom: 1px solid var(--icad-line); }
.icad-sec--slim { padding: 54px 0; }
.icad-sec--white { background: #fff; }
.icad-sec--tint { background: var(--icad-tint); }
.icad-sec--dark { background: var(--icad-ink); color: #fff; border-bottom: 0; }
.icad-sec--dark .icad-lede { color: var(--icad-sky-soft); max-width: 52ch; }
.icad-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 44px; align-items: start; }
.icad-two--center { align-items: center; gap: 40px; }

/* Hero */
.icad-hero { position: relative; background: var(--icad-ink); color: #fff; overflow: hidden; }
.icad-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .2; animation: icadDrift 26s ease-in-out infinite alternate; }
.icad-hero__scrim { position: absolute; inset: 0; background: linear-gradient(90deg, #1e2d3b 22%, rgba(30,45,59,.82) 72%, rgba(30,45,59,.55) 100%); }
.icad-hero__inner { position: relative; padding-top: 64px; padding-bottom: 60px; }
.icad-hero__lede { font-size: clamp(17px, 2vw, 21px); line-height: 1.5; color: var(--icad-tint); max-width: 64ch; margin: 0 0 28px; }
.icad-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
@keyframes icadDrift { from { transform: scale(1.06); } to { transform: scale(1.14) translate3d(-1.5%, -1%, 0); } }

/* Value band */
.icad-band { background: var(--icad-blue); color: #fff; }
.icad-band__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; padding-top: 24px; padding-bottom: 24px; }
.icad-band__item { display: flex; gap: 12px; align-items: flex-start; }
.icad-band__n { font-family: 'Catamaran', sans-serif; font-weight: 800; font-size: 26px; line-height: 1; color: var(--icad-sky); }
.icad-band__item b { display: block; font-weight: 700; font-size: 16px; }
.icad-band__item span:not(.icad-band__n) { display: block; font-size: 15px; line-height: 1.4; color: var(--icad-sky-soft); }

/* Cards */
.icad-card { background: #fff; border: 1px solid var(--icad-line); border-radius: var(--icad-r); padding: 26px; }
.icad-card--tint { background: var(--icad-tint); }
.icad-card--top { border-top: 4px solid var(--icad-blue); }
.icad-card--lift { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.icad-card--lift:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(30,45,59,.10); border-color: #cfe2f1; }
.icad-grid { display: grid; gap: 18px; }
.icad-grid--4 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.icad-grid--clinics { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; margin-bottom: 22px; }

/* Dot list */
.icad-card--tint .icad-h3 { margin-bottom: 16px; }
.icad-dots { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.icad-dots li { position: relative; padding-left: 20px; }
.icad-dots li::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--icad-blue); }
.icad-dots b { display: block; font-weight: 700; font-size: 17px; }
.icad-dots span { display: block; font-size: 16px; line-height: 1.45; color: var(--icad-muted); }

/* Comparison legend */
.icad-legend { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; margin-bottom: 18px; }
.icad-legend > span { display: flex; gap: 8px; align-items: center; font-size: 14.5px; color: var(--icad-muted); }

/* Comparison matrix */
.icad-mark { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; font-family: 'Catamaran', sans-serif; font-weight: 800; font-size: 16px; line-height: 1; }
.icad-mark--yes { background: #e4f2da; color: #3d7a23; }
.icad-mark--yes.icad-mark--solid { background: var(--icad-green); color: #fff; }
.icad-mark--some { background: #fdf0c9; color: #8a6a00; }
.icad-mark--no { background: #f0f2f3; color: #8e9598; }
.icad-compare { overflow-x: auto; border: 1px solid var(--icad-line); border-radius: var(--icad-r); background: #fff; }
.icad-compare__inner { min-width: 860px; }
.icad-compare__hd { display: grid; grid-template-columns: minmax(280px, 1.7fr) repeat(4, 1fr); background: var(--icad-ink); color: #fff; }
.icad-compare__hdlabel { padding: 18px 22px; font-family: 'Catamaran', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--icad-sky); }
.icad-compare__col { padding: 16px 12px; text-align: center; font-family: 'Catamaran', sans-serif; font-weight: 700; font-size: 16px; line-height: 1.2; color: var(--icad-sky-soft); }
.icad-compare__col--own { background: var(--icad-blue); color: #fff; font-weight: 800; font-size: 17px; }
.icad-row { border-top: 1px solid #eef2f5; background: #fff; }
.icad-row__btn { display: grid; grid-template-columns: minmax(280px, 1.7fr) repeat(4, 1fr); align-items: center; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; font: inherit; text-align: left; }
.icad-row__btn:hover { background: var(--icad-tint); }
.icad-row__label { display: flex; gap: 10px; align-items: baseline; padding: 16px 22px; font-weight: 700; font-size: 16.5px; line-height: 1.4; color: var(--icad-ink); }
.icad-row__caret { flex: none; font-family: 'Catamaran', sans-serif; font-weight: 800; font-size: 18px; color: var(--icad-blue); transition: transform .18s ease; }
.icad-row__btn[aria-expanded="true"] .icad-row__caret { transform: rotate(90deg); }
.icad-cell { padding: 14px 12px; text-align: center; }
.icad-cell--own { background: #f7fbfe; }
.icad-row__btn[aria-expanded="true"] { background: var(--icad-tint); }
.icad-row__btn[aria-expanded="true"] .icad-cell--own { background: #e8f3fb; }
.icad-row__note { background: var(--icad-tint); animation: icadPanelIn .28s cubic-bezier(.2,.7,.3,1) both; }
.icad-row__note[hidden] { display: none; }
.icad-row__note p { margin: 0; padding: 2px 22px 20px 44px; font-size: 16.5px; line-height: 1.6; color: var(--icad-muted); max-width: 80ch; }

/* Four commitments */
.icad-sec--mark { position: relative; overflow: hidden; }
.icad-sec--mark .icad-wrap { position: relative; }
.icad-mark-bg { position: absolute; right: -6%; top: 50%; transform: translateY(-50%); width: min(56vw, 620px); opacity: .05; pointer-events: none; }
.icad-pillar { display: flex; flex-direction: column; gap: 12px; }
.icad-pillar .icad-h3 { font-size: 21px; margin: 0; }
.icad-pillar__kicker { font-family: 'Catamaran', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--icad-blue); margin: 0; }
.icad-pillar__body { font-size: 16px; line-height: 1.55; color: var(--icad-muted); margin: 0; }
.icad-pillar__proof { margin: auto 0 0; padding-top: 10px; border-top: 1px solid var(--icad-line-soft); font-size: 15.5px; line-height: 1.5; color: var(--icad-ink); }
.icad-pillar__proof b { font-family: 'Catamaran', sans-serif; }

/* Where the cost goes */
.icad-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.icad-checks li { display: flex; gap: 14px; align-items: flex-start; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: var(--icad-r); padding: 16px 18px; }
.icad-checks li::before { content: "\2713"; flex: none; font-family: 'Catamaran', sans-serif; font-weight: 800; font-size: 18px; line-height: 1.3; color: var(--icad-green-light); }
.icad-checks b { display: block; font-weight: 700; font-size: 17px; line-height: 1.4; margin-bottom: 3px; }
.icad-checks span { display: block; font-size: 16px; line-height: 1.5; color: var(--icad-sky-soft); }
.icad-poster { position: relative; display: block; width: 100%; max-width: 520px; margin-top: 26px; aspect-ratio: 16 / 10; border: 0; padding: 0; border-radius: var(--icad-r); overflow: hidden; cursor: pointer; background: #000; box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.icad-poster:hover { transform: translateY(-3px); box-shadow: 0 24px 48px rgba(0,0,0,.45); }
.icad-poster__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.icad-poster__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30,45,59,0) 40%, rgba(30,45,59,.85) 100%); }
.icad-poster__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; border-radius: 50%; background: var(--icad-yellow); display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(0,0,0,.35); }
.icad-poster__play span { width: 0; height: 0; border-style: solid; border-width: 12px 0 12px 20px; border-color: transparent transparent transparent var(--icad-ink); margin-left: 5px; }
.icad-poster__cap { position: absolute; left: 20px; right: 20px; bottom: 18px; text-align: left; color: #fff; }
.icad-poster__cap b { display: block; font-family: 'Catamaran', sans-serif; font-weight: 800; font-size: 19px; line-height: 1.25; }
.icad-poster__cap span { display: block; font-size: 14.5px; color: var(--icad-sky-soft); margin-top: 2px; }

/* Video modal */
.icad-modal { position: fixed; inset: 0; z-index: 1000; background: rgba(30,45,59,.92); display: flex; align-items: center; justify-content: center; padding: 24px; }
.icad-modal[hidden] { display: none; }
.icad-modal__frame { position: relative; width: min(1100px, 100%); aspect-ratio: 16 / 9; background: #000; border-radius: var(--icad-r); overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.icad-modal__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.icad-modal__close { position: absolute; top: 18px; right: 18px; width: 48px; height: 48px; border-radius: 50%; background: var(--icad-yellow); color: #212124; border: 0; font-size: 24px; line-height: 1; cursor: pointer; font-weight: 700; }
.icad-modal__close:hover { background: #f5c51e; }

/* Clinics */
.icad-clinic { text-decoration: none; display: flex; flex-direction: column; gap: 6px; padding: 24px; }
.icad-clinic__city { font-family: 'Catamaran', sans-serif; font-weight: 800; font-size: 22px; line-height: 1.2; color: var(--icad-ink); }
.icad-clinic__area { font-size: 15.5px; line-height: 1.45; color: var(--icad-muted); }
.icad-clinic__phone { margin-top: 8px; font-family: 'Catamaran', sans-serif; font-weight: 700; font-size: 17px; color: var(--icad-blue); }

/* Client logos */
.icad-logos { display: flex; flex-wrap: wrap; gap: 34px; align-items: center; }
.icad-logos img { width: auto; object-fit: contain; filter: brightness(0) saturate(0) opacity(.55); }

/* FAQ */
.icad-faq { display: flex; flex-direction: column; gap: 10px; margin-top: 28px; }
.icad-faq__item { border: 1px solid var(--icad-line); border-radius: var(--icad-r); overflow: hidden; background: #fff; }
.icad-faq__q { width: 100%; display: flex; gap: 16px; align-items: center; justify-content: space-between; background: none; border: 0; padding: 20px 22px; cursor: pointer; text-align: left; font: inherit; font-family: 'Catamaran', sans-serif; font-weight: 700; font-size: 18px; line-height: 1.35; color: var(--icad-ink); }
.icad-faq__q:hover { background: var(--icad-tint); }
.icad-faq__icon { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--icad-tint); color: var(--icad-ink); display: flex; align-items: center; justify-content: center; font-size: 20px; line-height: 1; transition: transform .18s ease, background-color .18s ease, color .18s ease; }
.icad-faq__q[aria-expanded="true"] .icad-faq__icon { transform: rotate(45deg); background: var(--icad-blue); color: #fff; }
.icad-faq__a { animation: icadPanelIn .28s cubic-bezier(.2,.7,.3,1) both; }
.icad-faq__a[hidden] { display: none; }
.icad-faq__a p { padding: 0 22px 22px; font-size: 17px; line-height: 1.6; color: var(--icad-muted); margin: 0; }
@keyframes icadPanelIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* CTA band */
.icad-cta { padding: 64px 0; }
.icad-cta__col { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.icad-cta__note { font-size: 15.5px; line-height: 1.55; color: #9fb3c2; max-width: 44ch; border-top: 1px solid rgba(255,255,255,.16); padding-top: 14px; margin: 0; }

/* Motion — hero copy */
.icad-anim { animation: icadHeroIn .7s cubic-bezier(.2,.7,.3,1) both; }
.icad-anim--1 { animation-duration: .6s; }
.icad-anim--2 { animation-delay: .08s; }
.icad-anim--3 { animation-delay: .16s; }
.icad-anim--4 { animation-delay: .24s; }
@keyframes icadHeroIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* Motion — scroll reveal. Only applied once JS sets .js-icad-reveal on <html>, so it fails open. */
.js-icad-reveal .icad [data-reveal] > * { opacity: 0; transform: translateY(22px); }
.js-icad-reveal .icad [data-reveal].is-in > * { opacity: 1; transform: none; transition: opacity .62s cubic-bezier(.2,.7,.3,1), transform .62s cubic-bezier(.2,.7,.3,1); }
.js-icad-reveal .icad [data-reveal].is-in > *:nth-child(2) { transition-delay: .07s; }
.js-icad-reveal .icad [data-reveal].is-in > *:nth-child(3) { transition-delay: .14s; }
.js-icad-reveal .icad [data-reveal].is-in > *:nth-child(4) { transition-delay: .21s; }
.js-icad-reveal .icad [data-reveal].is-in > *:nth-child(n+5) { transition-delay: .28s; }

@media (max-width: 640px) {
  .icad-sec { padding: 48px 0; }
  .icad-hero__inner { padding-top: 48px; padding-bottom: 44px; }
  .icad-two { gap: 32px; }
  .icad-logos { gap: 24px; }
}

@media print {
  .icad-hero__bg, .icad-mark-bg, .icad-poster, .icad-modal { display: none !important; }
  .icad-hero, .icad-sec--dark { background: #fff !important; color: #000 !important; }
  .icad-sec--dark .icad-lede, .icad-checks span { color: #333 !important; }
  .icad-compare { overflow: visible; }
  .icad-compare__inner { min-width: 0; }
  .icad [data-reveal] > *, .icad-anim { opacity: 1 !important; transform: none !important; animation: none !important; }
  .icad-faq__a[hidden], .icad-row__note[hidden] { display: block !important; }
}

@media (prefers-reduced-motion: reduce) {
  .icad *, .icad *::before, .icad *::after { animation: none !important; transition: none !important; }
  .js-icad-reveal .icad [data-reveal] > * { opacity: 1; transform: none; }
}

/* ===================================================================
   ICA THEME RECONCILIATION — appended, nothing above this line edited.
   The design was authored standalone against token fallbacks. Two things
   the ICA theme does differently, both documented in docs/BUILD-RECIPE.md
   as having already cost a rebuild on another page.

   NOT repeated here: scroll reveal. The design already fails open
   correctly (.js-icad-reveal is set by JS, with reduced-motion and print
   bypasses at the end of the block above). Left alone.
   =================================================================== */

/* 1. Navy is NOT --bs-heading-color-hex on this theme. That token is #212124
      (body text), so every navy surface above — the hero, the two dark bands,
      the comparison header, the ink-coloured headings — resolves to near-black.
      Navy is --bs-tertiary-hex. Restated here rather than edited above, so the
      file above stays a faithful copy of what was handed off. */
.icad { --icad-ink: var(--bs-tertiary-hex, #1e2d3b); }

/* 2. The theme sets h1/h2/h3 colour DIRECTLY, and a direct rule beats the
      colour the design expects these to inherit from the dark sections. Left
      alone, every heading on the three navy sections renders dark-on-dark and
      disappears — the exact failure that hid the home-page headline at 1.14:1.
      Contrast is audited live after the first push, not in the export preview,
      which loads no theme and therefore cannot show this. */
.icad-hero .icad-h1,
.icad-hero .icad-kicker,
.icad-sec--dark .icad-h2,
.icad-sec--dark .icad-h3,
.icad-cta .icad-h2 { color: #fff; }
.icad-hero .icad-kicker--accent,
.icad-sec--dark .icad-kicker--accent { color: var(--icad-sky); }
.icad-compare__hdlabel { color: var(--icad-sky); }
.icad-compare__col { color: var(--icad-sky-soft); }
.icad-compare__col--own { color: #fff; }

/* ===================================================================
   MOBILE COMPARISON — Gate 2 change, approved 2026-09-19.
   The design scrolls the 4-column grid horizontally under 860px. On a phone
   that is the section most likely to be unusable, and it is the section the
   page exists for. Below 760px each row becomes a card: label on its own
   line, the four marks as labelled rows. No horizontal scroll, no clipped
   column, same DOM and the same JS.
   =================================================================== */
@media (max-width: 760px) {
  .icad-compare { overflow-x: visible; }
  .icad-compare__inner { min-width: 0; }
  .icad-compare__hd { display: none; }

  .icad-row { border-top: 0; border-bottom: 1px solid var(--icad-line); }
  .icad-row:last-child { border-bottom: 0; }
  .icad-row__btn { display: block; padding: 4px 0 12px; }
  .icad-row__label { padding: 14px 16px 10px; font-size: 16px; }

  .icad-row__btn .icad-cell {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 7px 16px;
    text-align: left;
    border-top: 1px solid #f1f5f8;
  }
  .icad-row__btn .icad-cell::before {
    font-family: 'Catamaran', sans-serif;
    font-weight: 700;
    font-size: 13.5px;
    line-height: 1.3;
    color: var(--icad-muted);
  }
  /* Column identity moves from the hidden header into each cell.
     nth-of-type counts SPANS, and the row label is itself a span — so the
     four cells are spans 2..5, not 1..4. Getting this wrong shifts every
     label by one and attributes each claim to the wrong provider, which on
     a comparison table is a factual error, not a cosmetic one. */
  .icad-row__btn .icad-cell:nth-of-type(2)::before { content: "Injury Care Associates"; color: var(--icad-ink); font-weight: 800; }
  .icad-row__btn .icad-cell:nth-of-type(3)::before { content: "Other occ-med clinics"; }
  .icad-row__btn .icad-cell:nth-of-type(4)::before { content: "Urgent care"; }
  .icad-row__btn .icad-cell:nth-of-type(5)::before { content: "Hospital ER"; }
  .icad-row__btn .icad-cell--own { background: #f7fbfe; border-radius: var(--icad-r); }

  .icad-row__note p { padding: 2px 16px 18px; font-size: 16px; }
  .icad-legend { gap: 10px 16px; font-size: 14px; }
}

/* ===================================================================
   COMPARISON MARKS — glyph moved from markup into CSS.
   The design hardcodes the glyph in each of the 48 cells. Driven from a
   MIGX row instead, that would need a three-way branch per cell inside a
   getImageList row tpl — which is precisely the nesting that exhausted
   the MODX parser's backtrack limit and 500'd a page (BUILD-RECIPE).
   The row tpl now emits only a class and an aria-label built from one
   flat :replace chain; the glyph comes from here.
   =================================================================== */
.icad-mark--yes::before { content: "\2713"; }
.icad-mark--some::before { content: "~"; }
.icad-mark--no::before  { content: "\2014"; }

/* The ICA column's positives are the emphasised ones. The design applied
   --solid by hand in markup; scoped here so the row tpl carries no
   column-specific logic. */
.icad-cell--own .icad-mark--yes { background: var(--icad-green); color: #fff; }
