.cgx-cg-section{box-sizing:border-box;width:100%;font-family:inherit;color:#10224a}
.cgx-cg-section *{box-sizing:border-box}
.cgx-cg-section-head{margin:0 0 18px}
.cgx-cg-eyebrow{font-size:12px;line-height:1.4;color:#071ccB;margin:0 0 4px;letter-spacing:.02em}
.cgx-cg-heading-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.cgx-cg-heading{font-size:clamp(23px,2.2vw,34px);font-weight:700;line-height:1.15;margin:0;color:#071ccb}
.cgx-cg-side-text{font-size:13px;line-height:1.5;color:#34456a;max-width:52%;text-align:right}
.cgx-cg-accent{display:block;width:27px;height:3px;background:#ffb800;border-radius:4px;margin:8px 0}
.cgx-cg-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cgx-cg-card{background:#fff;border:1px solid #d9e9fa;border-radius:8px;min-width:0}
.cgx-cg-service-card{padding:16px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:210px}
.cgx-cg-icon{width:62px;height:62px;border-radius:50%;background:#eaf7ff;color:#071ccb;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:9px}
.cgx-cg-icon svg{width:1em;height:1em}
.cgx-cg-title{font-size:16px;line-height:1.25;font-weight:700;color:#071ccb;margin:0 0 8px}
.cgx-cg-copy{font-size:13px;line-height:1.45;color:#34456a;margin:0 0 12px}
.cgx-cg-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:20px;background:#071ccb;color:#fff!important;padding:9px 18px;font-size:12px;line-height:1.2;text-decoration:none!important;cursor:pointer;transition:opacity .2s}
.cgx-cg-button:hover{opacity:.88}
.cgx-cg-service-card .cgx-cg-button{margin-top:auto}
.cgx-cg-faq-link{display:inline-flex;gap:7px;align-items:center;margin-top:12px;color:#071ccb;font-size:13px;font-weight:600;text-decoration:none}
.cgx-cg-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:24px}
.cgx-cg-modal.is-open{display:flex}
.cgx-cg-modal-backdrop{position:absolute;inset:0;background:rgba(10,22,48,.48)}
.cgx-cg-modal-dialog{position:relative;z-index:1;width:min(100%,1100px);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;padding:30px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:32px;box-shadow:0 18px 70px rgba(0,0,0,.2)}
.cgx-cg-modal-image img{display:block;width:100%;height:100%;max-height:620px;object-fit:cover;border-radius:9px}
.cgx-cg-modal-body{align-self:center;padding:12px 8px}
.cgx-cg-modal-body h2{font-size:clamp(25px,3vw,38px);line-height:1.15;color:#071ccb;margin:0 0 22px}
.cgx-cg-modal-copy{font-size:15px;line-height:1.6;color:#34456a}
.cgx-cg-modal-copy p{margin:0 0 18px}
.cgx-cg-modal-close{position:absolute;right:12px;top:10px;border:0;background:#eef2fa;color:#071ccb;width:38px;height:38px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;z-index:2}
.cgx-cg-team{background:#eaf7ff}
.cgx-cg-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:10px}
.cgx-cg-featured-profile{display:flex;align-items:center;gap:38px;padding:16px 24px;min-height:182px}
.cgx-cg-featured-profile .cgx-cg-featured-photo{display:block;flex:0 0 166px;width:166px;max-width:166px;height:152px;object-fit:cover;object-position:center;border-radius:8px}
.cgx-cg-featured-info{flex:1;min-width:0}
.cgx-cg-featured-profile .cgx-cg-title{font-size:23px;line-height:1.25;margin:0 0 5px}
.cgx-cg-featured-profile .cgx-cg-subtitle{font-size:18px;line-height:1.35;color:#34456a;margin:0}
.cgx-cg-featured-profile .cgx-cg-accent{margin-top:14px;width:48px;height:3px}
.cgx-cg-small-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.cgx-cg-small-profile{padding:8px 12px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.cgx-cg-small-profile .cgx-cg-small-photo{display:block;width:100%;height:110px;object-fit:cover;object-position:center top;border-radius:7px}
.cgx-cg-small-profile strong{font-size:16px;color:#071ccb;line-height:1.2}
.cgx-cg-small-profile span{font-size:14px;color:#34456a;line-height:1.2}
.cgx-cg-avatar-placeholder{display:block;background:#eaf2fa;border-radius:7px;flex:0 0 auto}
.cgx-cg-featured-profile .cgx-cg-avatar-placeholder.cgx-cg-featured-photo{width:166px;max-width:166px;height:152px;flex-basis:166px}
.cgx-cg-small-profile .cgx-cg-avatar-placeholder.cgx-cg-small-photo{width:100%;height:110px}
.cgx-cg-appointments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cgx-cg-appointment-card{overflow:hidden}
.cgx-cg-appointment-card h3{font-size:15px;color:#071ccb;background:#eaf7ff;padding:10px 14px;margin:0}
.cgx-cg-appointment-card a,.cgx-cg-appointment-card>div{display:flex;align-items:center;gap:16px;padding:9px 16px;color:#071ccb;text-decoration:none;font-size:13px;border-top:1px solid #eef3f8}
.cgx-cg-contact-icon{font-size:18px;min-width:22px;text-align:center}
.cgx-cg-contact{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px;background:#eaf7ff}
.cgx-cg-contact-image img{display:block;width:100%;height:180px;object-fit:cover;border-radius:8px}
.cgx-cg-contact-content .cgx-cg-heading{font-size:26px}
.cgx-cg-contact-content .cgx-cg-copy{margin:7px 0 12px}
@media(max-width:767px){
 .cgx-cg-heading-row{align-items:flex-start;flex-direction:column;gap:7px}
 .cgx-cg-side-text{max-width:100%;text-align:left}
 .cgx-cg-services-grid{grid-template-columns:repeat(1,minmax(0,1fr))}
 .cgx-cg-featured-grid,.cgx-cg-appointments-grid{grid-template-columns:1fr}
 .cgx-cg-small-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cgx-cg-featured-profile img{width:96px;height:84px}
 .cgx-cg-modal{padding:12px}
 .cgx-cg-modal-dialog{grid-template-columns:1fr;gap:14px;padding:18px;max-height:94vh}
 .cgx-cg-modal-image img{height:210px}
 .cgx-cg-modal-body{padding:5px 0}
 .cgx-cg-modal-body h2{padding-right:34px}
 .cgx-cg-contact{grid-template-columns:1fr;gap:15px}
 .cgx-cg-contact-image img{height:170px}
}

/* Consistent orange section marker: shared by all four CGX widgets */
.cgx-cg-section-accent{
 display:block;
 width:52px;
 height:5px;
 background:#ffb800;
 border-radius:5px;
 margin:0 0 8px;
}
.cgx-cg-contact-content .cgx-cg-section-accent{margin-bottom:8px}
@media(max-width:767px){
 .cgx-cg-section-accent{width:48px;height:4px;margin-bottom:7px}
}

/* CGX v1.0.2 – compact team profile image layout */
@media(max-width:1024px){
 .cgx-cg-featured-profile{gap:22px;padding:14px 16px}
 .cgx-cg-featured-profile .cgx-cg-title{font-size:19px}
 .cgx-cg-featured-profile .cgx-cg-subtitle{font-size:15px}
 .cgx-cg-small-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:767px){
 .cgx-cg-featured-profile{gap:14px;padding:12px;min-height:0}
 .cgx-cg-featured-profile .cgx-cg-featured-photo,
 .cgx-cg-featured-profile .cgx-cg-avatar-placeholder.cgx-cg-featured-photo{width:112px;max-width:112px;height:112px;flex-basis:112px}
 .cgx-cg-featured-profile .cgx-cg-title{font-size:16px}
 .cgx-cg-featured-profile .cgx-cg-subtitle{font-size:13px}
 .cgx-cg-small-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .cgx-cg-small-profile{padding:7px}
 .cgx-cg-small-profile .cgx-cg-small-photo,
 .cgx-cg-small-profile .cgx-cg-avatar-placeholder.cgx-cg-small-photo{height:90px}
 .cgx-cg-small-profile strong{font-size:13px}
 .cgx-cg-small-profile span{font-size:12px}
}

/* CGX v1.0.3 – prevent profile portraits from cropping faces by default */
.cgx-cg-featured-profile .cgx-cg-featured-photo,
.cgx-cg-small-profile .cgx-cg-small-photo{
 object-fit:contain;
 object-position:center top;
 background:transparent;
}
/* Empty profile image areas stay hidden unless the Elementor placeholder control is enabled */
.cgx-cg-avatar-placeholder{display:none}
.cgx-cg-featured-profile .cgx-cg-avatar-placeholder.cgx-cg-featured-photo{display:none}
.cgx-cg-small-profile .cgx-cg-avatar-placeholder.cgx-cg-small-photo{display:none}

/* CGX v1.0.4 – FAQ/PDF link inside individual service cards */
.cgx-cg-service-card .cgx-cg-card-faq-link{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 margin:0 0 10px;
 text-align:center;
 line-height:1.3;
}

/* CGX v1.0.5 – service CTA can be a PDF/URL anchor and keeps button styling */
.cgx-cg-service-card .cgx-cg-service-cta-link{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 margin-top:auto;
}


/* CGX – Our Team Showcase widget (independent class namespace) */
.cgx-team-showcase{box-sizing:border-box;width:100%;display:flex;align-items:flex-start;gap:4.2%;background:#fff8f1;color:#172033;font-family:inherit}
.cgx-team-showcase *{box-sizing:border-box}
.cgx-team-showcase__intro{flex:0 0 40%;max-width:40%;padding-top:10px}
.cgx-team-showcase__accent{display:block;width:72px;height:5px;border-radius:5px;background:#f28b3c;margin:0 0 25px}
.cgx-team-showcase__heading{font-size:clamp(34px,3.2vw,58px);line-height:1.08;font-weight:700;color:#082f6b;margin:0 0 30px}
.cgx-team-showcase__description{font-size:19px;line-height:1.58;font-weight:400;color:#172033;margin:0;max-width:690px}
.cgx-team-showcase__cards{flex:1;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cgx-team-showcase__card{min-width:0;background:#fff;border:1px solid #EEF1F6;border-radius:18px;padding:14px;overflow:hidden;box-shadow:0 5px 18px rgba(12,34,66,.08)}
.cgx-team-showcase__profile{display:flex;align-items:stretch;height:auto;min-height:210px;gap:0;overflow:hidden}
.cgx-team-showcase__portrait{display:block;width:36%;height:auto;flex:0 0 36%;min-width:0;min-height:210px;object-fit:cover;object-position:center top;border-radius:12px;background:#eee9df}
.cgx-team-showcase__portrait--empty{background:#eee9df}
.cgx-team-showcase__details{flex:1;min-width:0;height:auto;padding:12px 8px 12px 22px;display:flex;flex-direction:column;justify-content:center}
.cgx-team-showcase__name{font-size:24px;line-height:1.22;font-weight:700;color:#082f6b;margin:0 0 15px}
.cgx-team-showcase__designation{font-size:18px;line-height:1.42;color:#172033;margin:0}
.cgx-team-showcase__accent--small{width:48px;height:4px;margin:22px 0 0}
.cgx-team-showcase__group-wrap{padding:14px 0 0}
.cgx-team-showcase__group-photo{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:center;border-radius:12px}
@media(max-width:1100px){
 .cgx-team-showcase{gap:3%}
 .cgx-team-showcase__intro{flex-basis:34%;max-width:34%}
 .cgx-team-showcase__profile{height:auto;min-height:190px}
 .cgx-team-showcase__portrait{height:auto}
 .cgx-team-showcase__details{padding:10px 6px 10px 16px}
 .cgx-team-showcase__name{font-size:20px}
 .cgx-team-showcase__designation{font-size:15px}
 .cgx-team-showcase__description{font-size:16px}
}
@media(max-width:767px){
 .cgx-team-showcase{display:block}
 .cgx-team-showcase__intro{max-width:100%;width:100%;margin:0 0 25px;padding-top:0}
 .cgx-team-showcase__accent{width:54px;height:4px;margin-bottom:15px}
 .cgx-team-showcase__heading{font-size:34px;margin-bottom:14px}
 .cgx-team-showcase__description{font-size:15px;line-height:1.5}
 .cgx-team-showcase__cards{grid-template-columns:1fr;gap:16px}
 .cgx-team-showcase__profile{height:auto;min-height:170px}
 .cgx-team-showcase__portrait{height:auto;width:36%;flex-basis:36%}
 .cgx-team-showcase__details{padding:8px 4px 8px 14px}
 .cgx-team-showcase__name{font-size:19px;margin-bottom:8px}
 .cgx-team-showcase__designation{font-size:14px}
 .cgx-team-showcase__accent--small{margin-top:12px}
 .cgx-team-showcase__group-wrap{padding:12px 0 0}
 .cgx-team-showcase__group-photo{aspect-ratio:16 / 10}
}

/* CGX v1.1.1 – lock the profile header row so group photos align across cards */
.cgx-team-showcase__card{display:flex;flex-direction:column}
.cgx-team-showcase__profile{flex:0 0 auto}
.cgx-team-showcase__portrait{align-self:stretch}
.cgx-team-showcase__group-wrap{flex:1 0 auto}
.cgx-team-showcase__group-photo{width:100%;height:auto}
@media(max-width:1100px){.cgx-team-showcase__profile{flex-basis:auto}.cgx-team-showcase__portrait{min-height:190px}}
@media(max-width:767px){.cgx-team-showcase__profile{flex-basis:auto}.cgx-team-showcase__portrait{min-height:170px}}


/* =========================================================
   CGX – FACILITIES WIDGET
   All selectors are namespaced to avoid theme/plugin clashes.
   ========================================================= */
.cgx-facilities{box-sizing:border-box;width:100%;background:#f5fafe;border:1px solid #e0effb;padding:18px;color:#092d91;font-family:inherit}
.cgx-facilities *{box-sizing:border-box}
.cgx-facilities__header{margin:0 0 14px}
.cgx-facilities__accent{display:block;width:42px;height:4px;border-radius:5px;background:#ff9d00;margin:0 0 7px}
.cgx-facilities__eyebrow{font-size:11px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:#7182a5;font-weight:600;margin:0 0 3px}
.cgx-facilities__heading{font-size:26px;line-height:1.15;font-weight:700;color:#092d91;margin:0 0 4px}
.cgx-facilities__description{font-size:14px;line-height:1.5;color:#465a83;margin:0}
.cgx-facilities__overview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 14px}
.cgx-facilities__icon-card{min-width:0;min-height:112px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #dcebfa;border-radius:7px}
.cgx-facilities__icon-wrap{width:58px;height:58px;border-radius:50%;background:#eaf6ff;display:flex;align-items:center;justify-content:center;color:#092dcc;margin:0 auto 7px}
.cgx-facilities__icon-wrap i{font-size:30px;line-height:1}
.cgx-facilities__icon-wrap svg{width:1em;height:1em;fill:currentColor}
.cgx-facilities__icon-title{font-size:13px;line-height:1.25;font-weight:700;color:#092d91;margin:0}
.cgx-facilities__details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.cgx-facilities__detail-card{min-width:0;min-height:130px;padding:14px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #dcebfa;border-radius:7px}
.cgx-facilities__detail-title{font-size:15px;line-height:1.3;font-weight:700;color:#092d91;margin:0 0 5px}
.cgx-facilities__detail-copy{font-size:13px;line-height:1.4;color:#465a83;margin:0}
@media(max-width:1024px){
 .cgx-facilities__overview{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cgx-facilities__details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 .cgx-facilities{padding:14px}
 .cgx-facilities__heading{font-size:23px}
 .cgx-facilities__description{font-size:13px}
 .cgx-facilities__overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .cgx-facilities__icon-card{min-height:100px;padding:10px 6px}
 .cgx-facilities__icon-wrap{width:48px;height:48px}
 .cgx-facilities__details-grid{grid-template-columns:1fr;gap:8px}
 .cgx-facilities__detail-card{min-height:0;padding:13px 12px}
}


/* =========================================================
   CGX – HISTORY TIMELINE (horizontal four-card design)
   ========================================================= */
.cgx-history{box-sizing:border-box;width:100%;padding:36px 24px;background:#fff;color:#102f68;font-family:inherit;overflow:hidden}
.cgx-history *{box-sizing:border-box}
.cgx-history__header{max-width:1160px;margin:0 auto 34px}
.cgx-history__accent{display:block;width:44px;height:5px;background:#f18f3f;margin:0 0 12px}
.cgx-history__eyebrow{font-size:14px;line-height:1.3;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#172033;margin:0 0 8px}
.cgx-history__heading{font-size:44px;line-height:1.12;font-weight:800;color:#102f68;margin:0 0 8px}
.cgx-history__description{font-size:18px;line-height:1.55;color:#222b3a;margin:0;max-width:1160px}
.cgx-history__timeline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding-top:76px}
.cgx-history__timeline:before{content:"";position:absolute;left:12.5%;right:12.5%;top:38px;height:7px;background:#c9e2fc;border-radius:10px}
.cgx-history__item{position:relative;min-width:0;padding-top:0}
.cgx-history__tick{position:absolute;z-index:2;top:-76px;left:50%;width:5px;height:76px;background:#c9e2fc;transform:translateX(-50%)}
.cgx-history__dot{position:absolute;left:50%;bottom:-13px;width:18px;height:18px;border:4px solid #fff;border-radius:50%;background:#f18f3f;box-shadow:0 2px 9px rgba(16,47,104,.12);transform:translateX(-50%)}
.cgx-history__card{height:100%;min-height:360px;padding:24px 22px;background:#f5fafe;border:1px solid #d7e9fc;border-radius:22px;display:flex;flex-direction:column;align-items:flex-start}
.cgx-history__top{display:flex;align-items:center;gap:24px;margin:0 0 16px;width:100%}
.cgx-history__icon-wrap{width:88px;height:88px;flex:0 0 88px;border-radius:50%;background:#e5f2ff;display:flex;align-items:center;justify-content:center;color:#102f68}
.cgx-history__icon-wrap i{font-size:34px;line-height:1}
.cgx-history__icon-wrap svg{width:1em;height:1em;fill:currentColor}
.cgx-history__year-wrap{min-width:0}
.cgx-history__year{font-size:42px;line-height:1;font-weight:800;color:#102f68;margin:0 0 14px}
.cgx-history__year-line{display:block;width:78px;height:6px;background:#f18f3f}
.cgx-history__title{font-size:21px;line-height:1.3;font-weight:800;color:#102f68;margin:0 0 12px}
.cgx-history__copy{font-size:17px;line-height:1.5;color:#222b3a;margin:0}
@media(max-width:1024px){
 .cgx-history{padding:30px 20px}
 .cgx-history__heading{font-size:36px}
 .cgx-history__description{font-size:16px}
 .cgx-history__timeline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px;padding-top:0}
 .cgx-history__timeline:before,.cgx-history__tick{display:none}
 .cgx-history__card{min-height:300px}
 .cgx-history__year{font-size:36px}
 .cgx-history__title{font-size:19px}
 .cgx-history__copy{font-size:15px}
}
@media(max-width:767px){
 .cgx-history{padding:24px 14px}
 .cgx-history__header{margin-bottom:22px}
 .cgx-history__heading{font-size:29px}
 .cgx-history__description{font-size:14px;line-height:1.55}
 .cgx-history__timeline{grid-template-columns:1fr;gap:12px}
 .cgx-history__card{min-height:0;padding:20px;border-radius:16px}
 .cgx-history__top{gap:16px;margin-bottom:12px}
 .cgx-history__icon-wrap{width:66px;height:66px;flex-basis:66px}
 .cgx-history__icon-wrap i{font-size:27px}
 .cgx-history__year{font-size:32px;margin-bottom:10px}
 .cgx-history__year-line{width:62px;height:5px}
 .cgx-history__title{font-size:17px;margin-bottom:8px}
 .cgx-history__copy{font-size:14px;line-height:1.5}
}


/* CGX v1.1.4 – History heading hierarchy/alignment correction.
   Keep the supplied reference typography consistent even when theme H2
   defaults or Elementor global heading styles are present. */
.cgx-history .cgx-history__header{
  max-width:1160px;
  margin:0 auto 34px;
}
.cgx-history .cgx-history__accent{
  width:66px;
  height:5px;
  margin:0 0 12px;
}
.cgx-history .cgx-history__eyebrow{
  font-size:14px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  margin:0 0 8px !important;
}
.cgx-history .cgx-history__heading{
  display:block;
  width:100%;
  max-width:none;
  font-size:44px !important;
  line-height:1.12 !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
  color:#102f68 !important;
  margin:0 0 8px !important;
  padding:0 !important;
  text-transform:none !important;
}
.cgx-history .cgx-history__description{
  max-width:1160px;
  font-size:18px !important;
  line-height:1.55 !important;
  margin:0 !important;
}
@media(max-width:1024px){
  .cgx-history .cgx-history__heading{font-size:36px !important}
  .cgx-history .cgx-history__description{font-size:16px !important}
}
@media(max-width:767px){
  .cgx-history .cgx-history__header{margin-bottom:22px}
  .cgx-history .cgx-history__heading{font-size:29px !important;letter-spacing:-.02em !important}
  .cgx-history .cgx-history__description{font-size:14px !important;line-height:1.55 !important}
}


/* =========================================================
   CGX v1.1.5 – HISTORY TIMELINE LAYOUT REBUILD
   Equal-width cards, consistent card internals and rail alignment.
   ========================================================= */
.cgx-history{
  width:100% !important;
  max-width:none !important;
  overflow:visible;
}
.cgx-history .cgx-history__header{
  width:100%;
  max-width:none;
  margin:0 0 30px;
}
.cgx-history .cgx-history__timeline{
  display:grid !important;
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch;
  position:relative;
  padding-top:76px;
  margin:0;
}
.cgx-history .cgx-history__timeline:before{
  left:12.5%;
  right:12.5%;
  top:38px;
  height:6px;
  border-radius:10px;
}
.cgx-history .cgx-history__item{
  display:flex;
  flex-direction:column;
  min-width:0;
  width:100%;
  height:100%;
  position:relative;
  padding:0;
}
.cgx-history .cgx-history__tick{
  top:-76px;
  height:76px;
  left:50%;
  width:5px;
}
.cgx-history .cgx-history__card{
  width:100%;
  min-width:0;
  height:100%;
  min-height:390px;
  padding:24px 22px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  border-radius:18px;
  overflow-wrap:anywhere;
  word-break:normal;
}
.cgx-history .cgx-history__top{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:20px;
  width:100%;
  min-height:88px;
  margin:0 0 18px;
}
.cgx-history .cgx-history__icon-wrap{
  width:76px;
  height:76px;
  min-width:76px;
  flex:0 0 76px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
}
.cgx-history .cgx-history__icon-wrap i,
.cgx-history .cgx-history__icon-wrap .elementor-icon{
  font-size:32px;
  line-height:1;
}
.cgx-history .cgx-history__icon-wrap svg{
  width:32px;
  height:32px;
}
.cgx-history .cgx-history__year-wrap{
  min-width:0;
  flex:1 1 auto;
}
.cgx-history .cgx-history__year{
  font-size:40px;
  line-height:1.05;
  font-weight:800;
  white-space:nowrap;
  margin:0 0 12px;
}
.cgx-history .cgx-history__year-line{
  width:76px;
  height:6px;
}
.cgx-history .cgx-history__title{
  display:block;
  width:100%;
  min-height:2.6em;
  font-size:20px;
  line-height:1.3;
  font-weight:800;
  margin:0 0 10px;
  overflow-wrap:break-word;
}
.cgx-history .cgx-history__copy{
  display:block;
  width:100%;
  font-size:16px;
  line-height:1.55;
  margin:0;
  overflow-wrap:break-word;
}
@media(max-width:1024px){
  .cgx-history .cgx-history__timeline{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
    padding-top:0;
  }
  .cgx-history .cgx-history__timeline:before,
  .cgx-history .cgx-history__tick{display:none}
  .cgx-history .cgx-history__card{min-height:340px}
}
@media(max-width:767px){
  .cgx-history .cgx-history__header{margin-bottom:22px}
  .cgx-history .cgx-history__timeline{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .cgx-history .cgx-history__card{
    min-height:0;
    padding:20px;
    border-radius:15px;
  }
  .cgx-history .cgx-history__top{
    min-height:64px;
    gap:15px;
    margin-bottom:13px;
  }
  .cgx-history .cgx-history__icon-wrap{
    width:62px;
    height:62px;
    min-width:62px;
    flex-basis:62px;
  }
  .cgx-history .cgx-history__year{font-size:32px}
  .cgx-history .cgx-history__title{
    min-height:0;
    font-size:17px;
  }
  .cgx-history .cgx-history__copy{font-size:14px}
}


/* v1.1.9: CGX Our Services popup close control — plain black cross */
.cgx-cg-services .cgx-cg-modal .cgx-cg-modal-dialog .cgx-cg-modal-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  z-index: 10 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none;
  background: transparent !important;
  color: #111111 !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  text-indent: 0 !important;
  cursor: pointer !important;
  transform: none !important;
}
.cgx-cg-services .cgx-cg-modal .cgx-cg-modal-dialog .cgx-cg-modal-close:hover,
.cgx-cg-services .cgx-cg-modal .cgx-cg-modal-dialog .cgx-cg-modal-close:focus,
.cgx-cg-services .cgx-cg-modal .cgx-cg-modal-dialog .cgx-cg-modal-close:focus-visible,
.cgx-cg-services .cgx-cg-modal .cgx-cg-modal-dialog .cgx-cg-modal-close:active {
  background: transparent !important;
  color: #000000 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
@media (max-width: 767px) {
  .cgx-cg-services .cgx-cg-modal .cgx-cg-modal-dialog .cgx-cg-modal-close {
    top: 8px !important;
    right: 8px !important;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    font-size: 26px !important;
  }
}
/* v1.2.1 – Our Team Showcase: equal profile photos & group photos aligned on one line */
@supports (grid-template-rows: subgrid){
 .cgx-team-showcase__cards{align-items:stretch}
 .cgx-team-showcase__card{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0;align-content:start}
 .cgx-team-showcase__profile{height:100%}
 .cgx-team-showcase__portrait{height:100%;align-self:stretch}
 .cgx-team-showcase__group-wrap{align-self:start}
}

/* For Appointments – CTA next to heading */
.cgx-cg-ap-headmain{display:flex;align-items:center;flex-wrap:wrap;gap:18px;min-width:0}
.cgx-cg-ap-cta{font-size:13px;font-weight:600;white-space:nowrap}
.cgx-cg-ap-cta-icon{display:inline-flex;align-items:center;line-height:1}
.cgx-cg-ap-cta-icon svg{width:1em;height:1em;fill:currentColor}
@media (max-width:767px){.cgx-cg-ap-headmain{gap:10px}}

/* v1.3.8 – Our Team Showcase: mobile fix.
   The "Intro column width" control (desktop 40%) was cascading to mobile and squeezing
   the heading + description into a narrow column. On mobile the intro is now always full width. */
@media(max-width:767px){
 .elementor-widget .cgx-team-showcase{display:block!important}
 .elementor-widget .cgx-team-showcase .cgx-team-showcase__intro{flex:none!important;width:100%!important;max-width:100%!important;margin:0 0 24px;padding-top:0}
 .elementor-widget .cgx-team-showcase .cgx-team-showcase__heading{white-space:nowrap;max-width:100%}
 .elementor-widget .cgx-team-showcase .cgx-team-showcase__description{max-width:100%!important;width:100%;text-align:left;hyphens:none;word-break:normal}
 .elementor-widget .cgx-team-showcase .cgx-team-showcase__cards{width:100%}
}
