/* =======================
   Chemtopper – New Site Base
   Safe, namespaced, Bootstrap-friendly
   ======================= */

/* Tokens */
:root{
  --ct-blue-900:#0f2e63;     /* keep dark blue for top bar */
  --ct-blue-700:#1f5fbf;
  --ct-emerald:#16a34a;

  --ct-bg:#ffffff;
  --ct-soft:#f7f9fc;
  --ct-text:#0f172a;
  --ct-muted:#475569;
  --ct-border:#e2e8f0;

  --ct-radius:14px;
  --ct-shadow:0 1px 2px rgba(0,0,0,.06);

  --ct-space-0:8px;
  --ct-space-1:12px;
  --ct-space-2:16px;
  --ct-space-3:24px;
  --ct-space-4:32px;
  --ct-space-5:48px;

  --ct-max:1200px;

  /* Type scale */
  --ct-fs-900:clamp(30px,3vw,42px);
  --ct-fs-800:clamp(22px,2vw,32px);
  --ct-fs-700:20px;
  --ct-fs-600:18px;
}

/* Base typography */
body{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  color:var(--ct-text);
  background:var(--ct-bg);
  line-height:1.6;
}

/* Containers / sections */
.ct-container{
  max-width: var(--ct-max);
  margin-inline:auto;
  padding-inline: clamp(16px,3vw,28px);
}
.ct-section{
  margin-block:var(--ct-space-4);
}
.ct-section h2{
  font-size:var(--ct-fs-800);
  letter-spacing:-.01em;
  margin-bottom:var(--ct-space-2);
}
.ct-lead{
  font-size:var(--ct-fs-600);
  color:var(--ct-muted);
}

/* Cards */
.ct-card{
  background:#fff;
  border:1px solid var(--ct-border);
  border-radius:var(--ct-radius);
  box-shadow:var(--ct-shadow);
  padding:var(--ct-space-3);
}
.ct-card--soft{
  background:var(--ct-soft);
}
.ct-card--tinted{
  background:#F7FAFF;
  border-color:#DDE9FF;
}
.ct-card--accent-top{
  border-top:4px solid #1F5FBF;
}
.ct-card--hoverable{
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ct-card--hoverable:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(15,46,99,.12);
  border-color:#cfe0ff;
}
.ct-card h4,
.ct-card h5{
  letter-spacing:.2px;
}

/* Buttons */
.ct-btn{
  display:inline-block;
  padding:.62rem 1rem;
  border-radius:10px;
  font-weight:700;
  text-decoration:none;
  border:1px solid transparent;
}
.ct-btn--primary{
  background:#1F5FBF;
  color:#fff;
}
.ct-btn--secondary{
  background:#fff;
  color:#1F5FBF;
  border-color:#1F5FBF;
}
.ct-btn--secondary:hover{
  background:#F0F6FF;
}
.ct-btn--ghost{
  background:transparent;
  color:var(--ct-blue-700);
}
.ct-btn--lg{
  padding:.9rem 1.1rem;
  font-size:1.05rem;
}
.ct-btn--sm{
  padding:.55rem .9rem;
  font-size:14px;
  border-radius:10px;
}

/* Grids */
.ct-grid{
  display:grid;
  gap:var(--ct-space-2);
}
.ct-grid-2{ grid-template-columns:1fr; }
.ct-grid-3{ grid-template-columns:1fr; }
.ct-grid-4{ grid-template-columns:1fr; }
@media (min-width: 768px){
  .ct-grid-2{ grid-template-columns:1fr 1fr; }
  .ct-grid-3{ grid-template-columns:repeat(3,1fr); }
}
@media (min-width: 1100px){
  .ct-grid-4{ grid-template-columns:repeat(4,1fr); }
}

/* HERO – common pattern: full-bleed band + header row + inner 60/40 grid */
.ct-hero{
  display:block !important; /* override any old grid-based hero rules */
  border-radius:var(--ct-radius);
  padding:var(--ct-space-3);
}
.ct-hero--full{
  background:#363795;
  color:#fff;
}
.ct-hero__header{
  margin-bottom: clamp(10px, 1.6vw, 16px);
}
.ct-hero__header h1{
  margin:0 0 6px;
  font-size:var(--ct-fs-900);
  letter-spacing:-.02em;
}
.ct-hero__inner{
  display:grid;
  gap: clamp(16px, 2.2vw, 28px);
}
@media (min-width: 992px){
  .ct-hero__inner{
    grid-template-columns: minmax(0,3fr) minmax(0,2fr);
  }
}
.ct-hero__inner > *{
  min-width:0;
}

/* Dark hero skin */
.ct-hero--dark{
  background:#363795;
  color:#fff;
}
.ct-hero--dark .ct-summary p{
  color:#E6EFFC;
}
.ct-hero--dark a{
  color:#DBEAFE;
  text-decoration:underline;
}
.ct-hero--dark .ct-card{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.22);
  color:#fff;
}
.ct-hero--dark .ct-stars{
  color:#F8D672;
}


/* Hero summary, actions, bullets */
.ct-hero .ct-summary p{
  margin:0 0 var(--ct-space-1) 0;
  color:var(--ct-muted);
}
.ct-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0 6px;
}
.ct-hero__actions .ct-btn{
  line-height:1;
}
.ct-bullets{
  list-style:none;
  padding-left:0;
  margin:10px 0 0;
  color:#E6EFFC;
}
.ct-bullets li{
  position:relative;
  padding-left:22px;
  margin-bottom:6px;
}
.ct-bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:.5em;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#CFE0FF;
}

/* Stats block (reviews) */
.ct-stats{
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ct-stats h5{
  margin:0 0 6px 0;
}
.ct-stars{
  color:#b9910b;
  font-size:20px;
  letter-spacing:1px;
}

/* Tutor profile */
.ct-profile{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  margin:0 0 10px 0;
  text-align:center;
}
.ct-profile__img{
  width: clamp(110px, 11vw, 160px);
  height: clamp(110px, 11vw, 160px);
  border-radius:50%;
  object-fit:cover;
  border:3px solid #E2E8F0;
  box-shadow: 0 6px 20px rgba(0,0,0,.18);
}
.ct-profile__label{
  font-weight:700;
  letter-spacing:.2px;
}
.ct-hero--dark .ct-stats .ct-profile__img{
  border-color: rgba(255,255,255,.35);
  box-shadow: 0 8px 26px rgba(0,0,0,.35);
  background:#fff;
}

/* Inline “chips” sentence in hero */
.ct-inline-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:.5rem 0 .25rem;
}
.ct-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:.42rem .62rem;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.ct-chip:hover{
  background:rgba(255,255,255,.22);
}
.ct-chip--solid{
  background:#eef2ff;
  border:1px solid #c7d2fe;
  color:#1e3a8a;
}
.ct-chip--solid:hover{
  background:#e0e7ff;
  box-shadow:0 4px 10px rgba(30,58,138,.15);
  transform:translateY(-1px);
}
/* Slightly stronger chips on dark hero */
.ct-hero--dark .ct-chip{
  background: rgba(255,255,255,.20);
  border-color: rgba(255,255,255,.30);
}
.ct-hero--dark .ct-chip:hover{
  background: rgba(255,255,255,.28);
}

/* CTA band under hero */
.ct-section.ct-cta-band{
  margin-top:16px;
  margin-bottom:18px;
}
.ct-cta-band{
  background:var(--ct-soft);
  border:1px solid var(--ct-border);
  border-radius:var(--ct-radius);
  padding:14px;
}
.ct-grid-auto{
  display:grid;
  gap:16px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.ct-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:98px;
  border:1px solid #E2E8F0;
  border-radius:12px;
  background:#fff;
  padding:14px;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ct-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(15,46,99,.10);
  border-color:#cfe0ff;
}
.ct-cta a{
  color:inherit;
  text-decoration:none;
}
.ct-cta h3{
  margin:0 0 4px 0;
  font-size:clamp(18px,1.8vw,22px);
}

/* Feature / ordered lists */
.ct-list{
  padding-left:18px;
  margin:0;
}
.ct-list li{
  margin-bottom:10px;
}
.ct-list li strong{
  font-weight:700;
}

/* Program cards */
.ct-program h4{
  margin-top:0;
  margin-bottom:6px;
  font-weight:700;
}
.ct-program p{
  color:var(--ct-muted);
}
.ct-program .ct-actions{
  margin-top:12px;
  text-align:right;
}

/* Reviews wrapper */
.ct-reviews .carousel-item{
  padding:var(--ct-space-3);
}
.ct-reviews blockquote{
  margin:0;
}
.ct-reviews footer{
  color:var(--ct-muted);
}

/* Resources cards */
.ct-resource h4{
  margin-top:0;
  margin-bottom:6px;
  font-weight:700;
}

/* Footer */
.ct-footer{
  padding-top:var(--ct-space-4);
  padding-bottom:var(--ct-space-4);
}

/* NAVBAR — keep dark blue with white text */
/*
.navbar-custom-2{
  background: #363795 !important;
}
*/
.navbar-custom-2 .nav-link,
.navbar-custom-2 .navbar-brand{
  color:#fff !important;
}
.navbar-custom-2 .nav-link:hover{
  color:#cfe3ff !important;
}
/* Optional navbar CTA button */
.navbar-custom-2 .nav-item .btn-trial{
  margin-left:8px;
  padding:.45rem .8rem;
  border-radius:10px;
  border:1px solid #cfe0ff;
  color:#0f2e63;
  background:#cfe3ff;
}
.navbar-custom-2 .nav-item .btn-trial:hover{
  background:#bcd8ff;
}

/* Hamburger icon on dark bg */
.navbar-toggler-icon{
  background-image: linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);
  background-size: 20px 2px, 20px 2px, 20px 2px;
  background-position: center 8px, center 14px, center 20px;
  background-repeat:no-repeat;
}

/* Trust strip */
.ct-trust{
  text-align:center;
  padding-block:14px;
  margin-top:10px;
}
.ct-trust__text{
  font-weight:700;
  font-size:clamp(16px,1.6vw,20px);
  color:#0f2e63;
  margin-bottom:10px;
}
.ct-trust__logos{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  justify-content:center;
}
.ct-logo-img{
  height: clamp(28px, 4.2vw, 44px);
  width:auto;
  filter:none;
  border-radius:8px;
  background:#fff;
  padding:6px 10px;
  border:1px solid #E2E8F0;
}
@media (max-width:600px){
  .ct-logo-img{
    padding:4px 8px;
    border-radius:6px;
  }
}

/* Optional pill fallback (noscript) */
.ct-trust__pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-top:6px;
}
.ct-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid #E2E8F0;
  border-radius:12px;
  background:#fff;
  font-weight:700;
  color:#0f2e63;
  font-size:15px;
}

/* Metrics strip */
.ct-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  text-align:center;
  margin-top:10px;
}
.ct-metric__value{
  font-size:clamp(22px,2.6vw,30px);
  font-weight:800;
  letter-spacing:-.01em;
}
.ct-metric__label{
  color:#475569;
}

/* FAQ */
.ct-faq,
.ct-faq h2{
  text-align:left;
}
.ct-faq__item{
  border:1px solid #E2E8F0;
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
}
.ct-faq__item + .ct-faq__item{
  margin-top:10px;
}
.ct-faq__item summary{
  cursor:pointer;
  font-weight:600;
}
.ct-faq__item[open]{
  border-color:#cfe0ff;
  box-shadow:0 6px 16px rgba(15,46,99,.06);
}

/* Generic accordion look (also used on AP/IB pages) */
.ct-accordion details{
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  margin:10px 0;
  padding:14px;
}
.ct-accordion summary{
  cursor:pointer;
  font-weight:800;
  outline:none;
  list-style:none;
  text-align:left;
}
.ct-accordion summary::-webkit-details-marker{
  display:none;
}
.ct-accordion details[open]{
  box-shadow:0 1px 2px rgba(0,0,0,.05);
}
.ct-accordion details > div{
  margin-top:8px;
  color:#334155;
  line-height:1.6;
  text-align:left;
}

/* Ensure section headings are left by default */
.ct-section h2,
.ct-section h3{
  text-align:left;
}

/* Make ct-card--soft & FAQ content left-aligned (override any center) */
.ct-card--soft{
  text-align:left;
}
.ct-card--soft :where(h2,h3,h4,h5,p,ol,ul,li){
  text-align:left !important;
  margin-left:0;
}

/* AP hero subline (also fine to use on Home if desired) */
.ap-hero__subline{
  margin: clamp(6px, 1.1vw, 12px) 0 8px;
  font-size: clamp(14px, 1.8vw, 20px);
  line-height:1.25;
  font-weight:600;
  color:#EAF2FF;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.ap-hero__subline .ap-hero__90{
  font-weight:500;
  color:#fff;
  background:rgba(255,255,255,0.10);
  border:1px solid rgba(255,255,255,0.22);
  padding:.08em .38em;
  border-radius:.5em;
}

/* AP Results ribbon (optional helper) */
.ct-ribbon{
  margin:10px 0 14px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--ct-border);
  background:#F7FAFF;
}
.ct-ribbon strong{
  color:#0f2e63;
}

/* AP Results donut */
.ct-result{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.ct-donut{
  position:relative;
  width:clamp(140px,18vw,200px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
}
.ct-donut__ring{
  --p:90;
  --bg:#e2e8f0;
  --fg:#1f5fbf;
  width:100%;
  height:100%;
  border-radius:50%;
  background:
    radial-gradient(closest-side, #fff 67%, transparent 69% 100%),
    conic-gradient(var(--fg) calc(var(--p) * 1%), var(--bg) 0);
  box-shadow: inset 0 0 0 1px #e2e8f0;
}
.ct-donut__label{
  position:absolute;
  text-align:center;
  line-height:1.1;
}
.ct-donut__value{
  font-weight:800;
  font-size:clamp(20px,3vw,28px);
}
.ct-donut__caption{
  font-size:12px;
  color:#475569;
}
.ct-donut__legend{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  gap:12px;
  font-size:14px;
  color:#475569;
}
.swatch{
  width:10px;
  height:10px;
  display:inline-block;
  border-radius:2px;
  margin-right:6px;
}
.swatch--blue{ background:#1f5fbf; }
.swatch--muted{ background:#e2e8f0; }

/* AP Learn section: grid with video left, text right */
.ap-learn{
  display:grid;
  gap:clamp(16px,2.2vw,28px);
  align-items:center;
}
@media (min-width: 992px){
  .ap-learn{
    grid-template-columns: 1fr 1fr;
  }
}

/* Responsive video wrapper */
.ct-video{
  width:100%;
  aspect-ratio:16/9;
  border-radius:12px;
  overflow:hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
}
.ct-video iframe{
  width:100%;
  height:100%;
  display:block;
}

/* AP Group Classes section */
.ap-groups{ margin-block: clamp(16px,2.5vw,28px); }
.ap-groups__title{
  margin:0 0 12px 0;
  font-weight:800;
}

/* Horizontal scroller for small screens */
.table-scroller{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  background:#fff;
  border:1px solid #e6edf9;
  border-radius:14px;
  box-shadow: 0 1px 2px rgba(16,24,40,0.04);
}

/* AP groups table */
.ap-groups-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:900px;
  font-size:16px;
}
.ap-groups-table thead th{
  position:sticky;
  top:0;
  background:#3b4aa0;
  color:#fff;
  text-align:left;
  font-weight:700;
  padding:14px 16px;
  border-bottom:2px solid #2e3b86;
}
.ap-groups-table thead th:first-child{ border-top-left-radius:14px; }
.ap-groups-table thead th:last-child{ border-top-right-radius:14px; }
.ap-groups-table td{
  padding:16px;
  vertical-align:top;
  border-bottom:1px solid #e8eef9;
  background:#fff;
}
.ap-groups-table tbody tr:nth-child(odd) td{
  background:#f9fbff;
}
.ap-groups-table tbody tr:hover td{
  background:#f1f5ff;
  transition:background .2s ease;
}
.ap-groups-table .group-name strong{ font-weight:700; }
.ap-groups-table .hours .hours-val{ font-weight:700; }
.ap-groups-table .days .muted{ font-size:14px; }
.ap-groups-table .start{ white-space:nowrap; }
.ap-groups-table .empty{
  text-align:center;
  padding:28px;
}

/* Status badges */
.badge{
  display:inline-block;
  padding:.35em .6em;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  border:1px solid transparent;
  white-space:nowrap;
  margin:2px 6px 2px 0;
}
.badge--open{
  color:#166534;
  background:#e7f6ee;
  border-color:#bfead5;
}
.badge--progress{
  color:#3730a3;
  background:#eef2ff;
  border-color:#c7d2fe;
}
.badge--closed{
  color:#991b1b;
  background:#fff1f1;
  border-color:#fecaca;
}

/* Row state hooks (subtle left bar) */
.ap-groups-table tbody tr.is-open td:first-child{
  box-shadow: inset 3px 0 0 #1e7b50;
}
.ap-groups-table tbody tr.is-progress td:first-child{
  box-shadow: inset 3px 0 0 #4f46e5;
}
.ap-groups-table tbody tr.is-closed td:first-child{
  box-shadow: inset 3px 0 0 #c2410c;
}

/* Action cell */
.ap-groups-table .action{
  text-align:center;
  white-space:nowrap;
}

/* Footer rounding on last row */
.ap-groups-table tbody tr:last-child td:first-child{ border-bottom-left-radius:14px; }
.ap-groups-table tbody tr:last-child td:last-child{ border-bottom-right-radius:14px; }

/* Refined generic table shell for groups (wrapper) */
.ct-table--groups{
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  overflow:hidden;
}
.ct-table--groups table thead th{
  background:#3b4aa1;
  color:#fff;
  font-weight:700;
  font-size:clamp(12px,1.2vw,14px);
  padding:12px 14px;
  border:0;
  white-space:nowrap;
}
.ct-table--groups table tbody td{
  padding:14px;
  vertical-align:top;
  font-size:clamp(13px,1.1vw,15px);
  border-top:1px solid #edf2f7;
}
.ct-table--groups table tbody tr:nth-child(even){
  background:#fafbff;
}
@media (min-width: 992px){
  .ct-table--groups table th:first-child,
  .ct-table--groups table td:first-child{
    padding-left:18px;
  }
  .ct-table--groups table th:last-child,
  .ct-table--groups table td:last-child{
    padding-right:18px;
  }
}
.ct-table--groups .btn,
.ct-table--groups a.btn{
  font-weight:700;
  border-radius:10px;
  padding:8px 14px;
}
#ap-groups{
  margin-top:clamp(20px,3vw,32px);
}

/* Review body clamp */
.ct-review__body{
  line-height:1.6;
  position:relative;
}
.ct-review__body.is-clamped{
  display:-webkit-box;
  -webkit-line-clamp:7;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.ct-review__body.is-clamped::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2.6em;
  background:linear-gradient(to bottom, rgba(255,255,255,0), #fff);
}
.ct-readmore{
  margin-top:8px;
  background:none;
  border:0;
  color:#1b66d1;
  padding:0;
  cursor:pointer;
  font-weight:700;
}

/* IB page tweaks (safe to keep even if unused yet) */
#ib-hero.ct-hero--full{
  background:#363795;
  color:#fff;
  border-radius:14px;
  padding:24px;
}
#ib-hero .ct-hero__header h1{
  margin:0 0 6px;
  font-size:clamp(30px,3vw,42px);
}
#ib-hero .ap-hero__subline{
  margin: clamp(6px, 1.1vw, 12px) 0 8px;
  font-size: clamp(14px, 1.8vw, 20px);
  line-height:1.25;
  font-weight:600;
  color:#EAF2FF;
}
.ct-hero--full .ct-card--on-dark{
  background:#fff !important;
  color:#0f172a !important;
  border:1px solid #E2E8F0 !important;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.ct-ib-avatar{
  width: clamp(110px, 11vw, 160px);
  height: clamp(110px, 11vw, 160px);
  border-radius:50%;
  object-fit:cover;
  border:3px solid #E2E8F0;
  box-shadow:0 6px 20px rgba(0,0,0,.18);
  background:#fff;
}
#ib-chem .ct-section h2,
#ib-chem h2,
#ib-chem .ibx-banner h2{
  font-size:clamp(22px,2.2vw,28px);
  letter-spacing:-.015em;
}

/* Review grid spacing (shared) */
.ct-reviews-grid .ct-card{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ct-review .ct-stars{
  color:#b9910b;
  font-size:20px;
  letter-spacing:1px;
}

/* AP syllabus accordion */
.ap-syllabus .ap-topiclist{
  display:grid;
  grid-template-columns:1fr;
  gap:8px 20px;
  margin:8px 0 0;
  padding:0;
  list-style:none;
}
@media (min-width:768px){
  .ap-syllabus .ap-topiclist{
    grid-template-columns:1fr 1fr;
  }
}
.ap-syllabus .ap-topiclist li{
  margin:0;
  padding:0;
}
.ap-syllabus .unit-kicker{
  font-weight:700;
  font-size:12px;
  color:#64748b;
  margin-left:8px;
}

/* Utilities */
.visually-hidden{
  position:absolute!important;
  height:1px;
  width:1px;
  overflow:hidden;
  clip:rect(1px,1px,1px,1px);
  white-space:nowrap;
}
.muted{
  color:#6b7280;
}

/* --------------------------------------------------
   Fix hero text color on dark hero
   -------------------------------------------------- */

.ct-hero--dark,
.ct-hero--dark .ct-hero__header,
.ct-hero--dark .ct-summary,
.ct-hero--dark .ct-summary p,
.ct-hero--dark .ct-bullets li,
.ct-hero--dark .ap-hero__subline {
  color: #f5f7ff;             /* light text on dark background */
}

.ct-hero--dark a {
  color: #ffffff;
}

/* --------------------------------------------------
   Make hero inline links plain white text (no pill)
   -------------------------------------------------- */

/* Only affect the chips used inside hero inline links */
.ct-hero .ct-inline-links .ct-chip {
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0 0.25rem;
  border-radius: 0;
  font-weight: 600;            /* bold */
  color: #ffffff;
}

.ct-hero .ct-inline-links .ct-chip:hover,
.ct-hero .ct-inline-links .ct-chip:focus {
  background: none;
  box-shadow: none;
  color: #ffffff;
  text-decoration: underline;  /* optional; remove if you don't want underline */
}
