/* =========================================================
   CHI — COMPANY COMPARISONS INDEX (Option A)
   Page-scoped stylesheet. Every rule is namespaced under
   .cc-page so nothing here can leak into other CHI pages.
   Architecture: fixed dark left rail + light editorial field
   + compact horizontal comparison rows.
   ========================================================= */

.cc-page{
  --cc-field:#202020;          /* graphite content field */
  --cc-field-2:#323232;        /* raised surface on the field */
  --cc-ink:#ededea;            /* headline + comparison titles */
  --cc-body:#b4b8b9;           /* row and header decks */
  --cc-muted:#9aa0a3;          /* counts, secondary copy */
  --cc-line:#3b3d3e;           /* row dividers */
  --cc-line-strong:#4a4c4d;
  --cc-chip:#34383a;           /* chip fill */
  --cc-chip-line:#474b4d;      /* chip border */
  --cc-chip-ink:#c4c8c9;
  --cc-accent:#d8ff3e;         /* CHI Volt — same value as styles.css --acid */
  --cc-rail:#0b1014;
  --cc-rail-2:#090d11;
  --cc-rail-line:#242b31;
  --cc-rail-ink:#e9ebe6;
  --cc-rail-muted:#a9aeb3;
  --cc-volt:#d8ff3e;
  --cc-rail-w:256px;
  --cc-pad:44px;
  --cc-thumb-w:275px;
  --cc-thumb-h:88px;
  --cc-topics-w:430px;      /* fits the widest three-chip group (424px) on one line */

  --cc-serif:Georgia,"Times New Roman",serif;
  --cc-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;

  margin:0;
  background:var(--cc-field);
  color:var(--cc-ink);
  font-family:var(--cc-sans);
  font-size:15px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}

.cc-page *,
.cc-page *::before,
.cc-page *::after{box-sizing:border-box}

.cc-page img{max-width:100%;display:block}

.cc-skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--cc-volt);color:#000;padding:10px 16px;
  font:700 12px/1 var(--cc-sans);letter-spacing:.12em;text-transform:uppercase;
}
.cc-skip:focus{left:8px;top:8px}

/* ---------------------------------------------------------
   LEFT RAIL
   --------------------------------------------------------- */
.cc-rail{
  position:fixed;inset:0 auto 0 0;
  width:var(--cc-rail-w);
  background:linear-gradient(180deg,#0d1218 0%,#0b1014 45%,#080c10 100%);
  border-right:1px solid #000;
  color:var(--cc-rail-ink);
  display:flex;flex-direction:column;
  padding:27px 22px 26px;
  overflow-y:auto;
  overscroll-behavior:contain;
  z-index:40;
}

.cc-identity{display:block;color:inherit;text-decoration:none;margin-bottom:28px}
.cc-identity-mark{
  display:block;font-family:var(--cc-serif);font-weight:700;
  font-size:40px;line-height:.92;letter-spacing:.01em;color:#fff;
}
.cc-identity-name{
  display:block;margin-top:9px;
  font-size:10.5px;font-weight:700;line-height:1.55;
  letter-spacing:.2em;text-transform:uppercase;color:#c8ccce;
}
.cc-identity-name span{display:block}
.cc-identity:hover .cc-identity-mark{color:var(--cc-volt)}

.cc-nav{display:flex;flex-direction:column;gap:1px;margin:0 0 18px;padding:0;list-style:none}
.cc-nav a{
  display:block;position:relative;
  padding:4px 0 4px 14px;
  color:#d6d9da;text-decoration:none;
  font-size:14.5px;letter-spacing:-.005em;
}
.cc-nav a::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:0;background:var(--cc-volt);transition:height .18s ease;
}
.cc-nav a:hover{color:#fff}
.cc-nav a:hover::before{height:60%}
.cc-nav a[aria-current="page"]{color:var(--cc-volt);font-weight:700}
.cc-nav a[aria-current="page"]::before{height:74%}

/* The four remaining site sections sit in the same compact nav
   treatment, set off by a hairline so the approved primary order
   above it is untouched. */
.cc-nav .cc-nav-split{position:relative;margin-top:10px;padding-top:10px}
.cc-nav .cc-nav-split::before{
  content:"";position:absolute;left:14px;right:0;top:0;height:1px;
  background:rgba(255,255,255,.085);
}

.cc-rail-divider{border:0;border-top:1px solid var(--cc-rail-line);margin:0 0 18px}

.cc-rail-heading{
  margin:0 0 12px;padding-left:14px;
  font-size:10px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:#8e949a;
}

.cc-sectors{display:flex;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none}
.cc-sector{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  position:relative;width:100%;
  padding:5px 12px 5px 14px;
  background:none;border:0;border-radius:3px;
  color:#d6d9da;font:inherit;font-size:14px;text-align:left;
  cursor:pointer;text-decoration:none;
}
.cc-sector::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:0;background:var(--cc-volt);transition:height .18s ease;
}
.cc-sector:hover{color:#fff;background:rgba(255,255,255,.035)}
.cc-sector-count{font-size:12.5px;color:#8e949a;font-variant-numeric:tabular-nums}
.cc-sector[aria-pressed="true"]{
  color:var(--cc-volt);
  background:linear-gradient(90deg,rgba(216,255,62,.11),rgba(216,255,62,.02));
}
.cc-sector[aria-pressed="true"]::before{height:100%}
.cc-sector[aria-pressed="true"] .cc-sector-count{color:var(--cc-volt)}
.cc-sector:focus-visible,
.cc-nav a:focus-visible,
.cc-identity:focus-visible{outline:2px solid var(--cc-volt);outline-offset:2px}

.cc-rail-foot{margin-top:auto;padding-top:34px}
.cc-rail-quote{
  margin:0;padding-left:14px;
  font-family:var(--cc-serif);font-style:italic;
  font-size:19px;line-height:1.24;letter-spacing:-.01em;color:#eceee9;
}
.cc-rail-quote::after{
  content:"";display:block;width:34px;height:3px;background:var(--cc-volt);margin-top:16px;
}
.cc-rail-sign{margin-top:36px;padding-left:14px}
.cc-rail-sign strong{
  display:block;font-family:var(--cc-serif);font-weight:700;
  font-size:23px;line-height:1;color:#d9dcdd;
}
.cc-rail-sign span{
  display:block;margin-top:9px;
  font-size:10px;font-weight:700;line-height:1.75;
  letter-spacing:.17em;text-transform:uppercase;color:#7f858b;
}

/* Mobile-only rail furniture, hidden on desktop */
.cc-rail-toggle{display:none}

/* The dark rail column is painted on the document itself so it runs
   the full page height behind the fixed rail, not just one viewport. */
@media (min-width:761px){
  .cc-page{
    background:linear-gradient(90deg,#080c10 0,#080c10 var(--cc-rail-w),var(--cc-field) var(--cc-rail-w));
  }
}

/* ---------------------------------------------------------
   CONTENT FIELD
   --------------------------------------------------------- */
.cc-field{
  margin-left:var(--cc-rail-w);
  min-height:100vh;
  background:var(--cc-field);
  padding:14px var(--cc-pad) 0;
}

.cc-head{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:24px;align-items:start;
  padding-bottom:14px;
}
.cc-eyebrow{
  margin:0 0 12px;
  font-size:10.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--cc-accent);
}
.cc-head h1{
  margin:0;
  font-family:var(--cc-serif);font-weight:700;
  font-size:clamp(31px,3.1vw,40px);line-height:.99;letter-spacing:-.018em;
  color:var(--cc-ink);
}
/* One-line headline; 'companies' and 'pattern' carry the Volt accent. */
.cc-head h1 .cc-hl{color:var(--cc-accent)}
.cc-head-deck{
  margin:11px 0 0;max-width:556px;
  font-size:14.2px;line-height:1.42;color:var(--cc-body);
}
.cc-head-count{
  justify-self:end;white-space:nowrap;
  font-size:10.5px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--cc-muted);
}

/* ---------------------------------------------------------
   COMPARISON ROWS
   --------------------------------------------------------- */
.cc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--cc-line)}
.cc-item{margin:0}
.cc-item.is-hidden{display:none}

.cc-row{
  display:grid;
  grid-template-columns:var(--cc-thumb-w) minmax(0,1fr) var(--cc-topics-w) 56px;
  align-items:center;column-gap:24px;
  padding:5px 8px 5px 0;
  border-bottom:1px solid var(--cc-line);
  color:inherit;text-decoration:none;
  transition:background .16s ease;
}
.cc-row:hover{background:rgba(255,255,255,.04)}
.cc-row:focus-visible{outline:2px solid var(--cc-accent);outline-offset:-2px}

.cc-thumb{
  width:var(--cc-thumb-w);height:var(--cc-thumb-h);
  object-fit:cover;object-position:center;
  background:#0b1014;
}

.cc-body{min-width:0}
.cc-sector-label{
  display:block;margin-bottom:3px;line-height:1.2;
  font-size:10px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--cc-accent);
}
.cc-title{
  margin:0;
  font-family:var(--cc-serif);font-weight:700;
  font-size:20px;line-height:1.1;letter-spacing:-.012em;
  color:var(--cc-ink);
}
.cc-deck{
  margin:2px 0 0;max-width:540px;
  font-size:12.9px;line-height:1.3;color:var(--cc-body);
}
/* Topic-chip column: a true grid track, so the group starts at the same
   x on every row regardless of title or deck length. All three chips sit
   on one horizontal line (the track is sized to the widest group), left
   aligned, vertically centred, with a fixed 36px from the track edge to
   the arrow (24px track gap + the 12px of slack in the 56px arrow track). */
.cc-chips{
  display:flex;flex-wrap:nowrap;align-items:center;
  gap:6px;margin:0;min-width:0;
}
.cc-chip{
  display:inline-block;
  padding:2px 7px;line-height:1.25;
  background:var(--cc-chip);border:1px solid var(--cc-chip-line);
  font-size:9.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--cc-chip-ink);
  white-space:nowrap;
}

.cc-go{
  justify-self:end;
  width:44px;height:44px;border-radius:50%;
  border:1px solid #55585a;
  display:grid;place-items:center;color:#dfe2df;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.cc-go svg{width:17px;height:17px}
.cc-row:hover .cc-go{border-color:var(--cc-ink);background:rgba(255,255,255,.08);transform:translateX(3px)}

.cc-empty{
  display:none;margin:0;padding:38px 0 0;
  font-size:14.5px;color:var(--cc-muted);
}
.cc-list.is-empty + .cc-empty{display:block}

/* Site-wide neutrality ribbon, restated page-scoped so this page
   carries no dependency on the shared dark-theme stylesheet. */
.cc-ribbon{
  margin:54px calc(var(--cc-pad) * -1) 0;
  background:var(--cc-volt);color:#050505;
  border-top:1px solid #000;
  min-height:52px;display:flex;align-items:center;
}
.cc-ribbon-inner{
  width:100%;padding:12px var(--cc-pad);
  display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;
  font-size:12px;letter-spacing:.02em;
}
.cc-ribbon-inner strong{font-size:13px;letter-spacing:.06em}
.cc-ribbon-inner strong span{font-size:19px;margin-right:7px}
.cc-ribbon-divider{width:1px;height:18px;background:rgba(0,0,0,.35)}

/* ---------------------------------------------------------
   TABLET — the rail narrows, the row keeps its hierarchy
   --------------------------------------------------------- */
@media (max-width:1180px){
  .cc-page{--cc-rail-w:224px;--cc-pad:32px;--cc-thumb-w:220px;--cc-thumb-h:76px}
  .cc-row{
    column-gap:22px;
    grid-template-columns:var(--cc-thumb-w) minmax(0,1fr) 50px;
    grid-template-areas:"thumb body go" "thumb chips go";
    align-items:center;
  }
  .cc-thumb{grid-area:thumb}
  .cc-body{grid-area:body;align-self:end}
  .cc-chips{grid-area:chips;align-self:start;margin-top:7px;flex-wrap:wrap}
  .cc-go{grid-area:go}
  .cc-title{font-size:19px}
  .cc-go{width:40px;height:40px}
  .cc-identity-mark{font-size:32px}
  .cc-rail{padding:28px 18px 22px}
  .cc-nav a,.cc-sector{font-size:13.5px}
}

@media (max-width:980px){
  .cc-page{--cc-rail-w:198px;--cc-pad:24px;--cc-thumb-w:172px;--cc-thumb-h:62px}
  .cc-row{column-gap:18px;grid-template-columns:var(--cc-thumb-w) minmax(0,1fr) 44px}
  .cc-title{font-size:17.5px;line-height:1.14}
  .cc-deck{font-size:12.4px}
  .cc-go{width:36px;height:36px}
  .cc-go svg{width:15px;height:15px}
  .cc-identity-mark{font-size:28px}
  .cc-identity-name{font-size:9.5px;letter-spacing:.16em}
  .cc-nav a,.cc-sector{font-size:13px}
  .cc-rail-quote{font-size:17px}
  .cc-head h1{font-size:clamp(28px,4vw,34px)}
  .cc-head-deck{font-size:13.4px}
}

/* ---------------------------------------------------------
   MOBILE — rail collapses into a compact top treatment
   --------------------------------------------------------- */
@media (max-width:760px){
  .cc-page{--cc-thumb-w:100%;--cc-thumb-h:112px;--cc-pad:16px}

  .cc-rail{
    position:static;width:auto;height:auto;
    flex-direction:column;
    padding:16px var(--cc-pad) 12px;
    border-right:0;border-bottom:1px solid #000;
    overflow:visible;
  }
  .cc-identity{
    margin:0;display:flex;align-items:baseline;gap:10px;
  }
  .cc-identity-mark{font-size:26px}
  .cc-identity-name{margin:0;font-size:9px;letter-spacing:.16em;line-height:1.3}
  .cc-identity-name span{display:inline}

  .cc-rail-toggle{
    display:inline-flex;align-items:center;gap:8px;
    position:absolute;right:var(--cc-pad);top:16px;
    background:none;border:1px solid var(--cc-rail-line);
    color:var(--cc-rail-ink);
    padding:7px 11px;font:700 10px/1 var(--cc-sans);
    letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
  }
  .cc-nav{
    display:none;margin:14px 0 4px;gap:0;
    border-top:1px solid var(--cc-rail-line);
  }
  .cc-nav.is-open{display:flex}
  .cc-nav a{padding:10px 0 10px 12px;border-bottom:1px solid var(--cc-rail-line);font-size:14.5px}
  .cc-nav .cc-nav-split{margin-top:0;padding-top:0}
  .cc-nav .cc-nav-split::before{display:none}

  .cc-rail-divider{display:none}
  .cc-rail-heading{margin:16px 0 8px;padding-left:0;font-size:9.5px}
  .cc-sectors{
    flex-direction:row;flex-wrap:nowrap;gap:6px;
    overflow-x:auto;padding-bottom:4px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .cc-sectors::-webkit-scrollbar{display:none}
  .cc-sector{
    width:auto;flex:0 0 auto;gap:7px;
    padding:8px 12px;border:1px solid var(--cc-rail-line);border-radius:999px;
    font-size:13px;white-space:nowrap;
  }
  .cc-sector::before{display:none}
  .cc-sector[aria-pressed="true"]{
    background:rgba(216,255,62,.12);border-color:rgba(216,255,62,.5);
  }
  .cc-rail-foot{display:none}

  .cc-field{margin-left:0;padding-top:22px;min-height:0}
  .cc-head{grid-template-columns:1fr;gap:10px;padding-bottom:16px}
  .cc-head-count{justify-self:start}
  .cc-head h1{font-size:clamp(28px,7.4vw,36px)}
  .cc-head-deck{font-size:14px}

  .cc-row{
    grid-template-columns:minmax(0,1fr) 40px;
    grid-template-areas:"thumb thumb" "body go" "chips go";
    row-gap:0;column-gap:14px;
    align-items:center;
    padding:16px 0;
  }
  .cc-thumb{grid-area:thumb;width:100%;margin-bottom:12px}
  .cc-body{grid-area:body;align-self:end}
  .cc-chips{grid-area:chips;align-self:start;margin-top:7px;flex-wrap:wrap}
  .cc-go{grid-area:go;align-self:center;width:38px;height:38px}
  .cc-go svg{width:16px;height:16px}
  .cc-title{font-size:19px;line-height:1.14}
  .cc-deck{font-size:13.4px;line-height:1.36;margin-top:5px}
  .cc-chip{font-size:9.5px;padding:3px 7px}
}

@media (max-width:420px){
  .cc-page{--cc-thumb-h:96px;--cc-pad:14px}
  .cc-title{font-size:17.5px}
  .cc-deck{font-size:13px}
  .cc-identity-name{display:none}
  .cc-rail-toggle{top:14px}
}

@media (prefers-reduced-motion:reduce){
  .cc-page *{transition:none!important}
}
