
:root {
  /* GLS BRAND COLORS */
  --gls-blue: #0476BD;
  --gls-navy: #003399;
  --gls-green: #09B04F;
  --gls-white: #FFFFFF;
  /* Mapeo con variables existentes */
  --navy: var(--gls-navy);
  --navy-mid: var(--gls-blue);
  --blue: var(--gls-blue);
  --blue-hover: var(--gls-navy);
  --blue-light: rgba(4, 118, 189, 0.08);
  --gold: var(--gls-green);
  --gold-hover: #078E40;
  --gold-light: rgba(9, 176, 79, 0.10);
  --green: var(--gls-green);
  --white: var(--gls-white);
  /* Neutros derivados de marca */
  --gray-50: rgba(4, 118, 189, 0.04);
  --gray-100: rgba(4, 118, 189, 0.08);
  --gray-200: rgba(4, 118, 189, 0.16);
  --gray-400: rgba(0, 51, 153, 0.38);
  --gray-600: rgba(0, 51, 153, 0.72);
  --text: var(--gls-navy);
  --text-muted: rgba(0, 51, 153, 0.72);
  --radius: 10px;
  --radius-lg: 16px;
  --shadow-md: 0 4px 12px rgba(0, 51, 153, 0.08);
  --shadow-lg: 0 10px 30px rgba(0, 51, 153, 0.12);
  --transition: 0.2s ease;
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

h1, h2, h3, h4 {
  font-family: "Space Grotesk", sans-serif;
  line-height: 1.08;
  font-weight: 500;
}

h1 {
  font-size: clamp(18px, 4vw, 42px);
}

h2 {
  font-size: clamp(22px, 2.5vw, 34px);
}

h3 {
  font-size: clamp(14px, 1.5vw, 18px);
}

h4 {
  font-size: 16px;
  font-weight: 600;
}

p {
  line-height: 1.7;
  color: var(--gray-600);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--blue);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

ul {
  list-style: none;
}

.gls-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.gls-section-sm {
  padding: 48px 0;
}

.gls-center {
  text-align: center;
}

.site-header:not(.gls-header),
.elementor-location-header,
#masthead,
.site-branding,
.main-navigation,
.hello-elementor-header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Eliminar padding-top que Hello Elementor inyecta para compensar sticky */

html, body, .site, #page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.site-footer:not(.gls-footer) {
  display: none !important;
}

.gls-site-content {
  min-height: 60vh;
}

.gls-site-content>* {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.gls-section {
  padding: 80px 0;
  margin: 0 !important;
}

.entry-content>*, .wp-block-group {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body {
  font-family: "Inter", sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  margin: 0 !important;
  padding: 0 !important;
}

.site, .site-content, .site-main, .page-content, .entry-content, .elementor-page, .hentry {
  margin: 0 !important;
  padding: 0 !important;
}

body.admin-bar .gls-header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .gls-header {
    top: 46px;
  }
}

.entry-content>*:first-child, .entry-content>.wp-block-group:first-child, .entry-content>.wp-block-cover:first-child, .entry-content>.wp-block-html:first-child>*:first-child, .gls-site-content .entry-content>div:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.e-con.e-parent {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.elementor>.elementor-inner>.elementor-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.e-con-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.gls-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  width: 100%;
}

.gls-topbar {
  background: var(--blue);
  padding: 9px 0;
}

.gls-topbar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 64px;
}

.gls-topbar-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.gls-topbar-icon {
  font-size: 20px;
  line-height: 1;
  color: var(--white);
  display: flex;
  align-items: center;
}

.gls-topbar-item strong {
  display: block;
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}

.gls-topbar-item small {
  display: block;
  color: rgba(255, 255, 255, 0.8);
  font-size: 11px;
  line-height: 1.2;
}

.gls-header-main {
  background: var(--navy);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}

.gls-header-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 24px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.gls-logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.gls-logo img, .gls-logo .custom-logo {
  height: 50px;
  width: auto;
  display: block;
}

.gls-logo-text {
  font-family: "Space Grotesk", sans-serif;
  font-size: 28px;
  font-weight: 600;
  color: var(--white);
  letter-spacing: -1px;
}

.gls-nav {
  display: flex;
  align-items: center;
}

.gls-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

.gls-nav-list li {
  position: relative;
}

.gls-nav-list li a, .gls-nav-link {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  font-weight: 600;
  border-radius: 7px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.gls-nav-list li a:hover, .gls-nav-link:hover {
  color: var(--white);
  background: rgba(255, 255, 255, 0.12);
  text-decoration: none;
}

.gls-nav-list li.current-menu-item>a {
  color: var(--white);
  background: rgba(255, 255, 255, 0.15);
}

.gls-header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

.gls-header-cta {
  white-space: nowrap;
}

.gls-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border-radius: 999px;
  background: var(--gray-200);
}

.gls-lang-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
}

.gls-lang-btn.active {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.gls-lang-btn.active:hover {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.gls-lang-btn:hover {
  color: var(--white);
}

.gls-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.gls-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--white);
  border-radius: 2px;
  transition: all 0.3s;
}

.gls-hamburger.open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.gls-hamburger.open span:nth-child(2) {
  opacity: 0;
}

.gls-hamburger.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.gls-footer-top {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 48px;
  padding: 64px 0 48px;
}

.gls-footer-brand .gls-footer-logo-link img {
  max-height: 52px;
  width: auto;
}

.gls-footer-logo-text {
  font-size: 32px;
  font-weight: 600;
  color: var(--white);
}

.gls-footer-tagline {
  margin: 16px 0 24px;
  color: rgba(255,255,255,0.6);
  font-size: 14px;
  line-height: 1.7;
}

.gls-footer-divider {
  height: 1px;
  background: rgba(255,255,255,0.1);
}

.gls-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  color: rgba(255,255,255,0.45);
  font-size: 13px;
}

@media (max-width: 1380px) {
  .gls-header-inner {
    gap: 16px;
  }
  .gls-nav-list {
    gap: 0;
  }
  .gls-nav-list li a, .gls-nav-link {
    padding: 8px 9px;
    font-size: 13px;
  }
}

@media (max-width: 1024px) {
  .gls-footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}

@media (max-width: 640px) {
  .gls-footer-top {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px 0 32px;
  }

  .gls-footer-bottom {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
}

.gls-nav.open {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--navy);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  padding: 12px 24px 20px;
  z-index: 100;
}

.gls-nav.open .gls-nav-list {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.gls-nav.open .gls-nav-list li a {
  font-size: 16px;
  padding: 12px 14px;
  width: 100%;
  color: rgba(255, 255, 255, 0.88);
}

.gls-nav-list .menu-item-has-children {
  position: relative;
}

.gls-nav-list .menu-item-has-children>a::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid rgba(255, 255, 255, 0.6);
  margin-left: 7px;
  vertical-align: middle;
  transition: transform 0.2s ease;
}

.gls-nav-list .menu-item-has-children:hover>a::after {
  transform: rotate(180deg);
}

.gls-nav-list .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid var(--gray-200);
  border-top: 10px solid transparent;
  background-clip: padding-box;
  padding: 8px;
  z-index: 9999;
  list-style: none;
  margin: 0;
}

.gls-nav-list .sub-menu::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 22px;
  width: 12px;
  height: 12px;
  background: var(--white);
  border-left: 1px solid var(--gray-200);
  border-top: 1px solid var(--gray-200);
  transform: rotate(45deg);
}

.gls-nav-list .menu-item-has-children:hover>.sub-menu {
  display: block;
}

.gls-nav-list .sub-menu li a {
  display: block;
  padding: 9px 14px;
  color: var(--navy) !important;
  font-size: 14px;
  font-weight: 500;
  border-radius: 8px;
  transition: all 0.15s ease;
  background: none !important;
  text-decoration: none !important;
}

.gls-nav-list .sub-menu li a:hover {
  background: var(--blue-light) !important;
  color: var(--blue) !important;
}

.gls-nav-list .sub-menu li.current-menu-item>a {
  background: var(--blue-light) !important;
  color: var(--blue) !important;
}

.gls-nav.open .menu-item-has-children>a::after {
  border-top-color: rgba(255, 255, 255, 0.6);
}

.gls-nav.open .menu-item-has-children.open>a::after {
  transform: rotate(180deg);
}

.gls-nav.open .sub-menu {
  position: static;
  box-shadow: none;
  border: none;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.05);
  padding: 4px 0 4px 16px;
  margin: 4px 0;
  border-left: 2px solid rgba(255, 255, 255, 0.15);
  display: none;
}

.gls-nav.open .sub-menu::before {
  display: none;
}

.gls-nav.open .sub-menu li a {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 14px !important;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  background: none !important;
  width: 100%;
}

.gls-nav.open .sub-menu li a:hover {
  color: var(--white) !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

.gls-btn,
.gls-btn-outline,
.gls-btn-gold,
.gls-btn-white,
.gls-btn-secondary-clean,
.gls-btn-primary-clean {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: var(--radius);
  font-weight: 600;
  font-size: 15px;
  font-family: inherit;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--transition);
  text-decoration: none;
}

.gls-btn {
  background: var(--blue);
  color: var(--white);
}

.gls-btn:hover {
  background: var(--blue-hover);
  color: var(--white);
  text-decoration: none;
}

.gls-btn-gold {
  background: var(--gold);
  color: var(--white);
}

.gls-btn-gold:hover {
  background: var(--gold-hover);
  color: var(--white);
  text-decoration: none;
}

.gls-btn-outline {
  background: transparent;
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.5);
}

.gls-btn-outline:hover {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.1);
  color: var(--white);
  text-decoration: none;
}

.gls-btn-white {
  background: var(--white);
  color: var(--navy);
  font-weight: 600;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.gls-btn-white:hover {
  background: var(--gray-50);
  color: var(--navy);
  text-decoration: none;
  transform: translateY(-2px);
}

.gls-btn-primary-clean {
  background: var(--blue);
  color: var(--white) !important;
  border: 2px solid var(--blue);
  font-weight: 600;
}

.gls-btn-primary-clean:hover,
.gls-btn-primary-clean:focus {
  background: var(--green);
  border-color: var(--green);
  color: var(--white) !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.gls-btn-secondary-clean {
  background: var(--white);
  color: var(--navy);
  border-color: var(--gray-200);
  font-weight: 600;
}

.gls-btn-secondary-clean:hover {
  background: var(--blue);
  border-color: var(--blue);
  color: var(--white);
  text-decoration: none;
}

.gls-btn-sm {
  padding: 7px 16px;
  font-size: 13px;
}

.gls-btn-whatsapp {
  background: #25d366 !important;
  color: var(--white) !important;
}

.gls-btn-whatsapp:hover {
  background: #1ebe59 !important;
}

.gls-section-header {
  text-align: center;
  margin-bottom: 52px;
}

.gls-tag {
  display: inline-block;
  background: var(--blue-light);
  color: var(--blue);
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 12px;
}

.gls-section-header h2 {
  color: var(--navy);
  margin-bottom: 12px;
}

.gls-section-header p {
  max-width: 580px;
  margin: 0 auto;
  font-size: 17px;
}

.gls-hero.gls-hero-split {
  position: relative !important;
  display: block !important;
  min-height: auto !important;
  padding: 110px 0 !important;
  overflow: hidden;
  background: radial-gradient(
      circle at 85% 18%,
      rgba(4, 118, 189, 0.22),
      transparent 34%
    ),
  linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  border: none !important;
}

.gls-hero.gls-hero-split .gls-container {
  width: 100%;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
}

.gls-hero.gls-hero-split .gls-hero-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 90px !important;
  align-items: center !important;
}

.gls-hero.gls-hero-split .gls-hero-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 16px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.96) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 28px !important;
}

.gls-hero.gls-hero-split h1 {
  color: var(--white) !important;
  font-size: clamp(42px, 5.2vw, 70px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
  margin: 0 0 24px !important;
}

.gls-hero.gls-hero-split h1 span {
  color: var(--green) !important;
}

.gls-hero.gls-hero-split .gls-hero-sub {
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: 19px !important;
  line-height: 1.72 !important;
  margin: 0 0 38px !important;
}

.gls-hero.gls-hero-split .gls-hero-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.gls-hero.gls-hero-split .gls-hero-image {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
}

.gls-hero.gls-hero-split .gls-hero-image img {
  width: 100%;
  height: 640px !important;
  object-fit: cover !important;
  object-position: 70% center !important;
  border-radius: 34px !important;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.35);
}

.gls-stats-bar {
  background: var(--blue);
  padding: 0;
}

.gls-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.gls-stat {
  padding: 34px 24px;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.gls-stat:last-child {
  border-right: none;
}

.gls-stat-num {
  font-family: "Space Grotesk", sans-serif;
  font-size: 56px;
  font-weight: 600;
  color: var(--white);
  line-height: 1;
  margin-bottom: 10px;
  display: block;
}

.gls-stat-label {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.92);
  font-weight: 500;
  display: block;
}

.gls-programs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.gls-program-card {
  display: block;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 28px;
  transition: all var(--transition);
  text-decoration: none;
}

.gls-program-card:hover {
  border-color: var(--blue);
  box-shadow: var(--shadow-lg);
  transform: translateY(-3px);
  text-decoration: none;
}

.gls-program-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  font-size: 26px;
  background: var(--blue-light);
}

.gls-program-card h3 {
  color: var(--navy);
  font-size: 18px;
  margin-bottom: 8px;
}

.gls-program-card p {
  font-size: 14px;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.6;
}

.gls-program-arrow {
  margin-top: 16px;
  color: var(--blue);
  font-weight: 600;
  font-size: 14px;
}

.gls-dest-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.gls-dest-card {
  min-height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 20px 16px;
  text-align: center;
  border: 1px solid var(--gray-200);
  transition: all var(--transition);
  text-decoration: none;
}

.gls-dest-card:hover {
  border-color: var(--blue);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
  text-decoration: none;
}

.gls-dest-flag {
  font-size: 36px;
  margin-bottom: 8px;
  display: block;
}

.gls-dest-name {
  font-family: "Space Grotesk", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--navy);
}

.gls-why {
  background: var(--navy);
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 90px 0 !important;
}

.gls-why .gls-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.gls-why .gls-section-header {
  text-align: center !important;
  margin-bottom: 56px !important;
}

.gls-why .gls-tag {
  background: rgba(255, 255, 255, 0.12) !important;
  color: var(--white) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.gls-why .gls-section-header h2, .gls-why h2, .gls-why h3 {
  color: var(--white) !important;
}

.gls-why .gls-section-header p, .gls-why p {
  color: rgba(255, 255, 255, 0.88) !important;
}

.gls-why-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.gls-why-item {
  text-align: center !important;
  padding: 36px 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

.gls-why-icon {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px !important;
  font-size: 28px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.gls-why-item h3 {
  font-size: 20px !important;
  margin-bottom: 10px !important;
  color: var(--white) !important;
}

.gls-why-item p {
  font-size: 16px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
}

.gls-test-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.gls-test-card {
  background: var(--gray-50);
  border-radius: var(--radius-lg);
  padding: 32px;
  border-left: 4px solid var(--blue);
}

.gls-test-quote {
  font-size: 17px;
  color: var(--text);
  line-height: 1.7;
  margin-bottom: 20px;
  font-style: italic;
}

.gls-test-quote::before {
  content: "\"";
  font-size: 40px;
  color: var(--blue);
  line-height: 0;
  vertical-align: -14px;
  margin-right: 4px;
  font-style: normal;
}

.gls-test-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.gls-test-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--blue);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-weight: 600;
  font-family: "Space Grotesk", sans-serif;
  font-size: 16px;
}

.gls-test-name {
  font-weight: 600;
  color: var(--navy);
  font-size: 15px;
}

.gls-test-detail {
  font-size: 13px;
  color: var(--text-muted);
}

.gls-quiz-cta {
  background: linear-gradient(135deg, var(--blue) 0%, var(--blue-hover) 100%);
}

.gls-quiz-cta-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.gls-quiz-cta-text h2 {
  color: var(--white);
  margin-bottom: 16px;
}

.gls-quiz-cta-text p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 17px;
  margin-bottom: 28px;
}

.gls-quiz-cta-form {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 36px;
  box-shadow: var(--shadow-lg);
}

.gls-cta-banner {
  background: linear-gradient(135deg, var(--gold), var(--gold-hover));
  text-align: center;
  padding: 60px 24px;
}

.gls-cta-banner h2 {
  color: var(--white);
  margin-bottom: 12px;
}

.gls-cta-banner p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  margin-bottom: 28px;
}

.gls-cta-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}

.gls-modern-cta {
  background: linear-gradient(180deg, var(--gray-50) 0%, var(--white) 100%);
  padding: 90px 0;
}

.gls-modern-cta-box {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 34px;
  align-items: stretch;
  padding: 46px;
  border: 1px solid var(--gray-200);
  border-radius: 30px;
  background: var(--white);
  box-shadow: 0 14px 34px rgba(0, 51, 153, 0.16);
}

.gls-modern-cta-box::before {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  right: -120px;
  top: -120px;
  border-radius: 50%;
  background: rgba(4, 118, 189, 0.08);
}

.gls-modern-cta-content, .gls-modern-cta-card {
  position: relative;
  z-index: 1;
}

.gls-modern-eyebrow, .gls-modern-card-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 7px 14px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 18px;
}

.gls-modern-cta h2 {
  max-width: 640px;
  color: var(--navy);
  margin-bottom: 16px;
  letter-spacing: -0.03em;
}

.gls-modern-cta-content>p {
  max-width: 620px;
  font-size: 18px;
  color: var(--gray-600);
  margin-bottom: 0;
}

.gls-modern-cta-list {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.gls-modern-cta-list div {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 16px;
  border: 1px solid var(--gray-200);
  border-radius: 16px;
  background: var(--gray-50);
  transition: all var(--transition);
}

.gls-modern-cta-list div:hover {
  background: var(--white);
  border-color: var(--gray-200);
  transform: translateX(4px);
}

.gls-modern-cta-list strong {
  min-width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--blue-light);
  color: var(--blue);
  font-family: "Space Grotesk", sans-serif;
  font-size: 14px;
}

.gls-modern-cta-list span {
  color: var(--navy);
  font-weight: 600;
}

.gls-modern-cta-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
  box-shadow: 0 20px 55px rgba(0, 51, 153, 0.24);
}

.gls-modern-cta-card h3 {
  color: var(--white);
  margin-bottom: 12px;
}

.gls-modern-cta-card p {
  color: rgba(255, 255, 255, 0.82);
  margin-bottom: 26px;
}

.gls-modern-cta-card .gls-btn-primary-clean {
  background: var(--white);
  color: var(--blue-hover) !important;
  border-color: var(--blue);
}

.gls-modern-cta-card .gls-btn-primary-clean:hover,
.gls-modern-cta-card .gls-btn-primary-clean:focus {
  background: var(--green);
  border-color: var(--green);
  color: var(--white) !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.gls-modern-cta-card .gls-btn-secondary-clean {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.1);
  color: var(--white);
}

.gls-modern-cta-card .gls-btn-secondary-clean:hover {
  background: var(--white);
  border-color: var(--white);
  color: var(--navy);
}

.gls-final-cta {
  background: var(--white);
  padding: 48px 0 72px;
}

.gls-final-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 30px;
  border-radius: 20px;
  background: var(--blue-light);
  border: 1px solid var(--gray-200);
}

.gls-final-cta h2 {
  color: var(--navy);
  font-size: clamp(24px, 3vw, 34px);
  margin-bottom: 8px;
}

.gls-footer {
  background: var(--navy);
  color: rgba(255, 255, 255, 0.7);
  padding: 64px 0 0;
}

.gls-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 48px;
  margin-bottom: 48px;
}

.gls-footer-logo {
  font-family: "Space Grotesk", sans-serif;
  font-size: 32px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 16px;
  letter-spacing: -1px;
}

.gls-footer-brand p, .gls-footer-tagline {
  font-size: 14px;
  line-height: 1.7;
  max-width: 280px;
}

.gls-footer-social {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}

.gls-footer-social a {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.7);
  transition: all var(--transition);
  text-decoration: none;
}

.gls-footer-social a:hover {
  background: rgba(255, 255, 255, 0.15);
  color: var(--white);
}

.gls-footer-col h4, .gls-footer-heading {
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.gls-footer-col ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.gls-footer-col li a {
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  transition: color var(--transition);
  text-decoration: none;
}

.gls-footer-col li a:hover {
  color: var(--white);
}

.gls-footer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  padding: 11px 22px;
  background: transparent !important;
  border: 1.5px solid rgba(255, 255, 255, 0.75) !important;
  color: var(--white) !important;
  border-radius: 10px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.gls-footer-cta:hover {
  background: var(--green) !important;
  border-color: var(--green) !important;
  color: var(--white) !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.gls-footer-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.gls-footer-links li a, .gls-footer-links a {
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  transition: color var(--transition);
  text-decoration: none;
}

.gls-footer-links li a:hover, .gls-footer-links a:hover {
  color: var(--white);
}

.gls-footer-contact li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
}

.gls-footer-contact li svg {
  flex-shrink: 0;
  opacity: 0.6;
}

.gls-footer-bottom-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 20px 0;
}

.gls-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.gls-footer-bottom-inner p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
  margin: 0;
}

.gls-footer-bottom-logo {
  display: flex;
  align-items: center;
}

.gls-footer-logo-sm {
  font-family: "Space Grotesk", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--white);
  letter-spacing: -0.5px;
}

.gls-footer-logo-sm span {
  color: var(--gold);
}

.gls-footer-bottom-logo img {
  height: 28px;
  width: auto;
}

.gls-footer-bottom-links {
  display: flex;
  gap: 20px;
}

.gls-footer-bottom-links a {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
  transition: color var(--transition);
  text-decoration: none;
}

.gls-footer-bottom-links a:hover {
  color: var(--white);
}

.gls-page-hero {
  background: var(--navy);
  padding: 80px 0 60px;
  text-align: center;
}

.gls-page-hero h1 {
  color: var(--white);
  margin-bottom: 12px;
}

.gls-page-hero p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 18px;
  max-width: 560px;
  margin: 0 auto;
}

.gls-page-content {
  padding: 60px 0 80px;
}

.gls-page-content .gls-container {
  max-width: 860px;
}

.gls-page-content h2 {
  color: var(--navy);
  margin: 36px 0 14px;
}

.gls-page-content p {
  margin-bottom: 18px;
  font-size: 16px;
  line-height: 1.8;
}

.gls-about-hero {
  background: var(--navy);
  padding: 80px 0;
}

.gls-about-hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.gls-about-hero h1 {
  color: var(--white);
  margin-bottom: 20px;
}

.gls-about-hero p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 17px;
  margin-bottom: 16px;
}

.gls-about-img {
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--navy-mid);
}

.gls-about-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gls-offices-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.gls-office-card {
  background: var(--gray-50);
  border-radius: var(--radius);
  padding: 20px;
  border: 1px solid var(--gray-200);
}

.gls-office-flag {
  font-size: 28px;
  margin-bottom: 8px;
}

.gls-office-city {
  font-family: "Space Grotesk", sans-serif;
  font-weight: 600;
  color: var(--navy);
  font-size: 16px;
}

.gls-office-country {
  font-size: 13px;
  color: var(--text-muted);
}

.gls-quiz-page {
  background: var(--gray-50);
  padding: 80px 0;
}

.gls-quiz-page .gls-container {
  max-width: 640px;
}

.gls-quiz-box {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 48px 40px;
  box-shadow: var(--shadow-lg);
}

.gls-thanks-page {
  min-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 24px;
}

.gls-thanks-icon {
  font-size: 64px;
  margin-bottom: 24px;
}

.gls-thanks-page h1 {
  color: var(--navy);
  margin-bottom: 16px;
}

.gls-thanks-page p {
  font-size: 18px;
  max-width: 480px;
  margin: 0 auto 32px;
}

.gls-thanks-steps {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 400px;
  margin: 0 auto 36px;
  text-align: left;
}

.gls-thanks-step {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.gls-thanks-step-num {
  width: 28px;
  height: 28px;
  background: var(--blue);
  color: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  flex-shrink: 0;
}

/*
   =========================================================
      QUIZ RESULTS — BASE LIMPIA PARA NO CONFLICTAR CON GLS-FORMS
      El diseño principal vive en gls-forms.css
      =========================================================
 */

/* ══════════════════════════════════════════════
   QUIZ RESULTS PAGE
   ══════════════════════════════════════════════ */

.gls-results-page {
  background: #f8fafc;
  min-height: 60vh;
}

.gls-results-page .gls-container {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Hero */
.gls-results-hero {
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  padding: 56px 24px 48px;
  text-align: center;
}

.gls-results-label {
  display: inline-block;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 16px;
  border-radius: 999px;
  margin-bottom: 16px;
}

.gls-results-title {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  color: #fff;
  margin: 0 auto 12px;
  max-width: 700px;
}

.gls-results-sub {
  font-size: 16px;
  color: rgba(255,255,255,.75);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Body section */
.gls-results-body {
  padding: 40px 24px 72px;
}

/* Search */
.gls-search-wrap {
  display: flex;
  align-items: center;
  max-width: 520px;
  margin-bottom: 20px;
  background: #fff;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,51,153,.06);
  transition: border-color .2s, box-shadow .2s;
  overflow: hidden;
}

.gls-search-wrap:focus-within {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(4,118,189,.12);
}

.gls-search-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 0 12px;
  color: #94a3b8;
  pointer-events: none;
}

.gls-search-input {
  flex: 1;
  padding: 13px 16px 13px 0;
  border: none;
  outline: none;
  font-size: 15px;
  color: #1e293b;
  background: transparent;
  font-family: inherit;
  box-shadow: none;
}

.gls-search-input::placeholder { color: #94a3b8; }

/* Country pills */
.gls-country-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.gls-country-pill {
  background: #fff;
  border: 1.5px solid #e2e8f0;
  color: #475569;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s, box-shadow .15s;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

.gls-country-pill:hover {
  border-color: var(--blue);
  color: var(--blue);
  background: var(--blue-light);
  box-shadow: none;
}

.gls-country-pill.active {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
  box-shadow: 0 2px 8px rgba(0,51,153,.2);
}

/* Counter */
.gls-results-count {
  font-size: 13px;
  color: #94a3b8;
  margin-bottom: 24px;
  font-weight: 500;
}

/* Grid */
.gls-uni-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

/* ── Result Card (gls-rc-*) ── */
.gls-rc-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e2e8f2;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,51,153,.05);
  transition: transform .18s ease, box-shadow .18s ease;
}

.gls-rc-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(0,51,153,.1);
}

.gls-rc-top {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px 12px;
  border-bottom: 1px solid #f0f4fa;
  background: #f8fafc;
}

.gls-rc-flag {
  font-size: 20px;
  line-height: 1;
  flex-shrink: 0;
}

.gls-rc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.gls-rc-tag {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid rgba(4,118,189,.15);
}

.gls-rc-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 16px;
  gap: 6px;
}

.gls-rc-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
  line-height: 1.3;
}

.gls-rc-loc {
  font-size: 12px;
  color: #64748b;
  margin: 0;
}

.gls-rc-desc {
  font-size: 13px;
  color: #475569;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gls-rc-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px;
  border-top: 1px solid #f0f4fa;
  background: #f8fafc;
}

.gls-rc-price {
  font-size: 12px;
  font-weight: 700;
  color: var(--blue);
  background: var(--blue-light);
  padding: 4px 10px;
  border-radius: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  flex-shrink: 1;
}

.gls-rc-btn {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: var(--navy);
  padding: 6px 14px;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s;
}

.gls-rc-btn:hover {
  background: var(--blue);
  color: #fff;
  text-decoration: none;
}

/* Load more */
.gls-btn-outline {
  background: #fff;
  border: 2px solid var(--navy);
  color: var(--navy);
  padding: 13px 40px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background .2s, color .2s;
  font-family: inherit;
}

.gls-btn-outline:hover {
  background: var(--navy);
  color: #fff;
}

.gls-btn-outline:disabled {
  opacity: .45;
  cursor: not-allowed;
}

/* Loading & empty */
.gls-results-loading {
  grid-column: 1 / -1;
  text-align: center;
  padding: 60px 0;
  color: #94a3b8;
}

.gls-results-empty {
  text-align: center;
  padding: 60px 24px;
  color: #64748b;
}

.gls-results-empty p {
  font-size: 16px;
  margin-bottom: 20px;
}

@media (max-width: 1024px) {
  .gls-uni-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .gls-uni-grid { grid-template-columns: 1fr; }
  .gls-search-wrap { max-width: 100%; }
  .gls-results-hero { padding: 40px 20px 36px; }
}

/*
   =========================================================
      SINGLE UNIVERSITY HERO — CORRECCIÓN VISUAL
      Página: /universidades/[slug]/
      =========================================================
 */

.gls-uni-hero {
  position: relative;
  overflow: hidden;
  padding: 64px 0 76px;
  background: radial-gradient(circle at 18% 18%, rgba(4, 118, 189, .22), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(9, 176, 79, .14), transparent 32%),
    linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  color: var(--white);
}

.gls-uni-hero::before {
  content: "";
  position: absolute;
  inset: 24px max(24px, calc((100vw - 1200px) / 2));
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, .10);
  pointer-events: none;
}

.gls-uni-hero .gls-container {
  position: relative;
  z-index: 2;
}

/* Breadcrumb */

.gls-breadcrumb {
  font-size: 13px;
  color: rgba(255, 255, 255, .52);
  margin-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.gls-breadcrumb a {
  color: rgba(255, 255, 255, .72);
  text-decoration: none;
}

.gls-breadcrumb a:hover {
  color: var(--white);
  text-decoration: none;
}

.gls-breadcrumb span {
  color: rgba(255, 255, 255, .38);
}

/* Layout hero */

.gls-uni-hero-inner {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) 260px;
  gap: 26px;
  align-items: center;
}

.gls-uni-hero-text {
  min-width: 0;
}

/* Bandera */

.gls-uni-hero-flag {
  width: 66px;
  height: 66px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .16),
    inset 0 1px 0 rgba(255, 255, 255, .14);
  font-size: 42px;
  line-height: 1;
}

/* Tags */

.gls-uni-hero-tags {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.gls-uni-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 30px;
  padding: 0 13px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Texto hero */

.gls-uni-hero h1 {
  max-width: 780px;
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.04;
  letter-spacing: -0.05em;
  color: var(--white);
  margin: 0 0 12px;
}

.gls-uni-hero-loc {
  color: rgba(255, 255, 255, .76);
  font-size: 15.5px;
  line-height: 1.55;
  margin: 0 0 16px;
  font-weight: 600;
}

.gls-uni-hero-desc {
  color: rgba(255, 255, 255, .86);
  font-size: 16.5px;
  max-width: 680px;
  margin: 0 0 22px;
  line-height: 1.7;
}

/* Badges */

.gls-uni-hero-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.gls-uni-badge {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .16);
  color: rgba(255, 255, 255, .92);
  font-size: 13px;
  font-weight: 600;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.gls-uni-badge-gold {
  background: rgba(9, 176, 79, .20);
  border-color: rgba(9, 176, 79, .42);
  color: var(--white);
}

/* Imagen hero */

.gls-uni-hero-img {
  width: 260px;
  aspect-ratio: 4 / 3;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 22px 56px rgba(0, 0, 0, .22);
}

.gls-uni-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gls-uni-content-section {
  padding: 56px 0 80px;
  background: var(--gray-50);
}

.gls-uni-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 32px;
  align-items: start;
}

.gls-uni-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.gls-uni-main {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.gls-uni-block {
  position: relative;
  overflow: hidden;
  background: var(--white);
  border: 1px solid #E2E8F0;
  border-radius: 24px;
  padding: 34px;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07);
}

.gls-uni-block h2 {
  font-size: clamp(24px, 2.6vw, 32px);
  color: var(--navy);
  margin: 0 0 22px;
  letter-spacing: -0.035em;
}

.gls-uni-highlights {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gls-uni-highlights li {
  padding-left: 28px;
  position: relative;
  font-size: 15px;
  color: var(--gray-600);
  line-height: 1.6;
}

.gls-uni-highlights li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--green);
  font-weight: 600;
  font-size: 15px;
}

.gls-uni-form-block {
  background: var(--white);
  border-color: #E2E8F0;
}

.gls-uni-form-block h2 {
  color: var(--navy);
}

.gls-uni-form-block > p {
  color: var(--gray-600);
  margin: -8px 0 24px;
}

.gls-uni-form-block .gls-field label {
  color: var(--navy);
  font-weight: 600;
}

.gls-uni-form-block .gls-field input,
.gls-uni-form-block .gls-field select,
.gls-uni-form-block .gls-field textarea {
  background: var(--white);
  border-color: #CBD5E1;
  color: var(--navy);
}

.gls-uni-form-block .gls-field input::placeholder,
.gls-uni-form-block .gls-field textarea::placeholder {
  color: #94A3B8;
}

.gls-form-legal {
  color: var(--text-muted);
}

.gls-form-legal a {
  color: var(--blue);
}

.gls-quiz-cta .gls-form-legal a,
.gls-uni-sidebar-cta .gls-form-legal a {
  color: rgba(255, 255, 255, 0.6);
}

.gls-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.gls-field {
  margin-bottom: 16px;
}

.gls-field label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 6px;
  color: var(--text);
}

.gls-field input, .gls-field select, .gls-field textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--gray-200);
  border-radius: var(--radius);
  font-size: 15px;
  transition: border-color 0.2s;
  box-sizing: border-box;
}

.gls-field input:focus, .gls-field select:focus, .gls-field textarea:focus {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(4, 118, 189, 0.1);
}

.gls-uni-sidebar-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 24px;
}

.gls-uni-sidebar {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}

.gls-uni-sidebar-card h3 {
  font-size: 16px;
  color: var(--navy);
  margin: 0 0 16px;
}

.gls-uni-sidebar-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}

.gls-uni-sidebar-list li {
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  border-bottom: 1px solid var(--gray-100);
  font-size: 14px;
}

.gls-uni-sidebar-list li:last-child {
  border-bottom: none;
}

.gls-sbl {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-muted);
  letter-spacing: 0.5px;
}

.gls-uni-sidebar-programs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

.gls-uni-ext-link {
  display: block;
  text-align: center;
  margin-top: 12px;
  font-size: 13px;
  color: var(--blue);
  text-decoration: none;
}

.gls-uni-sidebar-cta {
  background: var(--navy-mid);
  border-color: transparent;
}

.gls-uni-sidebar-cta p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  margin: 0;
}

.gls-uni-sidebar-cta strong {
  color: var(--white);
}

.gls-sidebar-cta-emoji {
  font-size: 32px;
  margin: 0 0 8px;
}

.gls-eventos-wrap {
  padding: 0;
}

.gls-eventos-header {
  text-align: center;
  margin-bottom: 40px;
}

.gls-eventos-titulo {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(26px, 3.5vw, 38px);
  color: var(--navy);
  margin: 0;
  font-weight: 600;
}

.gls-eventos-carousel {
  position: relative;
  overflow: hidden;
}

.gls-eventos-track {
  display: flex;
  gap: 24px;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.gls-evento-card {
  flex: 0 0 calc(33.333% - 16px);
  min-width: 0;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  display: flex;
  flex-direction: column;
}

.gls-evento-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}

.gls-evento-img {
  position: relative;
  height: 200px;
  overflow: hidden;
  background: var(--navy);
}

.gls-evento-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.gls-evento-card:hover .gls-evento-img img {
  transform: scale(1.04);
}

.gls-evento-img-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
}

.gls-evento-placeholder-icon {
  font-size: 56px;
  opacity: 0.4;
}

.gls-evento-type-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(0, 0, 0, 0.6);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  backdrop-filter: blur(4px);
}

.gls-evento-body {
  padding: 20px;
  display: flex;
  gap: 14px;
  flex: 1;
}

.gls-evento-date-badge {
  flex-shrink: 0;
  width: 52px;
  text-align: center;
  background: var(--blue);
  border-radius: 10px;
  padding: 8px 4px;
  align-self: flex-start;
}

.gls-evento-day {
  display: block;
  font-family: "Space Grotesk", sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: var(--white);
  line-height: 1;
}

.gls-evento-month {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 4px;
}

.gls-evento-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.gls-evento-title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: var(--navy);
  margin: 0 0 8px;
  line-height: 1.3;
}

.gls-evento-desc {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.6;
  margin: 0 0 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gls-evento-meta {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.gls-evento-meta li {
  font-size: 12px;
  color: var(--gray-600);
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 1.4;
}

.gls-evento-cta {
  margin-top: auto;
  align-self: flex-start;
}

.gls-eventos-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 28px;
}

.gls-eventos-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--white);
  border: 1px solid var(--gray-200);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--navy);
  flex-shrink: 0;
}

.gls-eventos-btn:hover:not(:disabled) {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
  box-shadow: var(--shadow-md);
}

.gls-eventos-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.gls-eventos-dots {
  display: flex;
  gap: 6px;
  align-items: center;
}

.gls-evento-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gray-200);
  border: none;
  cursor: pointer;
  transition: all 0.25s ease;
  padding: 0;
  flex-shrink: 0;
}

.gls-evento-dot.active {
  background: var(--blue);
  width: 24px;
  border-radius: 4px;
}

@media (max-width: 1024px) {
  .gls-programs-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-dest-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .gls-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }

  .gls-offices-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-about-hero-inner {
    grid-template-columns: 1fr;
  }

  .gls-about-img {
    display: none;
  }

  .gls-uni-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-uni-layout {
    grid-template-columns: 1fr;
  }

  .gls-uni-sidebar {
    position: static;
  }

  .gls-uni-hero-inner {
    grid-template-columns: 64px 1fr;
  }

  .gls-uni-hero-img {
    display: none;
  }

  .gls-modern-cta-box {
    grid-template-columns: 1fr;
  }

  .gls-topbar-inner {
    gap: 12px;
  }
}

@media (max-width: 900px) {
  .gls-hero.gls-hero-split .gls-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }

  .gls-why-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-evento-card {
    flex: 0 0 calc(50% - 12px);
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .gls-topbar {
    display: none;
  }
}

@media (max-width: 1024px) {
  .gls-nav {
    display: none;
  }

  .gls-hamburger {
    display: flex;
  }

  .gls-header-cta {
    display: none;
  }

  .gls-header-inner {
    height: 64px;
  }

  .gls-logo img, .gls-logo .custom-logo {
    height: 42px;
  }
}

@media (max-width: 768px) {
  .gls-section {
    padding: 56px 0;
  }

  .gls-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-stat {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .gls-stat:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.15);
  }

  .gls-test-grid {
    grid-template-columns: 1fr;
  }

  .gls-quiz-cta-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .gls-footer-grid {
    grid-template-columns: 1fr;
  }

  .gls-footer-bottom-inner, .gls-final-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .gls-final-cta-inner .gls-btn {
    width: 100%;
  }

  .gls-modern-cta-box, .gls-modern-cta-card {
    padding: 26px;
  }

  .gls-hero.gls-hero-split {
    padding: 70px 0 !important;
  }

  .gls-hero.gls-hero-split .gls-container {
    padding: 0 24px !important;
  }
}

@media (max-width: 640px) {
  .gls-uni-grid {
    grid-template-columns: 1fr;
  }

  .gls-field-row {
    grid-template-columns: 1fr;
  }

  .gls-uni-hero {
    padding: 44px 0 52px;
  }

  .gls-uni-hero::before {
    display: none;
  }

  .gls-uni-hero .gls-container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .gls-breadcrumb {
    margin-bottom: 22px;
    font-size: 12px;
    line-height: 1.45;
  }

  .gls-uni-hero-inner {
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: flex-start;
  }

  .gls-uni-hero-flag {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    font-size: 34px;
  }

  .gls-uni-hero-tags {
    gap: 7px;
    margin-bottom: 12px;
  }

  .gls-uni-tag {
    min-height: 28px;
    padding: 0 11px;
    font-size: 10.5px;
    letter-spacing: .045em;
  }

  .gls-uni-hero h1 {
    max-width: 100%;
    font-size: clamp(29px, 8.6vw, 38px);
    line-height: 1.08;
    letter-spacing: -0.035em;
    margin-bottom: 12px;
  }

  .gls-uni-hero-loc {
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 12px;
  }

  .gls-uni-hero-desc {
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 18px;
  }

  .gls-uni-hero-badges {
    gap: 8px;
  }

  .gls-uni-badge {
    min-height: 32px;
    padding: 0 11px;
    font-size: 12px;
  }

  .gls-uni-content-section {
    padding: 34px 0 56px;
  }

  .gls-uni-content-section .gls-container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .gls-uni-layout {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .gls-uni-main {
    gap: 20px;
  }

  .gls-uni-block,
  .gls-uni-sidebar-card {
    padding: 22px;
    border-radius: 20px;
  }

  .gls-uni-block h2 {
    font-size: clamp(22px, 6.4vw, 28px);
    line-height: 1.12;
    letter-spacing: -0.025em;
    margin-bottom: 16px;
  }

  .gls-uni-highlights {
    gap: 10px;
  }

  .gls-uni-highlights li {
    font-size: 14px;
    line-height: 1.6;
    padding-left: 24px;
  }

  .gls-uni-sidebar {
    position: static;
    gap: 18px;
  }

  .gls-evento-card {
    flex: 0 0 100%;
  }
}

@media (max-width: 540px) {
  .gls-programs-grid {
    grid-template-columns: 1fr;
  }

  .gls-dest-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-quiz-box {
    padding: 28px 20px;
  }

  .gls-offices-grid {
    grid-template-columns: 1fr;
  }

  .gls-modern-cta {
    padding: 56px 0;
  }

  .gls-modern-cta-box {
    padding: 24px;
    border-radius: 22px;
  }

  .gls-hero.gls-hero-split {
    padding: 56px 0 !important;
  }

  .gls-hero.gls-hero-split h1 {
    font-size: clamp(38px, 11vw, 54px) !important;
  }

  .gls-hero.gls-hero-split .gls-hero-actions {
    flex-direction: column !important;
  }

  .gls-hero.gls-hero-split .gls-hero-actions a {
    width: 100% !important;
  }

  .gls-hero.gls-hero-split .gls-hero-image img {
    height: 420px !important;
  }
}

.elementor-section:first-child, .e-con.e-parent:first-of-type, .elementor>.elementor-inner>.elementor-section:first-child, .elementor-inner>.e-con:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.elementor-widget-html:has(.gls-page-hero), .elementor-widget-html:has(.gls-page-hero) .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

.gls-page-hero.gls-full-section {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 96px 0 86px !important;
  background: radial-gradient(
      circle at 80% 20%,
      rgba(4, 118, 189, 0.18),
      transparent 35%
    ),
    linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  border: none !important;
  overflow: hidden !important;
}

.gls-page-hero.gls-full-section .gls-container {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.gls-dest-premium-grid {
  gap: 26px !important;
}

.gls-dest-premium-card {
  position: relative;
  min-height: 240px;
  padding: 28px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
  background: var(--white) !important;
  border: 1px solid #e2e8f0;
  border-radius: 26px;
  box-shadow: 0 10px 28px rgba(0, 51, 153, 0.05),
    0 1px 2px rgba(0, 51, 153, 0.04);
  text-decoration: none !important;
  transition: transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
}

.gls-dest-premium-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  right: 28px;
  height: 3px;
  background: var(--blue);
  border-radius: 999px;
  opacity: 0.18;
  transition: opacity 0.25s ease,
    left 0.25s ease,
    right 0.25s ease;
}

.gls-dest-premium-card:hover {
  Background: var(--navy) !important;
  border-color: var(--navy);
  transform: translateY(-8px);
  box-shadow: 0 28px 70px rgba(0, 51, 153, 0.2),
    0 8px 18px rgba(0, 51, 153, 0.12);
}

.gls-dest-premium-card:hover::before {
  left: 0;
  right: 0;
  opacity: 1;
}

.gls-dest-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 26px;
}

.gls-dest-premium-card .gls-dest-flag {
  width: 60px;
  height: 60px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 20px rgba(0, 51, 153, 0.05);
  transition: background 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.gls-dest-premium-card:hover .gls-dest-flag {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  transform: scale(1.04);
}

.gls-dest-badge {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  transition: background 0.25s ease,
    color 0.25s ease;
}

.gls-dest-premium-card:hover .gls-dest-badge {
  background: rgba(255, 255, 255, 0.14);
  color: var(--white);
}

.gls-dest-card-body h3 {
  margin: 0 0 10px;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--navy);
  transition: color 0.25s ease;
}

.gls-dest-card-body p {
  margin: 0;
  max-width: 240px;
  font-size: 14px;
  line-height: 1.65;
  color: #64748b;
  transition: color 0.25s ease;
}

.gls-dest-premium-card:hover .gls-dest-card-body h3 {
  color: var(--white);
}

.gls-dest-premium-card:hover .gls-dest-card-body p {
  color: rgba(255, 255, 255, 0.78);
}

.gls-dest-card-link {
  display: inline-flex;
  align-items: center;
  margin-top: 28px;
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  transition: color 0.25s ease,
    transform 0.2s ease;
}

.gls-dest-premium-card:hover .gls-dest-card-link {
  color: var(--white);
  transform: translateX(4px);
}

@media (max-width: 1024px) {
  .gls-dest-premium-card {
    min-height: 230px;
  }
}

@media (max-width: 768px) {
  .gls-dest-premium-card {
    min-height: 210px;
    padding: 24px;
    border-radius: 22px;
  }

  .gls-dest-premium-card::before {
    left: 24px;
    right: 24px;
  }

  .gls-dest-premium-card .gls-dest-flag {
    width: 56px;
    height: 56px;
    font-size: 32px;
  }

  .gls-dest-card-body h3 {
    font-size: 20px;
  }
}

.gls-about-page {
  background: var(--white);
}

.gls-about-premium-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 64px;
  align-items: center;
}

.gls-about-content .gls-section-title {
  margin-top: 14px;
  margin-bottom: 20px;
  color: var(--navy);
  font-size: clamp(30px, 4vw, 46px);
  letter-spacing: -0.04em;
}

.gls-about-content p {
  font-size: 17px;
  line-height: 1.85;
  color: #475569;
  margin-bottom: 18px;
}

.gls-about-content strong {
  color: var(--navy);
  font-weight: 600;
}

.gls-about-highlights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 34px;
}

.gls-about-highlights div {
  padding: 20px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #f8fafc;
}

.gls-about-highlights strong {
  display: block;
  color: var(--blue);
  font-family: "Space Grotesk", sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 8px;
}

.gls-about-highlights span {
  display: block;
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.gls-about-founder-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  background: var(--white);
  border: 1px solid #e2e8f0;
  box-shadow: 0 24px 70px rgba(0, 51, 153, 0.1);
}

.gls-about-founder-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: #f1f5f9;
}

.gls-about-founder-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.gls-about-founder-info {
  padding: 28px;
  background: var(--white);
}

.gls-about-founder-info span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 12px;
}

.gls-about-founder-info h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.gls-about-founder-info p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.65;
}

@media (max-width: 1024px) {
  .gls-about-premium-grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .gls-about-founder-card {
    max-width: 520px;
    margin: 0 auto;
  }

  .gls-offices-premium-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .gls-about-highlights {
    grid-template-columns: 1fr;
  }

  .gls-offices-premium-grid {
    grid-template-columns: 1fr;
  }

  .gls-about-founder-info {
    padding: 24px;
  }
}

.gls-contact-page {
  background: var(--white);
}

.gls-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
  gap: 46px;
  align-items: start;
}

.gls-contact-info {
  position: sticky;
  top: 120px;
  padding: 42px;
  border-radius: 28px;
  background: radial-gradient(
      circle at 90% 10%,
      rgba(4, 118, 189, 0.12),
      transparent 34%
    ),
    var(--white);
  border: 1px solid #e2e8f0;
  box-shadow: 0 18px 50px rgba(0, 51, 153, 0.07);
}

.gls-contact-info h2 {
  margin: 14px 0 16px;
  color: var(--navy);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.gls-contact-info p {
  color: #475569;
  font-size: 17px;
  line-height: 1.75;
  margin: 0;
}

.gls-contact-benefits {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.gls-contact-benefits div {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.gls-contact-benefits strong {
  width: 42px;
  height: 42px;
  min-width: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--blue-light);
  color: var(--blue);
  font-family: "Space Grotesk", sans-serif;
  font-size: 14px;
  font-weight: 600;
}

.gls-contact-benefits span {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
}

.gls-contact-form-card {
  overflow: hidden;
  padding: 42px;
  border-radius: 30px;
  background: var(--white);
  border: 1px solid #e2e8f0;
  box-shadow: 0 24px 70px rgba(0, 51, 153, 0.1);
}

.gls-contact-form-header {
  margin-bottom: 28px;
}

.gls-contact-form-header span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 14px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  font-size: 13px;
  font-weight: 600;
}

.gls-contact-form-header h2 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: clamp(28px, 3vw, 38px);
  letter-spacing: -0.04em;
}

.gls-contact-form-header p {
  margin: 0;
  color: #64748b;
  font-size: 16px;
  line-height: 1.65;
}

.gls-contact-form-card .gls-form-wrap {
  max-width: none;
  margin: 0;
  padding: 0;
  border: none;
  box-shadow: none;
  border-radius: 0;
  background: transparent;
}

.gls-contact-form-card .gls-input {
  background: #f8fafc;
}

.gls-contact-form-card .gls-input:focus {
  background: var(--white);
}

.gls-contact-details {
  background: var(--white);
}

.gls-contact-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.gls-contact-card {
  min-height: 230px;
  padding: 34px 28px;
  text-align: center;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 34px rgba(0, 51, 153, 0.055);
  transition: transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.gls-contact-card:hover {
  transform: translateY(-7px);
  border-color: rgba(4, 118, 189, 0.32);
  box-shadow: 0 26px 64px rgba(0, 51, 153, 0.11);
}

.gls-contact-card-icon {
  width: 62px;
  height: 62px;
  margin: 0 auto 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: var(--blue-light);
  font-size: 30px;
}

.gls-contact-card h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.gls-contact-card p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  line-height: 1.65;
}

@media (max-width: 1024px) {
  .gls-contact-layout {
    grid-template-columns: 1fr;
  }

  .gls-contact-info {
    position: static;
  }

  .gls-contact-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .gls-contact-info, .gls-contact-form-card {
    padding: 28px 22px;
    border-radius: 24px;
  }

  .gls-contact-benefits div {
    align-items: flex-start;
  }

  .gls-contact-card {
    min-height: auto;
    padding: 28px 22px;
  }
}

.gls-about-hero-bio {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 96px 0;
  background: radial-gradient(
      circle at 82% 18%,
      rgba(4, 118, 189, 0.22),
      transparent 34%
    ),
    linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  overflow: hidden;
}

.gls-about-hero-bio-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.82fr);
  gap: 70px;
  align-items: center;
}

.gls-about-hero-bio-content h1 {
  max-width: 780px;
  color: var(--white);
  font-size: clamp(42px, 5.3vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.06em;
  margin: 0 0 24px;
}

.gls-about-hero-bio-content p {
  max-width: 620px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 19px;
  line-height: 1.75;
  margin: 0 0 36px;
}

.gls-about-hero-bio-image {
  position: relative;
}

.gls-about-hero-bio-image img {
  width: 100%;
  height: 620px;
  object-fit: cover;
  object-position: center top;
  border-radius: 34px;
  box-shadow: 0 42px 100px rgba(0, 0, 0, 0.34);
}

.gls-about-hero-bio-card {
  position: absolute;
  left: -34px;
  bottom: 34px;
  max-width: 290px;
  padding: 24px;
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 24px 70px rgba(0, 51, 153, 0.18);
}

.gls-about-hero-bio-card span {
  display: inline-flex;
  padding: 6px 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  font-size: 12px;
  font-weight: 600;
}

.gls-about-hero-bio-card strong {
  display: block;
  color: var(--navy);
  font-family: "Space Grotesk", sans-serif;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 8px;
}

.gls-about-hero-bio-card p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  line-height: 1.55;
}

.gls-about-bio-quote {
  position: relative;
  padding: 42px;
  border-radius: 28px;
  background: var(--navy);
  color: var(--white);
  overflow: hidden;
}

.gls-about-bio-quote::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -90px;
  top: -90px;
  border-radius: 50%;
  background: rgba(4, 118, 189, 0.35);
}

.gls-about-bio-quote span {
  position: relative;
  display: block;
  color: var(--green);
  font-family: Georgia, serif;
  font-size: 90px;
  line-height: 0.75;
  margin-bottom: 18px;
}

.gls-about-bio-quote p {
  position: relative;
  color: rgba(255, 255, 255, 0.88);
  font-size: 22px;
  line-height: 1.55;
  margin: 0 0 26px;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.gls-about-bio-quote strong {
  position: relative;
  display: block;
  color: var(--white);
  font-size: 15px;
  font-weight: 600;
}

.gls-about-values-section {
  background: #f8fafc;
}

.gls-about-values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.gls-about-value-card {
  padding: 34px 30px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid #e2e8f0;
  box-shadow: 0 14px 38px rgba(0, 51, 153, 0.055);
  transition: transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.gls-about-value-card:hover {
  transform: translateY(-7px);
  border-color: rgba(4, 118, 189, 0.32);
  box-shadow: 0 26px 64px rgba(0, 51, 153, 0.11);
}

.gls-about-value-icon {
  width: 62px;
  height: 62px;
  margin-bottom: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: var(--blue-light);
  font-size: 30px;
}

.gls-about-value-card h3 {
  color: var(--navy);
  font-size: 21px;
  font-weight: 600;
  margin: 0 0 12px;
  letter-spacing: -0.025em;
}

.gls-about-value-card p {
  color: #64748b;
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
}

.gls-about-impact-section {
  background: var(--white);
}

.gls-about-impact-box {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(420px, 1fr);
  gap: 40px;
  align-items: center;
  padding: 46px;
  border-radius: 32px;
  background: var(--navy);
  box-shadow: 0 28px 80px rgba(0, 51, 153, 0.18);
  overflow: hidden;
}

.gls-about-impact-content h2 {
  color: var(--white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.05em;
  margin: 16px 0;
}

.gls-about-impact-content p {
  color: rgba(255, 255, 255, 0.78);
  font-size: 17px;
  line-height: 1.75;
  margin: 0;
}

.gls-about-impact-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.gls-about-impact-stats div {
  padding: 28px 22px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.gls-about-impact-stats strong {
  display: block;
  color: var(--white);
  font-family: "Space Grotesk", sans-serif;
  font-size: 42px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 10px;
}

.gls-about-impact-stats span {
  display: block;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.gls-offices-section {
  background: #f8fafc;
}

.gls-offices-premium-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.gls-office-premium-card {
  padding: 30px 24px;
  border-radius: 24px;
  background: var(--white);
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 32px rgba(0, 51, 153, 0.05);
  transition: transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.gls-office-premium-card:hover {
  transform: translateY(-6px);
  border-color: rgba(4, 118, 189, 0.28);
  box-shadow: 0 24px 60px rgba(0, 51, 153, 0.1);
}

.gls-office-premium-card .gls-office-flag {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  border-radius: 18px;
  background: var(--blue-light);
  font-size: 32px;
}

.gls-office-premium-card .gls-office-city {
  color: var(--navy);
  font-size: 19px;
  font-weight: 600;
  margin-bottom: 6px;
}

.gls-office-premium-card .gls-office-country {
  color: #64748b;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 1024px) {
  .gls-about-hero-bio-grid, .gls-about-bio-grid, .gls-about-impact-box {
    grid-template-columns: 1fr;
  }

  .gls-about-hero-bio-image {
    max-width: 560px;
  }

  .gls-about-hero-bio-card {
    left: 24px;
  }

  .gls-about-values-grid, .gls-offices-premium-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .gls-about-hero-bio {
    padding: 64px 0;
  }

  .gls-about-hero-bio-image img {
    height: 520px;
    border-radius: 26px;
  }

  .gls-about-hero-bio-card {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: -40px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .gls-about-values-grid, .gls-about-impact-stats, .gls-offices-premium-grid {
    grid-template-columns: 1fr;
  }

  .gls-about-bio-text, .gls-about-bio-quote, .gls-about-impact-box {
    padding: 28px 22px;
    border-radius: 24px;
  }
}

.gls-about-hero-light {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 82px 0 92px;
  background: radial-gradient(
      circle at 12% 18%,
      rgba(4, 118, 189, 0.08),
      transparent 32%
    ),
    linear-gradient(180deg, var(--white) 0%, #f8fafc 100%);
  overflow: hidden;
}

.gls-about-hero-light-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.9fr);
  gap: 70px;
  align-items: center;
}

.gls-about-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 13px;
  font-weight: 600;
}

.gls-about-hero-light-content h1 {
  max-width: 760px;
  margin: 0 0 26px;
  color: var(--navy);
  font-size: clamp(48px, 6vw, 82px);
  line-height: 0.98;
  letter-spacing: -0.065em;
}

.gls-about-lead {
  max-width: 680px;
  margin: 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.78;
}

.gls-about-lead-secondary {
  margin-top: 16px;
  color: #64748b;
}

.gls-about-trust-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 34px;
}

.gls-about-trust-list div {
  padding: 20px 18px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(0, 51, 153, 0.045);
}

.gls-about-trust-list strong {
  display: block;
  margin-bottom: 8px;
  color: var(--blue);
  font-family: "Space Grotesk", sans-serif;
  font-size: 25px;
  font-weight: 600;
  line-height: 1;
}

.gls-about-trust-list span {
  display: block;
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}

.gls-about-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.gls-about-hero-light-profile {
  position: relative;
}

.gls-about-profile-image {
  overflow: hidden;
  border-radius: 34px;
  background: #e2e8f0;
  border: 1px solid #e2e8f0;
  box-shadow: 0 28px 70px rgba(0, 51, 153, 0.12);
}

.gls-about-profile-image img {
  width: 100%;
  height: 620px;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.gls-about-profile-card {
  position: relative;
  max-width: 92%;
  margin: 16px auto 0;
  padding: 28px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 24px 60px rgba(0, 51, 153, 0.14);
  backdrop-filter: blur(12px);
}

.gls-about-profile-card span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: #fef3c7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-about-profile-card h2 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.035em;
}

.gls-about-profile-card p {
  margin: 0;
  color: #475569;
  font-size: 15px;
  line-height: 1.7;
}

.gls-about-bio-story {
  background: var(--white);
}

.gls-about-bio-intro {
  max-width: 880px;
  margin: 0 auto 58px;
  text-align: center;
}

.gls-about-bio-intro h2 {
  color: var(--navy);
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1.08;
  letter-spacing: -0.05em;
  margin: 16px 0;
}

.gls-about-bio-intro p {
  color: #64748b;
  font-size: 18px;
  line-height: 1.75;
  margin: 0;
}

.gls-about-bio-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.8fr);
  gap: 42px;
  align-items: stretch;
}

.gls-about-bio-text {
  padding: 42px;
  border-radius: 28px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.gls-about-bio-text h3 {
  color: var(--navy);
  font-size: 30px;
  margin: 0 0 18px;
  letter-spacing: -0.035em;
}

.gls-about-bio-text p {
  color: #475569;
  font-size: 16.5px;
  line-height: 1.85;
  margin: 0 0 18px;
}

.gls-about-bio-text p:last-child {
  margin-bottom: 0;
}

.gls-about-bio-text strong {
  color: var(--navy);
  font-weight: 600;
}

.gls-about-bio-quote-light {
  padding: 42px;
  border-radius: 28px;
  background: var(--white);
  border: 1px solid #e2e8f0;
  box-shadow: 0 18px 50px rgba(0, 51, 153, 0.07);
}

.gls-about-bio-quote-light span {
  display: block;
  color: var(--green);
  font-family: Georgia, serif;
  font-size: 90px;
  line-height: 0.75;
  margin-bottom: 18px;
}

.gls-about-bio-quote-light p {
  color: var(--navy);
  font-size: 23px;
  line-height: 1.55;
  margin: 0 0 26px;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.gls-about-bio-quote-light strong {
  display: block;
  color: #64748b;
  font-size: 15px;
  font-weight: 600;
}

.gls-about-final-cta {
  background: var(--white);
  padding: 70px 0;
}

.gls-about-final-cta-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 38px;
  border-radius: 30px;
  background: var(--navy);
  box-shadow: 0 26px 70px rgba(0, 51, 153, 0.2);
}

.gls-about-final-cta-box span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-about-final-cta-box h3 {
  color: var(--white);
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -0.04em;
}

.gls-about-final-cta-box p {
  color: rgba(255, 255, 255, 0.78);
  margin: 0;
  font-size: 17px;
}

.gls-about-final-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.gls-about-cta-primary, .gls-about-cta-secondary {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.gls-about-cta-primary {
  background: var(--green);
  color: var(--white) !important;
  border: 2px solid var(--green);
}

.gls-about-cta-primary:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white) !important;
  transform: translateY(-2px);
}

.gls-about-cta-secondary {
  background: transparent;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, 0.35);
}

.gls-about-cta-secondary:hover {
  background: var(--white);
  color: var(--navy) !important;
  border-color: var(--white);
  transform: translateY(-2px);
}

@media (max-width: 1024px) {
  .gls-about-hero-light-grid, .gls-about-bio-grid {
    grid-template-columns: 1fr;
  }

  .gls-about-hero-light-profile {
    max-width: 560px;
  }

  .gls-about-trust-list {
    grid-template-columns: 1fr;
  }

  .gls-about-final-cta-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .gls-about-hero-light {
    padding: 58px 0 72px;
  }

  .gls-about-hero-light-content h1 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .gls-about-profile-image img {
    height: 520px;
  }

  .gls-about-profile-card {
    max-width: calc(100% - 28px);
    margin-top: -54px;
    padding: 24px;
  }

  .gls-about-bio-text, .gls-about-bio-quote-light, .gls-about-final-cta-box {
    padding: 28px 22px;
    border-radius: 24px;
  }

  .gls-about-hero-actions a, .gls-about-final-actions a {
    width: 100%;
  }

  .gls-about-final-actions {
    width: 100%;
  }
}

.gls-events-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 86px 0 96px;
  background: radial-gradient(circle at 12% 18%, rgba(4, 118, 189, .08), transparent 32%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%);
  overflow: hidden;
}

.gls-events-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr);
  gap: 64px;
  align-items: center;
}

.gls-events-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 13px;
  font-weight: 600;
}

.gls-events-hero-content h1 {
  max-width: 760px;
  margin: 0 0 24px;
  color: var(--navy);
  font-size: clamp(48px, 6vw, 82px);
  line-height: .98;
  letter-spacing: -0.065em;
}

.gls-events-hero-content p {
  max-width: 650px;
  margin: 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.78;
}

.gls-events-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.gls-events-hero-card {
  position: relative;
  padding: 34px;
  border-radius: 30px;
  background: var(--navy);
  box-shadow: 0 28px 75px rgba(0, 51, 153, .22);
  overflow: hidden;
}

.gls-events-hero-card::before {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  right: -90px;
  top: -90px;
  border-radius: 50%;
  background: rgba(4, 118, 189, .32);
}

.gls-events-live-badge {
  position: relative;
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-events-hero-card h2 {
  position: relative;
  margin: 0 0 14px;
  color: var(--white);
  font-size: 30px;
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.gls-events-hero-card p {
  position: relative;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 16px;
  line-height: 1.7;
}

.gls-events-meta {
  position: relative;
  display: grid;
  gap: 12px;
  margin: 28px 0;
}

.gls-events-meta div {
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.gls-events-meta strong {
  display: block;
  color: var(--white);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 4px;
}

.gls-events-meta span {
  display: block;
  color: rgba(255,255,255,.72);
  font-size: 13px;
}

.gls-events-card-btn {
  position: relative;
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--green);
  color: var(--white) !important;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .2s ease;
}

.gls-events-card-btn:hover {
  background: var(--gold-hover);
  transform: translateY(-2px);
}

.gls-events-page {
  background: var(--white);
}

.gls-events-grid {
  display: grid;
  grid-template-columns: 1.15fr .925fr .925fr;
  gap: 24px;
}

.gls-event-card {
  position: relative;
  min-height: 320px;
  padding: 30px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 14px 38px rgba(0, 51, 153, .055);
  display: flex;
  flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.gls-event-card-featured {
  background: #F8FAFC;
}

.gls-event-card:hover {
  transform: translateY(-7px);
  border-color: rgba(4, 118, 189, .30);
  box-shadow: 0 28px 70px rgba(0, 51, 153, .11);
}

.gls-event-card-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 24px;
}

.gls-event-type {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  font-size: 12px;
  font-weight: 600;
}

.gls-event-status {
  color: #059669;
  font-size: 12px;
  font-weight: 600;
}

.gls-event-card h3 {
  margin: 0 0 14px;
  color: var(--navy);
  font-size: 25px;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.gls-event-card p {
  margin: 0;
  color: #64748B;
  font-size: 15px;
  line-height: 1.7;
}

.gls-event-details {
  display: grid;
  gap: 8px;
  margin: 24px 0 28px;
}

.gls-event-details span {
  color: #475569;
  font-size: 14px;
  font-weight: 600;
}

.gls-event-link {
  margin-top: auto;
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
}

.gls-event-link:hover {
  color: var(--blue-hover);
}

.gls-events-benefits-box {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(420px, 1fr);
  gap: 42px;
  align-items: center;
  padding: 46px;
  border-radius: 32px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 22px 65px rgba(0, 51, 153, .08);
}

.gls-events-benefits-content h2 {
  margin: 16px 0;
  color: var(--navy);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.gls-events-benefits-content p {
  margin: 0;
  color: #64748B;
  font-size: 17px;
  line-height: 1.75;
}

.gls-events-benefits-list {
  display: grid;
  gap: 12px;
}

.gls-events-benefits-list div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid #E2E8F0;
}

.gls-events-benefits-list strong {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--blue-light);
  color: var(--blue);
  font-family: "Space Grotesk", sans-serif;
  font-size: 14px;
  font-weight: 600;
}

.gls-events-benefits-list span {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.gls-events-resources {
  background: var(--white);
}

.gls-events-resources-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.gls-events-resource-card {
  padding: 32px 28px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 14px 38px rgba(0, 51, 153, .055);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.gls-events-resource-card:hover {
  transform: translateY(-7px);
  border-color: rgba(4, 118, 189, .30);
  box-shadow: 0 26px 64px rgba(0, 51, 153, .10);
}

.gls-events-resource-icon {
  width: 62px;
  height: 62px;
  margin-bottom: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background: var(--blue-light);
  font-size: 30px;
}

.gls-events-resource-card h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.gls-events-resource-card p {
  margin: 0;
  color: #64748B;
  font-size: 15px;
  line-height: 1.7;
}

.gls-events-final-cta {
  background: var(--white);
  padding: 70px 0;
}

.gls-events-final-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 38px;
  border-radius: 30px;
  background: var(--navy);
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20);
}

.gls-events-final-box span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-events-final-box h3 {
  color: var(--white);
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -0.04em;
}

.gls-events-final-box p {
  color: rgba(255,255,255,.78);
  margin: 0;
  font-size: 17px;
}

.gls-events-final-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.gls-events-cta-primary, .gls-events-cta-secondary {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .2s ease;
}

.gls-events-cta-primary {
  background: var(--green);
  color: var(--white) !important;
  border: 2px solid var(--green);
}

.gls-events-cta-primary:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white) !important;
  transform: translateY(-2px);
}

.gls-events-cta-secondary {
  background: transparent;
  color: var(--white) !important;
  border: 2px solid rgba(255,255,255,.35);
}

.gls-events-cta-secondary:hover {
  background: var(--white);
  color: var(--navy) !important;
  border-color: var(--white);
  transform: translateY(-2px);
}

@media (max-width: 1024px) {
  .gls-events-hero-grid, .gls-events-benefits-box {
    grid-template-columns: 1fr;
  }

  .gls-events-grid, .gls-events-resources-grid {
    grid-template-columns: 1fr;
  }

  .gls-events-final-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .gls-events-hero {
    padding: 58px 0 72px;
  }

  .gls-events-hero-content h1 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .gls-events-hero-card, .gls-events-benefits-box, .gls-events-final-box {
    padding: 28px 22px;
    border-radius: 24px;
  }

  .gls-event-card, .gls-events-resource-card {
    padding: 26px 22px;
    border-radius: 22px;
  }

  .gls-events-hero-actions a, .gls-events-final-actions a {
    width: 100%;
  }

  .gls-events-final-actions {
    width: 100%;
  }
}

.gls-events-hero-visual {
  position: relative;
}

.gls-events-hero-main-img {
  overflow: hidden;
  border-radius: 34px;
  box-shadow: 0 32px 80px rgba(0, 51, 153, .16);
  border: 1px solid #E2E8F0;
}

.gls-events-hero-main-img img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.gls-events-hero-floating-card {
  position: relative;
  max-width: 88%;
  margin: -96px auto 0;
  padding: 28px;
  border-radius: 26px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16);
  backdrop-filter: blur(14px);
}

.gls-events-hero-floating-card span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  font-size: 12px;
  font-weight: 600;
}

.gls-events-hero-floating-card h2 {
  color: var(--navy);
  margin: 0 0 10px;
  font-size: 26px;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.gls-events-hero-floating-card p {
  color: #64748B;
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.65;
}

.gls-events-hero-floating-card a {
  color: var(--blue);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
}

.gls-events-image-grid {
  display: grid;
  grid-template-columns: 1.15fr .925fr .925fr;
  gap: 24px;
}

.gls-event-image-card {
  overflow: hidden;
  min-height: 460px;
  border-radius: 28px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 16px 42px rgba(0, 51, 153, .065);
  display: flex;
  flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.gls-event-image-card:hover {
  transform: translateY(-8px);
  border-color: rgba(4, 118, 189, .30);
  box-shadow: 0 30px 75px rgba(0, 51, 153, .13);
}

.gls-event-image {
  position: relative;
  overflow: hidden;
  height: 210px;
}

.gls-event-image-card-featured .gls-event-image {
  height: 260px;
}

.gls-event-image {
  position: relative;
  overflow: hidden;
  height: 260px;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
}

.gls-event-image-card:hover .gls-event-image img {
  transform: scale(1.02);
  opacity: .96;
}

.gls-event-image-content {
  padding: 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.gls-event-image-content h3 {
  margin: 0 0 14px;
  color: var(--navy);
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.gls-event-image-content p {
  margin: 0;
  color: #64748B;
  font-size: 15px;
  line-height: 1.7;
}

.gls-events-destinations-showcase {
  background: var(--white);
}

.gls-events-showcase-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.gls-events-showcase-card {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  border-radius: 30px;
  display: flex;
  align-items: flex-end;
  text-decoration: none !important;
  box-shadow: 0 20px 55px rgba(0, 51, 153, .12);
  transition: transform .25s ease, box-shadow .25s ease;
}

.gls-events-showcase-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 32px 80px rgba(0, 51, 153, .18);
}

.gls-events-showcase-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.gls-events-showcase-card:hover img {
  transform: scale(1.06);
}

.gls-events-showcase-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,21,41,.05) 0%, rgba(7,21,41,.88) 100%);
  z-index: 1;
}

.gls-events-showcase-card div {
  position: relative;
  z-index: 2;
  padding: 30px;
}

.gls-events-showcase-card span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-events-showcase-card h3 {
  color: var(--white);
  margin: 0 0 10px;
  font-size: 25px;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.gls-events-showcase-card p {
  color: rgba(255,255,255,.78);
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
}

@media (max-width: 1024px) {
  .gls-events-image-grid, .gls-events-showcase-grid {
    grid-template-columns: 1fr;
  }

  .gls-events-hero-main-img img {
    height: 460px;
  }

  .gls-event-image, .gls-event-image-card-featured .gls-event-image {
    height: 240px;
  }
}

@media (max-width: 640px) {
  .gls-events-hero-main-img {
    border-radius: 26px;
  }

  .gls-events-hero-main-img img {
    height: 360px;
  }

  .gls-events-hero-floating-card {
    max-width: calc(100% - 28px);
    margin-top: -58px;
    padding: 24px;
  }

  .gls-event-image-content {
    padding: 24px;
  }

  .gls-events-showcase-card {
    min-height: 360px;
    border-radius: 24px;
  }

  .gls-events-showcase-card div {
    padding: 24px;
  }
}

.gls-events-hero-card-visual {
  padding: 30px;
}

.gls-events-card-images {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.3fr .85fr;
  grid-template-rows: 120px 120px;
  gap: 10px;
  margin-bottom: 24px;
}

.gls-events-card-images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 14px 32px rgba(0,0,0,.18);
}

.gls-events-card-images img:first-child {
  grid-row: span 2;
}

.gls-events-hero-card-visual .gls-events-live-badge {
  margin-bottom: 18px;
}

.gls-events-hero-card-visual h2 {
  font-size: 29px;
}

@media (max-width: 640px) {
  .gls-events-card-images {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .gls-events-card-images img {
    height: 180px;
  }

  .gls-events-card-images img:first-child {
    grid-row: auto;
  }

  .gls-events-hero-card-visual {
    padding: 26px 22px;
  }
}

.gls-events-destinations-premium {
  background: var(--white);
  padding-top: 90px;
  padding-bottom: 96px;
}

.gls-events-destinations-head {
  margin-bottom: 42px;
}

.gls-events-destinations-title-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-top: 18px;
}

.gls-events-destinations-title-row h2 {
  max-width: 760px;
  margin: 0 0 14px;
  color: var(--navy);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.055em;
}

.gls-events-destinations-title-row p {
  max-width: 680px;
  margin: 0;
  color: #64748B;
  font-size: 17px;
  line-height: 1.75;
}

.gls-events-destinations-link {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .055);
  transition: all .2s ease;
}

.gls-events-destinations-link:hover {
  background: var(--blue);
  border-color: var(--blue);
  color: var(--white);
  transform: translateY(-2px);
}

.gls-events-destination-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  gap: 24px;
}

.gls-events-destination-featured, .gls-events-destination-side-card {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  border-radius: 34px;
  text-decoration: none !important;
  background: var(--navy);
  box-shadow: 0 24px 70px rgba(0, 51, 153, .16);
  isolation: isolate;
  transition: transform .28s ease, box-shadow .28s ease;
}

.gls-events-destination-featured {
  min-height: 620px;
}

.gls-events-destination-side {
  display: grid;
  gap: 24px;
}

.gls-events-destination-side-card {
  min-height: 298px;
  border-radius: 30px;
}

.gls-events-destination-featured:hover, .gls-events-destination-side-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 34px 90px rgba(0, 51, 153, .22);
}

.gls-events-destination-side-card:first-child img {
  object-position: center center;
}

.gls-events-destination-side-card:last-child img {
  object-position: center center;
}

.gls-events-destination-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(7,21,41,.08) 0%, rgba(7,21,41,.30) 42%, rgba(7,21,41,.92) 100%);
}

.gls-events-destination-featured::after, .gls-events-destination-side-card::after {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  pointer-events: none;
  opacity: .85;
}

.gls-events-destination-content {
  position: relative;
  z-index: 3;
  padding: 38px;
  width: 100%;
}

.gls-events-destination-side-card .gls-events-destination-content {
  padding: 28px;
}

.gls-events-destination-content span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: var(--white);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 12px;
  font-weight: 600;
  backdrop-filter: blur(10px);
}

.gls-events-destination-content h3 {
  margin: 0 0 12px;
  color: var(--white);
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1;
  letter-spacing: -0.055em;
}

.gls-events-destination-side-card .gls-events-destination-content h3 {
  font-size: clamp(25px, 3vw, 34px);
}

.gls-events-destination-content p {
  max-width: 520px;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: 17px;
  line-height: 1.65;
}

.gls-events-destination-side-card .gls-events-destination-content p {
  max-width: 360px;
  font-size: 14.5px;
}

.gls-events-destination-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.gls-events-destination-meta small {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.14);
  font-size: 12px;
  font-weight: 600;
}

@media (max-width: 1024px) {
  .gls-events-destinations-title-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .gls-events-destination-layout {
    grid-template-columns: 1fr;
  }

  .gls-events-destination-featured {
    min-height: 520px;
  }

  .gls-events-destination-side {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-events-destination-side-card {
    min-height: 340px;
  }
}

@media (max-width: 768px) {
  .gls-events-destination-side {
    grid-template-columns: 1fr;
  }

  .gls-events-destination-featured, .gls-events-destination-side-card {
    min-height: 420px;
    border-radius: 26px;
  }

  .gls-events-destination-content, .gls-events-destination-side-card .gls-events-destination-content {
    padding: 28px;
  }

  .gls-events-destination-featured::after, .gls-events-destination-side-card::after {
    inset: 12px;
    border-radius: 20px;
  }
}

@media (max-width: 480px) {
  .gls-events-destinations-premium {
    padding-top: 64px;
    padding-bottom: 72px;
  }

  .gls-events-destination-featured, .gls-events-destination-side-card {
    min-height: 390px;
  }

  .gls-events-destination-content h3 {
    font-size: 34px;
  }

  .gls-events-destination-meta {
    display: none;
  }
}

.gls-events-destination-featured img, .gls-events-destination-side-card img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .55s ease, filter .55s ease;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.08);
}

.gls-events-destination-featured img {
  object-position: center center;
  object-position: center center !important;
  transform: scale(1.12);
}

.gls-events-destination-side-card:nth-child(1) img {
  object-position: center center !important;
  transform: scale(1.1);
}

.gls-events-destination-side-card:nth-child(2) img {
  object-position: center center !important;
  transform: scale(1.08);
}

.gls-events-destination-featured:hover img, .gls-events-destination-side-card:hover img {
  transform: scale(1.07);
  filter: saturate(1.08) contrast(1.04);
  transform: scale(1.16) !important;
}

.gls-destinations-clean-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 84px 0 92px;
  background: radial-gradient(circle at 14% 16%, rgba(4, 118, 189, .08), transparent 34%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%);
  overflow: hidden;
}

.gls-destinations-clean-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .82fr);
  gap: 64px;
  align-items: center;
}

.gls-destinations-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 13px;
  font-weight: 600;
}

.gls-destinations-clean-content h1 {
  max-width: 790px;
  margin: 0 0 24px;
  color: var(--navy);
  font-size: clamp(46px, 5.8vw, 78px);
  line-height: 1;
  letter-spacing: -0.065em;
}

.gls-destinations-clean-content p {
  max-width: 650px;
  margin: 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.78;
}

.gls-destinations-clean-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.gls-destinations-clean-card {
  position: relative;
  padding: 34px;
  border-radius: 30px;
  background: var(--navy);
  box-shadow: 0 28px 75px rgba(0, 51, 153, .22);
  overflow: hidden;
}

.gls-destinations-clean-card::before {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  right: -100px;
  top: -100px;
  border-radius: 50%;
  background: rgba(4, 118, 189, .32);
}

.gls-destinations-clean-card>* {
  position: relative;
  z-index: 1;
}

.gls-destinations-clean-card>span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-destinations-clean-card h2 {
  margin: 0 0 14px;
  color: var(--white);
  font-size: 31px;
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.gls-destinations-clean-card p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 16px;
  line-height: 1.7;
}

.gls-destinations-clean-list {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.gls-destinations-clean-list div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.gls-destinations-clean-list strong {
  width: 42px;
  height: 42px;
  min-width: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 13px;
  font-weight: 600;
}

.gls-destinations-clean-list p {
  color: rgba(255,255,255,.82);
  font-size: 14px;
  font-weight: 600;
  margin: 0;
}

.gls-destinations-editorial {
  background: #F8FAFC;
}

.gls-destinations-editorial-head {
  max-width: 860px;
  margin-bottom: 42px;
}

.gls-destinations-editorial-head h2 {
  margin: 16px 0 14px;
  color: var(--navy);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.055em;
}

.gls-destinations-editorial-head p {
  max-width: 720px;
  margin: 0;
  color: #64748B;
  font-size: 17px;
  line-height: 1.75;
}

.gls-destinations-editorial-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
  gap: 24px;
}

.gls-destinations-editorial-main, .gls-destinations-editorial-small {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  border-radius: 34px;
  text-decoration: none !important;
  background: var(--navy);
  box-shadow: 0 24px 70px rgba(0, 51, 153, .16);
  isolation: isolate;
  transition: transform .28s ease, box-shadow .28s ease;
}

.gls-destinations-editorial-main {
  min-height: 600px;
}

.gls-destinations-editorial-side {
  display: grid;
  gap: 24px;
}

.gls-destinations-editorial-small {
  min-height: 288px;
  border-radius: 30px;
}

.gls-destinations-editorial-main:hover, .gls-destinations-editorial-small:hover {
  transform: translateY(-8px);
  box-shadow: 0 34px 90px rgba(0, 51, 153, .22);
}

.gls-destinations-editorial-main img, .gls-destinations-editorial-small img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  transition: transform .55s ease, filter .55s ease;
}

.gls-destinations-editorial-main:hover img, .gls-destinations-editorial-small:hover img {
  transform: scale(1.07);
  filter: saturate(1.08) contrast(1.04);
}

.gls-destinations-editorial-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(7,21,41,.06) 0%, rgba(7,21,41,.28) 42%, rgba(7,21,41,.92) 100%);
}

.gls-destinations-editorial-main::after, .gls-destinations-editorial-small::after {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  pointer-events: none;
}

.gls-destinations-editorial-content {
  position: relative;
  z-index: 3;
  padding: 38px;
  width: 100%;
}

.gls-destinations-editorial-small .gls-destinations-editorial-content {
  padding: 28px;
}

.gls-destinations-editorial-content span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: var(--white);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 12px;
  font-weight: 600;
  backdrop-filter: blur(10px);
}

.gls-destinations-editorial-content h3 {
  margin: 0 0 12px;
  color: var(--white);
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1;
  letter-spacing: -0.055em;
}

.gls-destinations-editorial-small .gls-destinations-editorial-content h3 {
  font-size: clamp(25px, 3vw, 34px);
}

.gls-destinations-editorial-content p {
  max-width: 520px;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: 17px;
  line-height: 1.65;
}

.gls-destinations-editorial-small .gls-destinations-editorial-content p {
  max-width: 360px;
  font-size: 14.5px;
}

.gls-destinations-editorial-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.gls-destinations-editorial-tags small {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.14);
  font-size: 12px;
  font-weight: 600;
}

.gls-destinations-list-section {
  background: var(--white);
}

.gls-destinations-clean-list-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.gls-destination-clean-card {
  min-height: 168px;
  padding: 22px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: start;
  position: relative;
  border-radius: 24px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045);
  text-decoration: none !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}

.gls-destination-clean-card:hover {
  transform: translateY(-6px);
  border-color: rgba(4, 118, 189, .32);
  box-shadow: 0 24px 60px rgba(0, 51, 153, .10);
  background: #F8FAFC;
}

.gls-destination-clean-flag {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: var(--blue-light);
  font-size: 30px;
}

.gls-destination-clean-card h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.gls-destination-clean-card p {
  margin: 0;
  color: #64748B;
  font-size: 14px;
  line-height: 1.6;
}

.gls-destination-clean-card strong {
  grid-column: 2;
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  margin-top: 4px;
}

.gls-destinations-support {
  background: #F8FAFC;
}

.gls-destinations-support-box {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(420px, 1fr);
  gap: 42px;
  align-items: center;
  padding: 46px;
  border-radius: 32px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 22px 65px rgba(0, 51, 153, .08);
}

.gls-destinations-support-content h2 {
  margin: 16px 0;
  color: var(--navy);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.gls-destinations-support-content p {
  margin: 0;
  color: #64748B;
  font-size: 17px;
  line-height: 1.75;
}

.gls-destinations-support-steps {
  display: grid;
  gap: 12px;
}

.gls-destinations-support-steps div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
}

.gls-destinations-support-steps strong {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--blue-light);
  color: var(--blue);
  font-family: "Space Grotesk", sans-serif;
  font-size: 14px;
  font-weight: 600;
}

.gls-destinations-support-steps span {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.gls-destinations-clean-cta {
  background: var(--white);
  padding: 70px 0;
}

.gls-destinations-clean-cta-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 38px;
  border-radius: 30px;
  background: var(--navy);
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20);
}

.gls-destinations-clean-cta-box span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-destinations-clean-cta-box h3 {
  color: var(--white);
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -0.04em;
}

.gls-destinations-clean-cta-box p {
  color: rgba(255,255,255,.78);
  margin: 0;
  font-size: 17px;
}

.gls-destinations-clean-cta-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.gls-destinations-clean-primary, .gls-destinations-clean-secondary {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .2s ease;
}

.gls-destinations-clean-primary {
  background: var(--green);
  color: var(--white) !important;
  border: 2px solid var(--green);
}

.gls-destinations-clean-primary:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white) !important;
  transform: translateY(-2px);
}

.gls-destinations-clean-secondary {
  background: transparent;
  color: var(--white) !important;
  border: 2px solid rgba(255,255,255,.35);
}

.gls-destinations-clean-secondary:hover {
  background: var(--white);
  color: var(--navy) !important;
  border-color: var(--white);
  transform: translateY(-2px);
}

@media (max-width: 1024px) {
  .gls-destinations-clean-grid, .gls-destinations-editorial-grid, .gls-destinations-support-box {
    grid-template-columns: 1fr;
  }

  .gls-destinations-editorial-main {
    min-height: 520px;
  }

  .gls-destinations-editorial-side {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-destinations-editorial-small {
    min-height: 340px;
  }

  .gls-destinations-clean-list-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-destinations-clean-cta-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .gls-destinations-editorial-side, .gls-destinations-clean-list-grid {
    grid-template-columns: 1fr;
  }

  .gls-destinations-editorial-main, .gls-destinations-editorial-small {
    min-height: 420px;
    border-radius: 26px;
  }

  .gls-destinations-editorial-content, .gls-destinations-editorial-small .gls-destinations-editorial-content {
    padding: 28px;
  }

  .gls-destinations-editorial-main::after, .gls-destinations-editorial-small::after {
    inset: 12px;
    border-radius: 20px;
  }
}

@media (max-width: 640px) {
  .gls-destinations-clean-hero {
    padding: 58px 0 72px;
  }

  .gls-destinations-clean-content h1 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .gls-destinations-clean-card, .gls-destinations-support-box, .gls-destinations-clean-cta-box {
    padding: 28px 22px;
    border-radius: 24px;
  }

  .gls-destinations-clean-actions a, .gls-destinations-clean-cta-actions a {
    width: 100%;
  }

  .gls-destinations-clean-cta-actions {
    width: 100%;
  }
}

.gls-destinations-abstract-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 86px 0 96px;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%);
  overflow: hidden;
}

.gls-destinations-abstract-grid {
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(420px, .9fr);
  gap: 70px;
  align-items: center;
}

.gls-destinations-abstract-content h1 {
  max-width: 820px;
  margin: 0 0 24px;
  color: var(--navy);
  font-size: clamp(46px, 5.8vw, 78px);
  line-height: .98;
  letter-spacing: -0.065em;
}

.gls-destinations-abstract-content p {
  max-width: 660px;
  margin: 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.78;
}

.gls-destinations-abstract-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.gls-destinations-abstract-panel {
  position: relative;
  min-height: 520px;
  padding: 34px;
  border-radius: 34px;
  background: radial-gradient(circle at 80% 10%, rgba(4, 118, 189, .16), transparent 34%),
    var(--navy);
  box-shadow: 0 32px 85px rgba(0, 51, 153, .22);
  overflow: hidden;
}

.gls-destinations-abstract-panel::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -130px;
  top: -130px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}

.gls-destinations-abstract-panel::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  left: -90px;
  bottom: -90px;
  border-radius: 50%;
  background: rgba(9, 176, 79, .20);
}

.gls-destinations-orbit-card-main {
  position: relative;
  z-index: 2;
  padding: 28px;
  border-radius: 26px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(12px);
}

.gls-destinations-orbit-card-main span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-destinations-orbit-card-main h2 {
  margin: 0 0 12px;
  color: var(--white);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1;
  letter-spacing: -0.055em;
}

.gls-destinations-orbit-card-main p {
  max-width: 360px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 15px;
  line-height: 1.65;
}

.gls-destinations-orbit-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 24px;
}

.gls-destinations-orbit-grid div {
  min-height: 108px;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.gls-destinations-orbit-grid strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  margin-bottom: 12px;
}

.gls-destinations-orbit-grid span {
  color: var(--white);
  font-size: 15px;
  font-weight: 600;
}

.gls-destinations-abstract-steps {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.gls-destinations-abstract-steps div {
  padding: 16px 12px;
  border-radius: 18px;
  background: var(--white);
  text-align: center;
  box-shadow: 0 16px 40px rgba(0,0,0,.14);
}

.gls-destinations-abstract-steps strong {
  display: block;
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
}

.gls-destinations-abstract-steps span {
  display: block;
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
}

@media (max-width: 1024px) {
  .gls-destinations-abstract-grid {
    grid-template-columns: 1fr;
  }

  .gls-destinations-abstract-panel {
    max-width: 620px;
  }
}

@media (max-width: 640px) {
  .gls-destinations-abstract-hero {
    padding: 58px 0 72px;
  }

  .gls-destinations-abstract-content h1 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .gls-destinations-abstract-actions a {
    width: 100%;
  }

  .gls-destinations-abstract-panel {
    min-height: auto;
    padding: 24px;
    border-radius: 26px;
  }

  .gls-destinations-orbit-grid, .gls-destinations-abstract-steps {
    grid-template-columns: 1fr;
  }
}

.gls-programs-hero-clean {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 86px 0 96px;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%);
  overflow: hidden;
}

.gls-programs-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(420px, .9fr);
  gap: 70px;
  align-items: center;
}

.gls-programs-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 13px;
  font-weight: 600;
}

.gls-programs-hero-content h1 {
  max-width: 820px;
  margin: 0 0 24px;
  color: var(--navy);
  font-size: clamp(46px, 5.8vw, 78px);
  line-height: .98;
  letter-spacing: -0.065em;
}

.gls-programs-hero-content p {
  max-width: 660px;
  margin: 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.78;
}

.gls-programs-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.gls-programs-hero-panel {
  position: relative;
  min-height: 520px;
  padding: 34px;
  border-radius: 34px;
  background: radial-gradient(circle at 80% 10%, rgba(4, 118, 189, .16), transparent 34%),
    var(--navy);
  box-shadow: 0 32px 85px rgba(0, 51, 153, .22);
  overflow: hidden;
}

.gls-programs-hero-panel::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -130px;
  top: -130px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}

.gls-programs-hero-panel::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  left: -90px;
  bottom: -90px;
  border-radius: 50%;
  background: rgba(9, 176, 79, .20);
}

.gls-programs-panel-main {
  position: relative;
  z-index: 2;
  padding: 28px;
  border-radius: 26px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(12px);
}

.gls-programs-panel-main span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-programs-panel-main h2 {
  margin: 0 0 12px;
  color: var(--white);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.05em;
}

.gls-programs-panel-main p {
  max-width: 380px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 15px;
  line-height: 1.65;
}

.gls-programs-panel-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 24px;
}

.gls-programs-panel-grid div {
  min-height: 108px;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.gls-programs-panel-grid strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  margin-bottom: 12px;
}

.gls-programs-panel-grid span {
  color: var(--white);
  font-size: 15px;
  font-weight: 600;
}

.gls-programs-panel-steps {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.gls-programs-panel-steps div {
  padding: 16px 12px;
  border-radius: 18px;
  background: var(--white);
  text-align: center;
  box-shadow: 0 16px 40px rgba(0,0,0,.14);
}

.gls-programs-panel-steps strong {
  display: block;
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
}

.gls-programs-panel-steps span {
  display: block;
  color: var(--navy);
  font-size: 13px;
  font-weight: 600;
}

.gls-programs-support {
  background: var(--white);
}

.gls-programs-support-box {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(420px, 1fr);
  gap: 42px;
  align-items: center;
  padding: 46px;
  border-radius: 32px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 22px 65px rgba(0, 51, 153, .08);
}

.gls-programs-support-content h2 {
  margin: 16px 0;
  color: var(--navy);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.gls-programs-support-content p {
  margin: 0;
  color: #64748B;
  font-size: 17px;
  line-height: 1.75;
}

.gls-programs-support-steps {
  display: grid;
  gap: 12px;
}

.gls-programs-support-steps div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
}

.gls-programs-support-steps strong {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--blue-light);
  color: var(--blue);
  font-family: "Space Grotesk", sans-serif;
  font-size: 14px;
  font-weight: 600;
}

.gls-programs-support-steps span {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.gls-programs-final-cta {
  background: var(--white);
  padding: 70px 0;
}

.gls-programs-final-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 38px;
  border-radius: 30px;
  background: var(--navy);
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20);
}

.gls-programs-final-box span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-programs-final-box h3 {
  color: var(--white);
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -0.04em;
}

.gls-programs-final-box p {
  color: rgba(255,255,255,.78);
  margin: 0;
  font-size: 17px;
}

.gls-programs-final-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.gls-programs-cta-primary, .gls-programs-cta-secondary {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .2s ease;
}

.gls-programs-cta-primary {
  background: var(--green);
  color: var(--white) !important;
  border: 2px solid var(--green);
}

.gls-programs-cta-primary:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white) !important;
  transform: translateY(-2px);
}

.gls-programs-cta-secondary {
  background: transparent;
  color: var(--white) !important;
  border: 2px solid rgba(255,255,255,.35);
}

.gls-programs-cta-secondary:hover {
  background: var(--white);
  color: var(--navy) !important;
  border-color: var(--white);
  transform: translateY(-2px);
}

@media (max-width: 1024px) {
  .gls-programs-hero-grid, .gls-programs-support-box {
    grid-template-columns: 1fr;
  }

  .gls-programs-hero-panel {
    max-width: 620px;
  }

  .gls-programs-final-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .gls-programs-hero-clean {
    padding: 58px 0 72px;
  }

  .gls-programs-hero-content h1 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .gls-programs-hero-actions a, .gls-programs-final-actions a {
    width: 100%;
  }

  .gls-programs-hero-panel, .gls-programs-support-box, .gls-programs-final-box {
    padding: 24px;
    border-radius: 26px;
  }

  .gls-programs-panel-grid, .gls-programs-panel-steps {
    grid-template-columns: 1fr;
  }

  .gls-programs-final-actions {
    width: 100%;
  }
}

.gls-contact-hero-clean {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 86px 0 96px;
  background: var(--white);
  overflow: hidden;
}

.gls-contact-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(420px, .9fr);
  gap: 70px;
  align-items: center;
}

.gls-contact-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 13px;
  font-weight: 600;
}

.gls-contact-hero-content h1 {
  max-width: 820px;
  margin: 0 0 24px;
  color: var(--navy);
  font-size: clamp(46px, 5.8vw, 78px);
  line-height: .98;
  letter-spacing: -0.065em;
}

.gls-contact-hero-content p {
  max-width: 660px;
  margin: 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.78;
}

.gls-contact-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.gls-contact-hero-panel {
  position: relative;
  padding: 34px;
  border-radius: 34px;
  background: radial-gradient(circle at 80% 10%, rgba(4, 118, 189, .16), transparent 34%),
    var(--navy);
  box-shadow: 0 32px 85px rgba(0, 51, 153, .22);
  overflow: hidden;
}

.gls-contact-hero-panel::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -130px;
  top: -130px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}

.gls-contact-hero-panel::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  left: -90px;
  bottom: -90px;
  border-radius: 50%;
  background: rgba(9, 176, 79, .20);
}

.gls-contact-hero-panel>* {
  position: relative;
  z-index: 1;
}

.gls-contact-hero-panel>span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-contact-hero-panel h2 {
  margin: 0 0 14px;
  color: var(--white);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.05em;
}

.gls-contact-hero-panel p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 16px;
  line-height: 1.7;
}

.gls-contact-hero-list {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.gls-contact-hero-list div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.gls-contact-hero-list strong {
  width: 42px;
  height: 42px;
  min-width: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 13px;
  font-weight: 600;
}

.gls-contact-hero-list span {
  color: rgba(255,255,255,.84);
  font-size: 14px;
  font-weight: 600;
}

@media (max-width: 1024px) {
  .gls-contact-hero-grid {
    grid-template-columns: 1fr;
  }

  .gls-contact-hero-panel {
    max-width: 620px;
  }
}

@media (max-width: 640px) {
  .gls-contact-hero-clean {
    padding: 58px 0 72px;
  }

  .gls-contact-hero-content h1 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .gls-contact-hero-actions a {
    width: 100%;
  }

  .gls-contact-hero-panel {
    padding: 24px;
    border-radius: 26px;
  }
}

.gls-quiz-clean-page {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 86px 0 96px;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%);
  overflow: hidden;
}

.gls-quiz-clean-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(420px, .9fr);
  gap: 70px;
  align-items: center;
}

.gls-quiz-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 13px;
  font-weight: 600;
}

.gls-quiz-clean-content h1 {
  max-width: 820px;
  margin: 0 0 24px;
  color: var(--navy);
  font-size: clamp(44px, 5.6vw, 76px);
  line-height: .98;
  letter-spacing: -0.065em;
}

.gls-quiz-clean-content p {
  max-width: 650px;
  margin: 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.78;
}

.gls-quiz-benefits {
  display: grid;
  gap: 12px;
  margin-top: 34px;
  max-width: 620px;
}

.gls-quiz-benefits div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045);
}

.gls-quiz-benefits strong {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--blue-light);
  color: var(--blue);
  font-family: "Space Grotesk", sans-serif;
  font-size: 14px;
  font-weight: 600;
}

.gls-quiz-benefits span {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.gls-quiz-clean-card {
  position: relative;
  padding: 38px;
  border-radius: 32px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .12);
  overflow: hidden;
}

.gls-quiz-clean-card::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -110px;
  top: -110px;
  border-radius: 50%;
  background: rgba(4, 118, 189, .08);
  pointer-events: none;
}

.gls-quiz-clean-card>* {
  position: relative;
  z-index: 1;
}

.gls-quiz-card-header {
  margin-bottom: 28px;
}

.gls-quiz-card-header span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-quiz-card-header h2 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.gls-quiz-card-header p {
  margin: 0;
  color: #64748B;
  font-size: 16px;
  line-height: 1.65;
}

.gls-quiz-clean-card .gls-form-wrap {
  max-width: none;
  margin: 0;
}

.gls-quiz-clean-card .gls-step-q, .gls-quiz-clean-card .gls-form-heading {
  color: var(--navy);
}

.gls-quiz-clean-card .gls-opcion {
  border-radius: 14px;
  background: #F8FAFC;
}

.gls-quiz-clean-card .gls-opcion:hover {
  background: var(--blue-light);
}

.gls-quiz-clean-card .gls-input {
  background: #F8FAFC;
  border-radius: 12px;
}

.gls-quiz-clean-card .gls-input:focus {
  background: var(--white);
}

.gls-quiz-clean-card .gls-btn-submit {
  border-radius: 12px;
  min-height: 52px;
}

.gls-quiz-privacy {
  margin: 16px 0 0;
  text-align: center;
  font-size: 12px;
  color: #94A3B8;
}

@media (max-width: 1024px) {
  .gls-quiz-clean-grid {
    grid-template-columns: 1fr;
  }

  .gls-quiz-clean-card {
    max-width: 620px;
  }
}

@media (max-width: 640px) {
  .gls-quiz-clean-page {
    padding: 58px 0 72px;
  }

  .gls-quiz-clean-content h1 {
    font-size: clamp(40px, 11vw, 56px);
  }

  .gls-quiz-clean-card {
    padding: 26px 22px;
    border-radius: 24px;
  }

  .gls-quiz-benefits div {
    align-items: flex-start;
  }
}

.gls-results-modern {
  width: 100%;
  background: #F8FAFC;
  padding-bottom: 96px;
}

.gls-results-modern-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 84px 0 96px;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%);
  overflow: hidden;
}

.gls-results-modern-hero-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 54px 46px;
  border-radius: 34px;
  background: radial-gradient(circle at 82% 16%, rgba(4, 118, 189, .20), transparent 34%),
    linear-gradient(135deg, var(--navy) 0%, var(--navy) 58%, var(--blue) 100%);
  box-shadow: 0 30px 80px rgba(0, 51, 153, .20);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.gls-results-modern-hero-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity: .25;
  pointer-events: none;
}

.gls-results-modern-hero-inner>* {
  position: relative;
  z-index: 1;
}

.gls-results-modern-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 8px 16px;
  margin-bottom: 20px;
  border-radius: 999px;
  background: rgba(9, 176, 79, .12);
  color: var(--green);
  border: 1px solid rgba(9, 176, 79, .28);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.gls-results-modern-hero h1 {
  max-width: 820px;
  margin: 0 auto 18px;
  color: var(--white);
  font-size: clamp(42px, 5.3vw, 72px);
  line-height: .98;
  letter-spacing: -0.06em;
  font-weight: 600;
}

.gls-results-modern-hero p {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(255,255,255,.82);
  font-size: 19px;
  line-height: 1.7;
}

.gls-results-modern-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-width: 760px;
  margin: 34px auto 0;
}

.gls-results-modern-meta div {
  padding: 16px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.gls-results-modern-meta strong {
  display: block;
  margin-bottom: 6px;
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
}

.gls-results-modern-meta span {
  display: block;
  color: rgba(255,255,255,.74);
  font-size: 13px;
  font-weight: 600;
}

.gls-results-modern-body {
  padding-top: 70px;
}

.gls-results-modern-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 32px;
}

.gls-results-modern-head h2 {
  margin: 14px 0 0;
  color: var(--navy);
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.05;
  letter-spacing: -0.05em;
  font-weight: 600;
}

.gls-results-modern-head p {
  margin: 0;
  color: #64748B;
  font-size: 15px;
  font-weight: 600;
}

.gls-results-modern-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.gls-result-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 28px;
  border-radius: 30px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 14px 36px rgba(0, 51, 153, .07),
    0 1px 2px rgba(0, 51, 153, .04);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.gls-result-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  right: 28px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue), var(--green));
}

.gls-result-card:hover {
  transform: translateY(-7px);
  border-color: rgba(4, 118, 189, .28);
  box-shadow: 0 28px 70px rgba(0, 51, 153, .13),
    0 8px 18px rgba(0, 51, 153, .06);
}

.gls-result-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.gls-result-flag {
  width: 62px;
  height: 62px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  font-size: 34px;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(0, 51, 153, .06);
}

.gls-result-number {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--navy);
  color: var(--white);
  font-family: "Space Grotesk", sans-serif;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 12px 28px rgba(0, 51, 153, .18);
}

.gls-result-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.gls-result-tags span {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.gls-result-card h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -0.035em;
}

.gls-result-location {
  margin: 0 0 16px;
  color: #64748B;
  font-size: 14px;
  line-height: 1.45;
}

.gls-result-desc {
  margin: 0 0 22px;
  color: #475569;
  font-size: 15px;
  line-height: 1.72;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gls-result-footer {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid #EEF2F7;
}

.gls-result-price {
  min-height: 44px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #ECFDF5;
  color: #065F46;
  border: 1px solid #D1FAE5;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.15;
  text-align: center;
}

.gls-result-btn {
  min-height: 48px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--navy);
  color: var(--white);
  border: 2px solid var(--navy);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 12px 26px rgba(0, 51, 153, .18);
  transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.gls-result-btn:hover {
  background: var(--blue);
  border-color: var(--blue);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(4, 118, 189, .26);
}

.gls-results-loading, .gls-results-error {
  grid-column: 1 / -1;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
  color: #64748B;
}

.gls-results-empty-modern {
  margin-top: 32px;
}

.gls-results-empty-card {
  max-width: 680px;
  margin: 0 auto;
  padding: 42px;
  border-radius: 30px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .08);
  text-align: center;
}

.gls-results-empty-card span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-results-empty-card h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.gls-results-empty-card p {
  margin: 0 0 24px;
  color: #64748B;
  font-size: 16px;
  line-height: 1.65;
}

.gls-result-empty-btn {
  min-height: 48px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--navy);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.gls-result-empty-btn:hover {
  background: var(--blue);
  color: var(--white);
}

@media (max-width: 1100px) {
  .gls-results-modern-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gls-results-modern-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767px) {
  .gls-results-modern-hero {
    padding: 58px 0 68px;
  }

  .gls-results-modern-hero-inner {
    padding: 42px 22px;
    border-radius: 26px;
  }

  .gls-results-modern-hero h1 {
    font-size: clamp(36px, 11vw, 52px);
  }

  .gls-results-modern-hero p {
    font-size: 16.5px;
  }

  .gls-results-modern-meta {
    grid-template-columns: 1fr;
  }

  .gls-results-modern-body {
    padding-top: 44px;
  }

  .gls-results-modern-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .gls-result-card {
    padding: 24px;
    border-radius: 24px;
  }

  .gls-results-empty-card {
    padding: 30px 22px;
    border-radius: 24px;
  }
}

.gls-germany-hero-panel {
  position: relative;
  min-height: 460px;
  padding: 34px;
  border-radius: 34px;
  background: radial-gradient(circle at 80% 10%, rgba(4, 118, 189, .16), transparent 34%),
    var(--navy);
  box-shadow: 0 32px 85px rgba(0, 51, 153, .22);
  overflow: hidden;
}

.gls-germany-hero-panel::before {
  content: "";
  position: absolute;
  width: 330px;
  height: 330px;
  right: -130px;
  top: -130px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}

.gls-germany-hero-panel::after {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  left: -90px;
  bottom: -90px;
  border-radius: 50%;
  background: rgba(9, 176, 79, .20);
}

.gls-germany-hero-panel>* {
  position: relative;
  z-index: 1;
}

.gls-germany-hero-panel>span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-germany-hero-panel h2 {
  margin: 0 0 14px;
  color: var(--white);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.05em;
}

.gls-germany-hero-panel p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 16px;
  line-height: 1.7;
}

.gls-germany-hero-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 28px;
}

.gls-germany-hero-stats div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 15px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.gls-germany-hero-stats strong {
  width: 46px;
  height: 46px;
  min-width: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255,255,255,.12);
  font-size: 24px;
}

.gls-germany-hero-stats span {
  color: rgba(255,255,255,.84);
  font-size: 15px;
  font-weight: 600;
}

.gls-germany-highlight-card {
  padding: 32px;
  border-radius: 30px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07);
}

.gls-germany-highlight-card span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-germany-highlight-card h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 27px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.gls-germany-highlight-card p {
  margin: 0;
  color: #64748B;
  font-size: 16px;
  line-height: 1.7;
}

.gls-germany-benefits {
  background: #F8FAFC;
}

.gls-germany-benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.gls-germany-benefit-card {
  padding: 28px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055);
  transition: transform .25s ease, box-shadow .25s ease;
}

.gls-germany-benefit-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(0, 51, 153, .10);
}

.gls-germany-benefit-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: var(--blue-light);
  font-size: 28px;
}

.gls-germany-benefit-card h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.gls-germany-benefit-card p {
  margin: 0;
  color: #64748B;
  font-size: 15px;
  line-height: 1.65;
}

@media (max-width: 1100px) {
  .gls-germany-hero-grid, .gls-germany-intro-grid, .gls-germany-routes-box, .gls-germany-work-grid {
    grid-template-columns: 1fr;
  }

  .gls-germany-benefits-grid, .gls-germany-requirements-grid, .gls-germany-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .gls-germany-hero-panel, .gls-germany-routes-box, .gls-germany-final-box {
    padding: 26px 22px;
    border-radius: 24px;
  }

  .gls-germany-benefits-grid, .gls-germany-requirements-grid, .gls-germany-process-grid {
    grid-template-columns: 1fr;
  }
}

.gls-usa-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 86px 0 96px;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%);
  overflow: hidden;
}

.gls-usa-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr);
  gap: 70px;
  align-items: center;
}

.gls-usa-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 13px;
  font-weight: 600;
}

.gls-usa-hero-content h1 {
  max-width: 820px;
  margin: 0 0 24px;
  color: var(--navy);
  font-size: clamp(46px, 5.7vw, 78px);
  line-height: .98;
  letter-spacing: -0.065em;
}

.gls-usa-hero-content p {
  max-width: 660px;
  margin: 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.78;
}

.gls-usa-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.gls-usa-hero-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 34px;
  max-width: 620px;
}

.gls-usa-hero-points div {
  padding: 18px 16px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045);
}

.gls-usa-hero-points strong {
  display: block;
  color: var(--blue);
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 8px;
}

.gls-usa-hero-points span {
  display: block;
  color: #64748B;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.gls-usa-hero-main-img {
  position: absolute;
  inset: 0 0 70px 70px;
  border-radius: 36px;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18);
  background: var(--navy);
}

.gls-usa-hero-main-img img, .gls-usa-hero-small-img img, .gls-usa-experience-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gls-usa-hero-main-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,21,41,.02) 0%, rgba(7,21,41,.28) 55%, rgba(7,21,41,.72) 100%);
}

.gls-usa-hero-floating span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-usa-hero-floating h2 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.gls-usa-hero-floating p {
  margin: 0;
  color: #64748B;
  font-size: 14px;
  line-height: 1.55;
}

.gls-usa-intro {
  background: var(--white);
}

.gls-usa-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr);
  gap: 42px;
  align-items: center;
}

.gls-usa-intro-content h2 {
  margin: 16px 0;
  color: var(--navy);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.055em;
}

.gls-usa-intro-content p {
  margin: 0 0 16px;
  color: #475569;
  font-size: 17px;
  line-height: 1.78;
}

.gls-usa-intro-card {
  padding: 32px;
  border-radius: 30px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07);
}

.gls-usa-intro-card span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-usa-intro-card h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 27px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.gls-usa-intro-card p {
  margin: 0;
  color: #64748B;
  font-size: 16px;
  line-height: 1.7;
}

.gls-usa-opportunities {
  background: #F8FAFC;
}

.gls-usa-opportunities-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.gls-usa-opportunity-card {
  padding: 28px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055);
  transition: transform .25s ease, box-shadow .25s ease;
}

.gls-usa-opportunity-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(0, 51, 153, .10);
}

.gls-usa-opportunity-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: var(--blue-light);
  font-size: 28px;
}

.gls-usa-opportunity-card h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.gls-usa-opportunity-card p {
  margin: 0;
  color: #64748B;
  font-size: 15px;
  line-height: 1.65;
}

.gls-usa-routes {
  background: var(--white);
}

.gls-usa-routes-box {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr);
  gap: 42px;
  align-items: center;
  padding: 46px;
  border-radius: 34px;
  background: var(--navy);
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20);
}

.gls-usa-routes-content h2 {
  margin: 16px 0;
  color: var(--white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.gls-usa-routes-content p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.75;
}

.gls-usa-routes-list {
  display: grid;
  gap: 12px;
}

.gls-usa-routes-list div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.gls-usa-routes-list strong {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255,255,255,.13);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
}

.gls-usa-routes-list span {
  color: rgba(255,255,255,.84);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.gls-usa-visa {
  background: #F8FAFC;
}

.gls-usa-visa-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.gls-usa-visa-card {
  padding: 30px;
  border-radius: 28px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 16px 42px rgba(0, 51, 153, .065);
}

.gls-usa-visa-card span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 12px;
  font-weight: 600;
}

.gls-usa-visa-card h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 25px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.gls-usa-visa-card p {
  margin: 0;
  color: #64748B;
  font-size: 15px;
  line-height: 1.7;
}

.gls-usa-experience {
  background: var(--white);
}

.gls-usa-experience-grid {
  display: grid;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr);
  gap: 54px;
  align-items: center;
}

.gls-usa-experience-content h2 {
  margin: 16px 0;
  color: var(--navy);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.055em;
}

.gls-usa-experience-content p {
  margin: 0;
  color: #475569;
  font-size: 17px;
  line-height: 1.78;
}

.gls-usa-experience-list {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.gls-usa-experience-list div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 15px;
  border-radius: 18px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
}

.gls-usa-experience-list strong {
  width: 34px;
  height: 34px;
  min-width: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--blue);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
}

.gls-usa-experience-list span {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
}

.gls-usa-programs {
  background: #F8FAFC;
}

.gls-usa-programs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.gls-usa-program-card {
  padding: 30px;
  border-radius: 28px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 16px 42px rgba(0, 51, 153, .065);
}

.gls-usa-program-card span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-usa-program-card h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 25px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.gls-usa-program-card p {
  margin: 0 0 20px;
  color: #64748B;
  font-size: 15px;
  line-height: 1.7;
}

.gls-usa-program-card a {
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.gls-usa-process {
  background: var(--white);
}

.gls-usa-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.gls-usa-process-step {
  padding: 28px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055);
}

.gls-usa-process-step strong {
  display: inline-flex;
  width: 46px;
  height: 46px;
  margin-bottom: 18px;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--blue-light);
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
}

.gls-usa-process-step h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 21px;
  font-weight: 600;
}

.gls-usa-process-step p {
  margin: 0;
  color: #64748B;
  font-size: 14.5px;
  line-height: 1.65;
}

.gls-usa-final-cta {
  background: #F8FAFC;
  padding: 70px 0;
}

.gls-usa-final-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 38px;
  border-radius: 30px;
  background: var(--navy);
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20);
}

.gls-usa-final-box span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-usa-final-box h3 {
  color: var(--white);
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -0.04em;
}

.gls-usa-final-box p {
  color: rgba(255,255,255,.78);
  margin: 0;
  font-size: 17px;
}

.gls-usa-final-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.gls-usa-cta-primary, .gls-usa-cta-secondary {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s ease;
}

.gls-usa-cta-primary {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.gls-usa-cta-primary:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white);
  transform: translateY(-2px);
}

.gls-usa-cta-secondary {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.35);
}

.gls-usa-cta-secondary:hover {
  background: var(--white);
  color: var(--navy);
  border-color: var(--white);
  transform: translateY(-2px);
}

@media (max-width: 1100px) {
  .gls-usa-hero-grid, .gls-usa-intro-grid, .gls-usa-routes-box, .gls-usa-experience-grid {
    grid-template-columns: 1fr;
  }

  .gls-usa-opportunities-grid, .gls-usa-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-usa-visa-grid, .gls-usa-programs-grid {
    grid-template-columns: 1fr;
  }

  .gls-usa-final-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .gls-usa-hero {
    padding: 58px 0 72px;
  }

  .gls-usa-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px);
  }

  .gls-usa-hero-points, .gls-usa-opportunities-grid, .gls-usa-process-grid {
    grid-template-columns: 1fr;
  }

  .gls-usa-hero-main-img, .gls-usa-hero-small-img, .gls-usa-hero-floating {
    position: relative;
    inset: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
  }

  .gls-usa-hero-floating {
    padding: 24px;
    border-radius: 24px;
  }

  .gls-usa-routes-box, .gls-usa-final-box {
    padding: 26px 22px;
    border-radius: 24px;
  }

  .gls-usa-final-actions, .gls-usa-final-actions a, .gls-usa-hero-actions a {
    width: 100%;
  }
}

.gls-usa-hero-main-img img {
  object-fit: cover;
  object-position: center center;
}

.gls-usa-hero-small-img img {
  object-fit: cover;
  object-position: center top;
}

.gls-usa-hero-small-img {
  position: absolute;
  left: 0;
  bottom: 0;
  border-radius: 30px;
  overflow: hidden;
  border: 10px solid var(--white);
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18);
  background: var(--white);
  width: 280px;
  height: 360px;
}

.gls-usa-hero-small-img img[src*="mujer-usa-01"] {
  object-position: center 22%;
}

.gls-usa-hero-main-img img[src*="usa-01"] {
  object-position: center 42%;
}

.gls-usa-hero-floating {
  position: absolute;
  z-index: 3;
  width: min(360px, 78%);
  padding: 26px;
  border-radius: 26px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(226,232,240,.9);
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16);
  backdrop-filter: blur(14px);
  right: 26px;
  bottom: 38px;
}

@media (max-width: 1100px) {
  .gls-usa-hero-small-img {
    width: 250px;
    height: 330px;
  }
}

@media (max-width: 640px) {
  .gls-usa-hero-main-img {
    border-radius: 26px;
    height: 420px;
  }

  .gls-usa-hero-main-img img {
    object-position: center center;
  }

  .gls-usa-hero-small-img {
    border: none;
    border-radius: 26px;
    width: 100%;
    height: 380px;
  }

  .gls-usa-hero-small-img img {
    object-position: center 24%;
  }
}

.gls-usa-hero-visual {
  position: relative;
  min-height: 620px;
  position: relative !important;
  min-height: 620px !important;
}

.gls-usa-hero-visual .gls-usa-hero-main-img {
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
}

.gls-usa-hero-visual .gls-usa-hero-main-img img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-usa-hero-visual .gls-usa-hero-main-img img[src*="usa-01"] {
  object-fit: cover !important;
  object-position: center 45% !important;
}

.gls-usa-hero-visual .gls-usa-hero-small-img img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center 34% !important;
}

.gls-usa-hero-visual .gls-usa-hero-small-img img[src*="mujer-usa-01"] {
  object-fit: cover !important;
  object-position: center 34% !important;
}

.gls-usa-hero-visual .gls-usa-hero-small-img {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 285px !important;
  height: 355px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  background: #F8FAFC !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  z-index: 3 !important;
}

.gls-usa-hero-visual .gls-usa-hero-floating {
  position: absolute !important;
  right: 28px !important;
  bottom: 38px !important;
  width: min(360px, 78%) !important;
  z-index: 4 !important;
}

@media (max-width: 1100px) {
  .gls-usa-hero-visual {
    max-width: 820px;
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-usa-hero-visual .gls-usa-hero-small-img {
    width: 260px !important;
    height: 335px !important;
  }
}

@media (max-width: 640px) {
  .gls-usa-hero-visual {
    min-height: auto;
    display: grid;
    gap: 18px;
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
  }

  .gls-usa-hero-visual .gls-usa-hero-main-img, .gls-usa-hero-visual .gls-usa-hero-small-img, .gls-usa-hero-visual .gls-usa-hero-floating {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-usa-hero-visual .gls-usa-hero-main-img {
    height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-usa-hero-visual .gls-usa-hero-main-img img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  .gls-usa-hero-visual .gls-usa-hero-small-img {
    height: 390px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-usa-hero-visual .gls-usa-hero-small-img img {
    object-fit: cover !important;
    object-position: center 34% !important;
  }

  .gls-usa-hero-visual .gls-usa-hero-floating {
    padding: 24px !important;
    border-radius: 24px !important;
  }
}

.gls-usa-experience-image {
  min-height: 560px;
  border-radius: 34px;
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16);
  position: relative !important;
  min-height: 560px !important;
  height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-usa-experience-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center 38% !important;
}

.gls-usa-experience-image img[src*="mujer-usa-01"] {
  object-fit: cover !important;
  object-position: center 38% !important;
}

@media (max-width: 1100px) {
  .gls-usa-experience-image {
    height: 520px !important;
    min-height: 520px !important;
  }
}

@media (max-width: 640px) {
  .gls-usa-experience-image {
    min-height: 380px;
    border-radius: 26px;
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-usa-experience-image img, .gls-usa-experience-image img[src*="mujer-usa-01"] {
    object-position: center 40% !important;
  }
}

.gls-germany-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 86px 0 96px;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%);
  overflow: hidden;
}

.gls-germany-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr);
  gap: 70px;
  align-items: center;
}

.gls-germany-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 13px;
  font-weight: 600;
}

.gls-germany-hero-content h1 {
  max-width: 820px;
  margin: 0 0 24px;
  color: var(--navy);
  font-size: clamp(46px, 5.7vw, 78px);
  line-height: .98;
  letter-spacing: -0.065em;
}

.gls-germany-hero-content p {
  max-width: 660px;
  margin: 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.78;
}

.gls-germany-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.gls-germany-hero-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 34px;
  max-width: 620px;
}

.gls-germany-hero-points div {
  padding: 18px 16px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045);
}

.gls-germany-hero-points strong {
  display: block;
  color: var(--blue);
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 8px;
}

.gls-germany-hero-points span {
  display: block;
  color: #64748B;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.gls-germany-hero-main-img img, .gls-germany-hero-small-img img, .gls-germany-experience-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gls-germany-hero-main-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,21,41,.02) 0%, rgba(7,21,41,.28) 55%, rgba(7,21,41,.72) 100%);
}

.gls-germany-hero-floating span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-germany-hero-floating h2 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.gls-germany-hero-floating p {
  margin: 0;
  color: #64748B;
  font-size: 14px;
  line-height: 1.55;
}

.gls-germany-intro {
  background: var(--white);
}

.gls-germany-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr);
  gap: 42px;
  align-items: center;
}

.gls-germany-intro-content h2 {
  margin: 16px 0;
  color: var(--navy);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.055em;
}

.gls-germany-intro-content p {
  margin: 0 0 16px;
  color: #475569;
  font-size: 17px;
  line-height: 1.78;
}

.gls-germany-intro-card {
  padding: 32px;
  border-radius: 30px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07);
}

.gls-germany-intro-card span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-germany-intro-card h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 27px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.gls-germany-intro-card p {
  margin: 0;
  color: #64748B;
  font-size: 16px;
  line-height: 1.7;
}

.gls-germany-opportunities {
  background: #F8FAFC;
}

.gls-germany-opportunities-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.gls-germany-opportunity-card {
  padding: 28px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055);
  transition: transform .25s ease, box-shadow .25s ease;
}

.gls-germany-opportunity-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(0, 51, 153, .10);
}

.gls-germany-opportunity-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: var(--blue-light);
  font-size: 28px;
}

.gls-germany-opportunity-card h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.gls-germany-opportunity-card p {
  margin: 0;
  color: #64748B;
  font-size: 15px;
  line-height: 1.65;
}

.gls-germany-routes {
  background: var(--white);
}

.gls-germany-routes-box {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr);
  gap: 42px;
  align-items: center;
  padding: 46px;
  border-radius: 34px;
  background: var(--navy);
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20);
}

.gls-germany-routes-content h2 {
  margin: 16px 0;
  color: var(--white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.gls-germany-routes-content p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.75;
}

.gls-germany-routes-list {
  display: grid;
  gap: 12px;
}

.gls-germany-routes-list div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.gls-germany-routes-list strong {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255,255,255,.13);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
}

.gls-germany-routes-list span {
  color: rgba(255,255,255,.84);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.gls-germany-programs {
  background: #F8FAFC;
}

.gls-germany-programs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.gls-germany-program-card {
  padding: 30px;
  border-radius: 28px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 16px 42px rgba(0, 51, 153, .065);
}

.gls-germany-program-card span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 12px;
  font-weight: 600;
}

.gls-germany-program-card h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 25px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.gls-germany-program-card p {
  margin: 0 0 18px;
  color: #64748B;
  font-size: 15px;
  line-height: 1.7;
}

.gls-germany-program-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.gls-germany-program-card li {
  color: var(--navy);
  font-size: 14px;
  font-weight: 600;
}

.gls-germany-program-card li::before {
  content: "✓";
  color: var(--blue);
  font-weight: 600;
  margin-right: 8px;
}

.gls-germany-experience {
  background: var(--white);
}

.gls-germany-experience-grid {
  display: grid;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr);
  gap: 54px;
  align-items: center;
}

.gls-germany-experience-content h2 {
  margin: 16px 0;
  color: var(--navy);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.055em;
}

.gls-germany-experience-content p {
  margin: 0;
  color: #475569;
  font-size: 17px;
  line-height: 1.78;
}

.gls-germany-experience-list {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.gls-germany-experience-list div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 15px;
  border-radius: 18px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
}

.gls-germany-experience-list strong {
  width: 34px;
  height: 34px;
  min-width: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--blue);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
}

.gls-germany-experience-list span {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
}

.gls-germany-requirements {
  background: #F8FAFC;
}

.gls-germany-requirements-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.gls-germany-requirement-card {
  padding: 26px;
  border-radius: 24px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055);
}

.gls-germany-requirement-card strong {
  width: 44px;
  height: 44px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--navy);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
}

.gls-germany-requirement-card h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 600;
}

.gls-germany-requirement-card p {
  margin: 0;
  color: #64748B;
  font-size: 14.5px;
  line-height: 1.65;
}

.gls-germany-work {
  background: var(--white);
}

.gls-germany-work-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .7fr);
  gap: 24px;
}

.gls-germany-work-card {
  padding: 36px;
  border-radius: 30px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .075);
}

.gls-germany-work-card-dark {
  background: var(--navy);
}

.gls-germany-work-card-dark span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-germany-work-card h2 {
  margin: 0 0 16px;
  color: var(--white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.gls-germany-work-card-dark p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.75;
}

.gls-germany-work-card h3 {
  margin: 0 0 22px;
  color: var(--navy);
  font-size: 28px;
  letter-spacing: -0.04em;
}

.gls-germany-work-list {
  display: grid;
  gap: 12px;
}

.gls-germany-work-list div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 15px;
  border-radius: 18px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
}

.gls-germany-work-list strong {
  font-size: 24px;
}

.gls-germany-work-list span {
  color: var(--navy);
  font-size: 15px;
  font-weight: 600;
}

.gls-germany-process {
  background: #F8FAFC;
}

.gls-germany-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.gls-germany-process-step {
  padding: 28px;
  border-radius: 26px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055);
}

.gls-germany-process-step strong {
  display: inline-flex;
  width: 46px;
  height: 46px;
  margin-bottom: 18px;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--blue-light);
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
}

.gls-germany-process-step h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 21px;
  font-weight: 600;
}

.gls-germany-process-step p {
  margin: 0;
  color: #64748B;
  font-size: 14.5px;
  line-height: 1.65;
}

.gls-germany-final-cta {
  background: var(--white);
  padding: 70px 0;
}

.gls-germany-final-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 38px;
  border-radius: 30px;
  background: var(--navy);
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20);
}

.gls-germany-final-box span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-germany-final-box h3 {
  color: var(--white);
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -0.04em;
}

.gls-germany-final-box p {
  color: rgba(255,255,255,.78);
  margin: 0;
  font-size: 17px;
}

.gls-germany-final-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.gls-germany-cta-primary, .gls-germany-cta-secondary {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s ease;
}

.gls-germany-cta-primary {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.gls-germany-cta-primary:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white);
  transform: translateY(-2px);
}

.gls-germany-cta-secondary {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.35);
}

.gls-germany-cta-secondary:hover {
  background: var(--white);
  color: var(--navy);
  border-color: var(--white);
  transform: translateY(-2px);
}

@media (max-width: 1100px) {
  .gls-germany-hero-grid, .gls-germany-intro-grid, .gls-germany-routes-box, .gls-germany-experience-grid, .gls-germany-work-grid {
    grid-template-columns: 1fr;
  }

  .gls-germany-opportunities-grid, .gls-germany-requirements-grid, .gls-germany-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-germany-programs-grid {
    grid-template-columns: 1fr;
  }

  .gls-germany-final-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .gls-germany-hero {
    padding: 58px 0 72px;
  }

  .gls-germany-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px);
  }

  .gls-germany-hero-points, .gls-germany-opportunities-grid, .gls-germany-requirements-grid, .gls-germany-process-grid {
    grid-template-columns: 1fr;
  }

  .gls-germany-hero-floating {
    padding: 24px;
    border-radius: 24px;
  }

  .gls-germany-routes-box, .gls-germany-final-box {
    padding: 26px 22px;
    border-radius: 24px;
  }

  .gls-germany-final-actions, .gls-germany-final-actions a, .gls-germany-hero-actions a {
    width: 100%;
  }
}

.gls-germany-hero-visual {
  position: relative;
  min-height: 620px;
  position: relative !important;
  min-height: 620px !important;
}

.gls-germany-hero-main-img {
  position: absolute;
  inset: 0 0 70px 70px;
  border-radius: 36px;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18);
  background: var(--navy);
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
}

.gls-germany-hero-main-img img {
  object-position: center center;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-germany-hero-main-img img[src*="alemania-01"] {
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-germany-hero-small-img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 260px;
  height: 330px;
  border-radius: 30px;
  overflow: hidden;
  border: 10px solid var(--white);
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18);
  background: var(--white);
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 260px !important;
  height: 330px !important;
  min-height: 330px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  background: var(--navy) !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  z-index: 3 !important;
}

.gls-germany-hero-small-img img {
  object-position: center center;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-germany-hero-small-img img[src*="alemania-02"] {
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-germany-hero-floating {
  position: absolute;
  right: 34px;
  bottom: 34px;
  z-index: 3;
  width: min(360px, 78%);
  padding: 26px;
  border-radius: 26px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(226,232,240,.9);
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16);
  backdrop-filter: blur(14px);
  z-index: 4 !important;
}

.gls-germany-experience-image {
  position: relative;
  height: 560px;
  min-height: 560px;
  border-radius: 34px;
  overflow: hidden;
  background: var(--navy);
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16);
  position: relative !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-germany-experience-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-germany-experience-image img[src*="alemania-02"] {
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 1100px) {
  .gls-germany-hero-visual {
    max-width: 820px;
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-germany-hero-small-img {
    width: 250px !important;
    height: 320px !important;
    min-height: 320px !important;
  }

  .gls-germany-experience-image {
    height: 520px !important;
    min-height: 520px !important;
  }
}

@media (max-width: 640px) {
  .gls-germany-hero-visual {
    min-height: auto;
    display: grid;
    gap: 18px;
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
  }

  .gls-germany-hero-main-img, .gls-germany-hero-small-img, .gls-germany-hero-floating {
    position: relative;
    inset: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-germany-hero-main-img {
    height: 420px;
    border-radius: 26px;
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-germany-hero-small-img {
    height: 320px;
    border: none;
    border-radius: 26px;
    height: 340px !important;
    min-height: 340px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-germany-hero-main-img img, .gls-germany-hero-small-img img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .gls-germany-experience-image {
    height: 390px;
    min-height: 390px;
    border-radius: 26px;
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-germany-experience-image img {
    object-fit: cover !important;
    object-position: center center !important;
  }
}

.gls-home-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 86px 0 96px;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%);
  overflow: hidden;
}

.gls-home-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(560px, 1.1fr);
  gap: 70px;
  align-items: center;
}

.gls-home-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 13px;
  font-weight: 600;
}

.gls-home-hero-content h1 {
  max-width: 820px;
  margin: 0 0 24px;
  color: var(--navy);
  font-size: clamp(48px, 5.9vw, 82px);
  line-height: .96;
  letter-spacing: -0.07em;
  font-weight: 600;
}

.gls-home-hero-content p {
  max-width: 660px;
  margin: 0;
  color: #475569;
  font-size: 19px;
  line-height: 1.78;
}

.gls-home-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.gls-home-hero-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 34px;
  max-width: 620px;
}

.gls-home-hero-trust div {
  padding: 18px 16px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045);
}

.gls-home-hero-trust strong {
  display: block;
  color: var(--blue);
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 8px;
}

.gls-home-hero-trust span {
  display: block;
  color: #64748B;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.gls-home-hero-visual {
  position: relative;
  min-height: 620px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
}

.gls-home-hero-card {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  text-decoration: none;
  background: var(--navy);
  box-shadow: 0 24px 70px rgba(0, 51, 153, .16);
  isolation: isolate;
  transition: transform .28s ease, box-shadow .28s ease;
}

.gls-home-hero-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 34px 90px rgba(0, 51, 153, .22);
}

.gls-home-hero-card-main {
  min-height: 620px;
  border-radius: 36px;
}

.gls-home-hero-side {
  display: grid;
  gap: 18px;
}

.gls-home-hero-card-small {
  min-height: 301px;
  border-radius: 30px;
}

.gls-home-hero-card img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  transition: transform .55s ease, filter .55s ease;
}

.gls-home-hero-card:hover img {
  transform: scale(1.07);
  filter: saturate(1.08) contrast(1.04);
}

.gls-home-hero-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(7,21,41,.04) 0%, rgba(7,21,41,.28) 44%, rgba(7,21,41,.88) 100%);
}

.gls-home-hero-card::after {
  content: "";
  position: absolute;
  inset: 16px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  pointer-events: none;
}

.gls-home-hero-card>div {
  position: relative;
  z-index: 3;
  padding: 30px;
  width: 100%;
}

.gls-home-hero-card span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: var(--white);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 12px;
  font-weight: 600;
  backdrop-filter: blur(10px);
}

.gls-home-hero-card h2 {
  margin: 0;
  color: var(--white);
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1;
  letter-spacing: -0.055em;
}

.gls-home-hero-card h3 {
  margin: 0;
  color: var(--white);
  font-size: 25px;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.gls-home-hero-floating {
  position: absolute;
  left: 50%;
  bottom: 34px;
  z-index: 6;
  width: min(370px, 78%);
  padding: 24px;
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(226,232,240,.9);
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16);
  backdrop-filter: blur(14px);
  transform: translateX(-50%);
}

.gls-home-hero-floating span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-home-hero-floating strong {
  display: block;
  margin-bottom: 10px;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.gls-home-hero-floating a {
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.gls-home-programs {
  background: var(--white);
}

.gls-home-programs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.gls-home-program-card {
  position: relative;
  padding: 30px;
  border-radius: 28px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 16px 42px rgba(0, 51, 153, .06);
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.gls-home-program-card:hover {
  transform: translateY(-7px);
  border-color: rgba(4, 118, 189, .28);
  box-shadow: 0 28px 70px rgba(0, 51, 153, .12);
}

.gls-home-program-icon {
  width: 60px;
  height: 60px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: var(--blue-light);
  font-size: 28px;
}

.gls-home-program-card>span {
  display: inline-flex;
  padding: 7px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #F8FAFC;
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 11px;
  font-weight: 600;
}

.gls-home-program-card h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 23px;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.gls-home-program-card p {
  margin: 0 0 18px;
  color: #64748B;
  font-size: 15px;
  line-height: 1.65;
}

.gls-home-program-card strong {
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
}

.gls-home-destinations-showcase {
  background: #F8FAFC;
}

.gls-home-destinations-head {
  margin-bottom: 42px;
}

.gls-home-destinations-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  margin-top: 18px;
}

.gls-home-destinations-title-row h2 {
  max-width: 780px;
  margin: 0 0 14px;
  color: var(--navy);
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.04;
  letter-spacing: -0.055em;
}

.gls-home-destinations-title-row p {
  max-width: 680px;
  margin: 0;
  color: #64748B;
  font-size: 17px;
  line-height: 1.75;
}

.gls-home-destinations-link {
  flex-shrink: 0;
  min-height: 46px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: var(--white);
  color: var(--blue);
  border: 1px solid #E2E8F0;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .055);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}

.gls-home-destination-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  gap: 24px;
}

.gls-home-destination-featured, .gls-home-destination-card {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  text-decoration: none;
  background: var(--navy);
  box-shadow: 0 24px 70px rgba(0, 51, 153, .16);
  isolation: isolate;
  transition: transform .28s ease, box-shadow .28s ease;
}

.gls-home-destination-featured {
  min-height: 620px;
  border-radius: 34px;
}

.gls-home-destination-side {
  display: grid;
  gap: 24px;
}

.gls-home-destination-card {
  min-height: 298px;
  border-radius: 30px;
}

.gls-home-destination-featured:hover, .gls-home-destination-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 34px 90px rgba(0, 51, 153, .22);
}

.gls-home-destination-featured img, .gls-home-destination-card img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .55s ease, filter .55s ease;
}

.gls-home-destination-featured:hover img, .gls-home-destination-card:hover img {
  transform: scale(1.07);
  filter: saturate(1.08) contrast(1.04);
}

.gls-home-destination-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(7,21,41,.06) 0%, rgba(7,21,41,.30) 42%, rgba(7,21,41,.90) 100%);
}

.gls-home-destination-featured::after, .gls-home-destination-card::after {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  pointer-events: none;
}

.gls-home-destination-content {
  position: relative;
  z-index: 3;
  padding: 38px;
  width: 100%;
}

.gls-home-destination-card .gls-home-destination-content {
  padding: 28px;
}

.gls-home-destination-content span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: var(--white);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 12px;
  font-weight: 600;
}

.gls-home-destination-content h3 {
  margin: 0 0 12px;
  color: var(--white);
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1;
  letter-spacing: -0.055em;
}

.gls-home-destination-card .gls-home-destination-content h3 {
  font-size: clamp(25px, 3vw, 34px);
}

.gls-home-destination-content p {
  max-width: 520px;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: 17px;
  line-height: 1.65;
}

.gls-home-destination-card .gls-home-destination-content p {
  max-width: 360px;
  font-size: 14.5px;
}

.gls-home-destination-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.gls-home-destination-tags small {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.14);
  font-size: 12px;
  font-weight: 600;
}

.gls-home-route {
  background: var(--white);
}

.gls-home-route-box {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(420px, 1fr);
  gap: 42px;
  align-items: center;
  padding: 46px;
  border-radius: 34px;
  background: var(--navy);
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20);
}

.gls-home-route-content h2 {
  margin: 16px 0;
  color: var(--white);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.gls-home-route-content p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.75;
}

.gls-home-route-steps {
  display: grid;
  gap: 12px;
}

.gls-home-route-steps div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.gls-home-route-steps strong {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255,255,255,.13);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
}

.gls-home-route-steps span {
  color: rgba(255,255,255,.84);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.gls-home-final-cta {
  background: #F8FAFC;
  padding: 70px 0;
}

.gls-home-final-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 38px;
  border-radius: 30px;
  background: var(--navy);
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20);
}

.gls-home-final-box span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-home-final-box h3 {
  color: var(--white);
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -0.04em;
}

.gls-home-final-box p {
  color: rgba(255,255,255,.78);
  margin: 0;
  font-size: 17px;
}

.gls-home-final-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.gls-home-cta-primary, .gls-home-cta-secondary {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s ease;
}

.gls-home-cta-primary {
  background: var(--green);
  color: var(--white);
  border: 2px solid var(--green);
}

.gls-home-cta-secondary {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.35);
}

.gls-home-cta-primary:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white);
  transform: translateY(-2px);
}

.gls-home-cta-secondary:hover {
  background: var(--white);
  color: var(--navy);
  border-color: var(--white);
  transform: translateY(-2px);
}

@media (max-width: 1100px) {
  .gls-home-hero-grid, .gls-home-destination-layout, .gls-home-route-box {
    grid-template-columns: 1fr;
  }

  .gls-home-hero-visual {
    max-width: 900px;
  }

  .gls-home-programs-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-home-destinations-title-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .gls-home-destination-side {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-home-destination-card {
    min-height: 340px;
  }

  .gls-home-final-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .gls-home-hero-visual {
    grid-template-columns: 1fr;
  }

  .gls-home-hero-card-main, .gls-home-hero-card-small {
    min-height: 390px;
  }

  .gls-home-hero-floating {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: auto;
    margin: -52px 22px 0;
  }

  .gls-home-destination-side, .gls-home-programs-grid {
    grid-template-columns: 1fr;
  }

  .gls-home-destination-featured, .gls-home-destination-card {
    min-height: 420px;
    border-radius: 26px;
  }
}

@media (max-width: 640px) {
  .gls-home-hero {
    padding: 58px 0 72px;
  }

  .gls-home-hero-content h1 {
    font-size: clamp(42px, 12vw, 58px);
  }

  .gls-home-hero-trust {
    grid-template-columns: 1fr;
  }

  .gls-home-hero-actions a, .gls-home-final-actions, .gls-home-final-actions a {
    width: 100%;
  }

  .gls-home-route-box, .gls-home-final-box {
    padding: 26px 22px;
    border-radius: 24px;
  }
}

.gls-home-bg-three {
  width: 260px;
  height: 260px;
  left: 52%;
  bottom: -80px;
  background: rgba(255,255,255,.18);
}

.gls-home-photo-caption, .gls-home-photo-small span {
  position: absolute;
  z-index: 2;
}

.gls-home-photo-caption span, .gls-home-photo-small span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
  backdrop-filter: blur(10px);
}

.gls-home-photo-small span {
  left: 20px;
  bottom: 20px;
}

.gls-home-dream-card div {
  position: relative;
  z-index: 2;
  padding: 30px;
}

.gls-home-final-impact-box h2, .gls-home-final-impact-box p {
  color: var(--white);
}

@media (max-width: 1100px) {
  .gls-home-immersive-visual {
    max-width: 900px;
  }
}

@media (max-width: 768px) {
  .gls-home-dream-card {
    min-height: 420px;
  }

  .gls-home-immersive-visual {
    min-height: auto;
    display: grid;
    gap: 18px;
  }

  .gls-home-photo, .gls-home-floating-glass {
    position: relative;
    inset: auto;
    width: 100%;
    height: 380px;
    transform: none;
  }
}

@media (max-width: 640px) {
  .gls-home-immersive {
    padding: 64px 0 92px;
  }

  .gls-home-final-impact {
    background-attachment: scroll;
  }
}

.gls-home-immersive-visual {
  position: relative;
  min-height: 560px;
  width: 100%;
}

.gls-home-photo {
  position: absolute;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
  backdrop-filter: blur(16px);
}

.gls-home-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.gls-home-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(7,21,41,.03) 0%,
    rgba(7,21,41,.18) 45%,
    rgba(7,21,41,.78) 100%
  );
}

.gls-home-photo-main {
  right: 0;
  top: 18px;
  width: 68%;
  height: 420px;
  border-radius: 32px;
  transform: rotate(1deg);
  z-index: 2;
}

.gls-home-photo-a {
  left: 0;
  top: 118px;
  width: 245px;
  height: 285px;
  border-radius: 26px;
  transform: rotate(-3deg);
  z-index: 3;
}

.gls-home-photo-b {
  right: 112px;
  bottom: 18px;
  width: 260px;
  height: 210px;
  border-radius: 26px;
  transform: rotate(-1.6deg);
  z-index: 4;
}

.gls-home-photo-c {
  left: 72px;
  bottom: 34px;
  width: 220px;
  height: 200px;
  border-radius: 26px;
  transform: rotate(2deg);
  z-index: 4;
}

.gls-home-photo-main img[src*="las-vegas"] {
  object-position: center center;
}

.gls-home-photo-a img[src*="espana"] {
  object-position: center 42%;
}

.gls-home-photo-b img[src*="dubai"] {
  object-position: center center;
}

.gls-home-photo-c img[src*="reino-unido"] {
  object-position: center center;
}

.gls-home-photo-caption, .gls-home-photo span {
  position: absolute;
  z-index: 2;
}

.gls-home-photo-caption {
  left: 24px;
  right: 24px;
  bottom: 24px;
}

.gls-home-photo-caption span, .gls-home-photo>span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  color: var(--white);
  border: 1px solid rgba(255,255,255,.16);
  font-size: 12px;
  font-weight: 600;
  backdrop-filter: blur(10px);
}

.gls-home-photo-caption strong {
  display: block;
  max-width: 360px;
  color: var(--white);
  font-size: 25px;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.gls-home-photo>span {
  left: 18px;
  bottom: 18px;
}

.gls-home-hero-destination-main img {
  object-position: center center;
}

.gls-home-hero-destination-small img {
  object-position: center center;
}

.gls-home-glass-strip {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0 0 70px;
  margin-top: -42px;
  position: relative;
  z-index: 4;
  background: #F8FAFC;
}

.gls-home-glass-strip-box {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(226,232,240,.9);
  box-shadow: 0 26px 70px rgba(0, 51, 153, .13);
  backdrop-filter: blur(18px);
}

.gls-home-glass-strip-box div {
  padding: 30px 24px;
  text-align: center;
  border-right: 1px solid rgba(226,232,240,.8);
}

.gls-home-glass-strip-box div:last-child {
  border-right: none;
}

.gls-home-glass-strip-box strong {
  display: block;
  color: var(--navy);
  font-size: 38px;
  line-height: 1;
  font-weight: 600;
  margin-bottom: 8px;
}

.gls-home-glass-strip-box span {
  color: #64748B;
  font-size: 14px;
  font-weight: 600;
}

@media (max-width: 768px) {
  .gls-home-glass-strip-box {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .gls-home-glass-strip-box {
    grid-template-columns: 1fr;
  }
}

.gls-home-immersive {
  position: relative;
  width: 100vw;
  min-height: auto;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 74px 0 118px;
  background: radial-gradient(circle at 12% 18%, rgba(4, 118, 189, .13), transparent 34%),
    radial-gradient(circle at 88% 20%, rgba(9, 176, 79, .08), transparent 28%),
    linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  overflow: visible;
}

.gls-home-immersive::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 38px 38px;
  opacity: .22;
  pointer-events: none;
}

.gls-home-bg-layer {
  opacity: .32;
  position: absolute;
  border-radius: 999px;
  filter: blur(24px);
  pointer-events: none;
}

.gls-home-bg-one {
  width: 300px;
  height: 300px;
  left: -120px;
  top: 100px;
  background: rgba(4, 118, 189, .30);
  opacity: .36;
}

.gls-home-bg-two {
  width: 330px;
  height: 330px;
  right: -130px;
  top: 80px;
  background: rgba(9, 176, 79, .18);
  opacity: .30;
}

.gls-home-immersive .gls-container {
  position: relative;
  z-index: 2;
}

.gls-home-immersive-grid {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(500px, 1.06fr);
  gap: 54px;
  align-items: center;
}

.gls-home-glass-tag, .gls-home-soft-label {
  display: inline-flex;
  width: fit-content;
  padding: 8px 15px;
  margin-bottom: 22px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .04em;
}

.gls-home-glass-tag {
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(14px);
}

.gls-home-soft-label {
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
}

.gls-home-immersive-content h1 {
  max-width: 700px;
  margin: 0 0 24px;
  color: var(--white);
  font-size: clamp(40px, 4.8vw, 68px);
  line-height: .94;
  letter-spacing: -0.065em;
  font-weight: 600;
}

.gls-home-immersive-content h1 span {
  display: block;
  color: var(--green);
}

.gls-home-immersive-content p {
  max-width: 570px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.72;
}

.gls-home-immersive-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 32px;
}

.gls-home-primary-btn, .gls-home-glass-btn {
  text-decoration: none;
  min-height: 50px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .22s ease;
}

.gls-home-primary-btn {
  color: var(--white);
  background: var(--green);
  color: var(--white) !important;
  border: 2px solid var(--green);
  box-shadow: 0 14px 34px rgba(9, 176, 79, .22);
}

.gls-home-primary-btn:hover {
  color: var(--white);
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white) !important;
  transform: translateY(-2px);
}

.gls-home-glass-btn {
  color: var(--white);
  background: rgba(255,255,255,.08);
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,.24);
  backdrop-filter: blur(14px);
}

.gls-home-glass-btn:hover {
  color: var(--white);
  background: rgba(255,255,255,.16);
  color: var(--white) !important;
  transform: translateY(-2px);
}

.gls-home-hero-cards {
  position: relative;
  min-height: 540px;
  width: 100%;
}

.gls-home-hero-destination {
  position: absolute;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  text-decoration: none !important;
  background: var(--navy);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
  isolation: isolate;
  transition: transform .35s ease, box-shadow .35s ease, filter .35s ease, border-color .35s ease;
}

.gls-home-hero-destination img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform .55s ease, filter .55s ease;
}

.gls-home-hero-destination::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
      180deg,
      rgba(7,21,41,.03) 0%,
      rgba(7,21,41,.22) 44%,
      rgba(7,21,41,.86) 100%
    );
}

.gls-home-hero-destination::after {
  content: "";
  position: absolute;
  inset: 16px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  pointer-events: none;
}

.gls-home-hero-destination-content {
  position: relative;
  z-index: 3;
  padding: 26px;
  width: 100%;
}

.gls-home-hero-destination-content span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  color: var(--white);
  border: 1px solid rgba(255,255,255,.16);
  font-size: 12px;
  font-weight: 600;
  backdrop-filter: blur(10px);
}

.gls-home-hero-destination-content h3 {
  max-width: 260px;
  margin: 0;
  color: var(--white);
  font-size: clamp(26px, 3vw, 42px);
  line-height: .96;
  letter-spacing: -0.05em;
  font-weight: 600;
}

.gls-home-hero-destination-main {
  right: 0;
  top: 8px;
  width: 68%;
  height: 390px;
  border-radius: 32px;
  transform: rotate(1deg);
  z-index: 2;
}

.gls-home-hero-destination-mid {
  left: 0;
  top: 120px;
  width: 285px;
  height: 300px;
  border-radius: 28px;
  transform: rotate(-3deg);
  z-index: 4;
}

.gls-home-hero-destination-mid img {
  object-position: center 42%;
}

.gls-home-hero-destination-small {
  left: 120px;
  bottom: 8px;
  width: 280px;
  height: 230px;
  border-radius: 28px;
  transform: rotate(2deg);
  z-index: 5;
}

.gls-home-hero-cards:hover .gls-home-hero-destination {
  filter: saturate(.88) brightness(.90);
}

.gls-home-hero-cards .gls-home-hero-destination:hover {
  transform: translateY(-10px) scale(1.035) rotate(0deg);
  filter: saturate(1.08) brightness(1);
  border-color: rgba(255,255,255,.34);
  box-shadow: 0 34px 90px rgba(0,0,0,.34);
  z-index: 10;
}

.gls-home-hero-destination:hover img {
  transform: scale(1.08);
}

.gls-home-floating-glass {
  left: auto;
  position: absolute;
  right: 34px;
  bottom: 40px;
  z-index: 12;
  width: 315px;
  padding: 22px;
  border-radius: 24px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(255,255,255,.68);
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
  backdrop-filter: blur(18px);
}

.gls-home-floating-glass span {
  display: inline-flex;
  padding: 6px 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-home-floating-glass strong {
  display: block;
  margin-bottom: 8px;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.18;
}

.gls-home-floating-glass p {
  margin: 0 0 12px;
  color: #475569;
  font-size: 14px;
  line-height: 1.55;
}

.gls-home-floating-glass a {
  text-decoration: none;
  color: var(--blue);
  font-weight: 600;
  text-decoration: none !important;
}

.gls-home-hero-stats-overlap {
  position: absolute;
  left: 50%;
  bottom: -58px;
  z-index: 20;
  transform: translateX(-50%);
  width: min(1150px, calc(100% - 40px));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255,255,255,.90);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 26px 70px rgba(0, 51, 153, .16);
  backdrop-filter: blur(18px);
}

.gls-home-hero-stats-overlap div {
  padding: 28px 22px;
  text-align: center;
  border-right: 1px solid rgba(226,232,240,.9);
}

.gls-home-hero-stats-overlap div:last-child {
  border-right: none;
}

.gls-home-hero-stats-overlap strong {
  display: block;
  color: var(--navy);
  font-size: 38px;
  line-height: 1;
  font-weight: 600;
  margin-bottom: 8px;
}

.gls-home-hero-stats-overlap span {
  color: #64748B;
  font-size: 14px;
  font-weight: 600;
}

.gls-home-start {
  background: transparent;
  background-image: none;
}

.gls-home-start-header {
  max-width: 840px;
  margin-bottom: 46px;
}

.gls-home-start-header h2, .gls-home-dreams-top h2, .gls-home-timeline-intro h2, .gls-home-final-impact-box h2 {
  margin: 0 0 16px;
  color: var(--navy);
  font-size: clamp(36px, 4.8vw, 68px);
  line-height: .96;
  letter-spacing: -0.065em;
  font-weight: 600;
}

.gls-home-start-header p {
  margin: 0;
  color: #64748B;
  font-size: 18px;
  line-height: 1.75;
}

.gls-home-start-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.gls-home-start-card {
  text-decoration: none;
  min-height: 360px;
  padding: 28px;
  border-radius: 30px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(226,232,240,.9);
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07);
  backdrop-filter: blur(16px);
  text-decoration: none !important;
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.gls-home-start-card:hover {
  transform: translateY(-8px);
  border-color: rgba(4, 118, 189, .24);
  box-shadow: 0 30px 80px rgba(0, 51, 153, .13);
}

.gls-home-start-card-dark {
  background: var(--navy);
  border-color: rgba(255,255,255,.12);
}

.gls-home-start-number {
  position: absolute;
  right: 24px;
  top: 24px;
  color: rgba(100,116,139,.30);
  font-size: 42px;
  font-weight: 600;
}

.gls-home-start-card-dark .gls-home-start-number {
  color: rgba(255,255,255,.18);
}

.gls-home-start-icon {
  width: 62px;
  height: 62px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 19px;
  background: var(--blue-light);
  font-size: 30px;
}

.gls-home-start-card h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 25px;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.gls-home-start-card p {
  margin: 0 0 24px;
  color: #64748B;
  font-size: 15px;
  line-height: 1.7;
}

.gls-home-start-card span {
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
}

.gls-home-start-card-dark h3, .gls-home-start-card-dark p, .gls-home-start-card-dark span {
  color: var(--white);
}

.gls-home-dreams {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 96px 0;
  background: radial-gradient(circle at 15% 20%, rgba(4, 118, 189, .12), transparent 32%),
    linear-gradient(135deg, var(--navy) 0%, var(--navy) 58%, var(--blue) 100%);
  overflow: hidden;
}

.gls-home-dreams-top {
  max-width: 900px;
  margin-bottom: 44px;
}

.gls-home-dreams-top h2 {
  color: var(--white);
  max-width: 900px;
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1;
}

.gls-home-dreams-grid {
  display: grid;
  grid-template-columns: 1.25fr .75fr .75fr;
  grid-auto-rows: 285px;
  gap: 22px;
}

.gls-home-dream-card {
  text-decoration: none;
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  display: flex;
  align-items: flex-end;
  text-decoration: none !important;
  background: var(--navy);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
  isolation: isolate;
}

.gls-home-dream-large {
  grid-row: span 2;
}

.gls-home-dream-card img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform .55s ease;
}

.gls-home-dream-card[href*="espana"] img, .gls-home-dream-card img[src*="espana"] {
  object-position: center 42%;
}

.gls-home-dream-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(7,21,41,.05) 0%,
    rgba(7,21,41,.26) 44%,
    rgba(7,21,41,.90) 100%
  );
}

.gls-home-dream-card>div {
  position: relative;
  z-index: 2;
  padding: 30px;
}

.gls-home-dream-card span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-home-dream-card h3 {
  margin: 0 0 10px;
  color: var(--white);
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.gls-home-dream-large h3 {
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
}

.gls-home-dream-card p {
  margin: 0;
  max-width: 520px;
  color: rgba(255,255,255,.78);
  font-size: 16px;
  line-height: 1.65;
}

.gls-home-dream-card:hover img {
  transform: scale(1.07);
}

.gls-home-timeline {
  background: transparent;
}

.gls-home-timeline-box {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(460px, 1fr);
  gap: 50px;
  align-items: center;
  padding: 48px;
  border-radius: 36px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(226,232,240,.9);
  box-shadow: 0 24px 70px rgba(0, 51, 153, .10);
  backdrop-filter: blur(16px);
}

.gls-home-timeline-intro p {
  margin: 0 0 24px;
  color: #64748B;
  font-size: 17px;
  line-height: 1.75;
}

.gls-home-timeline-intro a {
  text-decoration: none;
  color: var(--blue);
  font-weight: 600;
  text-decoration: none !important;
}

.gls-home-timeline-steps {
  display: grid;
  gap: 14px;
}

.gls-home-timeline-steps div {
  padding: 20px;
  border-radius: 22px;
  background: var(--navy);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 45px rgba(0, 51, 153, .16);
}

.gls-home-timeline-steps strong {
  display: inline-flex;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 13px;
  font-weight: 600;
}

.gls-home-timeline-steps h3 {
  margin: 0 0 8px;
  color: var(--white);
  font-size: 21px;
  letter-spacing: -0.03em;
}

.gls-home-timeline-steps p {
  margin: 0;
  color: rgba(255,255,255,.74);
  font-size: 14.5px;
  line-height: 1.6;
}

.gls-home-final-impact {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 100px 0;
  background: linear-gradient(rgba(7,21,41,.72), rgba(7,21,41,.82)),
    url("https://lightcoral-walrus-958477.hostingersite.com/wp-content/uploads/2026/05/australia-02.webp") center/cover fixed;
}

.gls-home-final-impact-box span {
  display: inline-flex;
  padding: 8px 15px;
  margin-bottom: 20px;
  border-radius: 999px;
  background: rgba(9, 176, 79, .16);
  color: var(--green);
  font-size: 12px;
  font-weight: 600;
}

.gls-home-final-impact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

@media (max-width: 1100px) {
  .gls-home-immersive-grid, .gls-home-timeline-box {
    grid-template-columns: 1fr;
  }

  .gls-home-hero-cards {
    max-width: 880px;
    min-height: 540px;
  }

  .gls-home-immersive-content h1 {
    max-width: 820px;
  }

  .gls-home-start-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-home-dreams-grid {
    grid-template-columns: 1fr 1fr;
  }

  .gls-home-dream-large {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .gls-home-immersive {
    padding: 58px 0 118px;
  }

  .gls-home-hero-cards {
    min-height: auto;
    display: grid;
    gap: 18px;
  }

  .gls-home-hero-destination, .gls-home-floating-glass {
    position: relative;
    inset: auto;
    left: auto;
    right: auto;
    bottom: auto;
    top: auto;
    width: 100%;
    transform: none;
  }

  .gls-home-hero-destination-main, .gls-home-hero-destination-mid, .gls-home-hero-destination-small {
    height: 320px;
    border-radius: 24px;
  }

  .gls-home-floating-glass {
    height: auto;
    width: 100%;
    margin-top: -42px;
  }

  .gls-home-hero-stats-overlap {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    margin-top: 36px;
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-home-start {
    padding-top: 70px;
  }

  .gls-home-start-grid {
    grid-template-columns: 1fr;
  }

  .gls-home-dreams-grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
    gap: 16px !important;
  }

  .gls-home-dream-large {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .gls-home-dream-card,
  .gls-home-dream-large {
    width: 100% !important;
    min-height: 280px !important;
    border-radius: 24px !important;
  }

  .gls-home-dreams {
    width: 100% !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 64px 0 !important;
    overflow: hidden !important;
  }

  .gls-home-dreams-top {
    margin-bottom: 30px !important;
  }

  .gls-home-dreams-top h2 {
    font-size: clamp(30px, 8vw, 42px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
  }

  .gls-home-dream-card > div {
    padding: 22px !important;
  }

  .gls-home-dream-card h3 {
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1.05 !important;
  }

  .gls-home-dream-large h3 {
    font-size: clamp(28px, 8vw, 38px) !important;
  }

  .gls-home-dream-card p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 480px) {
  .gls-home-dreams {
    padding: 54px 0 !important;
  }

  .gls-home-dreams .gls-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .gls-home-dream-card,
  .gls-home-dream-large {
    min-height: 230px !important;
    border-radius: 20px !important;
  }

  .gls-home-dream-card > div {
    padding: 18px !important;
  }

  .gls-home-dream-card span {
    margin-bottom: 10px !important;
    font-size: 11px !important;
  }

  .gls-home-dream-card p {
    font-size: 14px !important;
  }
}

@media (max-width: 768px) {
  .gls-home-final-impact {
    background-attachment: scroll;
  }
}

@media (max-width: 640px) {
  .gls-home-immersive-content h1 {
    font-size: clamp(38px, 11vw, 54px);
  }

  .gls-home-immersive-content p {
    font-size: 16.5px;
  }

  .gls-home-immersive-actions a, .gls-home-final-impact-actions a {
    width: 100%;
  }

  .gls-home-hero-destination-main, .gls-home-hero-destination-mid, .gls-home-hero-destination-small {
    height: 290px;
  }

  .gls-home-hero-stats-overlap {
    grid-template-columns: 1fr;
  }

  .gls-home-timeline-box, .gls-home-final-impact-box {
    padding: 28px 22px;
    border-radius: 26px;
  }

  .gls-home-start-card {
    min-height: auto;
  }
}

.gls-home-immersive, .gls-home-v2-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 78px 0 130px !important;
  background: radial-gradient(circle at 12% 18%, rgba(4, 118, 189, .12), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .08), transparent 30%),
    linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  overflow: visible !important;
}

.gls-home-immersive::before, .gls-home-v2-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px) !important;
  background-size: 38px 38px !important;
  opacity: .22 !important;
  pointer-events: none !important;
}

.gls-home-immersive .gls-container, .gls-home-v2-hero .gls-container {
  position: relative !important;
  z-index: 2 !important;
}

.gls-home-immersive-grid, .gls-home-v2-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(500px, 1.05fr) !important;
  gap: 56px !important;
  align-items: center !important;
}

.gls-home-glass-tag,
.gls-home-v2-tag { 
  display: inline-flex !important;
  width: fit-content !important;
  padding: 8px 15px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: rgba(var(--gls-blue-rgb), 0.10) !important;
  color: var(--blue) !important;
  border: 1px solid rgba(var(--gls-blue-rgb), 0.18) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.gls-home-immersive-content h1, .gls-home-v2-content h1 {
  max-width: 710px !important;
  margin: 0 0 24px !important;
  color: var(--white) !important;
  font-size: clamp(42px, 4.8vw, 68px) !important;
  line-height: .94 !important;
  letter-spacing: -0.065em !important;
  font-weight: 600 !important;
}

.gls-home-immersive-content h1 span, .gls-home-v2-content h1 span {
  display: block !important;
  color: var(--green) !important;
}

.gls-home-immersive-content p, .gls-home-v2-content p {
  max-width: 570px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.80) !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}

.gls-home-immersive-actions, .gls-home-v2-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 32px !important;
}

.gls-home-primary-btn, .gls-home-glass-btn, .gls-home-v2-btn-primary, .gls-home-v2-btn-glass {
  min-height: 50px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .22s ease !important;
}

.gls-home-primary-btn, .gls-home-v2-btn-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
  box-shadow: 0 14px 34px rgba(9, 176, 79, .22) !important;
}

.gls-home-glass-btn, .gls-home-v2-btn-glass {
  background: rgba(255,255,255,.08) !important;
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  backdrop-filter: blur(14px) !important;
}

.gls-home-immersive-visual, .gls-home-hero-cards, .gls-home-v2-visual {
  position: relative !important;
  min-height: 545px !important;
  width: 100% !important;
  perspective: 1200px !important;
}

.gls-home-hero-destination, .gls-home-v2-card {
  position: absolute !important;
  display: flex !important;
  align-items: flex-end !important;
  overflow: hidden !important;
  text-decoration: none !important;
  background: var(--navy) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.24) !important;
  isolation: isolate !important;
  transition: transform .36s ease,
    box-shadow .36s ease,
    filter .36s ease,
    border-color .36s ease,
    opacity .36s ease !important;
}

.gls-home-hero-destination img, .gls-home-v2-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transition: transform .58s ease, filter .58s ease !important;
}

.gls-home-hero-destination::before, .gls-home-v2-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
      180deg,
      rgba(7,21,41,.02) 0%,
      rgba(7,21,41,.28) 42%,
      rgba(7,21,41,.90) 100%
    ) !important;
}

.gls-home-hero-destination::after, .gls-home-v2-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 16px !important;
  z-index: 2 !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 22px !important;
  pointer-events: none !important;
}

.gls-home-hero-destination-content, .gls-home-v2-card-content {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  padding: 26px !important;
}

.gls-home-hero-destination-content span, .gls-home-v2-card-content span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.22) !important;
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  backdrop-filter: blur(10px) !important;
}

.gls-home-hero-destination-content h3, .gls-home-v2-card-content h3 {
  max-width: 230px !important;
  margin: 0 !important;
  color: var(--white) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: .96 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-home-hero-destination-main, .gls-home-v2-card-main {
  right: 0 !important;
  top: 8px !important;
  width: 68% !important;
  height: 392px !important;
  border-radius: 32px !important;
  transform: rotate(1deg) !important;
  z-index: 2 !important;
}

.gls-home-hero-destination-mid, .gls-home-v2-card-spain {
  left: 0 !important;
  top: 120px !important;
  width: 285px !important;
  height: 300px !important;
  border-radius: 28px !important;
  transform: rotate(-3deg) !important;
  z-index: 4 !important;
}

.gls-home-hero-destination-mid img, .gls-home-v2-card-spain img {
  object-position: center 42% !important;
}

.gls-home-hero-destination-small, .gls-home-v2-card-uk {
  left: 118px !important;
  bottom: 8px !important;
  width: 285px !important;
  height: 230px !important;
  border-radius: 28px !important;
  transform: rotate(2deg) !important;
  z-index: 5 !important;
}

.gls-home-hero-cards:hover .gls-home-hero-destination, .gls-home-v2-visual:hover .gls-home-v2-card {
  filter: saturate(.75) brightness(.78) !important;
  opacity: .82 !important;
}

.gls-home-hero-cards .gls-home-hero-destination:hover, .gls-home-v2-visual .gls-home-v2-card:hover {
  transform: translateY(-18px) scale(1.12) rotate(0deg) !important;
  filter: saturate(1.08) brightness(1.06) !important;
  opacity: 1 !important;
  border-color: rgba(255,255,255,.42) !important;
  box-shadow: 0 42px 110px rgba(0,0,0,.42) !important;
  z-index: 40 !important;
}

.gls-home-hero-destination:hover img, .gls-home-v2-card:hover img {
  transform: scale(1.08) !important;
}

.gls-home-floating-glass, .gls-home-v2-glass-card {
  position: absolute !important;
  right: 34px !important;
  bottom: 40px !important;
  z-index: 25 !important;
  width: 315px !important;
  padding: 22px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.20) !important;
  backdrop-filter: blur(18px) !important;
}

.gls-home-floating-glass span, .gls-home-v2-glass-card span {
  display: inline-flex !important;
  padding: 6px 12px !important;
  margin-bottom: 12px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-home-floating-glass strong, .gls-home-v2-glass-card strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: var(--navy) !important;
  font-size: 18px !important;
  line-height: 1.18 !important;
}

.gls-home-floating-glass p, .gls-home-v2-glass-card p {
  margin: 0 0 12px !important;
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-home-floating-glass a, .gls-home-v2-glass-card a {
  color: var(--blue) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.gls-home-hero-stats-overlap, .gls-home-v2-stats {
  position: absolute !important;
  left: 50% !important;
  bottom: -58px !important;
  z-index: 60 !important;
  transform: translateX(-50%) !important;
  width: min(1150px, calc(100% - 40px)) !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(226,232,240,.92) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, .18) !important;
  backdrop-filter: blur(18px) !important;
}

.gls-home-hero-stats-overlap div, .gls-home-v2-stats div {
  padding: 28px 22px !important;
  text-align: center !important;
  border-right: 1px solid rgba(226,232,240,.9) !important;
}

.gls-home-hero-stats-overlap div:last-child, .gls-home-v2-stats div:last-child {
  border-right: none !important;
}

.gls-home-hero-stats-overlap strong, .gls-home-v2-stats strong {
  display: block !important;
  color: var(--navy) !important;
  font-size: 38px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

.gls-home-hero-stats-overlap span, .gls-home-v2-stats span {
  display: block !important;
  color: #64748B !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-home-immersive+.gls-home-start, .gls-home-v2-hero+.gls-home-start {
  padding-top: 120px !important;
}

@media (max-width: 1100px) {
  .gls-home-immersive-grid, .gls-home-v2-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-home-immersive-visual, .gls-home-hero-cards, .gls-home-v2-visual {
    max-width: 880px !important;
    min-height: 540px !important;
  }
}

@media (max-width: 768px) {
  .gls-home-immersive, .gls-home-v2-hero {
    padding: 58px 0 118px !important;
  }

  .gls-home-immersive-visual, .gls-home-hero-cards, .gls-home-v2-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
  }

  .gls-home-hero-destination, .gls-home-v2-card, .gls-home-floating-glass, .gls-home-v2-glass-card {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    width: 100% !important;
    transform: none !important;
  }

  .gls-home-hero-destination-main, .gls-home-hero-destination-mid, .gls-home-hero-destination-small, .gls-home-v2-card-main, .gls-home-v2-card-spain, .gls-home-v2-card-uk {
    height: 320px !important;
    border-radius: 24px !important;
  }

  .gls-home-hero-stats-overlap, .gls-home-v2-stats {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    margin-top: 36px !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-home-immersive+.gls-home-start, .gls-home-v2-hero+.gls-home-start {
    padding-top: 70px !important;
  }
}

@media (max-width: 640px) {
  .gls-home-immersive-content h1, .gls-home-v2-content h1 {
    font-size: clamp(38px, 11vw, 54px) !important;
  }

  .gls-home-immersive-actions a, .gls-home-v2-actions a {
    width: 100% !important;
  }

  .gls-home-hero-stats-overlap, .gls-home-v2-stats {
    grid-template-columns: 1fr !important;
  }
}

.gls-home-v2-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 38px 38px;
  opacity: .22;
  pointer-events: none;
}

.gls-home-v2-bg {
  position: absolute !important;
  border-radius: 999px !important;
  filter: blur(28px) !important;
  pointer-events: none !important;
}

.gls-home-v2-bg-one {
  width: 320px !important;
  height: 320px !important;
  left: -130px !important;
  top: 100px !important;
  background: rgba(4, 118, 189, .30) !important;
  opacity: .34 !important;
}

.gls-home-v2-bg-two {
  width: 340px !important;
  height: 340px !important;
  right: -140px !important;
  top: 90px !important;
  background: rgba(9, 176, 79, .16) !important;
  opacity: .28 !important;
}

.gls-home-v2-hero .gls-container {
  position: relative !important;
  z-index: 2 !important;
}

.gls-home-v2-tag {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 8px 15px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  backdrop-filter: blur(14px) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
}

.gls-home-immersive-content h1,
.gls-home-v2-content h1 {
  max-width: 780px !important;
  margin: 0 0 22px !important;
  color: var(--white) !important;
  font-size: clamp(36px, 3.7vw, 54px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  font-weight: 500 !important;
}

.gls-home-immersive-content h1 span,
.gls-home-v2-content h1 span {
  display: block !important;
  margin-top: 8px !important;
  color: rgba(var(--gls-white-rgb), 0.92) !important;
  font-weight: 500 !important;
}

.gls-home-v2-content p {
  max-width: 570px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.80) !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}

.gls-home-v2-btn-primary, .gls-home-v2-btn-glass {
  min-height: 50px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .22s ease !important;
}

.gls-home-v2-btn-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
  box-shadow: 0 14px 34px rgba(9, 176, 79, .22) !important;
}

.gls-home-v2-btn-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-home-v2-btn-glass {
  background: rgba(255,255,255,.08) !important;
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  backdrop-filter: blur(14px) !important;
}

.gls-home-v2-btn-glass:hover {
  background: rgba(255,255,255,.16) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-home-v2-visual {
  position: relative !important;
  min-height: 545px !important;
  width: 100% !important;
  perspective: 1200px !important;
}

.gls-home-v2-card {
  position: absolute !important;
  display: flex !important;
  align-items: flex-end !important;
  overflow: hidden !important;
  text-decoration: none !important;
  background: var(--navy) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.24) !important;
  isolation: isolate !important;
  transition: transform .36s ease,
    box-shadow .36s ease,
    filter .36s ease,
    border-color .36s ease,
    opacity .36s ease !important;
}

.gls-home-v2-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transition: transform .58s ease, filter .58s ease !important;
}

.gls-home-v2-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
      180deg,
      rgba(7,21,41,.02) 0%,
      rgba(7,21,41,.28) 42%,
      rgba(7,21,41,.90) 100%
    ) !important;
}

.gls-home-v2-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 16px !important;
  z-index: 2 !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 22px !important;
  pointer-events: none !important;
}

.gls-home-v2-card-content {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  padding: 26px !important;
}

.gls-home-v2-card-content span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.22) !important;
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  backdrop-filter: blur(10px) !important;
}

.gls-home-v2-card-content h3 {
  max-width: 230px !important;
  margin: 0 !important;
  color: var(--white) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: .96 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-home-v2-card-main {
  right: 0 !important;
  top: 8px !important;
  width: 68% !important;
  height: 392px !important;
  border-radius: 32px !important;
  transform: rotate(1deg) !important;
  z-index: 2 !important;
}

.gls-home-v2-card-spain {
  left: 0 !important;
  top: 120px !important;
  width: 285px !important;
  height: 300px !important;
  border-radius: 28px !important;
  transform: rotate(-3deg) !important;
  z-index: 4 !important;
}

.gls-home-v2-card-spain img {
  object-position: center 42% !important;
}

.gls-home-v2-card-uk {
  left: 118px !important;
  bottom: 8px !important;
  width: 285px !important;
  height: 230px !important;
  border-radius: 28px !important;
  transform: rotate(2deg) !important;
  z-index: 5 !important;
}

.gls-home-v2-visual:hover .gls-home-v2-card {
  filter: saturate(.76) brightness(.78) !important;
  opacity: .82 !important;
}

.gls-home-v2-visual .gls-home-v2-card:hover {
  transform: translateY(-18px) scale(1.12) rotate(0deg) !important;
  filter: saturate(1.08) brightness(1.06) !important;
  opacity: 1 !important;
  border-color: rgba(255,255,255,.42) !important;
  box-shadow: 0 42px 110px rgba(0,0,0,.42) !important;
  z-index: 40 !important;
}

.gls-home-v2-card:hover img {
  transform: scale(1.08) !important;
}

.gls-home-v2-glass-card span {
  display: inline-flex !important;
  padding: 6px 12px !important;
  margin-bottom: 12px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-home-v2-glass-card strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: var(--navy) !important;
  font-size: 18px !important;
  line-height: 1.18 !important;
}

.gls-home-v2-glass-card p {
  margin: 0 0 12px !important;
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-home-v2-glass-card a {
  color: var(--blue) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.gls-home-v2-stats div {
  padding: 28px 22px !important;
  text-align: center !important;
  border-right: 1px solid rgba(226,232,240,.9) !important;
}

.gls-home-v2-stats div:last-child {
  border-right: none !important;
}

.gls-home-v2-stats strong {
  display: block !important;
  color: var(--navy) !important;
  font-size: 38px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}

.gls-home-v2-stats span {
  display: block !important;
  color: #64748B !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

@media (max-width: 1100px) {
  .gls-home-v2-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-home-v2-visual {
    max-width: 880px !important;
    min-height: 540px !important;
  }
}

@media (max-width: 768px) {
  .gls-home-v2-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
  }

  .gls-home-v2-card, .gls-home-v2-glass-card {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    width: 100% !important;
    transform: none !important;
  }

  .gls-home-v2-card-main, .gls-home-v2-card-spain, .gls-home-v2-card-uk {
    height: 320px !important;
    border-radius: 24px !important;
  }

  .gls-home-v2-visual:hover .gls-home-v2-card, .gls-home-v2-visual .gls-home-v2-card:hover {
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .gls-home-v2-glass-card {
    margin-top: -42px !important;
  }
}

@media (max-width: 640px) {
  .gls-home-v2-content h1 {
    font-size: clamp(38px, 11vw, 54px) !important;
  }

  .gls-home-v2-content p {
    font-size: 16.5px !important;
  }

  .gls-home-v2-actions a {
    width: 100% !important;
  }
}

.gls-home-v2-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 32px !important;
  position: relative !important;
  z-index: 80 !important;
}

@media (max-width: 1100px) {
  .gls-home-v2-hero {
    padding-bottom: 180px !important;
  }
}

.gls-home-v2-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 82px 0 135px !important;
  background: radial-gradient(circle at 12% 18%, rgba(4, 118, 189, .12), transparent 34%),
    radial-gradient(circle at 88% 20%, rgba(9, 176, 79, .08), transparent 30%),
    linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  overflow: visible !important;
  padding-bottom: 80px !important;
}

.gls-home-v2-stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(226,232,240,.92) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, .18) !important;
  backdrop-filter: blur(18px) !important;
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: min(1150px, 100%) !important;
  margin: 70px auto 0 !important;
  z-index: 5 !important;
}

.gls-home-v2-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(500px, 1.05fr) !important;
  gap: 56px !important;
  align-items: center !important;
  position: relative !important;
  z-index: 10 !important;
}

.gls-home-v2-glass-card {
  position: absolute !important;
  right: 34px !important;
  bottom: 40px !important;
  width: 315px !important;
  padding: 22px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.20) !important;
  backdrop-filter: blur(18px) !important;
  z-index: 30 !important;
}

.gls-home-v2-hero+.gls-home-start {
  padding-top: 90px !important;
}

@media (max-width: 1100px) {
  .gls-home-v2-stats {
    bottom: -86px !important;
    margin-top: 60px !important;
  }
}

@media (max-width: 768px) {
  .gls-home-v2-hero {
    padding: 58px 0 118px !important;
    padding-bottom: 70px !important;
  }

  .gls-home-v2-stats {
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    position: relative !important;
    bottom: auto !important;
    margin-top: 36px !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-home-v2-hero+.gls-home-start {
    padding-top: 70px !important;
  }
}

@media (max-width: 640px) {
  .gls-home-v2-stats {
    grid-template-columns: 1fr !important;
  }
}

.gls-home-final-impact .gls-container {
  max-width: 1280px !important;
  width: 100% !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

.gls-home-final-impact-box {
  max-width: 920px;
  padding: 48px;
  border-radius: 36px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 30px 90px rgba(0,0,0,.25);
  backdrop-filter: blur(18px);
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 56px 64px !important;
  border-radius: 34px !important;
}

.gls-home-final-impact-box h2 {
  color: var(--white);
  max-width: 920px !important;
  font-size: clamp(38px, 4.6vw, 68px) !important;
}

.gls-home-final-impact-box p {
  max-width: 680px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 18px;
  line-height: 1.75;
  max-width: 760px !important;
}

@media (max-width: 768px) {
  .gls-home-final-impact .gls-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .gls-home-final-impact-box {
    max-width: 100% !important;
    padding: 34px 24px !important;
    border-radius: 28px !important;
  }

  .gls-home-final-impact-box h2 {
    font-size: clamp(32px, 10vw, 46px) !important;
  }
}

.gls-accreditations-section {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 92px 0;
  background: transparent;
  overflow: hidden;
}

.gls-accreditations-header {
  max-width: 840px;
  margin: 0 auto 46px;
  text-align: center;
}

.gls-accreditations-tag {
  display: inline-flex;
  width: fit-content;
  padding: 8px 15px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .03em;
}

.gls-accreditations-header h2 {
  margin: 0 0 16px;
  color: var(--navy);
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1;
  letter-spacing: -0.055em;
  font-weight: 600;
}

.gls-accreditations-header p {
  max-width: 680px;
  margin: 0 auto;
  color: #64748B;
  font-size: 17px;
  line-height: 1.75;
}

.gls-accreditations-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 10px 0 18px;
}

.gls-accreditations-marquee::before, .gls-accreditations-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  width: 120px;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

.gls-accreditations-marquee::before {
  left: 0;
  background: linear-gradient(90deg, #F8FAFC 0%, rgba(248,250,252,0) 100%);
}

.gls-accreditations-marquee::after {
  right: 0;
  background: linear-gradient(270deg, #F8FAFC 0%, rgba(248,250,252,0) 100%);
}

.gls-accreditations-track {
  display: flex;
  align-items: center;
  gap: 24px;
  width: max-content;
  animation: glsAccreditationScroll 26s linear infinite;
}

.gls-accreditations-marquee:hover .gls-accreditations-track {
  animation-play-state: paused;
}

.gls-accreditation-card {
  width: 260px;
  height: 150px;
  flex: 0 0 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-radius: 28px;
  background: rgba(255, 255, 255, .88);
  border: 1px solid #E2E8F0;
  box-shadow: 0 18px 48px rgba(0, 51, 153, .07);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.gls-accreditation-card:hover {
  transform: translateY(-6px);
  border-color: rgba(4, 118, 189, .26);
  box-shadow: 0 28px 70px rgba(0, 51, 153, .12);
}

.gls-accreditation-card img {
  width: 100%;
  height: 100%;
  max-width: 190px;
  max-height: 92px;
  display: block;
  object-fit: cover;
  object-position: center;
}

.gls-accreditations-note {
  max-width: 980px;
  margin: 34px auto 0;
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border-radius: 26px;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  box-shadow: 0 24px 70px rgba(0, 51, 153, 0.16);
}

.gls-accreditations-note strong {
  display: block;
  margin-bottom: 6px;
  color: var(--white);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.gls-accreditations-note span {
  display: block;
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
  line-height: 1.6;
}

.gls-accreditations-note a {
  flex-shrink: 0;
  min-height: 46px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--green);
  border: 2px solid var(--green);
  color: var(--white) !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.gls-accreditations-note a:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white) !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

@keyframes glsAccreditationScroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - 12px));
  }
}

@media (max-width: 768px) {
  .gls-accreditations-section {
    padding: 72px 0;
  }

  .gls-accreditation-card {
    width: 220px;
    height: 132px;
    flex-basis: 220px;
    padding: 20px;
    border-radius: 24px;
  }

  .gls-accreditation-card img {
    max-width: 160px;
    max-height: 78px;
  }

  .gls-accreditations-note {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
  }

  .gls-accreditations-note a {
    width: 100%;
  }

  .gls-accreditations-marquee::before, .gls-accreditations-marquee::after {
    width: 60px;
  }
}

@media (max-width: 480px) {
  .gls-accreditation-card {
    width: 190px;
    height: 120px;
    flex-basis: 190px;
    gap: 18px;
    animation-duration: 20s;
  }

  .gls-accreditations-track {
    gap: 18px;
    animation-duration: 22s;
  }
}

.gls-immigration-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 88px 0 96px;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .09), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%);
  overflow: hidden;
}

.gls-immigration-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .72fr);
  gap: 54px;
  align-items: center;
}

.gls-immigration-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 8px 15px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .03em;
}

.gls-immigration-hero-content h1 {
  max-width: 850px;
  margin: 0 0 24px;
  color: var(--navy);
  font-size: clamp(44px, 5.4vw, 76px);
  line-height: .96;
  letter-spacing: -0.07em;
  font-weight: 600;
}

.gls-immigration-hero-content p {
  max-width: 680px;
  margin: 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.78;
}

.gls-immigration-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.gls-immigration-hero-card {
  padding: 34px;
  border-radius: 32px;
  background: var(--navy);
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20);
  position: relative;
  overflow: hidden;
}

.gls-immigration-hero-card::before {
  content: "";
  position: absolute;
  inset: -80px -80px auto auto;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  background: rgba(9, 176, 79, .22);
  filter: blur(8px);
}

.gls-immigration-hero-card>* {
  position: relative;
  z-index: 2;
}

.gls-immigration-hero-card>span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-immigration-hero-card h2 {
  margin: 0 0 14px;
  color: var(--white);
  font-size: 32px;
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 600;
}

.gls-immigration-hero-card p {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 15.5px;
  line-height: 1.7;
}

.gls-immigration-hero-list {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.gls-immigration-hero-list div {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.gls-immigration-hero-list strong {
  width: 42px;
  height: 42px;
  min-width: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255,255,255,.13);
  color: var(--white);
  font-size: 13px;
  font-weight: 600;
}

.gls-immigration-hero-list p {
  color: rgba(255,255,255,.84);
  font-size: 14px;
  font-weight: 600;
}

.gls-immigration-intro {
  background: var(--white);
  padding-bottom: 30px;
}

.gls-immigration-services {
  background: var(--white);
  padding-top: 30px;
}

.gls-immigration-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.gls-immigration-service-card {
  min-height: 310px;
  padding: 30px;
  border-radius: 28px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  box-shadow: 0 16px 42px rgba(0, 51, 153, .06);
  text-decoration: none !important;
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.gls-immigration-service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  opacity: 0;
  transition: opacity .25s ease;
  z-index: 0;
}

.gls-immigration-service-card>* {
  position: relative;
  z-index: 1;
}

.gls-immigration-service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(4, 118, 189, .18);
  box-shadow: 0 18px 42px rgba(0, 51, 153, .08);
}

.gls-immigration-service-card:hover::before {
  opacity: 0;
}

.gls-immigration-service-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 28px;
}

.gls-immigration-service-icon {
  width: 62px;
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 19px;
  background: var(--blue-light);
  border: 1px solid var(--gray-200);
  font-size: 30px;
  box-shadow: 0 8px 20px rgba(0, 51, 153, .05);
}

.gls-immigration-service-top span {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 11px;
  font-weight: 600;
}

.gls-immigration-service-card h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-weight: 600;
}

.gls-immigration-service-card p {
  margin: 0 0 22px;
  color: #64748B;
  font-size: 15px;
  line-height: 1.68;
}

.gls-immigration-service-card strong {
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
}

.gls-immigration-service-card:hover h3 {
  color: var(--navy);
}

.gls-immigration-service-card:hover p {
  color: #475569;
}

.gls-immigration-service-card:hover strong {
  color: var(--blue);
}

.gls-immigration-service-card:hover .gls-immigration-service-icon {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.18);
}

.gls-immigration-service-card:hover .gls-immigration-service-top span {
  background: var(--blue-light);
  border-color: var(--gray-200);
  color: var(--blue);
}

.gls-immigration-process {
  background: #F8FAFC;
}

.gls-immigration-process-box {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(420px, 1fr);
  gap: 42px;
  align-items: center;
  padding: 46px;
  border-radius: 34px;
  background: var(--navy);
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20);
}

.gls-immigration-process-content h2 {
  margin: 16px 0;
  color: var(--white);
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1.05;
  letter-spacing: -0.055em;
  font-weight: 600;
}

.gls-immigration-process-content p {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 17px;
  line-height: 1.75;
}

.gls-immigration-process-list {
  display: grid;
  gap: 12px;
}

.gls-immigration-process-list div {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}

.gls-immigration-process-list strong {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255,255,255,.13);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
}

.gls-immigration-process-list span {
  color: rgba(255,255,255,.84);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.gls-immigration-warning {
  background: var(--white);
}

.gls-immigration-warning-box {
  display: grid;
  grid-template-columns: minmax(280px, .55fr) 1fr;
  gap: 32px;
  align-items: center;
  padding: 36px;
  border-radius: 30px;
  background: #FFF7ED;
  border: 1px solid #FED7AA;
}

.gls-immigration-warning-box span {
  display: inline-flex;
  padding: 7px 13px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #FFEDD5;
  color: #C2410C;
  font-size: 12px;
  font-weight: 600;
}

.gls-immigration-warning-box h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.05;
  letter-spacing: -0.045em;
  font-weight: 600;
}

.gls-immigration-warning-box p {
  margin: 0;
  color: #7C2D12;
  font-size: 16px;
  line-height: 1.75;
}

.gls-immigration-final-cta {
  background: var(--white);
  padding: 70px 0;
}

.gls-immigration-final-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 38px;
  border-radius: 30px;
  background: var(--navy);
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20);
}

.gls-immigration-final-box span {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-immigration-final-box h3 {
  max-width: 680px;
  color: var(--white);
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.gls-immigration-final-box p {
  max-width: 720px;
  color: rgba(255,255,255,.78);
  margin: 0;
  font-size: 17px;
  line-height: 1.65;
}

.gls-immigration-final-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.gls-immigration-cta-primary, .gls-immigration-cta-secondary {
  min-height: 48px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .2s ease;
}

.gls-immigration-cta-primary {
  background: var(--green);
  color: var(--white) !important;
  border: 2px solid var(--green);
}

.gls-immigration-cta-primary:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white) !important;
  transform: translateY(-2px);
}

.gls-immigration-cta-secondary {
  background: transparent;
  color: var(--white) !important;
  border: 2px solid rgba(255,255,255,.35);
}

.gls-immigration-cta-secondary:hover {
  background: var(--white);
  color: var(--navy) !important;
  border-color: var(--white);
  transform: translateY(-2px);
}

@media (max-width: 1100px) {
  .gls-immigration-hero-grid, .gls-immigration-process-box, .gls-immigration-warning-box {
    grid-template-columns: 1fr;
  }

  .gls-immigration-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-immigration-final-box {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .gls-immigration-hero {
    padding: 58px 0 72px;
  }

  .gls-immigration-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px);
  }

  .gls-immigration-services-grid {
    grid-template-columns: 1fr;
  }

  .gls-immigration-process-box, .gls-immigration-warning-box, .gls-immigration-final-box {
    padding: 26px 22px;
    border-radius: 24px;
  }

  .gls-immigration-final-actions, .gls-immigration-final-actions a, .gls-immigration-hero-actions a {
    width: 100%;
  }
}

.gls-canada-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 86px 0 96px !important;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%) !important;
  overflow: hidden !important;
}

.gls-canada-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-canada-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 14px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-canada-hero-content h1 {
  max-width: 820px !important;
  margin: 0 0 24px !important;
  color: var(--navy) !important;
  font-size: clamp(46px, 5.7vw, 78px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 600 !important;
}

.gls-canada-hero-content p {
  max-width: 660px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}

.gls-canada-hero-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}

.gls-canada-hero-points {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 34px !important;
  max-width: 620px !important;
}

.gls-canada-hero-points div {
  padding: 18px 16px !important;
  border-radius: 18px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045) !important;
}

.gls-canada-hero-points strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.gls-canada-hero-points span {
  display: block !important;
  color: #64748B !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.gls-canada-hero-visual {
  position: relative !important;
  min-height: 620px !important;
  width: 100% !important;
}

.gls-canada-hero-main-img {
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
}

.gls-canada-hero-main-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-canada-hero-main-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(7, 21, 41, .02) 0%,
    rgba(7, 21, 41, .24) 55%,
    rgba(7, 21, 41, .68) 100%
  ) !important;
}

.gls-canada-hero-small-img {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 260px !important;
  height: 330px !important;
  min-height: 330px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
  z-index: 3 !important;
}

.gls-canada-hero-small-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-canada-hero-floating {
  position: absolute !important;
  right: 34px !important;
  bottom: 34px !important;
  z-index: 4 !important;
  width: min(360px, 78%) !important;
  padding: 26px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.gls-canada-hero-floating span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-canada-hero-floating h2 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
}

.gls-canada-hero-floating p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-canada-hero-main-img img[src*="canada-01"] {
  object-position: center center !important;
}

.gls-canada-hero-small-img img[src*="canda-02"], .gls-canada-experience-image img[src*="canda-02"] {
  object-position: center center !important;
}

.gls-canada-intro {
  background: var(--white) !important;
}

.gls-canada-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-canada-intro-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-canada-intro-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-canada-intro-card {
  padding: 32px !important;
  border-radius: 30px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07) !important;
}

.gls-canada-intro-card span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-canada-intro-card h3 {
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-size: 27px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-canada-intro-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.gls-canada-opportunities {
  background: #F8FAFC !important;
}

.gls-canada-opportunities-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-canada-opportunity-card {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-canada-opportunity-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(4, 118, 189, .28) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .12) !important;
}

.gls-canada-opportunity-icon {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  background: var(--blue-light) !important;
  font-size: 28px !important;
}

.gls-canada-opportunity-card h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-canada-opportunity-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-canada-routes {
  background: var(--white) !important;
}

.gls-canada-routes-box {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 46px !important;
  border-radius: 34px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-canada-routes-content h2 {
  margin: 16px 0 !important;
  color: var(--white) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-canada-routes-content p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-canada-routes-list {
  display: grid !important;
  gap: 12px !important;
}

.gls-canada-routes-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

.gls-canada-routes-list strong {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-canada-routes-list span {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.gls-canada-visa {
  background: var(--white) !important;
}

.gls-canada-visa-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-canada-visa-card {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-canada-visa-card span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-canada-visa-card h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-canada-visa-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-canada-experience {
  background: var(--white) !important;
}

.gls-canada-experience-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-canada-experience-image {
  position: relative !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-canada-experience-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-canada-experience-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-canada-experience-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-canada-experience-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.gls-canada-experience-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}

.gls-canada-experience-list strong {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-canada-experience-list span {
  color: var(--navy) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.gls-canada-programs {
  background: #F8FAFC !important;
}

.gls-canada-programs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-canada-program-card {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-canada-program-card span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-canada-program-card h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-canada-program-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-canada-program-card a {
  display: inline-flex !important;
  margin-top: 18px !important;
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.gls-canada-process {
  background: #F8FAFC !important;
}

.gls-canada-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-canada-process-step {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-canada-process-step strong {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-canada-process-step h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-canada-process-step p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-canada-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

.gls-canada-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 38px !important;
  border-radius: 30px !important;
  background: var(--navy) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20) !important;
}

.gls-canada-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-canada-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-canada-final-box p {
  color: rgba(255, 255, 255, .78) !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.gls-canada-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.gls-canada-cta-primary, .gls-canada-cta-secondary {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

.gls-canada-cta-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
}

.gls-canada-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, .35) !important;
}

.gls-canada-cta-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-canada-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1100px) {
  .gls-canada-hero-grid, .gls-canada-intro-grid, .gls-canada-routes-box, .gls-canada-experience-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-canada-hero-visual {
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-canada-opportunities-grid, .gls-canada-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-canada-visa-grid, .gls-canada-programs-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-canada-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 768px) {
  .gls-canada-hero {
    padding: 58px 0 72px !important;
  }

  .gls-canada-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px) !important;
  }

  .gls-canada-hero-content p {
    font-size: 17px !important;
  }

  .gls-canada-hero-points, .gls-canada-opportunities-grid, .gls-canada-process-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-canada-hero-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
    max-width: none !important;
  }

  .gls-canada-hero-main-img, .gls-canada-hero-small-img, .gls-canada-hero-floating {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-canada-hero-main-img {
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-canada-hero-small-img {
    height: 320px !important;
    min-height: 320px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-canada-hero-floating {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .gls-canada-routes-box, .gls-canada-final-box {
    padding: 26px 22px !important;
    border-radius: 24px !important;
  }

  .gls-canada-experience-image {
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-canada-final-actions, .gls-canada-final-actions a, .gls-canada-hero-actions a {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .gls-canada-hero-main-img, .gls-canada-hero-small-img {
    height: 300px !important;
    min-height: 300px !important;
  }

  .gls-canada-experience-image {
    height: 330px !important;
    min-height: 330px !important;
  }
}

.gls-uk-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 86px 0 96px !important;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%) !important;
  overflow: hidden !important;
}

.gls-uk-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-uk-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 14px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-uk-hero-content h1 {
  max-width: 820px !important;
  margin: 0 0 24px !important;
  color: var(--navy) !important;
  font-size: clamp(46px, 5.7vw, 78px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 600 !important;
}

.gls-uk-hero-content p {
  max-width: 660px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}

.gls-uk-hero-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}

.gls-uk-hero-points {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 34px !important;
  max-width: 620px !important;
}

.gls-uk-hero-points div {
  padding: 18px 16px !important;
  border-radius: 18px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045) !important;
}

.gls-uk-hero-points strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.gls-uk-hero-points span {
  display: block !important;
  color: #64748B !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.gls-uk-hero-visual {
  position: relative !important;
  min-height: 620px !important;
  width: 100% !important;
}

.gls-uk-hero-main-img {
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
}

.gls-uk-hero-main-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-uk-hero-main-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(7, 21, 41, .02) 0%,
    rgba(7, 21, 41, .24) 55%,
    rgba(7, 21, 41, .68) 100%
  ) !important;
}

.gls-uk-hero-small-img {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 260px !important;
  height: 330px !important;
  min-height: 330px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
  z-index: 3 !important;
}

.gls-uk-hero-small-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-uk-hero-floating {
  position: absolute !important;
  right: 34px !important;
  bottom: 34px !important;
  z-index: 4 !important;
  width: min(360px, 78%) !important;
  padding: 26px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.gls-uk-hero-floating span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-uk-hero-floating h2 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
}

.gls-uk-hero-floating p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-uk-hero-main-img img[src*="reino-unido-01"] {
  object-position: center center !important;
}

.gls-uk-hero-small-img img[src*="reino-unido-02"], .gls-uk-experience-image img[src*="reino-unido-02"] {
  object-position: center center !important;
}

.gls-uk-intro {
  background: var(--white) !important;
}

.gls-uk-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-uk-intro-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-uk-intro-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-uk-intro-card {
  padding: 32px !important;
  border-radius: 30px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07) !important;
}

.gls-uk-intro-card span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-uk-intro-card h3 {
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-size: 27px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-uk-intro-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.gls-uk-opportunities {
  background: #F8FAFC !important;
}

.gls-uk-opportunities-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-uk-opportunity-card {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-uk-opportunity-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(4, 118, 189, .28) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .12) !important;
}

.gls-uk-opportunity-icon {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  background: var(--blue-light) !important;
  font-size: 28px !important;
}

.gls-uk-opportunity-card h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-uk-opportunity-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-uk-routes {
  background: var(--white) !important;
}

.gls-uk-routes-box {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 46px !important;
  border-radius: 34px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-uk-routes-content h2 {
  margin: 16px 0 !important;
  color: var(--white) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-uk-routes-content p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-uk-routes-list {
  display: grid !important;
  gap: 12px !important;
}

.gls-uk-routes-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

.gls-uk-routes-list strong {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-uk-routes-list span {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.gls-uk-visa {
  background: var(--white) !important;
}

.gls-uk-visa-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-uk-visa-card {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-uk-visa-card span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-uk-visa-card h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-uk-visa-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-uk-experience {
  background: var(--white) !important;
}

.gls-uk-experience-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-uk-experience-image {
  position: relative !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-uk-experience-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-uk-experience-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-uk-experience-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-uk-experience-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.gls-uk-experience-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}

.gls-uk-experience-list strong {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-uk-experience-list span {
  color: var(--navy) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.gls-uk-programs {
  background: #F8FAFC !important;
}

.gls-uk-programs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-uk-program-card {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-uk-program-card span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-uk-program-card h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-uk-program-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-uk-program-card a {
  display: inline-flex !important;
  margin-top: 18px !important;
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.gls-uk-process {
  background: #F8FAFC !important;
}

.gls-uk-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-uk-process-step {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-uk-process-step strong {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-uk-process-step h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-uk-process-step p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-uk-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

.gls-uk-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 38px !important;
  border-radius: 30px !important;
  background: var(--navy) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20) !important;
}

.gls-uk-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-uk-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-uk-final-box p {
  color: rgba(255, 255, 255, .78) !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.gls-uk-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.gls-uk-cta-primary, .gls-uk-cta-secondary {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

.gls-uk-cta-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
}

.gls-uk-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, .35) !important;
}

.gls-uk-cta-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-uk-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1100px) {
  .gls-uk-hero-grid, .gls-uk-intro-grid, .gls-uk-routes-box, .gls-uk-experience-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-uk-hero-visual {
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-uk-opportunities-grid, .gls-uk-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-uk-visa-grid, .gls-uk-programs-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-uk-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 768px) {
  .gls-uk-hero {
    padding: 58px 0 72px !important;
  }

  .gls-uk-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px) !important;
  }

  .gls-uk-hero-content p {
    font-size: 17px !important;
  }

  .gls-uk-hero-points, .gls-uk-opportunities-grid, .gls-uk-process-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-uk-hero-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
    max-width: none !important;
  }

  .gls-uk-hero-main-img, .gls-uk-hero-small-img, .gls-uk-hero-floating {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-uk-hero-main-img {
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-uk-hero-small-img {
    height: 320px !important;
    min-height: 320px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-uk-hero-floating {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .gls-uk-routes-box, .gls-uk-final-box {
    padding: 26px 22px !important;
    border-radius: 24px !important;
  }

  .gls-uk-experience-image {
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-uk-final-actions, .gls-uk-final-actions a, .gls-uk-hero-actions a {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .gls-uk-hero-main-img, .gls-uk-hero-small-img {
    height: 300px !important;
    min-height: 300px !important;
  }

  .gls-uk-experience-image {
    height: 330px !important;
    min-height: 330px !important;
  }
}

.gls-france-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 86px 0 96px !important;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%) !important;
  overflow: hidden !important;
}

.gls-france-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-france-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 14px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-france-hero-content h1 {
  max-width: 820px !important;
  margin: 0 0 24px !important;
  color: var(--navy) !important;
  font-size: clamp(46px, 5.7vw, 78px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 600 !important;
}

.gls-france-hero-content p {
  max-width: 660px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}

.gls-france-hero-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}

.gls-france-hero-points {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 34px !important;
  max-width: 620px !important;
}

.gls-france-hero-points div {
  padding: 18px 16px !important;
  border-radius: 18px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045) !important;
}

.gls-france-hero-points strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.gls-france-hero-points span {
  display: block !important;
  color: #64748B !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.gls-france-hero-visual {
  position: relative !important;
  min-height: 620px !important;
  width: 100% !important;
}

.gls-france-hero-main-img {
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
}

.gls-france-hero-main-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-france-hero-main-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(7, 21, 41, .02) 0%,
    rgba(7, 21, 41, .24) 55%,
    rgba(7, 21, 41, .68) 100%
  ) !important;
}

.gls-france-hero-small-img {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 260px !important;
  height: 330px !important;
  min-height: 330px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
  z-index: 3 !important;
}

.gls-france-hero-small-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-france-hero-floating {
  position: absolute !important;
  right: 34px !important;
  bottom: 34px !important;
  z-index: 4 !important;
  width: min(360px, 78%) !important;
  padding: 26px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.gls-france-hero-floating span, .gls-france-intro-card span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-france-hero-floating h2 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
}

.gls-france-hero-floating p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-france-hero-main-img img[src*="francia-01"] {
  object-position: center center !important;
}

.gls-france-hero-small-img img[src*="francia-02"], .gls-france-experience-image img[src*="francia-02"] {
  object-position: center center !important;
}

.gls-france-intro {
  background: var(--white) !important;
}

.gls-france-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-france-intro-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-france-intro-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-france-intro-card {
  padding: 32px !important;
  border-radius: 30px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07) !important;
}

.gls-france-intro-card h3 {
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-size: 27px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-france-intro-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.gls-france-opportunities, .gls-france-programs, .gls-france-process {
  background: #F8FAFC !important;
}

.gls-france-routes, .gls-france-visa, .gls-france-experience {
  background: var(--white) !important;
}

.gls-france-opportunities-grid, .gls-france-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-france-visa-grid, .gls-france-programs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-france-opportunity-card, .gls-france-visa-card, .gls-france-program-card, .gls-france-process-step {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-france-opportunity-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-france-opportunity-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(4, 118, 189, .28) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .12) !important;
}

.gls-france-opportunity-icon {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  background: var(--blue-light) !important;
  font-size: 28px !important;
}

.gls-france-opportunity-card h3, .gls-france-visa-card h3, .gls-france-program-card h3, .gls-france-process-step h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-france-opportunity-card p, .gls-france-visa-card p, .gls-france-program-card p, .gls-france-process-step p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-france-visa-card span, .gls-france-program-card span, .gls-france-process-step strong {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-france-routes-box {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 46px !important;
  border-radius: 34px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-france-routes-content h2 {
  margin: 16px 0 !important;
  color: var(--white) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-france-routes-content p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-france-routes-list {
  display: grid !important;
  gap: 12px !important;
}

.gls-france-routes-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

.gls-france-routes-list strong {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-france-routes-list span {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.gls-france-experience-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-france-experience-image {
  position: relative !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-france-experience-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-france-experience-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-france-experience-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-france-experience-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.gls-france-experience-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}

.gls-france-experience-list strong {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-france-experience-list span {
  color: var(--navy) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.gls-france-program-card a {
  display: inline-flex !important;
  margin-top: 18px !important;
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.gls-france-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

.gls-france-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 38px !important;
  border-radius: 30px !important;
  background: var(--navy) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20) !important;
}

.gls-france-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-france-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-france-final-box p {
  color: rgba(255, 255, 255, .78) !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.gls-france-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.gls-france-cta-primary, .gls-france-cta-secondary {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

.gls-france-cta-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
}

.gls-france-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, .35) !important;
}

.gls-france-cta-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-france-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1100px) {
  .gls-france-hero-grid, .gls-france-intro-grid, .gls-france-routes-box, .gls-france-experience-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-france-hero-visual {
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-france-opportunities-grid, .gls-france-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-france-visa-grid, .gls-france-programs-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-france-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 768px) {
  .gls-france-hero {
    padding: 58px 0 72px !important;
  }

  .gls-france-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px) !important;
  }

  .gls-france-hero-content p {
    font-size: 17px !important;
  }

  .gls-france-hero-points, .gls-france-opportunities-grid, .gls-france-process-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-france-hero-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
    max-width: none !important;
  }

  .gls-france-hero-main-img, .gls-france-hero-small-img, .gls-france-hero-floating {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-france-hero-main-img {
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-france-hero-small-img {
    height: 320px !important;
    min-height: 320px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-france-hero-floating {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .gls-france-routes-box, .gls-france-final-box {
    padding: 26px 22px !important;
    border-radius: 24px !important;
  }

  .gls-france-experience-image {
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-france-final-actions, .gls-france-final-actions a, .gls-france-hero-actions a {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .gls-france-hero-main-img, .gls-france-hero-small-img {
    height: 300px !important;
    min-height: 300px !important;
  }

  .gls-france-experience-image {
    height: 330px !important;
    min-height: 330px !important;
  }
}

.gls-ireland-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 86px 0 96px !important;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%) !important;
  overflow: hidden !important;
}

.gls-ireland-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-ireland-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 14px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-ireland-hero-content h1 {
  max-width: 820px !important;
  margin: 0 0 24px !important;
  color: var(--navy) !important;
  font-size: clamp(46px, 5.7vw, 78px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 600 !important;
}

.gls-ireland-hero-content p {
  max-width: 660px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}

.gls-ireland-hero-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}

.gls-ireland-hero-points {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 34px !important;
  max-width: 620px !important;
}

.gls-ireland-hero-points div {
  padding: 18px 16px !important;
  border-radius: 18px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045) !important;
}

.gls-ireland-hero-points strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.gls-ireland-hero-points span {
  display: block !important;
  color: #64748B !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.gls-ireland-hero-visual {
  position: relative !important;
  min-height: 620px !important;
  width: 100% !important;
}

.gls-ireland-hero-main-img {
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
}

.gls-ireland-hero-main-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-ireland-hero-main-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(7, 21, 41, .02) 0%,
    rgba(7, 21, 41, .24) 55%,
    rgba(7, 21, 41, .68) 100%
  ) !important;
}

.gls-ireland-hero-small-img {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 260px !important;
  height: 330px !important;
  min-height: 330px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
  z-index: 3 !important;
}

.gls-ireland-hero-small-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-ireland-hero-floating {
  position: absolute !important;
  right: 34px !important;
  bottom: 34px !important;
  z-index: 4 !important;
  width: min(360px, 78%) !important;
  padding: 26px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.gls-ireland-hero-floating span, .gls-ireland-intro-card span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-ireland-hero-floating h2 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
}

.gls-ireland-hero-floating p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-ireland-hero-main-img img[src*="irlanda-01"] {
  object-position: center center !important;
}

.gls-ireland-hero-small-img img[src*="irlanda-02"], .gls-ireland-experience-image img[src*="irlanda-02"] {
  object-position: center center !important;
}

.gls-ireland-intro {
  background: var(--white) !important;
}

.gls-ireland-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-ireland-intro-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-ireland-intro-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-ireland-intro-card {
  padding: 32px !important;
  border-radius: 30px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07) !important;
}

.gls-ireland-intro-card h3 {
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-size: 27px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-ireland-intro-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.gls-ireland-opportunities, .gls-ireland-programs, .gls-ireland-process {
  background: #F8FAFC !important;
}

.gls-ireland-routes, .gls-ireland-visa, .gls-ireland-experience {
  background: var(--white) !important;
}

.gls-ireland-opportunities-grid, .gls-ireland-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-ireland-visa-grid, .gls-ireland-programs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-ireland-opportunity-card, .gls-ireland-visa-card, .gls-ireland-program-card, .gls-ireland-process-step {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-ireland-opportunity-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-ireland-opportunity-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(4, 118, 189, .28) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .12) !important;
}

.gls-ireland-opportunity-icon {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  background: var(--blue-light) !important;
  font-size: 28px !important;
}

.gls-ireland-opportunity-card h3, .gls-ireland-visa-card h3, .gls-ireland-program-card h3, .gls-ireland-process-step h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-ireland-opportunity-card p, .gls-ireland-visa-card p, .gls-ireland-program-card p, .gls-ireland-process-step p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-ireland-visa-card span, .gls-ireland-program-card span, .gls-ireland-process-step strong {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-ireland-routes-box {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 46px !important;
  border-radius: 34px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-ireland-routes-content h2 {
  margin: 16px 0 !important;
  color: var(--white) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-ireland-routes-content p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-ireland-routes-list {
  display: grid !important;
  gap: 12px !important;
}

.gls-ireland-routes-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

.gls-ireland-routes-list strong {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-ireland-routes-list span {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.gls-ireland-experience-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-ireland-experience-image {
  position: relative !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-ireland-experience-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-ireland-experience-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-ireland-experience-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-ireland-experience-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.gls-ireland-experience-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}

.gls-ireland-experience-list strong {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-ireland-experience-list span {
  color: var(--navy) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.gls-ireland-program-card a {
  display: inline-flex !important;
  margin-top: 18px !important;
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.gls-ireland-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

.gls-ireland-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 38px !important;
  border-radius: 30px !important;
  background: var(--navy) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20) !important;
}

.gls-ireland-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-ireland-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-ireland-final-box p {
  color: rgba(255, 255, 255, .78) !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.gls-ireland-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.gls-ireland-cta-primary, .gls-ireland-cta-secondary {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

.gls-ireland-cta-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
}

.gls-ireland-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, .35) !important;
}

.gls-ireland-cta-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-ireland-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1100px) {
  .gls-ireland-hero-grid, .gls-ireland-intro-grid, .gls-ireland-routes-box, .gls-ireland-experience-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-ireland-hero-visual {
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-ireland-opportunities-grid, .gls-ireland-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-ireland-visa-grid, .gls-ireland-programs-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-ireland-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 768px) {
  .gls-ireland-hero {
    padding: 58px 0 72px !important;
  }

  .gls-ireland-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px) !important;
  }

  .gls-ireland-hero-content p {
    font-size: 17px !important;
  }

  .gls-ireland-hero-points, .gls-ireland-opportunities-grid, .gls-ireland-process-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-ireland-hero-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
    max-width: none !important;
  }

  .gls-ireland-hero-main-img, .gls-ireland-hero-small-img, .gls-ireland-hero-floating {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-ireland-hero-main-img {
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-ireland-hero-small-img {
    height: 320px !important;
    min-height: 320px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-ireland-hero-floating {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .gls-ireland-routes-box, .gls-ireland-final-box {
    padding: 26px 22px !important;
    border-radius: 24px !important;
  }

  .gls-ireland-experience-image {
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-ireland-final-actions, .gls-ireland-final-actions a, .gls-ireland-hero-actions a {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .gls-ireland-hero-main-img, .gls-ireland-hero-small-img {
    height: 300px !important;
    min-height: 300px !important;
  }

  .gls-ireland-experience-image {
    height: 330px !important;
    min-height: 330px !important;
  }
}

.gls-nz-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 86px 0 96px !important;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%) !important;
  overflow: hidden !important;
}

.gls-nz-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-nz-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 14px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-nz-hero-content h1 {
  max-width: 820px !important;
  margin: 0 0 24px !important;
  color: var(--navy) !important;
  font-size: clamp(46px, 5.7vw, 78px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 600 !important;
}

.gls-nz-hero-content p {
  max-width: 660px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}

.gls-nz-hero-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}

.gls-nz-hero-points {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 34px !important;
  max-width: 620px !important;
}

.gls-nz-hero-points div {
  padding: 18px 16px !important;
  border-radius: 18px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045) !important;
}

.gls-nz-hero-points strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.gls-nz-hero-points span {
  display: block !important;
  color: #64748B !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.gls-nz-hero-visual {
  position: relative !important;
  min-height: 620px !important;
  width: 100% !important;
}

.gls-nz-hero-main-img {
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
}

.gls-nz-hero-main-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-nz-hero-main-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(7, 21, 41, .02) 0%,
    rgba(7, 21, 41, .24) 55%,
    rgba(7, 21, 41, .68) 100%
  ) !important;
}

.gls-nz-hero-small-img {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 260px !important;
  height: 330px !important;
  min-height: 330px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
  z-index: 3 !important;
}

.gls-nz-hero-small-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-nz-hero-floating {
  position: absolute !important;
  right: 34px !important;
  bottom: 34px !important;
  z-index: 4 !important;
  width: min(360px, 78%) !important;
  padding: 26px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.gls-nz-hero-floating span, .gls-nz-intro-card span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-nz-hero-floating h2 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
}

.gls-nz-hero-floating p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-nz-hero-main-img img[src*="nueva-zelanda-01"] {
  object-position: center center !important;
}

.gls-nz-hero-small-img img[src*="nueva-zelanda-02"], .gls-nz-experience-image img[src*="nueva-zelanda-02"] {
  object-position: center center !important;
}

.gls-nz-intro {
  background: var(--white) !important;
}

.gls-nz-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-nz-intro-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-nz-intro-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-nz-intro-card {
  padding: 32px !important;
  border-radius: 30px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07) !important;
}

.gls-nz-intro-card h3 {
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-size: 27px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-nz-intro-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.gls-nz-opportunities, .gls-nz-programs, .gls-nz-process {
  background: #F8FAFC !important;
}

.gls-nz-routes, .gls-nz-visa, .gls-nz-experience {
  background: var(--white) !important;
}

.gls-nz-opportunities-grid, .gls-nz-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-nz-visa-grid, .gls-nz-programs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-nz-opportunity-card, .gls-nz-visa-card, .gls-nz-program-card, .gls-nz-process-step {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-nz-opportunity-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-nz-opportunity-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(4, 118, 189, .28) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .12) !important;
}

.gls-nz-opportunity-icon {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  background: var(--blue-light) !important;
  font-size: 28px !important;
}

.gls-nz-opportunity-card h3, .gls-nz-visa-card h3, .gls-nz-program-card h3, .gls-nz-process-step h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-nz-opportunity-card p, .gls-nz-visa-card p, .gls-nz-program-card p, .gls-nz-process-step p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-nz-visa-card span, .gls-nz-program-card span, .gls-nz-process-step strong {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-nz-routes-box {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 46px !important;
  border-radius: 34px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-nz-routes-content h2 {
  margin: 16px 0 !important;
  color: var(--white) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-nz-routes-content p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-nz-routes-list {
  display: grid !important;
  gap: 12px !important;
}

.gls-nz-routes-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

.gls-nz-routes-list strong {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-nz-routes-list span {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.gls-nz-experience-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-nz-experience-image {
  position: relative !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-nz-experience-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-nz-experience-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-nz-experience-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-nz-experience-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.gls-nz-experience-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}

.gls-nz-experience-list strong {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-nz-experience-list span {
  color: var(--navy) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.gls-nz-program-card a {
  display: inline-flex !important;
  margin-top: 18px !important;
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.gls-nz-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

.gls-nz-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 38px !important;
  border-radius: 30px !important;
  background: var(--navy) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20) !important;
}

.gls-nz-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-nz-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-nz-final-box p {
  color: rgba(255, 255, 255, .78) !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.gls-nz-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.gls-nz-cta-primary, .gls-nz-cta-secondary {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

.gls-nz-cta-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
}

.gls-nz-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, .35) !important;
}

.gls-nz-cta-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-nz-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1100px) {
  .gls-nz-hero-grid, .gls-nz-intro-grid, .gls-nz-routes-box, .gls-nz-experience-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-nz-hero-visual {
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-nz-opportunities-grid, .gls-nz-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-nz-visa-grid, .gls-nz-programs-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-nz-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 768px) {
  .gls-nz-hero {
    padding: 58px 0 72px !important;
  }

  .gls-nz-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px) !important;
  }

  .gls-nz-hero-content p {
    font-size: 17px !important;
  }

  .gls-nz-hero-points, .gls-nz-opportunities-grid, .gls-nz-process-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-nz-hero-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
    max-width: none !important;
  }

  .gls-nz-hero-main-img, .gls-nz-hero-small-img, .gls-nz-hero-floating {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-nz-hero-main-img {
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-nz-hero-small-img {
    height: 320px !important;
    min-height: 320px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-nz-hero-floating {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .gls-nz-routes-box, .gls-nz-final-box {
    padding: 26px 22px !important;
    border-radius: 24px !important;
  }

  .gls-nz-experience-image {
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-nz-final-actions, .gls-nz-final-actions a, .gls-nz-hero-actions a {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .gls-nz-hero-main-img, .gls-nz-hero-small-img {
    height: 300px !important;
    min-height: 300px !important;
  }

  .gls-nz-experience-image {
    height: 330px !important;
    min-height: 330px !important;
  }
}

.gls-australia-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 86px 0 96px !important;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%) !important;
  overflow: hidden !important;
}

.gls-australia-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-australia-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 14px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-australia-hero-content h1 {
  max-width: 820px !important;
  margin: 0 0 24px !important;
  color: var(--navy) !important;
  font-size: clamp(46px, 5.7vw, 78px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 600 !important;
}

.gls-australia-hero-content p {
  max-width: 660px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}

.gls-australia-hero-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}

.gls-australia-hero-points {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 34px !important;
  max-width: 620px !important;
}

.gls-australia-hero-points div {
  padding: 18px 16px !important;
  border-radius: 18px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045) !important;
}

.gls-australia-hero-points strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.gls-australia-hero-points span {
  display: block !important;
  color: #64748B !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.gls-australia-hero-visual {
  position: relative !important;
  min-height: 620px !important;
  width: 100% !important;
}

.gls-australia-hero-main-img {
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
}

.gls-australia-hero-main-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-australia-hero-main-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(7, 21, 41, .02) 0%,
    rgba(7, 21, 41, .24) 55%,
    rgba(7, 21, 41, .68) 100%
  ) !important;
}

.gls-australia-hero-small-img {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 260px !important;
  height: 330px !important;
  min-height: 330px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
  z-index: 3 !important;
}

.gls-australia-hero-small-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-australia-hero-floating {
  position: absolute !important;
  right: 34px !important;
  bottom: 34px !important;
  z-index: 4 !important;
  width: min(360px, 78%) !important;
  padding: 26px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.gls-australia-hero-floating span, .gls-australia-intro-card span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-australia-hero-floating h2 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
}

.gls-australia-hero-floating p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-australia-hero-main-img img[src*="australia-002"] {
  object-position: center center !important;
}

.gls-australia-hero-small-img img[src*="australia-01"], .gls-australia-experience-image img[src*="australia-01"] {
  object-position: center center !important;
}

.gls-australia-intro {
  background: var(--white) !important;
}

.gls-australia-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-australia-intro-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-australia-intro-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-australia-intro-card {
  padding: 32px !important;
  border-radius: 30px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07) !important;
}

.gls-australia-intro-card h3 {
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-size: 27px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-australia-intro-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.gls-australia-opportunities, .gls-australia-programs, .gls-australia-process {
  background: #F8FAFC !important;
}

.gls-australia-routes, .gls-australia-visa, .gls-australia-experience {
  background: var(--white) !important;
}

.gls-australia-opportunities-grid, .gls-australia-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-australia-visa-grid, .gls-australia-programs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-australia-opportunity-card, .gls-australia-visa-card, .gls-australia-program-card, .gls-australia-process-step {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-australia-opportunity-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-australia-opportunity-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(4, 118, 189, .28) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .12) !important;
}

.gls-australia-opportunity-icon {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  background: var(--blue-light) !important;
  font-size: 28px !important;
}

.gls-australia-opportunity-card h3, .gls-australia-visa-card h3, .gls-australia-program-card h3, .gls-australia-process-step h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-australia-opportunity-card p, .gls-australia-visa-card p, .gls-australia-program-card p, .gls-australia-process-step p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-australia-visa-card span, .gls-australia-program-card span, .gls-australia-process-step strong {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-australia-routes-box {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 46px !important;
  border-radius: 34px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-australia-routes-content h2 {
  margin: 16px 0 !important;
  color: var(--white) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-australia-routes-content p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-australia-routes-list {
  display: grid !important;
  gap: 12px !important;
}

.gls-australia-routes-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

.gls-australia-routes-list strong {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-australia-routes-list span {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.gls-australia-experience-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-australia-experience-image {
  position: relative !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-australia-experience-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-australia-experience-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-australia-experience-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-australia-experience-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.gls-australia-experience-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}

.gls-australia-experience-list strong {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-australia-experience-list span {
  color: var(--navy) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.gls-australia-program-card a {
  display: inline-flex !important;
  margin-top: 18px !important;
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.gls-australia-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

.gls-australia-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 38px !important;
  border-radius: 30px !important;
  background: var(--navy) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20) !important;
}

.gls-australia-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-australia-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-australia-final-box p {
  color: rgba(255, 255, 255, .78) !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.gls-australia-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.gls-australia-cta-primary, .gls-australia-cta-secondary {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

.gls-australia-cta-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
}

.gls-australia-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, .35) !important;
}

.gls-australia-cta-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-australia-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1100px) {
  .gls-australia-hero-grid, .gls-australia-intro-grid, .gls-australia-routes-box, .gls-australia-experience-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-australia-hero-visual {
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-australia-opportunities-grid, .gls-australia-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-australia-visa-grid, .gls-australia-programs-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-australia-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 768px) {
  .gls-australia-hero {
    padding: 58px 0 72px !important;
  }

  .gls-australia-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px) !important;
  }

  .gls-australia-hero-content p {
    font-size: 17px !important;
  }

  .gls-australia-hero-points, .gls-australia-opportunities-grid, .gls-australia-process-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-australia-hero-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
    max-width: none !important;
  }

  .gls-australia-hero-main-img, .gls-australia-hero-small-img, .gls-australia-hero-floating {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-australia-hero-main-img {
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-australia-hero-small-img {
    height: 320px !important;
    min-height: 320px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-australia-hero-floating {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .gls-australia-routes-box, .gls-australia-final-box {
    padding: 26px 22px !important;
    border-radius: 24px !important;
  }

  .gls-australia-experience-image {
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-australia-final-actions, .gls-australia-final-actions a, .gls-australia-hero-actions a {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .gls-australia-hero-main-img, .gls-australia-hero-small-img {
    height: 300px !important;
    min-height: 300px !important;
  }

  .gls-australia-experience-image {
    height: 330px !important;
    min-height: 330px !important;
  }
}

.gls-dubai-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 86px 0 96px !important;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .12), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%) !important;
  overflow: hidden !important;
}

.gls-dubai-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-dubai-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 14px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-dubai-hero-content h1 {
  max-width: 820px !important;
  margin: 0 0 24px !important;
  color: var(--navy) !important;
  font-size: clamp(46px, 5.7vw, 78px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 600 !important;
}

.gls-dubai-hero-content p {
  max-width: 660px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}

.gls-dubai-hero-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}

.gls-dubai-hero-points {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 34px !important;
  max-width: 620px !important;
}

.gls-dubai-hero-points div {
  padding: 18px 16px !important;
  border-radius: 18px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045) !important;
}

.gls-dubai-hero-points strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.gls-dubai-hero-points span {
  display: block !important;
  color: #64748B !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.gls-dubai-hero-visual {
  position: relative !important;
  min-height: 620px !important;
  width: 100% !important;
}

.gls-dubai-hero-main-img {
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
}

.gls-dubai-hero-main-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-dubai-hero-main-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(7, 21, 41, .02) 0%,
    rgba(7, 21, 41, .24) 55%,
    rgba(7, 21, 41, .68) 100%
  ) !important;
}

.gls-dubai-hero-small-img {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 260px !important;
  height: 330px !important;
  min-height: 330px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
  z-index: 3 !important;
}

.gls-dubai-hero-small-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-dubai-hero-floating {
  position: absolute !important;
  right: 34px !important;
  bottom: 34px !important;
  z-index: 4 !important;
  width: min(360px, 78%) !important;
  padding: 26px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.gls-dubai-hero-floating span, .gls-dubai-intro-card span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-dubai-hero-floating h2 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
}

.gls-dubai-hero-floating p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-dubai-hero-main-img img[src*="dubai-01"] {
  object-position: center center !important;
}

.gls-dubai-hero-small-img img[src*="dubai-02"], .gls-dubai-experience-image img[src*="dubai-02"] {
  object-position: center center !important;
}

.gls-dubai-intro {
  background: var(--white) !important;
}

.gls-dubai-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-dubai-intro-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-dubai-intro-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-dubai-intro-card {
  padding: 32px !important;
  border-radius: 30px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07) !important;
}

.gls-dubai-intro-card h3 {
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-size: 27px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-dubai-intro-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.gls-dubai-opportunities, .gls-dubai-programs, .gls-dubai-process {
  background: #F8FAFC !important;
}

.gls-dubai-routes, .gls-dubai-visa, .gls-dubai-experience {
  background: var(--white) !important;
}

.gls-dubai-opportunities-grid, .gls-dubai-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-dubai-visa-grid, .gls-dubai-programs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-dubai-opportunity-card, .gls-dubai-visa-card, .gls-dubai-program-card, .gls-dubai-process-step {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-dubai-opportunity-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-dubai-opportunity-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(4, 118, 189, .28) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .12) !important;
}

.gls-dubai-opportunity-icon {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  background: var(--blue-light) !important;
  font-size: 28px !important;
}

.gls-dubai-opportunity-card h3, .gls-dubai-visa-card h3, .gls-dubai-program-card h3, .gls-dubai-process-step h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-dubai-opportunity-card p, .gls-dubai-visa-card p, .gls-dubai-program-card p, .gls-dubai-process-step p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-dubai-visa-card span, .gls-dubai-program-card span, .gls-dubai-process-step strong {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-dubai-routes-box {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 46px !important;
  border-radius: 34px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-dubai-routes-content h2 {
  margin: 16px 0 !important;
  color: var(--white) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-dubai-routes-content p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-dubai-routes-list {
  display: grid !important;
  gap: 12px !important;
}

.gls-dubai-routes-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

.gls-dubai-routes-list strong {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-dubai-routes-list span {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.gls-dubai-experience-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-dubai-experience-image {
  position: relative !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-dubai-experience-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-dubai-experience-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-dubai-experience-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-dubai-experience-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.gls-dubai-experience-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}

.gls-dubai-experience-list strong {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-dubai-experience-list span {
  color: var(--navy) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.gls-dubai-program-card a {
  display: inline-flex !important;
  margin-top: 18px !important;
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/*
   =========================================================
      GLS — DUBAI FINAL CTA / VARIABLES GLS
      =========================================================
 */

.gls-dubai-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

.gls-dubai-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 38px !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, 0.16) !important;
}

.gls-dubai-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.14) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-dubai-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(26px, 3.2vw, 38px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  font-weight: 500 !important;
}

.gls-dubai-final-box p {
  color: rgba(255, 255, 255, 0.82) !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.gls-dubai-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.gls-dubai-cta-primary,
.gls-dubai-cta-secondary {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

.gls-dubai-cta-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
}

.gls-dubai-cta-primary:hover {
  background: var(--green) !important;
  border-color: var(--green) !important;
  color: var(--white) !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 32px rgba(9, 176, 79, 0.22) !important;
}

.gls-dubai-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, 0.42) !important;
}

.gls-dubai-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1100px) {
  .gls-dubai-hero-grid, .gls-dubai-intro-grid, .gls-dubai-routes-box, .gls-dubai-experience-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-dubai-hero-visual {
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-dubai-opportunities-grid, .gls-dubai-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-dubai-visa-grid, .gls-dubai-programs-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-dubai-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 768px) {
  .gls-dubai-hero {
    padding: 58px 0 72px !important;
  }

  .gls-dubai-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px) !important;
  }

  .gls-dubai-hero-content p {
    font-size: 17px !important;
  }

  .gls-dubai-hero-points, .gls-dubai-opportunities-grid, .gls-dubai-process-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-dubai-hero-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
    max-width: none !important;
  }

  .gls-dubai-hero-main-img, .gls-dubai-hero-small-img, .gls-dubai-hero-floating {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-dubai-hero-main-img {
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-dubai-hero-small-img {
    height: 320px !important;
    min-height: 320px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-dubai-hero-floating {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .gls-dubai-routes-box, .gls-dubai-final-box {
    padding: 26px 22px !important;
    border-radius: 24px !important;
  }

  .gls-dubai-experience-image {
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-dubai-final-actions, .gls-dubai-final-actions a, .gls-dubai-hero-actions a {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .gls-dubai-hero-main-img, .gls-dubai-hero-small-img {
    height: 300px !important;
    min-height: 300px !important;
  }

  .gls-dubai-experience-image {
    height: 330px !important;
    min-height: 330px !important;
  }
}

.gls-malta-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 86px 0 96px !important;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%) !important;
  overflow: hidden !important;
}

.gls-malta-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-malta-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 14px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-malta-hero-content h1 {
  max-width: 820px !important;
  margin: 0 0 24px !important;
  color: var(--navy) !important;
  font-size: clamp(46px, 5.7vw, 78px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 600 !important;
}

.gls-malta-hero-content p {
  max-width: 660px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}

.gls-malta-hero-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}

.gls-malta-hero-points {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 34px !important;
  max-width: 620px !important;
}

.gls-malta-hero-points div {
  padding: 18px 16px !important;
  border-radius: 18px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045) !important;
}

.gls-malta-hero-points strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.gls-malta-hero-points span {
  display: block !important;
  color: #64748B !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.gls-malta-hero-visual {
  position: relative !important;
  min-height: 620px !important;
  width: 100% !important;
}

.gls-malta-hero-main-img {
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
}

.gls-malta-hero-main-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-malta-hero-main-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(7, 21, 41, .02) 0%,
    rgba(7, 21, 41, .24) 55%,
    rgba(7, 21, 41, .68) 100%
  ) !important;
}

.gls-malta-hero-small-img {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 260px !important;
  height: 330px !important;
  min-height: 330px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
  z-index: 3 !important;
}

.gls-malta-hero-small-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-malta-hero-floating {
  position: absolute !important;
  right: 34px !important;
  bottom: 34px !important;
  z-index: 4 !important;
  width: min(360px, 78%) !important;
  padding: 26px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.gls-malta-hero-floating span, .gls-malta-intro-card span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-malta-hero-floating h2 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
}

.gls-malta-hero-floating p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-malta-hero-main-img img[src*="malta-01"] {
  object-position: center center !important;
}

.gls-malta-hero-small-img img[src*="malta-02"], .gls-malta-experience-image img[src*="malta-02"] {
  object-position: center center !important;
}

.gls-malta-intro {
  background: var(--white) !important;
}

.gls-malta-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-malta-intro-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-malta-intro-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-malta-intro-card {
  padding: 32px !important;
  border-radius: 30px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07) !important;
}

.gls-malta-intro-card h3 {
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-size: 27px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-malta-intro-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.gls-malta-opportunities, .gls-malta-programs, .gls-malta-process {
  background: #F8FAFC !important;
}

.gls-malta-routes, .gls-malta-visa, .gls-malta-experience {
  background: var(--white) !important;
}

.gls-malta-opportunities-grid, .gls-malta-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-malta-visa-grid, .gls-malta-programs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-malta-opportunity-card, .gls-malta-visa-card, .gls-malta-program-card, .gls-malta-process-step {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-malta-opportunity-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-malta-opportunity-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(4, 118, 189, .28) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .12) !important;
}

.gls-malta-opportunity-icon {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  background: var(--blue-light) !important;
  font-size: 28px !important;
}

.gls-malta-opportunity-card h3, .gls-malta-visa-card h3, .gls-malta-program-card h3, .gls-malta-process-step h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-malta-opportunity-card p, .gls-malta-visa-card p, .gls-malta-program-card p, .gls-malta-process-step p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-malta-visa-card span, .gls-malta-program-card span, .gls-malta-process-step strong {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-malta-routes-box {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 46px !important;
  border-radius: 34px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-malta-routes-content h2 {
  margin: 16px 0 !important;
  color: var(--white) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-malta-routes-content p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-malta-routes-list {
  display: grid !important;
  gap: 12px !important;
}

.gls-malta-routes-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

.gls-malta-routes-list strong {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-malta-routes-list span {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.gls-malta-experience-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-malta-experience-image {
  position: relative !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-malta-experience-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-malta-experience-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-malta-experience-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-malta-experience-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.gls-malta-experience-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}

.gls-malta-experience-list strong {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-malta-experience-list span {
  color: var(--navy) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.gls-malta-program-card a {
  display: inline-flex !important;
  margin-top: 18px !important;
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.gls-malta-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

.gls-malta-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 38px !important;
  border-radius: 30px !important;
  background: var(--navy) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20) !important;
}

.gls-malta-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-malta-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-malta-final-box p {
  color: rgba(255, 255, 255, .78) !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.gls-malta-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.gls-malta-cta-primary, .gls-malta-cta-secondary {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

.gls-malta-cta-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
}

.gls-malta-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, .35) !important;
}

.gls-malta-cta-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-malta-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1100px) {
  .gls-malta-hero-grid, .gls-malta-intro-grid, .gls-malta-routes-box, .gls-malta-experience-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-malta-hero-visual {
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-malta-opportunities-grid, .gls-malta-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-malta-visa-grid, .gls-malta-programs-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-malta-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 768px) {
  .gls-malta-hero {
    padding: 58px 0 72px !important;
  }

  .gls-malta-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px) !important;
  }

  .gls-malta-hero-content p {
    font-size: 17px !important;
  }

  .gls-malta-hero-points, .gls-malta-opportunities-grid, .gls-malta-process-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-malta-hero-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
    max-width: none !important;
  }

  .gls-malta-hero-main-img, .gls-malta-hero-small-img, .gls-malta-hero-floating {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-malta-hero-main-img {
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-malta-hero-small-img {
    height: 320px !important;
    min-height: 320px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-malta-hero-floating {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .gls-malta-routes-box, .gls-malta-final-box {
    padding: 26px 22px !important;
    border-radius: 24px !important;
  }

  .gls-malta-experience-image {
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-malta-final-actions, .gls-malta-final-actions a, .gls-malta-hero-actions a {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .gls-malta-hero-main-img, .gls-malta-hero-small-img {
    height: 300px !important;
    min-height: 300px !important;
  }

  .gls-malta-experience-image {
    height: 330px !important;
    min-height: 330px !important;
  }
}

.gls-spain-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 86px 0 96px !important;
  background: radial-gradient(circle at 14% 18%, rgba(4, 118, 189, .10), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(9, 176, 79, .10), transparent 30%),
    linear-gradient(180deg, var(--white) 0%, #F8FAFC 100%) !important;
  overflow: hidden !important;
}

.gls-spain-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-spain-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 14px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-spain-hero-content h1 {
  max-width: 820px !important;
  margin: 0 0 24px !important;
  color: var(--navy) !important;
  font-size: clamp(46px, 5.7vw, 78px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 600 !important;
}

.gls-spain-hero-content p {
  max-width: 660px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 19px !important;
  line-height: 1.78 !important;
}

.gls-spain-hero-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 34px !important;
}

.gls-spain-hero-points {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 34px !important;
  max-width: 620px !important;
}

.gls-spain-hero-points div {
  padding: 18px 16px !important;
  border-radius: 18px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 28px rgba(0, 51, 153, .045) !important;
}

.gls-spain-hero-points strong {
  display: block !important;
  color: var(--blue) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.gls-spain-hero-points span {
  display: block !important;
  color: #64748B !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.gls-spain-hero-visual {
  position: relative !important;
  min-height: 620px !important;
  width: 100% !important;
}

.gls-spain-hero-main-img {
  position: absolute !important;
  inset: 0 0 70px 70px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 36px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
}

.gls-spain-hero-main-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-spain-hero-main-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(7, 21, 41, .02) 0%,
    rgba(7, 21, 41, .24) 55%,
    rgba(7, 21, 41, .68) 100%
  ) !important;
}

.gls-spain-hero-small-img {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 260px !important;
  height: 330px !important;
  min-height: 330px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 10px solid var(--white) !important;
  box-shadow: 0 24px 70px rgba(0, 51, 153, .18) !important;
  background: var(--navy) !important;
  z-index: 3 !important;
}

.gls-spain-hero-small-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-spain-hero-floating {
  position: absolute !important;
  right: 34px !important;
  bottom: 34px !important;
  z-index: 4 !important;
  width: min(360px, 78%) !important;
  padding: 26px !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.gls-spain-hero-floating span, .gls-spain-intro-card span {
  display: inline-flex !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-spain-hero-floating h2 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
}

.gls-spain-hero-floating p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.gls-spain-hero-main-img img[src*="espana-001"] {
  object-position: center center !important;
}

.gls-spain-hero-small-img img[src*="espana-02"], .gls-spain-experience-image img[src*="espana-02"] {
  object-position: center center !important;
}

.gls-spain-intro {
  background: var(--white) !important;
}

.gls-spain-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .45fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-spain-intro-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-spain-intro-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-spain-intro-card {
  padding: 32px !important;
  border-radius: 30px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07) !important;
}

.gls-spain-intro-card h3 {
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-size: 27px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-spain-intro-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.gls-spain-opportunities, .gls-spain-programs, .gls-spain-process {
  background: #F8FAFC !important;
}

.gls-spain-routes, .gls-spain-visa, .gls-spain-experience {
  background: var(--white) !important;
}

.gls-spain-opportunities-grid, .gls-spain-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-spain-visa-grid, .gls-spain-programs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-spain-opportunity-card, .gls-spain-visa-card, .gls-spain-program-card, .gls-spain-process-step {
  padding: 28px !important;
  border-radius: 26px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(0, 51, 153, .055) !important;
}

.gls-spain-opportunity-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-spain-opportunity-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(4, 118, 189, .28) !important;
  box-shadow: 0 24px 60px rgba(0, 51, 153, .12) !important;
}

.gls-spain-opportunity-icon {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  background: var(--blue-light) !important;
  font-size: 28px !important;
}

.gls-spain-opportunity-card h3, .gls-spain-visa-card h3, .gls-spain-program-card h3, .gls-spain-process-step h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-spain-opportunity-card p, .gls-spain-visa-card p, .gls-spain-program-card p, .gls-spain-process-step p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.gls-spain-visa-card span, .gls-spain-program-card span, .gls-spain-process-step strong {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-spain-routes-box {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 46px !important;
  border-radius: 34px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-spain-routes-content h2 {
  margin: 16px 0 !important;
  color: var(--white) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-spain-routes-content p {
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-spain-routes-list {
  display: grid !important;
  gap: 12px !important;
}

.gls-spain-routes-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
}

.gls-spain-routes-list strong {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-spain-routes-list span {
  color: rgba(255, 255, 255, .84) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.gls-spain-experience-grid {
  display: grid !important;
  grid-template-columns: minmax(420px, .85fr) minmax(0, 1fr) !important;
  gap: 54px !important;
  align-items: center !important;
}

.gls-spain-experience-image {
  position: relative !important;
  height: 560px !important;
  min-height: 560px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .16) !important;
}

.gls-spain-experience-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.gls-spain-experience-content h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-spain-experience-content p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.gls-spain-experience-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.gls-spain-experience-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px !important;
  border-radius: 18px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}

.gls-spain-experience-list strong {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-spain-experience-list span {
  color: var(--navy) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.gls-spain-program-card a {
  display: inline-flex !important;
  margin-top: 18px !important;
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.gls-spain-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

.gls-spain-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 38px !important;
  border-radius: 30px !important;
  background: var(--navy) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, .20) !important;
}

.gls-spain-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-spain-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-spain-final-box p {
  color: rgba(255, 255, 255, .78) !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.gls-spain-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.gls-spain-cta-primary, .gls-spain-cta-secondary {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

.gls-spain-cta-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
}

.gls-spain-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, .35) !important;
}

.gls-spain-cta-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-spain-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1100px) {
  .gls-spain-hero-grid, .gls-spain-intro-grid, .gls-spain-routes-box, .gls-spain-experience-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-spain-hero-visual {
    max-width: 820px !important;
    min-height: 580px !important;
  }

  .gls-spain-opportunities-grid, .gls-spain-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-spain-visa-grid, .gls-spain-programs-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-spain-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 768px) {
  .gls-spain-hero {
    padding: 58px 0 72px !important;
  }

  .gls-spain-hero-content h1 {
    font-size: clamp(40px, 12vw, 58px) !important;
  }

  .gls-spain-hero-content p {
    font-size: 17px !important;
  }

  .gls-spain-hero-points, .gls-spain-opportunities-grid, .gls-spain-process-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-spain-hero-visual {
    min-height: auto !important;
    display: grid !important;
    gap: 18px !important;
    max-width: none !important;
  }

  .gls-spain-hero-main-img, .gls-spain-hero-small-img, .gls-spain-hero-floating {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
  }

  .gls-spain-hero-main-img {
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 26px !important;
  }

  .gls-spain-hero-small-img {
    height: 320px !important;
    min-height: 320px !important;
    border: none !important;
    border-radius: 26px !important;
  }

  .gls-spain-hero-floating {
    padding: 24px !important;
    border-radius: 24px !important;
  }

  .gls-spain-routes-box, .gls-spain-final-box {
    padding: 26px 22px !important;
    border-radius: 24px !important;
  }

  .gls-spain-experience-image {
    height: 390px !important;
    min-height: 390px !important;
    border-radius: 26px !important;
  }

  .gls-spain-final-actions, .gls-spain-final-actions a, .gls-spain-hero-actions a {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .gls-spain-hero-main-img, .gls-spain-hero-small-img {
    height: 300px !important;
    min-height: 300px !important;
  }

  .gls-spain-experience-image {
    height: 330px !important;
    min-height: 330px !important;
  }
}

.gls-usa-hero-content h1, .gls-canada-hero-content h1, .gls-uk-hero-content h1, .gls-france-hero-content h1, .gls-ireland-hero-content h1, .gls-nz-hero-content h1, .gls-australia-hero-content h1, .gls-dubai-hero-content h1, .gls-malta-hero-content h1, .gls-spain-hero-content h1, .gls-germany-hero-content h1, .gls-alemania-hero-content h1 {
  max-width: 680px !important;
  margin: 0 0 20px !important;
  font-family: "Space Grotesk", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(34px, 3.8vw, 52px) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  color: var(--navy) !important;
  text-rendering: geometricPrecision !important;
  font-synthesis: none !important;
}

.gls-usa-hero-content h1 *, .gls-canada-hero-content h1 *, .gls-uk-hero-content h1 *, .gls-france-hero-content h1 *, .gls-ireland-hero-content h1 *, .gls-nz-hero-content h1 *, .gls-australia-hero-content h1 *, .gls-dubai-hero-content h1 *, .gls-malta-hero-content h1 *, .gls-spain-hero-content h1 *, .gls-germany-hero-content h1 *, .gls-alemania-hero-content h1 * {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}

.gls-usa-hero-content p, .gls-canada-hero-content p, .gls-uk-hero-content p, .gls-france-hero-content p, .gls-ireland-hero-content p, .gls-nz-hero-content p, .gls-australia-hero-content p, .gls-dubai-hero-content p, .gls-malta-hero-content p, .gls-spain-hero-content p, .gls-germany-hero-content p, .gls-alemania-hero-content p {
  max-width: 600px !important;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: #475569 !important;
}

.gls-usa-hero, .gls-canada-hero, .gls-uk-hero, .gls-france-hero, .gls-ireland-hero, .gls-nz-hero, .gls-australia-hero, .gls-dubai-hero, .gls-malta-hero, .gls-spain-hero, .gls-germany-hero, .gls-alemania-hero {
  padding-top: 64px !important;
  padding-bottom: 72px !important;
}

@media (max-width: 1100px) {
  .gls-usa-hero-content h1, .gls-canada-hero-content h1, .gls-uk-hero-content h1, .gls-france-hero-content h1, .gls-ireland-hero-content h1, .gls-nz-hero-content h1, .gls-australia-hero-content h1, .gls-dubai-hero-content h1, .gls-malta-hero-content h1, .gls-spain-hero-content h1, .gls-germany-hero-content h1, .gls-alemania-hero-content h1 {
    max-width: 760px !important;
    font-size: clamp(34px, 5.8vw, 48px) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 768px) {
  .gls-usa-hero-content h1, .gls-canada-hero-content h1, .gls-uk-hero-content h1, .gls-france-hero-content h1, .gls-ireland-hero-content h1, .gls-nz-hero-content h1, .gls-australia-hero-content h1, .gls-dubai-hero-content h1, .gls-malta-hero-content h1, .gls-spain-hero-content h1, .gls-germany-hero-content h1, .gls-alemania-hero-content h1 {
    font-size: clamp(30px, 8.5vw, 40px) !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 16px !important;
  }

  .gls-usa-hero-content p, .gls-canada-hero-content p, .gls-uk-hero-content p, .gls-france-hero-content p, .gls-ireland-hero-content p, .gls-nz-hero-content p, .gls-australia-hero-content p, .gls-dubai-hero-content p, .gls-malta-hero-content p, .gls-spain-hero-content p, .gls-germany-hero-content p, .gls-alemania-hero-content p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .gls-usa-hero, .gls-canada-hero, .gls-uk-hero, .gls-france-hero, .gls-ireland-hero, .gls-nz-hero, .gls-australia-hero, .gls-dubai-hero, .gls-malta-hero, .gls-spain-hero, .gls-germany-hero, .gls-alemania-hero {
    padding-top: 44px !important;
    padding-bottom: 56px !important;
  }
}

@media (max-width: 480px) {
  .gls-usa-hero-content h1, .gls-canada-hero-content h1, .gls-uk-hero-content h1, .gls-france-hero-content h1, .gls-ireland-hero-content h1, .gls-nz-hero-content h1, .gls-australia-hero-content h1, .gls-dubai-hero-content h1, .gls-malta-hero-content h1, .gls-spain-hero-content h1, .gls-germany-hero-content h1, .gls-alemania-hero-content h1 {
    font-size: clamp(28px, 8vw, 36px) !important;
    font-weight: 600 !important;
    line-height: 1.14 !important;
  }
}

body .gls-usa-hero .gls-usa-hero-content>h1, body .gls-canada-hero .gls-canada-hero-content>h1, body .gls-uk-hero .gls-uk-hero-content>h1, body .gls-france-hero .gls-france-hero-content>h1, body .gls-ireland-hero .gls-ireland-hero-content>h1, body .gls-nz-hero .gls-nz-hero-content>h1, body .gls-australia-hero .gls-australia-hero-content>h1, body .gls-dubai-hero .gls-dubai-hero-content>h1, body .gls-malta-hero .gls-malta-hero-content>h1, body .gls-spain-hero .gls-spain-hero-content>h1, body .gls-germany-hero .gls-germany-hero-content>h1, body .gls-alemania-hero .gls-alemania-hero-content>h1 {
  max-width: 680px !important;
  margin: 0 0 20px !important;
  font-family: "Space Grotesk", "Inter", Arial, sans-serif !important;
  font-size: clamp(34px, 3.8vw, 52px) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  color: var(--navy) !important;
  text-transform: none !important;
}

body .gls-usa-hero .gls-usa-hero-content>h1 *, body .gls-canada-hero .gls-canada-hero-content>h1 *, body .gls-uk-hero .gls-uk-hero-content>h1 *, body .gls-france-hero .gls-france-hero-content>h1 *, body .gls-ireland-hero .gls-ireland-hero-content>h1 *, body .gls-nz-hero .gls-nz-hero-content>h1 *, body .gls-australia-hero .gls-australia-hero-content>h1 *, body .gls-dubai-hero .gls-dubai-hero-content>h1 *, body .gls-malta-hero .gls-malta-hero-content>h1 *, body .gls-spain-hero .gls-spain-hero-content>h1 *, body .gls-germany-hero .gls-germany-hero-content>h1 *, body .gls-alemania-hero .gls-alemania-hero-content>h1 * {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}

body .gls-usa-hero .gls-usa-hero-content>p, body .gls-canada-hero .gls-canada-hero-content>p, body .gls-uk-hero .gls-uk-hero-content>p, body .gls-france-hero .gls-france-hero-content>p, body .gls-ireland-hero .gls-ireland-hero-content>p, body .gls-nz-hero .gls-nz-hero-content>p, body .gls-australia-hero .gls-australia-hero-content>p, body .gls-dubai-hero .gls-dubai-hero-content>p, body .gls-malta-hero .gls-malta-hero-content>p, body .gls-spain-hero .gls-spain-hero-content>p, body .gls-germany-hero .gls-germany-hero-content>p, body .gls-alemania-hero .gls-alemania-hero-content>p {
  max-width: 600px !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: #475569 !important;
}

@media (max-width: 1100px) {
  body .gls-usa-hero .gls-usa-hero-content>h1, body .gls-canada-hero .gls-canada-hero-content>h1, body .gls-uk-hero .gls-uk-hero-content>h1, body .gls-france-hero .gls-france-hero-content>h1, body .gls-ireland-hero .gls-ireland-hero-content>h1, body .gls-nz-hero .gls-nz-hero-content>h1, body .gls-australia-hero .gls-australia-hero-content>h1, body .gls-dubai-hero .gls-dubai-hero-content>h1, body .gls-malta-hero .gls-malta-hero-content>h1, body .gls-spain-hero .gls-spain-hero-content>h1, body .gls-germany-hero .gls-germany-hero-content>h1, body .gls-alemania-hero .gls-alemania-hero-content>h1 {
    max-width: 760px !important;
    font-size: clamp(34px, 5.8vw, 48px) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 768px) {
  body .gls-usa-hero .gls-usa-hero-content>h1, body .gls-canada-hero .gls-canada-hero-content>h1, body .gls-uk-hero .gls-uk-hero-content>h1, body .gls-france-hero .gls-france-hero-content>h1, body .gls-ireland-hero .gls-ireland-hero-content>h1, body .gls-nz-hero .gls-nz-hero-content>h1, body .gls-australia-hero .gls-australia-hero-content>h1, body .gls-dubai-hero .gls-dubai-hero-content>h1, body .gls-malta-hero .gls-malta-hero-content>h1, body .gls-spain-hero .gls-spain-hero-content>h1, body .gls-germany-hero .gls-germany-hero-content>h1, body .gls-alemania-hero .gls-alemania-hero-content>h1 {
    font-size: clamp(30px, 8.5vw, 40px) !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 16px !important;
  }

  body .gls-usa-hero .gls-usa-hero-content>p, body .gls-canada-hero .gls-canada-hero-content>p, body .gls-uk-hero .gls-uk-hero-content>p, body .gls-france-hero .gls-france-hero-content>p, body .gls-ireland-hero .gls-ireland-hero-content>p, body .gls-nz-hero .gls-nz-hero-content>p, body .gls-australia-hero .gls-australia-hero-content>p, body .gls-dubai-hero .gls-dubai-hero-content>p, body .gls-malta-hero .gls-malta-hero-content>p, body .gls-spain-hero .gls-spain-hero-content>p, body .gls-germany-hero .gls-germany-hero-content>p, body .gls-alemania-hero .gls-alemania-hero-content>p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

@media (max-width: 480px) {
  body .gls-usa-hero .gls-usa-hero-content>h1, body .gls-canada-hero .gls-canada-hero-content>h1, body .gls-uk-hero .gls-uk-hero-content>h1, body .gls-france-hero .gls-france-hero-content>h1, body .gls-ireland-hero .gls-ireland-hero-content>h1, body .gls-nz-hero .gls-nz-hero-content>h1, body .gls-australia-hero .gls-australia-hero-content>h1, body .gls-dubai-hero .gls-dubai-hero-content>h1, body .gls-malta-hero .gls-malta-hero-content>h1, body .gls-spain-hero .gls-spain-hero-content>h1, body .gls-germany-hero .gls-germany-hero-content>h1, body .gls-alemania-hero .gls-alemania-hero-content>h1 {
    font-size: clamp(28px, 8vw, 36px) !important;
    font-weight: 600 !important;
    line-height: 1.14 !important;
  }
}

.gls-imm-sub-hero {
  position: relative !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 76px 0 86px !important;
  overflow: hidden !important;
  background: radial-gradient(circle at 12% 20%, rgba(9, 176, 79, .12), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(4, 118, 189, .12), transparent 34%),
    linear-gradient(135deg, var(--white) 0%, #F8FAFC 48%, #EEF4FF 100%) !important;
}

.gls-imm-sub-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 24px !important;
  pointer-events: none !important;
}

.gls-imm-sub-hero-grid {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(430px, .75fr) !important;
  gap: 56px !important;
  align-items: center !important;
}

.gls-imm-sub-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 8px 15px !important;
  margin-bottom: 22px !important;
  border-radius: 999px !important;
  background: rgba(9, 176, 79, .10) !important;
  color: var(--gold-hover) !important;
  border: 1px solid rgba(9, 176, 79, .22) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.gls-imm-sub-hero-content h1 {
  max-width: 720px !important;
  margin: 0 0 22px !important;
  color: var(--navy) !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-size: clamp(38px, 4.5vw, 60px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-imm-sub-hero-content p {
  max-width: 620px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
}

.gls-imm-sub-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 34px !important;
}

.gls-imm-sub-hero-card {
  position: relative !important;
  padding: 34px !important;
  border-radius: 32px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96)) !important;
  border: 1px solid rgba(226, 232, 240, .95) !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .14),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
  overflow: hidden !important;
}

.gls-imm-sub-hero-card::before {
  content: "" !important;
  position: absolute !important;
  width: 180px !important;
  height: 180px !important;
  right: -70px !important;
  top: -70px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(9, 176, 79, .18), transparent 70%) !important;
}

.gls-imm-sub-hero-card>span, .gls-imm-sub-intro-card span, .gls-imm-sub-note-box span, .gls-imm-sub-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: #FEF3C7 !important;
  color: var(--gold-hover) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-imm-sub-hero-card h2 {
  position: relative !important;
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-size: clamp(25px, 2.8vw, 36px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  font-weight: 600 !important;
}

.gls-imm-sub-hero-card p {
  position: relative !important;
  margin: 0 !important;
  color: #64748B !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.gls-imm-sub-hero-list {
  position: relative !important;
  display: grid !important;
  gap: 12px !important;
  margin-top: 26px !important;
}

.gls-imm-sub-hero-list div {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px !important;
  border-radius: 18px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
}

.gls-imm-sub-hero-list strong {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: var(--navy) !important;
  color: var(--white) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-imm-sub-hero-list p {
  margin: 0 !important;
  color: var(--navy) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.gls-imm-sub-intro {
  background: var(--white) !important;
}

.gls-imm-sub-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(330px, .45fr) !important;
  gap: 52px !important;
  align-items: center !important;
}

.gls-imm-sub-intro-content h2, .gls-imm-sub-requirements-content h2, .gls-imm-sub-note-box h2 {
  margin: 16px 0 !important;
  color: var(--navy) !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-size: clamp(32px, 3.7vw, 50px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.05em !important;
  font-weight: 600 !important;
}

.gls-imm-sub-intro-content p, .gls-imm-sub-requirements-content p, .gls-imm-sub-note-box p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-imm-sub-intro-card {
  padding: 30px !important;
  border-radius: 28px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .07) !important;
}

.gls-imm-sub-intro-card h3 {
  margin: 0 0 12px !important;
  color: var(--navy) !important;
  font-size: 25px !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
  letter-spacing: -0.035em !important;
}

.gls-imm-sub-intro-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 15.5px !important;
  line-height: 1.7 !important;
}

.gls-imm-sub-benefits, .gls-imm-sub-process {
  background: #F8FAFC !important;
}

.gls-imm-sub-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.gls-imm-sub-card, .gls-imm-sub-process-step {
  padding: 30px !important;
  border-radius: 28px !important;
  background: var(--white) !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 14px 36px rgba(0, 51, 153, .055) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-imm-sub-card:hover, .gls-imm-sub-process-step:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(9, 176, 79, .32) !important;
  box-shadow: 0 28px 70px rgba(0, 51, 153, .12) !important;
}

.gls-imm-sub-icon {
  width: 60px !important;
  height: 60px !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 20px !important;
  background: var(--blue-light) !important;
  font-size: 28px !important;
}

.gls-imm-sub-card h3, .gls-imm-sub-process-step h3 {
  margin: 0 0 10px !important;
  color: var(--navy) !important;
  font-size: 21px !important;
  line-height: 1.18 !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.gls-imm-sub-card p, .gls-imm-sub-process-step p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 14.8px !important;
  line-height: 1.7 !important;
}

.gls-imm-sub-requirements {
  background: var(--white) !important;
}

.gls-imm-sub-requirements-box {
  display: grid !important;
  grid-template-columns: minmax(0, .85fr) minmax(430px, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 46px !important;
  border-radius: 34px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-imm-sub-requirements-content h2, .gls-imm-sub-requirements-content p {
  color: var(--white) !important;
}

.gls-imm-sub-requirements-content p {
  color: rgba(255,255,255,.76) !important;
}

.gls-imm-sub-requirements-list {
  display: grid !important;
  gap: 12px !important;
}

.gls-imm-sub-requirements-list div {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.gls-imm-sub-requirements-list strong, .gls-imm-sub-process-step strong {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.gls-imm-sub-requirements-list strong {
  background: rgba(255,255,255,.14) !important;
  color: var(--white) !important;
}

.gls-imm-sub-requirements-list span {
  color: rgba(255,255,255,.86) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}

.gls-imm-sub-process-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
}

.gls-imm-sub-process-step strong {
  margin-bottom: 18px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  border: 1px solid var(--gray-200) !important;
}

.gls-imm-sub-note {
  background: var(--white) !important;
}

.gls-imm-sub-note-box {
  padding: 42px !important;
  border-radius: 32px !important;
  background: linear-gradient(135deg, #FFFBEB 0%, var(--white) 48%, #F8FAFC 100%) !important;
  border: 1px solid #FDE68A !important;
  box-shadow: 0 20px 60px rgba(0, 51, 153, .08) !important;
}

.gls-imm-sub-note-box h2 {
  max-width: 720px !important;
}

.gls-imm-sub-note-box p {
  max-width: 900px !important;
  margin-bottom: 0 !important;
}

.gls-imm-sub-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

.gls-imm-sub-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 30px !important;
  padding: 40px !important;
  border-radius: 32px !important;
  background: radial-gradient(circle at 10% 20%, rgba(9, 176, 79, .18), transparent 28%),
    linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .24) !important;
}

.gls-imm-sub-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 600 !important;
}

.gls-imm-sub-final-box p {
  color: rgba(255,255,255,.78) !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.gls-imm-sub-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

.gls-imm-sub-cta-primary, .gls-imm-sub-cta-secondary {
  min-height: 50px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
}

.gls-imm-sub-cta-primary {
  background: var(--green) !important;
  border: 2px solid var(--green) !important;
  color: var(--white) !important;
}

.gls-imm-sub-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255,255,255,.32) !important;
}

.gls-imm-sub-cta-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-imm-sub-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 1100px) {
  .gls-imm-sub-hero-grid, .gls-imm-sub-intro-grid, .gls-imm-sub-requirements-box {
    grid-template-columns: 1fr !important;
  }

  .gls-imm-sub-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .gls-imm-sub-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 768px) {
  .gls-imm-sub-hero {
    padding: 56px 0 66px !important;
  }

  .gls-imm-sub-hero::before {
    inset: 12px !important;
    border-radius: 24px !important;
  }

  .gls-imm-sub-hero-content h1 {
    font-size: clamp(34px, 10vw, 46px) !important;
    line-height: 1.08 !important;
  }

  .gls-imm-sub-hero-content p {
    font-size: 16.5px !important;
  }

  .gls-imm-sub-cards-grid, .gls-imm-sub-process-grid {
    grid-template-columns: 1fr !important;
  }

  .gls-imm-sub-hero-card, .gls-imm-sub-requirements-box, .gls-imm-sub-note-box, .gls-imm-sub-final-box {
    padding: 26px 22px !important;
    border-radius: 24px !important;
  }

  .gls-imm-sub-actions a, .gls-imm-sub-final-actions, .gls-imm-sub-final-actions a {
    width: 100% !important;
  }
}

.gls-language-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 82px 0 96px;
  overflow: hidden;
  background: radial-gradient(circle at 12% 16%, rgba(4, 118, 189, .12), transparent 32%),
    radial-gradient(circle at 86% 18%, rgba(9, 176, 79, .12), transparent 34%),
    linear-gradient(135deg, var(--white) 0%, #F8FAFC 48%, #EEF4FF 100%);
}

.gls-language-hero::before {
  content: "";
  position: absolute;
  inset: 26px;
  border: none !important;
  border-radius: 34px;
  pointer-events: none;
}

/* HERO PROGRAMAS — quitar línea contenedora */

section.gls-language-hero.gls-full-section::before {
  display: none !important;
  content: none !important;
  border: none !important;
}

.gls-language-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(390px, .62fr);
  gap: 54px;
  align-items: center;
}

.gls-language-hero-copy h1 {
  max-width: 760px;
  margin: 18px 0 22px;
  color: var(--navy);
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif;
  font-size: clamp(42px, 5vw, 66px);
  line-height: 1.02;
  letter-spacing: -0.055em;
  font-weight: 600;
}

.gls-language-hero-copy p {
  max-width: 660px;
  margin: 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.75;
}

.gls-language-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.gls-language-passport-card {
  position: relative;
  padding: 26px;
  border-radius: 34px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(255,255,255,.82);
  box-shadow: 0 30px 80px rgba(0, 51, 153, .14);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.gls-language-passport-card::before {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  right: -48px;
  top: -48px;
  border-radius: 999px;
  background: rgba(9, 176, 79, .16);
}

.gls-language-passport-top {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 18px;
}

.gls-language-passport-top span {
  display: inline-flex;
  padding: 7px 13px;
  border-radius: 999px;
  background: #FEF3C7;
  color: var(--gold-hover);
  font-size: 12px;
  font-weight: 600;
}

.gls-language-passport-top strong {
  color: var(--navy);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.gls-language-passport-image {
  position: relative;
  height: 310px;
  overflow: hidden;
  border-radius: 26px;
  background: var(--navy);
}

.gls-language-passport-image img, .gls-language-route img, .gls-language-mini-card img {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.gls-language-passport-info {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.gls-language-passport-info div {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid #E2E8F0;
}

.gls-language-passport-info span {
  width: 38px;
  height: 38px;
  min-width: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--navy);
  color: var(--white);
  font-size: 12px;
  font-weight: 600;
}

.gls-language-passport-info p {
  margin: 0;
  color: var(--navy);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.gls-language-routes {
  background: var(--white);
}

.gls-language-routes-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .75fr);
  gap: 24px;
  align-items: stretch;
}

.gls-language-route {
  min-height: 260px;
  border-radius: 30px;
}

.gls-language-route-featured {
  min-height: 540px;
}

.gls-language-route-horizontal {
  min-height: 258px;
}

.gls-language-route-stack {
  display: grid;
  gap: 24px;
}

.gls-language-route::after,
.gls-language-mini-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.02) 0%,
      rgba(0, 0, 0, 0.36) 42%,
      rgba(0, 0, 0, 0.92) 100%
    ) !important;
  pointer-events: none !important;
}

.gls-language-route-content {
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 26px;
  z-index: 2;
}

.gls-language-route-content span, .gls-language-mini-card span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  color: var(--white);
  border: 1px solid rgba(255,255,255,.28);
  font-size: 12px;
  font-weight: 600;
  backdrop-filter: blur(10px);
}

.gls-language-route-content h3 {
  margin: 0 0 10px;
  color: var(--white);
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif;
  font-size: clamp(30px, 3.5vw, 50px);
  line-height: 1.02;
  letter-spacing: -0.045em;
  font-weight: 600;
}

.gls-language-route-horizontal .gls-language-route-content h3 {
  font-size: 30px;
}

.gls-language-route-content p {
  max-width: 580px;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: 15px;
  line-height: 1.6;
}

.gls-language-mini-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  margin-top: 24px;
}

.gls-language-mini-card {
  min-height: 260px;
  border-radius: 26px;
}

.gls-language-mini-card div {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
}

.gls-language-mini-card h3 {
  margin: 0;
  color: var(--white);
  font-size: 24px;
  line-height: 1.05;
  font-weight: 600;
}

.gls-language-route,
.gls-language-mini-card {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  isolation: isolate !important;
  text-decoration: none !important;
  background: var(--navy) !important;
  box-shadow: 0 22px 60px rgba(var(--gls-navy-rgb), 0.16) !important;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease !important;
}

.gls-language-route img, .gls-language-mini-card img {
  transition: transform .45s ease;
}

.gls-language-route:hover, .gls-language-mini-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 32px 82px rgba(0, 51, 153, .20);
}

.gls-language-route:hover img, .gls-language-mini-card:hover img {
  transform: scale(1.06);
}

@media (max-width: 1100px) {
  .gls-language-hero-grid, .gls-language-routes-layout {
    grid-template-columns: 1fr;
  }

  .gls-language-mini-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gls-language-route-featured {
    min-height: 460px;
  }
}

@media (max-width: 768px) {
  .gls-language-hero {
    padding: 58px 0 70px;
  }

  .gls-language-hero::before {
    inset: 12px;
    border-radius: 24px;
  }

  .gls-language-hero-copy h1 {
    font-size: clamp(34px, 10vw, 46px);
    line-height: 1.08;
  }

  .gls-language-hero-copy p {
    font-size: 16px;
  }

  .gls-language-passport-card {
    padding: 20px;
    border-radius: 24px;
  }

  .gls-language-passport-image {
    height: 280px;
  }

  .gls-language-route-featured, .gls-language-route-horizontal, .gls-language-mini-card {
    min-height: 330px;
  }

  .gls-language-mini-grid {
    grid-template-columns: 1fr;
  }

  .gls-language-route-content {
    left: 20px;
    right: 20px;
    bottom: 20px;
  }

  .gls-language-hero-actions a {
    width: 100%;
  }
}

.gls-language-method-section {
  background: var(--white);
}

.gls-language-method-box {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(420px, 1fr);
  gap: 44px;
  align-items: center;
  padding: 46px;
  border-radius: 34px;
  background: radial-gradient(circle at 12% 18%, rgba(9, 176, 79, .18), transparent 30%),
    linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  box-shadow: 0 28px 80px rgba(0, 51, 153, .22);
}

.gls-language-method-content h2 {
  margin: 18px 0 16px;
  color: var(--white);
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.06;
  letter-spacing: -0.05em;
  font-weight: 600;
}

.gls-language-method-content p {
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: 17px;
  line-height: 1.75;
}

.gls-language-method-steps {
  display: grid;
  gap: 14px;
}

.gls-language-method-steps article {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .14);
  backdrop-filter: blur(12px);
}

.gls-language-method-steps strong {
  width: 48px;
  height: 48px;
  min-width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: rgba(255, 255, 255, .14);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
}

.gls-language-method-steps h3 {
  margin: 0 0 6px;
  color: var(--white);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.gls-language-method-steps p {
  margin: 0;
  color: rgba(255, 255, 255, .76);
  font-size: 14.5px;
  line-height: 1.6;
}

@media (max-width: 1100px) {
  .gls-language-method-box {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .gls-language-method-box {
    padding: 28px 22px;
    border-radius: 26px;
  }

  .gls-language-method-steps article {
    flex-direction: column;
  }
}

.gls-global-final-cta {
  padding: 76px 0 !important;
  background: var(--white) !important;
}

.gls-global-final-cta-box {
  position: relative !important;
  overflow: hidden !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: clamp(34px, 5vw, 58px) !important;
  border-radius: 34px !important;
  text-align: center !important;
  background: radial-gradient(circle at 12% 18%, rgba(9, 176, 79, .22), transparent 30%),
    radial-gradient(circle at 88% 20%, rgba(4, 118, 189, .18), transparent 32%),
    linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  box-shadow: 0 30px 90px rgba(0, 51, 153, .24) !important;
}

.gls-global-final-cta-box::before {
  content: "" !important;
  position: absolute !important;
  inset: 18px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  pointer-events: none !important;
}

.gls-global-final-cta-box>span {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 auto 16px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.gls-global-final-cta-box h3 {
  position: relative !important;
  z-index: 2 !important;
  max-width: 780px !important;
  margin: 0 auto 14px !important;
  color: var(--white) !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-size: clamp(32px, 4.6vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-global-final-cta-box p {
  position: relative !important;
  z-index: 2 !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

.gls-global-final-cta-box .gls-cta-btns {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 30px !important;
}

.gls-global-final-cta-box .gls-btn, .gls-global-final-cta-box .gls-btn-white, .gls-global-final-cta-box .gls-btn-outline {
  min-height: 50px !important;
  padding: 0 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .22s ease !important;
}

.gls-global-final-cta-box .gls-btn-white {
  background: var(--white) !important;
  color: var(--navy) !important;
  border: 2px solid var(--white) !important;
}

.gls-global-final-cta-box .gls-btn-outline {
  background: var(--green) !important;
  border-color: var(--green) !important;
  color: var(--white) !important;
}

.gls-global-final-cta-box .gls-btn-white:hover {
  background: var(--green) !important;
  border-color: var(--green) !important;
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-global-final-cta-box .gls-btn-outline:hover {
  background: var(--white) !important;
  border-color: var(--white) !important;
  color: var(--navy) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 768px) {
  .gls-global-final-cta {
    padding: 56px 0 !important;
  }

  .gls-global-final-cta-box {
    padding: 34px 22px !important;
    border-radius: 26px !important;
  }

  .gls-global-final-cta-box::before {
    inset: 10px !important;
    border-radius: 20px !important;
  }

  .gls-global-final-cta-box .gls-cta-btns, .gls-global-final-cta-box .gls-btn, .gls-global-final-cta-box .gls-btn-white, .gls-global-final-cta-box .gls-btn-outline {
    width: 100% !important;
  }
}

.gls-global-strip-cta {
  background: var(--white) !important;
  padding: 72px 0 !important;
}

.gls-global-strip-cta-box {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 34px !important;
  align-items: center !important;
  padding: clamp(34px, 5vw, 52px) !important;
  border-radius: 30px !important;
  background: var(--navy) !important;
  box-shadow: 0 28px 80px rgba(0, 51, 153, .20) !important;
}

.gls-global-strip-cta-content span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .14) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.gls-global-strip-cta-content h3 {
  max-width: 620px !important;
  margin: 0 0 14px !important;
  color: var(--white) !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-size: clamp(30px, 4vw, 46px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  font-weight: 600 !important;
}

.gls-global-strip-cta-content p {
  max-width: 620px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

.gls-global-strip-cta-actions {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
}

.gls-global-strip-cta-actions .gls-btn {
  min-height: 50px !important;
  padding: 0 26px !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.gls-global-strip-cta-actions .gls-btn-gold {
  background: var(--green) !important;
  border: 2px solid var(--green) !important;
  color: var(--white) !important;
}

.gls-global-strip-cta-actions .gls-btn-gold:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white) !important;
  transform: translateY(-2px) !important;
}

.gls-global-strip-cta-actions .gls-btn-outline {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, .36) !important;
}

.gls-global-strip-cta-actions .gls-btn-outline:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 900px) {
  .gls-global-strip-cta-box {
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }

  .gls-global-strip-cta-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 640px) {
  .gls-global-strip-cta {
    padding: 54px 0 !important;
  }

  .gls-global-strip-cta-box {
    padding: 30px 22px !important;
    border-radius: 24px !important;
  }

  .gls-global-strip-cta-content h3 {
    font-size: clamp(28px, 9vw, 38px) !important;
  }

  .gls-global-strip-cta-actions, .gls-global-strip-cta-actions .gls-btn {
    width: 100% !important;
  }
}

.gls-language-pathway-section {
  position: relative !important;
  overflow: hidden !important;
  background: var(--white) !important;
}

.gls-language-pathway-section::before {
  display: none !important;
  content: none !important;
}

.gls-language-pathway-layout {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(520px, 1fr) !important;
  gap: 58px !important;
  align-items: center !important;
}

.gls-language-pathway-intro {
  position: relative !important;
  padding: 42px !important;
  border-radius: 34px !important;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.gls-language-pathway-intro::before {
  content: "" !important;
  position: absolute !important;
  width: 260px !important;
  height: 260px !important;
  right: -90px !important;
  top: -90px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(9, 176, 79, .30), transparent 68%) !important;
}

.gls-language-pathway-intro::after {
  content: "" !important;
  position: absolute !important;
  inset: 16px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  pointer-events: none !important;
}

.gls-language-pathway-intro .gls-tag {
  position: relative !important;
  z-index: 2 !important;
  background: rgba(255, 255, 255, .13) !important;
  color: var(--white) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
}

.gls-language-pathway-intro h2 {
  position: relative !important;
  z-index: 2 !important;
  margin: 18px 0 18px !important;
  color: var(--white) !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.055em !important;
  font-weight: 600 !important;
}

.gls-language-pathway-intro p {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.gls-language-pathway-highlight {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 30px !important;
  padding: 20px !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .10) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.gls-language-pathway-highlight strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--white) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.gls-language-pathway-highlight span {
  display: block !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.gls-language-pathway-steps {
  position: relative !important;
  display: grid !important;
  gap: 22px !important;
}

.gls-language-pathway-steps::before {
  content: "" !important;
  position: absolute !important;
  left: 34px !important;
  top: 42px !important;
  bottom: 42px !important;
  width: 2px !important;
  background: linear-gradient(180deg, rgba(4, 118, 189, .22), rgba(9, 176, 79, .28)) !important;
}

.gls-language-pathway-step {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 70px minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}

.gls-language-pathway-number {
  position: relative !important;
  z-index: 2 !important;
  width: 68px !important;
  height: 68px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  color: var(--white) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  box-shadow: 0 18px 44px rgba(0, 51, 153, .20) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
}

.gls-language-pathway-card {
  position: relative !important;
  padding: 26px !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .78) !important;
  border: 1px solid rgba(226, 232, 240, .95) !important;
  box-shadow: 0 18px 50px rgba(0, 51, 153, .08),
    inset 0 1px 0 rgba(255, 255, 255, .90) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.gls-language-pathway-card:hover {
  transform: translateX(8px) !important;
  border-color: rgba(4, 118, 189, .28) !important;
  box-shadow: 0 28px 70px rgba(0, 51, 153, .13),
    inset 0 1px 0 rgba(255, 255, 255, .95) !important;
}

.gls-language-pathway-card span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 7px 13px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: var(--blue-light) !important;
  color: var(--blue) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border: 1px solid var(--gray-200) !important;
}

.gls-language-pathway-card h3 {
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
}

.gls-language-pathway-card p {
  margin: 0 !important;
  color: #64748B !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

@media (max-width: 1100px) {
  .gls-language-pathway-layout {
    grid-template-columns: 1fr !important;
  }

  .gls-language-pathway-intro {
    max-width: none !important;
  }
}

@media (max-width: 768px) {
  .gls-language-pathway-layout {
    gap: 32px !important;
  }

  .gls-language-pathway-intro {
    padding: 30px 22px !important;
    border-radius: 26px !important;
  }

  .gls-language-pathway-intro::after {
    inset: 10px !important;
    border-radius: 20px !important;
  }

  .gls-language-pathway-intro h2 {
    font-size: clamp(30px, 9vw, 42px) !important;
  }

  .gls-language-pathway-step {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .gls-language-pathway-steps::before {
    display: none !important;
  }

  .gls-language-pathway-number {
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
  }

  .gls-language-pathway-card {
    padding: 22px !important;
    border-radius: 22px !important;
  }

  .gls-language-pathway-card:hover {
    transform: translateY(-4px) !important;
  }
}

.gls-camps-page .gls-section, .gls-camps-page .gls-language-pathway-section, .gls-camps-page .gls-language-routes, .gls-camps-page .gls-language-purpose, .gls-camps-page .gls-language-types {
  background: var(--white) !important;
  background-color: var(--white) !important;
}

.gls-camps-page .gls-language-pathway-section::before, .gls-camps-page .gls-language-pathway-section::after {
  display: none !important;
  content: none !important;
}

.gls-camps-page .gls-language-pathway-card, .gls-camps-page .gls-program-card {
  background: var(--white) !important;
}

/*
   ═══════════════════════════════════════════════════════════════
      RESPONSIVE FINAL — AJUSTES SEGUROS MOBILE
      ═══════════════════════════════════════════════════════════════
 */

@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  .gls-container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .gls-section,
  .gls-section-sm {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .gls-btn,
  .gls-btn-outline,
  .gls-btn-gold,
  .gls-btn-white,
  .gls-btn-primary-clean,
  .gls-btn-secondary-clean {
    max-width: 100%;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
  }

  .gls-cta-actions,
  .gls-hero-actions {
    width: 100%;
  }
}

@media (max-width: 540px) {
  .gls-container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .gls-section-header {
    margin-bottom: 34px;
  }

  .gls-section-header p,
  .gls-page-hero p {
    font-size: 16px;
  }
}

/*
   ════════════════════════════════════════════════════════════
      HOME V2 + HEADER — MOBILE FIXES
      ════════════════════════════════════════════════════════════
 */

/* ── 1. Topbar visible y compacto en mobile ─────────────────── */

@media (max-width: 768px) {
  .gls-topbar {
    display: block !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0;
  }

  .gls-topbar::-webkit-scrollbar {
    display: none;
  }

  .gls-topbar-inner {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 24px !important;
    padding: 7px 16px !important;
    width: max-content;
    min-width: 100%;
  }

  .gls-topbar-item {
    gap: 7px;
  }

  .gls-topbar-item strong {
    font-size: 11px;
  }

  .gls-topbar-item small {
    font-size: 10px;
  }

  .gls-topbar-icon svg {
    width: 13px;
    height: 13px;
  }
}

/* ── 2. Sub-menús hamburguesa: CSS class-driven ─────────────── */

/* Cuando el <li> tiene clase .open (añadida por JS), mostrar sub-menu */

.gls-nav.open .menu-item-has-children.open > .sub-menu {
  display: block !important;
}

/* ── 3. Home v2 hero — fix completo mobile ─────────────────── */

/* 3a. Ocultar blobs (causan overflow horizontal) */

@media (max-width: 768px) {
  .gls-home-v2-bg {
    display: none !important;
  }
}

/*
   3b. ≤768px: ocultar cards secundarias, hero más compacto,
           glass card sin margen negativo
 */

@media (max-width: 768px) {
  .gls-home-v2-hero {
    overflow-x: hidden !important;
    padding: 48px 0 40px !important;
  }

  /* Ocultar las 2 cards decorativas → solo queda la principal */

  /* Card principal: altura razonable */

  .gls-home-v2-card-main {
    height: 260px !important;
    border-radius: 22px !important;
  }

  /* Glass card: anular margen negativo heredado, queda debajo de la card */

  .gls-home-v2-glass-card {
    margin-top: 16px !important;
    width: 100% !important;
    padding: 18px !important;
    border-radius: 18px !important;
  }

  /* Stats: 2 columnas, margen compacto */

  .gls-home-v2-stats {
    grid-template-columns: repeat(2, 1fr) !important;
    margin-top: 32px !important;
  }

  /* Sección siguiente: menos padding-top */
}

/* 3c. ≤480px: ajustes extra para pantallas muy pequeñas */

@media (max-width: 480px) {
  .gls-home-v2-card-main {
    height: 200px !important;
  }

  .gls-home-v2-glass-card {
    padding: 14px !important;
  }
}

/* 3b. ≤768px: home v2 mobile estable */

@media (max-width: 768px) {
  .gls-home-v2-hero {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: hidden !important;
    padding: 72px 0 40px !important;
  }

  .gls-home-v2-hero .gls-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .gls-home-v2-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    align-items: stretch !important;
  }

  .gls-home-v2-visual {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    display: grid !important;
    gap: 16px !important;
  }

  .gls-home-v2-card-spain,
  .gls-home-v2-card-uk {
    display: none !important;
  }

  .gls-home-v2-card-main {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 260px !important;
    border-radius: 22px !important;
  }

  .gls-home-v2-glass-card {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin-top: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .gls-home-v2-stats {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, 1fr) !important;
    margin: 32px auto 0 !important;
  }

  .gls-home-v2-hero + .gls-home-start {
    padding-top: 48px !important;
  }
}

/* 3c. ≤480px: ajustes extra para pantallas pequeñas */

@media (max-width: 480px) {
  .gls-home-v2-hero {
    padding: 60px 0 32px !important;
  }

  .gls-home-v2-content {
    padding-top: 16px !important;
  }

  .gls-home-v2-content h1 {
    font-size: clamp(30px, 8.5vw, 42px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
  }

  .gls-home-v2-content p {
    font-size: 15px !important;
  }

  .gls-home-v2-actions {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .gls-home-v2-actions a {
    width: 100% !important;
    text-align: center !important;
  }

  .gls-home-v2-card-main {
    height: 210px !important;
    border-radius: 18px !important;
  }

  .gls-home-v2-glass-card {
    padding: 14px !important;
    margin-top: 12px !important;
  }

  .gls-home-v2-stats {
    margin-top: 24px !important;
    border-radius: 18px !important;
  }

  .gls-home-v2-stats div {
    padding: 16px 12px !important;
  }

  .gls-home-v2-stats strong {
    font-size: 22px !important;
  }

  .gls-home-v2-stats span {
    font-size: 11px !important;
  }
}

/*
   =========================================================
      DESTINATIONS SHOWCASE — CARDS UNIFORMES PREMIUM
      Todas las imágenes completas y mismo tamaño visual
      =========================================================
 */

.gls-destinations-showcase {
  background: var(--white);
}

.gls-destinations-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

/* Card base */

.gls-destination-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  min-height: 100%;
  border-radius: 24px;
  background: var(--white);
  border: 1px solid #E2E8F0;
  text-decoration: none !important;
  box-shadow: 0 16px 42px rgba(0, 51, 153, .075),
    inset 0 1px 0 rgba(255, 255, 255, .95);
  transition: transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease;
}

.gls-destination-card:hover {
  transform: translateY(-4px);
  border-color: rgba(4, 118, 189, .25);
  box-shadow: 0 24px 64px rgba(0, 51, 153, .12),
    inset 0 1px 0 rgba(255, 255, 255, .95);
  text-decoration: none !important;
}

/* Imagen completa, sin recorte */

.gls-destination-image {
  width: 100%;
  padding: 12px;
  background: #F8FAFC;
  border-bottom: 1px solid #E2E8F0;
}

.gls-destination-image img {
  width: 100%;
  height: 210px;
  display: block;
  object-fit: contain;
  object-position: center;
  border-radius: 16px;
  transition: transform .35s ease;
}

.gls-destination-card:hover .gls-destination-image img {
  transform: scale(1.015);
}

/* Contenido */

.gls-destination-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  flex: 1;
  padding: 22px;
  background: linear-gradient(135deg, var(--white) 0%, #F8FAFC 100%);
}

.gls-destination-content h3 {
  margin: 0;
  color: var(--navy);
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif;
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: -0.035em;
  font-weight: 600;
}

/* Label */

.gls-destination-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 6px 13px;
  border-radius: 999px;
  background: var(--blue-light);
  color: var(--blue);
  border: 1px solid var(--gray-200);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Botón / link */

.gls-destination-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin-top: auto;
  padding: 0 17px;
  border-radius: 999px;
  background: var(--navy);
  color: var(--white);
  border: 1px solid var(--navy);
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
  transition: transform .22s ease,
    background .22s ease,
    border-color .22s ease,
    color .22s ease;
}

.gls-destination-card:hover .gls-destination-link {
  transform: translateX(4px);
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

/* Evitar subrayados heredados */

.gls-destination-card:hover h3,
.gls-destination-card:hover span {
  text-decoration: none !important;
}

/*
   =========================================================
      RESPONSIVE DESTINATIONS SHOWCASE
      =========================================================
 */

@media (max-width: 1024px) {
  .gls-destinations-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gls-destination-image img {
    height: 220px;
  }
}

@media (max-width: 680px) {
  .gls-destinations-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .gls-destination-card {
    border-radius: 22px;
  }

  .gls-destination-image {
    padding: 10px;
  }

  .gls-destination-image img {
    height: auto;
    max-height: none;
    border-radius: 14px;
  }

  .gls-destination-content {
    padding: 20px 18px;
  }

  .gls-destination-content h3 {
    font-size: 24px;
  }

  .gls-destination-link {
    width: 100%;
  }
}

/*
   ── Espaciado bajo el header en mobile/tablet ─────────────────────────────
      La regla entry-content>*:first-child { padding-top: 0 } es necesaria en
      desktop para evitar doble gap. En mobile la topbar no existe y el header
      es más compacto, por lo que hay que restaurar un respiro mínimo.
 */

@media (max-width: 1024px) {
  .entry-content > *:first-child,
  .gls-site-content .entry-content > div:first-child {
    padding-top: 48px !important;
  }

  /* Excepciones: secciones que ya tienen padding-top mayor definido */

  .entry-content > .gls-home-v2-hero:first-child,
  .entry-content > .gls-page-hero:first-child,
  .entry-content > [class*="gls-hero"]:first-child {
    padding-top: 48px !important;
  }
}

/*
   =========================================================
      ACCREDITATIONS — TEXTO SOBRIO CPT / OPT
      =========================================================
 */

.gls-accreditations-professional-text {
  max-width: 920px;
  margin: 72px auto 0;
  padding-top: 42px;
  border-top: 1px solid var(--gray-200);
  text-align: center;
}

.gls-accreditations-professional-text h3 {
  max-width: 780px;
  margin: 0 auto 16px;
  color: var(--navy);
  font-size: clamp(24px, 2.8vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.gls-accreditations-professional-text p {
  max-width: 880px;
  margin: 0 auto;
  color: var(--gray-600);
  font-size: 16px;
  line-height: 1.8;
}

@media (max-width: 768px) {
  .gls-accreditations-professional-text {
    margin-top: 52px;
    padding-top: 32px;
  }

  .gls-accreditations-professional-text h3 {
    font-size: clamp(22px, 7vw, 30px);
  }

  .gls-accreditations-professional-text p {
    font-size: 15.5px;
    line-height: 1.75;
  }
}

/*
   =========================================================
      USA UNIVERSITY MODALITIES — PREMIUM SECTION
      =========================================================
 */

.gls-usa-modalities-section {
  padding: 90px 0;
  background: radial-gradient(circle at 12% 18%, rgba(4, 118, 189, .10), transparent 32%),
    linear-gradient(180deg, var(--white) 0%, var(--gray-50) 100%);
}

.gls-usa-modalities-header {
  max-width: 780px;
  margin: 0 auto 46px;
  text-align: center;
}

.gls-usa-modalities-header h2 {
  margin: 12px 0 14px;
  color: var(--navy);
  letter-spacing: -0.04em;
}

.gls-usa-modalities-header p {
  max-width: 720px;
  margin: 0 auto;
  color: var(--gray-600);
  font-size: 17px;
  line-height: 1.75;
}

.gls-usa-modalities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  align-items: stretch;
}

.gls-usa-modality-card {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 34px 28px 28px;
  border-radius: 28px;
  background: var(--white);
  border: 1px solid var(--gray-200);
  box-shadow: 0 18px 52px rgba(0, 51, 153, .08),
    inset 0 1px 0 rgba(255,255,255,.95);
  transition: transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.gls-usa-modality-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  right: 28px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--blue), var(--green));
  opacity: .9;
}

.gls-usa-modality-card:hover {
  transform: translateY(-7px);
  border-color: rgba(4, 118, 189, .35);
  box-shadow: 0 30px 80px rgba(0, 51, 153, .14),
    inset 0 1px 0 rgba(255,255,255,.98);
}

.gls-usa-modality-card-featured {
  background: radial-gradient(circle at 90% 0%, rgba(9, 176, 79, .08), transparent 34%),
    var(--white);
  border-color: rgba(4, 118, 189, .26);
}

.gls-usa-modality-icon {
  width: 68px;
  height: 68px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  background: var(--blue-light);
  border: 1px solid rgba(4, 118, 189, .14);
  font-size: 32px;
  line-height: 1;
}

.gls-usa-modality-card h3 {
  margin: 0 0 14px;
  color: var(--navy);
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -0.035em;
  font-weight: 600;
}

.gls-usa-modality-card p {
  flex: 1;
  margin: 0 0 26px;
  color: var(--gray-600);
  font-size: 15px;
  line-height: 1.7;
}

.gls-usa-modality-btn {
  width: 100%;
  min-height: 46px;
  margin-top: auto;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--blue);
  color: var(--white) !important;
  border: 2px solid var(--blue);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  transition: transform .22s ease,
    background .22s ease,
    border-color .22s ease,
    color .22s ease;
}

.gls-usa-modality-btn:hover {
  transform: translateY(-2px);
  background: var(--green);
  border-color: var(--green);
  color: var(--white) !important;
  text-decoration: none !important;
}

.gls-usa-modality-card-featured .gls-usa-modality-btn {
  background: var(--green);
  border-color: var(--green);
}

.gls-usa-modality-card-featured .gls-usa-modality-btn:hover {
  background: var(--navy);
  border-color: var(--navy);
}

/*
   =========================================================
      RESPONSIVE
      =========================================================
 */

@media (max-width: 1024px) {
  .gls-usa-modalities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gls-usa-modality-card-featured {
    grid-column: span 2;
  }
}

@media (max-width: 680px) {
  .gls-usa-modalities-section {
    padding: 64px 0;
  }

  .gls-usa-modalities-header {
    margin-bottom: 34px;
  }

  .gls-usa-modalities-header p {
    font-size: 16px;
  }

  .gls-usa-modalities-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .gls-usa-modality-card,
  .gls-usa-modality-card-featured {
    grid-column: auto;
    padding: 28px 22px 24px;
    border-radius: 24px;
  }

  .gls-usa-modality-card h3 {
    font-size: 22px;
  }

  .gls-usa-modality-btn {
    width: 100%;
    min-height: 48px;
  }
}

/*
   =========================================================
      GLS — DESTINATION FINAL CTA GLOBAL
      Unifica las tarjetas finales de países
      Aplica a: USA, Germany, Canada, UK, France, Ireland,
      New Zealand, Australia, Dubai, Malta, Spain
      =========================================================
 */

/* Sección exterior */

.gls-usa-final-cta,
.gls-germany-final-cta,
.gls-canada-final-cta,
.gls-uk-final-cta,
.gls-france-final-cta,
.gls-ireland-final-cta,
.gls-nz-final-cta,
.gls-australia-final-cta,
.gls-dubai-final-cta,
.gls-malta-final-cta,
.gls-spain-final-cta {
  background: var(--white) !important;
  padding: 70px 0 !important;
}

/* Caja principal */

.gls-usa-final-box,
.gls-germany-final-box,
.gls-canada-final-box,
.gls-uk-final-box,
.gls-france-final-box,
.gls-ireland-final-box,
.gls-nz-final-box,
.gls-australia-final-box,
.gls-dubai-final-box,
.gls-malta-final-box,
.gls-spain-final-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 38px !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%) !important;
  box-shadow: 0 26px 70px rgba(0, 51, 153, 0.16) !important;
}

/* Tag superior dentro de la tarjeta */

.gls-usa-final-box span,
.gls-germany-final-box span,
.gls-canada-final-box span,
.gls-uk-final-box span,
.gls-france-final-box span,
.gls-ireland-final-box span,
.gls-nz-final-box span,
.gls-australia-final-box span,
.gls-dubai-final-box span,
.gls-malta-final-box span,
.gls-spain-final-box span {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 6px 12px !important;
  margin-bottom: 14px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.14) !important;
  color: var(--white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* Título */

.gls-usa-final-box h3,
.gls-germany-final-box h3,
.gls-canada-final-box h3,
.gls-uk-final-box h3,
.gls-france-final-box h3,
.gls-ireland-final-box h3,
.gls-nz-final-box h3,
.gls-australia-final-box h3,
.gls-dubai-final-box h3,
.gls-malta-final-box h3,
.gls-spain-final-box h3 {
  color: var(--white) !important;
  margin: 0 0 10px !important;
  font-size: clamp(26px, 3.2vw, 38px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  font-weight: 500 !important;
}

/* Texto */

.gls-usa-final-box p,
.gls-germany-final-box p,
.gls-canada-final-box p,
.gls-uk-final-box p,
.gls-france-final-box p,
.gls-ireland-final-box p,
.gls-nz-final-box p,
.gls-australia-final-box p,
.gls-dubai-final-box p,
.gls-malta-final-box p,
.gls-spain-final-box p {
  color: rgba(255, 255, 255, 0.82) !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

/* Contenedor de botones */

.gls-usa-final-actions,
.gls-germany-final-actions,
.gls-canada-final-actions,
.gls-uk-final-actions,
.gls-france-final-actions,
.gls-ireland-final-actions,
.gls-nz-final-actions,
.gls-australia-final-actions,
.gls-dubai-final-actions,
.gls-malta-final-actions,
.gls-spain-final-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
}

/* Base botones */

.gls-usa-cta-primary,
.gls-usa-cta-secondary,
.gls-germany-cta-primary,
.gls-germany-cta-secondary,
.gls-canada-cta-primary,
.gls-canada-cta-secondary,
.gls-uk-cta-primary,
.gls-uk-cta-secondary,
.gls-france-cta-primary,
.gls-france-cta-secondary,
.gls-ireland-cta-primary,
.gls-ireland-cta-secondary,
.gls-nz-cta-primary,
.gls-nz-cta-secondary,
.gls-australia-cta-primary,
.gls-australia-cta-secondary,
.gls-dubai-cta-primary,
.gls-dubai-cta-secondary,
.gls-malta-cta-primary,
.gls-malta-cta-secondary,
.gls-spain-cta-primary,
.gls-spain-cta-secondary {
  min-height: 48px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

/* Botón primario: verde GLS */

.gls-usa-cta-primary,
.gls-germany-cta-primary,
.gls-canada-cta-primary,
.gls-uk-cta-primary,
.gls-france-cta-primary,
.gls-ireland-cta-primary,
.gls-nz-cta-primary,
.gls-australia-cta-primary,
.gls-dubai-cta-primary,
.gls-malta-cta-primary,
.gls-spain-cta-primary {
  background: var(--green) !important;
  color: var(--white) !important;
  border: 2px solid var(--green) !important;
  box-shadow: 0 14px 32px rgba(9, 176, 79, 0.20) !important;
}

/* Hover primario */

.gls-usa-cta-primary:hover,
.gls-germany-cta-primary:hover,
.gls-canada-cta-primary:hover,
.gls-uk-cta-primary:hover,
.gls-france-cta-primary:hover,
.gls-ireland-cta-primary:hover,
.gls-nz-cta-primary:hover,
.gls-australia-cta-primary:hover,
.gls-dubai-cta-primary:hover,
.gls-malta-cta-primary:hover,
.gls-spain-cta-primary:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: var(--white) !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
}

/* Botón secundario */

.gls-usa-cta-secondary,
.gls-germany-cta-secondary,
.gls-canada-cta-secondary,
.gls-uk-cta-secondary,
.gls-france-cta-secondary,
.gls-ireland-cta-secondary,
.gls-nz-cta-secondary,
.gls-australia-cta-secondary,
.gls-dubai-cta-secondary,
.gls-malta-cta-secondary,
.gls-spain-cta-secondary {
  background: transparent !important;
  color: var(--white) !important;
  border: 2px solid rgba(255, 255, 255, 0.42) !important;
}

/* Hover secundario */

.gls-usa-cta-secondary:hover,
.gls-germany-cta-secondary:hover,
.gls-canada-cta-secondary:hover,
.gls-uk-cta-secondary:hover,
.gls-france-cta-secondary:hover,
.gls-ireland-cta-secondary:hover,
.gls-nz-cta-secondary:hover,
.gls-australia-cta-secondary:hover,
.gls-dubai-cta-secondary:hover,
.gls-malta-cta-secondary:hover,
.gls-spain-cta-secondary:hover {
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--white) !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
}

/* Responsive global */

@media (max-width: 1100px) {
  .gls-usa-final-box,
  .gls-germany-final-box,
  .gls-canada-final-box,
  .gls-uk-final-box,
  .gls-france-final-box,
  .gls-ireland-final-box,
  .gls-nz-final-box,
  .gls-australia-final-box,
  .gls-dubai-final-box,
  .gls-malta-final-box,
  .gls-spain-final-box {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 640px) {
  .gls-usa-final-actions,
  .gls-germany-final-actions,
  .gls-canada-final-actions,
  .gls-uk-final-actions,
  .gls-france-final-actions,
  .gls-ireland-final-actions,
  .gls-nz-final-actions,
  .gls-australia-final-actions,
  .gls-dubai-final-actions,
  .gls-malta-final-actions,
  .gls-spain-final-actions {
    width: 100% !important;
    flex-direction: column !important;
  }

  .gls-usa-cta-primary,
  .gls-usa-cta-secondary,
  .gls-germany-cta-primary,
  .gls-germany-cta-secondary,
  .gls-canada-cta-primary,
  .gls-canada-cta-secondary,
  .gls-uk-cta-primary,
  .gls-uk-cta-secondary,
  .gls-france-cta-primary,
  .gls-france-cta-secondary,
  .gls-ireland-cta-primary,
  .gls-ireland-cta-secondary,
  .gls-nz-cta-primary,
  .gls-nz-cta-secondary,
  .gls-australia-cta-primary,
  .gls-australia-cta-secondary,
  .gls-dubai-cta-primary,
  .gls-dubai-cta-secondary,
  .gls-malta-cta-primary,
  .gls-malta-cta-secondary,
  .gls-spain-cta-primary,
  .gls-spain-cta-secondary {
    width: 100% !important;
  }
}
/* =========================================================
   GLS — SINGLE UNIVERSITY FORM MOBILE BUTTON FIX
   Corrige botón del formulario dinámico de universidad
   ========================================================= */

.gls-uni-form-block .gls-btn-submit,
.gls-uni-form-block button[type="submit"],
.gls-uni-form-block input[type="submit"],
.gls-uni-form-block .gls-btn,
.gls-uni-form-block .gls-btn-primary-clean {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-align: center !important;
  justify-content: center !important;
  line-height: 1.25 !important;
}

/* =========================================================
   GLS — UNIVERSIDADES ALIADAS / ACORDEÓN
   Usa variables globales GLS ya existentes
   ========================================================= */

.gls-usa-universities-directory {
  background: var(--white);
  position: relative;
}

.gls-usa-universities-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: -18px 0 34px;
}

.gls-usa-universities-summary div {
  padding: 22px;
  border-radius: 20px;
  background: linear-gradient(180deg, var(--white) 0%, var(--gray-50) 100%);
  border: 1px solid var(--gray-200);
  box-shadow: var(--shadow-md);
  text-align: center;
}

.gls-usa-universities-summary strong {
  display: block;
  color: var(--navy);
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
  font-weight: 500;
  margin-bottom: 8px;
}

.gls-usa-universities-summary span {
  display: block;
  color: var(--text-muted);
  font-size: 14px;
}

/* Acordeón */
.gls-usa-universities-accordion {
  display: grid;
  gap: 14px;
}

.gls-usa-university-group {
  border: 1px solid var(--gray-200);
  border-radius: 18px;
  background: var(--white);
  box-shadow: 0 12px 30px rgba(0, 51, 153, 0.06);
  overflow: hidden;
}

.gls-usa-university-group summary {
  list-style: none;
  cursor: pointer;
  min-height: 64px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--navy);
  font-weight: 600;
}

.gls-usa-university-group summary::-webkit-details-marker {
  display: none;
}

.gls-usa-university-group summary::after {
  content: "+";
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--blue-light);
  color: var(--blue);
  font-size: 20px;
  font-weight: 500;
  flex-shrink: 0;
  transition: background 0.2s ease, color 0.2s ease;
}

.gls-usa-university-group[open] summary::after {
  content: "−";
  background: var(--green);
  color: var(--white);
}

.gls-usa-university-group summary span {
  font-family: "Space Grotesk", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.gls-usa-university-group summary small {
  margin-left: auto;
  color: var(--text-muted);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

/* Lista de universidades */
.gls-usa-university-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  padding: 0 22px 22px;
  margin: 0;
  list-style: none;
}

.gls-usa-university-list li {
  margin: 0;
}

.gls-usa-university-list a {
  position: relative;
  min-height: 48px;
  padding: 12px 40px 12px 34px;
  border-radius: 12px;
  background: var(--gray-50);
  border: 1px solid rgba(4, 118, 189, 0.10);
  color: var(--text);
  font-size: 14px;
  line-height: 1.45;
  display: flex;
  align-items: center;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.gls-usa-university-list a::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--green);
  font-weight: 600;
}

.gls-usa-university-list a::after {
  content: "→";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--blue);
  opacity: 0.75;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.gls-usa-university-list a:hover {
  background: var(--white);
  border-color: rgba(4, 118, 189, 0.24);
  color: var(--blue);
  box-shadow: 0 10px 24px rgba(0, 51, 153, 0.08);
}

.gls-usa-university-list a:hover::after {
  transform: translate(3px, -50%);
  opacity: 1;
}

/* Nota final */
.gls-usa-universities-note {
  margin-top: 30px;
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  box-shadow: 0 22px 55px rgba(0, 51, 153, 0.16);
}

.gls-usa-universities-note strong {
  display: block;
  color: var(--white);
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 6px;
}

.gls-usa-universities-note span {
  display: block;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  line-height: 1.6;
}

.gls-usa-universities-note a {
  flex-shrink: 0;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 12px;
  background: var(--green);
  border: 2px solid var(--green);
  color: var(--white) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.gls-usa-universities-note a:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: var(--white) !important;
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 768px) {
  .gls-usa-universities-summary {
    grid-template-columns: 1fr;
    margin-bottom: 28px;
  }

  .gls-usa-university-group summary {
    padding: 16px 18px;
    align-items: flex-start;
  }

  .gls-usa-university-group summary span {
    font-size: 17px;
  }

  .gls-usa-university-group summary small {
    display: block;
    margin-left: 0;
    margin-top: 4px;
  }

  .gls-usa-university-list {
    grid-template-columns: 1fr;
    padding: 0 18px 18px;
  }

  .gls-usa-university-list a {
    font-size: 13.5px;
    padding-right: 38px;
  }

  .gls-usa-universities-note {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
  }

  .gls-usa-universities-note a {
    width: 100%;
  }
}
.gls-offices-grid.gls-offices-premium-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 300px));
  justify-content: center;
  align-items: stretch;
  gap: 24px;
}
@media (max-width: 640px) {
  .gls-offices-grid.gls-offices-premium-grid {
    grid-template-columns: 1fr;
    max-width: 340px;
    margin: 0 auto;
  }
}
