/*
 * GLN English landing — values from GLN.fig, frame 801:2262 (desktop 1440 px, content 1200 px).
 * Everything is scoped under .gln-landing; no global reset.
 * Breakpoints: ≥1200 design size · 1024–1199 fluid · <1024 tablet stack · <768 mobile.
 */
.gln-landing {
  /* Colors (Figma fills / color styles) */
  --gln-red: #c31f2b;
  --gln-red-bright: #ed1d26;
  --gln-red-arrow: #c82930;
  --gln-red-class: #c51d1d;
  --gln-red-students: #9a0006;
  --gln-red-reasons: #a80007;
  --gln-red-shape: #cd0318;
  --gln-navy: #090e2f;
  --gln-beige: #f7d6ac;
  --gln-yellow: #ffd563;
  --gln-text: #212121;
  --gln-muted: #555555;
  --gln-white: #ffffff;
  --gln-offwhite: #fafafa;
  --gln-surface-soft: #f9f9f9;
  --gln-surface-grey: #efefef;
  --gln-footer-bg: #eeeeee;
  --gln-photo-bg: #d9d9d9;
  --gln-event-bg: #434343;
  /* Type (Figma text styles) */
  --gln-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --gln-font-display: "Be Vietnam Pro", var(--gln-font);
  --gln-font-number: "Bebas Neue", var(--gln-font);
  --gln-font-brand: "SVN-Gilroy", var(--gln-font); /* commercial font, not bundled */
  /* Layout */
  --gln-container: 1200px;
  --gln-gutter: 24px;
  --gln-section-gap: 120px;

  position: relative;
  isolation: isolate;
  overflow-x: clip;
  color: var(--gln-text);
  font-family: var(--gln-font);
  font-size: 16px;
  line-height: 1.3;
  background: var(--gln-white);
}

.gln-landing *,
.gln-landing *::before,
.gln-landing *::after { box-sizing: border-box; }
.gln-landing img { display: block; max-width: 100%; }
.gln-landing h2, .gln-landing h3, .gln-landing h4, .gln-landing p,
.gln-landing ul, .gln-landing figure, .gln-landing blockquote { margin: 0; }
.gln-landing ul { padding: 0; list-style: none; }
.gln-landing a { color: inherit; text-decoration: none; }
.gln-landing button { font: inherit; color: inherit; }
.gln-landing :focus-visible { outline: 3px solid var(--gln-red-bright); outline-offset: 2px; }
/* Host-theme neutraliser: WordPress themes style h*, li, blockquote, button and form fields globally
   (Betheme: `.column_column ul li { margin-bottom: 10px }`, `button { padding: 11px 20px }`, …).
   `html body` adds element weight to beat those, while staying below component rules (two classes). */
.gln-landing { font-weight: 400; }
.gln-landing h2, .gln-landing h3, .gln-landing h4 {
  font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit;
  letter-spacing: inherit; color: inherit; text-transform: none;
}
html body .gln-landing ul, html body .gln-landing li, html body .gln-landing ul ul { margin: 0; color: inherit; }
.gln-landing blockquote { margin: 0; padding: 0; background: none; position: static; font-family: inherit; }
.gln-landing button, .gln-landing input, .gln-landing select { margin: 0; border-radius: 0; box-shadow: none; }
.gln-landing button { padding: 0; overflow: visible; }
/* Image heights use the root ID: themes force `#Content img { height: auto }`. */

.gln-landing .gln-container {
  width: 100%;
  max-width: calc(var(--gln-container) + 2 * var(--gln-gutter));
  margin: 0 auto;
  padding: 0 var(--gln-gutter);
}
.gln-landing .gln-section { padding-top: var(--gln-section-gap); }
.gln-landing .gln-sr-only {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}
.gln-landing .gln-icon { width: 24px; height: 24px; flex: none; }
.gln-landing .gln-chevron { width: 12px; height: 24px; flex: none; }

/* Add class "gln-show-placeholders" to .gln-landing to outline content that still needs real data. */
.gln-landing.gln-show-placeholders [data-placeholder] { outline: 2px dashed #e0a800; outline-offset: -2px; }

/* Decorative wave texture ("back", opacity .3) */
.gln-landing .gln-deco {
  position: absolute; z-index: -1; width: 1453px; height: 2906px;
  background: url("../img/deco-wave.jpg") center / cover no-repeat;
  opacity: 0.3; pointer-events: none;
}
.gln-landing .gln-deco--top { top: 672px; left: calc(50% - 225px); }
.gln-landing .gln-deco--bottom { top: 6217px; left: calc(50% + 45px); }

/* Section heading: eyebrow (line + label) and display title */
.gln-landing .gln-heading { display: grid; gap: 12px; }
.gln-landing .gln-heading__eyebrow {
  display: flex; align-items: flex-start; gap: 17px;
  color: var(--gln-red); font-weight: 700; font-size: 20px; line-height: 1.4;
  letter-spacing: 0.2em; text-transform: uppercase;
}
.gln-landing .gln-heading__eyebrow::before {
  content: ""; flex: none; width: 60px; height: 2px; margin-top: 19px; background: currentColor;
}
.gln-landing .gln-heading__title {
  font-family: var(--gln-font-display); font-weight: 800; font-size: 48px; line-height: 1.3;
  text-transform: uppercase; color: var(--gln-text);
}
.gln-landing .gln-heading--light .gln-heading__eyebrow { color: var(--gln-beige); }
.gln-landing .gln-heading--light .gln-heading__title { color: var(--gln-offwhite); }

/* Buttons and links */
.gln-landing .gln-button {
  display: inline-flex; align-items: center; gap: 12px; height: 44px; padding-left: 16px;
  border: 0; background: var(--gln-white); color: var(--gln-red-bright); cursor: pointer;
  font-weight: 700; font-size: 16px; line-height: 1.3; text-transform: uppercase;
}
.gln-landing .gln-button__icon {
  display: grid; place-items: center; width: 45px; height: 44px; border: 1px solid var(--gln-red);
  --gln-chevron-stroke: 2.5;
}
.gln-landing .gln-button__icon .gln-chevron { width: 6px; height: 12px; }
.gln-landing .gln-button:hover { background: var(--gln-offwhite); }
.gln-landing .gln-more {
  display: inline-flex; align-items: center; gap: 4px;
  color: var(--gln-red-bright); font-weight: 700; font-size: 16px;
  --gln-chevron-stroke: 2.5;
}
.gln-landing .gln-more .gln-chevron { width: 8px; height: 16px; }
.gln-landing .gln-more--light { color: var(--gln-offwhite); }
.gln-landing .gln-more:hover { text-decoration: underline; }

/* Carousel arrows */
.gln-landing .gln-arrow {
  position: absolute; z-index: 2; display: grid; place-items: center; padding: 0; border: 0;
  cursor: pointer; color: var(--gln-white); --gln-chevron-stroke: 3;
}
.gln-landing .gln-arrow[hidden] { display: none; }
.gln-landing [data-carousel-track].is-dragging { cursor: grabbing; user-select: none; }
.gln-landing .gln-arrow:disabled { opacity: 0.4; cursor: default; }
.gln-landing .gln-arrow .gln-chevron { width: 10px; height: 20px; }
.gln-landing .gln-arrow--prev .gln-chevron { transform: scaleX(-1); }
.gln-landing .gln-arrow--glass { width: 58px; height: 60px; background: rgba(255, 255, 255, 0.3); }
.gln-landing .gln-arrow--solid { width: 58px; height: 60px; background: var(--gln-red-arrow); }
.gln-landing .gln-arrow--plain { width: 64px; height: 72px; background: none; color: var(--gln-red); --gln-chevron-stroke: 2.5; }
.gln-landing .gln-arrow--plain .gln-chevron { width: 16px; height: 32px; }

/* Header 801:2625 */
.gln-landing .gln-header {
  position: relative; z-index: 10; background: var(--gln-white);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.gln-landing .gln-header__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 80px;
}
#gln-landing .gln-header__logo img { width: 115px; height: auto; }
.gln-landing .gln-nav ul { display: flex; gap: 26px; }
.gln-landing .gln-nav a { font-weight: 700; font-size: 20px; color: #000; white-space: nowrap; text-transform: capitalize; }
.gln-landing .gln-nav a:hover { color: var(--gln-red); }
.gln-landing .gln-header__actions { display: flex; align-items: center; gap: 20px; }
.gln-landing .gln-header__cta {
  padding: 8px 12px; border-radius: 8px; background: var(--gln-red-bright); color: var(--gln-offwhite);
  font-weight: 700; font-size: 16px; text-transform: uppercase; white-space: nowrap;
}
.gln-landing .gln-icon-button {
  display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0;
  background: none; cursor: pointer; color: #000;
}
.gln-landing .gln-header__menu { display: none; }

/* Hero 801:2335 */
.gln-landing .gln-hero { position: relative; }
#gln-landing .gln-hero__banner img { width: 100%; height: auto; }
.gln-landing .gln-hero__track {
  display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
}
.gln-landing .gln-hero__track::-webkit-scrollbar { display: none; }
.gln-landing .gln-hero__slide {
  flex: 0 0 100%; display: grid; place-items: center; aspect-ratio: 1440 / 680;
  scroll-snap-align: start; background: #bcbcbc; text-align: center;
  font-weight: 700; font-size: clamp(18px, 2.2vw, 32px); color: var(--gln-text);
}
.gln-landing .gln-hero .gln-arrow { top: 50%; transform: translateY(-50%); }
.gln-landing .gln-arrow--prev { left: 0; }
.gln-landing .gln-arrow--next { right: 0; }
.gln-landing .gln-hero__dots {
  position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px;
}
.gln-landing .gln-hero__dots button {
  width: 40px; height: 3px; padding: 0; border: 0; border-radius: 44px; cursor: pointer;
  background: rgba(255, 255, 255, 0.5);
}
.gln-landing .gln-hero__dots button[aria-current="true"] { background: var(--gln-white); }

/* Programs 801:2544 */
.gln-landing .gln-programs__inner {
  display: grid; grid-template-columns: 588fr 551fr; column-gap: 61px; align-items: start;
}
.gln-landing .gln-programs__content { display: grid; gap: 60px; }
.gln-landing .gln-programs__list { display: grid; gap: 28px; }
.gln-landing .gln-program {
  display: flex; align-items: center; gap: 16px; padding-bottom: 26px; border-bottom: 1px solid var(--gln-muted);
  font-weight: 700; font-size: 24px; line-height: 1.3; color: #000; text-transform: capitalize;
}
.gln-landing .gln-program > span { flex: 1; }
.gln-landing .gln-program__icon { width: 32px; height: 32px; color: var(--gln-red); }
.gln-landing .gln-program .gln-chevron { color: #1e1e1e; }
.gln-landing .gln-program:hover { color: var(--gln-red); }
.gln-landing .gln-programs__media { position: relative; margin-right: calc(-1 * min(62px, var(--gln-gutter) + max(0px, (100vw - 1248px) / 2))); }
#gln-landing .gln-programs__media img { width: 100%; height: 882px; object-fit: cover; }
.gln-landing .gln-programs__cta { position: absolute; left: 36px; bottom: 32px; }

/* Services 801:2561 */
.gln-landing .gln-services .gln-heading { margin-bottom: 60px; }
.gln-landing .gln-services__grid {
  display: grid;
  grid-template-columns: 616fr 74fr 24fr 313fr 173fr;
  grid-template-rows: 40px 94px 40px 214px 26px 34px auto;
}
#gln-landing .gln-services__main { grid-area: 1 / 1 / 5 / 3; width: 100%; height: 100%; object-fit: cover; }
.gln-landing .gln-services__label {
  grid-area: 2 / 2 / 3 / 5; z-index: 1; display: flex; align-items: center; padding: 16px 24px;
  background: var(--gln-navy); color: var(--gln-yellow); font-weight: 700; font-size: 24px; line-height: 1.3;
}
#gln-landing .gln-services__side { grid-area: 4 / 4 / 8 / 6; width: 100%; height: 274px; object-fit: cover; }
.gln-landing .gln-services__text { grid-area: 6 / 1 / 8 / 3; display: grid; gap: 8px; justify-items: start; }
.gln-landing .gln-services__text h3 { font-weight: 700; font-size: 20px; color: #000; }
.gln-landing .gln-services__text p { font-size: 16px; text-align: justify; color: #000; margin-bottom: 16px; }

/* Students 801:2347 */
.gln-landing .gln-students {
  position: relative; margin-top: var(--gln-section-gap); padding: 60px 0 120px; overflow: hidden;
  background: var(--gln-red-students);
}
/* "logo" pattern images 44/45 at opacity .1 */
.gln-landing .gln-students::before,
.gln-landing .gln-students::after {
  content: ""; position: absolute; left: 0; opacity: 0.1; pointer-events: none;
  background: 0 0 / contain no-repeat;
}
.gln-landing .gln-students::before { top: 0; width: 750px; height: 465px; background-image: url("../img/pattern-gln-1.png"); }
.gln-landing .gln-students::after { top: 672px; width: 546px; height: 340px; background-image: url("../img/pattern-gln-2.png"); }
.gln-landing .gln-students > .gln-container { position: relative; }
.gln-landing .gln-students .gln-heading { margin-bottom: 60px; }
.gln-landing .gln-students__track {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 32px;
}
.gln-landing .gln-student {
  position: relative; display: grid; align-content: start; gap: 4px;
  min-height: 311px; padding: 15px 12px 16px; border-radius: 28px;
  background: var(--gln-white); box-shadow: 0 3px 9px rgba(0, 0, 0, 0.15);
}
.gln-landing .gln-student__photo {
  aspect-ratio: 252 / 196; margin-bottom: 7px; overflow: hidden; border-radius: 12px; background: var(--gln-photo-bg);
}
#gln-landing .gln-student__photo img { width: 100%; height: 100%; object-fit: cover; }
.gln-landing .gln-student__nophoto { display: block; height: 100%; }
.gln-landing .gln-student__score {
  position: absolute; top: 0; right: 30px; width: 52px; height: 80px; padding-top: 11px;
  background: url("../img/student-ribbon.png") center / 100% 100% no-repeat;
  color: var(--gln-offwhite); font-weight: 700; font-size: 16px; line-height: 1.3; text-align: center;
}
.gln-landing .gln-student__name { padding-left: 2px; font-weight: 700; font-size: 20px; color: #000; }
.gln-landing .gln-student__school { padding-left: 2px; font-size: 14px; color: var(--gln-muted); }
.gln-landing .gln-student__course { padding-left: 2px; font-weight: 600; font-size: 16px; color: var(--gln-muted); }
.gln-landing .gln-students .gln-arrow { top: 509px; }

/* Teachers 801:2577 (background "Rectangle 215" #f9f9f9) */
.gln-landing .gln-teachers { padding: 120px 0; background: var(--gln-surface-soft); }
.gln-landing .gln-teachers__inner {
  display: grid; grid-template-columns: 588fr 440fr; column-gap: 164px; align-items: start;
}
.gln-landing .gln-teachers__content { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; min-width: 0; }
.gln-landing .gln-teachers .gln-heading { margin-bottom: 36px; }
.gln-landing .gln-teacher { display: grid; gap: 24px; }
.gln-landing .gln-teacher[hidden] { display: none; }
.gln-landing .gln-teacher__name { font-weight: 700; font-size: 28px; color: var(--gln-red); }
.gln-landing .gln-teacher__facts { display: grid; margin-top: -16px; }
.gln-landing .gln-teacher__facts li {
  display: flex; align-items: center; gap: 8px; min-height: 32px;
  font-weight: 600; font-size: 20px; line-height: 1.4; color: var(--gln-muted);
}
.gln-landing .gln-teacher__facts .gln-icon { width: 32px; height: 32px; color: var(--gln-text); }
.gln-landing .gln-teacher__bio {
  padding-left: 24px; list-style: disc; font-weight: 500; font-size: 16px; line-height: 1.4; color: #000;
}
.gln-landing .gln-teacher__bio ul { padding-left: 20px; list-style: circle; }
.gln-landing .gln-teachers__picker {
  position: relative; margin-top: 16px; border-block: 0.75px solid var(--gln-muted);
}
.gln-landing .gln-teachers__tabs {
  display: flex; gap: 24px; padding: 20px 0; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 124px), transparent);
  mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 124px), transparent);
}
.gln-landing .gln-teachers__tabs::-webkit-scrollbar { display: none; }
.gln-landing .gln-teacher-tab {
  display: flex; align-items: center; gap: 12px; flex: 0 0 242px; padding: 0; border: 0;
  background: none; text-align: left; cursor: pointer; opacity: 0.7;
}
.gln-landing .gln-teacher-tab[aria-selected="true"] { opacity: 1; }
.gln-landing .gln-teacher-tab__avatar {
  position: relative; flex: none; width: 60px; height: 60px; overflow: hidden;
  background: var(--gln-red) url("../img/pattern-gln.svg") -8px 0 / 70px 60px no-repeat;
}
#gln-landing .gln-teacher-tab__avatar img { position: absolute; left: 12px; bottom: 0; width: 38px; height: 53px; object-fit: cover; object-position: top; }
.gln-landing .gln-teacher-tab__text { display: grid; gap: 4px; }
.gln-landing .gln-teacher-tab__name { font-weight: 600; font-size: 16px; color: var(--gln-text); }
.gln-landing .gln-teacher-tab__level { font-weight: 500; font-size: 14px; line-height: 1.4; color: var(--gln-muted); }
.gln-landing .gln-teachers__nav {
  position: absolute; top: 50%; z-index: 1; display: grid; place-items: center; width: 24px; height: 40px;
  padding: 0; border: 0; background: none; color: var(--gln-red); cursor: pointer; transform: translateY(-50%);
  --gln-chevron-stroke: 3;
}
.gln-landing .gln-teachers__nav .gln-chevron { width: 10px; height: 20px; }
.gln-landing .gln-teachers__nav--prev { left: -17px; }
.gln-landing .gln-teachers__nav--prev .gln-chevron { transform: scaleX(-1); }
.gln-landing .gln-teachers__nav--next { right: -17px; }
.gln-landing .gln-teachers__photo {
  position: relative; height: 659px; overflow: hidden;
  background: var(--gln-red) url("../img/pattern-gln.svg") -82px 0 / 763px 659px no-repeat;
}
.gln-landing .gln-teachers__photo::before {
  content: ""; position: absolute; inset: 0; background: var(--gln-red); opacity: 0.6;
}
#gln-landing .gln-teachers__photo img {
  position: absolute; left: 15px; bottom: 0; width: calc(100% - 10px); height: 598px;
  object-fit: contain; object-position: bottom;
}
#gln-landing .gln-teachers__photo img[hidden] { display: none; }

/* Reasons 801:2281 */
.gln-landing .gln-reasons {
  position: relative; padding: 100px 0 40px; min-height: 773px; overflow: hidden; background: var(--gln-red-reasons);
}
.gln-landing .gln-reasons::before,
.gln-landing .gln-reasons::after,
.gln-landing .gln-reasons__shape { content: ""; position: absolute; background: var(--gln-red-shape); }
.gln-landing .gln-reasons::before { left: 0; bottom: 0; width: 361px; height: 378px; }
.gln-landing .gln-reasons::after { right: 0; top: 0; width: 80px; height: 80px; }
.gln-landing .gln-reasons__shape { left: 308px; bottom: 0; width: 295px; height: 203px; }
.gln-landing .gln-reasons > .gln-container { position: relative; z-index: 1; }
.gln-landing .gln-reasons__top {
  display: grid; grid-template-columns: 730fr 408fr; column-gap: 62px; align-items: start; margin-bottom: 40px;
}
.gln-landing .gln-reasons__intro { margin-top: 40px; font-weight: 600; font-size: 16px; color: var(--gln-white); }
.gln-landing .gln-reasons__gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.gln-landing .gln-reasons__gallery img { width: 100%; aspect-ratio: 384 / 216; object-fit: cover; }
.gln-landing .gln-reasons__cta { margin-top: 169px; }
.gln-landing .gln-stats {
  position: absolute; right: 0; bottom: 0; z-index: 1;
  display: flex; gap: 40px; width: calc(50% + 272px); min-height: 203px; padding: 30px 40px 30px 80px;
  background: var(--gln-navy);
}
.gln-landing .gln-stat { display: grid; align-content: start; }
.gln-landing .gln-stat__value {
  display: flex; align-items: center; gap: 8px; margin-bottom: -9px;
  font-family: var(--gln-font-number); font-size: 80px; line-height: 1.3; color: var(--gln-beige);
}
.gln-landing .gln-stat__icon { width: 40px; height: 40px; color: var(--gln-beige); }
.gln-landing .gln-stat__label { font-weight: 600; font-size: 20px; color: var(--gln-offwhite); text-transform: uppercase; }
.gln-landing .gln-stat__note { font-size: 14px; color: var(--gln-offwhite); }

/* Reviews 801:2263 */
.gln-landing .gln-reviews { padding: 120px 0 80px; background: var(--gln-surface-grey); }
.gln-landing .gln-reviews .gln-heading { margin-bottom: 60px; }
.gln-landing .gln-reviews__viewport { position: relative; }
.gln-landing .gln-reviews__track {
  --gln-card: min(792px, calc(100vw - 48px));
  display: flex; gap: 60px; padding: 0 calc((100% - var(--gln-card)) / 2) 12px;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
}
.gln-landing .gln-reviews__track::-webkit-scrollbar { display: none; }
.gln-landing .gln-review {
  flex: 0 0 var(--gln-card); display: grid; align-content: start; gap: 24px; min-height: 547px;
  padding: 60px 78px; border-radius: 12px; background: var(--gln-white);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); scroll-snap-align: center;
  opacity: 0.4; transition: opacity 0.3s;
}
.gln-landing .gln-review.is-active { opacity: 1; }
.gln-landing .gln-review__person { display: flex; align-items: center; gap: 16px; }
#gln-landing .gln-review__avatar {
  display: block; flex: none; width: 76px; height: 76px; border-radius: 50%; object-fit: cover; background: var(--gln-photo-bg);
}
.gln-landing .gln-review__person p { display: grid; }
.gln-landing .gln-review__name { font-weight: 700; font-size: 24px; color: var(--gln-text); }
.gln-landing .gln-review__class { font-weight: 600; font-size: 20px; color: var(--gln-red-class); }
.gln-landing .gln-review__quote { font-weight: 500; font-size: 20px; line-height: 1.3; text-align: justify; color: #000; }
.gln-landing .gln-review__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: auto; }
.gln-landing .gln-review__photos > * { width: 100%; aspect-ratio: 306 / 183; object-fit: cover; background: var(--gln-photo-bg); }
.gln-landing .gln-reviews .gln-arrow { top: 50%; transform: translateY(-50%); }
.gln-landing .gln-reviews .gln-arrow--prev { left: calc(50% - var(--gln-card, 792px) / 2 - 60px); }
.gln-landing .gln-reviews .gln-arrow--next { left: calc(50% + var(--gln-card, 792px) / 2 - 4px); right: auto; }
.gln-landing .gln-reviews__viewport { --gln-card: min(792px, calc(100vw - 48px)); }

/* News & events 801:2462 */
.gln-landing .gln-news .gln-heading { margin-bottom: 60px; }
.gln-landing .gln-news__grid { display: grid; grid-template-columns: 386fr 409fr 357fr; gap: 24px; align-items: start; }
.gln-landing .gln-news-featured { display: grid; gap: 8px; justify-items: start; }
.gln-landing .gln-news-featured img { width: 100%; aspect-ratio: 384 / 233; object-fit: cover; margin-bottom: 1px; }
.gln-landing .gln-news-featured__meta { display: grid; }
.gln-landing .gln-news-featured__meta span { font-weight: 600; font-size: 16px; color: var(--gln-red); }
.gln-landing .gln-news-featured__meta time { font-size: 14px; color: var(--gln-muted); }
.gln-landing .gln-news-featured__title { margin-top: 4px; font-weight: 700; font-size: 20px; color: var(--gln-text); }
.gln-landing .gln-news-featured__excerpt { font-size: 14px; color: var(--gln-text); margin-bottom: 20px; }
.gln-landing .gln-news__list { display: grid; gap: 16px; }
.gln-landing .gln-news-item { display: grid; grid-template-columns: 191fr 194fr; gap: 24px; }
.gln-landing .gln-news-item img { width: 100%; aspect-ratio: 191 / 107; object-fit: cover; }
.gln-landing .gln-news-item__meta { display: grid; gap: 2px; margin-bottom: 16px; font-size: 14px; color: var(--gln-muted); }
.gln-landing .gln-news-item__meta span { font-weight: 600; color: var(--gln-red); text-transform: capitalize; }
.gln-landing .gln-news-item__title { font-weight: 600; font-size: 16px; color: var(--gln-text); }
.gln-landing .gln-news a:hover { color: var(--gln-red); }
.gln-landing .gln-events__title {
  display: grid; place-items: center; height: 50px;
  background: linear-gradient(90deg, #ec3e39, #b30c18); color: var(--gln-white); font-weight: 700; font-size: 20px;
}
.gln-landing .gln-events__body { display: grid; gap: 26px; justify-items: start; min-height: 429px; padding: 39px 33px; background: var(--gln-event-bg); }
.gln-landing .gln-events__list { display: grid; gap: 32px; }
.gln-landing .gln-event { display: flex; gap: 14px; }
.gln-landing .gln-event__date {
  display: grid; flex: none; justify-items: center; align-content: start; width: 45px; height: 52px;
  background: url("../img/calendar.png") center / 100% 100% no-repeat; font-weight: 700;
}
.gln-landing .gln-event__date span:first-child { padding-top: 1px; font-size: 12px; color: var(--gln-text); }
.gln-landing .gln-event__date span:last-child { padding-top: 3px; font-size: 20px; color: var(--gln-red); }
.gln-landing .gln-event__title { margin-bottom: 9px; font-weight: 700; font-size: 16px; color: var(--gln-offwhite); }
.gln-landing .gln-event__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-weight: 500; font-size: 12px; color: var(--gln-offwhite); }
.gln-landing .gln-event__meta span { display: inline-flex; align-items: center; gap: 2px; }
.gln-landing .gln-event__meta .gln-icon { width: 20px; height: 20px; }
.gln-landing .gln-event__place { color: var(--gln-photo-bg); }

/* Campuses 801:2495 */
.gln-landing .gln-campuses .gln-heading { margin-bottom: 60px; }
.gln-landing .gln-campuses__grid { display: flex; flex-wrap: wrap; gap: 24px; }
.gln-landing .gln-campus {
  position: relative; flex: 0 0 calc((100% - 48px) * 280 / 1152); height: 278px; overflow: hidden;
  background: var(--gln-photo-bg);
}
.gln-landing .gln-campus--wide { flex-basis: calc((100% - 48px) * 592 / 1152); }
#gln-landing .gln-campus img { width: 100%; height: 100%; object-fit: cover; }
.gln-landing .gln-campus::after {
  content: ""; position: absolute; inset: auto 0 0; height: 135px;
  background: linear-gradient(to bottom, rgba(27, 27, 27, 0), #000);
}
.gln-landing .gln-campus__name {
  position: absolute; z-index: 1; left: 17px; right: 17px; bottom: 28px;
  font-weight: 700; font-size: 24px; line-height: 1.3; color: var(--gln-white);
}
.gln-landing .gln-campus--wide .gln-campus__name { left: 37px; }

/* Registration 801:2449 */
.gln-landing .gln-register {
  position: relative; margin-top: var(--gln-section-gap); padding: 62px 0;
  background: url("../img/form-map.jpg") center / cover no-repeat;
}
.gln-landing .gln-register::before,
.gln-landing .gln-register::after { content: ""; position: absolute; inset: 0; }
.gln-landing .gln-register::before { background: rgba(197, 23, 23, 0.9); mix-blend-mode: color; }
.gln-landing .gln-register::after { background: linear-gradient(to bottom, #c20000, #870000); opacity: 0.7; }
.gln-landing .gln-register__inner {
  position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 509px;
  align-items: center; column-gap: 91px;
}
.gln-landing .gln-register__title {
  max-width: 600px; justify-self: center; font-weight: 800; font-size: 40px; line-height: 1.3;
  text-align: center; color: var(--gln-white);
}
.gln-landing .gln-form { display: grid; gap: 40px; justify-items: center; }
.gln-landing .gln-form__fields { display: grid; gap: 16px; width: 100%; }
.gln-landing .gln-field { display: grid; gap: 4px; }
.gln-landing .gln-field input,
.gln-landing .gln-field select {
  width: 100%; height: 43px; padding: 0 13px; border: 1px solid transparent; border-radius: 0;
  background: var(--gln-offwhite); color: var(--gln-text);
  font: 600 16px/1.3 var(--gln-font);
}
.gln-landing .gln-field input::placeholder { color: var(--gln-muted); opacity: 1; }
.gln-landing .gln-field select {
  appearance: none; padding-right: 40px; cursor: pointer;
  background: var(--gln-offwhite) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.6'/%3E%3C/svg%3E") right 16px center / 12px 8px no-repeat;
}
.gln-landing .gln-field select:invalid { color: var(--gln-muted); }
.gln-landing .gln-field [aria-invalid="true"] { border-color: var(--gln-yellow); }
.gln-landing .gln-field__error { font-size: 14px; color: var(--gln-yellow); }
.gln-landing .gln-field__error:empty { display: none; }
.gln-landing .gln-form__submit[disabled] { opacity: 0.6; cursor: progress; }
.gln-landing .gln-form__status { min-height: 1.3em; margin-top: -24px; color: var(--gln-white); text-align: center; }
.gln-landing .gln-form__status:empty { display: none; }

/* Footer 801:2377 */
.gln-landing .gln-footer { background: var(--gln-footer-bg); }
.gln-landing .gln-footer__top {
  display: grid; grid-template-columns: 241fr 258fr 258fr 270fr; column-gap: 60px; padding-top: 60px; padding-bottom: 81px;
}
.gln-landing .gln-footer__brand { display: grid; align-content: start; justify-items: start; gap: 14px; }
#gln-landing .gln-footer__brand > img { width: 164px; height: auto; }
.gln-landing .gln-footer__follow { font-weight: 600; font-size: 20px; color: var(--gln-text); }
.gln-landing .gln-footer__social { display: flex; gap: 9px; margin-top: -4px; }
#gln-landing .gln-footer__social img { width: 44px; height: 44px; }
.gln-landing .gln-footer__copy { max-width: 150px; margin-top: 10px; font-weight: 600; font-size: 16px; color: var(--gln-muted); }
.gln-landing .gln-footer__col { display: grid; align-content: start; gap: 32px; }
.gln-landing .gln-footer__group { display: grid; gap: 12px; }
.gln-landing .gln-footer__group h3 {
  font-family: var(--gln-font-brand); font-weight: 700; font-size: 24px; color: var(--gln-red); text-transform: capitalize;
}
.gln-landing .gln-footer__group ul { display: grid; gap: 12px; }
.gln-landing .gln-footer__group li { display: grid; gap: 8px; font-size: 16px; color: var(--gln-text); }
.gln-landing .gln-footer__group a { font-weight: 600; }
.gln-landing .gln-footer__company {
  display: grid; grid-template-columns: 743fr 385fr; column-gap: 71px; padding-top: 33px; padding-bottom: 60px;
  border-top: 1px solid var(--gln-text); font-size: 16px; color: var(--gln-text);
}
.gln-landing .gln-footer__company strong { font-weight: 600; }
.gln-landing .gln-footer__contacts { display: flex; flex-wrap: wrap; gap: 4px 56px; margin-top: 3px; font-weight: 600; }
.gln-landing .gln-footer__company > p:last-child { padding-top: 17px; }
.gln-landing .gln-footer__legal { background: var(--gln-navy); }
.gln-landing .gln-footer__legal ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; min-height: 50px; padding: 8px 24px; }
.gln-landing .gln-footer__legal li { display: flex; align-items: center; font-weight: 600; font-size: 16px; color: var(--gln-offwhite); }
.gln-landing .gln-footer__legal li + li::before { content: ""; width: 1px; height: 23px; margin: 0 25px; background: var(--gln-photo-bg); }
.gln-landing .gln-footer__legal a:hover { text-decoration: underline; }

/* ≤1199: fluid between 1024 and the design width */
@media (max-width: 1199px) {
  .gln-landing .gln-deco { display: none; }
  .gln-landing .gln-nav ul { gap: 18px; }
  .gln-landing .gln-nav a { font-size: 17px; }
  .gln-landing .gln-teachers__inner { column-gap: 64px; }
  .gln-landing .gln-stats { position: static; width: auto; margin-top: 40px; padding: 30px 40px; flex-wrap: wrap; }
  .gln-landing .gln-reasons { min-height: 0; padding-bottom: 0; }
  .gln-landing .gln-reasons__cta { margin-top: 40px; }
  .gln-landing .gln-register__inner { column-gap: 48px; }
  .gln-landing .gln-footer__top { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
}

/* <1024: tablet stack */
@media (max-width: 1023px) {
  .gln-landing { --gln-section-gap: 80px; }
  .gln-landing .gln-heading__title { font-size: 36px; }
  .gln-landing .gln-header__inner { flex-wrap: wrap; min-height: 64px; }
  .gln-landing .gln-header__menu { display: grid; }
  .gln-landing .gln-nav { order: 3; display: none; width: 100%; padding-bottom: 16px; }
  .gln-landing .gln-nav.is-open { display: block; }
  .gln-landing .gln-nav ul { flex-direction: column; gap: 4px; }
  .gln-landing .gln-nav a { display: block; padding: 10px 0; font-size: 18px; }
  .gln-landing .gln-programs__inner,
  .gln-landing .gln-teachers__inner,
  .gln-landing .gln-reasons__top,
  .gln-landing .gln-register__inner { grid-template-columns: 1fr; row-gap: 40px; }
  .gln-landing .gln-programs__media { margin-right: 0; }
  #gln-landing .gln-programs__media img { height: auto; aspect-ratio: 4 / 3; }
  .gln-landing .gln-services__grid { display: grid; grid-template-columns: 1fr; grid-template-rows: none; gap: 16px; }
  #gln-landing .gln-services__grid > * { grid-area: auto; }
  #gln-landing .gln-services__main { height: auto; aspect-ratio: 690 / 388; }
  #gln-landing .gln-services__side { height: auto; aspect-ratio: 486 / 274; }
  .gln-landing .gln-students__track {
    display: flex; gap: 16px; margin: 0 calc(-1 * var(--gln-gutter)); padding: 0 var(--gln-gutter) 8px;
    overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  }
  .gln-landing .gln-students__track::-webkit-scrollbar { display: none; }
  .gln-landing .gln-student { flex: 0 0 min(276px, 78vw); scroll-snap-align: center; }
  .gln-landing .gln-students { padding-bottom: 104px; }
  .gln-landing .gln-students__track { cursor: grab; }
  .gln-landing .gln-students .gln-arrow { top: auto; bottom: 28px; width: 44px; height: 48px; }
  .gln-landing .gln-students .gln-arrow--prev { left: calc(50% - 52px); }
  .gln-landing .gln-students .gln-arrow--next { left: calc(50% + 8px); right: auto; }
  .gln-landing .gln-teachers__photo { width: min(100%, 440px); height: auto; aspect-ratio: 440 / 659; }
  #gln-landing .gln-teachers__photo img { height: 91%; }
  .gln-landing .gln-reasons__intro { margin-top: 0; }
  .gln-landing .gln-reasons .gln-heading__title br { display: none; }
  .gln-landing .gln-reasons::before, .gln-landing .gln-reasons__shape { display: none; }
  .gln-landing .gln-review { padding: 40px; }
  .gln-landing .gln-news__grid { grid-template-columns: 1fr 1fr; }
  .gln-landing .gln-events { grid-column: 1 / -1; }
  .gln-landing .gln-campus,
  .gln-landing .gln-campus--wide { flex-basis: calc((100% - 24px) / 2); }
  .gln-landing .gln-register__title { max-width: none; }
  .gln-landing .gln-form { width: 100%; max-width: 509px; justify-self: center; }
  .gln-landing .gln-footer__company { grid-template-columns: 1fr; row-gap: 16px; }
  .gln-landing .gln-footer__company > p:last-child { padding-top: 0; }
}

/* <768: mobile */
@media (max-width: 767px) {
  .gln-landing { --gln-gutter: 16px; --gln-section-gap: 64px; }
  .gln-landing .gln-heading__eyebrow { font-size: 14px; gap: 12px; }
  .gln-landing .gln-heading__eyebrow::before { width: 32px; margin-top: 13px; }
  .gln-landing .gln-heading__title { font-size: 28px; }
  .gln-landing .gln-heading { margin-bottom: 32px !important; }
  .gln-landing .gln-header__cta { padding: 6px 10px; font-size: 13px; }
  .gln-landing .gln-header__actions { gap: 14px; }
  .gln-landing .gln-hero__slide { aspect-ratio: 430 / 533; }
  .gln-landing .gln-arrow--glass { width: 40px; height: 44px; }
  .gln-landing .gln-hero__dots { bottom: 16px; }
  .gln-landing .gln-programs__content { gap: 32px; }
  .gln-landing .gln-programs__list { gap: 18px; }
  .gln-landing .gln-program { padding-bottom: 16px; font-size: 18px; }
  .gln-landing .gln-program__icon { width: 26px; height: 26px; }
  .gln-landing .gln-services__label { font-size: 18px; }
  .gln-landing .gln-students { padding: 48px 0 104px; }
  .gln-landing .gln-students::before { width: 360px; height: 223px; }
  .gln-landing .gln-teachers { padding: 64px 0; }
  .gln-landing .gln-teacher__name { font-size: 24px; }
  .gln-landing .gln-teacher__facts li { font-size: 16px; }
  .gln-landing .gln-teacher__facts .gln-icon { width: 24px; height: 24px; }
  .gln-landing .gln-reasons { padding-top: 64px; }
  .gln-landing .gln-reasons__gallery { grid-template-columns: 1fr; }
  .gln-landing .gln-stats { padding: 24px 16px; gap: 16px 24px; }
  .gln-landing .gln-stat { flex: 1 1 40%; }
  .gln-landing .gln-stat__value { font-size: 56px; }
  .gln-landing .gln-stat__icon { width: 28px; height: 28px; }
  .gln-landing .gln-stat__label { font-size: 16px; }
  .gln-landing .gln-reviews { padding: 64px 0 48px; }
  .gln-landing .gln-reviews__track,
  .gln-landing .gln-reviews__viewport { --gln-card: calc(100vw - 32px); }
  .gln-landing .gln-reviews__track { gap: 16px; }
  .gln-landing .gln-review { min-height: 0; padding: 24px; gap: 16px; }
  #gln-landing .gln-review__avatar { width: 56px; height: 56px; }
  .gln-landing .gln-review__name { font-size: 18px; }
  .gln-landing .gln-review__class { font-size: 15px; }
  .gln-landing .gln-review__quote { font-size: 16px; text-align: left; }
  .gln-landing .gln-review__photos { gap: 12px; }
  .gln-landing .gln-reviews .gln-arrow { display: none; }
  .gln-landing .gln-news__grid { grid-template-columns: 1fr; }
  .gln-landing .gln-campus,
  .gln-landing .gln-campus--wide { flex-basis: 100%; height: 220px; }
  .gln-landing .gln-campus__name,
  .gln-landing .gln-campus--wide .gln-campus__name { left: 16px; bottom: 20px; font-size: 20px; }
  .gln-landing .gln-register { padding: 48px 0; }
  .gln-landing .gln-register__title { font-size: 26px; }
  .gln-landing .gln-footer__top { grid-template-columns: 1fr; }
  .gln-landing .gln-footer__legal ul { flex-direction: column; gap: 8px; padding: 16px; }
  .gln-landing .gln-footer__legal li + li::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .gln-landing *, .gln-landing *::before, .gln-landing *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* WordPress host only: the WPBakery Raw HTML block wrapping the landing (el_class="gln-landing-host"). */
.wpb_raw_html.gln-landing-host,
.wpb_wrapper > .gln-landing { margin-bottom: 0; }
