:root {
  --gc-primary: #173a8a;
  --gc-primary-dark: #0f245b;
  --gc-primary-soft: #edf3ff;
  --gc-secondary: #ed3f32;
  --gc-secondary-dark: #c92821;
  --gc-accent: #f6b916;
  --gc-teal: #079f91;
  --gc-ink: #17213a;
  --gc-muted: #657089;
  --gc-soft: #f4f7fc;
  --gc-white: #fff;
  --gc-line: #e2e8f2;
  --gc-success: #15844d;
  --gc-radius: 16px;
  --gc-radius-sm: 11px;
  --gc-shadow: 0 12px 30px rgba(18, 37, 83, .10);
  --gc-shadow-sm: 0 6px 18px rgba(18, 37, 83, .075);
  --gc-container: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; text-size-adjust: 100%; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--gc-ink);
  background: #fff;
  font-family: Arial, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--gc-primary); text-decoration: none; }
a:hover, a:focus { color: var(--gc-secondary); text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { touch-action: manipulation; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(23, 58, 138, .25); outline-offset: 2px; }
::selection { background: rgba(23, 58, 138, .16); }

.container { width: min(calc(100% - 32px), var(--gc-container)); margin-inline: auto; }
#wrapper { width: 100%; overflow-x: hidden; background: #fff; }
.main-content { min-height: 55vh; }
.gc-section, .gc-footer, .gc-cta { contain: layout style paint; }

/* Top utility area */
.gc-utility-bar { color: #fff; background: var(--gc-primary-dark); border-bottom: 1px solid rgba(255,255,255,.08); }
.gc-utility-bar__inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.gc-utility-links, .gc-utility-contact { display: flex; align-items: center; gap: 16px; }
.gc-utility-links { min-width: 0; overflow-x: auto; padding: 4px 0; scrollbar-width: none; }
.gc-utility-links::-webkit-scrollbar { display: none; }
.gc-utility-links a, .gc-utility-contact a { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; color: rgba(255,255,255,.92); font-size: 12px; font-weight: 700; white-space: nowrap; }
.gc-utility-links a:hover, .gc-utility-contact a:hover { color: #fff; }
.gc-utility-links i, .gc-utility-contact i { color: var(--gc-accent); }

/* Brand row */
.gc-brandbar { background: #fff; border-bottom: 1px solid var(--gc-line); }
.gc-brandbar__inner { min-height: 94px; display: grid; grid-template-columns: minmax(360px, 1fr) auto; align-items: center; gap: 28px; padding: 10px 0; }
.gc-brand { min-width: 0; display: flex; align-items: center; gap: 14px; color: var(--gc-ink); }
.gc-brand:hover { color: var(--gc-ink); }
.gc-brand__logo-wrap { flex: 0 1 auto; max-width: 370px; }
.gc-brand__image { width: auto; max-width: 100%; max-height: 70px; object-fit: contain; }
.gc-brand__mark { width: 58px; height: 58px; flex: 0 0 58px; display: grid; place-items: center; color: #fff; font-size: 25px; border-radius: 15px; background: var(--gc-primary); }
.gc-brand__text { min-width: 0; border-left: 1px solid var(--gc-line); padding-left: 14px; }
.gc-brand__text strong { display: block; overflow: hidden; color: var(--gc-primary-dark); font-size: clamp(20px, 2vw, 29px); line-height: 1.15; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.gc-brand__text span { display: block; margin-top: 4px; color: var(--gc-muted); font-size: 12px; font-weight: 700; }
.gc-brand-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.gc-brand-shortcuts { display: flex; align-items: center; gap: 5px; }
.gc-brand-shortcuts a { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 7px 10px; color: var(--gc-primary-dark); font-size: 12px; font-weight: 800; border-radius: 9px; background: var(--gc-soft); }
.gc-brand-shortcuts a:hover { color: var(--gc-primary); background: var(--gc-primary-soft); }
.gc-helpline { min-height: 50px; display: flex; align-items: center; gap: 10px; padding: 7px 12px; color: var(--gc-primary-dark); border: 1px solid #f7d879; border-radius: 12px; background: #fff8dd; }
.gc-helpline:hover { color: var(--gc-primary-dark); background: #fff3bd; }
.gc-helpline i { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; border-radius: 10px; background: var(--gc-secondary); }
.gc-helpline small { display: block; color: #7d6722; font-size: 9px; font-weight: 900; letter-spacing: .07em; line-height: 1.1; text-transform: uppercase; }
.gc-helpline strong { display: block; margin-top: 3px; color: var(--gc-primary-dark); font-size: 16px; line-height: 1; }
.gc-action-btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 14px; color: var(--gc-primary-dark); font-size: 13px; font-weight: 900; border: 1px solid var(--gc-line); border-radius: 10px; background: #fff; }
.gc-action-btn:hover { color: var(--gc-primary); background: var(--gc-primary-soft); }
.gc-action-btn--accent { color: #fff; border-color: var(--gc-secondary); background: var(--gc-secondary); }
.gc-action-btn--accent:hover { color: #fff; border-color: var(--gc-secondary-dark); background: var(--gc-secondary-dark); }

/* Navigation */
.gc-nav-shell { position: sticky; top: 0; z-index: 1000; background: var(--gc-primary); box-shadow: 0 4px 14px rgba(12, 29, 74, .18); }
.gc-nav__inner { min-height: 50px; display: flex; align-items: stretch; }
.gc-nav-brand { display: none; }
.gc-menu { display: flex; align-items: stretch; gap: 0; margin: 0; padding: 0; list-style: none; }
.gc-menu > li { position: relative; display: flex; align-items: stretch; }
.gc-menu > li > a { display: flex; align-items: center; gap: 6px; padding: 0 12px; color: #fff; font-size: 12px; font-weight: 800; white-space: nowrap; }
.gc-menu > li > a:hover, .gc-menu > li.is-active > a { color: #fff; background: rgba(255,255,255,.12); }
.gc-menu > li.is-active > a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--gc-accent); }
.gc-submenu-toggle { display: none; }
.gc-submenu { position: absolute; left: 0; top: 100%; z-index: 60; min-width: 250px; margin: 0; padding: 7px; list-style: none; opacity: 0; visibility: hidden; transform: translateY(7px); border: 1px solid var(--gc-line); border-radius: 0 0 12px 12px; background: #fff; box-shadow: var(--gc-shadow); transition: opacity .16s ease, transform .16s ease, visibility .16s ease; }
.gc-menu > li:hover > .gc-submenu, .gc-menu > li:focus-within > .gc-submenu { opacity: 1; visibility: visible; transform: translateY(0); }
.gc-submenu a { display: flex; align-items: center; gap: 8px; padding: 9px 10px; color: var(--gc-ink); font-size: 13px; font-weight: 700; border-radius: 7px; }
.gc-submenu a::before { content: "\f105"; font-family: FontAwesome; color: var(--gc-secondary); }
.gc-submenu a:hover { color: var(--gc-primary); background: var(--gc-primary-soft); }
.gc-mobile-toggle { display: none; margin-left: auto; width: 42px; height: 42px; border: 0; border-radius: 9px; color: #fff; background: rgba(255,255,255,.12); }
.gc-mobile-toggle span, .gc-mobile-toggle::before, .gc-mobile-toggle::after { content: ""; display: block; width: 20px; height: 2px; margin: 4px auto; background: currentColor; transition: transform .18s ease, opacity .18s ease; }
.gc-mobile-toggle.is-open span { opacity: 0; }
.gc-mobile-toggle.is-open::before { transform: translateY(6px) rotate(45deg); }
.gc-mobile-toggle.is-open::after { transform: translateY(-6px) rotate(-45deg); }
.gc-menu-overlay { display: none; }

/* Hero */
.gc-hero { position: relative; min-height: 455px; overflow: hidden; color: #fff; background: #0d1d4a; }
.gc-hero__track, .gc-hero__slide { min-height: 455px; }
.gc-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .5s ease; }
.gc-hero__slide.is-active { position: relative; opacity: 1; visibility: visible; pointer-events: auto; }
.gc-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gc-hero__image.is-image-error { visibility: hidden; }
.gc-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,21,58,.94) 0%, rgba(10,28,72,.76) 48%, rgba(10,28,72,.22) 100%); }
.gc-hero__container { position: relative; z-index: 2; min-height: 455px; display: flex; align-items: center; }
.gc-hero__content { max-width: 680px; padding: 58px 0 66px; }
.gc-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 12px; color: #ffe69b; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.gc-kicker::before { content: ""; width: 28px; height: 3px; border-radius: 4px; background: var(--gc-accent); }
.gc-hero h1 { margin: 0 0 13px; color: #fff; font-size: clamp(38px, 5vw, 62px); line-height: 1.06; letter-spacing: -.035em; font-weight: 900; text-shadow: 0 3px 10px rgba(0,0,0,.24); }
.gc-hero p { max-width: 610px; margin: 0 0 22px; color: rgba(255,255,255,.9); font-size: clamp(15px, 1.5vw, 18px); line-height: 1.55; }
.gc-btn-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.gc-btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 17px; border: 1px solid transparent; border-radius: 10px; font-size: 13px; font-weight: 900; line-height: 1.2; }
.gc-btn--primary { color: #fff; border-color: var(--gc-secondary); background: var(--gc-secondary); }
.gc-btn--primary:hover { color: #fff; border-color: var(--gc-secondary-dark); background: var(--gc-secondary-dark); }
.gc-btn--light { color: var(--gc-primary-dark); border-color: #fff; background: #fff; }
.gc-btn--light:hover { color: var(--gc-primary); background: #f6f8ff; }
.gc-btn--outline { color: #fff; border-color: rgba(255,255,255,.65); background: transparent; }
.gc-btn--outline:hover { color: #fff; background: rgba(255,255,255,.10); }
.gc-hero__facts { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; color: rgba(255,255,255,.85); font-size: 12px; font-weight: 700; }
.gc-hero__facts span { display: inline-flex; align-items: center; gap: 6px; }
.gc-hero__facts i { color: #8be2b0; }
.gc-hero__arrow { position: absolute; top: 50%; z-index: 5; width: 40px; height: 40px; margin-top: -20px; display: grid; place-items: center; color: #fff; font-size: 21px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(10, 27, 69, .58); }
.gc-hero__arrow:hover { background: var(--gc-primary-dark); }
.gc-hero__arrow--prev { left: 18px; }
.gc-hero__arrow--next { right: 18px; }
.gc-hero__dots { position: absolute; left: 50%; bottom: 19px; z-index: 5; display: flex; gap: 6px; transform: translateX(-50%); }
.gc-hero__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.55); transition: width .18s ease, background .18s ease; }
.gc-hero__dots button.is-active { width: 25px; background: var(--gc-accent); }

/* Home sections */
.gc-section { padding: 56px 0; }
.gc-section--soft { background: var(--gc-soft); }
.gc-section--quick { position: relative; z-index: 4; padding: 0 0 48px; background: var(--gc-soft); }
.gc-section--information { background: #fff; }
.gc-section--courses { background: linear-gradient(180deg, #f5f8ff 0, #fff 100%); border-top: 1px solid #e9eef8; border-bottom: 1px solid #e9eef8; }
.gc-section--why { background: #fff; }
.gc-section-heading { max-width: 720px; margin: 0 auto 29px; text-align: center; }
.gc-section-heading--left { max-width: none; margin-inline: 0; text-align: left; }
.gc-section-heading__eyebrow { display: inline-block; color: var(--gc-secondary); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.gc-section-heading h2 { margin: 5px 0 8px; color: var(--gc-primary-dark); font-size: clamp(28px, 3.2vw, 39px); line-height: 1.16; letter-spacing: -.025em; font-weight: 900; }
.gc-section-heading p { margin: 0; color: var(--gc-muted); font-size: 15px; }
.gc-section-action { margin-top: 28px; text-align: center; }

.gc-quick-grid { position: relative; z-index: 6; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; transform: translateY(-26px); }
.gc-quick-card { min-height: 82px; display: grid; grid-template-columns: 42px minmax(0,1fr) 18px; align-items: center; gap: 11px; padding: 12px 14px; color: var(--gc-ink); border: 1px solid var(--gc-line); border-radius: 13px; background: #fff; box-shadow: var(--gc-shadow-sm); contain: paint; }
.gc-quick-card > i { width: 42px; height: 42px; display: grid; place-items: center; color: #fff; font-size: 17px; border-radius: 11px; background: var(--gc-primary); }
.gc-quick-card:nth-child(2) > i { background: #e14b35; }
.gc-quick-card:nth-child(3) > i { background: #0a998c; }
.gc-quick-card:nth-child(4) > i { background: #8d55c7; }
.gc-quick-card:nth-child(5) > i { background: #d18d08; }
.gc-quick-card:nth-child(6) > i { background: #218b51; }
.gc-quick-card span { min-width: 0; }
.gc-quick-card strong, .gc-quick-card small { display: block; }
.gc-quick-card strong { color: var(--gc-primary-dark); font-size: 13px; line-height: 1.25; }
.gc-quick-card small { margin-top: 4px; overflow: hidden; color: var(--gc-muted); font-size: 11px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.gc-quick-card b { color: #a3adc2; font-size: 15px; }
.gc-quick-card:hover { color: var(--gc-primary); border-color: #c9d6f1; box-shadow: var(--gc-shadow); }
.gc-quick-card:hover b { color: var(--gc-secondary); }

.gc-highlight-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: -8px; }
.gc-highlight { min-height: 112px; display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: start; gap: 12px; padding: 18px; color: #fff; border-radius: 14px; background: #2747a0; box-shadow: var(--gc-shadow-sm); contain: paint; }
.gc-highlight:nth-child(2) { background: #d9485e; }
.gc-highlight:nth-child(3) { background: #bd8600; }
.gc-highlight:nth-child(4) { background: #198553; }
.gc-highlight > i { width: 44px; height: 44px; display: grid; place-items: center; font-size: 21px; border-radius: 12px; background: rgba(255,255,255,.13); }
.gc-highlight h3 { margin: 0 0 5px; color: #fff; font-size: 16px; font-weight: 900; }
.gc-highlight p { margin: 0; color: rgba(255,255,255,.86); font-size: 12px; line-height: 1.45; }

.gc-two-column { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 22px; align-items: stretch; }
.gc-panel { overflow: hidden; border: 1px solid var(--gc-line); border-radius: var(--gc-radius); background: #fff; box-shadow: var(--gc-shadow-sm); contain: paint; }
.gc-panel__head { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 18px; color: #fff; background: var(--gc-primary-dark); }
.gc-panel__head h2, .gc-panel__head h3 { margin: 0; color: #fff; font-size: 18px; font-weight: 900; }
.gc-panel__head h2 i, .gc-panel__head h3 i { color: var(--gc-accent); margin-right: 6px; }
.gc-panel__head a, .gc-panel__head span { color: rgba(255,255,255,.8); font-size: 11px; font-weight: 800; }
.gc-panel__head a:hover { color: #fff; }
.gc-news-list { padding: 7px 18px 11px; }
.gc-news-item { display: grid; grid-template-columns: 37px 1fr; gap: 11px; padding: 12px 0; border-bottom: 1px dashed var(--gc-line); }
.gc-news-item:last-child { border-bottom: 0; }
.gc-news-item__icon { width: 35px; height: 35px; display: grid; place-items: center; color: var(--gc-secondary); border-radius: 10px; background: #fff0ef; }
.gc-news-item h3 { margin: 0 0 4px; color: var(--gc-ink); font-size: 13px; line-height: 1.43; font-weight: 800; }
.gc-news-item a { font-size: 11px; font-weight: 900; }
.gc-director { display: flex; flex-direction: column; }
.gc-director__photo { position: relative; min-height: 245px; overflow: hidden; background: #e9eef8; }
.gc-director__photo img { width: 100%; height: 245px; object-fit: cover; }
.gc-director__photo img.is-image-error { visibility: hidden; }
.gc-director__badge { position: absolute; left: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; color: #fff; font-size: 11px; font-weight: 800; border-radius: 8px; background: rgba(15,36,91,.88); }
.gc-director__body { flex: 1; padding: 17px 18px 19px; }
.gc-director__body > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.gc-director__body h3 { margin: 0; color: var(--gc-primary-dark); font-size: 20px; font-weight: 900; }
.gc-director__body span { color: var(--gc-secondary); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.gc-director__body p { margin: 0 0 13px; color: var(--gc-muted); font-size: 13px; }
.gc-text-link { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 900; }

.gc-course-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.gc-course-card { min-height: 100%; display: flex; flex-direction: column; overflow: hidden; color: var(--gc-ink); border: 1px solid var(--gc-line); border-radius: 14px; background: #fff; box-shadow: var(--gc-shadow-sm); contain: paint; }
.gc-course-card:hover { color: var(--gc-ink); border-color: #c8d5ef; box-shadow: var(--gc-shadow); }
.gc-course-card__image { position: relative; height: 145px; overflow: hidden; background: linear-gradient(135deg, #dfe7f7, #f6f8fc); }
.gc-course-card__image::before { content: "\f109"; position: absolute; inset: 0; display: grid; place-items: center; color: #8da0c5; font: 42px/1 FontAwesome; }
.gc-course-card__image img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; transition: transform .22s ease; }
.gc-course-card__image img.is-image-error { display: none; }
.gc-course-card:hover .gc-course-card__image img { transform: scale(1.025); }
.gc-course-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--gc-primary); font-size: 42px; background: linear-gradient(135deg, #e5ecfb, #f7f9fd); }
.gc-course-card__placeholder::after { content: "Computer Education"; position: absolute; left: 0; right: 0; bottom: 16px; color: #5d6f96; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.gc-course-card__body { flex: 1; display: flex; flex-direction: column; padding: 14px 15px 15px; }
.gc-course-card__tag { align-self: flex-start; margin-bottom: 7px; color: var(--gc-secondary); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.gc-course-card h3 { margin: 0 0 6px; color: var(--gc-primary-dark); font-size: 16px; line-height: 1.25; font-weight: 900; }
.gc-course-card p { flex: 1; margin: 0 0 10px; color: var(--gc-muted); font-size: 12px; line-height: 1.45; }
.gc-course-card__link { display: inline-flex; align-items: center; gap: 6px; color: var(--gc-primary); font-size: 11px; font-weight: 900; }

.gc-services-wrap { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 20px; align-items: start; }
.gc-service-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; margin: 0; padding: 0; list-style: none; }
.gc-service-list li { min-height: 66px; display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: start; padding: 12px; border: 1px solid var(--gc-line); border-radius: 11px; background: #fff; contain: paint; }
.gc-service-list i { width: 28px; height: 28px; display: grid; place-items: center; color: var(--gc-success); border-radius: 8px; background: #eaf8f0; }
.gc-service-list span { color: var(--gc-ink); font-size: 12px; font-weight: 700; line-height: 1.42; }
.gc-associate-panel { position: static; }
.gc-associate-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; padding: 14px; }
.gc-associate { min-height: 76px; display: grid; place-items: center; padding: 8px; border: 1px solid var(--gc-line); border-radius: 10px; background: #fff; }
.gc-associate img { max-width: 100%; max-height: 60px; object-fit: contain; }
.gc-associate strong { color: var(--gc-primary-dark); font-size: 13px; }
.gc-associate-note { margin: 0; padding: 0 14px 14px; color: var(--gc-muted); font-size: 10px; line-height: 1.4; text-align: center; }

.gc-why-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; }
.gc-why-card { min-height: 105px; display: grid; grid-template-columns: 43px 1fr; gap: 12px; align-items: start; padding: 17px; border: 1px solid var(--gc-line); border-radius: 13px; background: #fff; box-shadow: var(--gc-shadow-sm); contain: paint; }
.gc-why-card > i { width: 43px; height: 43px; display: grid; place-items: center; color: #fff; font-size: 17px; border-radius: 11px; background: var(--gc-primary); }
.gc-why-card:nth-child(2) > i { background: #7c55bf; }
.gc-why-card:nth-child(3) > i { background: #0b9388; }
.gc-why-card:nth-child(4) > i { background: #d34838; }
.gc-why-card:nth-child(5) > i { background: #be8404; }
.gc-why-card:nth-child(6) > i { background: #278a50; }
.gc-why-card h3 { margin: 0 0 5px; color: var(--gc-primary-dark); font-size: 15px; font-weight: 900; }
.gc-why-card p { margin: 0; color: var(--gc-muted); font-size: 12px; line-height: 1.4; }

.gc-cta { padding: 29px 0; color: #fff; background: linear-gradient(100deg, var(--gc-secondary), #f27631); }
.gc-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.gc-cta h2 { margin: 0 0 3px; color: #fff; font-size: clamp(23px, 2.8vw, 31px); font-weight: 900; }
.gc-cta p { margin: 0; color: rgba(255,255,255,.9); font-size: 13px; }

/* Inner-page hero and legacy content normalization */
.gc-page-hero, .inner-header { position: relative; padding: 50px 0; color: #fff; background: linear-gradient(110deg, rgba(15,36,91,.96), rgba(23,58,138,.78)), url('../../images/bg3.jpg') center/cover no-repeat !important; }
.gc-page-hero__content, .inner-header .container { position: relative; z-index: 2; }
.gc-page-hero__eyebrow { color: #ffe59c; font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.gc-page-hero h1, .inner-header h2 { margin: 5px 0 7px !important; color: #fff !important; font-size: clamp(30px,4vw,44px) !important; font-weight: 900 !important; letter-spacing: -.03em; }
.gc-page-hero p { max-width: 700px; margin: 0 0 9px; color: rgba(255,255,255,.84); }
.gc-breadcrumb, .inner-header .breadcrumb { display: flex; align-items: center; gap: 8px; margin: 11px 0 0 !important; padding: 0 !important; color: rgba(255,255,255,.8); background: transparent !important; }
.gc-breadcrumb a, .inner-header .breadcrumb a { color: #fff !important; }
.gc-breadcrumb span, .inner-header .breadcrumb .active { color: #ffe59c !important; }
.main-content > section.position-inherit, .main-content > section:not(.inner-header):not(.gc-page-hero):not(.gc-hero):not(.gc-section):not(.gc-cta) { padding-top: 48px; padding-bottom: 48px; }
.position-inherit .col-md-9, .event-details, #page-inner, .ask-our-expert, .contact-form, .main-content .blog-posts { color: var(--gc-ink); }
.position-inherit .col-md-9 > p, .event-details, .main-content .col-md-8 > .event-details { padding: 22px; border: 1px solid var(--gc-line); border-radius: var(--gc-radius); background: #fff; box-shadow: var(--gc-shadow-sm); }
.position-inherit p, .event-details p, .gc-rich-content p, .post p { color: var(--gc-muted); }
.position-inherit h2, .position-inherit h3, .event-details h2, .event-details h3, .gc-rich-content h2, .gc-rich-content h3 { color: var(--gc-primary-dark); font-weight: 900; }
.position-inherit ul:not(.dropdown):not(.gc-menu):not(.gc-submenu), .event-details ul, .gc-rich-content ul { padding-left: 20px; }
.position-inherit table, .event-details table, .gc-rich-content table { width: 100% !important; max-width: 100%; border-collapse: collapse; }
.position-inherit table th, .position-inherit table td, .event-details table th, .event-details table td, .gc-rich-content table th, .gc-rich-content table td { padding: 9px; border: 1px solid var(--gc-line); }
.list-group { overflow: hidden; border: 1px solid var(--gc-line); border-radius: var(--gc-radius); background: #fff; box-shadow: var(--gc-shadow-sm); }
.list-group .panel-heading { margin: 0; padding: 15px 17px !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; background: var(--gc-primary-dark) !important; }
.list-group-item { padding: 11px 15px !important; color: var(--gc-ink) !important; font-weight: 700; border: 0 !important; border-bottom: 1px solid var(--gc-line) !important; }
.list-group-item:last-child { border-bottom: 0 !important; }
.list-group-item:hover { color: var(--gc-primary) !important; background: var(--gc-primary-soft) !important; }

/* Forms */
form { max-width: 100%; }
.form-control, input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="number"], input[type="tel"], select, textarea { width: 100%; min-height: 44px; height: auto; padding: 9px 12px; margin-bottom: 7px; color: var(--gc-ink); border: 1px solid #d6deeb; border-radius: 9px; outline: none; background: #fff; box-shadow: none; }
textarea.form-control, textarea { min-height: 105px; resize: vertical; }
.form-control:focus, input:focus, select:focus, textarea:focus { border-color: #7d92c9; box-shadow: 0 0 0 3px rgba(23,58,138,.10); }
label, form strong { display: inline-block; margin-bottom: 5px; color: var(--gc-primary-dark) !important; font-weight: 800; }
.btn, button[type="submit"], input[type="submit"] { min-height: 43px; padding: 10px 17px; color: #fff !important; font-weight: 900; border: 0; border-radius: 9px !important; background: var(--gc-primary) !important; box-shadow: none; }
.btn:hover, button[type="submit"]:hover, input[type="submit"]:hover { background: var(--gc-primary-dark) !important; }
.ask-our-expert { margin: 0 !important; padding: 21px !important; border: 1px solid var(--gc-line) !important; border-radius: var(--gc-radius) !important; box-shadow: var(--gc-shadow-sm) !important; background: #fff !important; }
.ask-our-expert h4 { margin: 0 0 14px; color: var(--gc-primary-dark); font-weight: 900; }
#page-inner { padding: 9px 7px; }
#page-inner > .row > .row { margin: 18px 0 11px !important; padding-bottom: 7px; border-bottom: 1px solid var(--gc-line) !important; }
#page-inner > .row > .row h3 { margin: 0; color: var(--gc-primary-dark) !important; font-size: 19px; font-weight: 900; }
.main-content .container[style*="background:#CCCCCC"], .main-content .container[style*="background: #CCCCCC"] { padding: 21px !important; border: 1px solid var(--gc-line); background: var(--gc-soft) !important; box-shadow: var(--gc-shadow-sm); }
.red { display: block; min-height: 16px; font-size: 12px; }
.gc-alert { display: flex; align-items: flex-start; gap: 10px; margin: 17px 0; padding: 12px 14px; border-radius: 11px; font-weight: 700; }
.gc-alert--success { color: #0b6b38; border: 1px solid #bfe9d1; background: #edfbf3; }
.gc-alert--danger { color: #9a2924; border: 1px solid #f1c6c2; background: #fff2f1; }

/* Verification/search/print wrappers */
.gc-search-panel { display: grid; grid-template-columns: 78px minmax(0,1fr); gap: 20px; align-items: center; max-width: 920px; margin: 0 auto 23px; padding: 24px; border: 1px solid var(--gc-line); border-radius: var(--gc-radius); background: #fff; box-shadow: var(--gc-shadow-sm); }
.gc-search-panel__icon { width: 70px; height: 70px; display: grid; place-items: center; color: #fff; font-size: 28px; border-radius: 18px; background: var(--gc-primary); }
.gc-search-panel h2 { margin: 3px 0; color: var(--gc-primary-dark); font-size: clamp(23px,3vw,32px); font-weight: 900; }
.gc-search-panel p { margin: 0 0 13px; color: var(--gc-muted); }
.gc-inline-search { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; max-width: 680px; }
.gc-inline-search .form-control { min-height: 47px; margin: 0; }
.gc-inline-search button { min-width: 145px; margin: 0; white-space: nowrap; }
.gc-result-state { max-width: 920px; margin: 17px auto; display: flex; align-items: flex-start; gap: 12px; padding: 15px 17px; border: 1px solid; border-radius: 13px; }
.gc-result-state > i { margin-top: 2px; font-size: 23px; }
.gc-result-state strong, .gc-result-state span { display: block; }
.gc-result-state--success { color: #08713b; border-color: #b5e5c9; background: #ebfaf2; }
.gc-result-state--error { color: #a72e27; border-color: #f0c0bc; background: #fff1f0; }
.gc-record-grid { display: grid; grid-template-columns: minmax(0,1fr) 285px; gap: 19px; align-items: start; margin-top: 23px; }
.gc-record-card, .gc-record-help { overflow: hidden; border: 1px solid var(--gc-line); border-radius: var(--gc-radius); background: #fff; box-shadow: var(--gc-shadow-sm); }
.gc-record-card { margin-top: 23px; }
.gc-record-grid .gc-record-card { margin-top: 0; }
.gc-record-card__head { min-height: 65px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 19px; border-bottom: 1px solid var(--gc-line); background: #f7f9fd; }
.gc-record-card__head h3 { margin: 0; color: var(--gc-primary-dark); font-size: 18px; font-weight: 900; }
.gc-verified-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; color: #08713b; font-size: 11px; font-weight: 900; border: 1px solid #b7e6ca; border-radius: 999px; background: #edfbf3; white-space: nowrap; }
.gc-record-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: 8px 19px 19px; }
.gc-record-list > div { min-width: 0; padding: 13px 9px; border-bottom: 1px dashed var(--gc-line); }
.gc-record-list dt { margin-bottom: 3px; color: var(--gc-muted); font-size: 10px; line-height: 1.3; letter-spacing: .06em; text-transform: uppercase; }
.gc-record-list dd { margin: 0; color: var(--gc-ink); font-size: 14px; font-weight: 800; overflow-wrap: anywhere; }
.gc-record-list--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.gc-record-list__wide { grid-column: 1/-1; }
.gc-subject-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding: 0 19px 21px; }
.gc-subject-tags span { padding: 5px 8px; color: #425073; font-size: 11px; font-weight: 700; border: 1px solid #dce3f4; border-radius: 999px; background: #f7f9fd; }
.gc-record-help { padding: 21px; }
.gc-record-help > i { width: 43px; height: 43px; display: grid; place-items: center; margin-bottom: 12px; color: var(--gc-primary); font-size: 20px; border-radius: 12px; background: var(--gc-primary-soft); }
.gc-record-help h3 { margin: 0 0 7px; color: var(--gc-primary-dark); font-size: 17px; font-weight: 900; }
.gc-record-help p { margin: 0 0 9px; color: var(--gc-muted); }
.gc-document-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 17px; margin: 28px 0 11px; padding: 14px 16px; border: 1px solid var(--gc-line); border-radius: 13px; background: #fff; box-shadow: var(--gc-shadow-sm); }
.gc-document-toolbar strong, .gc-document-toolbar span { display: block; }
.gc-document-toolbar strong { color: var(--gc-primary-dark); font-size: 15px; }
.gc-document-toolbar span { color: var(--gc-muted); font-size: 11px; }
.gc-document-toolbar button { min-width: 155px; }
.gc-document-scroll { width: 100%; overflow: auto; padding: 11px; border: 1px solid var(--gc-line); border-radius: var(--gc-radius); background: #dfe4ec; -webkit-overflow-scrolling: touch; }
.gc-document-scroll > * { margin: 0 auto; box-shadow: 0 12px 35px rgba(19,27,55,.17); }
.position-inherit { overflow-x: auto; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }

/* Footer */
.gc-footer { color: rgba(255,255,255,.75); background: #0d1738; }
.gc-footer__main { padding: 48px 0 31px; }
.gc-footer__grid { display: grid; grid-template-columns: 1.35fr .8fr .85fr 1fr; gap: 30px; }
.gc-footer h3 { margin: 0 0 13px; color: #fff; font-size: 15px; font-weight: 900; }
.gc-footer p { color: rgba(255,255,255,.65); font-size: 13px; }
.gc-footer__brand { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 11px; color: #fff; font-size: 19px; font-weight: 900; }
.gc-footer__brand i { width: 40px; height: 40px; display: grid; place-items: center; color: #fff; border-radius: 11px; background: var(--gc-secondary); }
.gc-footer ul { margin: 0; padding: 0; list-style: none; }
.gc-footer li { margin-bottom: 7px; }
.gc-footer a { color: rgba(255,255,255,.74); font-size: 13px; }
.gc-footer a:hover { color: #fff; }
.gc-contact-line { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 9px; }
.gc-contact-line i { margin-top: 5px; color: var(--gc-accent); }
.gc-app-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 8px; padding: 9px 11px; color: #fff !important; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: rgba(255,255,255,.06); }
.gc-app-link i { font-size: 20px; }
.gc-footer__bottom { border-top: 1px solid rgba(255,255,255,.09); }
.gc-footer__bottom-inner { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 17px; font-size: 11px; }
.gc-socials { display: flex; gap: 7px; }
.gc-socials a { width: 30px; height: 30px; display: grid; place-items: center; color: #fff; border-radius: 8px; background: rgba(255,255,255,.08); }
.gc-socials a:hover { background: var(--gc-secondary); }
.gc-floating-whatsapp, .gc-scroll-top { position: fixed; right: 17px; z-index: 999; display: grid; place-items: center; color: #fff !important; border-radius: 50%; box-shadow: 0 8px 20px rgba(15,36,91,.22); }
.gc-floating-whatsapp { bottom: 18px; width: 50px; height: 50px; font-size: 23px; background: #25d366; }
.gc-scroll-top { bottom: 78px; width: 38px; height: 38px; font-size: 18px; background: var(--gc-primary); }

/* Small reusable corrections */
marquee { white-space: normal; }
[data-bg-color] { transition: none; }
.text-theme-colored2 { color: var(--gc-secondary) !important; }
.bg-theme-colored2 { background: var(--gc-primary) !important; }
.text-white { color: #fff !important; }
#inner-headline { padding: 26px 0 0 !important; }
#inner-headline h2 { margin: 0; color: var(--gc-primary-dark); font-weight: 900; }
.post, article.post { overflow: hidden; border: 1px solid var(--gc-line); border-radius: var(--gc-radius); background: #fff; box-shadow: var(--gc-shadow-sm); }
.post .entry-content { background: #fff !important; }
.post .entry-title, .post .entry-title a { color: var(--gc-primary-dark) !important; }
.gallery-isotope .gallery-item .thumb { overflow: hidden; border-radius: 13px; }
.gallery-isotope .gallery-item img { aspect-ratio: 4/3; object-fit: cover; }
.pagination > li > a, .pagination > li > span { margin: 3px; color: var(--gc-primary); border: 1px solid var(--gc-line); border-radius: 8px !important; }

@media (max-width: 1180px) {
  .gc-brand-shortcuts { display: none; }
  .gc-menu > li > a { padding-inline: 9px; font-size: 11px; }
  .gc-course-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 980px) {
  .gc-utility-contact { display: none; }
  .gc-brandbar__inner { grid-template-columns: 1fr auto; min-height: 78px; }
  .gc-brand__logo-wrap { max-width: 280px; }
  .gc-brand__image { max-height: 56px; }
  .gc-brand__text strong { font-size: 21px; }
  .gc-brand__text span { display: none; }
  .gc-helpline { display: none; }
  .gc-nav__inner { min-height: 50px; align-items: center; }
  .gc-nav-brand { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 13px; font-weight: 900; }
  .gc-nav-brand:hover { color: #fff; }
  .gc-mobile-toggle { display: block; }
  .gc-menu { position: fixed; top: 0; left: 0; bottom: 0; z-index: 1002; width: min(86vw, 350px); display: block; overflow-y: auto; overscroll-behavior: contain; padding: 70px 14px 22px; background: #fff; box-shadow: 18px 0 38px rgba(10,17,50,.20); transform: translateX(-105%); transition: transform .22s ease; }
  .gc-menu.is-open { transform: translateX(0); }
  .gc-menu > li { display: block; border-bottom: 1px solid var(--gc-line); }
  .gc-menu > li > a { min-height: 47px; padding: 0 8px; color: var(--gc-ink); font-size: 13px; }
  .gc-menu > li > a:hover, .gc-menu > li.is-active > a { color: var(--gc-primary); background: transparent; }
  .gc-menu > li.is-active > a::after { left: 0; right: auto; top: 11px; bottom: 11px; width: 3px; height: auto; }
  .gc-submenu-toggle { position: absolute; top: 6px; right: 0; display: grid; place-items: center; width: 35px; height: 35px; color: var(--gc-primary); border: 0; border-radius: 8px; background: var(--gc-soft); }
  .gc-submenu { position: static; display: none; min-width: 0; margin: 0 0 8px; padding: 4px 7px 8px 16px; opacity: 1; visibility: visible; transform: none; border: 0; border-left: 2px solid #dce2f4; border-radius: 0; box-shadow: none; }
  .gc-menu > li.is-open > .gc-submenu { display: block; }
  .gc-menu-overlay { position: fixed; inset: 0; z-index: 1001; display: none; background: rgba(7,11,34,.58); }
  .gc-menu-overlay.is-open { display: block; }
  .gc-quick-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gc-highlight-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gc-two-column, .gc-services-wrap { grid-template-columns: 1fr; }
  .gc-associate-panel { position: static; }
  .gc-service-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gc-why-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gc-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .container { width: min(calc(100% - 24px), var(--gc-container)); }
  .gc-utility-bar__inner { min-height: 41px; }
  .gc-utility-links { gap: 11px; }
  .gc-utility-links a { font-size: 11px; }
  .gc-utility-links a span { display: none; }
  .gc-utility-links a i { font-size: 15px; }
  .gc-brandbar__inner { min-height: 70px; grid-template-columns: 1fr auto; gap: 10px; padding: 8px 0; }
  .gc-brand { gap: 8px; }
  .gc-brand__logo-wrap { max-width: 150px; }
  .gc-brand__image { max-height: 48px; }
  .gc-brand__text { padding-left: 9px; }
  .gc-brand__text strong { font-size: 17px; }
  .gc-action-btn--accent { min-height: 38px; padding: 8px 10px; font-size: 11px; }
  .gc-hero, .gc-hero__track, .gc-hero__slide, .gc-hero__container { min-height: 420px; }
  .gc-hero__shade { background: linear-gradient(90deg, rgba(8,21,58,.94), rgba(10,28,72,.70)); }
  .gc-hero__content { padding: 48px 8px 64px; }
  .gc-hero h1 { font-size: clamp(34px, 10vw, 46px); }
  .gc-hero p { font-size: 14px; }
  .gc-hero__arrow { display: none; }
  .gc-hero__facts { gap: 10px; }
  .gc-section { padding: 46px 0; }
  .gc-section--quick { padding-bottom: 40px; }
  .gc-quick-grid { transform: translateY(-22px); }
  .gc-quick-card { min-height: 76px; grid-template-columns: 38px minmax(0,1fr) 15px; padding: 10px 11px; }
  .gc-quick-card > i { width: 38px; height: 38px; }
  .gc-highlight-grid { margin-top: -10px; }
  .gc-highlight { min-height: 104px; padding: 14px; }
  .gc-course-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .gc-course-card__image { height: 130px; }
  .gc-service-list { grid-template-columns: 1fr; }
  .gc-cta__inner { display: block; text-align: center; }
  .gc-cta .gc-btn-row { justify-content: center; margin-top: 16px; }
  .gc-footer__grid { grid-template-columns: 1fr; gap: 23px; }
  .gc-footer__bottom-inner { display: block; padding: 15px 0; text-align: center; }
  .gc-socials { justify-content: center; margin-top: 9px; }
  .gc-search-panel { grid-template-columns: 1fr; padding: 19px; }
  .gc-search-panel__icon { width: 56px; height: 56px; font-size: 23px; border-radius: 15px; }
  .gc-inline-search { grid-template-columns: 1fr; }
  .gc-inline-search button { width: 100%; }
  .gc-record-grid { grid-template-columns: 1fr; }
  .gc-record-list, .gc-record-list--three { grid-template-columns: 1fr 1fr; }
  .gc-document-toolbar { align-items: flex-start; flex-direction: column; }
  .gc-document-toolbar button { width: 100%; }
}

@media (max-width: 480px) {
  .gc-brand__logo-wrap { display: none; }
  .gc-brand__text { border-left: 0; padding-left: 0; }
  .gc-brand__text strong { max-width: 180px; }
  .gc-quick-grid { gap: 8px; }
  .gc-quick-card { grid-template-columns: 38px minmax(0,1fr); }
  .gc-quick-card b, .gc-quick-card small { display: none; }
  .gc-highlight-grid, .gc-course-grid, .gc-why-grid { grid-template-columns: 1fr; }
  .gc-course-card { display: grid; grid-template-columns: 122px minmax(0,1fr); }
  .gc-course-card__image { height: 100%; min-height: 150px; }
  .gc-course-card__body { padding: 13px; }
  .gc-btn { width: 100%; }
  .gc-associate-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gc-record-list, .gc-record-list--three { grid-template-columns: 1fr; }
  .gc-record-card__head { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

@media print {
  .gc-utility-bar, .gc-brand-actions, .gc-nav-shell, .gc-footer, .gc-floating-whatsapp, .gc-scroll-top { display: none !important; }
  body { color: #000; background: #fff; }
  .gc-panel, .post, .event-details, .position-inherit .col-md-9 > p { box-shadow: none !important; }
}

/* ========================================================================== 
   GLOBAL COMPUTER R4 - visual, performance and responsive refinements
   ========================================================================== */

:root {
  --gc-primary: #173f94;
  --gc-primary-dark: #0c245f;
  --gc-primary-soft: #eef4ff;
  --gc-secondary: #ef4136;
  --gc-secondary-dark: #c82d25;
  --gc-accent: #f5b915;
  --gc-teal: #099c8f;
  --gc-green: #178c55;
  --gc-purple: #7555bf;
  --gc-orange: #ed7a22;
  --gc-ink: #14203a;
  --gc-muted: #60708d;
  --gc-soft: #f4f7fd;
  --gc-white: #fff;
  --gc-line: #dde6f3;
  --gc-radius: 18px;
  --gc-radius-sm: 12px;
  --gc-shadow: 0 16px 38px rgba(18, 43, 100, .11);
  --gc-shadow-sm: 0 8px 22px rgba(18, 43, 100, .08);
  --gc-container: 1210px;
}

html { scroll-behavior: auto !important; }
body {
  color: var(--gc-ink);
  background: #fff;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

.gc-section,
.gc-footer,
.gc-cta { contain: none; }

.gc-section {
  position: relative;
  padding: clamp(64px, 6.2vw, 92px) 0;
}

.gc-section--soft {
  background:
    radial-gradient(circle at 92% 8%, rgba(31, 92, 193, .07), transparent 24%),
    linear-gradient(180deg, #f5f8fe 0%, #f1f5fc 100%);
}

.gc-section--information { background: #fff; }

.gc-section--courses {
  overflow: hidden;
  border-top: 1px solid #e6edf8;
  border-bottom: 1px solid #e6edf8;
  background:
    radial-gradient(circle at 8% 5%, rgba(245, 185, 21, .10), transparent 18%),
    radial-gradient(circle at 94% 92%, rgba(9, 156, 143, .08), transparent 22%),
    linear-gradient(180deg, #f4f7fd 0%, #ffffff 48%, #f7f9fe 100%);
}

.gc-section--why { background: #fff; }

.gc-section-heading {
  max-width: 820px;
  margin: 0 auto clamp(30px, 3.8vw, 46px);
  text-align: center;
}

.gc-section-heading__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--gc-secondary);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.gc-section-heading__eyebrow::before,
.gc-section-heading__eyebrow::after {
  width: 24px;
  height: 2px;
  content: "";
  border-radius: 4px;
  background: linear-gradient(90deg, var(--gc-secondary), var(--gc-accent));
}

.gc-section-heading h2 {
  margin: 7px 0 11px;
  color: var(--gc-primary-dark);
  font-size: clamp(31px, 3.2vw, 46px);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.gc-section-heading p {
  max-width: 720px;
  margin: 0 auto;
  color: var(--gc-muted);
  font-size: 16px;
  line-height: 1.65;
}

.gc-section-heading--left {
  max-width: none;
  margin-inline: 0;
  text-align: left;
}

.gc-section-heading--left .gc-section-heading__eyebrow::before { display: none; }
.gc-section-heading--left p { margin-left: 0; }

.gc-panel {
  border-color: var(--gc-line);
  border-radius: var(--gc-radius);
  box-shadow: var(--gc-shadow-sm);
}

.gc-panel__head {
  min-height: 62px;
  padding: 15px 20px;
  background:
    linear-gradient(105deg, #0c245f 0%, #173f94 72%, #1d52ad 100%);
}

.gc-panel__head h2,
.gc-panel__head h3 { font-size: 18px; }
.gc-panel__head a,
.gc-panel__head span { font-size: 12px; }

/* Hero */
.gc-hero,
.gc-hero__track,
.gc-hero__slide,
.gc-hero__container { min-height: clamp(455px, 38vw, 590px); }

.gc-hero { background: #0a1d4f; }
.gc-hero__slide { transition: opacity .35s ease; }

.gc-hero__shade {
  background:
    linear-gradient(90deg, rgba(5, 18, 53, .96) 0%, rgba(7, 28, 74, .88) 38%, rgba(9, 38, 91, .48) 69%, rgba(9, 38, 91, .18) 100%);
}

.gc-hero__content {
  max-width: 720px;
  padding: clamp(70px, 8vw, 108px) 0 clamp(84px, 9vw, 118px);
}

.gc-kicker {
  margin-bottom: 15px;
  font-size: 11px;
  letter-spacing: .16em;
}

.gc-hero h1 {
  max-width: 760px;
  margin-bottom: 17px;
  font-size: clamp(44px, 5.4vw, 72px);
  line-height: 1.02;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .26);
}

.gc-hero p {
  max-width: 650px;
  margin-bottom: 28px;
  font-size: clamp(16px, 1.45vw, 19px);
  line-height: 1.68;
}

.gc-btn {
  min-height: 48px;
  padding: 11px 19px;
  border-radius: 11px;
  font-size: 13px;
  box-shadow: none;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.gc-btn:hover { transform: translateY(-2px); }
.gc-btn--primary { box-shadow: 0 9px 20px rgba(239, 65, 54, .22); }

.gc-hero__facts {
  gap: 22px;
  margin-top: 24px;
  font-size: 13px;
}

.gc-hero__arrow {
  width: 46px;
  height: 46px;
  margin-top: -23px;
  border-color: rgba(255, 255, 255, .48);
  background: rgba(8, 27, 68, .66);
}

.gc-hero__dots { bottom: 26px; }
.gc-hero__dots button { height: 9px; }

/* Quick services - no clipping and no excessive overlap */
.gc-section--quick {
  z-index: 8;
  padding: 0 0 clamp(60px, 5vw, 78px);
  background: #f3f6fc;
}

.gc-quick-shell {
  position: relative;
  z-index: 10;
  margin-top: -42px;
  padding: 12px;
  border: 1px solid rgba(220, 229, 243, .95);
  border-radius: 22px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 18px 48px rgba(15, 41, 99, .13);
}

.gc-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  transform: none;
}

.gc-quick-card {
  min-height: 94px;
  grid-template-columns: 48px minmax(0, 1fr) 20px;
  gap: 13px;
  padding: 15px 16px;
  border-color: transparent;
  border-radius: 15px;
  background: #f8faff;
  box-shadow: none;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}

.gc-quick-card:nth-child(1) { background: #f2f6ff; }
.gc-quick-card:nth-child(2) { background: #fff5f3; }
.gc-quick-card:nth-child(3) { background: #effbf9; }
.gc-quick-card:nth-child(4) { background: #f7f2ff; }
.gc-quick-card:nth-child(5) { background: #fff9ea; }
.gc-quick-card:nth-child(6) { background: #effaf3; }

.gc-quick-card > i {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  font-size: 20px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .20);
}

.gc-quick-card strong {
  font-size: 14px;
  line-height: 1.3;
}

.gc-quick-card small {
  margin-top: 5px;
  overflow: visible;
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
}

.gc-quick-card:hover {
  border-color: #d8e2f2;
  background: #fff;
  box-shadow: 0 12px 27px rgba(15, 41, 99, .10);
  transform: translateY(-3px);
}

.gc-highlight-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}

.gc-highlight {
  min-height: 132px;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 14px;
  padding: 22px 20px;
  border-radius: 16px;
  box-shadow: 0 12px 26px rgba(14, 42, 100, .10);
}

.gc-highlight > i {
  width: 50px;
  height: 50px;
  font-size: 22px;
  border-radius: 14px;
}

.gc-highlight h3 { font-size: 17px; }
.gc-highlight p { font-size: 13px; line-height: 1.55; }

/* News and director */
.gc-information-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  gap: 25px;
}

.gc-news-list { padding: 7px 21px 15px; }

.gc-news-item {
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 13px;
  padding: 16px 0;
}

.gc-news-item__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  font-size: 16px;
}

.gc-news-item h3 {
  margin-bottom: 7px;
  font-size: 14px;
  line-height: 1.55;
}

.gc-news-item a,
.gc-text-link { font-size: 12px; }

.gc-director__photo { min-height: 290px; }
.gc-director__photo img { height: 290px; }
.gc-director__body { padding: 22px 22px 24px; }

.gc-director__title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.gc-director__title small {
  display: block;
  margin-bottom: 4px;
  color: var(--gc-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.gc-director__body h3 { font-size: 22px; }
.gc-director__body p { font-size: 14px; line-height: 1.65; }

/* Course cards */
.gc-course-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.gc-course-card {
  overflow: hidden;
  border: 1px solid #dfe7f3;
  border-radius: 17px;
  box-shadow: 0 9px 24px rgba(17, 42, 95, .08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.gc-course-card:hover {
  color: var(--gc-ink);
  border-color: #c7d6ed;
  box-shadow: 0 18px 38px rgba(17, 42, 95, .14);
  transform: translateY(-5px);
}

.gc-course-card__image {
  position: relative;
  height: 180px;
  overflow: hidden;
  background: linear-gradient(145deg, #eaf1ff, #f8fbff);
}

.gc-course-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}

.gc-course-card:hover .gc-course-card__image img { transform: scale(1.035); }

.gc-course-card__image.has-image-error::after,
.gc-course-card__image .is-image-error { display: none; }

.gc-course-card__placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--gc-primary);
  background:
    radial-gradient(circle at 20% 20%, rgba(245, 185, 21, .20), transparent 27%),
    linear-gradient(145deg, #eef4ff, #f9fbff);
}

.gc-course-card__placeholder i { font-size: 42px; }
.gc-course-card__placeholder small {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.gc-course-card__number {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #fff;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 10px;
  background: rgba(12, 36, 95, .80);
  font-size: 11px;
  font-weight: 900;
}

.gc-course-card__body { padding: 18px 18px 20px; }
.gc-course-card__tag { font-size: 10px; letter-spacing: .10em; }
.gc-course-card__body h3 {
  margin: 7px 0 7px;
  font-size: 18px;
  line-height: 1.32;
}
.gc-course-card__body p {
  min-height: 43px;
  margin: 0 0 14px;
  color: var(--gc-muted);
  font-size: 13px;
  line-height: 1.55;
}
.gc-course-card__link { font-size: 12px; }
.gc-section-action { margin-top: 34px; }

/* Services and associates */
.gc-services-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .75fr);
  gap: 24px;
  align-items: start;
}

.gc-service-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gc-service-list li {
  display: grid;
  min-height: 92px;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  padding: 17px;
  border: 1px solid #dce6f2;
  border-radius: 14px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 7px 18px rgba(16, 43, 96, .055);
}

.gc-service-list li > i {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--gc-green);
  border-radius: 12px;
  background: #eaf8f1;
  font-size: 17px;
}

.gc-service-list li:nth-child(3n + 2) > i { color: var(--gc-primary); background: #edf3ff; }
.gc-service-list li:nth-child(3n) > i { color: #c27b00; background: #fff6df; }
.gc-service-list li span { font-size: 13px; line-height: 1.5; }

.gc-associate-panel {
  position: sticky;
  top: 82px;
  overflow: hidden;
}

.gc-associate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
}

.gc-associate {
  display: grid;
  min-height: 94px;
  place-items: center;
  padding: 10px;
  border: 1px solid #e0e8f3;
  border-radius: 12px;
  background: #fff;
}

.gc-associate img {
  max-width: 100%;
  max-height: 68px;
  object-fit: contain;
}

.gc-associate strong { color: var(--gc-primary-dark); font-size: 14px; }
.gc-associate-note {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin: 0 16px 17px;
  padding: 12px;
  color: var(--gc-muted);
  border-radius: 10px;
  background: #f5f8fd;
  font-size: 11px;
  line-height: 1.5;
  text-align: left;
}
.gc-associate-note i { margin-top: 2px; color: var(--gc-primary); }

/* Why cards */
.gc-why-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.gc-why-card {
  min-height: 130px;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 15px;
  padding: 22px;
  border-radius: 15px;
  box-shadow: 0 8px 22px rgba(17, 42, 95, .075);
  transition: transform .18s ease, box-shadow .18s ease;
}

.gc-why-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 32px rgba(17, 42, 95, .12);
}

.gc-why-card > i {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  font-size: 20px;
}

.gc-why-card h3 { font-size: 17px; }
.gc-why-card p { font-size: 13px; line-height: 1.55; }

/* CTA */
.gc-cta {
  padding: 34px 0;
  background:
    linear-gradient(100deg, #ef3f35 0%, #ef562e 48%, #f18b28 100%);
}

.gc-cta__inner { gap: 30px; }
.gc-cta h2 { font-size: clamp(25px, 2.7vw, 36px); }
.gc-cta p { font-size: 14px; }

/* Inner pages */
.gc-page-hero,
.inner-header {
  padding: clamp(56px, 6vw, 82px) 0;
  background:
    linear-gradient(105deg, rgba(8, 29, 77, .97), rgba(23, 63, 148, .80)),
    url('../../images/bg3.jpg') center/cover no-repeat !important;
}

.gc-page-hero h1,
.inner-header h2 { font-size: clamp(34px, 4vw, 50px) !important; }
.gc-page-hero p { font-size: 16px; }

.gc-rich-content {
  color: #2b3854;
  font-size: 15px;
  line-height: 1.8;
}

.gc-rich-content h2,
.gc-rich-content h3,
.gc-rich-content h4 {
  color: var(--gc-primary-dark);
  font-weight: 900;
}

.gc-rich-content img { border-radius: 14px; }

/* Forms */
.form-control,
select.form-control,
textarea.form-control {
  min-height: 48px;
  margin-bottom: 15px;
  padding: 11px 13px;
  color: var(--gc-ink);
  border: 1px solid #d5dfed;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}

textarea.form-control { min-height: 128px; }
.form-control:focus {
  border-color: #6d91d6;
  box-shadow: 0 0 0 4px rgba(23, 63, 148, .10);
}

.btn,
button[type="submit"],
input[type="submit"] {
  min-height: 47px;
  padding: 11px 19px;
  border-radius: 10px !important;
}

/* Footer */
.gc-footer {
  overflow: hidden;
  color: rgba(255, 255, 255, .76);
  background: #08183f;
}

.gc-footer__contact-strip {
  padding: 19px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .09);
  background: linear-gradient(90deg, #102b68, #173f94 55%, #0d2b6d);
}

.gc-footer__contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
}

.gc-footer-contact-card {
  display: grid;
  min-width: 0;
  min-height: 76px;
  grid-template-columns: 46px minmax(0, 1fr) 18px;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
  background: rgba(255, 255, 255, .06);
  transition: background-color .18s ease, transform .18s ease;
}

.gc-footer-contact-card:hover {
  color: #fff;
  background: rgba(255, 255, 255, .11);
  transform: translateY(-2px);
}

.gc-footer-contact-card__icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: #fff;
  border-radius: 13px;
  background: var(--gc-secondary);
  font-size: 18px;
}

.gc-footer-contact-card__icon--mail { background: var(--gc-teal); }
.gc-footer-contact-card__icon--visit { background: #d39305; }
.gc-footer-contact-card small,
.gc-footer-contact-card strong { display: block; }
.gc-footer-contact-card small {
  margin-bottom: 3px;
  color: rgba(255,255,255,.68);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.gc-footer-contact-card strong {
  overflow: hidden;
  color: #fff;
  font-size: 13px;
  line-height: 1.4;
  text-overflow: ellipsis;
}
.gc-footer-contact-card__arrow { color: rgba(255,255,255,.52); }

.gc-footer__main {
  padding: clamp(50px, 5vw, 72px) 0 42px;
  background:
    radial-gradient(circle at 8% 0%, rgba(38, 94, 193, .24), transparent 24%),
    radial-gradient(circle at 100% 100%, rgba(239, 65, 54, .10), transparent 28%),
    #08183f;
}

.gc-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(150px, .78fr) minmax(190px, .95fr) minmax(230px, 1.15fr);
  gap: clamp(26px, 3vw, 42px);
  align-items: start;
}

.gc-footer__about,
.gc-footer__column { min-width: 0; }

.gc-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 17px;
  color: #fff;
}
.gc-footer__brand:hover { color: #fff; }
.gc-footer__logo {
  display: grid;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  place-items: center;
  overflow: hidden;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, .18);
  border-radius: 16px;
  background: #fff;
}
.gc-footer__logo img { width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.gc-footer__logo i { color: var(--gc-primary); font-size: 25px; }
.gc-footer__brand strong,
.gc-footer__brand small { display: block; }
.gc-footer__brand strong { font-size: 21px; line-height: 1.15; }
.gc-footer__brand small {
  margin-top: 5px;
  color: #f7ca5b;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.gc-footer__about > p,
.gc-footer__help > p {
  margin: 0 0 17px;
  color: rgba(255, 255, 255, .67);
  font-size: 13px;
  line-height: 1.7;
}

.gc-footer__trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-bottom: 16px;
  color: rgba(255, 255, 255, .82);
  font-size: 11px;
  font-weight: 700;
}
.gc-footer__trust-row i { color: #52d991; }

.gc-footer h3 {
  position: relative;
  margin: 0 0 22px;
  padding-bottom: 12px;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
}
.gc-footer h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 42px;
  height: 3px;
  content: "";
  border-radius: 3px;
  background: linear-gradient(90deg, var(--gc-secondary), var(--gc-accent));
}

.gc-footer ul { margin: 0; padding: 0; list-style: none; }
.gc-footer li { margin-bottom: 9px; }
.gc-footer__column li a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.45;
}
.gc-footer__column li a i { width: 14px; color: #f4bd30; text-align: center; }
.gc-footer__column li a:hover { color: #fff; transform: translateX(2px); }

.gc-app-link {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-top: 0;
  padding: 10px 13px;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 11px;
  background: rgba(255,255,255,.06);
}
.gc-app-link i { color: #6be792; font-size: 24px; }
.gc-app-link small,
.gc-app-link strong { display: block; }
.gc-app-link small { color: rgba(255,255,255,.58); font-size: 9px; text-transform: uppercase; }
.gc-app-link strong { font-size: 12px; }

.gc-footer__call {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 14px;
  padding: 12px;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.06);
}
.gc-footer__call > i {
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  place-items: center;
  border-radius: 11px;
  background: var(--gc-secondary);
}
.gc-footer__call small,
.gc-footer__call strong { display: block; }
.gc-footer__call small { color: rgba(255,255,255,.60); font-size: 9px; text-transform: uppercase; }
.gc-footer__call strong { margin-top: 3px; font-size: 15px; }

.gc-footer__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
}
.gc-footer__actions a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 9px;
  color: #fff;
  border-radius: 9px;
  background: #173f94;
  font-size: 11px;
  font-weight: 800;
}
.gc-footer__actions a:first-child { background: var(--gc-secondary); }
.gc-footer__actions a:hover { color: #fff; filter: brightness(1.08); }

.gc-socials { display: flex; gap: 8px; margin-top: 16px; }
.gc-socials a {
  display: grid;
  width: 35px;
  height: 35px;
  place-items: center;
  color: #fff;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 10px;
  background: rgba(255,255,255,.07);
  font-size: 14px;
}
.gc-socials a:hover { color: #fff; background: var(--gc-secondary); }

.gc-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  background: #061332;
}
.gc-footer__bottom-inner {
  display: flex;
  min-height: 60px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(255,255,255,.58);
  font-size: 11px;
}
.gc-footer__bottom-inner strong { color: rgba(255,255,255,.86); }
.gc-footer__bottom-inner nav { display: flex; flex-wrap: wrap; gap: 16px; }
.gc-footer__bottom-inner nav a { color: rgba(255,255,255,.62); font-size: 11px; }
.gc-footer__bottom-inner nav a:hover { color: #fff; }

.gc-floating-whatsapp {
  right: 18px;
  bottom: 20px;
  display: inline-flex;
  width: auto;
  height: 52px;
  gap: 8px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 22px;
  font-weight: 900;
  background: #20bd61;
}
.gc-floating-whatsapp span { font-size: 12px; }
.gc-floating-whatsapp:hover { background: #169f50; transform: translateY(-2px); }

.gc-scroll-top {
  right: 22px;
  bottom: 84px;
  width: 42px;
  height: 42px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.gc-scroll-top.is-visible { visibility: visible; opacity: 1; transform: translateY(0); }

/* Tablet */
@media (max-width: 1100px) {
  .gc-course-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gc-highlight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gc-footer__grid { grid-template-columns: 1.25fr .8fr .95fr; }
  .gc-footer__help { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.7fr); gap: 0 25px; align-items: start; }
  .gc-footer__help h3 { grid-column: 1 / -1; }
  .gc-footer__help > p { grid-column: 1; }
  .gc-footer__call { grid-column: 2; grid-row: 2 / span 2; }
  .gc-footer__actions { grid-column: 1; }
  .gc-footer__help .gc-socials { grid-column: 2; }
}

@media (max-width: 980px) {
  .gc-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gc-information-grid,
  .gc-services-wrap { grid-template-columns: 1fr; }
  .gc-associate-panel { position: static; }
  .gc-service-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gc-why-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gc-footer__contact-grid { grid-template-columns: 1fr 1fr; }
  .gc-footer-contact-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .gc-section { padding: 56px 0; }
  .gc-section-heading { margin-bottom: 31px; }
  .gc-section-heading h2 { font-size: clamp(28px, 8vw, 38px); }
  .gc-section-heading p { font-size: 14px; }
  .gc-section-heading__eyebrow::before,
  .gc-section-heading__eyebrow::after { width: 17px; }

  .gc-hero,
  .gc-hero__track,
  .gc-hero__slide,
  .gc-hero__container { min-height: 460px; }
  .gc-hero__content { padding: 64px 4px 92px; }
  .gc-hero h1 { font-size: clamp(38px, 11vw, 52px); }
  .gc-hero p { font-size: 15px; }
  .gc-hero__facts { gap: 10px 16px; font-size: 11px; }

  .gc-quick-shell { margin-top: -28px; padding: 8px; border-radius: 17px; }
  .gc-quick-card { min-height: 86px; padding: 12px; }
  .gc-highlight-grid { grid-template-columns: 1fr 1fr; }
  .gc-highlight { min-height: 116px; padding: 17px; }

  .gc-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .gc-course-card__image { height: 145px; }
  .gc-course-card__body { padding: 15px; }
  .gc-course-card__body h3 { font-size: 16px; }
  .gc-course-card__body p { min-height: 0; font-size: 12px; }

  .gc-service-list { grid-template-columns: 1fr; }
  .gc-service-list li { min-height: 0; }
  .gc-why-grid { grid-template-columns: 1fr; }

  .gc-footer__contact-grid { grid-template-columns: 1fr; }
  .gc-footer-contact-card:last-child { grid-column: auto; }
  .gc-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gc-footer__about { grid-column: 1 / -1; }
  .gc-footer__help { grid-column: 1 / -1; display: block; }
  .gc-footer__help .gc-socials { margin-top: 16px; }
  .gc-footer__bottom-inner { flex-direction: column; justify-content: center; padding: 15px 0; text-align: center; }
  .gc-floating-whatsapp { width: 52px; padding: 0; justify-content: center; }
  .gc-floating-whatsapp span { display: none; }
}

@media (max-width: 560px) {
  .gc-quick-grid { grid-template-columns: 1fr; }
  .gc-quick-card { min-height: 78px; }
  .gc-highlight-grid { grid-template-columns: 1fr; }
  .gc-highlight { min-height: 0; }
  .gc-course-grid { grid-template-columns: 1fr; }
  .gc-course-card__image { height: 190px; }
  .gc-footer__grid { grid-template-columns: 1fr; }
  .gc-footer__about,
  .gc-footer__help { grid-column: auto; }
  .gc-footer__actions { grid-template-columns: 1fr; }
  .gc-record-list,
  .gc-record-list--three { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .gc-hero__facts span:nth-child(3) { display: none; }
  .gc-quick-card b { display: block; }
  .gc-quick-card small { display: block; }
}

/* Print/PDF capture cleanup */
@media print {
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  html, body { background: #fff !important; }
  .gc-nav-shell { position: static !important; }
  .gc-floating-whatsapp,
  .gc-scroll-top,
  .gc-hero__arrow,
  .gc-hero__dots,
  .gc-menu-overlay { display: none !important; }
  .gc-section { content-visibility: visible !important; contain: none !important; break-inside: auto; }
  .gc-course-card,
  .gc-highlight,
  .gc-why-card,
  .gc-service-list li,
  .gc-panel { break-inside: avoid; }
  .gc-footer__main { break-inside: avoid; }
}

/* =========================================================
   R5 FINAL HOMEPAGE / DYNAMIC BANNER / FOOTER OVERRIDES
========================================================= */

/* Keep the database banner image visible without distortion. */
.gc-hero__image {
  object-position: center center;
  background: #0a1d4f;
}

.gc-hero__content {
  width: min(690px, 72%);
}

.gc-hero__shade {
  background: linear-gradient(90deg,
    rgba(5, 18, 54, .94) 0%,
    rgba(8, 29, 75, .80) 42%,
    rgba(8, 29, 75, .24) 72%,
    rgba(8, 29, 75, .08) 100%);
}

/* A compact, explicitly positioned footer. Explicit grid areas prevent
   browser zoom or inherited styles from shifting columns. */
.gc-footer {
  clear: both;
  overflow: visible;
  contain: none;
  color: rgba(255,255,255,.76);
  background: #07183e;
}

.gc-footer__contact-strip { display: none !important; }

.gc-footer__main {
  padding: 48px 0 36px;
  background:
    radial-gradient(circle at 4% 0%, rgba(35, 91, 188, .23), transparent 25%),
    radial-gradient(circle at 100% 100%, rgba(239, 65, 54, .09), transparent 26%),
    #07183e;
}

.gc-footer__grid {
  display: grid;
  grid-template-columns: minmax(245px, 1.25fr) minmax(150px, .72fr) minmax(185px, .88fr) minmax(245px, 1.18fr);
  grid-template-areas: "about links services contact";
  gap: clamp(25px, 2.8vw, 42px);
  align-items: start;
}

.gc-footer__about { grid-area: about; }
.gc-footer__links { grid-area: links; }
.gc-footer__services { grid-area: services; }
.gc-footer__contact { grid-area: contact; }

.gc-footer__about,
.gc-footer__column,
.gc-footer__contact { min-width: 0; }

.gc-footer__brand { margin-bottom: 14px; }
.gc-footer__about > p {
  max-width: 330px;
  margin-bottom: 14px;
  font-size: 12.5px;
  line-height: 1.65;
}

.gc-footer h3 {
  margin-bottom: 18px;
  padding-bottom: 10px;
}

.gc-footer li { margin-bottom: 8px; }
.gc-footer__column li a { font-size: 12.5px; }

.gc-footer__contact-list {
  display: grid;
  gap: 9px;
  margin-bottom: 14px;
}

.gc-footer__contact-list > a {
  display: grid;
  min-width: 0;
  grid-template-columns: 35px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 10px;
  background: rgba(255,255,255,.055);
}

.gc-footer__contact-list > a > i {
  display: grid;
  width: 35px;
  height: 35px;
  place-items: center;
  color: #fff;
  border-radius: 9px;
  background: linear-gradient(145deg, #ef4136, #ff7d24);
  font-size: 14px;
}

.gc-footer__contact-list > a:nth-child(2) > i { background: linear-gradient(145deg, #1162c7, #2594e4); }
.gc-footer__contact-list > a:nth-child(3) > i { background: linear-gradient(145deg, #0c9a78, #17bf8e); }

.gc-footer__contact-list small,
.gc-footer__contact-list strong { display: block; }

.gc-footer__contact-list small {
  margin-bottom: 2px;
  color: rgba(255,255,255,.53);
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gc-footer__contact-list strong {
  overflow-wrap: anywhere;
  color: rgba(255,255,255,.88);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
}

.gc-footer__actions {
  grid-template-columns: repeat(2, minmax(0,1fr));
}

.gc-footer__actions a { min-height: 39px; }
.gc-footer__contact .gc-socials { justify-content: flex-start; margin-top: 13px; }

.gc-footer__bottom-inner {
  min-height: 54px;
}

/* Reset old R4 tablet placement that created an empty first column. */
@media (max-width: 1100px) {
  .gc-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "about links"
      "services contact";
    gap: 32px 38px;
  }

  .gc-footer__about,
  .gc-footer__links,
  .gc-footer__services,
  .gc-footer__contact {
    grid-column: auto !important;
    display: block !important;
  }
}

@media (max-width: 760px) {
  .gc-hero__content { width: 100%; }
  .gc-hero__shade {
    background: linear-gradient(90deg, rgba(5,18,54,.94), rgba(8,29,75,.72));
  }

  .gc-footer__main { padding: 42px 0 30px; }
  .gc-footer__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "about about"
      "links services"
      "contact contact";
    gap: 27px 20px;
  }

  .gc-footer__about > p { max-width: 600px; }
  .gc-footer__contact-list { grid-template-columns: 1fr 1fr; }
  .gc-footer__contact-list > a:first-child { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .gc-footer__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "about"
      "links"
      "services"
      "contact";
    gap: 26px;
  }

  .gc-footer__contact-list { grid-template-columns: 1fr; }
  .gc-footer__contact-list > a:first-child { grid-column: auto; }
  .gc-footer__actions { grid-template-columns: 1fr 1fr; }
  .gc-footer__bottom-inner nav { justify-content: center; }
}

@media (max-width: 390px) {
  .gc-footer__actions { grid-template-columns: 1fr; }
}

@media print {
  .gc-footer { display: none !important; }
}

/* Local icon-font recovery: this declaration is intentionally loaded after
   the vendor stylesheet, so icons continue to work even if an older theme
   overrides Font Awesome's @font-face rule. */
@font-face {
  font-family: 'FontAwesome';
  src: url('../vendor/font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0');
  src: url('../vendor/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),
       url('../vendor/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
       url('../vendor/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),
       url('../vendor/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),
       url('../vendor/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.fa {
  font-family: 'FontAwesome' !important;
  font-style: normal !important;
  font-weight: normal !important;
  speak: none;
}
