/* CGC premium presentation layer. No content is hidden when scripts are absent. */
body.cgc-child-theme {
  --cgc-space-section:clamp(3.5rem,6vw,6rem);
  --cgc-space-gutter:clamp(1.25rem,4vw,3.5rem);
  --cgc-surface:#fff;
  --cgc-line:#dce2eb;
  --cgc-muted:#4b5c78;
  --cgc-gold-ink:#795519;
  --cgc-shadow-soft:0 8px 28px rgba(11,31,75,.055);
  --cgc-shadow-raised:0 18px 44px rgba(11,31,75,.11);
  --cgc-control-radius:10px;
}
/* Fluid hierarchy: expressive headings, comfortable reading, no fixed text heights. */
body.cgc-child-theme :is(.cgc-wrap,.cgc-about-page,.cgc-services-page,.cgc-programmes-page,.cgc-contact-page,.gc-gallery-page,.cgc-profile-page,.ccg-reg) {
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
body.cgc-child-theme :is(.cgc-wrap,.cgc-about-page,.cgc-services-page,.cgc-programmes-page,.cgc-contact-page,.gc-gallery-page,.cgc-profile-page) h1 {
  font-size:clamp(2.6rem,5.2vw,4.6rem);
  font-weight:500;
  line-height:1.06;
  letter-spacing:-.025em;
  text-wrap:balance;
}
body.cgc-child-theme :is(.cgc-section-header,.cgc-ce-hdr,.cgc-ap-hdr,.cgc-training-hdr,.cgc-sdeep-hdr,.gc-section-head) h2,
body.cgc-child-theme :is(.cgc-who,.cgc-why,.cgc-team,.cgc-values-sec,.cgc-vm,.cgc-partners,.cgc-advisory,.cgc-partnerships,.cgc-pricing,.cgc-faq,.cgc-profile-body) h2 {
  font-size:clamp(2rem,3.4vw,3rem);
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.015em;
  text-wrap:balance;
}
body.cgc-child-theme :is(.cgc-section-label,.cgc-eyebrow) {
  color:var(--cgc-gold-ink);
  letter-spacing:.16em;
  font-size:.75rem;
  font-weight:700;
}
body.cgc-child-theme :is(.cgc-hero,.cgc-phero,.cgc-pg-hero,.cgc-ct-hero,.cgc-cta,.cgc-cta-band,.cgc-advisory,.cgc-info-card) :is(.cgc-section-label,.cgc-eyebrow) {
  color:#efc66f;
}
body.cgc-child-theme :is(.cgc-services,.cgc-programmes,.cgc-training,.cgc-blog,.cgc-who,.cgc-values-sec,.cgc-team,.cgc-why,.cgc-partners,.cgc-sdeep,.cgc-pricing,.cgc-faq,.cgc-current-events,.cgc-all-programmes) {
  padding-block:var(--cgc-space-section);
  padding-inline:var(--cgc-space-gutter);
}
body.cgc-child-theme :is(.cgc-services-grid,.cgc-programmes-grid,.cgc-blog-grid,.cgc-cert-grid,.cgc-tformat-grid,.cgc-ce-grid,.cgc-vgrid,.cgc-tgrid) {
  gap:clamp(1rem,2.2vw,1.75rem);
}
/* Atmospheric hero surfaces use static light, not moving backgrounds. */
body.cgc-child-theme :is(.cgc-hero,.cgc-phero,.cgc-pg-hero,.cgc-ct-hero,.gc-gallery-hero) {
  background-color:var(--cgc-brand-navy);
  background-image:radial-gradient(ellipse at 90% 10%,rgba(105,133,192,.22),transparent 55%),linear-gradient(125deg,#08152f 0%,#102952 65%,#132b50 100%);
  border-bottom:1px solid rgba(229,169,60,.42);
}
body.cgc-child-theme :is(.cgc-phero,.cgc-pg-hero,.cgc-ct-hero,.gc-gallery-hero) {
  padding:clamp(3.25rem,6vw,5.75rem) var(--cgc-space-gutter);
}
body.cgc-child-theme :is(.cgc-phero,.cgc-pg-hero,.cgc-ct-hero,.gc-gallery-hero) h1 {color:#fff}
body.cgc-child-theme :is(.cgc-phero,.cgc-pg-hero,.cgc-ct-hero,.gc-gallery-hero)>p,
body.cgc-child-theme :is(.cgc-phero-inner,.cgc-pg-hero-inner,.cgc-ct-hero-inner)>p {
  color:#d5deef;
  font-size:clamp(1rem,1.3vw,1.125rem);
  line-height:1.8;
  max-width:62ch;
}
body.cgc-child-theme .cgc-hero-content {max-width:760px;padding-inline:var(--cgc-space-gutter)}
body.cgc-child-theme .cgc-hero p {max-width:52ch;line-height:1.8;color:#d5deef}
body.cgc-child-theme .cgc-hero-aside {background:rgba(255,255,255,.035);border-left:1px solid rgba(239,198,111,.18)}
body.cgc-child-theme .cgc-hero-stat-num {font-variant-numeric:tabular-nums}
/* Card depth is restrained and shared across the site's content types. */
body.cgc-child-theme :is(.cgc-service-card,.cgc-programme-pill,.cgc-blog-card,.cgc-cert-card,.cgc-tfcard,.cgc-vcard,.cgc-tcard,.cgc-pcard,.cgc-ce-card,.cgc-prog-card,.gc-p-card) {
  border:1px solid var(--cgc-line);
  border-radius:16px;
  box-shadow:var(--cgc-shadow-soft);
  transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease;
}
body.cgc-child-theme :is(.cgc-blog-card,.cgc-cert-card,.cgc-tfcard,.cgc-ce-card,.gc-p-card) {overflow:hidden}
body.cgc-child-theme :is(.cgc-service-card,.cgc-blog-body,.cgc-cert-body,.cgc-tfcard-body,.cgc-ce-body) {padding:clamp(1.35rem,2.5vw,2rem)}
body.cgc-child-theme :is(.cgc-service-card,.cgc-blog-card,.cgc-cert-card,.cgc-tfcard,.cgc-vcard,.cgc-tcard,.cgc-ce-card) p {
  font-size:1rem;
  line-height:1.8;
}
body.cgc-child-theme :is(.cgc-service-card,.cgc-blog-card,.cgc-cert-card,.cgc-tfcard,.cgc-vcard,.cgc-tcard,.cgc-ce-card) :is(h3,h4) {
  font-size:clamp(1.2rem,1.6vw,1.45rem);
  line-height:1.35;
  text-wrap:balance;
}
body.cgc-child-theme :is(.cgc-service-icon,.cgc-vcard-icon,.cgc-format-icon-wrap) {
  border-radius:12px;
  background:#fbf5e9;
  border:1px solid #ead9b5;
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body.cgc-child-theme :is(.cgc-service-card,.cgc-programme-pill,.cgc-blog-card,.cgc-cert-card,.cgc-tfcard,.cgc-vcard,.cgc-tcard,.cgc-pcard,.cgc-ce-card,.gc-p-card):hover {
    transform:translateY(-4px);
    box-shadow:var(--cgc-shadow-raised);
    border-color:#c5ad78;
  }
}
body.cgc-child-theme :is(.cgc-btn-primary,.cgc-btn-p,.cgc-pbtn-p,.cgc-register-btn,.cgc-profile-register) {
  background:var(--cgc-brand-navy);
  color:#fff;
  border:1px solid var(--cgc-brand-navy);
  box-shadow:0 4px 12px rgba(11,31,75,.12);
  font-size:.875rem;
  letter-spacing:.035em;
  font-weight:600;
  padding:13px 24px;
  text-align:center;
}
body.cgc-child-theme :is(.cgc-hero,.cgc-cta-band,.cgc-cta,.cgc-advisory) :is(.cgc-btn-primary,.cgc-btn-p,.cgc-pbtn-p) {
  background:#efc66f;color:#102447;border-color:#efc66f;
}
body.cgc-child-theme :is(.cgc-btn-primary,.cgc-btn-ghost,.cgc-btn-p,.cgc-btn-g,.cgc-pbtn,.cgc-register-btn,.cgc-profile-register,.ccg-reg button,.gc-search-btn,.gc-apply-filters) {
  transition:background-color 180ms ease,color 180ms ease,box-shadow 180ms ease;
}
body.cgc-child-theme :is(.cgc-btn-primary,.cgc-btn-p,.cgc-pbtn-p,.cgc-register-btn,.cgc-profile-register):hover {
  background:#234475;color:#fff;border-color:#234475;
}
body.cgc-child-theme :is(.cgc-hero,.cgc-cta-band,.cgc-cta,.cgc-advisory) :is(.cgc-btn-primary,.cgc-btn-p,.cgc-pbtn-p):hover {
  background:#ffe0a0;color:#102447;border-color:#ffe0a0;
}
body.cgc-child-theme :is(.cgc-whatsapp-link,.cgc-profile-whatsapp,.gc-view-all,.cgc-cert-link) {
  text-underline-offset:5px;
  text-decoration-thickness:1px;
}
/* Programme details retain native details/summary and unlimited content height. */
body.cgc-child-theme .cgc-prog-summary {padding:clamp(1.25rem,2.5vw,2rem);gap:1.25rem}
body.cgc-child-theme .cgc-prog-title {font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.4}
body.cgc-child-theme .cgc-prog-excerpt {font-size:1rem;line-height:1.75;color:var(--cgc-muted)}
body.cgc-child-theme .cgc-prog-card[open] {border-color:#c5ad78;box-shadow:var(--cgc-shadow-raised)}
body.cgc-child-theme .cgc-prog-detail-inner {gap:clamp(1.5rem,4vw,3rem)}
body.cgc-child-theme .cgc-prog-desc {font-size:1rem;line-height:1.85}
/* Directory controls and profile pages read as part of the same site. */
body.cgc-child-theme .gc-filter-rail {background:#faf9f6}
body.cgc-child-theme .gc-p-card .gc-name {font-size:1.2rem;line-height:1.4}
body.cgc-child-theme .gc-p-card .gc-p-bio {font-size:.9375rem;line-height:1.75;color:var(--cgc-muted)}
body.cgc-child-theme :is(.gc-search-box input,.gc-search-btn,.gc-apply-filters) {min-height:48px;border-radius:8px}
body.cgc-child-theme .gc-feat-card {border-radius:14px}
body.cgc-child-theme .gc-filmstrip {gap:1.25rem;scroll-snap-type:x proximity}
body.cgc-child-theme .gc-feat-card {scroll-snap-align:start}
body.cgc-child-theme .cgc-profile {border-radius:20px;box-shadow:var(--cgc-shadow-soft)}
body.cgc-child-theme .cgc-profile-header {background-image:radial-gradient(ellipse at 95% 0,rgba(105,133,192,.2),transparent 65%)}
body.cgc-child-theme .cgc-profile-cta {background:#faf6ec;border-color:#e8dabb;border-radius:14px}
/* Forms: no changes to processing, error messages, honeypots or hidden inputs. */
body.cgc-child-theme :is(.ccg-reg,.cgc-form-panel) {border:1px solid var(--cgc-line);border-radius:18px;box-shadow:var(--cgc-shadow-soft)}
body.cgc-child-theme .ccg-reg {padding:clamp(1.5rem,4vw,2.75rem)}
body.cgc-child-theme .ccg-reg h2 {font-size:clamp(2rem,3.3vw,2.6rem);line-height:1.15;margin-bottom:.75rem}
body.cgc-child-theme .ccg-reg :is(input[type=text],input[type=email],input[type=number],select),
body.cgc-child-theme .cgc-contact-page .wpforms-container .wpforms-form :is(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],select,textarea) {
  min-height:48px;
  border:1px solid #a9b6cb;
  border-radius:8px;
  background:#fcfdff;
  font:inherit;
  color:var(--cgc-brand-navy);
  padding:12px 14px;
}
body.cgc-child-theme .cgc-contact-page .wpforms-container .wpforms-form textarea {min-height:160px}
body.cgc-child-theme .cgc-contact-page .wpforms-container .wpforms-form button[type=submit] {
  background:var(--cgc-brand-navy);color:#fff;border:1px solid var(--cgc-brand-navy);border-radius:10px;min-height:48px;padding:12px 24px;font-weight:600;
}
body.cgc-child-theme .cgc-contact-page .wpforms-container .wpforms-form button[type=submit]:hover {background:#234475}
/* Footer retains theme placement and menu assignments. */
body.cgc-child-theme .cgc-footer {padding:clamp(2.5rem,5vw,4rem) var(--cgc-space-gutter) 1.5rem;border-top:1px solid #8f733f;background:linear-gradient(140deg,#08152c,#070f25)}
body.cgc-child-theme :is(.cgc-footer-grid,.cgc-footer-bottom) {max-width:1240px;margin-inline:auto}
body.cgc-child-theme .cgc-footer-brand-name {font-size:1.65rem;line-height:1.2}
body.cgc-child-theme .cgc-footer-desc {font-size:.9375rem;line-height:1.85}
body.cgc-child-theme .cgc-footer-col h2 {font-size:.8125rem;line-height:1.5;color:#d7dfed}
body.cgc-child-theme .cgc-footer-col ul li a {font-size:.9375rem}
body.cgc-child-theme .cgc-footer-tagline {font-size:.8125rem;line-height:1.65;color:#efc66f}
@media(max-width:640px) {
  body.cgc-child-theme :is(.cgc-hero-actions,.cgc-cta-actions,.cgc-cta-btns) {flex-wrap:wrap;gap:.875rem}
  body.cgc-child-theme .cgc-hero-actions>a {flex:1 1 100%;width:100%;justify-content:center}
  body.cgc-child-theme .cgc-prog-summary {gap:.875rem}
  body.cgc-child-theme .cgc-footer-grid {gap:2rem}
}
@media(prefers-reduced-motion:reduce) {
  body.cgc-child-theme :is(.cgc-service-card,.cgc-programme-pill,.cgc-blog-card,.cgc-cert-card,.cgc-tfcard,.cgc-vcard,.cgc-tcard,.cgc-pcard,.cgc-ce-card,.gc-p-card) {transform:none!important;transition:none!important}
  body.cgc-child-theme .gc-filmstrip {scroll-snap-type:none}
}

/* 1.1.1: refinements from the staging phone screenshots. */
body.cgc-child-theme .cgc-ce-card .cgc-register-btn {
  display:flex;
  justify-content:center;
  align-items:center;
  background:#efc66f;
  color:#102447;
  border:1px solid #efc66f;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  width:100%;
  margin-top:0;
}
body.cgc-child-theme .cgc-ce-card .cgc-register-btn:hover {background:#ffe0a0;color:#102447;border-color:#ffe0a0}
body.cgc-child-theme .cgc-ce-body .cgc-registration-actions {flex:1 1 100%;width:100%;align-items:stretch}
body.cgc-child-theme .cgc-ce-body .cgc-whatsapp-link {align-self:flex-start;padding-block:8px;min-height:44px;color:#e1e8f5}
body.cgc-child-theme .cgc-ce-body h3 {margin:0 0 1rem}
body.cgc-child-theme .cgc-ce-body .cgc-ce-badge {margin-bottom:1.25rem}
body.cgc-child-theme .cgc-ce-actions {gap:1rem;align-items:flex-start}
body.cgc-child-theme .cgc-ce-actions .cgc-view-details-btn {min-height:44px;align-items:center}
body.cgc-child-theme .cgc-hero-content>h1 {margin:0 0 1.25rem;padding:0}
body.cgc-child-theme .cgc-hero-eyebrow {margin:0 0 1.5rem}
body.cgc-child-theme .cgc-hero-content>p {margin:0 0 2rem}
@media(max-width:640px) {
  body.cgc-child-theme .cgc-hero-content {justify-content:flex-start;padding-block:2.75rem}
  body.cgc-child-theme .cgc-hero-eyebrow {gap:.75rem;align-items:center}
  body.cgc-child-theme .cgc-hero-eyebrow-line {flex:0 0 24px;width:24px}
  body.cgc-child-theme .cgc-hero-eyebrow-text {font-size:.6875rem;letter-spacing:.12em;line-height:1.7}
  body.cgc-child-theme .cgc-footer-col ul li {margin-bottom:0}
  body.cgc-child-theme .cgc-footer-col h2 {margin:0 0 .75rem}
  body.cgc-child-theme .cgc-footer-grid {row-gap:1.75rem;column-gap:1.25rem}
}
@media(min-width:360px) and (max-width:640px) {
  body.cgc-child-theme .cgc-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  body.cgc-child-theme .cgc-footer-grid>div:first-child {grid-column:1 / -1}
}
