/* cc2.css - shared primitives for the careercalling page rebuild.
   Light-first. Additive only: every rule is scoped under a .cc- class so
   nothing here can leak into cci.css or cq.css. */

:root{
  --cc-ink:#0B1B3A;
  --cc-navy:#01216E;
  --cc-navy-d:#041B4E;
  --cc-line:#E3E8F0;
  --cc-soft:#F6F8FB;
  --cc-mut:#5A6782;
  --cc-acc:#C8A24A;
  --cc-r:14px;
  --cc-sh:0 1px 2px rgba(11,27,58,.05),0 8px 24px rgba(11,27,58,.06);
  --cc-sh-h:0 2px 4px rgba(11,27,58,.07),0 18px 44px rgba(11,27,58,.12);
}

/* the inherited scroll-reveal hides anything it does not know about,
   so everything in this file opts out of it explicitly */
[class^="cc-"],[class*=" cc-"],
[class^="cc-"] *,[class*=" cc-"] *{
  opacity:1!important;transform:none!important;animation:none!important;visibility:visible!important;
}

.cc-sec{padding:72px 0}
.cc-sec.cc-soft{background:var(--cc-soft)}
.cc-wrap{max-width:1180px;margin:0 auto;padding:0 24px}

.cc-head{max-width:760px;margin:0 0 38px}
.cc-kicker{display:inline-block;font:600 12px/1 Montserrat,sans-serif;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cc-navy);margin-bottom:14px}
.cc-head h2{font:600 clamp(26px,3.2vw,40px)/1.18 "Source Serif 4",Georgia,serif;
  color:var(--cc-ink);margin:0 0 14px}
.cc-head p{font:400 17px/1.65 "Public Sans",system-ui,sans-serif;color:var(--cc-mut);margin:0}

/* ---------- card grid ---------- */
.cc-grid{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.cc-grid.cc-2{grid-template-columns:repeat(auto-fill,minmax(440px,1fr))}
@media(max-width:700px){.cc-grid,.cc-grid.cc-2{grid-template-columns:1fr}}

.cc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cc-line);
  border-radius:var(--cc-r);overflow:hidden;box-shadow:var(--cc-sh);
  transition:box-shadow .22s ease,transform .22s ease;text-decoration:none;color:inherit}
a.cc-card:hover,.cc-card:hover{box-shadow:var(--cc-sh-h);transform:translateY(-3px)}
.cc-card>img,.cc-card .cc-thumb{width:100%;height:196px;object-fit:cover;display:block;
  background:var(--cc-soft);border-bottom:1px solid var(--cc-line)}
.cc-card .cc-bd{padding:24px;display:flex;flex-direction:column;flex:1 1 auto}
.cc-card h3{font:600 19px/1.35 Montserrat,sans-serif;color:var(--cc-ink);margin:0 0 10px}
.cc-card p{font:400 15px/1.62 "Public Sans",system-ui,sans-serif;color:var(--cc-mut);margin:0 0 16px}
.cc-tag{display:inline-block;align-self:flex-start;font:600 11px/1 Montserrat,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;color:var(--cc-navy);
  background:rgba(1,33,110,.07);border-radius:999px;padding:7px 12px;margin:0 0 14px}
.cc-out{margin-top:auto;padding-top:16px;border-top:1px solid var(--cc-line);
  font:600 14px/1.4 Montserrat,sans-serif;color:var(--cc-navy);display:flex;gap:9px;align-items:flex-start}
.cc-out::before{content:"";flex:0 0 8px;height:8px;margin-top:5px;border-radius:50%;background:var(--cc-acc)}

/* ---------- filter chips ---------- */
.cc-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}
.cc-chip{font:600 13px/1 Montserrat,sans-serif;color:var(--cc-mut);background:#fff;
  border:1px solid var(--cc-line);border-radius:999px;padding:11px 18px;cursor:pointer;
  transition:all .18s ease}
.cc-chip:hover{border-color:var(--cc-navy);color:var(--cc-navy)}
.cc-chip[aria-pressed="true"]{background:var(--cc-navy);border-color:var(--cc-navy);color:#fff}
.cc-none{display:none;font:400 16px/1.6 "Public Sans",sans-serif;color:var(--cc-mut);padding:30px 0}

/* ---------- logo / trophy wall ---------- */
.cc-logos{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.cc-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;
  border:1px solid var(--cc-line);border-radius:12px;padding:26px 20px;min-height:150px;
  box-shadow:var(--cc-sh);transition:box-shadow .2s ease;margin:0}
.cc-logo:hover{box-shadow:var(--cc-sh-h)}
.cc-logo img{max-width:100%;max-height:96px;width:auto;height:auto;object-fit:contain}
.cc-logo figcaption{display:block;margin-top:12px;font:600 12px/1.4 Montserrat,sans-serif;
  color:var(--cc-mut);text-align:center}

/* ---------- people ---------- */
.cc-people{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.cc-person{background:#fff;border:1px solid var(--cc-line);border-radius:var(--cc-r);
  overflow:hidden;box-shadow:var(--cc-sh);text-align:left;margin:0}
.cc-person img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:var(--cc-soft)}
.cc-person figcaption{padding:18px 18px 20px}
.cc-person b{display:block;font:600 16px/1.3 Montserrat,sans-serif;color:var(--cc-ink);margin-bottom:5px}
.cc-person span{display:block;font:400 13px/1.5 "Public Sans",sans-serif;color:var(--cc-mut)}

/* ---------- testimonial ---------- */
.cc-quote{background:#fff;border:1px solid var(--cc-line);border-left:3px solid var(--cc-acc);
  border-radius:var(--cc-r);padding:30px;box-shadow:var(--cc-sh);display:flex;flex-direction:column}
.cc-quote blockquote{margin:0 0 22px;font:400 17px/1.68 "Source Serif 4",Georgia,serif;color:var(--cc-ink)}
.cc-by{margin-top:auto;display:flex;align-items:center;gap:14px}
.cc-by img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 52px;background:var(--cc-soft)}
.cc-by b{display:block;font:600 15px/1.3 Montserrat,sans-serif;color:var(--cc-ink)}
.cc-by span{display:block;font:400 13px/1.4 "Public Sans",sans-serif;color:var(--cc-mut)}

/* ---------- media figure ---------- */
.cc-media{margin:34px 0}
.cc-media img{width:100%;height:auto;display:block;border-radius:var(--cc-r);
  border:1px solid var(--cc-line);box-shadow:var(--cc-sh)}
.cc-media figcaption{margin-top:11px;font:400 13px/1.55 "Public Sans",sans-serif;color:var(--cc-mut)}
.cc-hero-img{width:100%;height:clamp(220px,32vw,380px);object-fit:cover;display:block;
  border-radius:var(--cc-r);border:1px solid var(--cc-line);margin:0 0 40px}

/* ---------- split ---------- */
.cc-split{display:grid;gap:44px;grid-template-columns:1fr 1fr;align-items:center}
.cc-split img{width:100%;height:100%;min-height:280px;object-fit:cover;border-radius:var(--cc-r);
  border:1px solid var(--cc-line)}
@media(max-width:820px){.cc-split{grid-template-columns:1fr;gap:28px}}

/* ---------- stats ---------- */
.cc-stats{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  padding:34px 0;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}
.cc-stat b{display:block;font:600 clamp(28px,3.4vw,40px)/1 Montserrat,sans-serif;color:var(--cc-navy)}
.cc-stat span{display:block;margin-top:8px;font:400 14px/1.5 "Public Sans",sans-serif;color:var(--cc-mut)}

/* ---------- accordion ---------- */
.cc-acc{border-top:1px solid var(--cc-line)}
.cc-acc details{border-bottom:1px solid var(--cc-line)}
.cc-acc summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;position:relative;
  font:600 16px/1.5 Montserrat,sans-serif;color:var(--cc-ink)}
.cc-acc summary::-webkit-details-marker{display:none}
.cc-acc summary::after{content:"";position:absolute;right:12px;top:26px;width:9px;height:9px;
  border-right:2px solid var(--cc-navy);border-bottom:2px solid var(--cc-navy);
  transform:rotate(45deg);transition:transform .2s ease}
.cc-acc details[open] summary::after{transform:rotate(-135deg)}
.cc-acc .cc-abody{padding:0 0 22px;font:400 15px/1.7 "Public Sans",sans-serif;color:var(--cc-mut)}
.cc-acc .cc-abody p{margin:0 0 12px}

/* ---------- policy layout + sticky ToC ---------- */
.cc-doc{display:grid;grid-template-columns:262px 1fr;gap:52px;align-items:start}
@media(max-width:900px){.cc-doc{grid-template-columns:1fr;gap:28px}}
.cc-toc{position:sticky;top:96px;background:var(--cc-soft);border:1px solid var(--cc-line);
  border-radius:var(--cc-r);padding:22px}
@media(max-width:900px){.cc-toc{position:static}}
.cc-toc b{display:block;font:600 12px/1 Montserrat,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--cc-mut);margin-bottom:14px}
.cc-toc ol{list-style:none;margin:0;padding:0;counter-reset:cc}
.cc-toc li{counter-increment:cc;margin:0 0 3px}
.cc-toc a{display:block;padding:7px 0 7px 26px;position:relative;text-decoration:none;
  font:400 14px/1.45 "Public Sans",sans-serif;color:var(--cc-mut);border-radius:6px}
.cc-toc a::before{content:counter(cc);position:absolute;left:0;top:7px;
  font:600 11px/1.5 Montserrat,sans-serif;color:var(--cc-acc)}
.cc-toc a:hover{color:var(--cc-navy)}
.cc-toc a.on{color:var(--cc-navy);font-weight:600}
.cc-meta{display:flex;flex-wrap:wrap;gap:10px 26px;padding:0 0 24px;margin:0 0 32px;
  border-bottom:1px solid var(--cc-line);font:400 14px/1.5 "Public Sans",sans-serif;color:var(--cc-mut)}
.cc-body h2{font:600 clamp(20px,2.4vw,26px)/1.3 "Source Serif 4",Georgia,serif;color:var(--cc-ink);
  margin:44px 0 14px;scroll-margin-top:100px}
.cc-body h2:first-child{margin-top:0}
.cc-body h3{font:600 17px/1.4 Montserrat,sans-serif;color:var(--cc-ink);margin:28px 0 10px}
.cc-body p,.cc-body li{font:400 16px/1.75 "Public Sans",sans-serif;color:#33405C}
.cc-body ul,.cc-body ol{padding-left:22px;margin:0 0 18px}
.cc-body li{margin:0 0 8px}

@media print{
  .topbar,.header,#cqMega,.cc-toc,.footer,footer,.cq-ticker,.skip-link,
  .cc-cta{display:none!important}
  .cc-doc{grid-template-columns:1fr!important}
  .cc-body p,.cc-body li{font-size:11pt;line-height:1.5;color:#000}
  .cc-body h2{font-size:14pt;margin:18pt 0 6pt;page-break-after:avoid}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#444}
}

/* ---------- CTA band ---------- */
.cc-cta{background:linear-gradient(135deg,var(--cc-navy-d),var(--cc-navy));border-radius:var(--cc-r);
  padding:46px;color:#fff;display:flex;flex-wrap:wrap;gap:26px;align-items:center;
  justify-content:space-between;margin:56px 0 0}
.cc-cta h2{font:600 clamp(21px,2.5vw,28px)/1.3 "Source Serif 4",Georgia,serif;margin:0 0 8px;color:#fff}
.cc-cta p{margin:0;font:400 16px/1.6 "Public Sans",sans-serif;color:rgba(255,255,255,.82)}
.cc-btn{display:inline-block;background:#fff;color:var(--cc-navy);text-decoration:none;
  font:600 15px/1 Montserrat,sans-serif;padding:16px 30px;border-radius:999px;white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease}
.cc-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.22)}
.cc-btn.cc-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
