/* ════════════════════════════════════════════════════════════
   PROJECT CSS — Jivamukti India TT 2027
   Framework: LUMOS | Brand: Jivamukti Burgundy
   Adapted from jivamukti-global — all color tokens updated
   ════════════════════════════════════════════════════════════ */

/* ── Button Components ── */

.button_primary {
  height: var(--button-size--medium);
  padding-left: var(--_spacing---space--5-32px);
  padding-right: var(--_spacing---space--5-32px);
  background-color: var(--_theme---button-primary--background);
  color: var(--_theme---button-primary--text);
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---button-primary--border);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: var(--_theme---button-primary--border);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: var(--_theme---button-primary--border);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: var(--_theme---button-primary--border);
  border-top-left-radius: var(--radius--round);
  border-top-right-radius: var(--radius--round);
  border-bottom-left-radius: var(--radius--round);
  border-bottom-right-radius: var(--radius--round);
  font-size: var(--_typography---font-size--text-small);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--wider);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition-property: background-color, color, border-color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.button_primary:hover {
  background-color: var(--_theme---button-primary--background-hover);
  color: var(--_theme---button-primary--text-hover);
  border-top-color: var(--_theme---button-primary--border-hover);
  border-right-color: var(--_theme---button-primary--border-hover);
  border-bottom-color: var(--_theme---button-primary--border-hover);
  border-left-color: var(--_theme---button-primary--border-hover);
}

.button_secondary {
  height: var(--button-size--medium);
  padding-left: var(--_spacing---space--5-32px);
  padding-right: var(--_spacing---space--5-32px);
  background-color: var(--_theme---button-secondary--background);
  color: var(--_theme---button-secondary--text);
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---button-secondary--border);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: var(--_theme---button-secondary--border);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: var(--_theme---button-secondary--border);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: var(--_theme---button-secondary--border);
  border-top-left-radius: var(--radius--round);
  border-top-right-radius: var(--radius--round);
  border-bottom-left-radius: var(--radius--round);
  border-bottom-right-radius: var(--radius--round);
  font-size: var(--_typography---font-size--text-small);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--wider);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition-property: background-color, color, border-color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.button_secondary:hover {
  background-color: var(--_theme---button-secondary--background-hover);
  color: var(--_theme---button-secondary--text-hover);
  border-top-color: var(--_theme---button-secondary--border-hover);
  border-right-color: var(--_theme---button-secondary--border-hover);
  border-bottom-color: var(--_theme---button-secondary--border-hover);
  border-left-color: var(--_theme---button-secondary--border-hover);
}

/* ── Card Component ── */

.card_primary_element {
  column-gap: var(--_spacing---space--4-24px);
  row-gap: var(--_spacing---space--4-24px);
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---border);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: var(--_theme---border);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: var(--_theme---border);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: var(--_theme---border);
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  background-color: var(--_theme---background-2);
  padding-top: var(--_spacing---space--7-48px);
  padding-right: var(--_spacing---space--7-48px);
  padding-bottom: var(--_spacing---space--7-48px);
  padding-left: var(--_spacing---space--7-48px);
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  display: flex;
  transition-property: border-color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.card_primary_element:hover {
  border-top-color: var(--_theme---text);
  border-right-color: var(--_theme---text);
  border-bottom-color: var(--_theme---text);
  border-left-color: var(--_theme---text);
}

/* ── Accordion Component (Dusseldorf-style outlined toggle) ── */

.accordion_wrap {
  padding-top: 1px;
}

.accordion_list {
  margin-top: 0;
}

.accordion_component {
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---border);
  border-bottom-style: none;
  margin-top: calc(-1 * var(--border-width--main));
}

.accordion_component:last-child {
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: var(--_theme---border);
}

.accordion_toggle_button {
  padding-top: var(--_spacing---space--4-24px);
  padding-bottom: var(--_spacing---space--4-24px);
  padding-left: var(--_spacing---space--5-32px);
  padding-right: var(--_spacing---space--5-32px);
  column-gap: var(--_spacing---space--4-24px);
  row-gap: var(--_spacing---space--4-24px);
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
  cursor: pointer;
  background-color: transparent;
  text-transform: uppercase;
  letter-spacing: var(--_typography---letter-spacing--wider);
  font-weight: var(--_typography---font--primary-medium);
  text-align: left;
  transition-property: background-color, color;
  transition-duration: 0.25s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion_toggle_button:hover {
  background-color: color-mix(in srgb, currentColor 8%, transparent);
}

.accordion_component.is-active .accordion_toggle_button {
  background-color: color-mix(in srgb, currentColor 12%, transparent);
}

.accordion_toggle_heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: var(--_typography---font-size--text-main);
}

.accordion_toggle_icon {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  width: 1.1rem;
  height: 1.1rem;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion_component.is-active .accordion_toggle_icon {
  transform: rotate(90deg);
}

.accordion_content_wrap {
  width: 100%;
  display: none;
  position: relative;
  overflow-x: visible;
  overflow-y: visible;
}

.accordion_content_padding {
  padding-top: var(--_spacing---space--2-12px);
  padding-bottom: var(--_spacing---space--5-32px);
  padding-left: var(--_spacing---space--5-32px);
  padding-right: var(--_spacing---space--5-32px);
  /* Vertical rhythm — every block gets a clear "line jump" between it and the next */
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--3-16px);
}

/* Emphasised opening callout (e.g. the "check your nationality status" line) */
.accordion_lead {
  font-weight: var(--_typography---font--primary-bold);
}

/* Sub-section heading inside an accordion — the hierarchy cue */
.accordion_subhead {
  font-weight: var(--_typography---font--primary-bold);
  letter-spacing: var(--_typography---letter-spacing--wide);
  text-transform: uppercase;
  margin-top: var(--_spacing---space--3-16px);
}

/* Grouped block (address, "held at", contact) — set apart with a left rule */
.accordion_group {
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--1-8px);
  padding-left: var(--_spacing---space--4-24px);
  border-left-width: 2px;
  border-left-style: solid;
  border-left-color: color-mix(in srgb, currentColor 22%, transparent);
}

.accordion_group_label {
  font-weight: var(--_typography---font--primary-bold);
}

/* Key/value details (Cost / Booking / Payment …) — tight rows, bold terms */
.accordion_kv {
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--1-8px);
}

/* Real bulleted list inside an accordion (framework strips markers globally) */
.accordion_list_ul {
  padding-left: var(--_spacing---space--5-32px);
  list-style-type: disc;
  list-style-position: outside;
}

.accordion_list_ul li {
  margin-bottom: var(--_spacing---space--1-8px);
}

/* ── Video Testimonial Marquee ── */

.india_video_testimonial_section {
  /* TEMP: hidden per client until real testimonial videos are ready — delete this line to restore */
  display: none;
  margin-top: var(--_spacing---space--8-64px);
  overflow-x: hidden;
  overflow-y: visible;
}

.india_video_testimonial_marquee {
  overflow-x: hidden;
  overflow-y: visible;
  width: 100%;
}

.india_video_testimonial_track {
  display: flex;
  width: max-content;
  animation-name: marquee-scroll;
  animation-duration: 60s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  column-gap: var(--_spacing---space--3-16px);
}

.india_video_testimonial_card {
  position: relative;
  cursor: pointer;
  overflow-x: hidden;
  overflow-y: hidden;
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: color-mix(in srgb, var(--swatch--brand-text) 25%, transparent);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: color-mix(in srgb, var(--swatch--brand-text) 25%, transparent);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: color-mix(in srgb, var(--swatch--brand-text) 25%, transparent);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: color-mix(in srgb, var(--swatch--brand-text) 25%, transparent);
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 22vw;
  width: 22vw;
}

.india_video_testimonial_media {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
}

.india_video_testimonial_play {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  color: var(--swatch--light-200);
  background-color: rgba(0, 0, 0, 0.5);
  transition-property: opacity;
  transition-duration: 0.35s;
  transition-timing-function: ease;
  pointer-events: none;
}

@media (max-width: 991px) {
  .india_video_testimonial_card { flex-basis: 30vw; width: 30vw; }
}

@media (max-width: 767px) {
  .india_video_testimonial_card { flex-basis: 42vw; width: 42vw; }
}

@media (max-width: 478px) {
  .india_video_testimonial_card { flex-basis: 65vw; width: 65vw; }
}

/* ── Footer Component ── */

.footer_wrap {
  padding-top: var(--_spacing---section-space--main-112px);
  padding-bottom: var(--_spacing---space--7-48px);
}

.footer_top {
  column-gap: var(--site--gutter);
  row-gap: var(--_spacing---space--8-64px);
  display: flex;
  justify-content: space-between;
}

.footer_column {
  column-gap: var(--_spacing---space--4-24px);
  row-gap: var(--_spacing---space--4-24px);
  flex-direction: column;
  display: flex;
}

.footer_heading {
  font-size: var(--_typography---font-size--text-small);
  font-weight: var(--_typography---font--primary-bold);
  letter-spacing: var(--_typography---letter-spacing--wider);
  text-transform: uppercase;
}

.footer_link {
  font-size: var(--_typography---font-size--text-small);
  opacity: 0.7;
  transition-property: opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.footer_link:hover {
  opacity: 1;
}

.footer_bottom {
  margin-top: var(--_spacing---section-space--small-80px);
  padding-top: var(--_spacing---space--5-32px);
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer_legal {
  font-size: var(--_typography---font-size--text-small);
  opacity: 0.5;
}

.footer_social {
  display: flex;
  column-gap: var(--_spacing---space--3-16px);
}

.footer_social_icon {
  width: 1.25rem;
  height: 1.25rem;
  opacity: 0.7;
  transition-property: opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.footer_social_icon:hover {
  opacity: 1;
}

@media (max-width: 991px) {
  .footer_top {
    flex-direction: column;
  }
}

/* ── Faculty Card (Dusseldorf-adapted: bordered, square photo, vertical) ── */

.faculty_card {
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---border);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: var(--_theme---border);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: var(--_theme---border);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: var(--_theme---border);
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  overflow-x: hidden;
  overflow-y: hidden;
  display: flex;
  flex-direction: column;
  background-color: var(--_theme---background);
  transition-property: border-color, transform;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.faculty_card:hover {
  border-top-color: var(--swatch--brand-500);
  border-right-color: var(--swatch--brand-500);
  border-bottom-color: var(--swatch--brand-500);
  border-left-color: var(--swatch--brand-500);
  transform: translateY(-0.125rem);
}

.faculty_card_photo {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}

.faculty_card_divider {
  height: var(--border-width--main);
  background-color: var(--_theme---border);
  flex-shrink: 0;
}

.faculty_card_body {
  padding-top: var(--_spacing---space--4-24px);
  padding-right: var(--_spacing---space--4-24px);
  padding-bottom: var(--_spacing---space--5-32px);
  padding-left: var(--_spacing---space--4-24px);
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--1-8px);
  flex-grow: 1;
}

.faculty_card_role {
  font-size: var(--_typography---font-size--text-small);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--wide);
  text-transform: uppercase;
  color: var(--_theme---heading-accent);
}

.faculty_card_name {
  font-size: var(--_typography---font-size--h5);
  font-weight: var(--_typography---font--primary-bold);
  line-height: var(--_typography---line-height--small);
}

.faculty_card_credential {
  font-size: var(--_typography---font-size--text-small);
  opacity: 0.55;
  margin-top: var(--_spacing---space--1-8px);
}

.faculty_card_more {
  display: inline-block;
  margin-top: var(--_spacing---space--2-12px);
  font-size: var(--_typography---font-size--text-small);
  font-weight: var(--_typography---font--primary-medium);
  color: var(--_theme---text);
  text-decoration-line: underline;
}

/* ── Form Fields ── */

.form_field {
  height: var(--button-size--medium);
  padding-left: 0.9rem;
  padding-right: 0.9rem;
  background-color: transparent;
  color: inherit;
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---border);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: var(--_theme---border);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: var(--_theme---border);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: var(--_theme---border);
  border-top-left-radius: var(--radius--small);
  border-top-right-radius: var(--radius--small);
  border-bottom-left-radius: var(--radius--small);
  border-bottom-right-radius: var(--radius--small);
  font-family: inherit;
  font-size: var(--_typography---font-size--text-main);
  line-height: var(--_typography---line-height--huge);
  font-weight: var(--_typography---font--primary-regular);
  -webkit-appearance: none;
  appearance: none;
  outline-width: 0;
  outline-style: none;
  width: 100%;
  margin-bottom: 0;
  display: block;
  transition-property: border-color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.form_field:focus {
  border-top-color: var(--_theme---text);
  border-right-color: var(--_theme---text);
  border-bottom-color: var(--_theme---text);
  border-left-color: var(--_theme---text);
}

.form_field.is-textarea {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  resize: vertical;
}

.newsletter_wrap {
  column-gap: var(--_spacing---space--2-12px);
  row-gap: var(--_spacing---space--2-12px);
  display: flex;
  align-items: stretch;
}

.newsletter_input {
  height: var(--button-size--medium);
  padding-left: 0.9rem;
  padding-right: 0.9rem;
  background-color: transparent;
  color: inherit;
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---border);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: var(--_theme---border);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: var(--_theme---border);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: var(--_theme---border);
  border-top-left-radius: var(--radius--small);
  border-top-right-radius: var(--radius--small);
  border-bottom-left-radius: var(--radius--small);
  border-bottom-right-radius: var(--radius--small);
  font-family: inherit;
  font-size: var(--_typography---font-size--text-main);
  -webkit-appearance: none;
  appearance: none;
  outline-width: 0;
  outline-style: none;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  min-width: 0;
  transition-property: border-color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.newsletter_input:focus {
  border-top-color: var(--_theme---text);
  border-right-color: var(--_theme---text);
  border-bottom-color: var(--_theme---text);
  border-left-color: var(--_theme---text);
}

/* ── Contact Form ── */

.contact_form {
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--5-32px);
  max-width: 56rem;
  width: 100%;
}

.contact_form .form_field {
  height: 3.25rem;
  padding-left: 1.1rem;
  padding-right: 1.1rem;
  font-size: var(--_typography---font-size--text-main);
}

.contact_form .form_field.is-textarea {
  height: auto;
  min-height: 8rem;
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
}

.contact_form .button_primary {
  height: 3.25rem;
  padding-left: var(--_spacing---space--7-48px);
  padding-right: var(--_spacing---space--7-48px);
  margin-top: var(--_spacing---space--3-16px);
  align-self: center;
}

.form_label {
  font-size: var(--_typography---font-size--text-small);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--wide);
  text-transform: uppercase;
  margin-bottom: var(--_spacing---space--1-8px);
  display: block;
}

.form_group {
  display: flex;
  flex-direction: column;
}

/* Prev / Next controls */

.tenets_controls {
  display: flex;
  column-gap: var(--_spacing---space--3-16px);
  margin-top: var(--_spacing---space--5-32px);
}

.tenets_ctrl_btn {
  width: var(--button-size--medium);
  height: var(--button-size--medium);
  border-top-left-radius: var(--radius--round);
  border-top-right-radius: var(--radius--round);
  border-bottom-left-radius: var(--radius--round);
  border-bottom-right-radius: var(--radius--round);
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---border);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: var(--_theme---border);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: var(--_theme---border);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: var(--_theme---border);
  background-color: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  transition-property: background-color, border-color, color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.tenets_ctrl_btn:hover {
  background-color: var(--swatch--brand-500);
  border-top-color: var(--swatch--brand-500);
  border-right-color: var(--swatch--brand-500);
  border-bottom-color: var(--swatch--brand-500);
  border-left-color: var(--swatch--brand-500);
  color: var(--swatch--brand-text);
}

.profile_content_title {
  margin-bottom: var(--_spacing---space--1-8px);
}

@media (max-width: 767px) {
  .profile_layout {
    flex-direction: column;
  }
}

/* ── Rich Text ── */

.rich_text {
  max-width: 48rem;
}

/* ═══════════════════════════════════════════
   Page: india-2027
   ═══════════════════════════════════════════ */

/* ── Hero: split left (brand panel) / right (photo) ── */

.india_hero {
  width: 100%;
  min-height: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 767px) {
  .india_hero {
    grid-template-columns: 1fr;
  }
}

/* Left panel — brand dark */
.india_hero_left {
  background-color: var(--swatch--brand-500);
  color: var(--swatch--brand-text);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: var(--_spacing---section-space--main-112px);
  padding-bottom: var(--_spacing---section-space--main-112px);
  padding-left: var(--site--margin);
  padding-right: var(--site--margin);
}

.india_hero_left_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 32rem;
}

.india_hero_main_logo {
  max-width: 28rem;
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: var(--_spacing---space--8-64px);
}

.india_hero_dates {
  font-size: var(--_typography---font-size--h6);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--wider);
  text-transform: uppercase;
  color: var(--swatch--secondary-500);
  margin-bottom: var(--_spacing---space--2-12px);
}

.india_hero_tagline {
  font-size: var(--_typography---font-size--text-large);
  opacity: 0.75;
  margin-bottom: var(--_spacing---space--6-40px);
}


/* Right panel — full-bleed photo */
.india_hero_right {
  position: relative;
  overflow-x: hidden;
  overflow-y: hidden;
}

.india_hero_photo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 767px) {
  .india_hero_right {
    min-height: 55vw;
    position: relative;
  }
  .india_hero_left {
    padding-top: 11rem;
    padding-bottom: var(--_spacing---section-space--main-112px);
  }
}

/* ── Marquee (between hero and faculty) ── */

.india_marquee_section {
  background-color: var(--swatch--light-200);
  overflow-x: hidden;
  overflow-y: hidden;
}

.india_marquee_wrap {
  overflow-x: hidden;
  overflow-y: visible;
  white-space: nowrap;
  padding-top: var(--_spacing---space--7-48px);
  padding-bottom: var(--_spacing---space--7-48px);
}

.india_marquee_inner {
  display: inline-flex;
  animation-name: marquee-scroll;
  animation-duration: 55s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.india_marquee_text {
  display: inline-block;
  font-size: clamp(2rem, 5vw, 5rem);
  font-weight: var(--_typography---font--primary-medium);
  text-transform: uppercase;
  letter-spacing: var(--_typography---letter-spacing--wider);
  color: #ea2828;
  padding-right: 0.5em;
  white-space: nowrap;
}

/* ── Faculty Grid ── */

.india_faculty_grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
  margin-top: 0;
}

/* Top row: first 3 cards span 4 cols each (3 × 4 = 12) → centered trio */
.india_faculty_grid .faculty_card:nth-child(-n+3) {
  grid-column-end: span 4;
}

/* Bottom row: cards 4-7 span 3 cols each (4 × 3 = 12) → 4-up row */
.india_faculty_grid .faculty_card:nth-child(n+4) {
  grid-column-end: span 3;
}

@media (max-width: 991px) {
  .india_faculty_grid {
    grid-template-columns: repeat(6, 1fr);
  }
  .india_faculty_grid .faculty_card:nth-child(-n+3),
  .india_faculty_grid .faculty_card:nth-child(n+4) {
    grid-column-end: span 2;
  }
  /* 7 cards in 6-col grid: 3 top (2-col each = 6), then row of 3 (2-col each = 6), last orphan stays 2-col but centered if possible */
}

@media (max-width: 767px) {
  .india_faculty_grid {
    grid-template-columns: 1fr;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
  }
  .india_faculty_grid .faculty_card:nth-child(-n+3),
  .india_faculty_grid .faculty_card:nth-child(n+4) {
    grid-column-end: span 1;
  }
}

/* ── Karmabhumi / Land of Action (OG: full-width slider + cream panel; no shadow) ── */

/* Use hidden (not clip): clip + Swiper transform can break slide visibility / touch in WebKit */
.india_land_section {
  overflow-x: hidden;
}

.india_land_slider {
  position: relative;
  width: 100%;
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  overflow-x: hidden;
  overflow-y: hidden;
  margin-bottom: var(--_spacing---space--7-48px);
  --swiper-theme-color: var(--swatch--light-200);
  --swiper-navigation-size: 1.75rem;
}

.india_land_slide_img {
  width: 100%;
  /* Locked 5.5:4 ratio — height tracks width, so the frame stays tall, never
     compresses to a wide strip, and never depends on the visitor's screen
     height. Widen the second number to make it taller (e.g. 5.5/4.5). */
  aspect-ratio: 5.5 / 4;
  object-fit: cover;
  object-position: center;
  display: block;
}

.india_land_slider .swiper-button-prev,
.india_land_slider .swiper-button-next {
  color: var(--swatch--light-100);
  opacity: 0.92;
}

.india_land_slider .swiper-button-prev::after,
.india_land_slider .swiper-button-next::after {
  font-size: 1.75rem;
  font-weight: 700;
}

.india_land_dots.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 0.75rem;
  left: 0;
  right: 0;
}

.india_land_slider .swiper-pagination-bullet {
  background-color: var(--swatch--light-100);
  opacity: 0.45;
}

.india_land_slider .swiper-pagination-bullet-active {
  opacity: 1;
}

.india_land_panel {
  background-color: var(--swatch--secondary-100);
  color: var(--swatch--dark-900);
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.india_land_header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: var(--_spacing---space--4-24px);
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.india_land_karmabhumi_logo {
  height: clamp(2.75rem, 8vw, 5.25rem);
  width: auto;
  max-width: min(100%, 42rem);
  align-self: flex-start;
  flex-shrink: 0;
  object-fit: contain;
  object-position: left center;
  display: block;
}

.india_land_kicker {
  margin-top: 0;
  margin-bottom: 0;
  font-size: var(--_typography---font-size--text-small);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--wider);
  text-transform: uppercase;
  color: var(--swatch--brand-500);
}

.india_land_columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: var(--site--gutter);
  row-gap: var(--_spacing---space--6-40px);
  align-items: start;
}

@media (max-width: 767px) {
  .india_land_columns {
    grid-template-columns: 1fr;
  }
}

.india_land_col {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
}

.india_land_text {
  font-size: var(--_typography---font-size--text-main);
  line-height: var(--_typography---line-height--huge);
  margin-top: 0;
  margin-bottom: 0;
  text-align: justify;
  text-align-last: start;
}

/* ── Five Tenets — source-style grid ── */

.india_tenets_section {
  border-top-width: 0;
}

.india_tenets_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: var(--_spacing---space--6-40px);
  row-gap: var(--_spacing---space--9-80px);
  align-items: start;
}

@media (max-width: 991px) {
  .india_tenets_grid {
    column-gap: var(--_spacing---space--5-32px);
    row-gap: var(--_spacing---space--7-48px);
  }
}

@media (max-width: 767px) {
  .india_tenets_grid {
    display: none;
  }
}

.india_tenet_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  row-gap: var(--_spacing---space--3-16px);
}

.india_tenet_icon {
  width: 11rem;
  height: 11rem;
  object-fit: contain;
  display: block;
}

.india_tenet_body {
  color: var(--swatch--brand-text);
  opacity: 0.85;
}

.india_tenets_center_title {
  display: flex;
  align-items: center;
  justify-content: center;
}

.india_tenets_center_img {
  width: 100%;
  max-width: 22rem;
  height: auto;
  display: block;
}

/* Mobile layout */
.india_tenets_mobile {
  display: none;
}

@media (max-width: 767px) {
  .india_tenets_mobile {
    display: block;
  }
  .india_tenets_mobile .india_tenets_center_img {
    max-width: 18rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--_spacing---space--6-40px);
  }
  .india_tenet_card {
    padding-left: var(--_spacing---space--4-24px);
    padding-right: var(--_spacing---space--4-24px);
  }
}

/* Swiper pagination dots on dark background */
.india_tenets_pagination {
  position: static;
  margin-top: var(--_spacing---space--5-32px);
}

.india_tenets_pagination .swiper-pagination-bullet {
  background-color: var(--swatch--brand-text);
  opacity: 0.35;
}

.india_tenets_pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

/* ── Bhakti Section Images ── */

.india_bhakti_images {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 22rem;
  max-width: 22rem;
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--3-16px);
}

.india_bhakti_image_main {
  width: 100%;
  height: auto;
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  display: block;
}

/* ── Bhakti 3-row section ── */

.india_bhakti_heading {
  text-align: center;
}

.india_bhakti_rows {
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---section-space--small-80px);
  margin-top: var(--_spacing---space--8-64px);
}

.india_bhakti_cols {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: var(--_spacing---space--7-48px);
  margin-top: var(--_spacing---space--8-64px);
  max-width: 58rem;
  margin-left: auto;
  margin-right: auto;
}

.india_bhakti_col {
  display: grid;
  grid-template-columns: 18rem 1fr;
  column-gap: var(--_spacing---space--6-40px);
  row-gap: var(--_spacing---space--2-12px);
  align-items: start;
}

/* Image occupies left column, spanning the title + paragraph rows */
.india_bhakti_col > img {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.india_bhakti_col img {
  width: 100%;
  height: 13rem;
  object-fit: cover;
  object-position: center center;
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  display: block;
  align-self: start;
}

/* Journey Home is a flat-lay photo — fill the box like the other two (override the 13rem cap) */
.india_bhakti_col img.india_book_cover_img {
  object-fit: cover;
  max-width: none;
}

@media (max-width: 767px) {
  .india_bhakti_cols {
    max-width: none;
  }
  .india_bhakti_col {
    grid-template-columns: 1fr;
  }
  .india_bhakti_col > img {
    grid-row: auto;
  }
}

/* Book image: clean soft beige panel, matches cream theme */
.india_book_image_wrap {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 22rem;
  max-width: 22rem;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: var(--_spacing---space--7-48px);
  padding-right: var(--_spacing---space--7-48px);
  padding-bottom: var(--_spacing---space--7-48px);
  padding-left: var(--_spacing---space--7-48px);
  background-color: color-mix(in srgb, var(--swatch--secondary-500) 22%, var(--swatch--light-200));
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: color-mix(in srgb, var(--swatch--brand-500) 15%, transparent);
  border-right-width: 1px;
  border-right-style: solid;
  border-right-color: color-mix(in srgb, var(--swatch--brand-500) 15%, transparent);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: color-mix(in srgb, var(--swatch--brand-500) 15%, transparent);
  border-left-width: 1px;
  border-left-style: solid;
  border-left-color: color-mix(in srgb, var(--swatch--brand-500) 15%, transparent);
}

.india_book_cover_img {
  max-width: 13rem;
  width: 100%;
  height: auto;
  display: block;
}

/* ── Video Section ── */

.india_video_section {
  background-color: var(--_theme---background);
  padding-top: var(--_spacing---section-space--main-112px);
  padding-bottom: var(--_spacing---section-space--main-112px);
}

.india_video_label {
  text-align: center;
  font-size: clamp(2rem, 5vw, 5rem);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--wider);
  text-transform: uppercase;
  color: #ea2828;
  margin-bottom: var(--_spacing---space--5-24px);
}

.india_video_wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow-x: hidden;
  overflow-y: hidden;
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  cursor: pointer;
}

.india_video_placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.india_video_iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-style: none;
  display: block;
}

.india_video_wrap[data-yt] {
  cursor: pointer;
}

.india_video_wrap[data-yt] .india_video_placeholder {
  transition-property: transform, opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.india_video_wrap[data-yt]:hover .india_video_placeholder {
  transform: scale(1.03);
  opacity: 0.92;
}

.india_video_play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 5rem;
  height: 5rem;
  color: var(--swatch--brand-500);
  background-color: var(--swatch--light-200);
  border-top-left-radius: var(--radius--round);
  border-top-right-radius: var(--radius--round);
  border-bottom-left-radius: var(--radius--round);
  border-bottom-right-radius: var(--radius--round);
  display: flex;
  align-items: center;
  justify-content: center;
  transition-property: transform, opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

/* ── Testimonials Swiper ── */

.testimonial_swiper_wrap {
  position: relative;
  overflow-x: hidden;
  overflow-y: visible;
  margin-top: var(--_spacing---space--7-48px);
}

.india_testimonial_swiper {
  overflow-x: visible;
  overflow-y: visible;
  width: 100%;
  padding-left: var(--site--margin);
  padding-right: var(--site--margin);
  box-sizing: border-box;
}

.testimonial_card {
  white-space: normal; /* override Swiper wrapper's nowrap */
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--5-32px);
  padding-top: var(--_spacing---space--6-40px);
  padding-right: var(--_spacing---space--5-32px);
  padding-bottom: var(--_spacing---space--6-40px);
  padding-left: var(--_spacing---space--5-32px);
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: color-mix(in srgb, var(--swatch--brand-text) 25%, transparent);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: color-mix(in srgb, var(--swatch--brand-text) 25%, transparent);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: color-mix(in srgb, var(--swatch--brand-text) 25%, transparent);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: color-mix(in srgb, var(--swatch--brand-text) 25%, transparent);
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  background-color: color-mix(in srgb, var(--swatch--brand-text) 6%, transparent);
  color: var(--swatch--brand-text);
  height: 100%;
  box-sizing: border-box;
}

.testimonial_quote {
  font-size: var(--_typography---font-size--text-main);
  line-height: var(--_typography---line-height--large);
  font-style: italic;
  flex-grow: 1;
  white-space: normal;
}

.testimonial_checkmark {
  display: none;
}

.testimonial_quote_icon {
  width: 2rem;
  height: 2rem;
  opacity: 0.5;
  flex-shrink: 0;
}

.testimonial_author {
  display: flex;
  align-items: center;
  column-gap: var(--_spacing---space--3-16px);
  margin-top: var(--_spacing---space--4-24px);
}

.testimonial_avatar {
  width: 3.5rem;
  height: 3.5rem;
  flex-shrink: 0;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  overflow-x: hidden;
  overflow-y: hidden;
  display: block;
  background-color: white;
}

.testimonial_author_name {
  font-size: var(--_typography---font-size--text-small);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--wide);
  text-transform: uppercase;
  opacity: 0.75;
}

/* ── Gallery (Swiper) ── */

.gallery_section {
  background-color: var(--swatch--brand-500);
  padding-top: var(--_spacing---section-space--main-112px);
  padding-bottom: var(--_spacing---section-space--main-112px);
  overflow-x: hidden;
  overflow-y: visible;
}

/* Dark-red gallery: light text + extra gap between header and images */
.gallery_section .u-heading,
.gallery_section .u-text-style-main {
  color: var(--swatch--light-200);
}

.gallery_section .u-content-wrapper {
  margin-bottom: var(--_spacing---space--8-64px);
}

.gallery_swiper {
  width: 100%;
  padding-left: var(--site--margin);
  padding-right: var(--site--margin);
  box-sizing: border-box;
}

.gallery_slide_image {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
}

/* Gallery nav bar — dots on the left, arrows on the right, below the gallery.
   Section is dark red, so dots + arrows are light. */
.gallery_nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: var(--_spacing---space--4-24px);
  margin-top: var(--_spacing---space--6-40px);
}

.gallery_arrows {
  display: flex;
  column-gap: var(--_spacing---space--2-12px);
  flex-shrink: 0;
}

.gallery_arrows .tenets_ctrl_btn {
  color: var(--swatch--light-200);
  border-top-color: color-mix(in srgb, var(--swatch--light-200) 45%, transparent);
  border-right-color: color-mix(in srgb, var(--swatch--light-200) 45%, transparent);
  border-bottom-color: color-mix(in srgb, var(--swatch--light-200) 45%, transparent);
  border-left-color: color-mix(in srgb, var(--swatch--light-200) 45%, transparent);
}

.gallery_arrows .tenets_ctrl_btn:hover {
  background-color: var(--swatch--light-200);
  color: var(--swatch--brand-500);
  border-top-color: var(--swatch--light-200);
  border-right-color: var(--swatch--light-200);
  border-bottom-color: var(--swatch--light-200);
  border-left-color: var(--swatch--light-200);
}

.gallery_arrows .tenets_ctrl_btn svg {
  width: 1rem;
  height: 1rem;
}

.gallery_dots.swiper-pagination-bullets.swiper-pagination-horizontal {
  position: static;
  left: auto;
  right: auto;
  bottom: auto;
  /* Fixed window so only ~5 dynamic bullets show; the strip rotates as you navigate */
  width: 7rem;
  overflow-x: hidden;
  overflow-y: hidden;
}

.gallery_dots .swiper-pagination-bullet {
  background-color: var(--swatch--light-200);
  opacity: 0.4;
}

.gallery_dots .swiper-pagination-bullet-active {
  opacity: 1;
}

/* ── Application Requirements (bold red infographic) ── */

.india_apply_req_section {
  background-color: var(--swatch--brand-500);
  overflow-x: hidden;
  overflow-y: hidden;
}

.india_apply_req_content {
  text-align: center;
  padding-top: var(--_spacing---section-space--main-112px);
  padding-bottom: var(--_spacing---section-space--main-112px);
  color: var(--swatch--light-200);
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: var(--_spacing---space--7-48px);
}

.india_apply_req_title {
  color: var(--swatch--light-200);
}

.india_apply_steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--_spacing---space--8-64px);
  row-gap: var(--_spacing---space--6-40px);
  width: 100%;
  max-width: 52rem;
  text-align: left;
}

@media (max-width: 767px) {
  .india_apply_steps {
    grid-template-columns: 1fr;
  }
}

.india_apply_step {
  display: flex;
  column-gap: var(--_spacing---space--4-24px);
  align-items: stretch;
}

.india_apply_step_num {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  border-top-width: 2px;
  border-top-style: solid;
  border-top-color: var(--swatch--light-200);
  border-right-width: 2px;
  border-right-style: solid;
  border-right-color: var(--swatch--light-200);
  border-bottom-width: 2px;
  border-bottom-style: solid;
  border-bottom-color: var(--swatch--light-200);
  border-left-width: 2px;
  border-left-style: solid;
  border-left-color: var(--swatch--light-200);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--_typography---font-size--h4);
  font-weight: var(--_typography---font--primary-bold);
  color: var(--swatch--light-200);
}

.india_apply_step_body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  row-gap: var(--_spacing---space--3-16px);
}

.india_apply_step_text {
  font-size: var(--_typography---font-size--text-main);
  line-height: var(--_typography---line-height--large);
  color: var(--swatch--light-200);
}

.india_apply_step_link {
  font-size: var(--_typography---font-size--text-small);
  font-weight: var(--_typography---font--primary-medium);
  color: var(--swatch--light-200);
  text-decoration-line: underline;
  text-underline-offset: 0.25em;
}

.india_apply_cta {
  align-self: stretch;
  width: 100%;
  margin-top: auto;
  background-color: var(--swatch--light-200);
  color: var(--swatch--brand-500);
  border-top-color: var(--swatch--light-200);
  border-right-color: var(--swatch--light-200);
  border-bottom-color: var(--swatch--light-200);
  border-left-color: var(--swatch--light-200);
}

/* ── Housing Options ── */

.india_housing_heading {
  text-align: center;
}

.india_housing_intro {
  text-align: center;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}

.india_housing_rooms {
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--8-64px);
}

.india_housing_room_divider {
  height: 1px;
  background-color: var(--_theme---border);
}

.india_housing_room {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
  align-items: start;
}

@media (max-width: 991px) {
  .india_housing_room {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .india_housing_room {
    grid-template-columns: 1fr;
  }
}

.india_housing_room_info {
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--2-12px);
}

.india_housing_room_name {
  font-size: var(--_typography---font-size--h4);
  font-weight: var(--_typography---font--primary-medium);
  line-height: var(--_typography---line-height--small);
  margin-top: 0;
  margin-bottom: var(--_spacing---space--2-12px);
}

.india_housing_room_amenity {
  font-size: var(--_typography---font-size--text-main);
  color: var(--swatch--brand-500);
}

.india_housing_room_pricing {
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--2-12px);
  margin-top: var(--_spacing---space--4-24px);
  padding-top: var(--_spacing---space--4-24px);
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: var(--_theme---border);
}

.india_housing_room_price {
  font-size: var(--_typography---font-size--text-main);
  display: flex;
  align-items: baseline;
  column-gap: var(--_spacing---space--2-12px);
}

.india_housing_room_price_amount {
  font-size: var(--_typography---font-size--h5);
  font-weight: var(--_typography---font--primary-bold);
  color: var(--swatch--brand-500);
}

.india_housing_room_photo {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  border-top-left-radius: var(--radius--small);
  border-top-right-radius: var(--radius--small);
  border-bottom-left-radius: var(--radius--small);
  border-bottom-right-radius: var(--radius--small);
}

/* ── Registration Dates (dark split + photo) ── */

.india_dates_section {
  display: grid;
  grid-template-columns: 55fr 45fr;
  min-height: auto;
}

@media (max-width: 767px) {
  .india_dates_section {
    grid-template-columns: 1fr;
  }
}

.india_dates_left {
  background-color: var(--swatch--brand-500);
  color: var(--swatch--brand-text);
  padding-top: var(--_spacing---section-space--main-112px);
  padding-bottom: var(--_spacing---section-space--main-112px);
  padding-left: var(--site--margin);
  padding-right: var(--_spacing---space--8-64px);
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--7-48px);
  justify-content: center;
}

.india_dates_heading {
  font-size: var(--_typography---font-size--h2);
  font-weight: var(--_typography---font--primary-medium);
  line-height: var(--_typography---line-height--small);
  letter-spacing: var(--_typography---letter-spacing--tight);
  color: var(--swatch--brand-text);
  margin-top: 0;
  margin-bottom: 0;
}

.india_dates_table {
  display: flex;
  flex-direction: column;
}

.india_dates_row {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-column-gap: var(--_spacing---space--4-24px);
  padding-top: var(--_spacing---space--3-16px);
  padding-bottom: var(--_spacing---space--3-16px);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: color-mix(in srgb, var(--swatch--brand-text) 20%, transparent);
}

.india_dates_row:first-child {
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: color-mix(in srgb, var(--swatch--brand-text) 20%, transparent);
}

.india_dates_label {
  font-size: var(--_typography---font-size--text-main);
  line-height: var(--_typography---line-height--large);
  opacity: 0.85;
}

.india_dates_value {
  font-size: var(--_typography---font-size--text-main);
  font-weight: var(--_typography---font--primary-medium);
  opacity: 0.85;
}

.india_dates_footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: var(--_spacing---space--4-24px);
  flex-wrap: wrap;
  row-gap: var(--_spacing---space--4-24px);
}

.india_dates_left .button_secondary {
  color: var(--swatch--brand-text);
  border-top-color: color-mix(in srgb, var(--swatch--brand-text) 40%, transparent);
  border-right-color: color-mix(in srgb, var(--swatch--brand-text) 40%, transparent);
  border-bottom-color: color-mix(in srgb, var(--swatch--brand-text) 40%, transparent);
  border-left-color: color-mix(in srgb, var(--swatch--brand-text) 40%, transparent);
}

.india_dates_left .button_secondary:hover {
  background-color: var(--swatch--brand-text);
  color: var(--swatch--brand-500);
  border-top-color: var(--swatch--brand-text);
  border-right-color: var(--swatch--brand-text);
  border-bottom-color: var(--swatch--brand-text);
  border-left-color: var(--swatch--brand-text);
}

.india_dates_tt_logo {
  height: 4.5rem;
  width: auto;
  display: block;
  opacity: 0.85;
}

.india_dates_right {
  position: relative;
  overflow-x: hidden;
  overflow-y: hidden;
}

.india_dates_photo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  display: block;
  transform: scale(1.4);
  transform-origin: center 55%;
}

@media (max-width: 767px) {
  .india_dates_right {
    min-height: 50vw;
  }
}

/* ── Prerequisites (3-column cards) ── */

.india_prereq_title {
  text-align: center;
}

.india_prereq_intro {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.india_prereq_link {
  color: inherit;
  font-weight: var(--_typography---font--primary-bold);
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-color: currentColor;
  text-underline-offset: 0.15em;
}

.india_prereq_grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
  margin-top: var(--_spacing---space--8-64px);
  align-items: stretch;
}

@media (max-width: 991px) {
  .india_prereq_grid {
    grid-template-columns: 1fr;
  }
  /* Long CTAs ("Register to Get Free Access") must wrap, not overflow/crop the card */
  .india_prereq_card_cta .button_secondary {
    white-space: normal;
    height: auto;
    min-height: var(--button-size--medium);
    padding-top: 0.6em;
    padding-bottom: 0.6em;
    text-align: center;
  }
}

.india_prereq_card {
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---border);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: var(--_theme---border);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: var(--_theme---border);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: var(--_theme---border);
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  padding-top: var(--_spacing---space--6-40px);
  padding-right: var(--_spacing---space--5-32px);
  padding-bottom: var(--_spacing---space--6-40px);
  padding-left: var(--_spacing---space--5-32px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  row-gap: var(--_spacing---space--3-16px);
}

.india_prereq_icon {
  color: var(--swatch--brand-500);
  margin-bottom: var(--_spacing---space--2-12px);
}

.india_prereq_card_title {
  font-size: var(--_typography---font-size--h4);
  font-weight: var(--_typography---font--primary-medium);
  color: var(--swatch--brand-500);
  line-height: var(--_typography---line-height--small);
  margin-top: 0;
  margin-bottom: 0;
}

.india_prereq_card_divider {
  width: 3rem;
  height: var(--border-width--main);
  background-color: var(--swatch--brand-500);
}

.india_prereq_book_list {
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--4-24px);
}

.india_prereq_book_item {
  font-size: var(--_typography---font-size--tenet);
  line-height: var(--_typography---line-height--large);
}

.india_prereq_watch_heading {
  font-size: var(--_typography---font-size--h5);
  font-weight: var(--_typography---font--primary-medium);
  color: var(--swatch--brand-500);
  margin-top: var(--_spacing---space--3-16px);
  margin-bottom: 0;
}

.india_prereq_card_cta {
  margin-top: auto;
  padding-top: var(--_spacing---space--5-32px);
  display: flex;
  align-items: flex-start;
}

/* ── Testimonials Swiper ── */

.testimonial_swiper_nav {
  display: flex;
  column-gap: var(--_spacing---space--3-16px);
  justify-content: center;
  margin-top: var(--_spacing---space--6-40px);
}

/* ── Contact form — centered on brand bg ── */

.india_contact_centered {
  margin-left: auto;
  margin-right: auto;
}

.india_contact_note {
  text-align: center;
  opacity: 0.6;
  margin-top: var(--_spacing---space--4-24px);
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}

/* ── Newsletter Modal ── */

.newsletter_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition-property: opacity;
  transition-duration: 0.4s;
  transition-timing-function: ease;
}

.newsletter_modal.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.newsletter_modal_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--swatch--light-200);
  opacity: 0.88;
}

.newsletter_modal_panel {
  position: relative;
  z-index: 1;
  background-color: var(--swatch--light-200);
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  padding-top: var(--_spacing---space--8-64px);
  padding-right: var(--_spacing---space--8-64px);
  padding-bottom: var(--_spacing---space--8-64px);
  padding-left: var(--_spacing---space--8-64px);
  max-width: 30rem;
  width: 90%;
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--4-24px);
  border-top-width: var(--border-width--main);
  border-top-style: solid;
  border-top-color: var(--_theme---border);
  border-right-width: var(--border-width--main);
  border-right-style: solid;
  border-right-color: var(--_theme---border);
  border-bottom-width: var(--border-width--main);
  border-bottom-style: solid;
  border-bottom-color: var(--_theme---border);
  border-left-width: var(--border-width--main);
  border-left-style: solid;
  border-left-color: var(--_theme---border);
}

.newsletter_modal_close {
  position: absolute;
  top: var(--_spacing---space--4-24px);
  right: var(--_spacing---space--4-24px);
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  cursor: pointer;
  color: var(--swatch--dark-900);
  opacity: 0.4;
  transition-property: opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

.newsletter_modal_close:hover {
  opacity: 1;
}

/* ── Tuition pricing — simple centered text (reverted to old design) ── */

.india_pricing_simple {
  text-align: center;
  display: flex;
  flex-direction: column;
  row-gap: var(--_spacing---space--2-12px);
  max-width: 44rem;
  margin-left: auto;
  margin-right: auto;
}

.india_pricing_note {
  text-align: center;
  max-width: 44rem;
  margin-left: auto;
  margin-right: auto;
}

/* ── Reveal-on-scroll ── */

[data-reveal],
.hero-reveal {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 0.9s;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

[data-reveal="up"]    { transform: translate3d(0, 32px, 0); }
[data-reveal="left"]  { transform: translate3d(-32px, 0, 0); }
[data-reveal="right"] { transform: translate3d(32px, 0, 0); }
[data-reveal="scale"] { transform: scale(0.94); }
.hero-reveal          { transform: translate3d(0, 24px, 0); }

[data-reveal].is-revealed,
.hero-reveal.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* Hero photo: scale only (no Y) */
.india_hero_photo.hero-reveal { transform: scale(1.06); }
.india_hero_photo.hero-reveal.is-revealed { transform: scale(1); }

@media (prefers-reduced-motion: reduce) {
  [data-reveal],
  .hero-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ── Keyframes (CSS Embed) ── */

@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
