/* ============================================================================
   HOME PAGE  (index.php)  -  page layer on top of CSS/cogent-v3.css
   ----------------------------------------------------------------------------
   Layout families down the page:
     hero (split) > trust chips > highlights (impact band) > services (bento)
     > brands (full-bleed marquee) > industries (split + carousel)
     > why-us (panel bento) > blogs (carousel) > testimonials (wall of love)
     > case studies (feature + list) > CTA band > FAQ (sticky split)
     > map (reversed split)
   Every selector is scoped to a home-page section class.
   ========================================================================== */

/* shared eyebrow pill (services + case studies) */
.home-service-content .svc-head > h6,
.home-cases .hc-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem; align-self: start; justify-self: start;
  font-family: var(--font-body) !important; font-weight: 600; font-size: .78rem; line-height: 1.2;
  letter-spacing: .12em; text-transform: uppercase; text-align: left;
  color: var(--accent); background: rgba(227,69,118,.09); border: 1px solid rgba(227,69,118,.22);
  padding: .4rem .85rem; border-radius: var(--r-pill); margin: 0 0 1.1rem;
}

/* ----------------------------------------------------------------------------
   1. SUCCESS HIGHLIGHTS  ("impact band")  -  no boxed panel: editorial header
      (heading left, copy + CTA right), then ONE row of oversized gradient
      numerals split by gradient hairlines, on a soft full-bleed aurora strip.
      Purecounter markup (.purecounter spans) is untouched, so count-up still runs.
   -------------------------------------------------------------------------- */
main > .container.p-0:has(> .counts) { padding-inline: calc(var(--bs-gutter-x, 1.5rem) * .5) !important; }
section.counts.impact {
  background: none; border: 0; border-radius: 0; box-shadow: none; padding-inline: 0; position: relative;
}
.impact .row.no-gutters {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: clamp(2rem,6vw,6rem);
  margin: 0; align-items: start;
}
.impact .row.no-gutters > * { width: auto; max-width: none; padding: 0; margin: 0 !important; }
.impact .row.no-gutters > .col-lg-5 { display: contents !important; }
.impact .row.no-gutters > .col-lg-5 > h2 {
  grid-column: 1; grid-row: 1 / span 3; align-self: start; margin: 0;
  font-size: clamp(2.4rem, 1.4rem + 3.2vw, 4.5rem); line-height: 1.02; letter-spacing: -.04em;
}
.impact .row.no-gutters > .col-lg-5 > h2::after { content: ""; display: block; width: 64px; height: 3px; margin-top: 1.25rem; border-radius: 3px; background: var(--grad-2); }
.impact .row.no-gutters > .col-lg-5 > p { grid-column: 2; max-width: 58ch; margin: 0 0 1rem !important; font-size: 1.02rem; line-height: 1.75; color: var(--ink-2); }
.impact .row.no-gutters > .col-lg-5 > p:nth-of-type(1) { grid-row: 1; }
.impact .row.no-gutters > .col-lg-5 > p:nth-of-type(2) { grid-row: 2; }
.impact .row.no-gutters > .col-12 { grid-column: 2; grid-row: 3; text-align: left !important; padding-top: .6rem; }

/* the stat row */
.impact .row.no-gutters > .col-lg-7 {
  grid-column: 1 / -1; grid-row: 4; position: relative; isolation: isolate;
  margin-top: clamp(2.5rem,5vw,4rem) !important; padding-block: clamp(2rem,4vw,3rem);
}
.impact .row.no-gutters > .col-lg-7::before {      /* aurora strip, full bleed */
  content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: calc(50% - 50vw); right: calc(50% - 50vw);
  background:
    radial-gradient(28% 120% at 18% 50%, rgba(91,79,176,.30), transparent 70%),
    radial-gradient(26% 110% at 50% 55%, rgba(227,69,118,.18), transparent 70%),
    radial-gradient(26% 110% at 82% 45%, rgba(242,156,72,.13), transparent 70%),
    linear-gradient(180deg, transparent, rgba(255,255,255,.015) 50%, transparent);
  pointer-events: none;
}
.impact .row.no-gutters > .col-lg-7::after {       /* gradient hairlines framing the strip */
  content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: calc(50% - 50vw); right: calc(50% - 50vw);
  background: var(--grad-line) top / 100% 1px no-repeat, var(--grad-line) bottom / 100% 1px no-repeat; opacity: .45; pointer-events: none;
}
.impact .col-lg-7 > .row {
  --bs-gutter-x: 0; --bs-gutter-y: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0; row-gap: 0; margin: 0;
}
.impact .col-lg-7 > .row > * {
  position: relative; width: auto; max-width: none; margin: 0 !important; display: block !important;
  padding: .25rem clamp(1rem,2.6vw,2.25rem);
}
.impact .col-lg-7 > .row > :first-child { padding-left: 0; }
.impact .col-lg-7 > .row > * + *::before {
  content: ""; position: absolute; left: 0; top: 4%; bottom: 4%; width: 1px;
  background: linear-gradient(180deg, transparent, rgba(124,108,240,.75) 25%, rgba(227,69,118,.85) 55%, rgba(242,156,72,.6) 80%, transparent);
}
.impact .count-box {
  background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  padding: 0 !important; min-height: 0; display: block; text-align: left;
}
.impact .count-box:hover { transform: none; }
.impact .count-box > .d-flex { justify-content: flex-start !important; align-items: flex-start !important; }
.impact .count-box :is(.purecounter, h3) {
  font-family: var(--font-head) !important; font-weight: 700; line-height: .95; letter-spacing: -.05em; margin: 0;
  font-size: clamp(3.5rem, 5.8vw, 6rem); font-variant-numeric: tabular-nums;
  background: var(--grad-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent !important;
}
.impact .count-box h3 { font-size: clamp(1.9rem, 3.2vw, 3.2rem); margin-left: .08em; line-height: 1.05; }
.impact .count-box h6 { margin: 1rem 0 0; }
.impact .count-box h6, .impact .count-box h6 b {
  font-family: var(--font-body) !important; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink-2) !important; -webkit-text-fill-color: var(--ink-2) !important;
}
@media (max-width: 991.98px) {
  .impact .row.no-gutters { grid-template-columns: 1fr; }
  .impact .row.no-gutters > .col-lg-5 > h2 { grid-row: auto; margin-bottom: 1.5rem; }
  .impact .row.no-gutters > .col-lg-5 > p, .impact .row.no-gutters > .col-lg-5 > p:nth-of-type(n),
  .impact .row.no-gutters > .col-12 { grid-column: 1; grid-row: auto; }
  .impact .row.no-gutters > .col-lg-7 { grid-column: 1; grid-row: auto; }
}
@media (max-width: 767.98px) {   /* 2 x 2 with hairlines between */
  .impact .col-lg-7 > .row { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .impact .col-lg-7 > .row > * { padding: 1.4rem 1rem 1.4rem 1.25rem; }
  .impact .col-lg-7 > .row > :nth-child(odd) { padding-left: 0; }
  .impact .col-lg-7 > .row > :nth-child(3)::before { display: none; }
  .impact .col-lg-7 > .row > :nth-child(n+3)::after {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px;
    background: linear-gradient(90deg, rgba(124,108,240,.7), rgba(227,69,118,.75), rgba(242,156,72,.5));
  }
  .impact .col-lg-7 > .row > :nth-child(1), .impact .col-lg-7 > .row > :nth-child(2) { padding-top: .25rem; }
  .impact .col-lg-7 > .row > :nth-child(3), .impact .col-lg-7 > .row > :nth-child(4) { padding-bottom: .25rem; }
  .impact .row.no-gutters > .col-lg-7 { padding-block: 1.75rem; }
}
@media (max-width: 575.98px) {
  .impact .row.no-gutters > .col-12 button { width: 100%; }
}

/* ----------------------------------------------------------------------------
   2. SERVICES  -  editorial split header + 7/5 alternating bento
   -------------------------------------------------------------------------- */
.home-service-content .svc-head {
  display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
  column-gap: clamp(2rem,5vw,5rem); align-items: end; text-align: left !important;
}
.home-service-content .svc-head > h6 { grid-column: 1; grid-row: 1; }
.home-service-content .svc-head > h2 {
  grid-column: 1; grid-row: 2; max-width: 19ch; margin: 0 !important; text-align: left;
  font-family: var(--font-head) !important; font-size: clamp(1.85rem, 1.2rem + 2vw, 2.95rem);
  font-weight: 700; line-height: 1.08; letter-spacing: -.03em;
}
.home-service-content .svc-head > h2 span { font-size: inherit; line-height: inherit; font-weight: inherit; }
.home-service-content .svc-head > p {
  grid-column: 2; grid-row: 1 / span 2; align-self: end; max-width: 54ch; margin: 0 !important;
  text-align: left; font-size: 1rem; line-height: 1.75; color: var(--ink-2);
}
.home-service-content .row:first-child { margin-bottom: clamp(2rem,4vw,3rem); }

.svc-bento { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: clamp(.9rem,1.6vw,1.25rem); }
.svc-cell { grid-column: span 12; display: flex; min-width: 0; }

.home-service-content .svc-card {
  display: flex; flex-direction: column; width: 100%; height: auto; padding: 0;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden;
}
.home-service-content .svc-card img {
  display: block; width: 100%; height: 200px; min-height: 200px; flex: 1 0 auto; aspect-ratio: auto;
  object-fit: cover; margin: 0; border-radius: 0 !important; background: var(--surface-2);
}
.home-service-content .svc-title { display: flex; align-items: center; gap: .9rem !important; padding: 1.5rem 1.6rem 0; }
.home-service-content .svc-title > div:empty { display: none; }
.home-service-content .svc-card h3 {
  margin: 0; color: var(--ink); font-family: var(--font-head) !important;
  font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); font-weight: 600; line-height: 1.25; letter-spacing: -.015em;
}
.svc-ico {
  flex: 0 0 44px; width: 44px; height: 44px; border-radius: var(--r-pill);
  display: grid; place-items: center; font-size: 1.05rem;
  background: var(--grad-soft), var(--surface-2); border: 1px solid var(--line-2);
}
.svc-ico i { background: var(--grad-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.home-service-content .svc-card > p {
  margin: .95rem 1.6rem 1.7rem !important; font-size: .95rem; line-height: 1.72; color: var(--ink-2);
}

/* wide tiles: image beside the copy, filling the full tile height */
@media (min-width: 992px) {
  .svc-cell--wide { grid-column: span 7; }
  .svc-cell--narrow { grid-column: span 5; }
  .svc-cell--wide .svc-card { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); grid-template-rows: 1fr auto auto 1fr; }
  .svc-cell--wide .svc-card img { grid-column: 1; grid-row: 1 / -1; height: 0; min-height: 100%; }
  .svc-cell--wide .svc-card .svc-title { grid-column: 2; grid-row: 2; padding-top: 1.85rem; }
  .svc-cell--wide .svc-card > p { grid-column: 2; grid-row: 3; }
  .svc-cell--flip .svc-card { grid-template-columns: minmax(0,1.28fr) minmax(0,.72fr); }
  .svc-cell--flip .svc-card img { grid-column: 2; }
  .svc-cell--flip .svc-card .svc-title, .svc-cell--flip .svc-card > p { grid-column: 1; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .svc-cell { grid-column: span 6; }
}

/* tile variations */
.home-service-content .svc-card--feature,
.home-service-content .svc-card--feature:hover {
  border: 1px solid transparent !important;
  background: var(--grad-soft) padding-box, linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-border) border-box !important;
  box-shadow: 0 34px 70px -38px rgba(227,69,118,.45);
}
.home-service-content .svc-card--frame,
.home-service-content .svc-card--frame:hover {
  background: radial-gradient(120% 70% at 50% 0%, rgba(227,69,118,.16), transparent 60%), var(--surface) !important;
}
.home-service-content .svc-card--frame img {
  margin: .6rem .6rem 0; width: calc(100% - 1.2rem); border-radius: var(--r-md) !important;
}
.home-service-content .svc-card--tint,
.home-service-content .svc-card--tint:hover {
  background: radial-gradient(110% 80% at 100% 100%, rgba(124,108,240,.24), transparent 62%), var(--surface) !important;
}
.home-service-content .svc-card--grad,
.home-service-content .svc-card--grad:hover {
  border-color: transparent !important;
  background: linear-gradient(rgba(12,9,24,.6), rgba(12,9,24,.6)), linear-gradient(150deg, #383070 0%, #E34576 55%, #F29C48 100%) !important;
  box-shadow: var(--glow);
}
.home-service-content .svc-card--grad h3 { color: #fff; }
.home-service-content .svc-card--grad > p { color: rgba(255,255,255,.9); }
.home-service-content .svc-card--grad > p a { color: #fff !important; text-decoration: underline !important; text-decoration-color: rgba(255,255,255,.55) !important; text-underline-offset: 3px; }
.home-service-content .svc-card--grad .svc-ico { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.28); }
.home-service-content .svc-card--grad .svc-ico i { background: none; -webkit-text-fill-color: #fff; color: #fff; }

/* the divider after services: a quiet gradient hairline */
.hori hr { height: 1px; margin: 0; background: var(--grad-line); opacity: .45; border: 0; }

/* ----------------------------------------------------------------------------
   3. BRAND WALL  -  bigger, full-colour, evenly padded logo chips
   -------------------------------------------------------------------------- */
.home-trust .brand-wall { gap: 1rem; }
.home-trust .brand-track { gap: 1rem; }
.home-trust .brand-item {
  width: 188px; height: 112px; padding: 10px 18px; background: #fff;
  border: 1px solid rgba(255,255,255,.85); border-radius: var(--r-md);
  box-shadow: 0 16px 30px -22px rgba(0,0,0,.9);
}
.home-trust .brand-item img { width: 100% !important; height: 100%; max-height: 100%; object-fit: contain; filter: none; opacity: 1; }
.home-trust .brands-head p { color: var(--ink-2); }
@media (max-width: 575.98px) {
  .home-trust .brand-item { width: 144px; height: 88px; padding: 8px 12px; }
  .home-trust .brand-wall, .home-trust .brand-track { gap: .7rem; }
}

/* ----------------------------------------------------------------------------
   4. INDUSTRIES  -  statement copy left, framed portrait slides right
   -------------------------------------------------------------------------- */
section.home-healthcare { background: none; position: relative; isolation: isolate; }
section.home-healthcare::before {
  content: ""; position: absolute; z-index: -1; left: -10%; top: 10%; width: min(640px, 80vw); aspect-ratio: 1;
  background: radial-gradient(closest-side, rgba(91,79,176,.22), rgba(227,69,118,.08) 55%, transparent); pointer-events: none;
}
.home-healthcare > .container > .row { align-items: center; --bs-gutter-x: clamp(1.5rem,4vw,3.5rem); }
.home-healthcare .col-md-4 { align-items: flex-start !important; justify-content: center !important; }
.home-healthcare .col-md-4 > h2:first-child {
  font-family: var(--font-body) !important; font-size: .82rem; font-weight: 600; line-height: 1.3;
  letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); text-shadow: none; margin: 0 0 .9rem;
}
.home-healthcare .col-md-4 > h2:nth-child(2) {
  font-size: clamp(2.3rem, 1.4rem + 2.8vw, 3.75rem); font-weight: 700; line-height: 1.02; letter-spacing: -.035em;
  max-width: 9ch; text-shadow: none; margin: 0;
  background: var(--grad-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.home-healthcare .col-md-4 .hover-btn { margin-top: 2rem !important; }

.home-healthcare #home-industry { margin-inline: -.5rem; width: auto; }
.home-healthcare #home-industry .post-slide { margin: 0 !important; padding: 0 .5rem !important; height: auto; }
.home-healthcare .owl-carousel .img-box {
  border-radius: var(--r-lg); overflow: hidden; background: var(--surface-2);
  border: 1px solid var(--line-2); box-shadow: var(--sh);
}
.home-healthcare .owl-carousel .img-box img {
  height: auto !important; aspect-ratio: 1022 / 1200; object-fit: cover; border-radius: 0 !important;
}
/* Owl v1 controls: dots left, arrows right, aligned to the slide edges */
section.home-healthcare .owl-controls {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  margin-top: 1.5rem; padding-inline: .5rem; text-align: left;
}
section.home-healthcare .owl-controls .owl-pagination { display: flex; flex-wrap: wrap; gap: .45rem; }
section.home-healthcare .owl-controls .owl-page { display: inline-flex; cursor: pointer; padding: 4px 0; }
section.home-healthcare .owl-controls .owl-page span {
  display: block; width: 8px; height: 8px; border-radius: var(--r-pill); background: var(--line-3);
  transition: width var(--t2) var(--ease), background var(--t2) var(--ease);
}
section.home-healthcare .owl-controls .owl-page.active span { width: 24px; background: var(--grad-2); }
section.home-healthcare .owl-controls .owl-buttons { display: flex; gap: .55rem; margin: 0 0 0 auto; }
section.home-healthcare .owl-controls .owl-buttons .owl-prev,
section.home-healthcare .owl-controls .owl-buttons .owl-next {
  position: static; display: grid; place-items: center; width: 48px; height: 48px; padding: 0;
  border-radius: var(--r-pill); border: 1px solid var(--line-2); background: var(--surface); color: var(--ink); cursor: pointer;
  transition: background var(--t2) var(--ease), border-color var(--t2) var(--ease), color var(--t2) var(--ease);
}
section.home-healthcare .owl-controls .owl-buttons .owl-prev:hover,
section.home-healthcare .owl-controls .owl-buttons .owl-next:hover { background: var(--grad-2); border-color: transparent; color: #fff; }
section.home-healthcare .owl-controls .owl-buttons .owl-prev::after,
section.home-healthcare .owl-controls .owl-buttons .owl-next::after {
  content: ""; display: block; width: 9px; height: 9px; font-size: 0;
  border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; color: inherit;
}
section.home-healthcare .owl-controls .owl-buttons .owl-prev::after { transform: translateX(2px) rotate(45deg); }
section.home-healthcare .owl-controls .owl-buttons .owl-next::after { transform: translateX(-2px) rotate(-135deg); }
@media (max-width: 991.98px) {
  .home-healthcare > .container > .row > .col-md-4,
  .home-healthcare > .container > .row > .col-md-8 { flex: 0 0 100%; max-width: 100%; width: 100%; }
  .home-healthcare .col-md-4 { margin-bottom: 2rem; }
  .home-healthcare .col-md-4 > h2:nth-child(2) { max-width: 14ch; }
}

/* ----------------------------------------------------------------------------
   5. WHY US  (.home-ready)  -  panel with split header + 6/3/3 . 3/3/6 bento
   -------------------------------------------------------------------------- */
.home-ready > .container { padding: clamp(1.75rem,4vw,3.25rem); }
.home-ready > .container > .row:first-child > .col-12 { text-align: left !important; }
.home-ready > .container > .row:first-child h4 { margin: 0 0 .85rem; max-width: 24ch; text-shadow: none; line-height: 1.1; }
.home-ready > .container > .row:first-child h2 {
  margin: 0; text-align: left; text-shadow: none; line-height: 1.45;
  font-family: var(--font-body) !important; font-size: clamp(1rem, .94rem + .3vw, 1.15rem); font-weight: 500; color: var(--ink-2);
}
main section.home-ready > .container > .row:first-child > .col-12 > h2::after { margin-inline: 0; }
.home-ready .col-boxe::before { display: none !important; }
.home-ready .col-boxe { width: 100%; min-height: 0; }
.home-ready .col-boxe h3 { font-family: var(--font-head) !important; font-size: clamp(1.15rem, 1rem + .45vw, 1.35rem); line-height: 1.25; letter-spacing: -.015em; }
.home-ready .col-boxe h6 { padding-top: 0; margin: 0; }

@media (min-width: 992px) {
  .home-ready .row.ready-bento.d-lg-flex {
    display: grid !important; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 1rem;
    margin: 0; padding-top: clamp(1.75rem,3vw,2.5rem) !important;
  }
  .home-ready .ready-bento > .rb-cell { width: auto; max-width: none; padding: 0; margin: 0 !important; display: flex; grid-column: span 3; }
  .home-ready .ready-bento > .rb-cell--1, .home-ready .ready-bento > .rb-cell--6 { grid-column: span 6; }
  .home-ready .ready-bento .col-boxe { display: flex; flex-direction: column; padding: 1.6rem 1.5rem !important; }
  .home-ready .ready-bento .read-more-btn { margin-top: auto; padding-top: 1rem; align-self: flex-start; }
  .home-ready .ready-bento .rb-cell--1 .col-boxe h3,
  .home-ready .ready-bento .rb-cell--6 .col-boxe h3 { font-size: clamp(1.6rem, 1.1rem + 1.2vw, 2.2rem); letter-spacing: -.03em; line-height: 1.1; max-width: 16ch; margin-bottom: 1rem; }
  .home-ready .ready-bento .rb-cell--1 .col-boxe h6,
  .home-ready .ready-bento .rb-cell--6 .col-boxe h6 { max-width: 48ch; }
}
/* tile variations: gradient fill, tinted, gradient border */
.home-ready .rb-cell--1 .col-boxe,
.home-ready .rb-cell--1 .col-boxe:hover {
  border-color: transparent !important;
  background: linear-gradient(rgba(12,9,24,.56), rgba(12,9,24,.56)), linear-gradient(140deg, #383070 0%, #E34576 58%, #F29C48 100%) !important;
  box-shadow: var(--glow) !important;
}
.home-ready .rb-cell--1 .col-boxe h3 { color: #fff !important; }
.home-ready .rb-cell--1 .col-boxe h6, .home-ready .rb-cell--1 .col-boxe .read-more-text { color: rgba(255,255,255,.9) !important; }
.home-ready .rb-cell--1 .read-more-btn { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(255,255,255,.5); }
.home-ready .rb-cell--4 .col-boxe,
.home-ready .rb-cell--4 .col-boxe:hover {
  background: radial-gradient(120% 90% at 0% 0%, rgba(124,108,240,.28), transparent 62%), rgba(255,255,255,.03) !important;
}
.home-ready .rb-cell--6 .col-boxe,
.home-ready .rb-cell--6 .col-boxe:hover {
  border: 1px solid transparent !important;
  background: var(--grad-soft) padding-box, linear-gradient(var(--surface-2), var(--surface-2)) padding-box, var(--grad-border) border-box !important;
}
/* mobile carousel cards */
.home-ready #carouselExampleInterval { margin-top: 1.75rem; }
.home-ready #carouselExampleInterval .col-boxe { min-height: 250px; display: flex; flex-direction: column; }
.home-ready #carouselExampleInterval .read-more-btn { margin-top: auto; }

/* ----------------------------------------------------------------------------
   6. RECENT BLOGS  -  split header, framed equal-height cards, nav under slides
   -------------------------------------------------------------------------- */
.custom-blogs { position: relative; z-index: 1; }
.custom-blogs > .container-fluid { padding: 0; }
.custom-blogs .container.py-5 {
  max-width: var(--maxw); padding-block: 0 !important;
  display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; column-gap: 2rem;
}
.custom-blogs .container.py-5 > .row { margin: 0; }
.custom-blogs .container.py-5 > .row > .col-12 { padding: 0; margin: 0 !important; }
.custom-blogs .container.py-5 > .row:first-child { grid-column: 1; grid-row: 1; }
.custom-blogs .container.py-5 > .row:first-child > .col-12 { text-align: left !important; }
.custom-blogs .container.py-5 > .row:last-child { grid-column: 2; grid-row: 1; }
.custom-blogs .container.py-5 > .row:last-child > .col-12 { text-align: right !important; }
.custom-blogs .container.py-5 > .blogSwiper { grid-column: 1 / -1; grid-row: 2; margin-top: clamp(1.75rem,3vw,2.5rem); }
.custom-blogs .section-title, .custom-blogs .section-title h2 { margin: 0 !important; text-align: left !important; }
.custom-blogs .section-title h2 {
  font-family: var(--font-head) !important; font-size: clamp(1.85rem, 1.2rem + 2vw, 2.95rem);
  font-weight: 700; line-height: 1.08; letter-spacing: -.03em; color: var(--ink); text-shadow: none;
}
.custom-blogs .section-title h2::after { content: ""; display: block; width: 64px; height: 3px; margin-top: .9rem; border-radius: 3px; background: var(--grad-2); }
/* "View All Blogs": secondary (glass outline) action, like the other "View all" links */
.custom-blogs .container.py-5 > .row:last-child .hover-btn,
.custom-blogs .course-card .hover-btn {
  background: rgba(255,255,255,.03) !important; border: 1px solid var(--line-3); box-shadow: none; color: var(--ink) !important;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.custom-blogs .container.py-5 > .row:last-child .hover-btn::after,
.custom-blogs .course-card .hover-btn::after { display: none; }
.custom-blogs .container.py-5 > .row:last-child .hover-btn:hover,
.custom-blogs .course-card .hover-btn:hover,
.custom-blogs .course-card:hover .hover-btn { border-color: var(--accent); background: rgba(227,69,118,.08) !important; box-shadow: none; }
.custom-blogs .course-card .hover-btn { padding: .65rem 1.2rem; font-size: .92rem; }

.custom-blogs .blogSwiper { padding: .5rem .25rem 4.75rem; margin-inline: -.25rem; }
.custom-blogs .blogSwiper .swiper-slide { height: auto; display: flex; }
.custom-blogs .blogSwiper .course-card {
  display: flex; flex-direction: column; width: 100%; height: 100%;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden;
  box-shadow: var(--sh-xs);
}
.custom-blogs .blogSwiper .course-card:hover {
  border-color: transparent;
  background: linear-gradient(var(--surface-2), var(--surface-2)) padding-box, var(--grad-border) border-box;
}
.custom-blogs .blogSwiper .img-wrapper { overflow: hidden; aspect-ratio: 16 / 9; background: var(--surface-2); flex: 0 0 auto; }
.custom-blogs .blogSwiper .img-wrapper a { display: block; height: 100%; }
.custom-blogs .blogSwiper .img-wrapper img {
  display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0 !important;
  transition: transform var(--t3) var(--ease);
}
.custom-blogs .blogSwiper .course-card h4 {
  margin: 0; padding: 1.25rem 1.4rem .55rem !important;
  font-family: var(--font-head) !important; font-size: 1.12rem; font-weight: 600; line-height: 1.35; letter-spacing: -.01em;
  background: none; -webkit-text-fill-color: currentColor; color: var(--ink); text-shadow: none;
  transition: color var(--t2) var(--ease);
}
.custom-blogs .blogSwiper .course-card > a:hover h4 { color: var(--accent); }
.custom-blogs .blogSwiper .course-card p.text-white {
  flex: 1 1 auto; padding: 0 1.4rem !important; color: var(--ink-2) !important; font-size: .93rem; line-height: 1.65;
}
.custom-blogs .blogSwiper .course-card > a.ms-2 { margin: 1.25rem 1.4rem 1.4rem !important; align-self: flex-start; }

.custom-blogs .blogSwiper .swiper-button-prev,
.custom-blogs .blogSwiper .swiper-button-next {
  top: auto; bottom: .25rem; margin: 0; width: 46px !important; height: 46px !important;
  color: var(--ink) !important; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r-pill);
  transition: background var(--t2) var(--ease), border-color var(--t2) var(--ease), color var(--t2) var(--ease);
}
.custom-blogs .blogSwiper .swiper-button-prev { left: auto; right: calc(.25rem + 56px); }
.custom-blogs .blogSwiper .swiper-button-next { right: .25rem; left: auto; }
.custom-blogs .blogSwiper .swiper-button-prev:hover,
.custom-blogs .blogSwiper .swiper-button-next:hover { background: var(--grad-2); border-color: transparent; color: #fff !important; }
.custom-blogs .blogSwiper .swiper-button-prev::after,
.custom-blogs .blogSwiper .swiper-button-next::after {
  content: "" !important; font-size: 0 !important; width: 9px; height: 9px;
  border-left: 2px solid currentColor; border-bottom: 2px solid currentColor;
}
.custom-blogs .blogSwiper .swiper-button-prev::after { transform: translateX(2px) rotate(45deg); }
.custom-blogs .blogSwiper .swiper-button-next::after { transform: translateX(-2px) rotate(-135deg); }
.custom-blogs .blogSwiper .swiper-navigation-icon { display: none; }
.custom-blogs .blogSwiper .swiper-pagination.swiper-pagination-horizontal {
  bottom: 1.15rem; left: .25rem; width: auto; text-align: left; display: flex; gap: .2rem; align-items: center;
}
.custom-blogs .blogSwiper .swiper-pagination-bullet { background: var(--line-3); opacity: 1; margin: 0 2px !important; transition: width var(--t2) var(--ease); }
.custom-blogs .blogSwiper .swiper-pagination-bullet-active { background: var(--grad-2); width: 22px; border-radius: var(--r-pill); }
@media (max-width: 767.98px) {
  .custom-blogs .container.py-5 { grid-template-columns: 1fr; }
  .custom-blogs .container.py-5 > .row:last-child { grid-column: 1; grid-row: 3; margin-top: .5rem; }
  .custom-blogs .container.py-5 > .row:last-child > .col-12 { text-align: left !important; }
  .custom-blogs .container.py-5 > .row:last-child .hover-btn { width: 100%; }
}

/* ----------------------------------------------------------------------------
   7. TESTIMONIALS  ("wall of love")  -  all 7 reviews visible at once.
      Heading block above; 3-col wall (featured + one wide card span 2), tinted
      cards for rhythm; phones get a horizontal scroll-snap rail. No Swiper here.
   -------------------------------------------------------------------------- */
.testimonial .tw-head { margin-bottom: clamp(2rem,4vw,3rem); text-align: left; }
.testimonial .tw-head h2 {
  margin: 0 0 .75rem; text-align: left; text-shadow: none;
  font-size: clamp(1.85rem, 1.2rem + 2vw, 2.95rem); line-height: 1.08; letter-spacing: -.03em;
}
main section.testimonial .tw-head > h2::after { content: none !important; }
.testimonial .tw-head h2 span {
  font-family: var(--font-head) !important; font-size: inherit; font-weight: inherit; line-height: inherit;
  background: var(--grad-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.testimonial .tw-head h6 { font-family: var(--font-body) !important; font-size: 1.02rem; font-weight: 500; line-height: 1.5; color: var(--ink-2); text-shadow: none; margin: 0; }
.testimonial .tw-head hr { display: block; width: 100%; height: 1px; border: 0; margin: 1.75rem 0 0; background: var(--grad-line); opacity: .7; }

.testimonial .collection { display: block; background: transparent; z-index: auto; min-width: 0; }
.testimonial .tw-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); grid-auto-flow: row dense; gap: clamp(1rem,1.6vw,1.25rem); }
.testimonial .collection .content.tw-card {
  width: auto; height: auto; padding: 0; margin: 0; background: none; overflow: visible;
  display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; min-width: 0;
}
.testimonial .tw-card--feature, .testimonial .tw-card--wide { grid-column: span 2; }

.testimonial .tw-card .t-link {
  display: grid; grid-template-columns: 48px minmax(0,1fr) auto;
  grid-template-areas: "q q q" "p p p" "hr hr hr" "av nm st";
  grid-template-rows: auto 1fr auto auto; column-gap: .85rem; align-items: center;
  width: 100%; height: 100%; text-align: left; padding: clamp(1.4rem,2.4vw,1.9rem);
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--sh-xs);
}
.testimonial .tw-card .text-content { display: contents; }
.testimonial .tw-card .t-link > img:first-child {
  grid-area: av; width: 48px; height: 48px; margin: 0; object-fit: cover; border-radius: 50% !important;
  box-shadow: 0 0 0 2px var(--surface), 0 0 0 3px rgba(227,69,118,.45);
}
.testimonial .tw-card .t-quote {
  grid-area: q; justify-self: start; font-size: 1.5rem; line-height: 1; margin-bottom: .9rem;
  background: var(--grad-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.testimonial .tw-card .text-content p {
  grid-area: p; align-self: start; display: block; -webkit-line-clamp: unset; overflow: visible; padding: 0 !important;
  font-size: .98rem; line-height: 1.72; letter-spacing: 0; color: var(--ink);
}
.testimonial .tw-card .text-content hr { grid-area: hr; width: 100%; height: 1px; border: 0; margin: 1.35rem 0 1.1rem; background: var(--line-2); opacity: 1; }
.testimonial .tw-card .text-content > img { grid-area: st; justify-self: end; align-self: center; margin: 0; border-radius: 0 !important; }
.testimonial .tw-card .text-content h3 { grid-area: nm; margin: 0; text-align: left; font-size: .98rem; line-height: 1.35; }
.testimonial .tw-card .text-content h3 span { font-size: .84rem; }

/* featured review: wider, gradient border, larger quote type */
.testimonial .tw-card--feature .t-link,
.testimonial .tw-card--feature .t-link:hover {
  border-color: transparent !important; padding: clamp(1.6rem,3.2vw,2.6rem);
  background: radial-gradient(70% 90% at 0% 0%, rgba(124,108,240,.18), transparent 60%) padding-box,
              radial-gradient(60% 80% at 100% 100%, rgba(242,156,72,.10), transparent 60%) padding-box,
              linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-border) border-box !important;
  box-shadow: 0 34px 70px -40px rgba(227,69,118,.5);
}
.testimonial .tw-card--feature .t-quote { font-size: 2.4rem; margin-bottom: 1.1rem; }
.testimonial .tw-card--feature .text-content p { font-size: clamp(1.15rem, 1rem + .55vw, 1.45rem); line-height: 1.6; letter-spacing: -.005em; max-width: 58ch; }
.testimonial .tw-card--feature .t-link { grid-template-columns: 56px minmax(0,1fr) auto; }
.testimonial .tw-card--feature .t-link > img:first-child { width: 56px; height: 56px; }
/* rhythm: tinted + gradient-soft cards */
.testimonial .tw-card--tint .t-link,
.testimonial .tw-card--tint .t-link:hover {
  background: radial-gradient(110% 80% at 100% 0%, rgba(124,108,240,.22), transparent 62%), var(--surface) !important;
}
.testimonial .tw-card--soft .t-link,
.testimonial .tw-card--soft .t-link:hover {
  background: var(--grad-soft), var(--surface) !important;
}
.testimonial .tw-card--wide .text-content p { max-width: 64ch; font-size: clamp(1.05rem, .95rem + .4vw, 1.25rem); line-height: 1.65; }
.testimonial .tw-card--wide .t-quote { font-size: 2rem; }

@media (max-width: 991.98px) {
  .testimonial .tw-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .testimonial .tw-card--wide { grid-column: auto; }
}
@media (max-width: 767.98px) {   /* phones: horizontal scroll-snap rail */
  .testimonial .tw-grid {
    display: flex; gap: .85rem; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
    margin-inline: calc(var(--bs-gutter-x, 1.5rem) * -.5); padding: .25rem calc(var(--bs-gutter-x, 1.5rem) * .5) 1rem;
    scroll-padding-inline: calc(var(--bs-gutter-x, 1.5rem) * .5); scrollbar-width: thin; scrollbar-color: var(--line-3) transparent;
  }
  .testimonial .collection .content.tw-card { flex: 0 0 86%; scroll-snap-align: start; }
  .testimonial .tw-card--feature .text-content p { font-size: 1.08rem; }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 768px) {
  @supports (animation-timeline: view()) {
    .testimonial .tw-card { animation: v3-reveal linear both; animation-timeline: view(); animation-range: entry 0% entry 35%; }
    .testimonial .tw-card:nth-child(3n+2) { animation-range: entry 8% entry 45%; }
    .testimonial .tw-card:nth-child(3n) { animation-range: entry 16% entry 55%; }
  }
}

/* ----------------------------------------------------------------------------
   8. CASE STUDIES  -  feature card + two horizontal list cards
   -------------------------------------------------------------------------- */
.home-cases > .container > .row:first-child { --bs-gutter-x: 2rem; margin-bottom: clamp(1.75rem,3vw,2.5rem) !important; }
.home-cases > .container > .row:first-child h2 { margin-bottom: .9rem; }
.home-cases .hc-grid { --bs-gutter-x: 0; --bs-gutter-y: 0; display: grid; gap: 1.25rem; margin: 0; }
.home-cases .hc-grid > .hc-cell { width: auto; max-width: none; padding: 0; margin: 0; min-width: 0; display: flex; }
.home-cases .hc-card { width: 100%; }
.home-cases .hc-cell--feature .hc-card,
.home-cases .hc-cell--feature .hc-card:hover {
  border: 1px solid transparent;
  background: var(--grad-soft) padding-box, linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-border) border-box;
}
.home-cases .hc-cell--feature .hc-card h3 { font-size: clamp(1.2rem, 1rem + .7vw, 1.55rem); line-height: 1.25; }
@media (min-width: 992px) {
  .home-cases .hc-grid { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); grid-template-rows: 1fr 1fr; }
  .home-cases .hc-cell--feature { grid-row: 1 / span 2; }
  .home-cases .hc-cell--feature .hc-thumb { aspect-ratio: auto; flex: 1 1 auto; min-height: 300px; position: relative; }
  .home-cases .hc-cell--feature .hc-thumb img { position: absolute; inset: 0; }
}
@media (min-width: 576px) {
  .home-cases .hc-cell--row .hc-card { flex-direction: row; }
  .home-cases .hc-cell--row .hc-thumb { flex: 0 0 42%; aspect-ratio: auto; position: relative; min-height: 220px; }
  .home-cases .hc-cell--row .hc-thumb img { position: absolute; inset: 0; }
  .home-cases .hc-cell--row .hc-body { justify-content: center; padding: 1.5rem 1.6rem; }
}
@media (max-width: 991.98px) {
  .home-cases .hc-grid { grid-template-columns: 1fr; }
  .home-cases > .container > .row:first-child .text-lg-end { margin-top: 1.25rem !important; }
}

/* ----------------------------------------------------------------------------
   9. CTA BAND  -  copy left, action right, decorative rings
   -------------------------------------------------------------------------- */
.home-take > .container { padding: clamp(2rem,4vw,3.25rem) clamp(1.5rem,4.5vw,3.75rem); }
.home-take > .container::after {
  content: ""; position: absolute; right: -6%; top: 50%; width: min(520px, 70vw); aspect-ratio: 1; transform: translateY(-50%);
  background: repeating-radial-gradient(circle, rgba(255,255,255,.16) 0 1px, transparent 1px 34px);
  -webkit-mask-image: radial-gradient(closest-side, #000 30%, transparent); mask-image: radial-gradient(closest-side, #000 30%, transparent);
  pointer-events: none;
}
.home-take .row { z-index: 1; }
.home-take .row > .col-lg-12 {
  justify-content: space-between !important; text-align: left !important; gap: 1.25rem 2rem !important;
}
.home-take h4 { max-width: 22ch; font-size: clamp(1.55rem, 1.15rem + 1.6vw, 2.5rem); line-height: 1.12; text-shadow: none; }
.home-take button { flex: 0 0 auto; padding: 1rem 1.9rem; }
.home-take button a { font-size: 1rem; }
@media (max-width: 991.98px) {
  .home-take .row > .col-lg-12 { align-items: flex-start !important; }
}
@media (max-width: 575.98px) {
  .home-take button { width: 100%; }
}

/* ----------------------------------------------------------------------------
   10. FAQ  -  sticky heading column + accordion
   -------------------------------------------------------------------------- */
.faq .faq-split {
  display: grid; grid-template-columns: minmax(0,4fr) minmax(0,8fr); grid-template-rows: auto 1fr;
  column-gap: clamp(2rem,5vw,4.5rem); row-gap: 2rem; align-items: start;
}
.faq .faq-split > .accordion { grid-column: 2; grid-row: 1 / span 2; }
.faq .faq-split > h2 { grid-column: 1; grid-row: 1; }
.faq .faq-art {
  grid-column: 1; grid-row: 2; position: relative; overflow: hidden; width: 100%; max-width: 340px; aspect-ratio: 1;
  display: grid; place-items: center; border-radius: var(--r-xl); border: 1px solid transparent;
  background: radial-gradient(70% 70% at 30% 20%, rgba(124,108,240,.28), transparent 70%) padding-box,
              radial-gradient(60% 60% at 80% 90%, rgba(242,156,72,.18), transparent 70%) padding-box,
              linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad-border) border-box;
}
.faq .faq-art::before {
  content: ""; position: absolute; inset: 0;
  background: repeating-radial-gradient(circle at 50% 50%, rgba(255,255,255,.07) 0 1px, transparent 1px 30px);
  -webkit-mask-image: radial-gradient(closest-side, #000 40%, transparent); mask-image: radial-gradient(closest-side, #000 40%, transparent);
}
.faq .faq-art::after {   /* glass bubbles artwork (decorative, CSS only) */
  content: ""; position: absolute; inset: 8%;
  background: url("/Images/faq-glass-bubbles.webp") center / contain no-repeat;
  filter: drop-shadow(0 26px 40px rgba(227,69,118,.22));
}
@media (prefers-reduced-motion: no-preference) {
  .faq .faq-art::after { animation: home-float 7s ease-in-out infinite alternate; }
}
@keyframes home-float { from { transform: translateY(-6px); } to { transform: translateY(8px) rotate(-1.5deg); } }
.faq .faq-split > h2 {
  margin: 0; text-align: left;
  font-family: var(--font-head) !important; font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.6rem); font-weight: 700;
  line-height: 1.02; letter-spacing: -.035em; color: var(--ink) !important;
}
.faq .faq-split > h2::after { content: ""; display: block; width: 64px; height: 3px; margin-top: 1rem; border-radius: 3px; background: var(--grad-2); }
.faq .faq-split > .accordion { max-width: none; margin: 0; }
.faq .accordion-item { margin: 0 !important; }
.faq .accordion-header { font-size: 1rem; line-height: 1.45; margin: 0 !important; text-wrap: wrap; }
.faq .accordion-button { gap: 1rem; text-wrap: pretty; line-height: 1.45 !important; }
@media (max-width: 991.98px) {
  .faq .faq-split { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 1.75rem; }
  .faq .faq-split > h2, .faq .faq-split > .accordion { grid-column: 1; grid-row: auto; }
  .faq .faq-art { display: none; }
}

/* ----------------------------------------------------------------------------
   11. MAP  -  reversed split: framed map left, address column right
   -------------------------------------------------------------------------- */
section.home-map { background: transparent; text-align: left; }
.home-map > .container {
  display: grid; grid-template-columns: minmax(0,8fr) minmax(0,4fr); grid-template-rows: 1fr 1fr;
  column-gap: clamp(2rem,5vw,4.5rem); align-items: start;
}
.home-map > .container > h2 {
  grid-column: 2; grid-row: 1; align-self: end; text-align: left; margin: 0 0 1.5rem;
  font-family: var(--font-head) !important; font-size: clamp(1.85rem, 1.2rem + 2vw, 2.95rem); line-height: 1.08; letter-spacing: -.03em;
}
.home-map > .container > p.map-sub {
  grid-column: 2; grid-row: 2; position: relative; text-align: left; margin: 0 !important;
  padding: 1.25rem 1.25rem 1.25rem 4.25rem; font-size: 1rem; line-height: 1.65; color: var(--ink-2);
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg);
}
.home-map > .container > p.map-sub::before {
  content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 1rem; color: #fff;
  position: absolute; left: 1.25rem; top: 1.25rem; width: 40px; height: 40px; display: grid; place-items: center;
  border-radius: var(--r-pill); background: var(--grad-2); box-shadow: var(--glow);
}
.home-map > .container > .map-embed {
  grid-column: 1; grid-row: 1 / span 2; padding-bottom: 0; height: clamp(340px, 32vw, 440px);
  border-radius: var(--r-xl); border: 1px solid var(--line-2); background: var(--surface); box-shadow: var(--sh);
}
.home-map .map-embed iframe { border: 0 !important; border-radius: 0 !important; box-shadow: none; }
@media (min-width: 992px) {
  .home-map > .container > p.map-sub { align-self: start; }
}
@media (max-width: 991.98px) {
  .home-map > .container { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 0; }
  .home-map > .container > h2 { grid-column: 1; grid-row: 1; }
  .home-map > .container > p.map-sub { grid-column: 1; grid-row: 2; margin-bottom: 1.25rem !important; }
  .home-map > .container > .map-embed { grid-column: 1; grid-row: 3; height: 320px; }
}

/* ----------------------------------------------------------------------------
   12. RESPONSIVE + MOTION
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
  .home-service-content .svc-head { grid-template-columns: 1fr; row-gap: 0; }
  .home-service-content .svc-head > p { grid-column: 1; grid-row: 3; margin-top: 1.25rem !important; }
  .home-service-content .svc-title { padding: 1.25rem 1.25rem 0; }
  .home-service-content .svc-card > p { margin: .85rem 1.25rem 1.4rem !important; }
}
@media (prefers-reduced-motion: no-preference) {
  .custom-blogs .blogSwiper .course-card { transition: transform var(--t2) var(--ease), box-shadow var(--t2) var(--ease); }
  .custom-blogs .blogSwiper .course-card:hover { transform: translateY(-4px); box-shadow: var(--sh); }
  .custom-blogs .blogSwiper .course-card:hover .img-wrapper img { transform: scale(1.04); }
  .home-healthcare .owl-carousel .img-box img { transition: transform var(--t3) var(--ease); }
}
@media (hover: none) {
  .custom-blogs .blogSwiper .course-card:hover { transform: none; }
}

/* ----------------------------------------------------------------------------
   13. FIX-UPS
   -------------------------------------------------------------------------- */
/* legacy ".home-healthcare span" (42px, padding-bottom) would inflate the owl dots */
section.home-healthcare .owl-controls .owl-page span { padding: 0; font-size: 0; line-height: 0; }
/* case study feature: keep the poster's headline in frame */
.home-cases .hc-cell--feature .hc-thumb img { object-position: center 18%; }
/* legacy decorative ".circle" (d-md-block) only pushed the industries copy off-centre */
.home-healthcare .circle { display: none !important; }
/* services heading rule: left-aligned with the heading (the col still carries .text-center) */
main section.home-service-content .svc-head > h2::after { margin-inline: 0 !important; }
/* case-study thumbs: image always fills its frame (no dark band under it) */
.home-cases .hc-thumb { position: relative; }
.home-cases .hc-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0 !important; }
@media (min-width: 992px) { .home-cases .hc-cell--feature .hc-body { padding: 1.6rem 1.75rem 1.75rem; } }
/* phones: framed panels sit inside the 12px page gutter instead of touching the screen edges */
@media (max-width: 575.98px) {
  .home-ready > .container, .home-take > .container { width: calc(100% - 24px); margin-inline: auto; }
  .home-ready > .container, .home-take > .container { padding: 1.75rem 1.25rem; }
}
/* impact band (stacked): CTA follows the copy, stats come last */
@media (max-width: 991.98px) {
  .impact .row.no-gutters > .col-12 { order: 1; }
  .impact .row.no-gutters > .col-lg-7 { order: 2; }
}
/* testimonial rail cards: stars drop under the name so names never wrap awkwardly */
@media (max-width: 767.98px) {
  .testimonial .tw-card .t-link, .testimonial .tw-card--feature .t-link {
    grid-template-columns: 48px minmax(0,1fr);
    grid-template-areas: "q q" "p p" "hr hr" "av nm" "av st";
    grid-template-rows: auto 1fr auto auto auto; row-gap: .3rem;
  }
  .testimonial .tw-card .text-content > img { justify-self: start; }
  .testimonial .tw-card--feature .t-link > img:first-child { width: 48px; height: 48px; }
  .testimonial .tw-card .text-content hr { margin: 1.1rem 0 .7rem; }
}
