:root {
  --blue: #3c73f4;
  --blue-dark: #205bd7;
  --blue-soft: #eef4ff;
  --blue-softer: #f3f7ff;
  --green: #20c35a;
  --green-dark: #16a34a;
  --yellow: #f4c84a;
  --ink: #111827;
  --navy: #17223b;
  --muted: #6b7280;
  --quiet: #9ca3af;
  --line: #e5e7eb;
  --surface: #ffffff;
  --shadow: 0 18px 45px rgba(28, 46, 92, 0.09);
  --radius-lg: 20px;
  --radius-md: 16px;
  --container: 1600px;
  --header-height: 76px;
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  width: 100%;
  max-width: 100%;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  color: var(--ink);
  background: var(--surface);
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}

main {
  width: 100%;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

.mobile-header-search-link,
.explore-university-mobile-back,
.explore-university-list-arrow,
.footer-mobile-links {
  display: none;
}

.explore-university-list-route-pair {
  display: contents;
}

.explore-university-list-card.is-mobile-route {
  display: none;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  transform: translateY(-160%);
  border-radius: 999px;
  background: var(--surface);
  color: var(--blue-dark);
  padding: 10px 16px;
  font-weight: 800;
  transition: transform 0.2s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

.container {
  width: min(100% - 64px, var(--container));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 4px 20px rgba(17, 24, 39, 0.06);
  backdrop-filter: blur(16px);
}

.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 32px;
  width: min(100% - 64px, 1240px);
  max-width: 1240px;
  min-height: var(--header-height);
  margin-inline: auto;
  padding-inline: 0;
}

.header-inner > * {
  min-width: 0;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  font-weight: 800;
  letter-spacing: 0;
}

.site-header .brand {
  font-size: 24px;
  line-height: 1;
  color: var(--ink);
}

.brand-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: var(--blue);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.site-header .brand-mark {
  width: 28px;
  height: 28px;
  border: 3px solid var(--blue);
  border-radius: 9px 9px 9px 2px;
  background: var(--blue);
  color: #fff;
  overflow: hidden;
}

.site-header .brand-mark::before {
  content: "";
  position: absolute;
  inset: 5px 4px 7px 4px;
  border: 3px solid #fff;
  border-left: 0;
  border-radius: 999px;
  transform: rotate(-24deg);
}

.desktop-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
}

.desktop-nav a,
.desktop-nav button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 0;
  white-space: nowrap;
  transition: color 180ms ease;
}

.desktop-nav .has-chevron::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}

.desktop-nav a:hover,
.desktop-nav a:focus-visible,
.desktop-nav button:hover,
.desktop-nav button:focus-visible,
.desktop-nav .nav-link.is-active {
  color: var(--blue);
}

.desktop-nav .nav-link.is-active::after {
  transform: rotate(225deg) translate(-1px, -2px);
}

.nav-tools {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
  white-space: nowrap;
}

.login-link {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  transition: color 180ms ease;
}

.login-link:hover,
.login-link:focus-visible {
  color: var(--blue);
}

.nav-cta {
  min-height: 40px;
  padding-inline: 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
}

.search-pill {
  width: 232px;
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  padding: 0 12px;
  transition: width 0.22s ease, box-shadow 0.22s ease;
}

.search-pill:focus-within {
  width: 292px;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.22);
}

.search-pill svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  flex: 0 0 auto;
}

.search-pill input {
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
}

.search-pill input::placeholder {
  color: #7d8798;
}

.language-button,
.menu-button {
  border: 0;
  cursor: pointer;
}

.language-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(180deg, #fff 0 33%, #f4c84a 33% 66%, #e23b3b 66%);
  color: #11204b;
  font-size: 14px;
  font-weight: 800;
  box-shadow: inset 0 0 0 2px rgba(200, 200, 200, 0.4);
}

.menu-button {
  display: none;
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: rgba(60, 115, 244, 0.1);
  color: var(--ink);
  padding: 10px;
}

.menu-button span {
  display: block;
  height: 2px;
  border-radius: 999px;
  background: var(--ink);
  margin: 5px 0;
}

.mobile-drawer {
  display: none;
}

.mega-menu-layer {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: -1;
  width: 100%;
  padding: 18px 0 24px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.mega-menu-layer.is-open {
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.services-mega-panel {
  width: min(100% - 64px, 1440px);
  margin-inline: auto;
  padding: 24px;
  border: 1px solid rgba(218, 221, 229, 0.9);
  border-radius: 24px;
  background: #f8f9fc;
  box-shadow: 0 24px 70px rgba(17, 34, 75, 0.16);
  color: var(--ink);
}

.services-mega-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.phase-card {
  --phase-bg: #f5f8ff;
  --phase-icon: #7ea6ff;
  --phase-line: #bfd0ff;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--phase-bg);
}

.phase-card-explore {
  --phase-bg: #f5f8ff;
  --phase-icon: #7ea6ff;
  --phase-line: #b8ccff;
}

.phase-card-decide {
  --phase-bg: #f7f4ff;
  --phase-icon: #9a8cff;
  --phase-line: #c9c0ff;
}

.phase-card-orientation {
  --phase-bg: #f7f4ff;
  --phase-icon: #9a8cff;
  --phase-line: #c9c0ff;
}

.phase-card-apply {
  --phase-bg: #f2fbf7;
  --phase-icon: #5ccb92;
  --phase-line: #b7e9d0;
}

.phase-card-admission,
.phase-card-visa {
  --phase-bg: #f2fbf7;
  --phase-icon: #5ccb92;
  --phase-line: #b7e9d0;
}

.phase-card-move {
  --phase-bg: #fff8f1;
  --phase-icon: #f0b35a;
  --phase-line: #f6d59c;
}

.phase-card-arrival {
  --phase-bg: #fff8f1;
  --phase-icon: #f0b35a;
  --phase-line: #f6d59c;
}

.phase-card > :not(.phase-icon-cloud):not(.service-card-hit-area) {
  position: relative;
  z-index: 2;
}

.phase-icon-cloud {
  position: absolute;
  inset: 0;
  z-index: 0;
  color: var(--phase-icon);
  overflow: hidden;
  pointer-events: none;
}

.phase-icon {
  position: absolute;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.1;
}

.phase-icon-main {
  top: 18px;
  right: -16px;
  width: 112px;
  height: 112px;
  opacity: 0.065;
}

.phase-icon-support {
  width: 34px;
  height: 34px;
  opacity: 0.055;
}

.phase-icon-support-1 {
  top: 30px;
  right: 88px;
}

.phase-icon-support-2 {
  top: 126px;
  right: 44px;
}

.phase-icon-support-3 {
  right: 104px;
  bottom: 26px;
}

.phase-card-header {
  display: grid;
  grid-template-columns: 42px auto minmax(44px, 1fr);
  align-items: center;
  gap: 16px;
  pointer-events: none;
}

.phase-step-badge {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #e8eeff;
  color: #4d7cfe;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

.phase-card-header h3 {
  margin: 0;
  color: #121723;
  font-size: clamp(20px, 1.25vw, 23px);
  font-weight: 800;
  line-height: 1.1;
}

.phase-card-rule {
  height: 2px;
  border-radius: 999px;
  background: var(--phase-line);
}

.phase-card p {
  max-width: 30ch;
  margin: 30px 0 0;
  color: #30333c;
  font-size: clamp(16px, 1vw, 18px);
  font-weight: 500;
  line-height: 1.45;
  pointer-events: none;
}

.phase-card-links {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  pointer-events: auto;
}

.phase-card-links a {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--green);
  font-size: clamp(16px, 1vw, 18px);
  font-weight: 800;
  line-height: 1.3;
  transition: color 0.2s ease;
}

.phase-card-links a span {
  transition: transform 0.2s ease;
}

.phase-card-links a:hover,
.phase-card-links a:focus-visible {
  color: var(--green-dark);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.phase-card-links a:hover span,
.phase-card-links a:focus-visible span {
  transform: translateX(2px);
}

.service-journey-card {
  position: relative;
  min-height: 300px;
  padding: 28px 30px 30px;
  border: 1px solid #dadde5;
  border-radius: 20px;
  color: #2f3340;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.service-journey-card:hover,
.service-journey-card:focus-within {
  border-color: #bfd0ff;
  box-shadow: 0 16px 30px rgba(46, 88, 164, 0.11);
  transform: translateY(-2px);
}

.service-card-hit-area {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}

.explore-mega-panel {
  width: min(100% - 64px, 1360px);
  max-height: min(700px, calc(100vh - var(--header-height) - 42px));
  margin-inline: auto;
  padding: clamp(40px, 3vw, 44px);
  overflow-y: auto;
  border: 1px solid #e7eaf3;
  border-radius: 26px;
  background: #f8f9fc;
  box-shadow: 0 26px 80px rgba(17, 34, 75, 0.16);
  color: #1f2937;
}

.explore-mega-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(320px, 27vw, 360px);
  gap: clamp(36px, 3vw, 40px);
  align-items: stretch;
}

.explore-mega-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.explore-menu-column {
  min-width: 0;
  padding-inline: 30px;
}

.explore-menu-column:first-child {
  padding-left: 0;
}

.explore-menu-column + .explore-menu-column {
  border-left: 1px solid #e7eaf3;
}

.explore-menu-column h3,
.explore-quick-paths p {
  margin: 0 0 24px;
  color: #7c8596;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.explore-menu-column ul {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.explore-menu-column li + li {
  border-top: 1px solid #e7eaf3;
}

.explore-menu-list-link {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 16px;
  min-height: 84px;
  padding: 16px 4px;
  border-radius: 12px;
  transition: background 0.18s ease, color 0.18s ease;
}

.explore-menu-list-link:hover,
.explore-menu-list-link:focus-visible {
  background: rgba(59, 115, 240, 0.055);
}

.menu-item-icon,
.menu-identity-mark,
.menu-logo-mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  flex: 0 0 auto;
}

.menu-item-icon {
  background: #eef4ff;
  color: #3b73f0;
}

.menu-icon-svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.menu-identity-mark {
  border: 1px solid #d9e3ff;
  background: #fff;
  color: #3b73f0;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
}

.menu-logo-mark {
  border: 1px solid #d9e3ff;
  background: #fff;
  overflow: hidden;
}

.menu-logo-mark img {
  display: block;
  max-width: 86%;
  max-height: 86%;
  object-fit: contain;
}

.explore-menu-list-link strong,
.explore-quick-paths strong {
  display: block;
  color: #1f2937;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
}

.explore-menu-list-link small,
.explore-quick-paths small {
  display: block;
  margin-top: 4px;
  color: #7c8596;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.explore-menu-arrow {
  justify-self: end;
  color: #9aa4b8;
  font-weight: 800;
  opacity: 0.55;
  transition: color 0.18s ease, opacity 0.18s ease, transform 0.18s ease;
}

.explore-menu-list-link:hover .explore-menu-arrow,
.explore-menu-list-link:focus-visible .explore-menu-arrow {
  color: #3b73f0;
  opacity: 1;
  transform: translateX(2px);
}

.explore-menu-list-link:hover .menu-item-icon,
.explore-menu-list-link:focus-visible .menu-item-icon {
  color: #205bd7;
}

.explore-menu-cta,
.explore-promo-copy em {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--green);
  font-size: 15px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.3;
}

.explore-menu-cta {
  margin-top: 30px;
}

.explore-menu-cta span,
.explore-promo-copy em span {
  transition: transform 0.18s ease;
}

.explore-menu-cta:hover,
.explore-menu-cta:focus-visible,
.explore-promo-card:hover em,
.explore-promo-card:focus-visible em {
  color: var(--green-dark);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.explore-menu-cta:hover span,
.explore-menu-cta:focus-visible span,
.explore-promo-card:hover em span,
.explore-promo-card:focus-visible em span {
  transform: translateX(2px);
}

.explore-menu-sidebar {
  display: grid;
  gap: 22px;
  align-content: stretch;
}

.explore-promo-card {
  position: relative;
  display: block;
  width: 100%;
  min-height: 380px;
  height: 100%;
  overflow: hidden;
  border-radius: 20px;
  isolation: isolate;
  box-shadow: 0 18px 45px rgba(17, 34, 75, 0.1);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.explore-promo-card:hover,
.explore-promo-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 22px 55px rgba(17, 34, 75, 0.14);
}

.explore-promo-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}

.explore-promo-overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(18, 25, 42, 0.06), rgba(10, 18, 35, 0.76));
}

.explore-promo-copy {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  display: grid;
  gap: 10px;
  color: #fff;
}

.explore-promo-copy strong {
  font-size: 26px;
  font-weight: 900;
  line-height: 1.12;
}

.explore-promo-copy small {
  max-width: 26ch;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.explore-promo-copy em {
  color: #54de89;
}

.explore-quick-paths {
  margin-top: 30px;
  padding: 20px 22px;
  border: 1px solid #e7eaf3;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
}

.explore-quick-paths p {
  margin-bottom: 14px;
}

.explore-quick-paths > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.explore-quick-paths a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 10px;
  border-radius: 14px;
  transition: background 0.18s ease;
}

.explore-quick-paths a:hover,
.explore-quick-paths a:focus-visible {
  background: rgba(59, 115, 240, 0.055);
}

.explore-mega-panel-simple {
  width: min(100% - 64px, 1180px);
  max-height: min(620px, calc(100vh - var(--header-height) - 42px));
  padding: 22px;
  background:
    radial-gradient(circle at 15% 0%, rgba(59, 115, 240, 0.09), transparent 30%),
    #f8faff;
}

.explore-mega-simple-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.55fr);
  gap: 16px;
  align-items: stretch;
}

.explore-mega-intro {
  position: relative;
  display: grid;
  align-content: center;
  gap: 12px;
  min-height: 286px;
  overflow: hidden;
  padding: 26px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 88% 12%, rgba(31, 198, 112, 0.24), transparent 26%),
    linear-gradient(135deg, #17345a 0%, #245fcf 100%);
  color: #fff;
}

.explore-mega-intro::after {
  content: "";
  position: absolute;
  right: -26px;
  bottom: -34px;
  width: 144px;
  height: 144px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 44px;
  transform: rotate(14deg);
}

.explore-mega-intro span {
  width: fit-content;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #7af0a7;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.explore-mega-intro h2 {
  max-width: 11ch;
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 2.5vw, 36px);
  font-weight: 900;
  line-height: 1.04;
}

.explore-mega-intro p {
  max-width: 32ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.explore-mega-intro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.explore-mega-primary-action,
.explore-mega-secondary-action {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 900;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.explore-mega-primary-action {
  background: var(--green);
  color: #fff;
  box-shadow: 0 14px 26px rgba(31, 198, 112, 0.24);
}

.explore-mega-secondary-action {
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.explore-mega-primary-action:hover,
.explore-mega-primary-action:focus-visible,
.explore-mega-secondary-action:hover,
.explore-mega-secondary-action:focus-visible {
  transform: translateY(-1px);
}

.explore-mega-destination-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.explore-destination-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #dfe8f6;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 14px 34px rgba(17, 34, 75, 0.07);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.explore-destination-card:hover,
.explore-destination-card:focus-within {
  border-color: rgba(59, 115, 240, 0.34);
  background: #fff;
  box-shadow: 0 18px 42px rgba(17, 34, 75, 0.12);
  transform: translateY(-2px);
}

.explore-destination-main-link {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  min-height: 96px;
  padding: 4px;
  color: #17345a;
}

.explore-destination-main-link .menu-item-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #eaf2ff;
  color: #3b73f0;
}

.explore-destination-main-link strong,
.explore-destination-main-link small {
  display: block;
}

.explore-destination-main-link strong {
  color: #17345a;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.08;
}

.explore-destination-main-link small {
  margin-top: 4px;
  color: #74849c;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.explore-destination-main-link em {
  color: #96a7c1;
  font-style: normal;
  font-size: 22px;
  font-weight: 900;
  transition: transform 0.18s ease, color 0.18s ease;
}

.explore-destination-card:hover .explore-destination-main-link em,
.explore-destination-card:focus-within .explore-destination-main-link em {
  color: var(--green);
  transform: translateX(3px);
}

.explore-destination-feature-links {
  display: grid;
  gap: 8px;
}

.explore-destination-feature-links a {
  min-height: 36px;
  display: flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 12px;
  background: #f2f6fd;
  color: #415372;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
  transition: background 0.18s ease, color 0.18s ease;
}

.explore-destination-feature-links a:hover,
.explore-destination-feature-links a:focus-visible {
  background: #e9f2ff;
  color: #205bd7;
}

.explore-mega-utility-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 16px;
  margin-top: 16px;
}

.explore-mega-panel-simple .explore-quick-paths {
  margin-top: 0;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
}

.explore-mega-panel-simple .explore-quick-paths > div {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.explore-mega-panel-simple .explore-quick-paths a {
  min-height: 58px;
  padding: 8px;
}

.explore-guidance-card {
  display: grid;
  align-content: center;
  gap: 7px;
  min-height: 128px;
  padding: 18px;
  border: 1px solid #dfe8f6;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(17, 34, 75, 0.06);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.explore-guidance-card:hover,
.explore-guidance-card:focus-visible {
  border-color: rgba(31, 198, 112, 0.42);
  box-shadow: 0 18px 42px rgba(17, 34, 75, 0.11);
  transform: translateY(-2px);
}

.explore-guidance-card > span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.explore-guidance-card strong {
  color: #17345a;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.25;
}

.explore-guidance-card em {
  color: var(--green-dark);
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

@media (min-width: 1440px) {
  .explore-mega-panel:not(.explore-mega-panel-simple) {
    width: min(100% - 96px, 1500px);
  }

  .explore-mega-panel-simple {
    width: min(100% - 96px, 1280px);
  }

  .explore-mega-body {
    grid-template-columns: minmax(0, 1fr) 380px;
  }

  .explore-menu-column {
    padding-inline: 34px;
  }
}

.hero-band {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 72% 15%, rgba(244, 200, 74, 0.22), transparent 28%),
    linear-gradient(135deg, #477cf4 0%, var(--blue) 46%, #4d86ff 100%);
}

.hero-band::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 90px;
  background: linear-gradient(180deg, transparent, rgba(32, 91, 215, 0.18));
  pointer-events: none;
}

.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
  align-items: center;
  gap: clamp(54px, 5vw, 96px);
  min-height: 510px;
  padding-block: 64px 54px;
}

.hero-kicker {
  width: fit-content;
  margin: 0 0 16px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 800;
}

.hero-copy h1 {
  max-width: 660px;
  margin: 0;
  font-size: 52px;
  line-height: 1.09;
  letter-spacing: 0;
  font-weight: 800;
}

.hero-copy h1 span {
  color: var(--yellow);
}

.hero-bullets {
  display: grid;
  gap: 8px;
  max-width: 580px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  color: rgba(255, 255, 255, 0.92);
  font-size: 15px;
  font-weight: 600;
}

.hero-bullets li {
  position: relative;
  padding-left: 22px;
}

.hero-bullets li::before {
  content: "";
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 0 4px rgba(244, 200, 74, 0.16);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 22px;
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 800;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-1px);
}

.button-primary {
  background: var(--green);
  color: #fff;
  box-shadow: 0 10px 24px rgba(32, 195, 90, 0.22);
}

.button-primary:hover,
.button-primary:focus-visible {
  background: var(--green-dark);
  box-shadow: 0 14px 30px rgba(32, 195, 90, 0.3);
}

.pulsating-button {
  position: relative;
  isolation: isolate;
  overflow: visible;
  animation: pulsating-button-breathe 2.8s ease-in-out infinite;
}

.pulsating-button::before,
.pulsating-button::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: inherit;
  z-index: -1;
}

.pulsating-button::before {
  inset: -8px;
  border: 2px solid rgba(32, 195, 90, 0.42);
  opacity: 0;
  transform: scale(0.92);
  animation: pulsating-button-ring 2.8s ease-out infinite;
}

.pulsating-button::after {
  inset: 3px;
  background: radial-gradient(circle, rgba(32, 195, 90, 0.48), rgba(32, 195, 90, 0));
  filter: blur(18px);
  opacity: 0.42;
  animation: pulsating-button-glow 2.8s ease-in-out infinite;
}

.pulsating-button:hover,
.pulsating-button:focus-visible {
  animation-play-state: paused;
}

.pulsating-button:focus-visible {
  outline: 3px solid rgba(47, 85, 255, 0.48);
  outline-offset: 5px;
}

@keyframes pulsating-button-ring {
  0% {
    opacity: 0.58;
    transform: scale(0.92);
  }
  72%,
  100% {
    opacity: 0;
    transform: scale(1.18);
  }
}

@keyframes pulsating-button-glow {
  0%,
  100% {
    opacity: 0.28;
    transform: scale(0.96);
  }
  50% {
    opacity: 0.62;
    transform: scale(1.04);
  }
}

@keyframes pulsating-button-breathe {
  0%,
  100% {
    box-shadow: 0 10px 24px rgba(32, 195, 90, 0.22);
  }
  50% {
    box-shadow: 0 18px 42px rgba(32, 195, 90, 0.36);
  }
}

.cms-listing-page {
  background:
    radial-gradient(circle at top left, rgba(0, 173, 181, 0.12), transparent 34rem),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 38%, #f7fbff 100%);
  color: #102033;
  padding-bottom: clamp(3rem, 6vw, 6rem);
}

.cms-listing-shell {
  padding: clamp(3rem, 7vw, 6rem) 0 clamp(1.5rem, 4vw, 3rem);
}

.cms-listing-shell h1,
.cms-article-hero h1 {
  max-width: 920px;
  margin: 0;
  color: #102033;
  font-size: clamp(2.4rem, 6vw, 5rem);
  line-height: 0.98;
  letter-spacing: 0;
}

.cms-listing-shell > p,
.cms-article-hero-copy > p:not(.cms-article-eyebrow) {
  max-width: 720px;
  color: #526173;
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  line-height: 1.7;
}

.cms-eyebrow,
.cms-article-eyebrow {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin: 0 0 1rem;
  color: #007f88;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cms-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  max-width: 760px;
  margin-top: 2rem;
  padding: 0.5rem;
  border: 1px solid rgba(0, 67, 92, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 20px 50px rgba(13, 68, 98, 0.1);
}

.cms-search-form input {
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0.85rem 1rem;
  color: #102033;
  font: inherit;
  outline: 0;
}

.cms-search-form button {
  border: 0;
  border-radius: 999px;
  background: #073f52;
  color: #fff;
  padding: 0.85rem 1.3rem;
  font-weight: 800;
  cursor: pointer;
}

.cms-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-block: 1.5rem 2.5rem;
}

.cms-filter-row a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  border: 1px solid rgba(0, 67, 92, 0.12);
  border-radius: 999px;
  background: #fff;
  color: #25465a;
  padding: 0.65rem 1rem;
  font-weight: 800;
  text-decoration: none;
}

.cms-filter-row a.is-active {
  border-color: #073f52;
  background: #073f52;
  color: #fff;
}

.cms-article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  margin-block: clamp(1.5rem, 4vw, 3rem);
}

.cms-article-card {
  overflow: hidden;
  border: 1px solid rgba(0, 67, 92, 0.12);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(13, 68, 98, 0.09);
}

.cms-article-card-image {
  display: block;
  aspect-ratio: 16 / 10;
  background: #dcecf1;
}

.cms-article-card-image img,
.cms-article-hero-image img,
.cms-portable-text figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cms-article-card-body {
  display: grid;
  gap: 0.85rem;
  padding: 1.25rem;
}

.cms-article-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  color: #007f88;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.cms-article-card-meta span + span::before,
.cms-article-eyebrow span + span::before {
  content: "/";
  margin-right: 0.45rem;
  color: rgba(0, 127, 136, 0.5);
}

.cms-article-card h3 {
  margin: 0;
  color: #102033;
  font-size: 1.25rem;
  line-height: 1.25;
}

.cms-article-card h3 a,
.cms-read-link,
.cms-portable-text a {
  color: inherit;
}

.cms-article-card-body > p:not(.cms-article-card-meta) {
  margin: 0;
  color: #526173;
  line-height: 1.65;
}

.cms-read-link {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  color: #073f52;
  font-weight: 900;
  text-decoration: none;
}

.cms-empty-state {
  margin-block: clamp(2rem, 5vw, 4rem);
  border: 1px solid rgba(0, 67, 92, 0.12);
  border-radius: 8px;
  background: #fff;
  padding: clamp(2rem, 5vw, 4rem);
  text-align: center;
  box-shadow: 0 18px 45px rgba(13, 68, 98, 0.08);
}

.cms-empty-state h2 {
  margin: 0;
  color: #102033;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.cms-empty-state p:last-child {
  max-width: 560px;
  margin: 0.9rem auto 0;
  color: #526173;
  line-height: 1.7;
}

.cms-article-page {
  background: linear-gradient(180deg, #f7fbff 0%, #fff 42%, #f7fbff 100%);
  color: #102033;
  padding-bottom: clamp(3rem, 6vw, 6rem);
}

.cms-article-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.8fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  padding-block: clamp(3rem, 7vw, 6rem);
}

.cms-article-hero-copy {
  display: grid;
  gap: 1.25rem;
}

.cms-author-row {
  display: inline-flex;
  gap: 0.8rem;
  align-items: center;
  margin-top: 0.5rem;
}

.cms-author-row img {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
}

.cms-author-row span {
  display: grid;
  gap: 0.1rem;
}

.cms-author-row small {
  color: #526173;
}

.cms-article-hero-image {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 0;
  border: 1px solid rgba(0, 67, 92, 0.12);
  border-radius: 8px;
  background: #dcecf1;
  box-shadow: 0 24px 60px rgba(13, 68, 98, 0.14);
}

.cms-article-hero-image figcaption,
.cms-portable-text figcaption {
  padding-top: 0.65rem;
  color: #6a7786;
  font-size: 0.9rem;
}

.cms-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 780px);
  justify-content: center;
}

.cms-portable-text {
  color: #22384c;
  font-size: 1.08rem;
  line-height: 1.85;
}

.cms-portable-text > * + * {
  margin-top: 1.35rem;
}

.cms-portable-text h2,
.cms-portable-text h3,
.cms-portable-text h4 {
  color: #102033;
  line-height: 1.2;
  letter-spacing: 0;
}

.cms-portable-text h2 {
  margin-top: 2.4rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
}

.cms-portable-text h3 {
  margin-top: 2rem;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
}

.cms-portable-text blockquote {
  margin-inline: 0;
  border-left: 4px solid #00adb5;
  background: #eef9fa;
  padding: 1.1rem 1.25rem;
  color: #17364b;
  font-size: 1.18rem;
  font-weight: 700;
}

.cms-portable-text figure {
  margin: 2rem 0;
}

.cms-portable-text figure img {
  display: block;
  max-height: 560px;
  border-radius: 8px;
}

.cms-portable-text code {
  border-radius: 5px;
  background: #eaf2f5;
  padding: 0.12rem 0.3rem;
  font-size: 0.92em;
}

.cms-portable-text pre {
  overflow-x: auto;
  border-radius: 8px;
  background: #102033;
  color: #f7fbff;
  padding: 1rem;
}

.cms-portable-text pre code {
  background: transparent;
  color: inherit;
  padding: 0;
}

.cms-related-section {
  margin-top: clamp(3rem, 6vw, 5rem);
}

.cms-section-heading h2 {
  margin: 0;
  color: #102033;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
}

@media (max-width: 900px) {
  .cms-article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cms-article-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .cms-search-form {
    grid-template-columns: 1fr;
    border-radius: 8px;
  }

  .cms-search-form button {
    width: 100%;
  }

  .cms-article-grid {
    grid-template-columns: 1fr;
  }

  .cms-listing-shell h1,
  .cms-article-hero h1 {
    font-size: clamp(2.1rem, 12vw, 3.2rem);
  }
}

/* About page design-methodology upgrade inspired by warm education storytelling pages. */
.site-header {
  box-shadow: none;
}

.desktop-nav a,
.desktop-nav button,
.login-link {
  border-radius: 999px;
  padding: 8px 2px;
}

.desktop-nav a:hover,
.desktop-nav a:focus-visible,
.desktop-nav button:hover,
.desktop-nav button:focus-visible {
  color: var(--blue);
}

.nav-cta {
  border-radius: 999px;
  box-shadow: 0 16px 34px rgba(17, 24, 39, 0.16);
}

.nav-cta:hover,
.nav-cta:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(17, 24, 39, 0.22);
}

.about-hero-section {
  min-height: min(820px, calc(100dvh - var(--header-height)));
  background: var(--blue-dark);
}

.about-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: var(--about-hero-image);
  background-position: center;
  background-size: cover;
  transform: scale(1.02);
}

.about-hero-section::before {
  inset: 0;
  z-index: -2;
  width: auto;
  height: auto;
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(11, 24, 52, 0.88) 0%, rgba(19, 42, 96, 0.76) 43%, rgba(19, 42, 96, 0.36) 100%),
    radial-gradient(circle at 18% 18%, rgba(244, 200, 74, 0.22), transparent 28%),
    radial-gradient(circle at 86% 20%, rgba(60, 115, 244, 0.28), transparent 26%);
  filter: none;
}

.about-hero-section::after {
  inset: auto -12% -92px;
  top: auto;
  right: -12%;
  z-index: -1;
  width: auto;
  height: 170px;
  border: 0;
  border-radius: 50% 50% 0 0;
  background:
    radial-gradient(circle at 12% 0%, #fff 0 34px, transparent 35px),
    radial-gradient(circle at 25% 8%, #fff 0 44px, transparent 45px),
    radial-gradient(circle at 39% 0%, #fff 0 36px, transparent 37px),
    radial-gradient(circle at 54% 10%, #fff 0 48px, transparent 49px),
    radial-gradient(circle at 69% 0%, #fff 0 38px, transparent 39px),
    radial-gradient(circle at 84% 8%, #fff 0 46px, transparent 47px),
    linear-gradient(#fff, #fff);
  box-shadow: none;
}

.about-hero-grid {
  min-height: min(820px, calc(100dvh - var(--header-height)));
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.58fr);
  padding-block: clamp(86px, 9vw, 130px) clamp(120px, 12vw, 170px);
}

.about-hero-copy {
  max-width: 760px;
}

.about-hero-eyebrow {
  display: inline-flex;
  width: fit-content;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  padding: 8px 13px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(10px);
}

.about-hero-copy h1 {
  max-width: 11ch;
  font-size: clamp(54px, 6.9vw, 94px);
  line-height: 0.95;
}

.about-hero-copy p {
  max-width: 660px;
  color: rgba(255, 255, 255, 0.9);
}

.about-hero-copy strong {
  background: rgba(255, 255, 255, 0.18);
}

.about-hero-visual {
  align-self: end;
  min-height: 0;
}

.about-hero-orbit {
  width: min(92%, 410px);
  background: rgba(255, 255, 255, 0.1);
}

.about-hero-visual img {
  width: min(86%, 390px);
  aspect-ratio: 4 / 5;
  border-radius: 32px;
  object-position: center;
  transform: rotate(2deg);
  transition:
    transform 260ms ease,
    box-shadow 260ms ease;
}

.about-hero-visual:hover img {
  transform: rotate(0deg) translateY(-4px);
  box-shadow:
    0 36px 90px rgba(5, 12, 31, 0.32),
    0 0 0 1px rgba(255, 255, 255, 0.28);
}

.about-anchor-nav {
  margin-top: -52px;
}

.about-anchor-list {
  max-width: 760px;
  min-height: 68px;
  border-radius: 999px;
}

.about-process-section {
  padding-top: clamp(118px, 9vw, 156px);
}

.about-process-step:nth-child(even) {
  grid-template-columns: minmax(320px, 0.74fr) minmax(0, 1fr);
}

.about-process-step:nth-child(even) .about-step-copy {
  order: 2;
}

.about-process-step:nth-child(even) .about-step-visual {
  order: 1;
}

.about-process-step:nth-child(4n + 1) {
  background:
    radial-gradient(circle at 8% 6%, rgba(60, 115, 244, 0.1), transparent 30%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.78)),
    #fff;
}

.about-process-step:nth-child(4n + 2) {
  background:
    radial-gradient(circle at 88% 12%, rgba(244, 200, 74, 0.14), transparent 30%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.78)),
    #fff;
}

.about-process-step:nth-child(4n + 3) {
  background:
    radial-gradient(circle at 10% 88%, rgba(32, 195, 90, 0.11), transparent 32%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.78)),
    #fff;
}

.about-step-visual {
  min-height: 300px;
  border: 1px solid rgba(214, 224, 241, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.about-why-section {
  background:
    linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}

.about-why-section .study-section-heading h2,
.about-results-section .study-section-heading h2 {
  max-width: 860px;
  text-wrap: balance;
}

.about-value-grid {
  gap: clamp(18px, 2vw, 28px);
}

.about-value-card:nth-child(3n + 1) {
  background:
    radial-gradient(circle at 20% 0%, rgba(60, 115, 244, 0.1), transparent 38%),
    #fff;
}

.about-value-card:nth-child(3n + 2) {
  background:
    radial-gradient(circle at 20% 0%, rgba(244, 200, 74, 0.15), transparent 38%),
    #fff;
}

.about-value-card:nth-child(3n) {
  background:
    radial-gradient(circle at 20% 0%, rgba(32, 195, 90, 0.12), transparent 38%),
    #fff;
}

.about-cta-banner {
  min-height: 480px;
}

.about-cta-inner {
  min-height: 480px;
}

.about-cta-inner .button {
  border-radius: 999px;
  padding-inline: 28px;
}

.about-cta-portrait {
  width: clamp(58px, 5.8vw, 88px);
}

.about-results-section {
  background:
    radial-gradient(circle at 88% 8%, rgba(32, 195, 90, 0.18), transparent 26%),
    linear-gradient(135deg, #16264a 0%, var(--blue-dark) 62%, #183161 100%);
  color: #fff;
}

.about-results-section .eyebrow,
.about-results-section .study-section-heading h2 {
  color: #fff;
}

.about-results-section .study-section-heading > p:not(.about-result-stat) {
  color: rgba(255, 255, 255, 0.82);
}

.about-result-stat {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.12);
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(10px);
}

.about-results-grid {
  gap: clamp(16px, 1.6vw, 24px);
}

.about-result-card {
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 24px 58px rgba(3, 12, 33, 0.22);
}

.site-footer {
  background:
    radial-gradient(circle at 14% 12%, rgba(60, 115, 244, 0.18), transparent 28%),
    radial-gradient(circle at 88% 22%, rgba(244, 200, 74, 0.14), transparent 24%),
    #101b31;
  color: #fff;
}

.footer-brand,
.footer-bottom {
  color: rgba(255, 255, 255, 0.72);
}

.footer-logo,
.footer-brand address a,
.footer-bottom a {
  color: #fff;
}

.footer-logo .brand-mark {
  background: #fff;
  color: var(--blue);
}

.footer-cta,
.footer-links {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
    rgba(60, 115, 244, 0.24);
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.18);
}

.footer-cta {
  border-radius: 32px;
}

.footer-links {
  border-radius: 32px;
}

.footer-links a,
.footer-brand p {
  color: rgba(255, 255, 255, 0.76);
}

.footer-brand address a:hover,
.footer-links a:hover,
.footer-bottom a:hover {
  color: #fff;
}

.footer-bottom {
  border-color: rgba(255, 255, 255, 0.12);
}

@media (max-width: 1199px) {
  .about-hero-grid,
  .about-process-step,
  .about-process-step:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .about-process-step:nth-child(even) .about-step-copy,
  .about-process-step:nth-child(even) .about-step-visual {
    order: initial;
  }

  .about-hero-copy h1 {
    max-width: 12ch;
    font-size: clamp(48px, 8vw, 76px);
  }

  .about-hero-visual {
    justify-self: center;
    width: min(100%, 560px);
  }
}

@media (max-width: 768px) {
  .about-hero-section {
    min-height: auto;
  }

  .about-hero-section::before {
    background:
      linear-gradient(180deg, rgba(11, 24, 52, 0.88) 0%, rgba(19, 42, 96, 0.78) 64%, rgba(19, 42, 96, 0.48) 100%),
      radial-gradient(circle at 18% 18%, rgba(244, 200, 74, 0.22), transparent 28%);
  }

  .about-hero-grid {
    min-height: auto;
    gap: 28px;
    padding-block: 64px 104px;
  }

  .about-hero-copy h1 {
    max-width: 11ch;
    font-size: clamp(42px, 13vw, 58px);
  }

  .about-hero-copy strong {
    align-items: flex-start;
    border-radius: 22px;
    white-space: normal;
  }

  .about-hero-visual {
    width: min(100%, 360px);
  }

  .about-hero-visual img {
    width: min(86%, 290px);
    border-width: 7px;
    border-radius: 26px;
  }

  .about-anchor-nav {
    margin-top: -38px;
  }

  .about-anchor-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 58px;
    border-radius: 22px;
  }

  .about-process-section {
    padding-top: 88px;
  }

  .about-process-step {
    border-radius: 26px;
  }

  .about-step-visual {
    min-height: 190px;
  }

  .about-results-section .study-section-heading {
    text-align: left;
  }

  .about-cta-banner,
  .about-cta-inner {
    min-height: 360px;
  }

  .footer-cta,
  .footer-links {
    border-radius: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pulsating-button,
  .pulsating-button::before,
  .pulsating-button::after {
    animation: none;
  }
}

.interactive-hover-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  gap: 0.55rem;
}

.interactive-hover-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(255, 255, 255, 0.18);
  transform: translateX(-105%);
  transition: transform 220ms ease;
}

.interactive-hover-button-label,
.interactive-hover-button-arrow {
  position: relative;
  z-index: 1;
}

.interactive-hover-button-arrow {
  transform: translateX(0);
  transition:
    transform 220ms ease,
    opacity 220ms ease;
}

.interactive-hover-button:hover::before,
.interactive-hover-button:focus-visible::before {
  transform: translateX(0);
}

.interactive-hover-button:hover .interactive-hover-button-arrow,
.interactive-hover-button:focus-visible .interactive-hover-button-arrow {
  transform: translateX(4px);
}

.si-home-insights-empty {
  max-width: 720px;
  margin: 0 auto;
  padding: clamp(1.25rem, 3vw, 2rem);
  text-align: center;
  border: 1px solid rgba(47, 85, 255, 0.16);
  border-radius: 28px;
  background: #f8fbff;
  box-shadow: 0 18px 45px rgba(16, 27, 49, 0.08);
}

.si-home-insights-empty h3 {
  margin: 0 0 0.5rem;
  color: #111827;
  font-size: clamp(1.25rem, 2.4vw, 1.65rem);
}

.si-home-insights-empty p {
  margin: 0;
  color: #667085;
  font-weight: 700;
}

.knowledge-base-empty-state {
  margin-block: clamp(2rem, 5vw, 4rem);
  padding: clamp(2rem, 5vw, 4rem);
  text-align: center;
  border: 1px solid var(--border);
  border-radius: 28px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.knowledge-base-empty-eyebrow {
  display: inline-flex;
  margin: 0 0 1rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  background: rgba(37, 196, 118, 0.12);
  color: var(--green);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.knowledge-base-empty-state h2 {
  margin: 0 0 0.75rem;
}

.knowledge-base-empty-state p:last-child {
  max-width: 620px;
  margin: 0 auto;
}

.explore-university-video-frame {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 20px;
  background: #101827;
  box-shadow: 0 18px 45px rgba(16, 27, 49, 0.12);
}

.explore-university-video-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.explore-university-video-placeholder {
  display: grid;
  gap: 0.75rem;
  justify-items: start;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px dashed rgba(47, 85, 255, 0.28);
  border-radius: 20px;
  background: linear-gradient(135deg, #f5f9ff, #eef6ff);
}

.explore-university-video-placeholder strong {
  color: var(--text);
  font-size: clamp(1rem, 2vw, 1.25rem);
}

.explore-university-video-placeholder p {
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  .interactive-hover-button::before,
  .interactive-hover-button-arrow {
    transition: none;
  }
}

.button-secondary-on-blue {
  background: rgba(255, 255, 255, 0.13);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
}

.button-secondary-on-blue:hover,
.button-secondary-on-blue:focus-visible {
  background: rgba(255, 255, 255, 0.2);
}

.button-outline {
  background: #fff;
  color: var(--green-dark);
  border-color: rgba(32, 195, 90, 0.34);
}

.button-outline:hover,
.button-outline:focus-visible {
  background: #f0fff6;
  border-color: var(--green);
}

.hero-visual {
  position: relative;
  min-height: 430px;
}

.architecture-card {
  position: absolute;
  inset: 44px auto auto 0;
  width: 77%;
  height: 300px;
  border-radius: 34px;
  overflow: hidden;
  opacity: 0.32;
  filter: saturate(0.7);
  box-shadow: 0 24px 70px rgba(17, 24, 39, 0.18);
}

.architecture-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sun-disc {
  position: absolute;
  top: 16px;
  right: 10px;
  width: 318px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 28px 80px rgba(75, 47, 0, 0.14);
}

.student-portrait {
  position: absolute;
  top: 3px;
  right: 0;
  width: 320px;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  border: 9px solid rgba(255, 255, 255, 0.34);
  box-shadow: 0 30px 75px rgba(13, 36, 92, 0.26);
  background: #f7d98a;
}

.student-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.floating-note {
  position: absolute;
  display: grid;
  gap: 1px;
  min-width: 96px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--navy);
  padding: 12px 14px;
  box-shadow: var(--shadow);
}

.floating-note strong {
  color: var(--blue-dark);
  font-size: 22px;
  line-height: 1;
}

.floating-note span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.note-programs {
  left: 10px;
  bottom: 64px;
}

.note-cities {
  right: 50px;
  bottom: 26px;
}

.trust-strip {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding-block: 18px 32px;
}

.trust-strip article {
  min-height: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.trust-item {
  position: relative;
  padding-left: 34px;
}

.trust-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.18);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.34);
}

.trust-item::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: var(--yellow);
}

.trust-strip strong {
  color: var(--yellow);
  font-size: 15px;
  line-height: 1.2;
}

.trust-strip span {
  color: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  font-weight: 700;
}

.section {
  padding-block: 88px;
}

.narrow-heading {
  max-width: 760px;
  text-align: center;
}

.eyebrow {
  margin: 0 0 8px;
  color: #de7c78;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

h2 {
  margin: 0;
  color: var(--navy);
  font-size: 38px;
  line-height: 1.16;
  letter-spacing: 0;
  font-weight: 800;
}

h3 {
  letter-spacing: 0;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 38px;
}

.process-card,
.program-card,
.consultant-card,
.article-card,
.testimonial-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.process-card:hover,
.program-card:hover,
.consultant-card:hover,
.article-card:hover,
.testimonial-card:hover {
  transform: translateY(-3px);
  border-color: rgba(60, 115, 244, 0.28);
  box-shadow: var(--shadow);
}

.process-card {
  min-height: 300px;
  padding: 28px;
}

.process-card.phase-card {
  background: var(--phase-bg);
}

.process-card p {
  min-height: 74px;
}

.program-body h3,
.consultant-card h3,
.article-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.25;
  font-weight: 800;
}

.process-card ul,
.consultant-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #435066;
  font-size: 12px;
  font-weight: 700;
}

.process-card li,
.consultant-card li {
  position: relative;
  min-height: 18px;
  padding-left: 28px;
}

.process-card li::before,
.consultant-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.08em;
  width: 17px;
  height: 17px;
  border-radius: 6px;
  background: #f4f8ff;
  box-shadow: inset 0 0 0 2px rgba(60, 115, 244, 0.42);
}

.process-card li::after,
.consultant-card li::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 0.42em;
  width: 7px;
  height: 4px;
  border-left: 2px solid var(--blue);
  border-bottom: 2px solid var(--blue);
  transform: rotate(-45deg);
}

.process-card li:nth-child(2)::after,
.consultant-card li:nth-child(2)::after {
  left: 5px;
  top: 0.32em;
  width: 7px;
  height: 7px;
  border: 2px solid var(--blue);
  border-radius: 50%;
  transform: none;
}

.process-card li:nth-child(2)::before,
.consultant-card li:nth-child(2)::before {
  box-shadow: inset 0 0 0 2px rgba(32, 195, 90, 0.4);
}

.process-card li:nth-child(3)::after,
.consultant-card li:nth-child(3)::after {
  left: 6px;
  top: 0.25em;
  width: 5px;
  height: 8px;
  border-top: 0;
  border-left: 2px solid var(--blue);
  border-bottom: 2px solid var(--blue);
  transform: rotate(-45deg);
}

.section-action,
.consultant-cta {
  display: grid;
  place-items: center;
  margin-top: 34px;
}

.logo-section {
  padding-block: 56px 66px;
  text-align: center;
  background: #fff;
}

.logo-section p {
  max-width: 980px;
  margin: 0 auto 42px;
  color: var(--navy);
  font-size: 22px;
  line-height: 1.35;
  font-weight: 800;
}

.logo-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}

.logo-row span {
  min-height: 74px;
  display: grid;
  place-items: center;
}

.logo-row img {
  width: auto;
  max-width: min(100%, 210px);
  max-height: 74px;
  object-fit: contain;
}

.testimonials-section,
.consultants-section {
  background: var(--blue-soft);
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 1120px;
  margin-top: 36px;
}

.testimonial-card {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 18px;
  padding: 18px;
}

.testimonial-media {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  min-height: 168px;
  background: var(--navy);
}

.testimonial-media::after {
  content: "";
  position: absolute;
  inset: auto 12px 12px;
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
}

.testimonial-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.testimonial-card p {
  margin: 2px 0 14px;
  color: #273348;
  font-size: 14px;
  font-weight: 700;
}

.testimonial-card h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 16px;
}

.testimonial-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.programs-section {
  background: #fff;
}

.filter-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 28px auto 36px;
  padding-inline: 16px;
}

.filter-pill {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  padding: 0 22px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.filter-pill:hover,
.filter-pill:focus-visible {
  transform: translateY(-1px);
  color: var(--blue-dark);
  border-color: rgba(60, 115, 244, 0.28);
}

.filter-pill.active {
  border-color: var(--green);
  background: var(--green);
  color: #fff;
}

.card-grid {
  display: grid;
  gap: 24px;
}

.three-up {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.program-card {
  overflow: hidden;
}

.program-image {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #dbe7ff;
}

.program-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.badge,
.article-tag {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  border-radius: 999px;
  padding: 0 12px;
  background: #fff;
  color: var(--blue-dark);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.12);
}

.badge {
  top: 14px;
  right: 14px;
}

.badge-dark {
  color: var(--navy);
}

.program-body {
  padding: 20px;
}

.program-body p {
  margin: 7px 0 16px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.program-body dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  margin: 0;
}

.program-body div {
  min-width: 0;
}

.program-body dt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--quiet);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.program-body dt::before {
  content: "";
  width: 13px;
  height: 13px;
  border-radius: 4px;
  background: rgba(60, 115, 244, 0.12);
  box-shadow: inset 0 0 0 2px rgba(60, 115, 244, 0.45);
  flex: 0 0 auto;
}

.program-body dd {
  margin: 2px 0 0;
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
}

.card-actions {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 10px;
  margin-top: 20px;
}

.card-actions .button {
  width: 100%;
  padding-inline: 12px;
  font-size: 12px;
}

.consultants-section {
  padding-bottom: 78px;
}

.consultants-section .narrow-heading {
  max-width: 720px;
  margin-bottom: 36px;
}

.consultants-section h2 {
  line-height: 1.08;
}

.consultant-card {
  padding: 24px;
  text-align: center;
}

.consultant-photo {
  position: relative;
  width: 168px;
  aspect-ratio: 1;
  margin: 0 auto 18px;
  border-radius: 50%;
  overflow: hidden;
}

.consultant-photo::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  z-index: 0;
}

.consultant-photo.blue::before {
  background: #76a2ff;
}

.consultant-photo.yellow::before {
  background: var(--yellow);
}

.consultant-photo.green::before {
  background: #88dfaa;
}

.consultant-photo img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  border-radius: 50%;
}

.consultant-card p {
  margin: 4px 0 18px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.consultant-card ul {
  text-align: left;
}

.consultant-cta {
  max-width: 560px;
  margin-inline: auto;
  text-align: center;
}

.consultant-cta p {
  margin: 0 0 18px;
  color: var(--navy);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
}

.consultant-cta strong {
  color: var(--blue-dark);
  text-transform: uppercase;
}

.articles-section {
  background: #fff;
}

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

.article-card {
  position: relative;
  overflow: hidden;
}

.article-card > img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #dbe7ff;
}

.article-tag {
  top: 14px;
  right: 14px;
  color: var(--green-dark);
}

.article-card > div {
  padding: 20px;
}

.article-card p {
  margin: 10px 0 22px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}

.article-card footer {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.article-card footer img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
}

.site-footer {
  background: #fff;
  padding-block: 70px 24px;
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(230px, 0.8fr) minmax(420px, 1.7fr);
  gap: 28px;
  align-items: stretch;
}

.footer-brand {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.footer-logo {
  margin-bottom: 16px;
  color: var(--blue);
}

.footer-logo .brand-mark {
  background: var(--blue);
  color: #fff;
}

.footer-brand p {
  margin: 0 0 16px;
}

.footer-brand address {
  display: grid;
  gap: 6px;
  margin-bottom: 18px;
  font-style: normal;
}

.footer-brand address a:hover,
.footer-links a:hover,
.footer-bottom a:hover {
  color: var(--blue-dark);
}

.footer-brand address a {
  position: relative;
  padding-left: 22px;
}

.footer-brand address a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 13px;
  height: 13px;
  border-radius: 4px;
  background: rgba(60, 115, 244, 0.12);
  box-shadow: inset 0 0 0 2px rgba(60, 115, 244, 0.45);
}

.footer-cta {
  display: flex;
  align-items: center;
  min-height: 238px;
  border-radius: 22px;
  padding: 28px;
  background:
    radial-gradient(circle at 86% 20%, rgba(244, 200, 74, 0.28), transparent 34%),
    var(--blue);
  color: #fff;
}

.footer-cta h2 {
  color: #fff;
  max-width: 210px;
  font-size: 34px;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  border-radius: 22px;
  background: var(--blue);
  color: #fff;
  padding: 28px;
}

.footer-links h3 {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 800;
}

.footer-links a {
  display: block;
  margin: 9px 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 700;
}

.footer-links a:hover {
  color: #fff;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 34px;
  border-top: 1px solid var(--line);
  padding-top: 20px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.footer-bottom div {
  display: flex;
  gap: 22px;
}

.legal-page {
  background:
    radial-gradient(circle at 12% 16%, rgba(32, 195, 90, 0.12), transparent 28%),
    radial-gradient(circle at 86% 8%, rgba(60, 115, 244, 0.14), transparent 30%),
    linear-gradient(180deg, #f7fbff 0%, #fff 48%);
  padding-block: 82px 96px;
}

.legal-hero {
  max-width: 980px;
}

.legal-hero h1 {
  max-width: 760px;
  margin: 10px 0 14px;
  color: var(--ink);
  font-size: clamp(44px, 7vw, 86px);
  line-height: 0.95;
}

.legal-hero > p:last-child {
  max-width: 820px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 19px;
  font-weight: 700;
}

.legal-updated {
  width: fit-content;
  margin: 0;
  border-radius: 999px;
  background: rgba(60, 115, 244, 0.12);
  color: var(--blue-dark);
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 900;
}

.legal-content {
  display: grid;
  max-width: 980px;
  gap: 18px;
  margin-top: 44px;
}

.legal-section {
  border: 1px solid rgba(60, 115, 244, 0.14);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 54px rgba(23, 34, 59, 0.08);
  padding: clamp(24px, 3vw, 36px);
}

.legal-section h2 {
  margin: 0 0 14px;
  color: var(--navy);
  font-size: clamp(22px, 3vw, 32px);
}

.legal-section p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  font-weight: 700;
}

.legal-section p + p {
  margin-top: 12px;
}

.legal-contact a {
  color: var(--blue-dark);
  font-weight: 900;
}

/* Study programs explorer */
.study-programs-page {
  --study-programs-container: 1600px;
  --study-programs-gutter: clamp(32px, 3.2vw, 64px);
  width: 100%;
  min-height: 100vh;
  background: #fff;
  color: var(--ink);
}

.study-programs-page .container {
  width: min(calc(100% - var(--study-programs-gutter)), var(--study-programs-container));
}

.study-programs-tabs-band {
  width: 100%;
  background:
    radial-gradient(circle at 78% 44%, rgba(255, 255, 255, 0.2) 0 4px, transparent 5px) 0 0 / 28px 28px,
    var(--blue);
}

.study-programs-tabs {
  min-height: 76px;
  display: flex;
  align-items: flex-end;
  gap: 12px;
}

.study-programs-tab {
  min-width: 96px;
  padding: 18px 22px;
  border-radius: 10px 10px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

.study-programs-tab:hover,
.study-programs-tab:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

.study-programs-tab.is-active {
  background: #fff;
  color: var(--ink);
  box-shadow: 0 -10px 28px rgba(17, 24, 39, 0.08);
}

.study-programs-promo {
  position: relative;
  margin-top: 34px;
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr) auto;
  gap: 18px 28px;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(60, 115, 244, 0.13);
  border-radius: 12px;
  background:
    radial-gradient(circle at 8% 0%, rgba(60, 115, 244, 0.1), transparent 30%),
    #eef4ff;
  padding: 18px 58px 18px 24px;
  box-shadow: 0 18px 40px rgba(23, 34, 59, 0.1);
}

.study-programs-promo-art {
  width: 92px;
  height: 82px;
  position: relative;
}

.promo-orientation-kit {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}

.promo-orientation-folder {
  position: absolute;
  left: 12px;
  bottom: 8px;
  width: 68px;
  height: 48px;
  border: 4px solid #79a5ff;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 15px 24px rgba(60, 115, 244, 0.16);
}

.promo-orientation-folder::before {
  content: "";
  position: absolute;
  left: 8px;
  top: -14px;
  width: 30px;
  height: 16px;
  border: 4px solid #79a5ff;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background: #fff;
}

.promo-orientation-card {
  position: absolute;
  width: 32px;
  height: 42px;
  border: 3px solid #79a5ff;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 10px 18px rgba(32, 91, 215, 0.12);
}

.promo-orientation-card::before,
.promo-orientation-card::after {
  content: "";
  position: absolute;
  left: 7px;
  right: 7px;
  height: 3px;
  border-radius: 999px;
  background: #b8cffd;
}

.promo-orientation-card::before {
  top: 12px;
}

.promo-orientation-card::after {
  top: 22px;
}

.promo-orientation-card-one {
  left: 20px;
  top: 3px;
  transform: rotate(-13deg);
}

.promo-orientation-card-two {
  right: 8px;
  top: 13px;
  transform: rotate(11deg);
}

.promo-orientation-check {
  position: absolute;
  right: 0;
  bottom: 2px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 10px 22px rgba(32, 195, 90, 0.28);
}

.promo-orientation-check::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 8px;
  width: 12px;
  height: 7px;
  border-left: 4px solid #fff;
  border-bottom: 4px solid #fff;
  transform: rotate(-45deg);
}

.study-programs-promo-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.study-programs-promo-copy h2 {
  margin: 0 0 4px;
  color: var(--ink);
  font-size: 28px;
  line-height: 1.12;
}

.study-programs-promo-copy h2 span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 9px;
  background: var(--green);
  color: #fff;
  margin-right: 7px;
}

.study-programs-promo-copy p {
  margin: 0;
  color: #2f3b52;
  font-size: 19px;
  font-weight: 700;
}

.study-programs-promo-copy p strong,
.study-programs-promo-link {
  color: var(--green-dark);
}

.study-programs-promo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  border-radius: 999px;
  background: var(--green);
  padding: 0 18px;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 26px rgba(32, 195, 90, 0.22);
  transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.study-programs-promo-link::after {
  content: "→";
  font-size: 16px;
  line-height: 1;
  transition: transform 0.18s ease;
}

.study-programs-promo-link:hover,
.study-programs-promo-link:focus-visible {
  background: var(--green-dark);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 18px 30px rgba(32, 195, 90, 0.26);
}

.study-programs-promo-link:hover::after,
.study-programs-promo-link:focus-visible::after {
  transform: translateX(2px);
}

.study-programs-promo-chips {
  grid-column: 2 / 4;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.study-programs-promo-chips li {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border-radius: 10px;
  background: #fff;
  padding: 0 16px;
  color: #273047;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(23, 34, 59, 0.1);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.study-programs-promo-chips li:hover {
  background: #f8fbff;
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(23, 34, 59, 0.14);
}

.study-programs-promo-close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #4b5563;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.study-programs-promo-close:hover,
.study-programs-promo-close:focus-visible {
  background: rgba(60, 115, 244, 0.1);
  color: var(--ink);
}

.study-programs-intro {
  padding-block: 44px 26px;
}

.study-programs-intro h1 {
  max-width: 1120px;
  margin: 0 0 22px;
  color: #050812;
  font-size: 42px;
  line-height: 1.1;
}

.study-programs-intro p {
  max-width: 1260px;
  margin: 0 0 10px;
  color: #1f2937;
  font-size: 17px;
  line-height: 1.75;
  font-weight: 600;
}

.study-programs-results-layout {
  display: grid;
  grid-template-columns: clamp(320px, 22vw, 360px) minmax(0, 1fr);
  gap: clamp(36px, 3vw, 56px);
  align-items: start;
  padding-bottom: 72px;
}

.study-programs-filter-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 18px);
}

.study-programs-filter-sidebar h2 {
  margin: 0 0 22px;
  color: #111827;
  font-size: 26px;
}

.study-programs-filter-form {
  display: grid;
  gap: 18px;
}

.study-program-preferences-filter {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: 0 18px 18px;
}

.study-program-preferences-filter h3 {
  margin: 0 0 7px;
  font-size: 15px;
  color: #1f2937;
}

.study-program-preferences-filter p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.study-program-preferences-filter a {
  color: var(--green-dark);
  font-weight: 900;
}

.study-program-toggle {
  position: relative;
  width: 40px;
  height: 22px;
  flex: 0 0 auto;
}

.study-program-toggle input {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.study-program-toggle span {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #e5e7eb;
  transition: background 0.18s ease;
}

.study-program-toggle span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(17, 24, 39, 0.18);
  transition: transform 0.18s ease;
}

.study-program-toggle input:checked + span {
  background: var(--green);
}

.study-program-toggle input:checked + span::after {
  transform: translateX(18px);
}

.study-program-filter-group {
  border: 0;
  border-radius: 0;
  background: #fff;
}

.study-program-filter-group summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 54px;
  padding: 0 18px;
  border-radius: 0;
  background: #f4f6fa;
  color: #111827;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.study-program-filter-group summary::-webkit-details-marker {
  display: none;
}

.study-program-filter-group summary::after {
  content: "⌄";
  color: var(--green-dark);
  font-size: 16px;
}

.study-program-filter-group[open] summary::after {
  transform: rotate(180deg);
}

.study-program-filter-group-body,
.study-program-budget-control {
  display: grid;
  gap: 18px;
  padding: 22px 18px 20px;
}

.study-program-filter-field {
  display: grid;
  gap: 8px;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
}

.study-program-filter-field select,
.study-programs-sort select {
  width: 100%;
  min-height: 48px;
  border: 1px solid #d9dee8;
  border-radius: 4px;
  background: #fff;
  padding: 0 14px;
  color: #4b5563;
  font: inherit;
  font-weight: 700;
}

.study-program-filter-radios {
  border: 0;
  padding: 0;
  margin: 0;
}

.study-program-filter-radios legend {
  margin-bottom: 10px;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
}

.study-program-filter-radios div {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.study-program-filter-radios label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  color: #374151;
  font-size: 14px;
  font-weight: 700;
}

.study-program-filter-radios input {
  width: 18px;
  height: 18px;
  accent-color: var(--green);
}

.study-program-budget-values {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #111827;
  font-size: 12px;
  font-weight: 900;
}

.study-program-budget-control input[type="range"] {
  width: 100%;
  accent-color: var(--green);
}

.study-program-filter-actions {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 14px;
  padding: 16px 18px 0;
}

.study-program-filter-actions .button {
  width: 100%;
  min-height: 42px;
  border-radius: 6px;
  font-size: 12px;
}

.study-programs-mobile-filters {
  display: none;
}

.study-programs-results-column {
  min-width: 0;
}

.study-programs-results-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
}

.study-programs-results-toolbar p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
}

.study-programs-sort {
  min-width: 150px;
}

.study-programs-sort select {
  min-height: 42px;
  border-radius: 8px;
  font-size: 13px;
}

.study-programs-results-list {
  display: grid;
  gap: 20px;
}

.study-program-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(136px, 148px);
  gap: clamp(24px, 2vw, 34px);
  align-items: stretch;
  border: 1px solid #dfe5ef;
  border-radius: 10px;
  background: #fff;
  padding: 22px;
  box-shadow: 0 8px 22px rgba(23, 34, 59, 0.04);
}

.study-program-card-main {
  min-width: 0;
  display: flex;
  gap: clamp(18px, 1.6vw, 26px);
  align-items: flex-start;
}

.study-program-logo {
  width: 72px;
  min-width: 72px;
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #fff;
  color: #23324d;
  font-size: 22px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px #e5e7eb;
}

.study-program-logo img {
  max-width: 58px;
  max-height: 44px;
  object-fit: contain;
}

.study-program-card-content {
  min-width: 0;
  flex: 1;
}

.study-program-card-meta-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.study-program-card-meta-top a {
  color: var(--muted);
}

.study-program-location {
  position: relative;
  padding-left: 16px;
  color: #8aa0bf;
}

.study-program-location::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50% 50% 50% 0;
  border: 2px solid #7bb5ff;
  transform: rotate(-45deg);
}

.study-program-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}

.study-program-card h2 {
  margin: 0 0 18px;
  color: #171b2d;
  font-size: 21px;
  line-height: 1.25;
}

.study-program-card h2 a:hover,
.study-program-card h2 a:focus-visible {
  color: var(--blue-dark);
}

.study-program-details {
  display: grid;
  grid-template-columns: repeat(5, minmax(104px, 1fr));
  gap: 14px;
  margin: 0;
}

.study-program-details div {
  min-width: 0;
}

.study-program-details dt {
  color: #8b95a7;
  font-size: 12px;
  font-weight: 800;
}

.study-program-details dd {
  margin: 4px 0 0;
  color: #232836;
  font-size: 12px;
  font-weight: 900;
}

.study-program-card-actions {
  display: grid;
  align-content: space-between;
  justify-items: end;
  gap: 16px;
}

.study-program-save {
  width: 42px;
  height: 42px;
  border: 1px solid #cbd3df;
  border-radius: 9px;
  background: #fff;
  color: #8793a7;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    background 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease;
}

.study-program-save svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: fill 0.18s ease, transform 0.18s ease;
}

.study-program-save:hover,
.study-program-save:focus-visible {
  color: #ef4444;
  border-color: rgba(239, 68, 68, 0.34);
  background: #fff5f5;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(239, 68, 68, 0.1);
}

.study-program-save:active {
  transform: scale(0.96);
}

.study-program-save.is-saved {
  color: #ef4444;
  border-color: rgba(239, 68, 68, 0.42);
  background: #fff1f2;
  box-shadow: 0 12px 24px rgba(239, 68, 68, 0.14);
}

.study-program-save.is-saved svg {
  fill: currentColor;
  transform: scale(1.04);
}

.study-program-apply {
  min-width: 120px;
  border-radius: 6px;
}

.study-programs-state {
  display: grid;
  gap: 12px;
  justify-items: start;
  border: 1px solid #dfe5ef;
  border-radius: 12px;
  background: #fff;
  padding: 34px;
}

.study-programs-state h2 {
  margin: 0;
  font-size: 24px;
}

.study-programs-state p {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.study-programs-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 34px;
}

.study-programs-page-number,
.study-programs-page-arrow,
.study-programs-page-ellipsis {
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #313746;
  font-size: 14px;
  font-weight: 900;
}

.study-programs-page-number[aria-current="page"] {
  background: #20242c;
  color: #fff;
}

.study-programs-page-arrow:hover,
.study-programs-page-arrow:focus-visible,
.study-programs-page-number:hover,
.study-programs-page-number:focus-visible {
  background: #eef4ff;
  color: var(--blue-dark);
}

.study-programs-page-arrow[aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.45;
}

@media (max-width: 1180px) {
  .study-programs-results-layout {
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 28px;
  }

  .study-program-card {
    grid-template-columns: 1fr;
  }

  .study-program-card-actions {
    grid-template-columns: auto auto;
    justify-content: end;
  }

  .study-program-details {
    grid-template-columns: repeat(3, minmax(92px, 1fr));
  }
}

@media (max-width: 900px) {
  .study-programs-page {
    --study-programs-container: 1360px;
    --study-programs-gutter: 32px;
  }

  .study-programs-page .container {
    width: min(calc(100% - var(--study-programs-gutter)), var(--study-programs-container));
  }

  .study-programs-results-layout {
    display: block;
  }

  .study-programs-filter-sidebar {
    display: none;
  }

  .study-programs-mobile-filters {
    display: block;
    width: min(calc(100% - var(--study-programs-gutter)), var(--study-programs-container));
    margin: 0 auto 24px;
    border: 1px solid #dfe5ef;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
  }

  .study-programs-mobile-filters > summary {
    display: flex;
    justify-content: space-between;
    padding: 18px 20px;
    list-style: none;
    color: #111827;
    font-size: 18px;
    font-weight: 900;
  }

  .study-programs-mobile-filters > summary::-webkit-details-marker {
    display: none;
  }

  .study-programs-mobile-filters > summary::after {
    content: "Open";
    color: var(--blue-dark);
    font-size: 13px;
  }

  .study-programs-mobile-filters[open] > summary::after {
    content: "Close";
  }

  .study-programs-mobile-filters .study-programs-filter-form {
    padding-bottom: 18px;
  }

  .study-programs-promo {
    grid-template-columns: 74px minmax(0, 1fr);
    padding-right: 52px;
  }

  .study-programs-promo-chips {
    grid-column: 1 / -1;
  }

  .study-programs-promo-copy h2 {
    font-size: 24px;
  }

  .study-programs-intro h1 {
    font-size: 34px;
  }
}

@media (max-width: 640px) {
  .study-programs-page {
    --study-programs-gutter: 28px;
  }

  .study-programs-tabs {
    min-height: 68px;
    overflow-x: auto;
    align-items: flex-end;
  }

  .study-programs-tab {
    min-width: 112px;
  }

  .study-programs-promo {
    margin-top: 22px;
    grid-template-columns: 1fr;
    padding: 22px 48px 22px 18px;
  }

  .study-programs-promo-art {
    display: none;
  }

  .study-programs-promo-main {
    display: grid;
    gap: 12px;
  }

  .study-programs-promo-copy h2 {
    font-size: 21px;
  }

  .study-programs-promo-copy h2 span {
    margin-bottom: 4px;
  }

  .study-programs-promo-copy p {
    font-size: 16px;
  }

  .study-programs-promo-chips li {
    width: 100%;
    justify-content: center;
  }

  .study-programs-intro {
    padding-block: 34px 22px;
  }

  .study-programs-intro h1 {
    font-size: 28px;
  }

  .study-programs-intro p {
    font-size: 15px;
  }

  .study-programs-results-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .study-programs-sort {
    width: 100%;
  }

  .study-program-card {
    padding: 18px;
  }

  .study-program-card-main {
    display: grid;
  }

  .study-program-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .study-program-card-actions {
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
  }

  .study-program-save {
    width: 48px;
    height: 48px;
  }

  .study-program-apply {
    width: 100%;
  }

  .study-program-filter-radios div {
    display: grid;
  }

  .study-program-filter-actions {
    grid-template-columns: 1fr;
  }
}

/* Study programs marketplace refresh */
.study-programs-page {
  --study-programs-container: 1440px;
  --study-programs-gutter: 64px;
  --programs-blue: #0b63f6;
  --programs-green: #22c55e;
  --programs-green-dark: #16a34a;
  --programs-page-bg: #f7f9fc;
  --programs-ink: #0f172a;
  --programs-muted: #475569;
  --programs-soft: #64748b;
  --programs-line: #e5e7eb;
  width: 100%;
  background: var(--programs-page-bg);
  color: var(--programs-ink);
}

.study-programs-page .container {
  width: min(calc(100% - var(--study-programs-gutter)), var(--study-programs-container));
  margin-inline: auto;
}

.study-programs-tabs-band {
  border-bottom: 1px solid var(--programs-line);
  background: #fff;
}

.study-programs-tabs {
  min-height: 68px;
  display: flex;
  align-items: center;
  gap: 34px;
}

.study-programs-tab {
  position: relative;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 68px;
  border-radius: 0;
  padding: 0 4px;
  color: var(--programs-muted);
  font-size: 15px;
  font-weight: 800;
  text-align: left;
}

.study-programs-tab svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.study-programs-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: transparent;
}

.study-programs-tab:hover,
.study-programs-tab:focus-visible,
.study-programs-tab.is-active {
  color: var(--programs-blue);
  background: transparent;
  box-shadow: none;
}

.study-programs-tab.is-active::after {
  background: var(--programs-blue);
}

.study-programs-hero {
  position: relative;
  overflow: hidden;
  padding-block: 54px 36px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.7);
  background:
    radial-gradient(circle at 82% 24%, rgba(11, 99, 246, 0.1), transparent 28%),
    linear-gradient(135deg, #fff 0%, #f4f8ff 54%, #eef7ff 100%);
}

.study-programs-hero::before {
  content: "";
  position: absolute;
  right: max(4vw, 44px);
  top: 36px;
  width: 112px;
  height: 112px;
  opacity: 0.55;
  background-image: radial-gradient(circle, #f4c84a 1.8px, transparent 2px);
  background-size: 16px 16px;
}

.study-programs-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  align-items: center;
  gap: 48px;
}

.study-programs-hero-copy h1 {
  max-width: 760px;
  margin: 0;
  color: var(--programs-ink);
  font-size: clamp(40px, 4rem, 56px);
  line-height: 1.08;
  letter-spacing: 0;
}

.study-programs-hero-copy p {
  max-width: 720px;
  margin: 18px 0 0;
  color: var(--programs-muted);
  font-size: 19px;
  line-height: 1.6;
  font-weight: 600;
}

.study-programs-hero-media {
  position: relative;
  min-height: 210px;
  margin: 0;
  isolation: isolate;
}

.study-programs-hero-media::before {
  content: "";
  position: absolute;
  right: -26px;
  bottom: -10px;
  width: 300px;
  height: 170px;
  border-radius: 999px 0 0 999px;
  background: var(--programs-blue);
  opacity: 0.95;
  z-index: -1;
}

.study-programs-hero-media img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 330px;
  height: 190px;
  border-radius: 120px 0 0 0;
  object-fit: cover;
  box-shadow: 0 22px 50px rgba(15, 23, 42, 0.14);
}

.study-programs-search-form {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(260px, 1.35fr) minmax(150px, 0.65fr) minmax(150px, 0.65fr) minmax(140px, 0.55fr) auto;
  gap: 18px;
  align-items: center;
  margin-top: 30px;
  border: 1px solid var(--programs-line);
  border-radius: 16px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.study-programs-search-input,
.study-programs-hero-select {
  min-width: 0;
}

.study-programs-search-input {
  position: relative;
  display: block;
}

.study-programs-search-input svg {
  position: absolute;
  left: 18px;
  top: 50%;
  width: 21px;
  height: 21px;
  transform: translateY(-50%);
  fill: none;
  stroke: #64748b;
  stroke-width: 1.9;
  stroke-linecap: round;
}

.study-programs-search-input input,
.study-programs-hero-select select,
.study-program-filter-field select,
.study-programs-sort select {
  width: 100%;
  min-height: 54px;
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  background: #fff;
  color: var(--programs-ink);
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.study-programs-search-input input {
  padding: 0 18px 0 52px;
}

.study-programs-hero-select select,
.study-program-filter-field select,
.study-programs-sort select {
  padding: 0 16px;
}

.study-programs-search-input input:focus,
.study-programs-hero-select select:focus,
.study-program-filter-field select:focus,
.study-programs-sort select:focus {
  border-color: rgba(11, 99, 246, 0.65);
  box-shadow: 0 0 0 4px rgba(11, 99, 246, 0.12);
}

.study-programs-search-button {
  min-width: 160px;
  min-height: 54px;
  border-radius: 10px;
  background: var(--programs-green);
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(34, 197, 94, 0.22);
}

.study-programs-search-button:hover,
.study-programs-search-button:focus-visible {
  background: var(--programs-green-dark);
  transform: translateY(-1px);
}

.study-programs-results-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
  padding-block: 32px 48px;
}

.study-programs-filter-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 20px);
  border: 1px solid var(--programs-line);
  border-radius: 18px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.study-programs-filter-heading,
.study-programs-mobile-filter-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.study-programs-filter-heading h2,
.study-programs-mobile-filter-heading h2 {
  margin: 0;
  color: var(--programs-ink);
  font-size: 20px;
  line-height: 1.2;
}

.study-programs-filter-heading a,
.study-programs-mobile-filter-heading a {
  color: var(--programs-blue);
  font-size: 13px;
  font-weight: 900;
}

.study-programs-filter-form {
  display: grid;
  gap: 0;
}

.study-program-filter-group {
  border: 0;
  border-top: 1px solid var(--programs-line);
  border-radius: 0;
  background: #fff;
}

.study-program-filter-group summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 58px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--programs-ink);
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.study-program-filter-group summary::-webkit-details-marker {
  display: none;
}

.study-program-filter-group summary::after {
  content: "⌄";
  color: var(--programs-soft);
  font-size: 15px;
  transition: transform 0.18s ease;
}

.study-program-filter-group[open] summary::after {
  transform: rotate(180deg);
}

.study-program-filter-group-body,
.study-program-budget-control {
  display: grid;
  gap: 16px;
  padding: 0 0 22px;
}

.study-program-filter-field {
  display: grid;
  gap: 8px;
  color: var(--programs-ink);
  font-size: 13px;
  font-weight: 800;
}

.study-program-filter-field select {
  min-height: 44px;
  font-size: 13px;
}

.study-program-filter-radios {
  border: 0;
  padding: 0;
  margin: 0;
}

.study-program-filter-radios legend {
  margin-bottom: 10px;
  color: var(--programs-ink);
  font-size: 13px;
  font-weight: 900;
}

.study-program-filter-radios div {
  display: grid;
  gap: 11px;
}

.study-program-filter-radios label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 28px;
  color: var(--programs-ink);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.study-program-filter-radios input {
  width: 16px;
  height: 16px;
  accent-color: var(--programs-blue);
}

.study-program-budget-values {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--programs-muted);
  font-size: 12px;
  font-weight: 800;
}

.study-program-budget-control input[type="range"] {
  width: 100%;
  accent-color: var(--programs-blue);
}

.study-program-filter-actions {
  display: grid;
  gap: 12px;
  padding-top: 20px;
  border-top: 1px solid var(--programs-line);
}

.study-program-filter-actions .button {
  width: 100%;
  min-height: 46px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 900;
}

.study-program-filter-actions .button-primary {
  background: var(--programs-green);
}

.study-programs-mobile-filters {
  display: none;
}

.study-programs-results-column {
  min-width: 0;
}

.study-programs-results-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 18px;
  margin-bottom: 20px;
}

.study-programs-results-toolbar h2 {
  margin: 0 0 4px;
  color: var(--programs-ink);
  font-size: 24px;
  line-height: 1.2;
}

.study-programs-results-toolbar p {
  margin: 0;
  color: var(--programs-muted);
  font-size: 14px;
  font-weight: 700;
}

.study-programs-sort-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--programs-muted);
  font-size: 13px;
  font-weight: 800;
}

.study-programs-sort {
  min-width: 190px;
}

.study-programs-sort select {
  min-height: 44px;
  border-radius: 10px;
  font-size: 13px;
}

.study-programs-active-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
}

.study-programs-active-filters a:not(.study-programs-clear-filters) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  border-radius: 999px;
  background: #eaf2ff;
  padding: 0 13px;
  color: var(--programs-blue);
  font-size: 13px;
  font-weight: 800;
}

.study-programs-active-filters strong {
  font-size: 16px;
  line-height: 1;
}

.study-programs-clear-filters {
  color: var(--programs-blue);
  font-size: 13px;
  font-weight: 900;
}

.study-programs-results-list {
  display: grid;
  gap: 18px;
}

.study-program-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(156px, auto);
  gap: 24px;
  align-items: stretch;
  border: 1px solid var(--programs-line);
  border-radius: 18px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.study-program-card:hover {
  border-color: #d2dbe8;
  transform: translateY(-1px);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}

.study-program-card-main {
  min-width: 0;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.study-program-logo {
  width: 88px;
  min-width: 88px;
  height: 88px;
  min-height: 88px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--programs-line);
  border-radius: 12px;
  background: #fff;
  color: #23324d;
  font-size: 22px;
  font-weight: 900;
  box-shadow: none;
}

.study-program-logo img {
  max-width: 68px;
  max-height: 58px;
  object-fit: contain;
}

.study-program-card-content {
  min-width: 0;
}

.study-program-card-meta-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-bottom: 8px;
  color: var(--programs-soft);
  font-size: 12px;
  font-weight: 800;
}

.study-program-card-meta-top a {
  color: var(--programs-muted);
}

.study-program-location {
  position: relative;
  padding-left: 16px;
  color: var(--programs-blue);
}

.study-program-location::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 10px;
  height: 10px;
  border-radius: 50% 50% 50% 0;
  border: 2px solid currentColor;
  transform: rotate(-45deg);
}

.study-program-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 999px;
  background: #dcfce7;
  padding: 0 10px;
  color: #15803d;
  font-size: 11px;
  font-weight: 900;
}

.study-program-card h2 {
  margin: 0;
  color: var(--programs-ink);
  font-size: 22px;
  line-height: 1.3;
}

.study-program-card h2 a:hover,
.study-program-card h2 a:focus-visible {
  color: var(--programs-blue);
}

.study-program-card-description {
  max-width: 720px;
  margin: 8px 0 18px;
  color: var(--programs-muted);
  font-size: 14px;
  line-height: 1.55;
  font-weight: 600;
}

.study-program-details {
  display: grid;
  grid-template-columns: repeat(5, minmax(86px, 1fr));
  gap: 15px;
  margin: 0;
}

.study-program-details dt {
  color: var(--programs-soft);
  font-size: 12px;
  font-weight: 700;
}

.study-program-details dd {
  margin: 5px 0 0;
  color: var(--programs-ink);
  font-size: 13px;
  font-weight: 900;
}

.study-program-intakes {
  display: grid;
  overflow: hidden;
  border-top: 1px solid var(--programs-line);
  margin-top: 18px;
}

.study-program-intakes-row {
  display: grid;
  grid-template-columns: 0.75fr 0.9fr 1.2fr 0.8fr 0.9fr 22px;
  gap: 12px;
  align-items: center;
  min-height: 42px;
  border-bottom: 1px solid var(--programs-line);
  color: var(--programs-ink);
  font-size: 13px;
  font-weight: 800;
}

.study-program-intakes-row:hover {
  color: var(--programs-blue);
}

.study-program-intakes-head {
  color: var(--programs-soft);
  font-size: 12px;
  pointer-events: none;
}

.study-program-intakes-row strong {
  font-weight: 900;
}

.study-program-intakes-row em {
  color: var(--programs-blue);
  font-style: normal;
  font-size: 18px;
}

.study-program-card-actions {
  display: grid;
  align-content: space-between;
  justify-items: end;
  gap: 18px;
}

.study-program-card-tools {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 14px;
}

.study-program-compare {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--programs-muted);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.study-program-compare input {
  width: 16px;
  height: 16px;
  accent-color: var(--programs-blue);
}

.study-program-save {
  width: 38px;
  height: 38px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
}

.study-program-card-cta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.study-program-card-cta .button {
  min-height: 42px;
  border-radius: 10px;
  padding-inline: 20px;
  font-size: 13px;
  font-weight: 900;
}

.study-program-details-link {
  border: 1px solid var(--programs-line);
  background: #fff;
  color: var(--programs-ink);
}

.study-program-apply {
  min-width: 112px;
  background: var(--programs-green);
}

.study-program-apply:hover,
.study-program-apply:focus-visible {
  background: var(--programs-green-dark);
}

.study-programs-state {
  display: grid;
  gap: 14px;
  justify-items: start;
  border: 1px solid var(--programs-line);
  border-radius: 18px;
  background: #fff;
  padding: 34px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.study-programs-state h2 {
  margin: 0;
  font-size: 24px;
}

.study-programs-state p {
  margin: 0;
  color: var(--programs-muted);
  font-size: 15px;
  font-weight: 700;
}

.study-programs-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 26px;
}

.study-programs-page-number,
.study-programs-page-arrow,
.study-programs-page-ellipsis {
  min-width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--programs-line);
  border-radius: 8px;
  background: #fff;
  color: var(--programs-ink);
  padding-inline: 12px;
  font-size: 14px;
  font-weight: 900;
}

.study-programs-page-arrow {
  gap: 8px;
  min-width: 104px;
}

.study-programs-page-ellipsis {
  border-color: transparent;
  background: transparent;
}

.study-programs-page-number[aria-current="page"] {
  border-color: var(--programs-blue);
  background: var(--programs-blue);
  color: #fff;
}

.study-programs-page-arrow:hover,
.study-programs-page-arrow:focus-visible,
.study-programs-page-number:hover,
.study-programs-page-number:focus-visible {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: var(--programs-blue);
}

.study-programs-page-arrow[aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.45;
}

.study-programs-guidance {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(220px, 360px);
  gap: 28px;
  align-items: center;
  overflow: hidden;
  margin-bottom: 48px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 76% 50%, rgba(11, 99, 246, 0.14), transparent 28%),
    #eaf2ff;
  padding: 30px 40px;
}

.study-programs-guidance-icon {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--programs-blue);
}

.study-programs-guidance-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.study-programs-guidance h2 {
  margin: 0 0 8px;
  color: var(--programs-ink);
  font-size: 25px;
  line-height: 1.2;
}

.study-programs-guidance p {
  max-width: 620px;
  margin: 0 0 18px;
  color: var(--programs-muted);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 700;
}

.study-programs-guidance .button {
  min-height: 44px;
  border-radius: 10px;
  background: var(--programs-blue);
  font-size: 14px;
}

.study-programs-guidance-visual {
  position: relative;
  min-height: 104px;
}

.study-programs-guidance-visual::before {
  content: "";
  position: absolute;
  right: 40px;
  bottom: -40px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(11, 99, 246, 0.14);
}

.study-programs-guidance-visual span {
  position: absolute;
  right: 8px;
  bottom: 0;
  width: 132px;
  height: 132px;
  border-radius: 60px 60px 18px 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.2)),
    radial-gradient(circle at 50% 36%, #f9c9a7 0 18px, transparent 19px),
    linear-gradient(90deg, #3b82f6, #22c55e);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
}

.study-programs-loading-copy {
  display: grid;
  gap: 18px;
}

.study-programs-loading-copy span,
.study-programs-loading-copy strong,
.study-programs-loading-copy em,
.study-programs-search-skeleton span,
.study-programs-filter-skeleton span,
.study-program-card-skeleton > span,
.study-program-card-skeleton strong,
.study-program-card-skeleton p {
  display: block;
  border-radius: 999px;
  background: linear-gradient(90deg, #e6edf7, #f7f9fc, #e6edf7);
  background-size: 220% 100%;
  animation: studyProgramSkeleton 1.4s ease-in-out infinite;
}

.study-programs-loading-copy span {
  width: 210px;
  height: 22px;
}

.study-programs-loading-copy strong {
  width: min(620px, 80vw);
  height: 62px;
}

.study-programs-loading-copy em {
  width: min(520px, 70vw);
  height: 24px;
}

.study-programs-search-skeleton span {
  height: 54px;
}

.study-programs-filter-skeleton,
.study-program-card-skeleton {
  pointer-events: none;
}

.study-programs-filter-skeleton span {
  height: 44px;
}

.study-program-card-skeleton {
  grid-template-columns: 88px 1fr;
}

.study-program-card-skeleton > span {
  width: 88px;
  height: 88px;
  border-radius: 12px;
}

.study-program-card-skeleton div {
  display: grid;
  gap: 14px;
}

.study-program-card-skeleton strong {
  width: 70%;
  height: 24px;
}

.study-program-card-skeleton p {
  width: 100%;
  height: 16px;
  margin: 0;
}

@keyframes studyProgramSkeleton {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 220% 50%;
  }
}

@media (max-width: 1180px) {
  .study-programs-page {
    --study-programs-gutter: 48px;
  }

  .study-programs-search-form {
    grid-template-columns: minmax(260px, 1fr) repeat(2, minmax(150px, 0.55fr));
  }

  .study-programs-search-button,
  .study-programs-hero-select:last-of-type {
    grid-column: span 1;
  }

  .study-programs-results-layout {
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 24px;
  }

  .study-program-card {
    grid-template-columns: 1fr;
  }

  .study-program-card-actions {
    grid-template-columns: 1fr auto;
    align-items: center;
    justify-items: stretch;
  }

  .study-program-card-cta {
    justify-content: flex-end;
  }
}

@media (max-width: 900px) {
  .study-programs-page {
    --study-programs-gutter: 40px;
  }

  .study-programs-hero {
    padding-block: 44px 28px;
  }

  .study-programs-hero-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .study-programs-hero-copy h1 {
    font-size: clamp(36px, 3rem, 48px);
  }

  .study-programs-hero-media {
    display: none;
  }

  .study-programs-search-form {
    grid-template-columns: 1fr 1fr;
  }

  .study-programs-search-input,
  .study-programs-search-button {
    grid-column: 1 / -1;
  }

  .study-programs-results-layout {
    display: block;
    padding-top: 22px;
  }

  .study-programs-filter-sidebar {
    display: none;
  }

  .study-programs-mobile-filters {
    display: block;
    width: min(calc(100% - var(--study-programs-gutter)), var(--study-programs-container));
    margin: 22px auto 0;
  }

  .study-programs-mobile-filters > summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 50px;
    border: 1px solid var(--programs-line);
    border-radius: 14px;
    background: #fff;
    padding: 0 18px;
    color: var(--programs-ink);
    font-size: 15px;
    font-weight: 900;
    list-style: none;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
  }

  .study-programs-mobile-filters > summary::-webkit-details-marker {
    display: none;
  }

  .study-programs-mobile-filters > summary span:last-child {
    color: var(--programs-blue);
    font-size: 13px;
  }

  .study-programs-mobile-filters[open]::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 54;
    background: rgba(15, 23, 42, 0.38);
  }

  .study-programs-mobile-filters[open] > summary {
    position: fixed;
    left: 20px;
    right: 20px;
    bottom: min(76vh, calc(100vh - 92px));
    z-index: 61;
    border-radius: 18px 18px 0 0;
    box-shadow: none;
  }

  .study-programs-mobile-filters[open] > summary span:last-child {
    font-size: 0;
  }

  .study-programs-mobile-filters[open] > summary span:last-child::before {
    content: "Close";
    font-size: 13px;
  }

  .study-programs-mobile-filter-panel {
    display: none;
  }

  .study-programs-mobile-filters[open] .study-programs-mobile-filter-panel {
    position: fixed;
    left: 20px;
    right: 20px;
    bottom: 0;
    z-index: 60;
    display: block;
    max-height: 76vh;
    overflow: auto;
    border-radius: 18px 18px 0 0;
    background: #fff;
    padding: 76px 20px 24px;
    box-shadow: 0 -20px 48px rgba(15, 23, 42, 0.2);
  }

  .study-programs-mobile-filter-heading {
    display: none;
  }

  .study-programs-results-toolbar {
    margin-top: 0;
  }

  .study-programs-guidance {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .study-programs-guidance-visual {
    display: none;
  }
}

@media (max-width: 640px) {
  .study-programs-page {
    --study-programs-gutter: 40px;
  }

  .study-programs-tabs {
    justify-content: center;
    gap: 20px;
    overflow-x: auto;
  }

  .study-programs-tab {
    min-height: 60px;
    font-size: 14px;
  }

  .study-programs-hero {
    padding-block: 38px 24px;
  }

  .study-programs-hero-copy h1 {
    font-size: clamp(34px, 2.7rem, 42px);
  }

  .study-programs-hero-copy p {
    font-size: 16px;
  }

  .study-programs-search-form {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 22px;
    padding: 18px;
  }

  .study-programs-results-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .study-programs-sort-wrap {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }

  .study-programs-sort {
    width: 100%;
  }

  .study-program-card {
    padding: 18px;
  }

  .study-program-card-main {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .study-program-logo {
    width: 78px;
    min-width: 78px;
    height: 78px;
    min-height: 78px;
  }

  .study-program-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .study-program-intakes {
    overflow-x: auto;
  }

  .study-program-intakes-row {
    min-width: 620px;
  }

  .study-program-card-actions {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }

  .study-program-card-tools,
  .study-program-card-cta {
    justify-content: space-between;
  }

  .study-program-card-cta {
    display: grid;
    grid-template-columns: 1fr;
  }

  .study-program-card-cta .button {
    width: 100%;
  }

  .study-programs-pagination {
    flex-wrap: wrap;
  }

  .study-programs-page-arrow {
    flex: 1 1 130px;
  }

  .study-programs-guidance {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .study-programs-guidance-icon {
    width: 60px;
    height: 60px;
  }
}

/* Top cities */
.top-cities-page {
  background: #fff;
}

.top-cities-shell {
  padding-block: clamp(34px, 4.2vw, 62px) clamp(64px, 7vw, 96px);
}

.top-cities-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.86fr);
  align-items: center;
  gap: 18px;
  margin-bottom: clamp(30px, 3.4vw, 48px);
  padding: clamp(18px, 2vw, 26px);
  border: 1px solid #dfe7f2;
  border-radius: 18px;
  background: #f8fbff;
  box-shadow: 0 16px 34px rgba(28, 48, 86, 0.08);
}

.top-cities-controls h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(22px, 1.9vw, 30px);
  line-height: 1.12;
  font-weight: 900;
}

.top-cities-controls p {
  margin: 6px 0 0;
  color: #657289;
  font-size: 15px;
  font-weight: 800;
}

.top-cities-control-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(170px, 0.56fr);
  gap: 12px;
}

.top-cities-search,
.top-cities-sort {
  min-height: 54px;
  border: 1px solid #d4deeb;
  border-radius: 16px;
  background: #fff;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.top-cities-search {
  position: relative;
  display: flex;
  align-items: center;
}

.top-cities-search-icon {
  position: absolute;
  left: 18px;
  width: 18px;
  height: 18px;
  border: 3px solid #8aa0bd;
  border-radius: 50%;
}

.top-cities-search-icon::after {
  content: "";
  position: absolute;
  right: -8px;
  bottom: -6px;
  width: 10px;
  height: 3px;
  border-radius: 999px;
  background: #8aa0bd;
  transform: rotate(45deg);
}

.top-cities-search input,
.top-cities-sort select {
  width: 100%;
  min-height: 54px;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  outline: 0;
}

.top-cities-search input {
  padding: 0 16px 0 54px;
}

.top-cities-search input::placeholder {
  color: #8794a8;
}

.top-cities-sort {
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  padding: 7px 14px;
}

.top-cities-sort span {
  color: #8794a8;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.top-cities-sort select {
  min-height: 28px;
  padding: 0 28px 0 0;
  appearance: auto;
}

.top-cities-search:focus-within,
.top-cities-sort:focus-within {
  border-color: var(--brand-blue);
  box-shadow: 0 0 0 4px rgba(60, 115, 244, 0.16);
}

@media (hover: hover) {
  .top-cities-search:hover,
  .top-cities-sort:hover {
    border-color: #b7c7dd;
    transform: translateY(-1px);
  }
}

.top-cities-section + .top-cities-section {
  margin-top: clamp(42px, 5vw, 76px);
}

.top-cities-section h1,
.top-cities-section h2 {
  margin: 0 0 20px;
  color: var(--ink);
  font-size: clamp(28px, 2.35vw, 38px);
  line-height: 1.1;
  font-weight: 900;
}

.top-cities-grid,
.all-cities-grid {
  display: grid;
  gap: clamp(12px, 1.15vw, 18px);
}

.top-cities-grid,
.all-cities-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: stretch;
}

.top-cities-grid .top-city-card {
  grid-column: span 2;
  min-height: clamp(160px, 13vw, 218px);
}

.top-cities-grid .top-city-card.is-wide {
  grid-column: span 3;
}

.all-cities-grid .top-city-card {
  grid-column: span 2;
  min-height: clamp(142px, 11vw, 184px);
}

.all-cities-grid .top-city-card:nth-child(1),
.all-cities-grid .top-city-card:nth-child(2) {
  grid-column: span 3;
}

.top-city-card {
  position: relative;
  display: block;
  overflow: hidden;
  isolation: isolate;
  border-radius: 8px;
  background: linear-gradient(135deg, #d8e8ff, #e9f6ef);
  box-shadow: 0 12px 24px rgba(23, 34, 59, 0.1);
  outline: 0;
}

.top-city-card img,
.top-city-card-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.top-city-card img {
  object-fit: cover;
  transform: scale(1.01);
  transition: transform 0.28s ease, filter 0.28s ease;
}

.top-city-card-fallback {
  display: grid;
  place-items: center;
  color: rgba(17, 24, 39, 0.18);
  font-size: clamp(48px, 7vw, 92px);
  font-weight: 900;
}

.top-city-card-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(8, 14, 28, 0.04) 20%, rgba(8, 14, 28, 0.18) 54%, rgba(8, 14, 28, 0.76) 100%),
    linear-gradient(90deg, rgba(8, 14, 28, 0.32), transparent 58%);
  transition: background 0.28s ease;
}

.top-city-card-title {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  z-index: 2;
  color: #fff;
  font-size: clamp(21px, 2vw, 31px);
  font-weight: 900;
  line-height: 1.02;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.42);
  transition: transform 0.28s ease;
}

.top-city-card:hover img,
.top-city-card:focus-visible img {
  transform: scale(1.06);
  filter: brightness(1.05) saturate(1.08);
}

.top-city-card:hover .top-city-card-title,
.top-city-card:focus-visible .top-city-card-title {
  transform: translateY(-3px);
}

.top-city-card:focus-visible {
  box-shadow:
    0 0 0 4px rgba(60, 115, 244, 0.26),
    0 14px 28px rgba(23, 34, 59, 0.12);
}

.top-cities-empty {
  border: 1px solid #dfe5ef;
  border-radius: 12px;
  background: #f8fbff;
  padding: 24px;
  color: #4b5563;
}

.top-cities-empty strong {
  display: block;
  color: var(--ink);
  font-size: 18px;
}

.top-cities-empty p {
  margin: 8px 0 0;
}

.top-cities-empty.is-error {
  margin-bottom: 28px;
  background: #fff7ed;
  border-color: #fed7aa;
}

@media (max-width: 980px) {
  .top-cities-controls {
    grid-template-columns: 1fr;
  }

  .top-cities-grid,
  .all-cities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .top-cities-grid .top-city-card,
  .top-cities-grid .top-city-card.is-wide,
  .all-cities-grid .top-city-card,
  .all-cities-grid .top-city-card:nth-child(1),
  .all-cities-grid .top-city-card:nth-child(2) {
    grid-column: span 1;
  }
}

@media (max-width: 640px) {
  .top-cities-shell {
    padding-block: 32px 64px;
  }

  .top-cities-controls {
    gap: 16px;
    margin-bottom: 30px;
    padding: 18px;
    border-radius: 16px;
  }

  .top-cities-controls p {
    font-size: 14px;
  }

  .top-cities-control-row {
    grid-template-columns: 1fr;
  }

  .top-cities-section h1,
  .top-cities-section h2 {
    margin-bottom: 16px;
    font-size: 28px;
  }

  .top-cities-grid,
  .all-cities-grid {
    gap: 12px;
  }

  .top-cities-grid .top-city-card,
  .all-cities-grid .top-city-card {
    min-height: 150px;
  }
}

@media (max-width: 460px) {
  .top-cities-grid,
  .all-cities-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .top-cities-grid .top-city-card,
  .all-cities-grid .top-city-card {
    min-height: 174px;
  }
}

/* Redesigned Explore Cities */
.top-cities-page {
  --cities-blue: #0b63f6;
  --cities-green: #22c55e;
  --cities-green-hover: #16a34a;
  --cities-bg: #f7f9fc;
  --cities-card: #fff;
  --cities-border: #e5e7eb;
  --cities-ink: #0f172a;
  --cities-text: #475569;
  --cities-muted: #64748b;
  background: var(--cities-bg);
  color: var(--cities-ink);
  overflow-x: hidden;
}

body:has(#top-cities-main) {
  --header-height: 72px;
  --cities-blue: #0b63f6;
  --cities-green: #22c55e;
  --cities-green-hover: #16a34a;
  --cities-bg: #f7f9fc;
  --cities-card: #fff;
  --cities-border: #e5e7eb;
  --cities-ink: #0f172a;
  --cities-text: #475569;
  --cities-muted: #64748b;
}

body:has(#top-cities-main) .site-header .header-inner {
  width: min(calc(100% - 64px), 1360px);
}

body:has(#top-cities-main) .site-header .brand {
  font-size: 24px;
}

.top-cities-page .study-programs-tabs-band,
.top-cities-page .study-programs-tabs,
.top-cities-page .study-programs-tab {
  height: 60px;
}

.top-cities-page .study-programs-tabs-band {
  border-bottom: 1px solid var(--cities-border);
  background: #fff;
}

.top-cities-page .study-programs-tabs {
  min-height: 60px;
  align-items: center;
  gap: 34px;
}

.top-cities-page .study-programs-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  border-radius: 0;
  padding: 0 10px;
  color: var(--cities-text);
  font-size: 14px;
  font-weight: 800;
}

.top-cities-page .study-programs-tab:hover,
.top-cities-page .study-programs-tab:focus-visible {
  color: var(--cities-blue);
  background: transparent;
}

.top-cities-page .study-programs-tab.is-active {
  background: transparent;
  color: var(--cities-blue);
  box-shadow: none;
}

.top-cities-page .study-programs-tab.is-active::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 0;
  left: 10px;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: var(--cities-blue);
}

.top-cities-shell {
  width: 100%;
  padding: 0 0 clamp(64px, 7vw, 96px);
}

.top-cities-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 32px;
}

.top-cities-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.82fr);
  gap: 20px 40px;
  align-items: start;
  padding: 38px 0 34px;
}

.top-cities-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 580px;
}

.top-cities-hero-copy h1 {
  margin: 0;
  color: var(--cities-ink);
  font-size: clamp(40px, 3.5vw, 44px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.top-cities-hero-copy p {
  max-width: 520px;
  margin: 20px 0 0;
  color: var(--cities-text);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.62;
}

.top-cities-hero-art {
  position: relative;
  min-height: 218px;
  overflow: hidden;
  border-radius: 130px 0 0 130px;
  background:
    radial-gradient(circle at 24px 24px, rgba(11, 99, 246, 0.22) 0 2px, transparent 2px) 0 0 / 20px 20px,
    linear-gradient(135deg, #dbeafe, #eff6ff);
}

.top-cities-hero-art::before {
  content: "";
  position: absolute;
  left: -46px;
  top: 84px;
  z-index: 1;
  width: 116px;
  height: 116px;
  border: 28px solid var(--cities-blue);
  border-radius: 999px;
}

.top-cities-hero-art img,
.top-cities-hero-art span {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.top-cities-hero-art img {
  object-fit: cover;
}

.top-cities-hero-art span {
  background: linear-gradient(135deg, #dbeafe, #f8fafc);
}

.top-cities-search-card {
  grid-column: 1 / -1;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(280px, 1.05fr) minmax(180px, 0.58fr) minmax(180px, 0.58fr) minmax(190px, auto);
  gap: 16px;
  align-items: center;
  margin-top: -4px;
  padding: 18px;
  border: 1px solid var(--cities-border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.1);
}

.top-cities-search-field,
.top-cities-select-field {
  min-width: 0;
  min-height: 54px;
  border: 1px solid var(--cities-border);
  border-radius: 12px;
  background: #fff;
}

.top-cities-search-field {
  position: relative;
  display: flex;
  align-items: center;
}

.top-cities-search-field svg {
  position: absolute;
  left: 16px;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #94a3b8;
  stroke-width: 2;
}

.top-cities-search-field input,
.top-cities-select-field select {
  width: 100%;
  min-height: 54px;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: var(--cities-ink);
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  outline: 0;
}

.top-cities-search-field input {
  padding: 0 16px 0 50px;
}

.top-cities-search-field input::placeholder {
  color: #94a3b8;
}

.top-cities-select-field {
  display: grid;
  align-content: center;
  padding: 7px 14px;
}

.top-cities-select-field span {
  color: var(--cities-muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.top-cities-select-field select {
  min-height: 28px;
  padding: 0;
  appearance: auto;
}

.top-cities-search-button {
  min-height: 54px;
  border: 0;
  border-radius: 12px;
  background: var(--cities-blue);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(11, 99, 246, 0.18);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.top-cities-search-field:focus-within,
.top-cities-select-field:focus-within {
  border-color: var(--cities-blue);
  box-shadow: 0 0 0 4px rgba(11, 99, 246, 0.12);
}

.top-cities-section + .top-cities-section {
  margin-top: 48px;
}

.top-cities-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.top-cities-section-header h2 {
  margin: 0;
  color: var(--cities-ink);
  font-size: clamp(22px, 2vw, 26px);
  font-weight: 800;
  line-height: 1.16;
  letter-spacing: -0.02em;
}

.top-cities-section-header a,
.top-cities-section-header span {
  color: var(--cities-blue);
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.top-cities-section-header span {
  color: var(--cities-ink);
}

.top-cities-recommended-grid,
.top-cities-goal-grid,
.all-cities-grid {
  display: grid;
  gap: 24px;
  align-items: stretch;
}

.top-cities-recommended-grid,
.top-cities-goal-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.all-cities-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.top-cities-recommended-grid .top-city-card,
.top-cities-goal-grid .top-city-card,
.all-cities-grid .top-city-card,
.all-cities-grid .top-city-card:nth-child(1),
.all-cities-grid .top-city-card:nth-child(2) {
  grid-column: auto;
  min-height: 0;
}

.top-city-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--cities-border);
  border-radius: 18px;
  background: var(--cities-card);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.top-city-card-media {
  position: relative;
  display: block;
  height: 158px;
  aspect-ratio: auto;
  overflow: hidden;
  background: linear-gradient(135deg, #dbeafe, #ecfdf5);
}

.top-city-card.is-recommended .top-city-card-media {
  height: 182px;
}

.top-city-card-media img,
.top-city-card-fallback {
  position: static;
  inset: auto;
  width: 100%;
  height: 100%;
}

.top-city-card-media img {
  display: block;
  object-fit: cover;
  transition: transform 220ms ease;
}

.top-city-card-fallback {
  display: grid;
  place-items: center;
  color: rgba(15, 23, 42, 0.28);
  font-size: 48px;
  font-weight: 900;
}

.top-city-card-body {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
}

.top-city-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.top-city-card.is-recommended .top-city-card-heading {
  padding-right: 70px;
}

.top-city-card h3 {
  margin: 0;
  color: var(--cities-ink);
  font-size: 19px;
  font-weight: 800;
  line-height: 1.2;
}

.top-city-card-heading p,
.top-city-card-reason {
  margin: 5px 0 0;
  color: var(--cities-blue);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.top-city-card-reason {
  min-height: 44px;
  margin: 0;
  color: var(--cities-text);
  font-weight: 500;
}

.top-city-category-mark {
  display: grid;
  position: absolute;
  top: -28px;
  right: 20px;
  flex: 0 0 auto;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: #eff6ff;
  color: var(--cities-blue);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.1);
}

.top-city-category-mark.is-affordable {
  background: #ecfdf5;
  color: #16a34a;
}

.top-city-category-mark.is-coastal {
  background: #fff7ed;
  color: #f97316;
}

.top-city-category-mark svg,
.top-city-card-stats svg,
.top-cities-guidance-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.top-city-card-stats {
  display: grid;
  gap: 10px;
  margin: 0;
}

.all-cities-grid .top-city-card-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
}

.top-city-card-stats div {
  min-width: 0;
}

.top-city-card-stats dt,
.top-city-card-stats dd {
  margin: 0;
  color: var(--cities-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.top-city-card-stats dt {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

.top-city-card-stats dd {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 6px;
  color: var(--cities-ink);
  white-space: nowrap;
}

.top-city-card-stats svg {
  width: 16px;
  min-width: 16px;
  height: 16px;
}

.all-cities-grid .top-city-card-body {
  gap: 13px;
  padding: 16px;
}

.all-cities-grid .top-city-card h3 {
  font-size: 18px;
}

.top-city-card-link {
  margin-top: auto;
  color: var(--cities-blue);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.top-cities-goal-card {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 20px;
  min-width: 0;
  border: 1px solid transparent;
  border-radius: 18px;
  padding: 26px;
}

.top-cities-goal-card.is-affordable {
  background: #ecfdf5;
  color: #16a34a;
}

.top-cities-goal-card.is-opportunity {
  background: #eff6ff;
  color: var(--cities-blue);
}

.top-cities-goal-card.is-coastal {
  background: #fff7ed;
  color: #f97316;
}

.top-cities-goal-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
}

.top-cities-goal-icon svg {
  width: 36px;
  height: 36px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.top-cities-goal-card.is-affordable .top-cities-goal-icon {
  background: rgba(34, 197, 94, 0.1);
  color: #16a34a;
}

.top-cities-goal-card.is-opportunity .top-cities-goal-icon {
  background: rgba(11, 99, 246, 0.1);
  color: var(--cities-blue);
}

.top-cities-goal-card.is-coastal .top-cities-goal-icon {
  background: rgba(249, 115, 22, 0.1);
  color: #f97316;
}

.top-cities-goal-card h3 {
  margin: 0;
  color: var(--cities-ink);
  font-size: 18px;
  font-weight: 800;
}

.top-cities-goal-card p,
.top-cities-goal-card span {
  display: block;
  margin: 8px 0 0;
  color: var(--cities-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}

.top-cities-goal-card span {
  color: var(--cities-ink);
  font-weight: 700;
}

.top-cities-goal-card button,
.top-cities-goal-card .top-cities-goal-button {
  margin-top: 12px;
  border: 0;
  background: transparent;
  color: currentColor;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  padding: 0;
  text-decoration: none;
}

.top-cities-load-more-row {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.top-cities-load-more-row button,
.top-cities-load-more-row .top-cities-load-more-button,
.top-cities-empty .top-cities-empty-button,
.top-cities-empty button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid var(--cities-border);
  border-radius: 999px;
  background: #fff;
  color: var(--cities-ink);
  font-size: 14px;
  font-weight: 800;
  padding: 0 28px;
  cursor: pointer;
  text-decoration: none;
}

.top-cities-load-more-row button:disabled {
  cursor: wait;
  opacity: 0.72;
}

.top-cities-guidance {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) auto;
  gap: 26px;
  align-items: center;
  max-width: 1080px;
  margin: 58px auto 0;
  border: 1px solid #dbeafe;
  border-radius: 22px;
  background: linear-gradient(135deg, #eff6ff, #f8fbff);
  padding: 30px 36px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

body:has(#top-cities-main) .site-footer {
  border-top: 1px solid #e5e7eb;
  background: #fff;
  color: #0f172a;
  padding-block: 36px 24px;
}

body:has(#top-cities-main) .site-footer .footer-grid,
body:has(#top-cities-main) .site-footer .footer-bottom {
  width: 100%;
  max-width: 1360px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 32px;
  padding-left: 32px;
}

body:has(#top-cities-main) .site-footer .footer-grid {
  grid-template-columns: minmax(180px, 0.7fr) minmax(0, 2.1fr);
  gap: 48px;
  align-items: start;
}

body:has(#top-cities-main) .site-footer .footer-brand p,
body:has(#top-cities-main) .site-footer .footer-brand address,
body:has(#top-cities-main) .site-footer .footer-brand .button,
body:has(#top-cities-main) .site-footer .footer-cta {
  display: none;
}

body:has(#top-cities-main) .site-footer .footer-brand,
body:has(#top-cities-main) .site-footer .footer-grid,
body:has(#top-cities-main) .site-footer .footer-links,
body:has(#top-cities-main) .site-footer .footer-bottom {
  color: #0f172a;
}

body:has(#top-cities-main) .site-footer .footer-logo {
  margin-bottom: 0;
  color: #0b63f6;
}

body:has(#top-cities-main) .site-footer .footer-logo .brand-mark {
  background: #0b63f6;
  color: #fff;
}

body:has(#top-cities-main) .site-footer .footer-links {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #0f172a;
  padding: 0;
}

body:has(#top-cities-main) .site-footer .footer-links h3 {
  color: #0f172a;
  font-size: 13px;
}

body:has(#top-cities-main) .site-footer .footer-links a {
  color: #475569;
  font-size: 12px;
}

body:has(#top-cities-main) .site-footer .footer-links a:hover,
body:has(#top-cities-main) .site-footer .footer-bottom a:hover {
  color: #0b63f6;
}

body:has(#top-cities-main) .site-footer .footer-bottom {
  border-top: 1px solid #e5e7eb;
  color: #64748b;
}

body:has(#top-cities-main) .site-footer .footer-bottom a {
  color: #475569;
}

.top-cities-guidance-icon {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 999px;
  background: #fff;
  color: var(--cities-blue);
}

.top-cities-guidance h2 {
  margin: 0;
  color: var(--cities-ink);
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.top-cities-guidance p {
  max-width: 640px;
  margin: 8px 0 0;
  color: var(--cities-text);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
}

.top-cities-guidance .button {
  min-width: 220px;
  min-height: 48px;
  border-radius: 12px;
  background: var(--cities-green);
}

.top-cities-guidance .button:hover {
  background: var(--cities-green-hover);
}

.top-city-card:hover,
.top-city-card:focus-within {
  transform: translateY(-1px);
  border-color: #cbd5e1;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
}

.top-city-card:hover img,
.top-city-card:focus-within img {
  transform: scale(1.035);
}

.top-cities-empty {
  border: 1px solid var(--cities-border);
  border-radius: 18px;
  background: #fff;
  padding: 24px;
  color: var(--cities-text);
}

.top-cities-empty strong {
  display: block;
  color: var(--cities-ink);
  font-size: 18px;
}

.top-cities-empty p {
  margin: 8px 0 0;
}

.top-cities-empty.is-error {
  margin: 24px 0;
  background: #fff7ed;
  border-color: #fed7aa;
}

@media (max-width: 1200px) {
  .all-cities-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1000px) {
  .top-cities-container {
    padding-inline: 24px;
  }

  .top-cities-hero {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr);
    gap: 28px;
  }

  .top-cities-search-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .top-cities-search-button {
    grid-column: span 2;
  }

  .top-cities-recommended-grid,
  .top-cities-goal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  body:has(#top-cities-main) .site-footer .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  body:has(#top-cities-main) .site-footer .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body:has(#top-cities-main) {
    --header-height: 64px;
  }

  body:has(#top-cities-main) .site-header .header-inner {
    width: min(calc(100% - 32px), 1360px);
  }

  .top-cities-container {
    padding-inline: 16px;
  }

  .top-cities-page .study-programs-tabs {
    min-height: 56px;
    justify-content: space-between;
    gap: 0;
    overflow-x: auto;
  }

  .top-cities-page .study-programs-tab {
    min-width: 104px;
    font-size: 13px;
  }

  .top-cities-hero {
    display: block;
    padding: 32px 0;
  }

  .top-cities-hero-copy h1 {
    max-width: 350px;
    font-size: clamp(28px, 8vw, 32px);
    line-height: 1.16;
  }

  .top-cities-hero-copy p {
    max-width: 340px;
    margin-top: 14px;
    font-size: 15px;
  }

  .top-cities-hero-art {
    position: absolute;
    right: -16px;
    top: 120px;
    width: 168px;
    min-height: 142px;
    border-radius: 90px 0 0;
    opacity: 0.72;
  }

  .top-cities-hero-art::before {
    left: -30px;
    top: 48px;
    width: 84px;
    height: 84px;
    border-width: 20px;
  }

  .top-cities-search-card {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 22px;
    padding: 16px;
    border-radius: 20px;
  }

  .top-cities-search-button {
    grid-column: auto;
  }

  .top-cities-section + .top-cities-section {
    margin-top: 36px;
  }

  .top-cities-section-header {
    margin-bottom: 16px;
  }

  .top-cities-section-header h2 {
    font-size: 21px;
  }

  .top-cities-section-header a,
  .top-cities-section-header span {
    font-size: 13px;
  }

  .top-cities-recommended-grid,
  .top-cities-goal-grid,
  .all-cities-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .top-city-card-body {
    padding: 16px;
  }

  .top-city-card-media {
    height: 164px;
  }

  .top-city-card.is-recommended .top-city-card-media {
    height: 178px;
  }

  .top-city-category-mark {
    right: 16px;
    width: 52px;
    height: 52px;
  }

  .top-cities-goal-card {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }

  .top-cities-goal-icon {
    width: 52px;
    height: 52px;
  }

  .top-cities-guidance {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 42px;
    padding: 22px;
  }

  .top-cities-guidance-icon {
    width: 64px;
    height: 64px;
  }

  .top-cities-guidance .button {
    width: 100%;
    min-width: 0;
  }

  body:has(#top-cities-main) .site-footer {
    padding-block: 28px 22px;
  }

  body:has(#top-cities-main) .site-footer .footer-grid,
  body:has(#top-cities-main) .site-footer .footer-bottom {
    padding-right: 16px;
    padding-left: 16px;
  }

  body:has(#top-cities-main) .site-footer .footer-links {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body:has(#top-cities-main) .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 430px) {
  .top-cities-hero-art {
    right: -50px;
    opacity: 0.56;
  }

  .all-cities-grid .top-city-card-stats {
    grid-template-columns: 1fr;
  }
}

/* Study program detail */
.program-detail-page {
  background: #fff;
}

.program-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(280px, 27vw, 340px);
  gap: clamp(28px, 3vw, 48px);
  align-items: start;
  padding-block: 44px 70px;
}

.program-detail-main-column,
.program-detail-sidebar {
  min-width: 0;
  display: grid;
  gap: 24px;
}

.program-detail-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 28px);
}

.program-detail-hero-card,
.program-detail-section,
.program-detail-support-card {
  border: 1px solid #dfe5ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(23, 34, 59, 0.06);
}

.program-detail-hero-card {
  overflow: hidden;
}

.program-detail-hero-media {
  position: relative;
  min-height: 270px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(60, 115, 244, 0.2), rgba(32, 195, 90, 0.12)),
    #eef4ff;
}

.program-detail-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 270px;
  object-fit: cover;
  display: block;
}

.program-detail-hero-fallback {
  min-height: 270px;
  display: grid;
  place-items: center;
  color: rgba(35, 50, 77, 0.18);
  font-size: clamp(56px, 10vw, 110px);
  font-weight: 900;
}

.program-detail-type-badge {
  position: absolute;
  top: 22px;
  left: 28px;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 18px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 12px 26px rgba(23, 34, 59, 0.12);
}

.program-detail-hero-body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 0 28px 28px;
}

.program-detail-university-logo {
  width: 92px;
  min-width: 92px;
  height: 72px;
  margin-top: -34px;
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #fff;
  color: #23324d;
  font-size: 24px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(23, 34, 59, 0.1), inset 0 0 0 1px #edf1f7;
}

.program-detail-university-logo img {
  max-width: 74px;
  max-height: 52px;
  object-fit: contain;
}

.program-detail-heading {
  min-width: 0;
  padding-top: 22px;
}

.program-detail-heading h1 {
  margin: 0 0 6px;
  color: #111827;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.18;
}

.program-detail-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  font-weight: 800;
}

.program-detail-heading a {
  color: inherit;
}

.program-detail-heading a:hover,
.program-detail-heading a:focus-visible {
  color: var(--blue-dark);
}

.program-detail-hero-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 22px;
}

.program-detail-hero-actions .button {
  min-width: 140px;
  border-radius: 7px;
}

.program-detail-facts-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 28px 28px;
  border-top: 1px solid #edf1f7;
}

.program-detail-facts-grid > div {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 88px;
  padding: 20px 24px;
  border-bottom: 1px solid #edf1f7;
}

.program-detail-facts-grid > div:nth-child(odd) {
  border-right: 1px solid #edf1f7;
}

.program-detail-fact-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--blue);
  flex: 0 0 auto;
}

.program-detail-fact-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.program-detail-fact-copy dt {
  color: #7b8494;
  font-size: 14px;
  font-weight: 800;
}

.program-detail-fact-copy dd {
  margin: 4px 0 0;
  color: #242a37;
  font-size: 16px;
  font-weight: 800;
}

.program-detail-section {
  padding: 30px;
}

.program-detail-section h2 {
  margin: 0 0 24px;
  color: #20242c;
  font-size: 21px;
  line-height: 1.25;
}

.program-detail-requirements-list {
  display: grid;
  gap: 22px;
  margin: 0;
  padding-left: 22px;
  color: #20242c;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 700;
}

.program-detail-requirements-list li::marker {
  color: var(--blue);
}

.program-detail-empty-copy {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.program-detail-summary-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  min-height: 138px;
  border: 1px solid #dfe5ef;
  border-radius: 8px;
  background: #fff;
  padding: 22px;
  color: inherit;
  box-shadow: 0 10px 24px rgba(23, 34, 59, 0.07);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.program-detail-summary-card:hover,
.program-detail-summary-card:focus-visible {
  border-color: rgba(60, 115, 244, 0.35);
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(23, 34, 59, 0.1);
}

.program-detail-summary-logo,
.program-detail-location-image {
  width: 150px;
  min-width: 150px;
  min-height: 82px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #fff;
  color: #23324d;
  font-size: 28px;
  font-weight: 900;
  overflow: hidden;
}

.program-detail-summary-logo img {
  max-width: 132px;
  max-height: 70px;
  object-fit: contain;
}

.program-detail-location-image img {
  width: 100%;
  height: 92px;
  object-fit: cover;
  display: block;
}

.program-detail-summary-content {
  min-width: 0;
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

.program-detail-summary-content strong {
  color: #20242c;
  font-size: 16px;
}

.program-detail-summary-stats,
.program-detail-location-stats {
  display: grid;
  gap: 5px;
}

.program-detail-outline-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #cfd6e2;
  border-radius: 6px;
  color: #20242c;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}

.program-detail-support-card {
  display: grid;
  justify-items: center;
  gap: 16px;
  padding: 30px;
  text-align: center;
}

.program-detail-support-card img {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  object-fit: cover;
}

.program-detail-support-card h2 {
  margin: 0;
  color: #20242c;
  font-size: 20px;
}

.program-detail-support-card p {
  margin: 0;
  color: #20242c;
  font-size: 17px;
  line-height: 1.45;
  font-weight: 700;
}

.program-detail-support-card .button {
  width: 100%;
  min-height: 44px;
  border-radius: 6px;
}

.program-detail-support-illustration {
  position: relative;
  width: 98px;
  height: 98px;
  display: grid;
  place-items: center;
}

.program-detail-support-illustration.is-orientation .promo-orientation-kit {
  transform: scale(1.05);
}

.program-detail-support-illustration.is-expert {
  border-radius: 50%;
  background:
    radial-gradient(circle at 70% 28%, #fff 0 5px, transparent 6px),
    linear-gradient(135deg, #f9d9d2, #f6f8ff 58%, #dcfce7);
  box-shadow: inset 0 0 0 1px rgba(60, 115, 244, 0.12);
}

.program-detail-support-illustration.is-expert span {
  width: 48px;
  height: 48px;
  border-radius: 50% 50% 45% 45%;
  background: #1f2937;
  position: relative;
}

.program-detail-support-illustration.is-expert span::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 56px;
  height: 26px;
  border-radius: 26px 26px 10px 10px;
  background: var(--green);
}

@media (max-width: 980px) {
  .program-detail-layout {
    grid-template-columns: 1fr;
  }

  .program-detail-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .program-detail-layout {
    padding-block: 28px 48px;
  }

  .program-detail-hero-media,
  .program-detail-hero-media img,
  .program-detail-hero-fallback {
    min-height: 188px;
  }

  .program-detail-type-badge {
    top: 14px;
    left: 16px;
    min-height: 34px;
    padding-inline: 14px;
    font-size: 12px;
  }

  .program-detail-hero-body {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0 20px 22px;
  }

  .program-detail-university-logo {
    width: 82px;
    min-width: 82px;
    height: 64px;
    margin-top: -26px;
  }

  .program-detail-heading {
    padding-top: 18px;
  }

  .program-detail-hero-actions {
    grid-column: 1 / -1;
    width: 100%;
    padding-top: 6px;
  }

  .program-detail-hero-actions .button {
    flex: 1;
  }

  .program-detail-facts-grid {
    grid-template-columns: 1fr;
    margin: 0 20px 22px;
  }

  .program-detail-facts-grid > div:nth-child(odd) {
    border-right: 0;
  }

  .program-detail-facts-grid > div {
    padding-inline: 4px;
  }

  .program-detail-section {
    padding: 24px 20px;
  }

  .program-detail-summary-card {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .program-detail-summary-logo,
  .program-detail-location-image {
    width: 132px;
    min-width: 132px;
  }

  .program-detail-outline-badge {
    justify-self: start;
  }

  .program-detail-sidebar {
    grid-template-columns: 1fr;
  }
}

/* City detail */
.city-detail-page {
  background: #fff;
}

.city-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(280px, 27vw, 340px);
  gap: clamp(28px, 3vw, 48px);
  align-items: start;
  padding-block: 44px 72px;
}

.city-detail-main-column,
.city-detail-sidebar {
  min-width: 0;
  display: grid;
  gap: 24px;
}

.city-detail-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 28px);
}

.city-detail-mobile-support {
  display: none;
}

.city-detail-hero-card,
.city-detail-stats-actions,
.city-detail-section,
.city-detail-about-panel {
  border: 1px solid #dfe5ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(23, 34, 59, 0.06);
}

.city-detail-hero-card {
  overflow: hidden;
}

.city-detail-hero-media {
  height: clamp(260px, 24vw, 360px);
  background:
    linear-gradient(135deg, rgba(60, 115, 244, 0.18), rgba(32, 195, 90, 0.12)),
    #eef4ff;
  overflow: hidden;
}

.city-detail-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.city-detail-hero-fallback {
  height: 100%;
  display: grid;
  place-items: center;
  color: rgba(35, 50, 77, 0.18);
  font-size: clamp(56px, 10vw, 110px);
  font-weight: 900;
}

.city-detail-hero-body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  padding: 0 28px 28px;
}

.city-detail-city-mark {
  width: 112px;
  min-width: 112px;
  height: 92px;
  margin-top: -46px;
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #fff;
  color: var(--blue-dark);
  font-size: 24px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(23, 34, 59, 0.1), inset 0 0 0 1px #edf1f7;
  overflow: hidden;
}

.city-detail-city-mark img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 10px;
  object-fit: contain;
  object-position: center;
}

.city-detail-identity {
  padding-top: 22px;
}

.city-detail-identity h1 {
  margin: 0 0 6px;
  color: #111827;
  font-size: clamp(28px, 3.2vw, 38px);
  line-height: 1.16;
}

.city-detail-identity p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  font-weight: 800;
}

.city-detail-stats-actions {
  display: grid;
  gap: 18px;
  padding: 26px 28px;
}

.city-detail-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}

.city-detail-stats > div {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 82px;
  border: 1px solid #e5ebf3;
  border-radius: 10px;
  padding: 16px;
}

.city-detail-stat-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--blue);
  flex: 0 0 auto;
}

.city-detail-stat-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.city-detail-stats dt {
  color: #6b7280;
  font-size: 12px;
  font-weight: 800;
}

.city-detail-stats dd {
  margin: 4px 0 0;
  color: #111827;
  font-size: 16px;
  font-weight: 900;
}

.city-detail-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.city-detail-actions .button {
  min-height: 44px;
  border-radius: 6px;
}

.city-detail-about-panel {
  padding: 26px;
  background: #194d5f;
  color: #fff;
}

.city-detail-gallery {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  grid-template-rows: repeat(2, clamp(118px, 13vw, 150px));
  gap: 14px;
  margin-bottom: 24px;
}

.city-detail-gallery figure {
  position: relative;
  height: 100%;
  margin: 0;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
}

.city-detail-gallery figure.is-large {
  grid-row: span 2;
}

.city-detail-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.city-detail-gallery figcaption {
  position: absolute;
  right: 12px;
  bottom: 12px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.72);
  color: #fff;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 900;
}

.city-detail-about-panel h2,
.city-detail-section h2 {
  margin: 0 0 18px;
  padding-left: 12px;
  border-left: 4px solid var(--green);
  color: #111827;
  font-size: 20px;
  line-height: 1.2;
}

.city-detail-about-panel h2 {
  color: #fff;
}

.city-detail-about-panel p {
  margin: 0 0 14px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.75;
}

.city-detail-about-panel p:last-child {
  margin-bottom: 0;
}

.city-detail-section {
  padding: 24px;
}

.city-detail-university-list {
  display: grid;
  gap: 14px;
}

.city-detail-university-card {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) auto;
  gap: 0;
  align-items: stretch;
  min-height: 148px;
  border: 1px solid #e5ebf3;
  border-radius: 10px;
  padding: 0;
  overflow: hidden;
  color: #111827;
  box-shadow: 0 8px 20px rgba(23, 34, 59, 0.05);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.city-detail-university-cover {
  position: relative;
  min-height: 148px;
  height: 148px;
  align-self: stretch;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(60, 115, 244, 0.16), rgba(32, 195, 90, 0.12)),
    #eef4ff;
  color: rgba(35, 50, 77, 0.18);
  font-size: 42px;
  font-weight: 900;
}

.city-detail-university-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.05), rgba(17, 24, 39, 0.28));
}

.city-detail-university-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.22s ease;
}

.city-detail-university-card:hover,
.city-detail-university-card:focus-visible {
  border-color: rgba(60, 115, 244, 0.35);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(23, 34, 59, 0.09);
}

.city-detail-university-card:hover .city-detail-university-cover img,
.city-detail-university-card:focus-visible .city-detail-university-cover img {
  transform: scale(1.04);
}

.city-detail-university-card > .program-detail-outline-badge {
  align-self: center;
  margin-right: 18px;
}

.city-detail-university-logo {
  width: 76px;
  min-width: 76px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #fff;
  color: #23324d;
  font-size: 18px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px #edf1f7;
}

.city-detail-university-logo img {
  max-width: 62px;
  max-height: 42px;
  object-fit: contain;
}

.city-detail-university-content {
  align-self: center;
  min-width: 0;
  display: grid;
  gap: 6px;
  padding: 18px;
  color: #6b7280;
  font-size: 13px;
  font-weight: 700;
}

.city-detail-university-content strong {
  color: #111827;
  font-size: 15px;
}

.city-detail-programs .study-program-card {
  grid-template-columns: 1fr;
  padding: 18px;
}

.city-detail-programs .study-program-details {
  grid-template-columns: repeat(5, minmax(78px, 1fr));
}

.city-detail-programs .study-program-card-actions {
  grid-template-columns: auto auto;
  justify-content: end;
}

@media (max-width: 980px) {
  .city-detail-layout {
    grid-template-columns: 1fr;
  }

  .city-detail-sidebar {
    display: none;
  }

  .city-detail-mobile-support {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 700px) {
  .city-detail-layout {
    padding-block: 28px 48px;
  }

  .city-detail-hero-media,
  .city-detail-hero-fallback {
    height: 230px;
  }

  .city-detail-hero-body {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0 20px 22px;
  }

  .city-detail-city-mark {
    width: 94px;
    min-width: 94px;
    height: 76px;
    margin-top: -34px;
  }

  .city-detail-identity {
    padding-top: 18px;
  }

  .city-detail-hero-body .program-detail-outline-badge {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .city-detail-stats-actions,
  .city-detail-section,
  .city-detail-about-panel {
    padding: 22px 20px;
  }

  .city-detail-stats {
    grid-template-columns: 1fr;
  }

  .city-detail-actions,
  .city-detail-mobile-support {
    grid-template-columns: 1fr;
  }

  .city-detail-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .city-detail-gallery figure,
  .city-detail-gallery figure.is-large {
    height: 190px;
    grid-row: auto;
  }

  .city-detail-gallery figure.is-large {
    height: 260px;
  }

  .city-detail-university-card {
    grid-template-columns: 1fr;
    justify-items: start;
    align-items: stretch;
  }

  .city-detail-university-card > .program-detail-outline-badge {
    margin: 0 18px 18px;
  }

  .city-detail-university-cover {
    width: 100%;
    height: 180px;
    min-height: 180px;
  }

  .city-detail-university-logo {
    width: 84px;
    min-width: 84px;
  }

  .city-detail-programs .study-program-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .city-detail-programs .study-program-card-actions {
    grid-template-columns: auto minmax(0, 1fr);
    justify-content: stretch;
  }
}

/* Explore universities */
.explore-universities-page {
  width: 100%;
  background: #fff;
}

.explore-universities-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-block: 22px;
}

.explore-universities-filter-scroll {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex-wrap: wrap;
}

.explore-universities-filter-chip {
  position: relative;
}

.explore-universities-filter-chip select {
  min-height: 38px;
  min-width: 136px;
  border: 1px solid #dce3ee;
  border-radius: 999px;
  background: #fff;
  color: #4b5563;
  padding: 0 34px 0 16px;
  font-size: 13px;
  font-weight: 800;
  appearance: none;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(23, 34, 59, 0.04);
}

.explore-universities-filter-chip::after {
  content: "⌄";
  position: absolute;
  right: 14px;
  top: 50%;
  color: #6b7280;
  font-size: 13px;
  transform: translateY(-50%);
  pointer-events: none;
}

.explore-universities-filter-chip select:hover,
.explore-universities-filter-chip select:focus-visible {
  border-color: rgba(60, 115, 244, 0.45);
  box-shadow: 0 10px 22px rgba(60, 115, 244, 0.1);
}

.explore-universities-reset {
  color: #111827;
  font-size: 13px;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
  white-space: nowrap;
}

.explore-universities-layout {
  display: grid;
  grid-template-columns: clamp(340px, 24vw, 420px) minmax(0, 1fr);
  gap: clamp(28px, 3vw, 56px);
  align-items: start;
  padding-bottom: 74px;
}

.explore-university-list-column {
  display: grid;
  gap: 18px;
  position: sticky;
  top: calc(var(--header-height) + 18px);
}

.explore-university-promo-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 16px;
  align-items: center;
  border: 1px solid #dfe5ef;
  border-radius: 10px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 8px 22px rgba(23, 34, 59, 0.08);
}

.explore-university-promo-card .study-programs-promo-art {
  grid-column: 2;
  grid-row: 1;
}

.explore-university-promo-card h2 {
  margin: 0 0 4px;
  color: #111827;
  font-size: 18px;
  line-height: 1.25;
}

.explore-university-promo-card p {
  margin: 0 0 12px;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.explore-university-promo-card .button {
  min-height: 38px;
  border-radius: 7px;
  padding-inline: 20px;
  font-size: 13px;
}

.explore-university-list {
  display: grid;
  gap: 14px;
}

.explore-university-list-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  border: 1px solid #dfe5ef;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
  color: #111827;
  box-shadow: 0 6px 18px rgba(23, 34, 59, 0.04);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.explore-university-list-card:hover,
.explore-university-list-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(32, 195, 90, 0.44);
  box-shadow: 0 14px 28px rgba(23, 34, 59, 0.1);
}

.explore-university-list-card.is-selected {
  border-color: var(--green);
  box-shadow: 0 0 0 2px rgba(32, 195, 90, 0.12), 0 14px 28px rgba(23, 34, 59, 0.08);
}

.explore-university-list-logo {
  width: 64px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: #fff;
  color: #23324d;
  font-size: 20px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px #e5e7eb;
}

.explore-university-list-logo img {
  max-width: 50px;
  max-height: 38px;
  object-fit: contain;
}

.explore-university-list-content {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.explore-university-list-content .study-program-badge {
  justify-self: start;
  min-height: 19px;
  font-size: 9px;
}

.explore-university-list-content strong {
  color: #111827;
  font-size: 14px;
  line-height: 1.25;
}

.explore-university-list-content span:not(.study-program-badge) {
  color: #6b7280;
  font-size: 12px;
  font-weight: 700;
}

.explore-university-list-content em {
  color: #111827;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.explore-universities-pagination {
  margin-top: 10px;
}

.explore-university-detail-column {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.explore-university-standalone {
  max-width: min(100% - 48px, 1180px);
  padding-block: clamp(32px, 4vw, 56px) 74px;
}

.explore-university-standalone .explore-university-detail-column {
  width: 100%;
}

.explore-university-hero-card {
  overflow: hidden;
  border: 1px solid #dfe5ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(23, 34, 59, 0.08);
}

.explore-university-cover {
  position: relative;
  min-height: clamp(180px, 22vw, 280px);
  background:
    linear-gradient(120deg, rgba(9, 50, 104, 0.18), rgba(60, 115, 244, 0.22)),
    radial-gradient(circle at 25% 20%, rgba(255, 255, 255, 0.72), transparent 36%),
    #dfeaff;
}

.explore-university-cover > img,
.explore-university-cover > span:first-child {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.explore-university-cover > img {
  display: block;
}

.explore-university-cover .study-program-badge {
  position: absolute;
  top: 14px;
  left: 14px;
}

.explore-university-identity {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 22px;
}

.explore-university-hero-logo {
  width: 82px;
  height: 68px;
  margin-top: -48px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #fff;
  color: #23324d;
  font-size: 24px;
  font-weight: 900;
  box-shadow: 0 14px 28px rgba(23, 34, 59, 0.14), inset 0 0 0 1px #e5e7eb;
  position: relative;
  z-index: 2;
}

.explore-university-hero-logo img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  padding: 10px;
  object-fit: contain;
  object-position: center;
}

.explore-university-identity h1 {
  margin: 0 0 5px;
  color: #111827;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.1;
}

.explore-university-identity p,
.explore-university-identity span {
  display: block;
  margin: 0;
  color: #6b7280;
  font-size: 14px;
  font-weight: 800;
}

.explore-university-stats-actions {
  display: grid;
  gap: 18px;
}

.explore-university-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}

.explore-university-stats div {
  border: 1px solid #dfe5ef;
  border-radius: 10px;
  background: #fff;
  padding: 18px;
}

.explore-university-stats dt {
  color: #6b7280;
  font-size: 12px;
  font-weight: 800;
}

.explore-university-stats dd {
  margin: 6px 0 0;
  color: #111827;
  font-size: 18px;
  font-weight: 900;
}

.explore-university-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.explore-university-actions .button {
  min-height: 44px;
  border-radius: 6px;
}

.explore-university-section {
  border: 1px solid #dfe5ef;
  border-radius: 12px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 8px 22px rgba(23, 34, 59, 0.04);
}

.explore-university-section h2 {
  margin: 0 0 18px;
  padding-left: 12px;
  border-left: 4px solid var(--green);
  color: #111827;
  font-size: 20px;
  line-height: 1.2;
}

.explore-university-about {
  background: #194d5f;
  color: #fff;
}

.explore-university-about h2 {
  color: #fff;
}

.explore-university-about p {
  color: rgba(255, 255, 255, 0.88);
}

.explore-university-section p {
  margin: 0 0 14px;
  color: #374151;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.75;
}

.explore-university-section.explore-university-about p {
  color: rgba(255, 255, 255, 0.88);
}

.explore-university-section p:last-child {
  margin-bottom: 0;
}

.explore-university-accordion-list,
.explore-university-testimonials {
  display: grid;
  gap: 10px;
}

.explore-university-accordion {
  border: 1px solid #e5ebf3;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.explore-university-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  padding: 0 16px;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.explore-university-accordion summary::-webkit-details-marker {
  display: none;
}

.explore-university-accordion summary::after {
  content: "⌄";
  color: var(--green-dark);
  font-size: 15px;
}

.explore-university-accordion[open] summary::after {
  transform: rotate(180deg);
}

.explore-university-accordion summary em {
  color: #6b7280;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.explore-university-accordion p {
  border-top: 1px solid #eef2f7;
  padding: 14px 16px 18px;
  white-space: pre-line;
}

.explore-university-empty-copy {
  color: #6b7280;
}

.explore-university-location-card {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto auto;
  gap: 18px;
  align-items: center;
  border: 1px solid #e5ebf3;
  border-radius: 10px;
  padding: 16px;
  color: #111827;
}

.explore-university-location-image {
  width: 112px;
  height: 74px;
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(60, 115, 244, 0.2), rgba(32, 195, 90, 0.16)),
    #edf4ff;
}

.explore-university-location-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.explore-university-location-card strong,
.explore-university-location-card em,
.explore-university-location-card small {
  display: block;
}

.explore-university-location-card strong {
  color: #111827;
  font-size: 14px;
  font-weight: 900;
}

.explore-university-location-card em,
.explore-university-location-card small {
  color: #6b7280;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

.explore-university-programs .study-program-card {
  grid-template-columns: 1fr;
  padding: 18px;
}

.explore-university-programs .study-program-details {
  grid-template-columns: repeat(5, minmax(78px, 1fr));
}

.explore-university-programs .study-program-card-actions {
  grid-template-columns: auto auto;
  justify-content: end;
}

.explore-university-more-programs {
  min-height: 44px;
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe5ef;
  border-radius: 8px;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
}

.explore-university-more-programs:hover,
.explore-university-more-programs:focus-visible {
  border-color: rgba(60, 115, 244, 0.35);
  background: #eef4ff;
  color: var(--blue-dark);
}

.explore-universities-mobile-controls,
.explore-universities-mobile-results {
  display: none;
}

.explore-universities-mobile-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(122px, auto);
  gap: 10px;
}

.explore-universities-mobile-view-select,
.explore-universities-mobile-filter-panel summary {
  min-height: 48px;
  border: 1px solid #dce3ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(23, 34, 59, 0.05);
}

.explore-universities-mobile-view-select {
  position: relative;
  display: block;
}

.explore-universities-mobile-view-select::after {
  content: "⌄";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  font-size: 15px;
  pointer-events: none;
}

.explore-universities-mobile-view-select select,
.explore-universities-mobile-filter-field select {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: #23324d;
  font: inherit;
  font-size: 15px;
  font-weight: 900;
  appearance: none;
}

.explore-universities-mobile-view-select select {
  padding: 0 42px 0 16px;
}

.explore-universities-mobile-filter-panel {
  position: relative;
}

.explore-universities-mobile-filter-panel summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding-inline: 16px;
  color: #23324d;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.explore-universities-mobile-filter-panel summary::-webkit-details-marker {
  display: none;
}

.explore-universities-mobile-filter-panel summary strong {
  color: #6b7280;
  font-size: 14px;
}

.explore-universities-mobile-filter-panel summary strong::before {
  content: "• ";
}

.explore-universities-mobile-filter-body {
  position: absolute;
  z-index: 20;
  right: 0;
  top: calc(100% + 8px);
  width: min(320px, calc(100vw - 32px));
  display: grid;
  gap: 12px;
  border: 1px solid #dce3ee;
  border-radius: 18px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 22px 48px rgba(23, 34, 59, 0.16);
}

.explore-universities-mobile-filter-field {
  display: grid;
  gap: 6px;
}

.explore-universities-mobile-filter-field span {
  color: #6b7280;
  font-size: 12px;
  font-weight: 900;
}

.explore-universities-mobile-filter-field select {
  border: 1px solid #dce3ee;
  border-radius: 12px;
  padding-inline: 14px 34px;
}

.explore-universities-mobile-reset {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: #eef4ff;
  color: var(--blue-dark);
  font-size: 14px;
  font-weight: 900;
}

.explore-universities-mobile-search {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 50px;
  border: 1px solid #dce3ee;
  border-radius: 15px;
  background: #fff;
  padding: 0 10px 0 16px;
  box-shadow: 0 8px 20px rgba(23, 34, 59, 0.05);
}

.explore-universities-mobile-search-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  border: 2px solid #8da0ba;
  border-radius: 50%;
  position: relative;
}

.explore-universities-mobile-search-icon::after {
  content: "";
  position: absolute;
  right: -6px;
  bottom: -4px;
  width: 7px;
  height: 2px;
  border-radius: 999px;
  background: #8da0ba;
  transform: rotate(45deg);
}

.explore-universities-mobile-search input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  border: 0;
  outline: 0;
  color: #23324d;
  font-size: 15px;
  font-weight: 800;
}

.explore-universities-mobile-search input::placeholder {
  color: #8b97aa;
}

.explore-universities-mobile-search button {
  min-height: 36px;
  border: 0;
  border-radius: 10px;
  background: #eef4ff;
  color: var(--blue-dark);
  padding-inline: 12px;
  font-size: 13px;
  font-weight: 900;
}

.explore-universities-mobile-list {
  display: grid;
  gap: 16px;
}

.explore-university-mobile-card {
  overflow: hidden;
  border: 1px solid #dce3ee;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(23, 34, 59, 0.08);
}

.explore-university-mobile-card-link {
  display: block;
  color: inherit;
}

.explore-university-mobile-cover {
  position: relative;
  min-height: 168px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(60, 115, 244, 0.18), rgba(32, 195, 90, 0.12)),
    #edf4ff;
}

.explore-university-mobile-cover img,
.explore-university-mobile-cover > span:first-child {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.explore-university-mobile-cover img {
  display: block;
  object-fit: cover;
}

.explore-university-mobile-cover > span:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(35, 50, 77, 0.2);
  font-size: 62px;
  font-weight: 900;
}

.explore-university-mobile-cover .study-program-badge {
  position: absolute;
  left: 14px;
  top: 14px;
  min-height: 28px;
  border: 1px solid rgba(17, 24, 39, 0.09);
  background: #fff;
  color: #111827;
  padding-inline: 12px;
  font-size: 10px;
  box-shadow: 0 8px 18px rgba(23, 34, 59, 0.08);
}

.explore-university-mobile-body {
  display: grid;
  gap: 16px;
  padding: 18px 16px 20px;
}

.explore-university-mobile-heading {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.explore-university-mobile-logo {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  color: #23324d;
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(23, 34, 59, 0.06);
}

.explore-university-mobile-logo img {
  max-width: 34px;
  max-height: 30px;
  object-fit: contain;
}

.explore-university-mobile-heading h2 {
  margin: 0;
  color: #111827;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 900;
}

.explore-university-mobile-heading p {
  margin: 4px 0 0;
  color: #6b7280;
  font-size: 13px;
  font-weight: 800;
}

.explore-university-mobile-stats {
  display: grid;
  gap: 10px;
  margin: 0;
}

.explore-university-mobile-stat {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 42px;
  border-top: 1px solid #eef2f7;
  padding-top: 10px;
}

.explore-university-mobile-stat:first-child {
  border-top: 0;
  padding-top: 0;
}

.explore-university-mobile-stat-icon {
  width: 20px;
  height: 20px;
  border: 2px solid #3c73f4;
  border-radius: 6px;
  position: relative;
}

.explore-university-mobile-stat-icon::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #20c35a;
}

.explore-university-mobile-stat-icon.is-tuition::after {
  border-radius: 2px;
  background: #3c73f4;
}

.explore-university-mobile-stat-icon.is-students {
  border-radius: 50%;
}

.explore-university-mobile-stat-icon.is-ranking {
  transform: rotate(45deg);
}

.explore-university-mobile-stat dt {
  color: #7b8798;
  font-size: 13px;
  font-weight: 850;
}

.explore-university-mobile-stat dd {
  margin: 0;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
  text-align: right;
}

@media (max-width: 1180px) {
  .explore-universities-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .explore-university-list-column {
    position: static;
  }

  .explore-university-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .explore-university-promo-card,
  .explore-universities-pagination {
    grid-column: 1 / -1;
  }

  .explore-university-stats,
  .explore-university-location-card {
    grid-template-columns: 1fr;
  }

  .explore-university-location-image {
    width: 100%;
    height: 150px;
  }
}

@media (max-width: 900px) {
  .explore-universities-filter-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .explore-universities-filter-scroll {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .explore-universities-layout {
    display: grid;
    grid-template-columns: 1fr;
  }

  .explore-university-promo-card {
    grid-template-columns: minmax(0, 1fr) 92px;
  }

  .explore-university-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .explore-universities-filter-bar,
  .explore-universities-layout {
    display: none;
  }

  .explore-universities-mobile-controls,
  .explore-universities-mobile-results {
    display: grid;
  }

  .explore-universities-mobile-controls {
    gap: 12px;
    padding-block: 18px;
  }

  .explore-universities-mobile-results {
    gap: 18px;
    padding-bottom: 44px;
  }

  .explore-university-standalone {
    max-width: none;
    padding: 24px 16px 44px;
  }

  .explore-universities-mobile-results .explore-universities-pagination {
    justify-content: center;
    margin-top: 4px;
    overflow-x: auto;
    padding-bottom: 3px;
  }
}

@media (max-width: 640px) {
  .explore-universities-filter-chip select {
    min-width: 150px;
  }

  .explore-university-promo-card {
    grid-template-columns: 1fr;
  }

  .explore-university-promo-card .study-programs-promo-art {
    display: none;
  }

  .explore-university-list-card {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .explore-university-identity {
    display: grid;
    padding: 18px;
  }

  .explore-university-stats,
  .explore-university-actions {
    grid-template-columns: 1fr;
  }

  .explore-university-section {
    padding: 18px;
  }

  .explore-university-programs .study-program-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.study-page {
  background: #fff;
}

.study-section {
  padding-block: clamp(72px, 7vw, 108px);
}

.study-section:nth-of-type(even) {
  background: #f7faff;
}

.study-section-heading {
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

.study-section-heading.is-left {
  margin-inline: 0;
  text-align: left;
}

.study-section-heading > p:not(.eyebrow) {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 16px;
  font-weight: 600;
}

.study-rich-text {
  color: #42506a;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.72;
}

.study-rich-text p {
  margin: 0 0 14px;
}

.study-rich-text ul {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.study-rich-text li {
  position: relative;
  padding-left: 24px;
}

.study-rich-text li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
}

.study-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(74px, 8vw, 118px) clamp(54px, 6vw, 84px);
  background:
    radial-gradient(circle at 88% 18%, rgba(60, 115, 244, 0.13), transparent 28%),
    radial-gradient(circle at 10% 82%, rgba(32, 195, 90, 0.11), transparent 26%),
    #fff;
}

.study-hero::after {
  content: "";
  position: absolute;
  right: -14vw;
  bottom: -22vw;
  width: 56vw;
  aspect-ratio: 1;
  border: 56px solid rgba(60, 115, 244, 0.08);
  border-radius: 50%;
  pointer-events: none;
}

.study-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 42px;
}

.study-hero-copy {
  max-width: 870px;
  margin-inline: auto;
  text-align: center;
}

.study-hero .hero-kicker {
  margin-inline: auto;
  background: var(--blue-soft);
  color: var(--blue-dark);
}

.study-hero-copy h1 {
  max-width: 820px;
  margin: 0 auto;
  color: var(--navy);
  font-size: clamp(38px, 5.3vw, 64px);
  line-height: 1.06;
  font-weight: 900;
  letter-spacing: 0;
}

.study-hero-intro {
  max-width: 760px;
  margin: 22px auto 0;
  color: #46536c;
  font-size: clamp(16px, 1.4vw, 19px);
  font-weight: 650;
  line-height: 1.62;
}

.study-hero-copy .study-rich-text {
  max-width: 690px;
  margin: 12px auto 0;
}

.study-hero-copy .hero-actions {
  justify-content: center;
}

.study-hero-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 940px;
  margin-inline: auto;
}

.study-hero-card {
  position: relative;
  min-height: 280px;
  overflow: hidden;
  border-radius: 24px;
  color: #fff;
  box-shadow: 0 24px 70px rgba(28, 46, 92, 0.17);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.study-hero-card:hover,
.study-hero-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 30px 82px rgba(28, 46, 92, 0.22);
}

.study-hero-card img,
.study-city-feature img,
.study-city-row img,
.study-university-feature > img,
.study-university-row img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.study-hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12, 23, 48, 0.05), rgba(12, 23, 48, 0.72));
}

.study-hero-card span {
  position: absolute;
  inset: auto 22px 22px;
  z-index: 1;
  display: grid;
  gap: 7px;
}

.study-hero-card strong {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.12;
}

.study-hero-card em {
  color: #58e58b;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

.study-card-grid {
  display: grid;
  gap: 24px;
}

.study-card-grid.four-up {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.study-card-grid.three-up {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.study-info-card,
.study-course-card {
  min-height: 100%;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  padding: 26px;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.055);
}

.study-service-card.phase-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--phase-bg);
}

.study-service-card.phase-card:hover,
.study-service-card.phase-card:focus-within {
  border-color: var(--phase-line);
}

.study-info-card .menu-item-icon,
.study-course-card .menu-item-icon {
  width: 50px;
  height: 50px;
  border-radius: 15px;
  background: var(--blue-soft);
  color: var(--blue);
}

.study-service-card .menu-item-icon {
  background: rgba(255, 255, 255, 0.7);
  color: var(--phase-icon);
}

.study-info-card h3,
.study-course-card h3 {
  margin: 18px 0 9px;
  color: var(--navy);
  font-size: 19px;
  line-height: 1.2;
  font-weight: 900;
}

.study-info-card p,
.study-course-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.58;
}

.study-service-card.phase-card p {
  max-width: none;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.58;
  pointer-events: auto;
}

.study-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: var(--blue-soft);
  color: var(--blue);
}

.study-icon::before {
  content: "";
  width: 22px;
  height: 22px;
  border: 3px solid currentColor;
  border-radius: 8px;
}

.study-icon-life::before,
.study-icon-career::before,
.study-icon-guidance::before {
  border-radius: 50%;
}

.study-icon-cost::before,
.study-icon-eligibility::before,
.study-icon-visa::before,
.study-icon-business::before {
  border-radius: 6px;
  transform: rotate(45deg);
}

.study-icon-engineering::before,
.study-icon-documents::before,
.study-icon-hospitality::before {
  border-radius: 4px;
  border-left-width: 6px;
}

.study-level-band {
  overflow: hidden;
  padding-block: 54px;
  background:
    radial-gradient(circle at 6% 50%, rgba(255, 255, 255, 0.18), transparent 25%),
    var(--blue);
  color: #fff;
}

.study-level-inner {
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
}

.study-level-inner p,
.study-level-inner h2 {
  margin: 0;
  color: #fff;
}

.study-level-inner p {
  font-size: 14px;
  font-weight: 800;
  opacity: 0.86;
}

.study-level-inner h2 {
  font-size: clamp(25px, 3vw, 38px);
}

.study-level-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
}

.study-level-options a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff;
  color: var(--blue-dark);
  padding: 0 20px;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(17, 34, 75, 0.11);
}

.study-city-layout,
.study-university-layout,
.study-guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
  gap: 28px;
  align-items: stretch;
}

.study-city-feature,
.study-university-feature {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow);
}

.study-city-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
}

.study-city-feature img {
  min-height: 360px;
}

.study-city-feature > div,
.study-university-feature > div {
  padding: 32px;
}

.study-city-feature span,
.study-university-feature span {
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.study-city-feature h3,
.study-university-feature h3 {
  margin: 10px 0 12px;
  color: var(--navy);
  font-size: 32px;
  line-height: 1.1;
}

.study-city-feature p,
.study-university-feature p {
  color: var(--muted);
  font-weight: 650;
}

.study-city-list,
.study-university-list {
  display: grid;
  gap: 12px;
}

.study-city-row,
.study-university-row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 10px;
  text-align: left;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.study-city-row:hover,
.study-city-row:focus-visible,
.study-university-row:hover,
.study-university-row:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(60, 115, 244, 0.28);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07);
}

.study-city-row.is-active,
.study-university-row.is-active {
  border-color: rgba(60, 115, 244, 0.58);
  background: var(--blue-soft);
  box-shadow: 0 16px 34px rgba(60, 115, 244, 0.13);
}

.study-city-row.is-active strong,
.study-university-row.is-active strong {
  color: var(--blue-dark);
}

.study-city-row img,
.study-university-row img {
  aspect-ratio: 1.28;
  border-radius: 13px;
}

.study-city-row strong,
.study-university-row strong {
  display: block;
  color: var(--navy);
  font-size: 16px;
  font-weight: 900;
}

.study-city-row small,
.study-university-row small {
  display: -webkit-box;
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.study-university-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(310px, 0.95fr);
}

.study-university-feature > img {
  min-height: 390px;
}

.study-course-card {
  display: grid;
  align-content: start;
}

.study-course-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.study-course-actions .button {
  min-height: 38px;
  padding-inline: 16px;
}

.study-guide-layout {
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: start;
}

.study-accordion {
  display: grid;
  gap: 14px;
}

.study-accordion details,
.study-faq-category details {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.045);
}

.study-accordion summary,
.study-faq-category summary {
  cursor: pointer;
  color: var(--navy);
  padding: 20px 22px;
  font-size: 17px;
  font-weight: 900;
}

.study-accordion details > div,
.study-faq-category details > div {
  padding: 0 22px 22px;
}

.study-guide-aside {
  position: sticky;
  top: calc(var(--header-height) + 28px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  padding: 22px;
  box-shadow: var(--shadow);
}

.study-guide-aside img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 20px;
  object-fit: cover;
}

.study-guide-aside h3 {
  margin: 18px 0 8px;
  color: var(--navy);
  font-size: 22px;
  line-height: 1.15;
}

.study-guide-aside p {
  color: var(--muted);
  font-weight: 650;
}

.study-experts-section {
  background: var(--blue-softer);
}

.study-experts-section .narrow-heading > p:not(.eyebrow) {
  color: var(--muted);
  font-weight: 700;
}

.study-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.study-faq-category {
  display: grid;
  align-content: start;
  gap: 12px;
}

.study-faq-category h3 {
  margin: 0;
  color: var(--blue-dark);
  font-size: 18px;
}

.knowledge-base-page {
  background: #fff;
}

.knowledge-base-page .container {
  width: min(calc(100% - 64px), 1500px);
}

.kb-breadcrumb {
  padding-top: 34px;
  color: #8a94a6;
  font-size: 13px;
  font-weight: 800;
}

.kb-breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kb-breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.kb-breadcrumb li:not(:last-child)::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid #c4cad6;
  border-bottom: 2px solid #c4cad6;
  transform: rotate(-45deg);
}

.kb-breadcrumb a:hover,
.kb-breadcrumb a:focus-visible {
  color: var(--blue-dark);
}

.kb-hero {
  padding-block: 36px 22px;
  text-align: center;
}

.kb-hero h1 {
  margin: 0;
  color: #33363d;
  font-size: clamp(42px, 5vw, 62px);
  font-weight: 900;
  line-height: 1.06;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.kb-hero h1 span {
  color: var(--blue);
}

.kb-hero p {
  max-width: 680px;
  margin: 16px auto 0;
  color: #4b5563;
  font-size: 15px;
  font-weight: 750;
}

.kb-hero .kb-hero-intro {
  max-width: 720px;
  color: #657184;
  font-size: 14px;
  font-weight: 650;
}

.kb-search-section {
  padding-block: 14px 36px;
}

.kb-search-form {
  width: min(100%, 620px);
  min-height: 60px;
  display: flex;
  align-items: center;
  gap: 13px;
  margin-inline: auto;
  border: 1px solid #dde3ee;
  border-radius: 8px;
  background: #fff;
  padding-inline: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.035);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.kb-search-form:focus-within {
  border-color: rgba(60, 115, 244, 0.46);
  box-shadow: 0 0 0 4px rgba(60, 115, 244, 0.11), 0 16px 32px rgba(15, 23, 42, 0.05);
}

.kb-search-form svg {
  width: 21px;
  height: 21px;
  color: #8a94a6;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}

.kb-search-form input {
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
}

.kb-search-form input::placeholder {
  color: #9ca3af;
}

.kb-mode-tabs {
  padding-top: 16px;
}

.kb-mode-tab-list {
  display: flex;
  gap: 46px;
  border-bottom: 1px solid #e5e7eb;
}

.kb-mode-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 56px;
  color: #252936;
  font-size: 17px;
  font-weight: 900;
}

.kb-mode-tab::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: transparent;
}

.kb-mode-tab.is-active::after,
.kb-mode-tab:hover::after,
.kb-mode-tab:focus-visible::after {
  background: var(--green);
}

.kb-mode-tab.is-active {
  color: var(--navy);
}

.kb-mode-tab:hover,
.kb-mode-tab:focus-visible {
  color: var(--green-dark);
}

.kb-categories-section {
  padding-block: 42px 70px;
}

.kb-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 24px;
}

.kb-category-card {
  overflow: hidden;
  border: 1px solid #dde3ec;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.035);
}

.kb-category-card summary {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 14px;
  min-height: 74px;
  border-bottom: 1px solid #e8edf4;
  padding: 18px 22px;
  color: #353b48;
  cursor: pointer;
  font-size: 18px;
  font-weight: 900;
  list-style: none;
}

.kb-category-card summary::-webkit-details-marker {
  display: none;
}

.kb-category-card summary:hover,
.kb-category-card summary:focus-visible {
  background: #fbfdff;
}

.kb-category-title-wrap {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.kb-category-title-wrap small {
  color: #8a94a6;
  font-size: 12px;
  font-weight: 800;
}

.kb-category-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #eef4ff;
  color: var(--blue);
}

.kb-category-icon.icon-career,
.kb-category-icon.icon-application,
.kb-category-icon.icon-finance {
  background: #f4fbf7;
  color: var(--green-dark);
}

.kb-category-icon.icon-living {
  background: #fff8f1;
  color: #d98d22;
}

.kb-icon-svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.kb-card-chevron {
  width: 9px;
  height: 9px;
  justify-self: end;
  border-right: 2px solid #7d8798;
  border-bottom: 2px solid #7d8798;
  transform: rotate(45deg) translateY(-3px);
  transition: transform 0.18s ease;
}

.kb-category-card[open] .kb-card-chevron {
  transform: rotate(225deg) translate(-1px, -1px);
}

.kb-category-card ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 14px 22px 24px;
  list-style: none;
}

.kb-category-card li + li {
  border-top: 1px solid rgba(229, 231, 235, 0.72);
}

.kb-category-card li a {
  display: block;
  padding-block: 13px;
  color: #2b303a;
  font-size: 14px;
  font-weight: 780;
  line-height: 1.42;
  overflow-wrap: anywhere;
  transition: color 0.18s ease, transform 0.18s ease;
}

.kb-category-card li a:hover,
.kb-category-card li a:focus-visible {
  color: var(--blue-dark);
  transform: translateX(2px);
}

.kb-card-view-all {
  display: inline-flex;
  margin: 0 22px 24px;
  color: var(--green-dark);
  font-weight: 900;
}

.kb-recommended-section {
  padding-block: 0 92px;
}

.kb-recommended-section h2 {
  margin: 0 0 28px;
  color: #2b303a;
  font-size: clamp(32px, 3.5vw, 46px);
  line-height: 1.1;
}

.kb-recommended-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.kb-recommended-card {
  display: grid;
  align-content: start;
  min-height: 254px;
  border: 1px solid #e1e6ef;
  border-radius: 18px;
  background: #fff;
  padding: 26px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.045);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.kb-recommended-card-image {
  overflow: hidden;
  display: block;
  margin: -10px -10px 18px;
  border-radius: 14px;
  aspect-ratio: 16 / 9;
  background: #eef4ff;
}

.kb-recommended-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.28s ease;
}

.kb-recommended-card:hover {
  transform: translateY(-3px);
  border-color: rgba(60, 115, 244, 0.24);
  box-shadow: var(--shadow);
}

.kb-recommended-card:hover .kb-recommended-card-image img {
  transform: scale(1.035);
}

.kb-recommended-card > p:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kb-recommended-card > p:first-child span {
  color: #8a94a6;
}

.kb-recommended-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 22px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.kb-recommended-card h3 a:hover,
.kb-recommended-card h3 a:focus-visible {
  color: var(--blue-dark);
}

.kb-recommended-card > p:not(:first-child) {
  margin: 14px 0 22px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.6;
}

.kb-read-link {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 900;
}

.kb-read-link span {
  transition: transform 0.18s ease;
}

.kb-read-link:hover,
.kb-read-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.kb-read-link:hover span,
.kb-read-link:focus-visible span {
  transform: translateX(2px);
}

.about-page {
  --about-soft-shadow: 0 24px 70px rgba(28, 46, 92, 0.1);
  --about-card-shadow: 0 18px 50px rgba(28, 46, 92, 0.075);
  --about-glow-blue: rgba(60, 115, 244, 0.12);
  --about-glow-green: rgba(32, 195, 90, 0.1);
  background:
    radial-gradient(circle at 9% 8%, rgba(60, 115, 244, 0.06), transparent 26%),
    linear-gradient(180deg, #fff 0%, #f7faff 44%, #fff 100%);
}

.about-page section[id] {
  scroll-margin-top: calc(var(--header-height) + 84px);
}

.about-hero-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 83% 22%, rgba(244, 200, 74, 0.26), transparent 20%),
    radial-gradient(circle at 12% 92%, rgba(255, 255, 255, 0.14), transparent 24%),
    linear-gradient(135deg, var(--blue-dark), var(--blue) 58%, #4f7ff5);
  color: #fff;
  isolation: isolate;
}

.about-hero-section::before,
.about-hero-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.about-hero-section::before {
  inset: auto -8% -120px -8%;
  height: 210px;
  border-radius: 50% 50% 0 0;
  background: rgba(255, 255, 255, 0.13);
  filter: blur(1px);
}

.about-hero-section::after {
  top: 108px;
  right: 9%;
  width: 190px;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 50%;
  box-shadow:
    -94px 154px 0 -38px rgba(255, 255, 255, 0.12),
    86px 270px 0 -56px rgba(244, 200, 74, 0.22);
}

.about-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.76fr);
  align-items: center;
  gap: clamp(42px, 6vw, 96px);
  min-height: clamp(520px, 58vh, 690px);
  padding-block: clamp(72px, 8vw, 116px) clamp(88px, 10vw, 140px);
}

.about-hero-copy {
  max-width: 720px;
  animation: about-rise 700ms ease both;
}

.about-hero-eyebrow {
  margin: 0 0 8px;
  color: var(--yellow);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.about-hero-copy h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 5vw, 68px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.about-hero-copy p {
  max-width: 620px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(16px, 1.25vw, 19px);
  font-weight: 650;
  line-height: 1.62;
}

.about-hero-copy strong {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 26px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  padding: 11px 16px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 16px;
  line-height: 1.25;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(10px);
}

.about-hero-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 390px;
  animation: about-rise 780ms 90ms ease both;
}

.about-hero-orbit {
  position: absolute;
  width: min(88%, 430px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 22%, rgba(255, 255, 255, 0.2), transparent 22%),
    rgba(255, 255, 255, 0.13);
  box-shadow:
    inset 0 0 0 32px rgba(255, 255, 255, 0.08),
    0 34px 80px rgba(16, 43, 120, 0.2);
}

.about-hero-orbit::before,
.about-hero-orbit::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(17, 34, 75, 0.16);
}

.about-hero-orbit::before {
  top: 12%;
  right: 8%;
  width: 48px;
  height: 48px;
}

.about-hero-orbit::after {
  bottom: 18%;
  left: 7%;
  width: 30px;
  height: 30px;
  background: var(--yellow);
}

.about-hero-visual img {
  position: relative;
  width: min(78%, 350px);
  aspect-ratio: 1;
  border-radius: 48% 48% 48% 12%;
  object-fit: cover;
  border: 9px solid rgba(255, 255, 255, 0.72);
  box-shadow:
    0 30px 80px rgba(17, 34, 75, 0.24),
    0 0 0 1px rgba(255, 255, 255, 0.22);
}

.about-anchor-nav {
  position: sticky;
  top: var(--header-height);
  z-index: 35;
  margin-top: -34px;
  pointer-events: none;
}

.about-anchor-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  max-width: 1040px;
  min-height: 76px;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(214, 224, 241, 0.92);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--about-soft-shadow);
  pointer-events: auto;
  backdrop-filter: blur(18px);
}

.about-anchor-list a {
  display: grid;
  place-items: center;
  border-bottom: 3px solid transparent;
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
  transition:
    color 0.18s ease,
    border-color 0.18s ease,
    background 0.18s ease,
    transform 0.18s ease;
}

.about-anchor-list a:hover,
.about-anchor-list a:focus-visible {
  color: var(--green-dark);
  border-color: var(--green);
  background: #f8fffb;
  transform: translateY(-1px);
}

.about-section {
  padding-block: clamp(82px, 7vw, 122px);
}

.about-process-section {
  padding-top: clamp(92px, 8vw, 132px);
  background:
    radial-gradient(circle at 10% 10%, var(--about-glow-blue), transparent 26%),
    radial-gradient(circle at 92% 56%, var(--about-glow-green), transparent 28%),
    #f8fbff;
}

.about-process-shell {
  position: relative;
  display: grid;
  gap: clamp(24px, 3vw, 38px);
}

.about-process-line {
  position: absolute;
  top: 42px;
  bottom: 42px;
  left: 24px;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(60, 115, 244, 0.44) 10%, rgba(32, 195, 90, 0.36) 90%, transparent);
}

.about-process-step {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.74fr);
  gap: clamp(28px, 5vw, 84px);
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(214, 224, 241, 0.94);
  border-radius: 30px;
  padding: clamp(26px, 3.5vw, 46px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.76)),
    #fff;
  box-shadow: var(--about-card-shadow);
  transition:
    transform 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}

.about-process-step::after {
  content: "";
  position: absolute;
  inset: auto 18px 18px auto;
  width: 132px;
  height: 132px;
  border-radius: 42px;
  background: rgba(60, 115, 244, 0.045);
  transform: rotate(12deg);
  pointer-events: none;
}

.about-process-step:hover {
  transform: translateY(-4px);
  border-color: rgba(60, 115, 244, 0.26);
  box-shadow: 0 26px 72px rgba(28, 46, 92, 0.12);
}

.about-step-copy {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.about-step-number {
  position: relative;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: linear-gradient(135deg, #e8eeff, #f2f7ff);
  color: var(--blue-dark);
  font-size: 21px;
  font-weight: 900;
  box-shadow:
    0 0 0 7px #fff,
    0 14px 30px rgba(60, 115, 244, 0.16);
}

.about-process-step h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.16;
  text-wrap: balance;
}

.about-process-step.phase-card p {
  max-width: none;
  margin: 12px 0 0;
  color: #46536c;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.65;
  pointer-events: auto;
}

.about-process-step ul {
  display: grid;
  gap: 11px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  color: #46536c;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.about-process-step li {
  position: relative;
  padding-left: 24px;
}

.about-process-step li::before {
  content: "";
  position: absolute;
  top: 0.66em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(32, 195, 90, 0.13);
}

.about-process-step li strong {
  color: var(--navy);
}

.about-text-link {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 18px;
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(32, 195, 90, 0.1);
  color: var(--green-dark);
  font-size: 14px;
  font-weight: 900;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.about-text-link span {
  transition: transform 0.18s ease;
}

.about-text-link:hover,
.about-text-link:focus-visible {
  background: var(--green);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}

.about-text-link:hover span,
.about-text-link:focus-visible span {
  transform: translateX(2px);
}

.about-step-visual {
  display: grid;
  place-items: center;
  min-height: 250px;
  position: relative;
  z-index: 1;
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 30%, rgba(60, 115, 244, 0.1), transparent 44%),
    rgba(255, 255, 255, 0.46);
}

.about-step-visual img {
  width: min(100%, 460px);
  object-fit: contain;
  filter: drop-shadow(0 22px 34px rgba(33, 71, 142, 0.11));
  transition: transform 260ms ease, filter 260ms ease;
}

.about-process-step:hover .about-step-visual img {
  transform: translateY(-4px) scale(1.015);
  filter: drop-shadow(0 28px 42px rgba(33, 71, 142, 0.16));
}

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

.about-value-grid,
.about-results-grid,
.about-team-grid {
  display: grid;
  gap: 24px;
}

.about-value-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-value-card {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  min-height: 258px;
  overflow: hidden;
  border: 1px solid rgba(214, 224, 241, 0.94);
  border-radius: 26px;
  background:
    radial-gradient(circle at 20% 0%, rgba(60, 115, 244, 0.08), transparent 38%),
    #fff;
  padding: 34px 28px;
  text-align: center;
  box-shadow: var(--about-card-shadow);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.about-value-card::after {
  content: "";
  position: absolute;
  right: -44px;
  bottom: -44px;
  width: 112px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(244, 200, 74, 0.18);
  transition: transform 0.2s ease;
}

.about-value-card:hover {
  transform: translateY(-5px);
  border-color: rgba(60, 115, 244, 0.24);
  box-shadow: var(--about-soft-shadow);
}

.about-value-card:hover::after {
  transform: scale(1.16);
}

.about-value-card .menu-item-icon {
  width: 60px;
  height: 60px;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.4)),
    var(--blue-soft);
  color: var(--blue);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.about-value-card h3 {
  margin: 20px 0 9px;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.2;
}

.about-value-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.about-cta-banner {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(244, 200, 74, 0.24), transparent 26%),
    radial-gradient(circle at 82% 82%, rgba(32, 195, 90, 0.18), transparent 28%),
    linear-gradient(135deg, var(--blue-dark), var(--blue));
  color: #fff;
  isolation: isolate;
}

.about-cta-banner::before {
  content: "";
  position: absolute;
  inset: 40px 8%;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  opacity: 0.8;
}

.about-cta-inner {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 24px;
  min-height: 380px;
  padding-block: 96px;
  text-align: center;
}

.about-cta-inner h2 {
  max-width: 920px;
  color: #fff;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.08;
  text-wrap: balance;
}

.about-cta-inner h2 span {
  color: var(--yellow);
}

.about-cta-portrait {
  position: absolute;
  width: clamp(48px, 5vw, 74px);
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid rgba(255, 255, 255, 0.74);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.2);
  transition: transform 220ms ease;
}

.about-cta-banner:hover .about-cta-portrait {
  transform: translateY(-3px);
}

.portrait-1 {
  top: 32px;
  left: 6%;
}

.portrait-2 {
  top: 52px;
  left: 50%;
}

.portrait-3 {
  top: 30px;
  right: 12%;
}

.portrait-4 {
  bottom: 54px;
  left: 14%;
}

.portrait-5 {
  bottom: 30px;
  left: 43%;
}

.portrait-6 {
  right: 8%;
  bottom: 48px;
}

.about-results-section {
  background:
    radial-gradient(circle at 88% 8%, rgba(32, 195, 90, 0.08), transparent 26%),
    #fff;
}

.about-result-stat {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  margin-top: 18px !important;
  border: 1px solid rgba(32, 195, 90, 0.26);
  border-radius: 999px;
  background: rgba(251, 255, 253, 0.92);
  color: var(--navy) !important;
  padding: 10px 16px;
  font-size: 13px !important;
  font-weight: 850 !important;
}

.about-results-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
}

.about-result-card {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 272px;
  overflow: hidden;
  border: 1px solid rgba(214, 224, 241, 0.94);
  border-radius: 26px;
  background: #fff;
  box-shadow: var(--about-card-shadow);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.about-result-card:hover {
  transform: translateY(-5px);
  border-color: rgba(32, 195, 90, 0.28);
  box-shadow: var(--about-soft-shadow);
}

.about-result-student {
  display: grid;
  justify-items: center;
  align-content: start;
  padding: 28px 18px 18px;
  text-align: center;
}

.about-result-student img {
  width: 76px;
  height: 76px;
  border: 4px solid #fff;
  border-radius: 24px;
  object-fit: cover;
  margin-bottom: 16px;
  box-shadow: 0 14px 28px rgba(28, 46, 92, 0.12);
}

.about-result-student h3 {
  margin: 0;
  color: var(--navy);
  font-size: 16px;
  line-height: 1.25;
}

.about-result-student p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.about-result-school {
  display: grid;
  place-items: center;
  gap: 7px;
  min-height: 92px;
  border-top: 1px solid #edf0f5;
  background:
    linear-gradient(180deg, #fbfcff, #f4f8ff);
  padding: 15px;
  text-align: center;
}

.about-result-school img {
  max-width: 118px;
  max-height: 44px;
  object-fit: contain;
}

.about-result-school span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.about-team-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@keyframes about-rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-hero-copy,
  .about-hero-visual {
    animation: none;
  }

  .about-process-step,
  .about-step-visual img,
  .about-value-card,
  .about-cta-portrait,
  .about-result-card,
  .about-anchor-list a,
  .about-text-link {
    transition: none;
  }
}

.orientation-page {
  background: #fff;
}

.orientation-page > section {
  width: 100%;
}

.orientation-page .container {
  width: min(calc(100% - 48px), 1560px);
}

.orientation-page section[id] {
  scroll-margin-top: calc(var(--header-height) + 64px);
}

.orientation-section {
  padding-block: clamp(72px, 7vw, 112px);
}

.orientation-hero {
  overflow: hidden;
  width: 100%;
  background:
    radial-gradient(circle at 86% 24%, rgba(60, 115, 244, 0.14), transparent 30%),
    radial-gradient(circle at 4% 82%, rgba(32, 195, 90, 0.09), transparent 24%),
    #eaf2ff;
}

.orientation-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
  align-items: center;
  gap: clamp(38px, 6vw, 86px);
  min-height: clamp(590px, 69vh, 760px);
  padding-block: clamp(74px, 8vw, 116px);
}

.orientation-hero-copy {
  max-width: 720px;
  min-width: 0;
}

.orientation-hero-copy h1 {
  max-width: 700px;
  margin: 0;
  color: var(--navy);
  font-size: clamp(40px, 5vw, 62px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.orientation-hero-intro {
  margin: 18px 0 0;
  color: #46536c;
  font-size: clamp(16px, 1.28vw, 18px);
  font-weight: 650;
  line-height: 1.68;
}

.orientation-hero-points {
  display: grid;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.orientation-hero-points li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  color: #31415f;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.5;
}

.orientation-hero-points .menu-item-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: #dce9ff;
  color: var(--blue);
}

.orientation-proof-line {
  width: fit-content;
  margin: 14px 0 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--navy);
  padding: 9px 13px;
  font-size: 13px;
  font-weight: 900;
}

.orientation-hero-visual {
  position: relative;
  min-height: 430px;
  display: grid;
  place-items: center;
}

.orientation-dashboard-card {
  position: relative;
  width: min(100%, 760px);
  min-width: 0;
  border: 1px solid rgba(60, 115, 244, 0.15);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.78);
  padding: clamp(18px, 2vw, 28px);
  box-shadow: 0 28px 80px rgba(36, 72, 146, 0.16);
}

.orientation-dashboard-card img {
  width: 100%;
  min-height: clamp(260px, 26vw, 420px);
  object-fit: contain;
  filter: drop-shadow(0 24px 36px rgba(18, 35, 72, 0.11));
}

.orientation-profile-card {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 10%;
  width: 176px;
  border: 1px solid rgba(60, 115, 244, 0.14);
  border-radius: 22px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.12);
}

.orientation-profile-card span,
.orientation-process-visual span {
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.orientation-profile-card strong {
  display: block;
  margin-top: 4px;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.15;
}

.orientation-profile-card div {
  height: 8px;
  margin-top: 12px;
  border-radius: 999px;
  background: #d9e6ff;
}

.orientation-profile-card div:nth-of-type(2) {
  width: 72%;
  background: #c9f0d8;
}

.orientation-profile-card div:nth-of-type(3) {
  width: 56%;
}

.orientation-mini-stats {
  position: absolute;
  right: 0;
  bottom: 8%;
  z-index: 2;
  display: grid;
  gap: 10px;
}

.orientation-mini-stats span {
  display: grid;
  min-width: 150px;
  border: 1px solid rgba(60, 115, 244, 0.12);
  border-radius: 18px;
  background: #fff;
  padding: 14px 16px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.1);
}

.orientation-mini-stats strong {
  color: var(--blue-dark);
  font-size: 24px;
  line-height: 1;
}

.orientation-trust-strip {
  background: #eef5ff;
  border-top: 1px solid rgba(60, 115, 244, 0.08);
  border-bottom: 1px solid rgba(60, 115, 244, 0.08);
}

.orientation-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.orientation-trust-grid article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 30px 28px;
}

.orientation-trust-grid article + article {
  border-left: 1px solid rgba(60, 115, 244, 0.13);
}

.orientation-trust-grid .menu-item-icon {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: #fff;
  color: var(--blue);
}

.orientation-trust-grid p {
  margin: 0;
  color: #384762;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
}

.orientation-logo-section {
  background: #fff;
  text-align: center;
}

.orientation-logo-section h2 {
  max-width: 960px;
  margin: 0 auto;
  color: var(--navy);
  font-size: clamp(20px, 2.4vw, 31px);
  line-height: 1.24;
}

.orientation-logo-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  gap: clamp(18px, 3vw, 42px);
  margin-top: 38px;
}

.orientation-logo-row span {
  display: grid;
  place-items: center;
  min-height: 88px;
}

.orientation-logo-row img {
  width: 100%;
  max-width: 170px;
  max-height: 66px;
  object-fit: contain;
}

.orientation-value-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 18%, rgba(244, 200, 74, 0.28), transparent 13%),
    linear-gradient(170deg, #fff 0 22%, var(--blue) 22.2% 100%);
  padding-block: clamp(86px, 9vw, 132px);
}

.orientation-value-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(240px, 0.58fr) minmax(280px, 0.78fr);
  align-items: center;
  gap: clamp(22px, 4vw, 58px);
}

.orientation-included-card {
  min-width: 0;
  border-radius: 24px;
  background: #151f41;
  color: #fff;
  padding: clamp(26px, 3vw, 36px);
  box-shadow: 0 28px 72px rgba(10, 20, 52, 0.28);
}

.orientation-included-card h2,
.orientation-value-proof h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.12;
}

.orientation-included-card ul {
  display: grid;
  gap: 12px;
  margin: 22px 0;
  padding: 0;
  list-style: none;
}

.orientation-included-card li {
  position: relative;
  padding-left: 26px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
}

.orientation-included-card li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 5px rgba(32, 195, 90, 0.12);
}

.orientation-value-visual {
  position: relative;
  min-height: 420px;
  display: grid;
  place-items: center;
}

.orientation-value-visual > img {
  width: min(100%, 260px);
  filter: drop-shadow(0 30px 42px rgba(17, 24, 39, 0.18));
}

.orientation-review-mini {
  position: absolute;
  right: 4%;
  bottom: 8%;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 210px;
  border: 1px solid rgba(60, 115, 244, 0.16);
  border-radius: 18px;
  background: #fff;
  padding: 12px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);
}

.orientation-review-mini img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}

.orientation-review-mini strong,
.orientation-review-mini small {
  display: block;
}

.orientation-review-mini strong {
  color: var(--navy);
  font-size: 13px;
  line-height: 1.2;
}

.orientation-review-mini small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.orientation-value-proof {
  min-width: 0;
  color: #fff;
}

.orientation-value-proof p {
  max-width: 460px;
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 16px;
  font-weight: 750;
  line-height: 1.62;
}

.orientation-value-proof .button-outline {
  margin-top: 18px;
  border-color: rgba(255, 255, 255, 0.48);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.orientation-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.orientation-badge-row span {
  display: grid;
  place-items: center;
  min-width: 118px;
  min-height: 88px;
  border-radius: 16px;
  background: #fff;
  padding: 12px;
}

.orientation-badge-row img {
  max-width: 104px;
  max-height: 62px;
  object-fit: contain;
}

.orientation-process-section {
  background: #fff;
}

.orientation-process-list {
  display: grid;
  gap: clamp(36px, 6vw, 78px);
}

.orientation-process-step {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.8fr);
  align-items: center;
  gap: clamp(28px, 5vw, 80px);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--phase-bg);
  padding: clamp(26px, 4vw, 48px);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.055);
}

.orientation-process-step.is-reversed .orientation-process-copy {
  order: 2;
}

.orientation-process-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.orientation-step-number {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: #e8eeff;
  color: var(--blue-dark);
  font-size: 22px;
  font-weight: 900;
}

.orientation-process-copy h3 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(24px, 2.5vw, 36px);
  line-height: 1.12;
}

.orientation-process-copy p {
  max-width: 640px;
  margin: 14px 0 0;
  color: #46536c;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.68;
  pointer-events: auto;
}

.orientation-process-copy ul {
  display: grid;
  gap: 11px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.orientation-process-copy li {
  position: relative;
  padding-left: 25px;
  color: #46536c;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.58;
}

.orientation-process-copy li::before {
  content: "";
  position: absolute;
  top: 0.66em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(32, 195, 90, 0.13);
}

.orientation-process-copy li strong {
  color: var(--navy);
}

.orientation-step-note {
  border-left: 3px solid var(--green);
  padding-left: 14px;
}

.orientation-process-copy .button {
  margin-top: 22px;
}

.orientation-process-visual {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 12px;
  border: 1px solid rgba(60, 115, 244, 0.1);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.64);
  padding: 24px;
}

.orientation-process-visual img {
  width: min(100%, 560px);
  max-height: 400px;
  object-fit: contain;
  filter: drop-shadow(0 20px 34px rgba(33, 71, 142, 0.1));
}

.orientation-benefits-section {
  position: relative;
  overflow: hidden;
  background: #fff;
}

.orientation-benefits-illustration {
  position: absolute;
  top: 74px;
  right: max(24px, calc((100vw - 1560px) / 2));
  width: clamp(80px, 10vw, 150px);
  opacity: 0.94;
  filter: drop-shadow(0 20px 32px rgba(15, 23, 42, 0.13));
}

.orientation-benefit-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.orientation-benefit-card {
  display: grid;
  justify-items: center;
  align-content: start;
  min-height: 250px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  padding: 34px 28px;
  text-align: center;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.055);
}

.orientation-benefit-card .menu-item-icon {
  width: 60px;
  height: 60px;
  border-radius: 18px;
  background: var(--blue-soft);
  color: var(--blue);
}

.orientation-benefit-card h3 {
  margin: 20px 0 9px;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.2;
}

.orientation-benefit-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.orientation-reviews-section {
  background: #fff;
  padding-top: 0;
}

.orientation-reviews-inner {
  display: grid;
  justify-items: center;
}

.orientation-review-panel {
  width: min(100%, 900px);
  min-width: 0;
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) 90px;
  align-items: center;
  gap: 26px;
  border: 1px solid #dce8ff;
  border-radius: 22px;
  background: #eef5ff;
  padding: 24px 28px;
  box-shadow: 0 16px 38px rgba(60, 115, 244, 0.08);
}

.orientation-rating-badge {
  display: grid;
  justify-items: center;
  border-radius: 16px;
  background: #fff;
  padding: 14px 16px;
  color: var(--navy);
  line-height: 1.1;
}

.orientation-rating-badge strong {
  color: #4285f4;
  font-size: 15px;
}

.orientation-rating-badge span {
  margin-top: 4px;
  color: var(--green-dark);
  font-size: 28px;
  font-weight: 900;
}

.orientation-rating-badge small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.orientation-review-panel p {
  margin: 0;
  color: var(--navy);
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 900;
  text-align: center;
}

.orientation-review-panel > img {
  width: 80px;
  justify-self: center;
}

.orientation-faq-section {
  background: #fff;
}

.orientation-faq-inner {
  max-width: 980px;
}

.orientation-faq-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 26px;
}

.orientation-faq-tab {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  cursor: pointer;
  padding: 0 18px;
  font-size: 13px;
  font-weight: 900;
  transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.orientation-faq-tab.is-active {
  border-color: rgba(32, 195, 90, 0.42);
  background: #f4fbf7;
  color: var(--green-dark);
  box-shadow: 0 10px 24px rgba(32, 195, 90, 0.08);
}

.orientation-faq-list {
  display: grid;
  gap: 14px;
}

.orientation-faq-list details {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
}

.orientation-faq-list summary {
  cursor: pointer;
  color: var(--navy);
  padding: 22px 24px;
  font-size: 16px;
  font-weight: 900;
}

.orientation-faq-list details > div {
  padding: 0 24px 22px;
}

.orientation-faq-list p {
  margin: 0;
  color: #46536c;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.65;
}

.orientation-faq-groups,
.application-faq-groups {
  display: grid;
  gap: 30px;
}

.orientation-faq-category-block,
.application-faq-category-block {
  scroll-margin-top: calc(var(--header-height) + 32px);
}

.orientation-faq-category-title {
  margin: 0 0 14px;
  color: var(--navy);
  font-size: 17px;
  font-weight: 900;
}

.orientation-faq-tabs a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.application-page {
  overflow-x: clip;
  background: #fff;
}

.application-page > section {
  width: 100%;
}

.application-page .container {
  width: min(calc(100% - 40px), 1600px);
}

.application-page section[id] {
  scroll-margin-top: calc(var(--header-height) + 64px);
}

.application-section {
  padding-block: clamp(72px, 7vw, 112px);
}

.application-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  align-items: stretch;
  min-height: 100vh;
  background:
    radial-gradient(circle at 78% 23%, rgba(88, 118, 255, 0.32), transparent 26%),
    radial-gradient(circle at 3% 100%, rgba(32, 195, 90, 0.16), transparent 22%),
    linear-gradient(135deg, #14093b 0%, #180640 48%, #0c163a 100%);
  color: #fff;
}

.application-hero-grid {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(520px, 1.14fr);
  align-items: center;
  gap: clamp(42px, 7vw, 104px);
  padding-block: clamp(76px, 9vh, 118px);
}

.application-hero-copy {
  max-width: 680px;
}

.application-hero .eyebrow {
  color: var(--yellow);
}

.application-hero-copy h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 5.2vw, 70px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: 0;
}

.application-hero-copy p {
  max-width: 610px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(16px, 1.35vw, 19px);
  font-weight: 650;
  line-height: 1.7;
}

.application-hero-copy .button {
  margin-top: 28px;
}

.application-hero-visual {
  position: relative;
  min-height: clamp(520px, 43vw, 780px);
}

.application-hero-orbit {
  position: absolute;
  inset: 8% 16% 8% 14%;
  border-left: 5px solid rgba(244, 200, 74, 0.85);
  border-radius: 50%;
  transform: rotate(-7deg);
}

.application-hero-orbit::before {
  content: "";
  position: absolute;
  inset: 10% 8% 10% 0;
  border-left: 2px dashed rgba(255, 255, 255, 0.46);
  border-radius: 50%;
}

.application-brand-token {
  position: absolute;
  left: -40px;
  top: 44%;
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border: 5px solid #d6e2ff;
  border-radius: 22px;
  background: var(--blue);
  color: #fff;
  font-size: 34px;
  font-weight: 900;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28);
  transform: rotate(7deg);
}

.application-path-node {
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 0 8px rgba(244, 200, 74, 0.14);
}

.application-path-node-1 {
  top: 5%;
  left: 7%;
}

.application-path-node-2 {
  top: 29%;
  left: 0;
}

.application-path-node-3 {
  bottom: 29%;
  left: 0;
}

.application-path-node-4 {
  bottom: 5%;
  left: 8%;
}

.application-hero-labels {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.application-hero-label {
  position: absolute;
  display: flex;
  align-items: center;
  min-width: 220px;
  border-radius: 999px;
  background: #f7fbff;
  padding: 13px 20px;
  color: var(--blue-dark);
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.16);
}

.application-hero-label::before {
  content: "";
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  margin-right: 10px;
  border-radius: 50%;
  background: #dbe7ff;
  box-shadow: inset 0 0 0 4px var(--blue);
}

.application-hero-label span {
  min-width: 0;
}

.application-hero-label-1 {
  top: 7%;
  right: 15%;
}

.application-hero-label-2 {
  top: 23%;
  right: 3%;
}

.application-hero-label-3 {
  top: 39%;
  right: 18%;
}

.application-hero-label-4 {
  top: 55%;
  right: 5%;
}

.application-hero-label-5 {
  top: 71%;
  right: 22%;
}

.application-intro-section,
.application-trust-section,
.application-founder-section,
.application-process-section,
.application-reviews-section,
.application-faq-section {
  background: #fff;
}

.application-intro-inner {
  display: grid;
  justify-items: center;
  text-align: center;
}

.application-feature-row {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin-top: 44px;
}

.application-feature-item {
  min-height: clamp(184px, 13vw, 218px);
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  padding: 24px 18px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.application-feature-item img {
  width: clamp(68px, 5vw, 84px);
  height: clamp(68px, 5vw, 84px);
  object-fit: contain;
}

.application-feature-item h3 {
  margin: 0;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.2;
}

.application-trust-section {
  background: #fff;
  border-top: 1px solid #f0f3f8;
}

.application-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.application-trust-item {
  display: grid;
  justify-items: center;
  align-content: start;
  min-height: clamp(224px, 16vw, 252px);
  border-radius: 22px;
  padding: 28px 20px;
  text-align: center;
}

.application-trust-item img {
  width: clamp(108px, 8vw, 136px);
  height: clamp(108px, 8vw, 136px);
  box-sizing: border-box;
  border-radius: 30px;
  background: var(--blue-soft);
  padding: 10px;
  object-fit: contain;
}

.application-trust-item h3 {
  margin: 16px 0 6px;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.2;
}

.application-trust-item p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
}

.application-founder-section {
  background: var(--blue-softer);
}

.application-founder-card {
  display: grid;
  grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(26px, 4vw, 58px);
  width: 100%;
  max-width: 1480px;
  margin-inline: auto;
  border: 1px solid #dce6f7;
  border-radius: 26px;
  background: #fff;
  padding: clamp(20px, 3vw, 36px);
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.06);
}

.application-founder-media {
  position: relative;
  overflow: hidden;
  display: grid;
  min-height: clamp(300px, 25vw, 420px);
  border-radius: 22px;
  background: #dce8ff;
}

.application-founder-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.application-founder-copy p {
  margin: 0 0 16px;
  color: #46536c;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.68;
}

.application-founder-profile {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: fit-content;
  margin: 10px 0 22px;
}

.application-founder-profile img {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
}

.application-founder-profile strong,
.application-founder-profile small {
  display: block;
}

.application-founder-profile strong {
  color: var(--navy);
  font-size: 15px;
}

.application-founder-profile small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.application-founder-copy .button {
  display: flex;
  width: fit-content;
  min-width: 168px;
  margin-top: 4px;
  padding-inline: 28px;
}

.application-process-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  align-items: start;
  gap: clamp(24px, 4vw, 54px);
}

.application-process-nav {
  position: sticky;
  top: calc(var(--header-height) + 28px);
  isolation: isolate;
  display: grid;
  gap: 14px;
  padding-block: 8px;
}

.application-process-nav::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 28px;
  bottom: 28px;
  left: 29px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #8fb0ff, #a59cff 28%, #65d79b 54%, #f0b35a 78%, #8fb0ff);
}

.application-process-nav a {
  --phase-color: var(--blue);
  --phase-soft: var(--blue-soft);
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(60, 115, 244, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--phase-color);
  padding: 12px 14px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.application-process-nav a:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--phase-color) 34%, transparent);
  background: var(--phase-soft);
}

.application-process-nav span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: var(--phase-soft);
  color: var(--phase-color);
  box-shadow: 0 0 0 5px #fff, 0 12px 24px color-mix(in srgb, var(--phase-color) 18%, transparent);
}

.application-process-nav .phase-link-explore {
  --phase-color: #3c73f4;
  --phase-soft: #edf4ff;
}

.application-process-nav .phase-link-decide {
  --phase-color: #7b68ee;
  --phase-soft: #f3f0ff;
}

.application-process-nav .phase-link-apply {
  --phase-color: #20a767;
  --phase-soft: #eefbf5;
}

.application-process-nav .phase-link-move {
  --phase-color: #d89125;
  --phase-soft: #fff7e8;
}

.application-process-list {
  display: grid;
  gap: 34px;
}

.application-process-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(240px, 0.82fr) minmax(0, 1fr) minmax(230px, 0.72fr);
  align-items: center;
  gap: clamp(20px, 3vw, 40px);
  border: 1px solid var(--line);
  border-radius: 26px;
  background: var(--phase-bg);
  padding: clamp(24px, 3vw, 36px);
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.06);
}

.application-process-card.is-reversed .application-process-media {
  order: 2;
}

.application-process-card.is-reversed .application-process-copy {
  order: 1;
}

.application-process-card.is-reversed .application-included-list {
  order: 3;
}

.application-process-media,
.application-process-copy,
.application-included-list {
  position: relative;
  z-index: 1;
}

.application-process-media {
  overflow: hidden;
  display: grid;
  place-items: center;
  min-height: clamp(250px, 18vw, 340px);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.72);
  padding: clamp(16px, 1.8vw, 24px);
}

.application-process-media img {
  display: block;
  width: min(100%, 620px);
  max-height: clamp(220px, 17vw, 320px);
  object-fit: contain;
  filter: drop-shadow(0 18px 24px rgba(15, 23, 42, 0.08));
}

.application-process-copy h3 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.12;
}

.application-process-copy p {
  margin: 12px 0 0;
  color: #46536c;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.65;
}

.application-process-copy .button {
  margin-top: 20px;
}

.application-included-list {
  border: 1px solid rgba(60, 115, 244, 0.11);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.68);
  padding: 20px;
}

.application-included-list h4 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 14px;
}

.application-included-list ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.application-included-list li {
  position: relative;
  padding-left: 22px;
  color: #46536c;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.42;
}

.application-included-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.52em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(32, 195, 90, 0.12);
}

.application-pricing-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 6% 12%, rgba(244, 200, 74, 0.34), transparent 12%),
    linear-gradient(168deg, #fff 0 17%, var(--blue) 17.2% 100%);
  padding-block: clamp(92px, 9vw, 138px);
}

.application-pricing-grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.86fr) minmax(240px, 0.58fr) minmax(290px, 0.76fr);
  align-items: center;
  gap: clamp(24px, 4vw, 58px);
}

.application-price-card {
  border-radius: 24px;
  background: #151f41;
  color: #fff;
  padding: clamp(28px, 3.2vw, 40px);
  box-shadow: 0 26px 72px rgba(10, 20, 52, 0.28);
}

.application-price-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  gap: 18px;
  margin-bottom: 20px;
}

.application-price-header span {
  color: var(--yellow);
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 900;
  line-height: 0.94;
}

.application-price-header h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.06;
}

.application-price-card h3 {
  margin: 26px 0 16px;
  color: #fff;
  font-size: 18px;
}

.application-price-card ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.application-price-card li {
  position: relative;
  padding-left: 26px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.48;
}

.application-price-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 5px rgba(32, 195, 90, 0.12);
}

.application-price-card p {
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.application-pricing-visual {
  display: grid;
  place-items: center;
}

.application-pricing-visual img {
  width: min(100%, clamp(280px, 22vw, 390px));
  filter: drop-shadow(0 30px 42px rgba(17, 24, 39, 0.18));
}

.application-pricing-proof {
  color: #fff;
}

.application-pricing-proof h2 {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(24px, 2.5vw, 36px);
}

.application-pricing-proof .button-outline {
  border-color: rgba(255, 255, 255, 0.46);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.application-pricing-proof .orientation-badge-row span {
  min-width: clamp(140px, 10vw, 180px);
  min-height: clamp(104px, 7vw, 126px);
}

.application-pricing-proof .orientation-badge-row img {
  max-width: clamp(118px, 8vw, 146px);
  max-height: clamp(72px, 5vw, 90px);
}

.application-upsell-section {
  background: #fff;
  padding-block: clamp(52px, 5vw, 82px);
}

.application-upsell-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) minmax(280px, 0.58fr);
  align-items: center;
  gap: 26px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 0, rgba(244, 200, 74, 0.28), transparent 18%),
    #150a3b;
  padding: clamp(24px, 3vw, 36px);
  color: #fff;
  box-shadow: 0 22px 52px rgba(21, 10, 59, 0.18);
}

.application-upsell-card > img {
  width: min(100%, clamp(150px, 12vw, 210px));
}

.application-upsell-card h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1.1;
}

.application-upsell-card p {
  margin: 10px 0 18px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.application-upsell-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.application-upsell-card li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  font-weight: 850;
}

.application-upsell-card .menu-item-icon {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.application-faq-section .orientation-faq-inner {
  max-width: 1400px;
}

.application-reviews-section .orientation-review-panel {
  width: min(100%, 1400px);
}

:focus-visible {
  outline: 3px solid rgba(244, 200, 74, 0.95);
  outline-offset: 3px;
}

@media (min-width: 1200px) {
  .hero-band {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
  }

  .hero-grid {
    flex: 1;
    min-height: 0;
    grid-template-columns: minmax(0, 1.03fr) minmax(520px, 0.97fr);
    padding-block: clamp(72px, 8vh, 112px) clamp(44px, 6vh, 76px);
  }

  .hero-visual {
    min-height: clamp(470px, 38vw, 650px);
  }

  .architecture-card {
    width: 82%;
    height: clamp(330px, 25vw, 470px);
  }

  .sun-disc,
  .student-portrait {
    width: clamp(340px, 23vw, 470px);
  }

  .trust-strip {
    padding-block: clamp(20px, 3vh, 34px) clamp(32px, 4vh, 58px);
  }

  .orientation-hero {
    display: grid;
    min-height: 100vh;
    align-items: stretch;
  }

  .orientation-hero-grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(560px, 1.1fr);
    min-height: 100vh;
    padding-block: clamp(64px, 7vh, 108px);
  }

  .orientation-hero-visual {
    min-height: clamp(500px, 43vw, 690px);
  }

  .study-hero,
  .about-hero-section,
  .student-visa-hero,
  .accommodation-hero,
  .ambassador-hero {
    min-height: 100vh;
  }

  .study-hero-inner,
  .about-hero-grid,
  .student-visa-hero-grid,
  .accommodation-hero-grid,
  .ambassador-hero-inner {
    min-height: 100vh;
  }

  .orientation-trust-grid article {
    padding-inline: clamp(28px, 3.2vw, 48px);
  }
}

@media (max-width: 1199px) {
  .container {
    width: min(100% - 40px, 1040px);
  }

  .header-inner {
    width: min(100% - 40px, 1240px);
    gap: 20px;
  }

  .desktop-nav {
    gap: 18px;
    font-size: 13px;
  }

  .site-header .brand {
    font-size: 20px;
  }

  .nav-tools {
    gap: 10px;
  }

  .login-link {
    font-size: 13px;
  }

  .nav-cta {
    min-height: 38px;
    padding-inline: 16px;
    font-size: 13px;
  }

  .language-button {
    width: 36px;
    height: 36px;
  }

  .search-pill {
    width: 190px;
  }

  .search-pill:focus-within {
    width: 230px;
  }

  .services-mega-panel {
    width: min(100% - 40px, 1040px);
  }

  .explore-mega-panel {
    width: min(100% - 40px, 1040px);
    padding: 30px;
  }

  .explore-mega-panel-simple {
    width: min(100% - 40px, 1040px);
    padding: 14px;
    max-height: min(520px, calc(100vh - var(--header-height) - 24px));
  }

  .explore-mega-simple-grid {
    grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.7fr);
    gap: 12px;
  }

  .explore-mega-intro {
    min-height: 218px;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    gap: 8px;
    padding: 18px;
  }

  .explore-mega-intro h2,
  .explore-mega-intro p,
  .explore-mega-intro-actions {
    grid-column: 1;
  }

  .explore-mega-intro h2 {
    max-width: 10ch;
    font-size: clamp(24px, 2.15vw, 30px);
  }

  .explore-mega-intro p {
    max-width: 28ch;
    font-size: 13px;
    line-height: 1.42;
  }

  .explore-mega-intro-actions {
    grid-row: auto;
    align-self: auto;
    justify-self: start;
    max-width: none;
    margin-top: 4px;
  }

  .explore-mega-primary-action,
  .explore-mega-secondary-action {
    min-height: 38px;
    padding-inline: 12px;
    border-radius: 11px;
    font-size: 13px;
  }

  .explore-mega-destination-grid {
    gap: 12px;
  }

  .explore-destination-card {
    gap: 8px;
    padding: 10px;
    border-radius: 16px;
  }

  .explore-destination-main-link {
    grid-template-columns: 40px minmax(0, 1fr) 16px;
    min-height: 68px;
    gap: 9px;
  }

  .explore-destination-main-link .menu-item-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  .explore-destination-main-link strong {
    font-size: 17px;
  }

  .explore-destination-main-link small {
    margin-top: 2px;
    font-size: 11px;
  }

  .explore-destination-feature-links a {
    min-height: 32px;
    padding: 7px 9px;
    font-size: 12px;
  }

  .explore-mega-utility-row {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 260px);
    gap: 12px;
    margin-top: 12px;
  }

  .explore-mega-panel-simple .explore-quick-paths {
    padding: 12px;
  }

  .explore-mega-panel-simple .explore-quick-paths > div {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .explore-mega-panel-simple .explore-quick-paths a {
    min-height: 48px;
  }

  .explore-guidance-card {
    min-height: 96px;
    padding: 14px;
  }

  .explore-mega-body {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .explore-menu-sidebar {
    min-height: 220px;
  }

  .explore-promo-card {
    min-height: 220px;
  }

  .explore-menu-column {
    padding-inline: 22px;
  }

  .explore-menu-list-link {
    grid-template-columns: 44px minmax(0, 1fr) 16px;
    gap: 14px;
    min-height: 78px;
    padding-block: 14px;
  }

  .explore-quick-paths > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .service-journey-card {
    min-height: 260px;
  }

  .hero-grid {
    grid-template-columns: 1fr minmax(320px, 0.82fr);
    gap: 34px;
  }

  .hero-copy h1 {
    font-size: 46px;
  }

  .sun-disc,
  .student-portrait {
    width: 280px;
  }

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

  .study-card-grid.four-up,
  .study-card-grid.three-up,
  .study-faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .study-city-layout,
  .study-university-layout,
  .study-guide-layout {
    grid-template-columns: 1fr;
  }

  .study-guide-aside {
    position: static;
    display: grid;
    grid-template-columns: minmax(220px, 0.48fr) minmax(0, 1fr);
    align-items: center;
    gap: 24px;
  }

  .study-guide-aside img {
    height: 100%;
    min-height: 260px;
  }

  .about-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.74fr);
    gap: 42px;
  }

  .about-hero-copy h1 {
    font-size: clamp(40px, 5vw, 58px);
  }

  .kb-category-grid,
  .kb-recommended-grid {
    gap: 20px;
  }

  .kb-category-card summary {
    padding-inline: 18px;
    font-size: 16px;
  }

  .kb-category-card ul {
    padding-inline: 18px;
  }

  .about-results-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .orientation-page .container {
    width: min(calc(100% - 40px), 1040px);
  }

  .orientation-hero-grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1fr);
    gap: 38px;
  }

  .orientation-profile-card {
    left: -4px;
  }

  .orientation-value-grid {
    grid-template-columns: minmax(280px, 0.9fr) minmax(220px, 0.55fr) minmax(260px, 0.8fr);
    gap: 24px;
  }

  .orientation-process-step {
    grid-template-columns: minmax(0, 0.96fr) minmax(320px, 0.78fr);
  }
}

@media (max-width: 991px) {
  :root {
    --header-height: 72px;
  }

  .header-inner {
    width: min(100% - 40px, 1240px);
    grid-template-columns: auto 1fr auto;
    gap: 16px;
  }

  .desktop-nav,
  .search-pill {
    display: none;
  }

  .login-link,
  .nav-cta {
    display: none;
  }

  .nav-tools {
    gap: 12px;
    justify-self: end;
  }

  .mobile-header-search-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 14px;
    color: var(--ink);
  }

  .mobile-header-search-link svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .menu-button {
    display: block;
  }

  .mega-menu-layer {
    display: none;
  }

  .mobile-drawer {
    display: grid;
    gap: 22px;
    max-height: 0;
    overflow: hidden;
    background: var(--ink);
    transition: max-height 0.25s ease, padding 0.25s ease;
  }

  .mobile-drawer.is-open {
    max-height: calc(100dvh - var(--header-height));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 24px max(24px, env(safe-area-inset-bottom));
  }

  .mobile-drawer nav {
    display: grid;
    gap: 6px;
  }

  .site-header .header-inner {
    width: min(calc(100vw - 40px), 1240px);
  }

  .mobile-drawer a:not(.button),
  .mobile-drawer .mobile-nav-link {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    border-top: 0;
    border-left: 0;
    border-right: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    cursor: pointer;
    font-weight: 800;
    text-align: left;
  }

  .mobile-menu-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .mobile-menu-toggle::after {
    content: "";
    width: 9px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.2s ease;
  }

  .mobile-menu-toggle.is-open::after {
    transform: rotate(225deg) translate(-1px, -2px);
  }

  .mobile-explore-panel {
    margin-top: 14px;
    padding: 16px;
    border: 1px solid rgba(214, 228, 251, 0.92);
    border-radius: 24px;
    background:
      radial-gradient(circle at 12% 0%, rgba(59, 115, 240, 0.13), transparent 34%),
      linear-gradient(180deg, #f9fbff 0%, #eef6ff 100%);
    color: var(--ink);
    box-shadow: 0 20px 42px rgba(16, 41, 83, 0.16);
  }

  .mobile-explore-overview {
    position: relative;
    display: grid;
    gap: 6px;
    margin-bottom: 14px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(59, 115, 240, 0.16);
    border-radius: 20px;
    background: #fff;
  }

  .mobile-explore-overview::after {
    content: "";
    position: absolute;
    right: -22px;
    bottom: -28px;
    width: 92px;
    height: 92px;
    border-radius: 32px;
    background: linear-gradient(135deg, rgba(59, 115, 240, 0.18), rgba(31, 198, 112, 0.16));
    transform: rotate(12deg);
  }

  .mobile-explore-overview span {
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .mobile-explore-overview strong {
    max-width: 290px;
    color: #17345a;
    font-size: clamp(20px, 5.6vw, 26px);
    line-height: 1.08;
  }

  .mobile-explore-overview small {
    max-width: 300px;
    color: #6f80a0;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
  }

  .mobile-explore-primary-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
  }

  .mobile-drawer .mobile-explore-panel .mobile-explore-primary-card {
    min-height: 116px;
    padding: 12px;
    border: 1px solid rgba(184, 207, 244, 0.9);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    color: #17345a;
    display: grid;
    align-content: space-between;
    gap: 10px;
    text-decoration: none;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
  }

  .mobile-drawer .mobile-explore-panel .mobile-explore-primary-card:hover,
  .mobile-drawer .mobile-explore-panel .mobile-explore-primary-card:focus-visible {
    border-color: rgba(59, 115, 240, 0.55);
    background: #fff;
    box-shadow: 0 14px 28px rgba(59, 115, 240, 0.18);
    transform: translateY(-2px);
  }

  .mobile-explore-primary-card .menu-item-icon {
    width: 42px;
    height: 42px;
    color: #3b73f0;
    background: #eaf2ff;
  }

  .mobile-explore-primary-card strong,
  .mobile-explore-primary-card small {
    display: block;
  }

  .mobile-explore-primary-card strong {
    font-size: 14px;
    line-height: 1.15;
  }

  .mobile-explore-primary-card small {
    margin-top: 3px;
    color: #7687a4;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
  }

  .mobile-explore-section-stack {
    display: grid;
    gap: 10px;
  }

  .mobile-explore-accordion {
    overflow: hidden;
    border: 1px solid rgba(190, 210, 241, 0.9);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.9);
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
  }

  .mobile-explore-accordion[open] {
    border-color: rgba(59, 115, 240, 0.38);
    box-shadow: 0 14px 28px rgba(23, 52, 90, 0.1);
  }

  .mobile-explore-accordion summary {
    min-height: 64px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    list-style: none;
  }

  .mobile-explore-accordion summary::-webkit-details-marker {
    display: none;
  }

  .mobile-explore-accordion summary::after {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 auto;
    border-right: 3px solid #3b73f0;
    border-bottom: 3px solid #3b73f0;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.18s ease;
  }

  .mobile-explore-accordion[open] summary::after {
    transform: rotate(225deg) translate(-1px, -1px);
  }

  .mobile-explore-accordion summary span {
    display: grid;
    gap: 2px;
  }

  .mobile-explore-accordion summary strong {
    color: #17345a;
    font-size: 17px;
    line-height: 1.15;
  }

  .mobile-explore-accordion summary small {
    color: #8090aa;
    font-size: 12px;
    font-weight: 800;
  }

  .mobile-explore-accordion-body {
    padding: 0 14px 14px;
  }

  .mobile-explore-link-list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .mobile-explore-link-list li + li {
    border-top: 1px solid #e5edf8;
  }

  .mobile-drawer .mobile-explore-panel .mobile-explore-list-link {
    min-height: 72px;
    padding: 12px 2px;
    border-bottom: 0;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    color: #17345a;
    text-decoration: none;
    transition: color 0.18s ease, transform 0.18s ease;
  }

  .mobile-explore-list-link .menu-item-icon,
  .mobile-explore-list-link .menu-item-mark,
  .mobile-explore-list-link .menu-item-image {
    width: 46px;
    height: 46px;
    color: #3b73f0;
    background: #edf5ff;
  }

  .mobile-explore-list-link strong,
  .mobile-explore-list-link small {
    display: block;
  }

  .mobile-explore-list-link strong {
    color: #17345a;
    font-size: 16px;
    line-height: 1.18;
  }

  .mobile-explore-list-link small {
    margin-top: 3px;
    color: #7687a4;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
  }

  .mobile-explore-link-arrow {
    color: #99add0;
    font-size: 22px;
    font-weight: 900;
    transition: transform 0.18s ease, color 0.18s ease;
  }

  .mobile-explore-list-link:hover,
  .mobile-explore-list-link:focus-visible {
    color: #3b73f0;
    transform: translateX(2px);
  }

  .mobile-explore-list-link:hover .mobile-explore-link-arrow,
  .mobile-explore-list-link:focus-visible .mobile-explore-link-arrow {
    color: var(--green);
    transform: translateX(3px);
  }

  .mobile-drawer .mobile-explore-panel .mobile-explore-section-cta {
    min-height: 48px;
    margin-top: 8px;
    padding: 0 14px;
    border: 0;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #17345a;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 12px 22px rgba(23, 52, 90, 0.18);
  }

  .mobile-explore-shortcuts {
    margin-top: 14px;
  }

  .mobile-explore-panel .explore-promo-card {
    min-height: 220px;
  }

  .mobile-explore-promo-section {
    margin-top: 18px;
  }

  .mobile-drawer .mobile-explore-panel .explore-promo-card,
  .mobile-drawer .mobile-explore-panel .explore-quick-paths a {
    padding: 0;
    border-bottom: 0;
  }

  .mobile-explore-panel .explore-quick-paths {
    margin-top: 0;
    padding: 14px;
    border: 1px solid rgba(190, 210, 241, 0.9);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
  }

  .mobile-explore-panel .explore-quick-paths > div {
    grid-template-columns: 1fr;
  }

  .mobile-drawer .mobile-explore-panel .explore-quick-paths a {
    padding: 8px;
    color: #17345a;
  }

  .mobile-services-panel {
    padding: 14px 0 8px;
    color: var(--ink);
  }

  .mobile-services-panel .services-mega-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .mobile-services-panel .service-journey-card {
    min-height: 0;
    padding: 20px;
    background: #f8f9fc;
  }

  .mobile-services-panel .phase-card-header {
    grid-template-columns: 38px auto minmax(24px, 1fr);
    gap: 12px;
  }

  .mobile-services-panel .phase-step-badge {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }

  .mobile-services-panel .phase-card-header h3 {
    font-size: 19px;
  }

  .mobile-services-panel .service-journey-card p {
    margin-top: 20px;
    font-size: 15px;
  }

  .mobile-services-panel .phase-card-links a {
    padding: 0;
    border-bottom: 0;
    color: var(--green);
    font-size: 15px;
    text-align: left;
  }

  .mobile-services-panel .phase-card-links a:hover,
  .mobile-services-panel .phase-card-links a:focus-visible {
    color: var(--green-dark);
  }

  .mobile-services-panel .service-card-hit-area {
    padding: 0;
    border-bottom: 0;
  }

  .drawer-cta {
    width: fit-content;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-block: 54px 34px;
  }

  .hero-copy {
    max-width: 720px;
  }

  .hero-visual {
    width: min(100%, 560px);
    min-height: 390px;
    margin-inline: auto;
  }

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

  .three-up,
  .article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .logo-row {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-cta {
    min-height: 160px;
  }

  .footer-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .study-hero-copy h1 {
    font-size: clamp(36px, 6vw, 54px);
  }

  .study-city-feature,
  .study-university-feature {
    grid-template-columns: 1fr;
  }

  .study-city-feature img,
  .study-university-feature > img {
    min-height: 300px;
    aspect-ratio: 16 / 9;
  }

  .kb-category-grid,
  .kb-recommended-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-hero-grid,
  .about-process-step {
    grid-template-columns: 1fr;
  }

  .about-hero-grid {
    min-height: auto;
    padding-block: 68px 92px;
  }

  .about-hero-copy {
    max-width: 760px;
  }

  .about-hero-visual {
    min-height: 320px;
  }

  .about-process-line {
    display: none;
  }

  .about-process-step {
    gap: 28px;
  }

  .about-step-visual {
    min-height: 210px;
  }

  .about-value-grid,
  .about-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .orientation-page .container {
    width: min(calc(100% - 40px), 1040px);
  }

  .orientation-hero-grid {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-block: 64px 74px;
  }

  .orientation-hero-copy {
    max-width: 760px;
  }

  .orientation-hero-visual {
    width: min(100%, 680px);
    margin-inline: auto;
  }

  .orientation-trust-grid {
    grid-template-columns: 1fr;
  }

  .orientation-trust-grid article + article {
    border-top: 1px solid rgba(60, 115, 244, 0.13);
    border-left: 0;
  }

  .orientation-logo-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .orientation-value-section {
    background:
      radial-gradient(circle at 88% 10%, rgba(244, 200, 74, 0.2), transparent 18%),
      var(--blue);
  }

  .orientation-value-grid {
    grid-template-columns: 1fr;
  }

  .orientation-value-visual {
    min-height: 300px;
  }

  .orientation-value-proof {
    text-align: center;
  }

  .orientation-value-proof p {
    margin-inline: auto;
  }

  .orientation-badge-row {
    justify-content: center;
  }

  .orientation-process-step,
  .orientation-process-step.is-reversed {
    grid-template-columns: 1fr;
  }

  .orientation-process-step.is-reversed .orientation-process-copy {
    order: 0;
  }

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

  .orientation-benefits-illustration {
    opacity: 0.28;
  }

  .orientation-review-panel {
    grid-template-columns: 150px minmax(0, 1fr);
  }

  .orientation-review-panel > img {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  :root {
    --header-height: 64px;
  }

  .container {
    width: min(100% - 28px, var(--container));
  }

  .site-header .header-inner {
    width: calc(100vw - 28px);
  }

  .mobile-drawer.is-open {
    padding: 6px 14px max(22px, env(safe-area-inset-bottom));
  }

  .mobile-explore-panel {
    padding: 14px;
    border-radius: 22px;
  }

  .mobile-explore-overview {
    padding: 14px;
    border-radius: 18px;
  }

  .mobile-explore-primary-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mobile-drawer .mobile-explore-panel .mobile-explore-primary-card:first-child {
    grid-column: 1 / -1;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    align-content: center;
    min-height: 82px;
  }

  .mobile-drawer .mobile-explore-panel .mobile-explore-primary-card:first-child span {
    min-width: 0;
  }

  .mobile-explore-primary-card .menu-item-icon {
    width: 40px;
    height: 40px;
  }

  .mobile-explore-accordion summary {
    min-height: 60px;
    padding-inline: 14px;
  }

  .mobile-explore-accordion-body {
    padding-inline: 12px;
  }

  .mobile-drawer .mobile-explore-panel .mobile-explore-list-link {
    grid-template-columns: 44px minmax(0, 1fr) 16px;
    gap: 10px;
  }

  .mobile-explore-list-link .menu-item-icon,
  .mobile-explore-list-link .menu-item-mark,
  .mobile-explore-list-link .menu-item-image {
    width: 42px;
    height: 42px;
  }

  .mobile-explore-panel .explore-promo-card {
    min-height: 190px;
  }

  .section {
    padding-block: 64px;
  }

  .hero-copy h1 {
    font-size: 38px;
  }

  .hero-bullets {
    font-size: 14px;
  }

  .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .hero-actions .button {
    width: 100%;
    min-width: 0;
    height: auto;
    padding-block: 12px;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
  }

  .hero-visual {
    min-height: 340px;
  }

  .architecture-card {
    width: 84%;
    height: 230px;
  }

  .sun-disc,
  .student-portrait {
    width: 238px;
  }

  .floating-note {
    min-width: 82px;
    padding: 10px 12px;
  }

  .note-programs {
    bottom: 48px;
  }

  .note-cities {
    right: 12px;
  }

  .trust-strip,
  .process-grid,
  .testimonial-grid,
  .mobile-services-panel .services-mega-grid,
  .three-up,
  .article-grid,
  .footer-links {
    grid-template-columns: 1fr;
  }

  .trust-strip {
    gap: 6px;
    padding-bottom: 24px;
  }

  .trust-strip article {
    min-height: 54px;
  }

  h2 {
    font-size: 30px;
  }

  .testimonial-card {
    grid-template-columns: 96px 1fr;
  }

  .testimonial-media {
    min-height: 142px;
  }

  .logo-row {
    grid-template-columns: 1fr;
  }

  .card-actions {
    grid-template-columns: 1fr;
  }

  .consultant-photo {
    width: 150px;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .study-section {
    padding-block: 56px;
  }

  .study-section-heading {
    margin-bottom: 28px;
  }

  .study-section-heading.is-left {
    text-align: center;
  }

  .study-hero {
    padding-block: 58px 46px;
  }

  .study-hero-inner {
    gap: 28px;
  }

  .study-hero-copy h1 {
    max-width: 100%;
    font-size: clamp(28px, 8vw, 34px);
  }

  .study-hero-intro {
    font-size: 15px;
  }

  .study-hero-cards,
  .study-card-grid.four-up,
  .study-card-grid.three-up,
  .study-faq-grid {
    grid-template-columns: 1fr;
  }

  .study-hero-card {
    min-height: 230px;
  }

  .study-level-band {
    padding-block: 44px;
  }

  .study-level-options {
    flex-direction: column;
    align-items: stretch;
    width: min(100%, 360px);
  }

  .study-level-options a {
    width: 100%;
  }

  .study-city-feature > div,
  .study-university-feature > div,
  .study-info-card,
  .study-course-card {
    padding: 22px;
  }

  .study-city-row,
  .study-university-row {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
  }

  .study-guide-aside {
    grid-template-columns: 1fr;
  }

  .study-guide-aside img {
    min-height: 0;
  }

  .study-accordion summary,
  .study-faq-category summary {
    padding: 18px;
    font-size: 16px;
  }

  .study-accordion details > div,
  .study-faq-category details > div {
    padding: 0 18px 18px;
  }

  .knowledge-base-page .container {
    width: min(calc(100% - 28px), 1240px);
  }

  .kb-breadcrumb {
    padding-top: 24px;
    font-size: 12px;
  }

  .kb-hero {
    padding-block: 30px 18px;
  }

  .kb-hero h1 {
    font-size: clamp(30px, 8vw, 36px);
  }

  .kb-hero p {
    font-size: 14px;
  }

  .kb-search-section {
    padding-bottom: 26px;
  }

  .kb-search-form {
    min-height: 54px;
    border-radius: 10px;
  }

  .kb-mode-tab-list {
    gap: 26px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .kb-mode-tab-list::-webkit-scrollbar {
    display: none;
  }

  .kb-mode-tab {
    flex: 0 0 auto;
    min-height: 52px;
    font-size: 15px;
  }

  .kb-categories-section {
    padding-block: 30px 54px;
  }

  .kb-category-grid,
  .kb-recommended-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kb-category-card summary {
    min-height: 66px;
    padding: 16px;
    font-size: 16px;
  }

  .kb-category-card ul {
    padding: 10px 16px 18px;
  }

  .kb-category-card li a {
    padding-block: 11px;
  }

  .kb-recommended-section {
    padding-bottom: 64px;
  }

  .kb-recommended-section h2 {
    margin-bottom: 20px;
    font-size: 28px;
  }

  .kb-recommended-card {
    min-height: 0;
    padding: 22px;
  }

  .about-page section[id] {
    scroll-margin-top: calc(var(--header-height) + 70px);
  }

  .about-hero-grid {
    padding-block: 52px 74px;
  }

  .about-hero-copy h1 {
    font-size: clamp(34px, 10vw, 44px);
  }

  .about-hero-copy p {
    font-size: 15px;
  }

  .about-hero-visual {
    min-height: 270px;
  }

  .about-hero-orbit {
    width: min(92%, 300px);
    box-shadow: inset 0 0 0 22px rgba(255, 255, 255, 0.08);
  }

  .about-hero-visual img {
    width: min(78%, 245px);
  }

  .about-anchor-nav {
    margin-top: -26px;
  }

  .about-anchor-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
    min-height: 60px;
    overflow: hidden;
    border-radius: 16px;
  }

  .about-anchor-list a {
    min-width: 0;
  }

  .about-section {
    padding-block: 58px;
  }

  .about-process-section {
    padding-top: 76px;
  }

  .about-process-shell {
    gap: 20px;
  }

  .about-process-step {
    border-radius: 22px;
    padding: 22px;
  }

  .about-step-copy {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
  }

  .about-step-number {
    width: 42px;
    height: 42px;
    font-size: 18px;
    box-shadow: 0 0 0 5px #fff;
  }

  .about-process-step h2 {
    font-size: 22px;
  }

  .about-step-visual {
    min-height: 160px;
  }

  .about-value-grid,
  .about-results-grid,
  .about-team-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .about-value-card {
    min-height: 0;
    padding: 28px 22px;
  }

  .about-cta-inner {
    min-height: 300px;
    padding-block: 70px;
  }

  .about-cta-inner h2 {
    max-width: 620px;
    font-size: clamp(29px, 8vw, 40px);
  }

  .about-cta-portrait {
    width: 44px;
  }

  .portrait-2,
  .portrait-5 {
    display: none;
  }

  .portrait-1 {
    top: 22px;
    left: 8%;
  }

  .portrait-3 {
    top: 24px;
    right: 10%;
  }

  .portrait-4 {
    bottom: 28px;
    left: 10%;
  }

  .portrait-6 {
    right: 9%;
    bottom: 26px;
  }

  .about-result-stat {
    justify-content: center;
    width: 100%;
    max-width: 440px;
    white-space: normal;
    text-align: center;
  }

  .orientation-page .container {
    width: min(calc(100% - 28px), 1240px);
  }

  .orientation-section {
    padding-block: 56px;
  }

  .orientation-hero-grid {
    padding-block: 52px;
  }

  .orientation-hero-copy h1 {
    font-size: clamp(30px, 9vw, 40px);
  }

  .orientation-hero-intro,
  .orientation-value-proof p {
    font-size: 15px;
  }

  .orientation-hero-points li {
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
  }

  .orientation-hero-points .menu-item-icon {
    width: 38px;
    height: 38px;
  }

  .orientation-hero-visual {
    min-height: 0;
    align-items: stretch;
    gap: 14px;
  }

  .orientation-profile-card,
  .orientation-mini-stats {
    position: static;
  }

  .orientation-profile-card {
    width: 100%;
  }

  .orientation-dashboard-card {
    order: -1;
    border-radius: 22px;
    padding: 16px;
  }

  .orientation-dashboard-card img {
    min-height: 190px;
  }

  .orientation-mini-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .orientation-mini-stats span {
    min-width: 0;
  }

  .orientation-trust-grid article {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 22px 18px;
  }

  .orientation-trust-grid .menu-item-icon {
    width: 42px;
    height: 42px;
  }

  .orientation-logo-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .orientation-logo-row span {
    min-height: 74px;
  }

  .orientation-value-section {
    padding-block: 62px;
  }

  .orientation-included-card {
    padding: 24px;
  }

  .orientation-value-visual {
    min-height: 230px;
  }

  .orientation-value-visual > img {
    width: min(100%, 190px);
  }

  .orientation-review-mini {
    right: 50%;
    bottom: 0;
    transform: translateX(50%);
  }

  .orientation-badge-row span {
    min-width: 108px;
  }

  .orientation-process-list {
    gap: 20px;
  }

  .orientation-process-step {
    border-radius: 22px;
    padding: 22px;
  }

  .orientation-step-number {
    width: 44px;
    height: 44px;
    font-size: 18px;
  }

  .orientation-process-copy h3 {
    font-size: 24px;
  }

  .orientation-process-visual {
    padding: 18px;
  }

  .orientation-benefits-illustration {
    display: none;
  }

  .orientation-benefit-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .orientation-benefit-card {
    min-height: 0;
    padding: 28px 22px;
  }

  .orientation-review-panel {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 18px;
    padding: 22px;
  }

  .orientation-faq-tabs {
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: none;
  }

  .orientation-faq-tabs::-webkit-scrollbar {
    display: none;
  }

  .orientation-faq-tab {
    flex: 0 0 auto;
  }

  .orientation-faq-list summary {
    padding: 18px;
    font-size: 15px;
  }

  .orientation-faq-list details > div {
    padding: 0 18px 18px;
  }
}

@media (max-width: 420px) {
  .container {
    width: min(100% - 24px, var(--container));
  }

  .brand {
    font-size: 15px;
  }

  .language-button {
    display: none;
  }

  .hero-copy h1 {
    font-size: 34px;
  }

  .hero-visual {
    min-height: 292px;
  }

  .architecture-card {
    height: 200px;
  }

  .sun-disc,
  .student-portrait {
    width: 200px;
  }

  .student-portrait {
    border-width: 6px;
  }

  .floating-note strong {
    font-size: 18px;
  }

  .testimonial-card {
    grid-template-columns: 1fr;
  }

  .testimonial-media {
    aspect-ratio: 16 / 9;
  }

  .footer-cta h2 {
    font-size: 30px;
  }

  .footer-bottom div {
    flex-direction: column;
    gap: 8px;
  }

  .study-city-row,
  .study-university-row {
    grid-template-columns: 1fr;
  }

  .study-city-row img,
  .study-university-row img {
    aspect-ratio: 16 / 9;
  }

  .study-city-feature h3,
  .study-university-feature h3 {
    font-size: 26px;
  }

  .study-course-actions {
    display: grid;
  }

  .study-course-actions .button {
    width: 100%;
  }

  .knowledge-base-page .container {
    width: min(calc(100% - 24px), 1240px);
  }

  .kb-category-card summary {
    grid-template-columns: 34px minmax(0, 1fr) 18px;
    gap: 11px;
  }

  .kb-category-icon {
    width: 32px;
    height: 32px;
  }

  .kb-recommended-card h3 {
    font-size: 20px;
  }

  .about-step-copy {
    grid-template-columns: 1fr;
  }

  .about-step-number {
    margin-bottom: 2px;
  }

  .about-cta-inner {
    padding-block: 78px;
  }

  .about-cta-inner h2 {
    font-size: 28px;
  }

  .about-result-student {
    padding-inline: 16px;
  }

  .orientation-page .container {
    width: min(calc(100% - 24px), 1240px);
  }

  .orientation-proof-line {
    width: 100%;
    text-align: center;
  }

  .orientation-mini-stats {
    grid-template-columns: 1fr;
  }

  .orientation-logo-row {
    grid-template-columns: 1fr;
  }

  .orientation-review-mini {
    position: static;
    width: 100%;
    transform: none;
  }

  .orientation-badge-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .orientation-badge-row span {
    min-width: 0;
  }

  .orientation-process-copy .button,
  .orientation-included-card .button,
  .orientation-value-proof .button {
    width: 100%;
  }

  .orientation-faq-tab {
    min-height: 40px;
    padding-inline: 14px;
    font-size: 12px;
  }
}

.student-visa-page {
  background: #fff;
}

.student-visa-page .container {
  width: min(calc(100% - 64px), 1500px);
}

.student-visa-page section[id] {
  scroll-margin-top: calc(var(--header-height) + 56px);
}

.student-visa-section {
  padding-block: clamp(72px, 7vw, 104px);
}

.student-visa-hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 83% 18%, rgba(60, 115, 244, 0.14), transparent 30%),
    linear-gradient(180deg, #eef4ff 0%, #f6f9ff 100%);
}

.student-visa-hero-grid {
  min-height: clamp(620px, calc(100vh - var(--header-height)), 780px);
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.8fr);
  align-items: center;
  gap: clamp(52px, 8vw, 110px);
  padding-block: clamp(72px, 9vh, 112px);
}

.student-visa-hero-copy {
  max-width: 620px;
}

.student-visa-hero-copy h1 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(44px, 5vw, 68px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: 0;
}

.student-visa-hero-copy p {
  max-width: 600px;
  margin: 22px 0 0;
  color: #4f5d75;
  font-size: clamp(16px, 1.2vw, 18px);
  font-weight: 650;
  line-height: 1.72;
}

.student-visa-hero-copy .student-visa-proof-line {
  color: var(--navy);
  font-weight: 900;
}

.student-visa-hero-copy .button {
  margin-top: 28px;
  padding-inline: 30px;
}

.student-visa-hero-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 460px;
}

.student-visa-blob {
  position: absolute;
  inset: 6% 2% 4% 2%;
  border-radius: 58% 42% 52% 48% / 44% 55% 45% 56%;
  background: linear-gradient(135deg, #dfeaff, #f6fbff);
  box-shadow: inset 0 0 0 1px rgba(60, 115, 244, 0.1);
}

.student-visa-hero-visual img {
  position: relative;
  width: min(100%, 430px);
  aspect-ratio: 1;
  border-radius: 58% 42% 52% 48% / 44% 55% 45% 56%;
  object-fit: cover;
  box-shadow: 0 26px 60px rgba(28, 46, 92, 0.14);
}

.student-visa-benefits-section,
.student-visa-offer-section {
  background: #fff;
}

.student-visa-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.student-visa-benefit-card {
  min-height: 360px;
  display: grid;
  align-content: start;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  padding: 34px 30px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.045);
}

.student-visa-icon-wrap {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #f0f7ff;
}

.student-visa-icon-wrap img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.student-visa-benefit-card h3 {
  margin: 14px 0 0;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.25;
}

.student-visa-benefit-card p {
  margin: 0;
  color: #4e5b70;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.72;
}

.student-visa-centered-eyebrow {
  margin-bottom: 28px;
  text-align: center;
}

.student-visa-offer-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.86fr) minmax(0, 1.38fr);
  align-items: stretch;
  gap: 30px;
  max-width: 980px;
  margin-inline: auto;
}

.student-visa-expert-card,
.student-visa-included-card {
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
}

.student-visa-expert-card {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 18px;
  border: 1px solid var(--line);
  background: #fff;
  padding: 32px;
  text-align: center;
}

.student-visa-expert-image {
  position: relative;
  width: min(100%, 220px);
  display: grid;
  place-items: center;
}

.student-visa-expert-image img {
  width: 190px;
  height: 190px;
  object-fit: contain;
}

.student-visa-expert-image span {
  position: absolute;
  right: 6px;
  bottom: 24px;
  border: 1px solid rgba(60, 115, 244, 0.16);
  border-radius: 999px;
  background: #fff;
  color: #4b5871;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.student-visa-expert-card h2 {
  max-width: 230px;
  margin: 0;
  color: var(--navy);
  font-size: 24px;
  line-height: 1.16;
}

.student-visa-expert-card .button {
  width: min(100%, 240px);
}

.student-visa-included-card {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 12%, rgba(255, 255, 255, 0.2), transparent 24%),
    linear-gradient(135deg, #3c73f4 0%, #3572f7 100%);
  color: #fff;
  padding: clamp(34px, 5vw, 54px);
}

.student-visa-included-icon {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.14);
  padding: 12px;
}

.student-visa-included-card h2 {
  margin: 22px 0 0;
  color: #fff;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.05;
}

.student-visa-included-card p {
  margin: 5px 0 22px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
  font-weight: 800;
}

.student-visa-included-card ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.student-visa-included-card li {
  position: relative;
  padding-left: 28px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}

.student-visa-included-card li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background:
    linear-gradient(#fff, #fff) center / 8px 2px no-repeat,
    linear-gradient(#fff, #fff) center / 2px 8px no-repeat,
    rgba(255, 255, 255, 0.22);
  transform: rotate(45deg);
}

.student-health-insurance-page .student-visa-included-card li:last-child {
  color: #ffd166;
}

.student-health-insurance-page .student-visa-included-card li::before {
  content: "✓";
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  transform: none;
}

.nie-tie-page .student-visa-included-card li::before {
  content: "✓";
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  transform: none;
}

.student-visa-resources-section {
  background: #0f172a;
}

.student-visa-resource-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.student-visa-resource-tile {
  position: relative;
  isolation: isolate;
  min-height: clamp(320px, 30vw, 460px);
  display: grid;
  align-items: end;
  overflow: hidden;
  color: #fff;
}

.student-visa-resource-tile img,
.student-visa-resource-overlay {
  position: absolute;
  inset: 0;
}

.student-visa-resource-tile img {
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.student-visa-resource-overlay {
  z-index: -1;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.18), rgba(15, 23, 42, 0.68));
}

.student-visa-resource-copy {
  display: grid;
  justify-items: center;
  gap: 18px;
  padding: 42px;
  text-align: center;
}

.student-visa-resource-copy strong {
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.08;
}

.student-visa-resource-copy em {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  padding-inline: 20px;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.student-visa-resource-tile:hover img {
  transform: scale(1.035);
}

.student-visa-testimonials-section {
  background: #f3f7ff;
}

.student-visa-testimonials-inner {
  max-width: 1000px;
}

.student-visa-testimonial-shell {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  align-items: center;
  gap: 28px;
}

.student-visa-testimonial-card {
  min-height: 250px;
  display: grid;
  place-items: center;
  gap: 22px;
  border: 1px solid #dce8f2;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #e9fff5 100%);
  padding: clamp(32px, 6vw, 64px);
  text-align: center;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.05);
}

.student-visa-testimonial-card p {
  max-width: 640px;
  margin: 0;
  color: #344158;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.8;
}

.student-visa-testimonial-card strong {
  color: var(--navy);
  font-size: 15px;
  font-weight: 900;
}

.nie-tie-testimonial-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 900;
  line-height: 1.2;
}

.nie-tie-testimonial-card span {
  color: #3b73f0;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.student-visa-testimonial-arrow {
  width: 52px;
  height: 52px;
  border: 1px solid #deebf8;
  border-radius: 50%;
  background: #fff;
  color: #9aa8bc;
  cursor: default;
  font-size: 20px;
  font-weight: 900;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
}

.student-visa-faq-section {
  background: #fff;
}

.student-visa-faq-list {
  max-width: 900px;
  margin-inline: auto;
}

.accommodation-page {
  overflow-x: clip;
  background: #fff;
}

.accommodation-page .container {
  width: min(calc(100% - 64px), 1500px);
}

.accommodation-page section[id] {
  scroll-margin-top: calc(var(--header-height) + 56px);
}

.accommodation-section {
  padding-block: clamp(72px, 7vw, 112px);
}

.accommodation-hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 14%, rgba(60, 115, 244, 0.12), transparent 30%),
    linear-gradient(180deg, #f6f9ff 0%, #fff 100%);
}

.accommodation-hero-grid {
  min-height: clamp(620px, calc(100vh - var(--header-height)), 760px);
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.78fr);
  align-items: center;
  gap: clamp(48px, 8vw, 112px);
  padding-block: clamp(70px, 9vh, 112px);
}

.accommodation-hero-copy {
  max-width: 620px;
}

.accommodation-hero-copy h1 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(44px, 5vw, 68px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: 0;
}

.accommodation-hero-copy p {
  margin: 22px 0 0;
  color: #4f5d75;
  font-size: clamp(16px, 1.2vw, 18px);
  font-weight: 650;
  line-height: 1.72;
}

.accommodation-hero-copy .accommodation-code-note {
  color: var(--navy);
  font-weight: 850;
}

.accommodation-hero-copy .button {
  margin-top: 28px;
  padding-inline: 30px;
}

.accommodation-hero-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 460px;
}

.accommodation-hero-shape {
  position: absolute;
  inset: 4% 4% 8% 0;
  border-radius: 44% 56% 55% 45% / 38% 46% 54% 62%;
  background: #dcedff;
  box-shadow: inset 0 0 0 1px rgba(60, 115, 244, 0.12);
}

.accommodation-hero-visual img {
  position: relative;
  width: min(100%, 440px);
  aspect-ratio: 1;
  border-radius: 44% 56% 55% 45% / 38% 46% 54% 62%;
  object-fit: cover;
  box-shadow: 0 26px 60px rgba(28, 46, 92, 0.14);
}

.accommodation-offers-section,
.accommodation-types-section {
  background: #fff;
}

.accommodation-offer-list {
  display: grid;
  gap: clamp(42px, 6vw, 76px);
  margin-top: 36px;
}

.accommodation-offer-row {
  display: grid;
  grid-template-columns: minmax(280px, 0.92fr) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(28px, 5vw, 56px);
}

.accommodation-promo-card,
.accommodation-offer-copy {
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
}

.accommodation-promo-card {
  display: grid;
  gap: 16px;
  border: 1px solid rgba(60, 115, 244, 0.22);
  background: linear-gradient(180deg, #3d78ff 0%, #316bea 100%);
  padding: 20px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.accommodation-promo-card:hover,
.accommodation-promo-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 24px 55px rgba(49, 107, 234, 0.18);
}

.accommodation-promo-card img {
  width: 100%;
  aspect-ratio: 1.54;
  border-radius: 14px;
  object-fit: cover;
}

.accommodation-promo-card strong {
  color: #fff;
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 900;
  line-height: 1.08;
}

.accommodation-promo-card span {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--green);
  color: #fff;
  padding-inline: 18px;
  font-size: 13px;
  font-weight: 900;
}

.accommodation-offer-copy {
  display: grid;
  align-content: start;
  gap: 18px;
  border: 1px solid var(--line);
  background: #fff;
  padding: clamp(28px, 4vw, 42px);
}

.accommodation-partner-logo {
  width: min(100%, 210px);
  max-height: 72px;
  object-fit: contain;
  object-position: left center;
}

.accommodation-offer-copy p {
  margin: 0;
  color: #344158;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.7;
}

.accommodation-offer-copy ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.accommodation-offer-copy li {
  position: relative;
  padding-left: 22px;
  color: #4f5d75;
  font-size: 14px;
  font-weight: 800;
}

.accommodation-offer-copy li::before {
  content: "";
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
}

.accommodation-text-link {
  color: var(--green-dark);
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
}

.accommodation-cities-section,
.accommodation-lead-section {
  background: #f6f9ff;
}

.accommodation-tabs {
  display: flex;
  justify-content: center;
  margin: 30px 0 28px;
}

.accommodation-tabs span {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-bottom: 3px solid var(--green);
  color: var(--navy);
  padding-inline: 28px;
  font-size: 13px;
  font-weight: 900;
}

.accommodation-city-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(310px, 1fr);
  gap: 24px;
  overflow-x: auto;
  padding: 8px 2px 18px;
  scroll-snap-type: x mandatory;
}

.accommodation-city-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  scroll-snap-align: start;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.055);
}

.accommodation-city-card img {
  width: 100%;
  aspect-ratio: 1.72;
  object-fit: cover;
}

.accommodation-city-arrow {
  position: absolute;
  top: calc((100vw / 20) + 112px);
  right: 16px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-weight: 900;
  transform: translateY(-50%);
  box-shadow: 0 12px 24px rgba(32, 195, 90, 0.22);
}

.accommodation-city-body {
  padding: 22px;
}

.accommodation-city-body h3 {
  margin: 0 0 16px;
  color: var(--navy);
  font-size: 21px;
}

.accommodation-city-body dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.accommodation-city-body dl div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.accommodation-city-body dt,
.accommodation-city-body dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
}

.accommodation-city-body dt {
  color: #7a8497;
  font-weight: 750;
}

.accommodation-city-body dd {
  color: var(--navy);
  font-weight: 900;
  text-align: right;
}

.accommodation-city-actions {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr);
  align-items: center;
  gap: 22px;
  margin-top: 22px;
}

.accommodation-city-actions .button-primary {
  justify-self: center;
}

.accommodation-all-cities-link {
  justify-self: end;
}

.accommodation-slider-dots {
  display: flex;
  align-items: center;
  gap: 9px;
  justify-self: start;
  position: relative;
  z-index: 2;
}

.accommodation-slider-dots button {
  width: 32px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  padding: 0;
  cursor: pointer;
  transition: transform 0.18s ease;
}

.accommodation-slider-dots button::after {
  content: "";
  width: 13px;
  height: 13px;
  border-radius: 4px;
  background: #dce3ef;
  transition: width 0.18s ease, background 0.18s ease;
}

.accommodation-slider-dots button:hover,
.accommodation-slider-dots button:focus-visible {
  transform: translateY(-1px);
}

.accommodation-slider-dots button:hover::after,
.accommodation-slider-dots button:focus-visible::after {
  background: #b9c7dc;
}

.accommodation-slider-dots button:focus-visible {
  outline: 3px solid rgba(32, 195, 90, 0.18);
  outline-offset: 4px;
}

.accommodation-slider-dots button.is-active::after {
  width: 30px;
  background: var(--green);
}

.accommodation-types-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 26px;
  margin-top: 36px;
}

.accommodation-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  margin-top: 36px;
}

.accommodation-type-card {
  grid-column: span 2;
}

.accommodation-type-card:nth-child(4) {
  grid-column: 2 / span 2;
}

.accommodation-type-card:nth-child(5) {
  grid-column: 4 / span 2;
}

.accommodation-type-card,
.accommodation-benefit-card {
  display: grid;
  align-content: start;
  gap: 17px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  padding: 30px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.045);
}

.accommodation-type-card span,
.accommodation-benefit-card span {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #f0f7ff;
}

.accommodation-type-card img,
.accommodation-benefit-card img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.accommodation-type-card:nth-child(5) span {
  background: linear-gradient(135deg, #3b73f0 0%, #22c55e 100%);
}

.accommodation-type-card:nth-child(5) img {
  opacity: 1;
}

.accommodation-type-card h3,
.accommodation-benefit-card h3 {
  margin: 8px 0 0;
  color: var(--navy);
  font-size: 21px;
  line-height: 1.22;
}

.accommodation-type-card p,
.accommodation-benefit-card p {
  margin: 0;
  color: #4e5b70;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.72;
}

.accommodation-types-cta {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}

.accommodation-benefits-section {
  background: #fff;
}

.accommodation-lead-inner {
  max-width: 1040px;
}

.accommodation-lead-form {
  display: grid;
  gap: 28px;
  border: 1px solid #dfe8f4;
  border-radius: 26px;
  background: #fff;
  padding: clamp(24px, 4vw, 42px);
  box-shadow: 0 22px 56px rgba(15, 23, 42, 0.08);
}

.accommodation-form-steps {
  display: grid;
  gap: 22px;
}

.accommodation-form-step {
  border: 1px solid #e3eaf4;
  border-radius: 20px;
  background: #fbfdff;
  padding: 24px;
}

.accommodation-form-step-heading {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
}

.accommodation-form-step-heading > span {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #e8f0ff;
  color: #3b73f0;
  font-weight: 900;
}

.accommodation-form-step-heading h3 {
  margin: 0;
  color: var(--navy);
  font-size: 22px;
}

.accommodation-form-step-heading p {
  margin: 5px 0 0;
  color: #66748a;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.accommodation-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.accommodation-field-grid label {
  display: grid;
  gap: 8px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.accommodation-field-grid input,
.accommodation-field-grid select {
  width: 100%;
  min-height: 52px;
  border: 1px solid #dce5f2;
  border-radius: 14px;
  background: #fff;
  color: #334155;
  padding-inline: 14px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
}

.accommodation-field-grid input:focus,
.accommodation-field-grid select:focus {
  outline: 3px solid rgba(32, 195, 90, 0.18);
  border-color: rgba(32, 195, 90, 0.58);
}

.accommodation-lead-form > .button {
  justify-self: center;
  min-width: min(100%, 280px);
}

@media (max-width: 1199px) {
  .application-page .container {
    width: min(calc(100% - 40px), 1040px);
  }

  .application-hero-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1fr);
    gap: 42px;
  }

  .application-feature-row {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .application-feature-item {
    grid-column: span 2;
  }

  .application-feature-item:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .application-feature-item:nth-child(5) {
    grid-column: 4 / span 2;
  }

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

  .application-process-layout {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 28px;
    margin-top: 0;
  }

  .application-process-nav {
    position: sticky;
    top: calc(var(--header-height) + 24px);
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 14px;
    min-height: 0;
    margin: 0;
    padding-block: 8px;
  }

  .application-process-nav::before {
    top: 28px;
    right: auto;
    bottom: 28px;
    left: 29px;
    width: 3px;
    height: auto;
    background: linear-gradient(180deg, #8fb0ff, #a59cff 28%, #65d79b 54%, #f0b35a 78%, #8fb0ff);
  }

  .application-process-nav a {
    grid-template-columns: 34px minmax(0, 1fr);
    justify-items: stretch;
    align-content: center;
    min-height: 0;
    border-color: rgba(60, 115, 244, 0.1);
    background: rgba(255, 255, 255, 0.86);
    padding: 12px 14px;
    text-align: left;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
  }

  .application-process-nav a:hover {
    background: var(--phase-soft);
  }

  .application-process-nav span {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    font-size: inherit;
    margin-bottom: 0;
  }

  .application-process-card {
    grid-template-columns: minmax(230px, 0.76fr) minmax(0, 1fr);
  }

  .application-process-card.is-reversed .application-process-media,
  .application-process-card.is-reversed .application-process-copy,
  .application-process-card.is-reversed .application-included-list {
    order: initial;
  }

  .application-included-list {
    grid-column: 1 / -1;
  }
}

@media (max-width: 991px) {
  .application-hero {
    min-height: auto;
  }

  .application-hero-grid {
    min-height: auto;
    grid-template-columns: 1fr;
    padding-block: 68px 80px;
  }

  .application-hero-visual {
    min-height: 460px;
    width: min(100%, 690px);
    margin-inline: auto;
  }

  .application-founder-card,
  .application-pricing-grid,
  .application-upsell-card {
    grid-template-columns: 1fr;
  }

  .application-pricing-section {
    background: var(--blue);
  }

  .application-pricing-visual {
    order: -1;
  }

  .application-pricing-proof {
    text-align: center;
  }

  .application-pricing-proof .orientation-badge-row {
    justify-content: center;
  }

  .application-process-layout {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: -12px;
  }

  .application-process-nav {
    position: relative;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: start;
    gap: 14px;
    min-height: 126px;
    margin: 6px 0 20px;
    padding: 8px 0 24px;
  }

  .application-process-nav::before {
    top: 32px;
    right: 8%;
    bottom: auto;
    left: 8%;
    width: auto;
    height: 3px;
    background: linear-gradient(90deg, #8fb0ff, #a59cff 28%, #65d79b 54%, #f0b35a 78%, #8fb0ff);
  }

  .application-process-nav a {
    grid-template-columns: 1fr;
    justify-items: center;
    align-content: start;
    min-height: 108px;
    border-color: transparent;
    background: transparent;
    padding: 0 4px;
    text-align: center;
    box-shadow: none;
  }

  .application-process-nav a:hover {
    background: transparent;
  }

  .application-process-nav span {
    width: 46px;
    height: 46px;
    border-radius: 18px;
    font-size: 20px;
    margin-bottom: 4px;
  }
}

@media (max-width: 767px) {
  .application-page .container {
    width: min(calc(100% - 28px), 1240px);
  }

  .application-section {
    padding-block: 56px;
  }

  .application-hero-grid {
    padding-block: 54px 62px;
  }

  .application-hero-copy h1 {
    font-size: clamp(31px, 9vw, 42px);
  }

  .application-hero-copy p {
    font-size: 15px;
  }

  .application-hero-copy .button {
    width: 100%;
  }

  .application-hero-visual {
    min-height: 510px;
  }

  .application-hero-orbit {
    inset: 6px 34% 6px 9%;
  }

  .application-brand-token {
    left: -14px;
    width: 62px;
    height: 62px;
    border-radius: 20px;
    font-size: 28px;
  }

  .application-hero-label {
    min-width: min(82vw, 260px);
    right: 0;
    font-size: 13px;
  }

  .application-hero-label-1 {
    top: 2%;
  }

  .application-hero-label-2 {
    top: 22%;
  }

  .application-hero-label-3 {
    top: 42%;
  }

  .application-hero-label-4 {
    top: 62%;
  }

  .application-hero-label-5 {
    top: auto;
    bottom: 2%;
  }

  .application-feature-row,
  .application-trust-grid {
    grid-template-columns: 1fr;
  }

  .application-feature-item {
    min-height: 0;
    grid-column: auto;
    grid-template-columns: 52px minmax(0, 1fr);
    justify-items: start;
    text-align: left;
  }

  .application-feature-item:nth-child(4),
  .application-feature-item:nth-child(5) {
    grid-column: auto;
  }

  .application-feature-item img {
    width: 58px;
    height: 58px;
  }

  .application-trust-item img {
    width: 112px;
    height: 112px;
  }

  .application-founder-card {
    padding: 16px;
    border-radius: 22px;
  }

  .application-founder-media {
    min-height: 230px;
  }

  .application-process-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(82px, 1fr));
    gap: 10px;
    min-height: 142px;
    margin: 0 0 20px;
    overflow-x: auto;
    padding: 8px 4px 30px;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
  }

  .application-process-nav::-webkit-scrollbar {
    display: none;
  }

  .application-process-nav a {
    min-width: 0;
    min-height: 124px;
    scroll-snap-align: center;
    font-size: 13px;
    line-height: 1.25;
  }

  .application-process-nav::before {
    top: 31px;
    right: 44px;
    left: 44px;
  }

  .application-process-nav span {
    width: 44px;
    height: 44px;
    border-radius: 17px;
    font-size: 19px;
  }

  .application-process-layout {
    gap: 14px;
    margin-top: -24px;
  }

  .application-process-card {
    grid-template-columns: 1fr;
    border-radius: 22px;
    padding: 22px;
  }

  .application-process-media {
    min-height: 200px;
    padding: 12px;
  }

  .application-process-media img {
    max-height: 210px;
  }

  .application-founder-copy .button {
    width: 100%;
  }

  .application-price-header {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .application-pricing-section {
    padding-block: 62px;
  }

  .application-upsell-card {
    text-align: center;
  }

  .application-upsell-card > img {
    justify-self: center;
  }

  .application-upsell-card li {
    grid-template-columns: 40px minmax(0, 1fr);
    text-align: left;
  }

  .application-upsell-card .menu-item-icon {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 420px) {
  .application-page .container {
    width: min(calc(100% - 24px), 1240px);
  }

  .application-hero-visual {
    min-height: 470px;
  }

  .application-hero-label {
    min-width: 0;
    width: calc(100% - 56px);
    padding-inline: 14px;
  }

  .application-feature-item,
  .application-trust-item,
  .application-price-card,
  .application-included-list,
  .application-upsell-card {
    border-radius: 20px;
  }

  .application-price-card .button,
  .application-pricing-proof .button,
  .application-upsell-card .button {
    width: 100%;
  }
}

@media (max-width: 1199px) {
  .student-visa-page .container {
    width: min(calc(100% - 40px), 1040px);
  }

  .student-visa-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.82fr);
    gap: 42px;
  }

  .student-visa-benefit-grid {
    gap: 20px;
  }

  .student-visa-benefit-card {
    padding: 28px 24px;
  }
}

@media (max-width: 991px) {
  .student-visa-hero-grid,
  .student-visa-offer-grid {
    grid-template-columns: 1fr;
  }

  .student-visa-hero-grid {
    min-height: auto;
    padding-block: 72px;
  }

  .student-visa-hero-copy {
    max-width: 760px;
    text-align: center;
    justify-self: center;
  }

  .student-visa-hero-copy p {
    margin-inline: auto;
  }

  .student-visa-hero-visual {
    min-height: 380px;
  }

  .student-visa-benefit-grid {
    grid-template-columns: 1fr;
  }

  .student-visa-benefit-card {
    min-height: 0;
  }

  .student-visa-offer-grid {
    max-width: 720px;
  }
}

@media (max-width: 767px) {
  .student-visa-page .container {
    width: min(calc(100% - 28px), 1240px);
  }

  .student-visa-section {
    padding-block: 56px;
  }

  .student-visa-hero-grid {
    padding-block: 52px 60px;
  }

  .student-visa-hero-copy h1 {
    font-size: clamp(31px, 10vw, 42px);
  }

  .student-visa-hero-copy .button,
  .student-visa-expert-card .button {
    width: 100%;
  }

  .student-visa-hero-visual {
    min-height: 320px;
  }

  .student-visa-hero-visual img {
    width: min(100%, 310px);
  }

  .student-visa-benefit-card,
  .student-visa-expert-card,
  .student-visa-included-card {
    border-radius: 20px;
  }

  .student-visa-benefit-card {
    padding: 24px 22px;
  }

  .student-visa-offer-grid {
    gap: 18px;
  }

  .student-visa-included-card {
    padding: 28px 22px;
  }

  .student-visa-resource-grid {
    grid-template-columns: 1fr;
  }

  .student-visa-resource-tile {
    min-height: 300px;
  }

  .student-visa-resource-copy {
    padding: 32px 22px;
  }

  .student-visa-testimonial-shell {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .student-visa-testimonial-arrow {
    display: none;
  }

  .student-visa-testimonial-card {
    min-height: 0;
    padding: 30px 22px;
  }
}

@media (max-width: 1199px) {
  .accommodation-page .container {
    width: min(calc(100% - 40px), 1040px);
  }

  .accommodation-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.78fr);
    gap: 44px;
  }

  .accommodation-types-grid,
  .accommodation-benefit-grid {
    gap: 20px;
  }
}

@media (max-width: 991px) {
  .accommodation-hero-grid,
  .accommodation-offer-row {
    grid-template-columns: 1fr;
  }

  .accommodation-hero-grid {
    min-height: auto;
    padding-block: 72px;
  }

  .accommodation-hero-copy {
    max-width: 760px;
    justify-self: center;
    text-align: center;
  }

  .accommodation-hero-visual {
    min-height: 380px;
  }

  .accommodation-offer-row {
    max-width: 760px;
    margin-inline: auto;
  }

  .accommodation-types-grid,
  .accommodation-benefit-grid {
    grid-template-columns: 1fr 1fr;
  }

  .accommodation-type-card,
  .accommodation-type-card:nth-child(4),
  .accommodation-type-card:nth-child(5) {
    grid-column: auto;
  }

  .accommodation-city-actions {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .accommodation-slider-dots,
  .accommodation-all-cities-link {
    justify-self: center;
  }
}

@media (max-width: 767px) {
  .accommodation-page .container {
    width: min(calc(100% - 28px), 1240px);
  }

  .accommodation-section {
    padding-block: 56px;
  }

  .accommodation-hero-grid {
    padding-block: 52px 60px;
  }

  .accommodation-hero-copy h1 {
    font-size: clamp(31px, 10vw, 42px);
  }

  .accommodation-hero-copy .button,
  .accommodation-city-actions .button,
  .accommodation-types-cta .button,
  .accommodation-lead-form > .button {
    width: 100%;
  }

  .accommodation-hero-visual {
    min-height: 320px;
  }

  .accommodation-hero-visual img {
    width: min(100%, 310px);
  }

  .accommodation-promo-card,
  .accommodation-offer-copy,
  .accommodation-type-card,
  .accommodation-benefit-card,
  .accommodation-lead-form,
  .accommodation-form-step {
    border-radius: 20px;
  }

  .accommodation-promo-card,
  .accommodation-offer-copy,
  .accommodation-type-card,
  .accommodation-benefit-card,
  .accommodation-form-step {
    padding: 22px;
  }

  .accommodation-city-rail {
    grid-auto-columns: minmax(260px, 84vw);
    gap: 16px;
  }

  .accommodation-city-arrow {
    top: 150px;
  }

  .accommodation-types-grid,
  .accommodation-benefit-grid,
  .accommodation-field-grid {
    grid-template-columns: 1fr;
  }

  .accommodation-lead-form {
    padding: 18px;
  }
}

.student-ambassador-page {
  overflow-x: clip;
  background: #fff;
}

.student-ambassador-page .container {
  width: min(calc(100% - 64px), 1500px);
}

.student-ambassador-page section[id] {
  scroll-margin-top: calc(var(--header-height) + 56px);
}

.ambassador-section {
  padding-block: clamp(72px, 7vw, 104px);
}

.ambassador-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 6%, rgba(143, 190, 255, 0.34) 0 12%, transparent 12.3%),
    radial-gradient(circle at 31% 102%, rgba(29, 91, 255, 0.4) 0 24%, transparent 24.4%),
    linear-gradient(135deg, #4b91ff 0%, #2f74ff 54%, #2468f2 100%);
  color: #fff;
}

.ambassador-hero::before,
.ambassador-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}

.ambassador-hero::before {
  width: clamp(360px, 44vw, 760px);
  height: clamp(360px, 44vw, 760px);
  right: -12%;
  top: -18%;
  border: 2px solid rgba(255, 255, 255, 0.08);
  background: rgba(21, 93, 244, 0.34);
}

.ambassador-hero::after {
  width: clamp(420px, 50vw, 880px);
  height: clamp(420px, 50vw, 880px);
  left: 16%;
  bottom: -62%;
  background: rgba(26, 83, 229, 0.26);
}

.ambassador-hero-inner {
  position: relative;
  min-height: clamp(480px, 46vw, 620px);
  display: grid;
  align-items: center;
  padding-block: clamp(82px, 10vw, 132px);
}

.ambassador-hero-inner::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 4%;
  top: 14%;
  width: clamp(160px, 18vw, 280px);
  height: clamp(160px, 18vw, 280px);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}

.ambassador-hero-copy {
  max-width: 620px;
}

.ambassador-hero-copy h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(44px, 5vw, 68px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: 0;
}

.ambassador-hero-copy p {
  max-width: 580px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(16px, 1.2vw, 18px);
  font-weight: 800;
  line-height: 1.68;
}

.ambassador-hero-copy .button {
  margin-top: 28px;
  min-height: 52px;
  padding-inline: 30px;
}

.ambassador-feature-section {
  background: #fff;
  padding-block: clamp(56px, 5.8vw, 82px);
}

.ambassador-feature-heading {
  max-width: 880px;
  margin: 0 auto 34px;
  color: var(--navy);
  font-size: clamp(26px, 2.8vw, 38px);
  font-weight: 900;
  line-height: 1.18;
  text-align: center;
}

.ambassador-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 44px);
  align-items: start;
}

.ambassador-feature-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  color: #24314c;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
}

.ambassador-feature-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
}

.ambassador-feature-icon img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}

.ambassador-process-section {
  background: #fff;
  padding-top: clamp(28px, 4vw, 52px);
}

.ambassador-process-inner {
  max-width: 850px;
  text-align: center;
}

.ambassador-process-intro {
  max-width: 790px;
  margin: 0 auto 18px;
  color: #2f3c55;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.55;
}

.ambassador-process-inner h2 {
  margin: 0;
  color: #2a2f3b;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 900;
  line-height: 1.14;
  letter-spacing: 0;
}

.ambassador-step-list {
  position: relative;
  display: grid;
  gap: 22px;
  max-width: 560px;
  margin: 48px auto 34px;
  padding: 0;
  list-style: none;
  text-align: left;
}

.ambassador-step-list::before {
  content: "";
  position: absolute;
  top: 22px;
  bottom: 22px;
  left: 22px;
  width: 2px;
  background: linear-gradient(180deg, rgba(32, 195, 90, 0.28), rgba(32, 195, 90, 0.7), rgba(32, 195, 90, 0.28));
}

.ambassador-step {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 18px;
}

.ambassador-step-number {
  position: relative;
  z-index: 1;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(32, 195, 90, 0.48);
  border-radius: 50%;
  background: #fff;
  color: var(--green-dark);
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 0 0 8px #fff;
}

.ambassador-step h3 {
  margin: 0;
  color: #2b3449;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.28;
}

.ambassador-step p {
  margin: 5px 0 0;
  color: #526074;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
}

.ambassador-process-inner .button {
  min-height: 52px;
  padding-inline: 34px;
}

.ambassador-faq-section {
  background: #fff;
  padding-top: clamp(48px, 5vw, 76px);
}

.ambassador-faq-list {
  max-width: 900px;
  margin-inline: auto;
}

.ambassador-faq-list details {
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

.ambassador-faq-list summary {
  color: var(--blue);
  font-size: 17px;
}

.ambassador-faq-list details > div {
  padding-right: clamp(24px, 5vw, 58px);
}

.ambassador-faq-list p {
  color: #30394d;
  font-size: 15px;
  font-weight: 650;
}

.auth-login-page {
  min-height: 100svh;
  background: #fff;
  color: var(--ink);
}

.auth-shell {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(420px, 45%) minmax(0, 55%);
  overflow: hidden;
  background: #fff;
}

.auth-panel {
  min-height: 100svh;
  display: grid;
  align-items: center;
  padding: clamp(32px, 4.5vw, 64px);
  background: #fff;
}

.auth-panel-inner {
  width: min(100%, 520px);
  margin-inline: auto;
}

.auth-logo {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: clamp(32px, 5vh, 48px);
  color: var(--blue);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
}

.auth-logo-mark {
  position: relative;
  width: 42px;
  height: 42px;
  border: 5px solid #58ca8a;
  border-radius: 14px 14px 14px 4px;
  overflow: hidden;
}

.auth-logo-mark::before {
  content: "";
  position: absolute;
  inset: 9px 6px 11px 6px;
  border: 5px solid var(--blue);
  border-left: 0;
  border-radius: 999px;
  transform: rotate(-24deg);
}

.auth-logo-text {
  font-size: clamp(31px, 2.7vw, 38px);
}

.auth-panel h1 {
  margin: 0 0 clamp(24px, 3vw, 32px);
  color: #080b12;
  font-size: clamp(32px, 3.25vw, 42px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: 0;
}

.auth-form {
  display: grid;
  gap: 0;
}

.auth-provider-list {
  display: grid;
  gap: 16px;
}

.auth-provider-button,
.auth-email-toggle {
  position: relative;
  width: 100%;
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border: 1px solid #cfd4dc;
  border-radius: 8px;
  background: #fff;
  color: #696f79;
  font-size: clamp(18px, 1.45vw, 23px);
  font-weight: 800;
  line-height: 1.1;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.auth-provider-button:hover,
.auth-provider-button:focus-visible,
.auth-email-toggle:hover,
.auth-email-toggle:focus-visible {
  border-color: rgba(60, 115, 244, 0.48);
  color: var(--ink);
  box-shadow: 0 14px 30px rgba(17, 24, 39, 0.08);
  transform: translateY(-1px);
  outline: none;
}

.auth-provider-button svg {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}

.auth-divider {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-block: clamp(22px, 3vw, 30px);
  color: #7a7f88;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.auth-divider::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 50%;
  height: 1px;
  background: #e4e6ea;
}

.auth-divider span {
  position: relative;
  z-index: 1;
  padding-inline: 22px;
  background: #fff;
}

.auth-email-panel,
.auth-password-panel {
  display: grid;
  gap: 8px;
}

.auth-email-panel {
  margin-top: 18px;
}

.auth-password-panel {
  margin-top: 14px;
}

.auth-email-panel[hidden],
.auth-password-panel[hidden] {
  display: none;
}

.auth-email-panel label,
.auth-password-panel label {
  color: #4b5563;
  font-size: 15px;
  font-weight: 800;
}

.auth-email-panel input,
.auth-password-panel input {
  min-height: 58px;
  width: 100%;
  border: 1px solid #d1d7e2;
  border-radius: 10px;
  padding-inline: 18px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 700;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.auth-email-panel input:focus,
.auth-password-panel input:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(60, 115, 244, 0.13);
}

.auth-consent {
  margin: clamp(22px, 3vw, 28px) 0 clamp(20px, 3vw, 28px);
  color: #30353d;
  font-size: clamp(15px, 1.12vw, 19px);
  font-weight: 500;
  line-height: 1.55;
}

.auth-consent a {
  color: #36be76;
  font-weight: 650;
}

.auth-consent a:hover,
.auth-consent a:focus-visible,
.auth-create-account a:hover,
.auth-create-account a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.auth-submit {
  width: 100%;
  min-height: 62px;
  border-radius: 8px;
  font-size: clamp(18px, 1.35vw, 22px);
}

.auth-submit:disabled {
  background: rgba(32, 195, 90, 0.34);
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

.auth-create-account {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin-top: clamp(22px, 3vw, 30px);
  color: #8a8f98;
  font-size: clamp(15px, 1.2vw, 19px);
  font-weight: 600;
  text-align: center;
}

.auth-create-account p {
  margin: 0;
}

.auth-create-account a {
  color: #22262d;
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.auth-visual-panel {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: var(--blue-soft);
}

.auth-visual-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.auth-visual-vignette {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.04) 0%, rgba(15, 23, 42, 0.16) 56%, rgba(15, 23, 42, 0.42) 100%),
    linear-gradient(90deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0));
}

.auth-testimonial-card {
  position: absolute;
  left: clamp(36px, 7vw, 112px);
  right: clamp(36px, 6vw, 104px);
  bottom: clamp(42px, 8vh, 96px);
  width: auto;
  display: grid;
  gap: 34px;
  border-radius: 8px;
  padding: clamp(28px, 3vw, 44px);
  background: rgba(51, 45, 37, 0.84);
  color: #fff;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(12px);
}

.auth-testimonial-copy {
  display: grid;
  gap: 8px;
}

.auth-testimonial-copy p {
  margin: 0;
  max-width: 64ch;
  font-size: clamp(17px, 1.26vw, 22px);
  font-weight: 500;
  line-height: 1.48;
}

.auth-testimonial-copy a {
  width: fit-content;
  color: #5bd486;
  font-size: clamp(17px, 1.2vw, 21px);
  font-weight: 900;
}

.auth-testimonial-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 24px;
}

.auth-testimonial-footer strong,
.auth-testimonial-footer span {
  display: block;
  font-size: clamp(17px, 1.28vw, 23px);
  line-height: 1.35;
}

.auth-testimonial-footer strong {
  font-weight: 900;
}

.auth-testimonial-footer span {
  margin-top: 4px;
  font-weight: 500;
}

.auth-testimonial-controls {
  display: flex;
  align-items: center;
  gap: 14px;
}

.auth-testimonial-controls button {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.02);
  color: #fff;
  font-size: 25px;
  font-weight: 900;
  cursor: pointer;
  transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.auth-testimonial-controls button:hover,
.auth-testimonial-controls button:focus-visible {
  background: rgba(255, 255, 255, 0.16);
  border-color: #fff;
  transform: translateY(-1px);
  outline: none;
}

@media (max-width: 1199px) {
  .student-ambassador-page .container {
    width: min(calc(100% - 40px), 1040px);
  }

  .ambassador-feature-grid {
    gap: 24px;
  }

  .ambassador-feature-item {
    grid-template-columns: 50px minmax(0, 1fr);
    font-size: 15px;
  }

}

@media (max-width: 991px) {
  .ambassador-hero-inner {
    min-height: auto;
    padding-block: 86px;
  }

  .ambassador-hero-copy {
    max-width: 760px;
    text-align: center;
    justify-self: center;
  }

  .ambassador-hero-copy p {
    margin-inline: auto;
  }

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

  .ambassador-feature-item {
    border: 1px solid #e4ecf6;
    border-radius: 18px;
    padding: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
  }

}

@media (max-width: 767px) {
  .student-ambassador-page .container {
    width: min(calc(100% - 28px), 1240px);
  }

  .ambassador-section {
    padding-block: 56px;
  }

  .ambassador-hero-inner {
    padding-block: 64px 72px;
  }

  .ambassador-hero-copy h1 {
    font-size: clamp(33px, 10vw, 44px);
  }

  .ambassador-hero-copy .button,
  .ambassador-process-inner .button {
    width: 100%;
  }

  .ambassador-feature-section {
    padding-block: 48px;
  }

  .ambassador-feature-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .ambassador-feature-item {
    grid-template-columns: 46px minmax(0, 1fr);
    padding: 18px;
  }

  .ambassador-feature-icon,
  .ambassador-feature-icon img {
    width: 44px;
    height: 44px;
  }

  .ambassador-step-list {
    margin-top: 34px;
  }

  .ambassador-step {
    gap: 14px;
  }

  .ambassador-faq-list summary {
    padding: 20px;
    font-size: 16px;
  }

  .ambassador-faq-list details > div {
    padding: 0 20px 20px;
  }
}

.dashboard-page {
  min-height: 100svh;
  width: 100%;
  background: #f5f6f9;
  color: var(--ink);
}

.dashboard-page .container {
  width: min(100% - clamp(32px, 5vw, 96px), 1600px);
}

.dashboard-hero-band {
  width: 100%;
  background: var(--blue);
  color: #fff;
}

.dashboard-hero-inner {
  min-height: 152px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 620px);
  align-items: center;
  gap: clamp(32px, 4vw, 72px);
  padding-block: 26px 28px;
}

.dashboard-hero-inner h1 {
  margin: 0;
  font-size: clamp(34px, 3.3vw, 46px);
  font-weight: 650;
  letter-spacing: 0;
}

.dashboard-plan-card {
  position: relative;
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  overflow: hidden;
  padding: 18px 0 18px 24px;
}

.dashboard-plan-pattern {
  position: absolute;
  inset: -20px 150px -20px auto;
  width: 220px;
  opacity: 0.24;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0 4px, transparent 4px);
  background-size: 26px 26px;
  pointer-events: none;
}

.dashboard-plan-card strong {
  display: block;
  color: #fff;
  font-size: clamp(17px, 1.5vw, 21px);
  font-weight: 900;
  line-height: 1.2;
}

.dashboard-plan-card p {
  margin: 2px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 15px;
  font-weight: 650;
}

.dashboard-upgrade-button {
  position: relative;
  z-index: 1;
  min-height: 48px;
  flex: 0 0 auto;
  border-radius: 10px;
  background: #fff;
  color: var(--blue);
  padding-inline: 28px;
  box-shadow: 0 12px 28px rgba(25, 54, 135, 0.12);
}

.dashboard-tabs-wrap {
  margin-top: -52px;
  background: linear-gradient(to bottom, transparent 0 52px, #f5f6f9 52px 100%);
}

.dashboard-tabs {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  min-height: 52px;
}

.dashboard-tab {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-radius: 6px 6px 0 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  font-weight: 750;
}

.dashboard-tab:hover,
.dashboard-tab:focus-visible {
  color: #fff;
}

.dashboard-tab.is-active {
  background: #fff;
  color: #202636;
  box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.9);
}

.dashboard-content-section {
  width: 100%;
  padding-block: 64px 110px;
}

.dashboard-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(430px, 0.92fr);
  gap: clamp(32px, 3.6vw, 64px);
  align-items: start;
}

.dashboard-primary-column,
.dashboard-sidebar {
  display: grid;
  gap: 24px;
}

.dashboard-primary-column > h2,
.dashboard-course-block > h2,
.dashboard-sidebar-heading h2,
.dashboard-promo-section > h2,
.dashboard-saved-section > h2 {
  margin: 0;
  color: #0b0f19;
  font-size: clamp(24px, 2.15vw, 32px);
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: 0;
}

.dashboard-card {
  border: 1px solid #dce3ef;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 28px rgba(25, 44, 87, 0.045);
}

.dashboard-next-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 24px;
  align-items: center;
  padding: 20px 28px;
}

.dashboard-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border-radius: 5px;
  background: #e8efff;
  color: var(--blue);
  padding: 0 14px;
  font-size: 12px;
  font-weight: 900;
}

.dashboard-next-card h3,
.dashboard-step-card h3,
.dashboard-promo-card h3 {
  margin: 12px 0 6px;
  color: #161923;
  font-size: clamp(18px, 1.45vw, 22px);
  font-weight: 900;
  line-height: 1.25;
}

.dashboard-next-card p,
.dashboard-step-card p,
.dashboard-promo-card p {
  margin: 0;
  color: #69707c;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.55;
}

.dashboard-card-cta {
  margin-top: 18px;
  min-height: 44px;
  border-radius: 8px;
}

.dashboard-representative {
  display: grid;
  justify-items: center;
  gap: 10px;
  margin: 0;
  text-align: center;
}

.dashboard-representative img {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: inset 0 0 0 4px #edf3ff;
}

.dashboard-representative strong {
  display: block;
  color: #111827;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.1;
}

.dashboard-representative span {
  display: block;
  margin-top: 4px;
  color: #7b818c;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
}

.dashboard-journey-list {
  display: grid;
  gap: 16px;
}

.dashboard-step-card {
  padding: 20px 22px;
}

.dashboard-step-card.is-active {
  border-color: #cfdbf0;
  background: #fff;
}

.dashboard-step-topline {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.dashboard-step-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: var(--blue);
}

.dashboard-step-icon svg,
.dashboard-empty-icon svg,
.dashboard-lock-badge svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dashboard-step-icon.icon-decide,
.dashboard-step-icon.icon-explore {
  color: #20bfa1;
}

.dashboard-step-icon.icon-apply,
.dashboard-step-icon.icon-move {
  color: var(--blue);
}

.dashboard-step-card h3 {
  margin: 0 0 6px;
}

.dashboard-progress-summary {
  display: block;
  margin-top: 8px;
  color: #5f6672;
  font-size: 14px;
  font-weight: 650;
}

.dashboard-progress-summary::after {
  content: "🔥";
  margin-left: 4px;
}

.dashboard-outline-button {
  min-width: 142px;
  min-height: 46px;
  border-radius: 8px;
  border-color: rgba(60, 115, 244, 0.82);
  background: #fff;
  color: var(--blue);
  font-size: 15px;
}

.dashboard-outline-button:hover,
.dashboard-outline-button:focus-visible {
  background: #f5f8ff;
  border-color: var(--blue);
}

.dashboard-step-expanded {
  margin-top: 24px;
  border-radius: 10px;
  background: #eaf1ff;
  padding: 24px;
  text-align: center;
}

.dashboard-step-expanded h4 {
  margin: 0 0 10px;
  color: #171b25;
  font-size: 18px;
  font-weight: 900;
}

.dashboard-step-expanded p {
  margin-inline: auto;
  max-width: 720px;
}

.dashboard-promo-section {
  display: grid;
  gap: 20px;
  padding-top: 8px;
}

.dashboard-promo-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 230px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  align-items: center;
  gap: 26px;
  border-radius: 14px;
  background: var(--blue);
  color: #fff;
  padding: 34px 38px;
}

.dashboard-promo-card::before,
.dashboard-promo-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
}

.dashboard-promo-card::before {
  top: -80px;
  right: -70px;
}

.dashboard-promo-card::after {
  right: -20px;
  bottom: -120px;
}

.dashboard-promo-card h3,
.dashboard-promo-card p {
  color: #fff;
}

.dashboard-promo-card h3 {
  max-width: 520px;
  margin: 0 0 12px;
  font-size: clamp(24px, 2.3vw, 32px);
}

.dashboard-promo-card p {
  max-width: 480px;
  margin-bottom: 24px;
  color: rgba(255, 255, 255, 0.88);
}

.dashboard-rocket-visual {
  position: relative;
  width: 148px;
  height: 160px;
  justify-self: center;
  transform: rotate(-18deg);
}

.dashboard-rocket-body {
  position: absolute;
  inset: 20px 42px 26px;
  border-radius: 50% 50% 44% 44%;
  background: linear-gradient(180deg, #ffffff, #dbe8ff);
  box-shadow: 0 18px 35px rgba(18, 39, 105, 0.25);
}

.dashboard-rocket-body::before,
.dashboard-rocket-body::after {
  content: "";
  position: absolute;
  bottom: 20px;
  width: 35px;
  height: 40px;
  border-radius: 50% 50% 10px 10px;
  background: #223a82;
}

.dashboard-rocket-body::before {
  left: -24px;
  transform: rotate(-22deg);
}

.dashboard-rocket-body::after {
  right: -24px;
  transform: rotate(22deg);
}

.dashboard-rocket-window {
  position: absolute;
  top: 48px;
  left: 60px;
  width: 30px;
  height: 30px;
  border: 6px solid #6a8fff;
  border-radius: 50%;
  background: #cfe7ff;
}

.dashboard-rocket-flame {
  position: absolute;
  left: 61px;
  bottom: 3px;
  width: 30px;
  height: 54px;
  border-radius: 50%;
  background: linear-gradient(180deg, #ffdf68, #ff7b3d 58%, transparent 59%);
  filter: drop-shadow(0 12px 18px rgba(255, 165, 61, 0.3));
}

.dashboard-saved-section {
  display: grid;
  gap: 22px;
  padding-top: 20px;
}

.dashboard-saved-list {
  display: grid;
  gap: 12px;
}

.dashboard-saved-program {
  display: grid;
  gap: 4px;
  padding: 18px 20px;
}

.dashboard-saved-empty {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  min-height: 148px;
  border: 1px solid #dce3ef;
  border-radius: 12px;
  background: #fff;
  padding: 26px 30px;
  box-shadow: 0 14px 28px rgba(25, 44, 87, 0.045);
}

.dashboard-empty-icon {
  position: relative;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #eef4ff;
  color: var(--blue);
}

.dashboard-empty-icon::after {
  content: "";
  position: absolute;
  right: 11px;
  bottom: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f38c85;
}

.dashboard-saved-empty p {
  max-width: 720px;
  margin: 0;
  color: #1f2633;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
}

.dashboard-saved-empty a {
  color: #111827;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.dashboard-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 32px);
}

.dashboard-course-block,
.dashboard-materials-block {
  display: grid;
  gap: 26px;
}

.dashboard-course-card {
  position: relative;
  min-height: 220px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  background: #dfe7ef;
}

.dashboard-course-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.08);
}

.dashboard-course-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(2px);
}

.dashboard-lock-badge {
  position: relative;
  z-index: 1;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
}

.dashboard-lock-badge svg {
  width: 30px;
  height: 30px;
}

.dashboard-course-copy {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 8px;
  max-width: 420px;
  padding: 12px 22px 0;
  text-align: center;
}

.dashboard-course-copy small {
  color: #3e424b;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.dashboard-course-copy strong {
  color: #0d111a;
  font-size: clamp(19px, 2vw, 25px);
  font-weight: 900;
  line-height: 1.18;
}

.dashboard-course-copy em {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  border-radius: 9px;
  background: var(--green);
  color: #fff;
  padding: 0 28px;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(32, 195, 90, 0.22);
}

.dashboard-sidebar-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
}

.dashboard-sidebar-heading a {
  color: var(--green-dark);
  font-size: 16px;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.dashboard-material-list {
  display: grid;
  gap: 14px;
}

.dashboard-material-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 136px;
  border-radius: 10px;
  background: #fff;
  padding: 20px 24px;
  box-shadow: 0 12px 25px rgba(22, 38, 79, 0.035);
}

.dashboard-material-card img {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  object-fit: cover;
}

.dashboard-material-card span {
  display: grid;
  gap: 6px;
}

.dashboard-material-card strong {
  color: #282d38;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.2;
}

.dashboard-material-card small {
  color: #1f2633;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.35;
}

.dashboard-material-card em {
  color: var(--blue);
  font-size: 15px;
  font-style: normal;
  font-weight: 800;
}

.dashboard-material-card time {
  align-self: end;
  color: #8a909b;
  font-size: 15px;
  font-weight: 650;
  white-space: nowrap;
}

.dashboard-materials-cta {
  justify-self: start;
  min-height: 48px;
  border-radius: 10px;
  border-color: #d3dae6;
  background: #fff;
  color: #20242c;
  font-size: 16px;
}

.profile-dashboard-page .dashboard-tabs-wrap {
  background: linear-gradient(to bottom, transparent 0 52px, #fff 52px 100%);
}

.profile-content-section {
  background: linear-gradient(90deg, #fff 0 58%, #f3f3f3 58% 100%);
  padding-block: 78px 120px;
}

.profile-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(420px, 0.88fr);
  gap: clamp(44px, 6vw, 104px);
  align-items: start;
}

.profile-primary-column {
  display: grid;
  gap: 30px;
}

.profile-primary-column > h1,
.profile-sidebar h2 {
  margin: 0;
  color: #171b22;
  font-size: clamp(26px, 2.25vw, 36px);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0;
}

.profile-identity-card {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 30px;
  align-items: center;
  min-height: 150px;
  margin-bottom: 20px;
}

.profile-avatar-wrap {
  position: relative;
  width: 116px;
  height: 116px;
}

.profile-avatar {
  width: 116px;
  height: 116px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50% 50% 8px 50%;
  object-fit: cover;
  background: linear-gradient(135deg, #ecf4ff, #dffbf0);
  color: var(--blue);
  font-size: 34px;
  font-weight: 900;
  box-shadow: 0 0 0 1px #e0e7f2;
}

.profile-avatar-action {
  position: absolute;
  right: -14px;
  bottom: -18px;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #6c6d70;
  color: #fff;
  box-shadow: 0 8px 20px rgba(35, 38, 45, 0.18);
}

.profile-avatar-action:hover,
.profile-avatar-action:focus-visible {
  background: var(--blue);
}

.profile-avatar-action svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.profile-identity-copy {
  display: grid;
  gap: 8px;
}

.profile-identity-copy strong {
  color: #0f121a;
  font-size: clamp(22px, 1.8vw, 28px);
  font-weight: 900;
  line-height: 1.1;
}

.profile-identity-copy span {
  color: #77808d;
  font-size: 18px;
  font-weight: 650;
}

.profile-task-list {
  display: grid;
}

.profile-task-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) minmax(98px, auto) 28px;
  gap: 22px;
  align-items: center;
  min-height: 136px;
  border-bottom: 1px solid #e1e5ea;
  color: inherit;
  text-decoration: none;
}

.profile-task-row:hover .profile-task-copy strong,
.profile-task-row:focus-visible .profile-task-copy strong {
  color: var(--blue);
}

.profile-task-row:focus-visible {
  outline: 3px solid rgba(60, 115, 244, 0.28);
  outline-offset: 6px;
  border-radius: 10px;
}

.profile-task-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
}

.profile-task-icon svg {
  width: 46px;
  height: 46px;
}

.profile-task-icon .fill-primary {
  fill: #5d89ff;
}

.profile-task-icon .fill-muted {
  fill: #d8e5ff;
}

.profile-task-icon .fill-accent {
  fill: var(--green);
}

.profile-task-icon .stroke-primary {
  stroke: #5d89ff;
}

.profile-task-icon .stroke-muted {
  stroke: #b8c9ee;
}

.profile-task-icon .stroke-accent {
  stroke: var(--green);
}

.profile-task-icon .stroke-primary,
.profile-task-icon .stroke-muted,
.profile-task-icon .stroke-accent {
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.profile-task-copy {
  display: grid;
  gap: 8px;
}

.profile-task-copy strong {
  color: #26282d;
  font-size: clamp(20px, 1.6vw, 24px);
  font-weight: 900;
  line-height: 1.16;
}

.profile-task-copy span {
  color: #7a7e86;
  font-size: clamp(16px, 1.35vw, 21px);
  font-weight: 500;
  line-height: 1.25;
}

.profile-task-button {
  min-width: 152px;
  min-height: 58px;
  border-radius: 8px;
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 16px 34px rgba(32, 195, 90, 0.24);
}

.profile-task-status {
  justify-self: center;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 19px;
  font-weight: 900;
}

.profile-task-status.is-pending {
  background: #fff2c4;
  color: #c69216;
}

.profile-task-status.is-pending svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.profile-task-status.is-complete {
  background: #e8fbf0;
  color: var(--green-dark);
}

.profile-task-status.is-locked {
  background: #edf2f7;
  color: #64748b;
}

.profile-task-status.is-locked svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.profile-task-arrow {
  color: #141820;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}

.profile-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 32px);
  display: grid;
  gap: 26px;
  padding-top: 8px;
}

.profile-wizard-page {
  min-height: 100svh;
  display: grid;
  grid-template-columns: clamp(260px, 19vw, 340px) minmax(0, 1fr);
  background: #fff;
  color: #24262b;
}

.profile-wizard-sidebar {
  min-height: 100svh;
  padding: clamp(28px, 3vw, 46px) clamp(22px, 2vw, 34px);
  background: #f4f4f4;
}

.profile-wizard-sidebar h1 {
  margin: 0 0 34px;
  color: #2b2d31;
  font-size: clamp(24px, 1.6vw, 30px);
  font-weight: 800;
  line-height: 1.15;
}

.profile-wizard-sidebar nav {
  display: grid;
  gap: 18px;
}

.profile-wizard-nav-item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 18px;
  align-items: start;
  gap: 12px;
  position: relative;
  margin-inline: -10px;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 16px;
  color: #2a2c31;
  text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.profile-wizard-nav-item:hover {
  background: rgba(255, 255, 255, 0.68);
  transform: translateX(2px);
}

.profile-wizard-nav-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  opacity: 1;
}

.profile-wizard-nav-icon svg {
  width: 34px;
  height: 34px;
  filter: none;
}

.profile-wizard-nav-copy {
  display: grid;
  gap: 6px;
}

.profile-wizard-nav-copy strong {
  color: #25272b;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.15;
}

.profile-wizard-nav-copy span {
  display: grid;
  gap: 6px;
}

.profile-wizard-nav-copy em {
  color: #111827;
  font-size: 15px;
  font-style: normal;
  font-weight: 550;
  line-height: 1.15;
}

.profile-wizard-nav-arrow {
  position: relative;
  width: 18px;
  height: 28px;
  display: block;
}

.profile-wizard-nav-arrow::before {
  content: "›";
  color: #111;
  font-size: 34px;
  font-weight: 850;
  line-height: 0.8;
}

.profile-wizard-nav-item.is-active .profile-wizard-nav-icon {
  background: transparent;
  box-shadow: none;
}

.profile-wizard-nav-item.is-active {
  border-color: rgba(60, 115, 244, 0.28);
  background: linear-gradient(135deg, rgba(232, 240, 255, 0.95), rgba(255, 255, 255, 0.78));
  box-shadow: 0 12px 26px rgba(60, 115, 244, 0.1);
}

.profile-wizard-nav-item.is-active::before {
  content: "";
  position: absolute;
  inset-block: 12px;
  left: 0;
  width: 4px;
  border-radius: 999px;
  background: var(--green);
}

.profile-wizard-nav-item.is-active .profile-wizard-nav-arrow::before {
  color: var(--green);
}

.profile-wizard-nav-item.is-active.has-children .profile-wizard-nav-arrow::before {
  content: "⌄";
  color: var(--green);
  font-size: 25px;
  line-height: 1;
}

.profile-wizard-main {
  min-width: 0;
  min-height: 100svh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.profile-wizard-header {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px clamp(28px, 3vw, 48px);
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}

.profile-wizard-header h2 {
  margin: 0;
  color: #292b30;
  font-size: clamp(21px, 1.55vw, 30px);
  font-weight: 850;
  line-height: 1.2;
}

.profile-wizard-header a {
  color: #111;
  font-size: 17px;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.profile-wizard-scroll {
  min-height: 0;
  overflow-y: auto;
  background: #fff;
}

.profile-wizard-content {
  width: min(100% - clamp(36px, 6vw, 120px), 1440px);
  margin-inline: auto;
  padding-block: clamp(58px, 7vh, 86px) 110px;
}

.profile-wizard-form {
  display: grid;
  gap: 34px;
}

.profile-wizard-panel {
  overflow: hidden;
  border: 1px solid #eef0f4;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(20, 31, 58, 0.06);
}

.profile-wizard-panel-header {
  width: 100%;
  min-height: 74px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 14px;
  padding: 18px 32px;
  border: 0;
  border-bottom: 1px solid #e9edf3;
  background: #fff;
  color: inherit;
  cursor: pointer;
  font: inherit;
  list-style: none;
  text-align: left;
}

.profile-wizard-panel-header::-webkit-details-marker {
  display: none;
}

.profile-wizard-panel-header::marker {
  content: "";
}

.profile-wizard-panel-header:focus-visible {
  outline: 3px solid rgba(60, 115, 244, 0.22);
  outline-offset: -6px;
  border-radius: 8px;
}

.profile-wizard-panel-header .profile-task-icon,
.profile-wizard-panel-header .profile-task-icon svg {
  width: 34px;
  height: 34px;
}

.profile-wizard-panel-header h3 {
  margin: 0;
  color: #2a2c31;
  font-size: clamp(20px, 1.35vw, 25px);
  font-weight: 820;
  line-height: 1.2;
}

.profile-wizard-panel-caret {
  width: 14px;
  height: 14px;
  border-top: 3px solid #111;
  border-left: 3px solid #111;
  transform: rotate(45deg) translateY(4px);
  transition: transform 180ms ease;
}

.profile-wizard-panel.is-collapsed .profile-wizard-panel-header {
  border-bottom: 0;
}

.profile-wizard-panel.is-collapsed .profile-wizard-panel-caret {
  transform: rotate(225deg) translateY(-2px);
}

.profile-wizard-panel-body {
  padding: 22px 32px 34px;
}

.profile-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 22px;
}

.profile-form-field,
.profile-textarea-field {
  display: grid;
  gap: 6px;
  color: #858585;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
}

.profile-form-field input,
.profile-form-field select,
.profile-full-input,
.profile-textarea-field textarea {
  width: 100%;
  min-height: 54px;
  border: 1px solid #cfd4da;
  border-radius: 6px;
  background: #fff;
  color: #17191d;
  padding: 0 18px;
  font-size: 19px;
  font-weight: 500;
  outline: none;
}

.profile-form-field input::placeholder,
.profile-full-input::placeholder,
.profile-textarea-field textarea::placeholder {
  color: #8f949b;
  opacity: 1;
}

.profile-form-field input[type="date"] {
  color-scheme: light;
  padding-right: 18px;
}

.profile-form-field input[type="date"]::-webkit-calendar-picker-indicator {
  width: 24px;
  height: 24px;
  margin-left: 8px;
  padding: 8px;
  border-radius: 10px;
  background-color: #eef3ff;
  cursor: pointer;
}

.profile-form-field input:read-only {
  background: #fff;
  color: #858585;
}

.profile-form-field input:focus,
.profile-form-field select:focus,
.profile-full-input:focus,
.profile-textarea-field textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(60, 115, 244, 0.14);
}

.profile-phone-field {
  display: grid;
  grid-template-columns: minmax(116px, 0.34fr) minmax(0, 1fr);
  border: 1px solid #cfd4da;
  border-radius: 6px;
  background: #fff;
}

.profile-phone-field:focus-within {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(60, 115, 244, 0.14);
}

.profile-phone-field select,
.profile-phone-field input {
  min-height: 54px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.profile-phone-field select {
  border-right: 1px solid #e3e7ec;
  min-width: 0;
  text-overflow: ellipsis;
}

.profile-segmented-field,
.profile-choice-field,
.profile-radio-stack {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.profile-segmented-field legend,
.profile-choice-field legend,
.profile-radio-stack legend,
.profile-budget-field > label,
.profile-form-row-label label,
.profile-textarea-field > span {
  display: block;
  margin: 0 0 16px;
  color: #111;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.2;
}

.profile-segmented-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
}

.profile-segmented-option input,
.profile-choice-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.profile-segmented-option span {
  min-height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid #e6eaf0;
  border-radius: 999px;
  background: #fff;
  color: #222;
  padding-inline: 18px;
  font-size: 16px;
  font-weight: 720;
  text-align: center;
  box-shadow: 0 8px 20px rgba(20, 31, 58, 0.04);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.profile-segmented-option input:checked + span {
  border-color: transparent;
  background: linear-gradient(135deg, #3f74f8, #82a7ff);
  color: #fff;
  box-shadow: 0 8px 16px rgba(60, 115, 244, 0.18);
}

.profile-segmented-option:hover span {
  border-color: rgba(60, 115, 244, 0.38);
  box-shadow: 0 14px 26px rgba(60, 115, 244, 0.1);
  transform: translateY(-1px);
}

.profile-segmented-option input:focus-visible + span {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(60, 115, 244, 0.14), 0 14px 26px rgba(60, 115, 244, 0.1);
}

.profile-segmented-option input:active + span {
  transform: translateY(1px) scale(0.99);
}

.profile-form-row-label {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
}

.profile-form-row-label span {
  color: #1f2933;
  font-size: 14px;
  font-weight: 650;
}

.profile-full-input {
  margin-bottom: 22px;
}

.profile-full-input + .profile-form-field,
.profile-form-field + .profile-form-grid {
  margin-top: 22px;
}

.profile-choice-field + .profile-segmented-field,
.profile-segmented-field + .profile-radio-stack,
.profile-radio-stack + .profile-choice-field,
.profile-choice-field + .profile-budget-field {
  margin-top: 30px;
}

.profile-choice-options {
  display: grid;
  gap: 16px 24px;
}

.profile-choice-field.is-columns .profile-choice-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-choice-options.is-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-choice-option {
  position: relative;
  display: grid;
  grid-template-columns: 28px 34px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 34px;
  color: #17191d;
  font-size: 16px;
  font-weight: 600;
}

.profile-choice-field:not(.is-columns) .profile-choice-option {
  grid-template-columns: 28px minmax(0, 34px) minmax(0, 1fr);
}

.profile-choice-control {
  width: 26px;
  height: 26px;
  border: 1px solid #cfd8e3;
  border-radius: 50%;
  background: #fff;
}

.profile-choice-option input[type="checkbox"] + .profile-choice-control {
  border-radius: 4px;
}

.profile-choice-option input:checked + .profile-choice-control {
  border: 8px solid var(--green);
}

.profile-choice-option input[type="checkbox"]:checked + .profile-choice-control {
  border: 1px solid var(--green);
  background: var(--green);
}

.profile-choice-option input[type="checkbox"]:checked + .profile-choice-control::after {
  content: "✓";
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
}

.profile-choice-icon {
  color: var(--blue);
}

.profile-choice-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.profile-radio-stack {
  display: grid;
  gap: 16px;
  margin-top: 36px;
}

.profile-radio-stack legend {
  color: #888;
  font-size: 20px;
  font-weight: 500;
}

.profile-radio-stack label {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #111;
  font-size: 18px;
  font-weight: 500;
}

.profile-radio-stack input {
  width: 24px;
  height: 24px;
  accent-color: var(--green);
}

.profile-budget-field {
  display: grid;
  gap: 22px;
  margin-top: 28px;
}

.profile-budget-marks {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  color: #111;
  font-size: 18px;
  font-weight: 900;
}

.profile-budget-marks span {
  text-align: center;
}

.profile-budget-marks .is-active {
  color: var(--blue);
}

.profile-budget-field input[type="range"] {
  width: 100%;
  accent-color: var(--blue);
}

.profile-textarea-field textarea {
  min-height: 108px;
  padding-block: 14px;
  resize: vertical;
}

.profile-documents-intro h3 {
  margin: 6px 0 34px;
  color: #2b2d31;
  font-size: clamp(28px, 2.4vw, 40px);
  font-weight: 900;
  line-height: 1.15;
}

.profile-upload-field {
  display: grid;
  gap: 22px;
  margin-top: 34px;
}

.profile-upload-field h4 {
  margin: 0;
  color: #2b2d31;
  font-size: clamp(20px, 1.45vw, 27px);
  font-weight: 900;
  line-height: 1.2;
}

.profile-upload-dropzone {
  min-height: 188px;
  display: grid;
  place-items: center;
  gap: 12px;
  border: 2px dashed #6c92ff;
  border-radius: 12px;
  background: #eef3ff;
  color: #111;
  text-align: center;
  cursor: pointer;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.profile-upload-dropzone:hover,
.profile-upload-dropzone:focus-within {
  border-color: var(--blue);
  background: #eaf1ff;
  box-shadow: 0 14px 34px rgba(60, 115, 244, 0.12);
}

.profile-upload-dropzone input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.profile-upload-icon {
  position: relative;
  width: 64px;
  height: 48px;
  border-radius: 8px 8px 7px 7px;
  background: linear-gradient(180deg, #8fb0ff 0 38%, #4f82f7 38% 100%);
  box-shadow: inset 0 10px 0 rgba(255, 255, 255, 0.22), 0 12px 22px rgba(79, 130, 247, 0.22);
}

.profile-upload-icon::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 8px;
  width: 28px;
  height: 14px;
  border-radius: 7px 7px 0 0;
  background: #9bb8ff;
}

.profile-upload-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 16px;
  width: 18px;
  height: 18px;
  border-left: 4px solid #fff;
  border-bottom: 4px solid #fff;
  transform: translateX(-50%) rotate(135deg);
  opacity: 0.92;
}

.profile-upload-dropzone strong {
  color: var(--blue);
  font-weight: 700;
}

.profile-wizard-footer {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px clamp(28px, 3vw, 48px);
  background: #fff;
}

.profile-wizard-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #24262b;
  font-size: 21px;
  font-weight: 500;
}

.profile-wizard-back span {
  font-size: 34px;
  line-height: 0.7;
}

.profile-wizard-next {
  min-width: 132px;
  min-height: 54px;
  border-radius: 8px;
  font-size: 18px;
}

.ambassador-dashboard-page .dashboard-content-section {
  background: linear-gradient(90deg, #fff 0 58%, #f3f3f3 58% 100%);
}

.ambassador-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(420px, 0.88fr);
  gap: clamp(44px, 6vw, 104px);
  align-items: start;
}

.ambassador-primary-column {
  display: grid;
  gap: 28px;
  align-content: start;
}

.ambassador-primary-column > h2,
.ambassador-referrals-section > h2 {
  margin: 0;
  color: #20242c;
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: 0;
}

.ambassador-timeline {
  display: grid;
  gap: 0;
  margin: 34px 0 10px;
  padding: 0;
  list-style: none;
}

.ambassador-step {
  position: relative;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 24px;
  min-height: 102px;
  padding-bottom: 28px;
}

.ambassador-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 58px;
  bottom: 10px;
  left: 25px;
  border-left: 6px dotted var(--green);
}

.ambassador-step.is-current:not(:last-child)::after,
.ambassador-step.is-pending:not(:last-child)::after {
  border-left-color: #d9e0e8;
}

.ambassador-step-number {
  position: relative;
  z-index: 1;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 17px;
  font-weight: 850;
  line-height: 1;
}

.ambassador-step.is-pending .ambassador-step-number {
  background: #e1e7ee;
  color: #20242c;
}

.ambassador-step-copy {
  display: grid;
  align-content: start;
  gap: 7px;
  padding-top: 6px;
}

.ambassador-step-copy strong {
  color: #161923;
  font-size: clamp(19px, 1.55vw, 24px);
  font-weight: 650;
  line-height: 1.2;
}

.ambassador-step-copy span {
  color: #97a0ab;
  font-size: clamp(15px, 1.15vw, 18px);
  font-weight: 650;
  line-height: 1.35;
}

.ambassador-share-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  max-width: 760px;
  border-radius: 8px;
  background: #eef2f7;
  padding: 12px 14px 12px 22px;
}

.ambassador-share-card code {
  overflow: hidden;
  color: #111827;
  font-family: inherit;
  font-size: clamp(16px, 1.35vw, 22px);
  font-weight: 500;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ambassador-copy-button {
  min-height: 50px;
  border-radius: 7px;
  padding-inline: 20px;
  gap: 10px;
  font-size: 16px;
  white-space: nowrap;
}

.ambassador-copy-button svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ambassador-referrals-section {
  display: grid;
  gap: 20px;
  padding-top: 4px;
}

.ambassador-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.ambassador-referral-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  color: #20242c;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.3;
}

.ambassador-referral-table th {
  padding: 0 22px 14px;
  color: #151922;
  font-weight: 900;
  text-align: left;
  white-space: nowrap;
}

.ambassador-referral-table td {
  border-top: 1px solid #dce3ef;
  background: #f8fafc;
  padding: 15px 22px;
  font-weight: 500;
}

.ambassador-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border-radius: 999px;
  color: #20242c;
  font-weight: 650;
}

.ambassador-status.is-success {
  color: #152033;
}

.ambassador-referrals-empty {
  display: grid;
  gap: 8px;
  padding: 24px;
}

.ambassador-referrals-empty strong {
  color: #111827;
  font-size: 18px;
  font-weight: 900;
}

.ambassador-referrals-empty p {
  margin: 0;
  color: #687180;
  font-size: 15px;
  font-weight: 600;
}

.ambassador-materials-sidebar {
  padding-top: 4px;
}

.plan-dashboard-band {
  position: relative;
  width: 100%;
  min-height: 124px;
  overflow: hidden;
  background: var(--blue);
}

.plan-dashboard-band-inner {
  position: relative;
  min-height: 124px;
}

.plan-dashboard-band .dashboard-plan-pattern {
  inset: -8px -28px auto auto;
  width: min(560px, 42vw);
  height: 132px;
}

.current-plan-section {
  width: 100%;
  padding-block: 70px 110px;
  background: #fff;
}

.current-plan-inner {
  display: grid;
  justify-items: center;
  gap: 42px;
}

.current-plan-inner > h1 {
  max-width: 980px;
  margin: 0;
  color: #2b2d33;
  font-size: clamp(30px, 2.7vw, 46px);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0;
  text-align: center;
}

.pricing-plan-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.pricing-plan-card {
  position: relative;
  min-height: 750px;
  display: grid;
  grid-template-rows: 54px 92px 188px 64px 64px 1fr auto;
  gap: 18px;
  overflow: hidden;
  border: 1px solid #dce1e8;
  border-radius: 9px;
  background: #fff;
  padding: 34px 32px 28px;
  box-shadow: 0 8px 14px rgba(15, 23, 42, 0.18);
}

.pricing-plan-card.is-premium {
  border-color: #1b164e;
  background: linear-gradient(180deg, #12083d 0%, #21105f 58%, #0e0734 100%);
  color: #fff;
}

.pricing-plan-topline {
  position: relative;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  z-index: 2;
}

.pricing-package-icon {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #eff5ff;
  color: var(--blue);
  box-shadow: inset 0 0 0 1px rgba(60, 115, 244, 0.12);
}

.pricing-package-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pricing-package-icon.is-free,
.pricing-package-icon.is-application {
  background: #eef8ff;
}

.pricing-package-icon.is-orientation {
  background: #eefaf6;
  color: var(--green-dark);
}

.pricing-package-icon.is-pro {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}

.pricing-plan-badge {
  max-width: 150px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--blue);
  border-radius: 8px;
  color: var(--blue);
  padding: 0 16px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.pricing-plan-header {
  display: grid;
  gap: 8px;
  align-content: start;
}

.pricing-plan-header h2 {
  margin: 0;
  color: #26262a;
  font-size: clamp(26px, 2.2vw, 36px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0;
}

.pricing-plan-header p {
  margin: 0;
  color: #787b82;
  font-size: clamp(16px, 1.15vw, 20px);
  font-weight: 500;
  line-height: 1.35;
}

.pricing-plan-card.is-premium .pricing-plan-header h2,
.pricing-plan-card.is-premium .pricing-plan-header p,
.pricing-plan-card.is-premium .pricing-plan-features h3,
.pricing-plan-card.is-premium .pricing-plan-price,
.pricing-plan-card.is-premium .pricing-plan-footnote {
  color: #fff;
}

.pricing-plan-visual {
  display: grid;
  place-items: center;
  align-self: center;
  justify-self: center;
}

.pricing-plan-visual img {
  width: min(170px, 74%);
  height: 170px;
  object-fit: contain;
}

.pricing-education-visual {
  position: relative;
  width: 174px;
  height: 162px;
  display: block;
  border-radius: 38px;
  background: radial-gradient(circle at 50% 48%, rgba(141, 188, 255, 0.28), rgba(238, 245, 255, 0) 68%);
}

.pricing-education-visual::before {
  content: "";
  position: absolute;
  inset: 22px 20px;
  border-radius: 30px;
  background: rgba(239, 245, 255, 0.72);
}

.pricing-plan-card.is-premium .pricing-education-visual {
  background: radial-gradient(circle at 50% 48%, rgba(111, 149, 255, 0.22), rgba(13, 7, 52, 0) 68%);
}

.pricing-plan-card.is-premium .pricing-education-visual::before {
  background: rgba(255, 255, 255, 0.08);
}

.pricing-visual-laptop {
  position: absolute;
  left: 35px;
  top: 50px;
  width: 104px;
  height: 68px;
  border: 6px solid #5f95ff;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 28px rgba(60, 115, 244, 0.16);
}

.pricing-visual-laptop::after {
  content: "";
  position: absolute;
  left: -19px;
  right: -19px;
  bottom: -24px;
  height: 14px;
  border-radius: 0 0 18px 18px;
  background: #9ec2ff;
}

.pricing-visual-laptop span {
  position: absolute;
  left: 30px;
  top: 19px;
  width: 32px;
  height: 24px;
  border-radius: 50%;
  border: 6px solid var(--green);
  border-top-color: transparent;
}

.pricing-visual-spark {
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #20c35a;
  box-shadow: 0 0 0 8px rgba(32, 195, 90, 0.12);
}

.pricing-visual-spark.one {
  right: 25px;
  top: 35px;
}

.pricing-visual-spark.two {
  left: 34px;
  bottom: 28px;
  width: 12px;
  height: 12px;
  background: #6f95ff;
}

.pricing-visual-map {
  position: absolute;
  left: 31px;
  top: 40px;
  width: 116px;
  height: 91px;
  border-radius: 19px;
  background: #fff;
  border: 2px solid #cfe0ff;
  box-shadow: 0 18px 30px rgba(60, 115, 244, 0.14);
}

.pricing-visual-map::before,
.pricing-visual-map::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #d7e5ff;
}

.pricing-visual-map::before {
  left: 39px;
}

.pricing-visual-map::after {
  right: 39px;
}

.pricing-map-route {
  position: absolute;
  left: 22px;
  top: 42px;
  width: 72px;
  border-top: 5px dotted #5f95ff;
  transform: rotate(-16deg);
}

.pricing-map-pin {
  position: absolute;
  width: 16px;
  height: 16px;
  border: 4px solid #20c35a;
  border-radius: 50% 50% 50% 0;
  background: #fff;
  transform: rotate(-45deg);
}

.pricing-map-pin.start {
  left: 18px;
  top: 53px;
}

.pricing-map-pin.end {
  right: 19px;
  top: 25px;
}

.pricing-visual-compass {
  position: absolute;
  right: 17px;
  bottom: 17px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 6px solid #5f95ff;
  background: #eff5ff;
}

.pricing-visual-compass::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 8px;
  width: 9px;
  height: 26px;
  border-radius: 999px;
  background: var(--green);
  transform: rotate(36deg);
}

.pricing-visual-clipboard {
  position: absolute;
  left: 39px;
  top: 30px;
  width: 95px;
  height: 120px;
  border-radius: 16px;
  border: 3px solid #cfe0ff;
  background: #fff;
  box-shadow: 0 18px 30px rgba(60, 115, 244, 0.14);
}

.pricing-visual-clipboard::before {
  content: "";
  position: absolute;
  left: 24px;
  top: -12px;
  width: 46px;
  height: 24px;
  border-radius: 12px;
  background: #5f95ff;
}

.pricing-visual-clipboard span {
  position: absolute;
  left: 20px;
  right: 18px;
  height: 8px;
  border-radius: 999px;
  background: #d9e6ff;
}

.pricing-visual-clipboard span:nth-child(1) {
  top: 38px;
}

.pricing-visual-clipboard span:nth-child(2) {
  top: 63px;
}

.pricing-visual-clipboard span:nth-child(3) {
  top: 88px;
  right: 36px;
  background: var(--green);
}

.pricing-visual-stamp {
  position: absolute;
  right: 20px;
  bottom: 21px;
  width: 53px;
  height: 53px;
  border-radius: 50%;
  border: 6px solid var(--green);
  background: rgba(255, 255, 255, 0.88);
}

.pricing-visual-stamp::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 15px;
  width: 22px;
  height: 12px;
  border-left: 5px solid #5f95ff;
  border-bottom: 5px solid #5f95ff;
  transform: rotate(-45deg);
}

.pricing-visual-passport {
  position: absolute;
  left: 42px;
  top: 37px;
  width: 78px;
  height: 108px;
  border-radius: 16px;
  background: linear-gradient(180deg, #2d48a8, #12205f);
  border: 2px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.28);
}

.pricing-visual-passport::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 30px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 4px solid #9ec2ff;
}

.pricing-visual-passport span {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 25px;
  height: 5px;
  border-radius: 999px;
  background: #9ec2ff;
}

.pricing-visual-shield {
  position: absolute;
  right: 21px;
  bottom: 23px;
  width: 58px;
  height: 66px;
  border-radius: 21px 21px 30px 30px;
  background: linear-gradient(180deg, #26c75f, #179548);
  box-shadow: 0 18px 30px rgba(32, 195, 90, 0.2);
}

.pricing-visual-shield::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 24px;
  width: 24px;
  height: 13px;
  border-left: 6px solid #fff;
  border-bottom: 6px solid #fff;
  transform: rotate(-45deg);
}

.pricing-plan-card:nth-child(2) .pricing-plan-visual img {
  transform: rotate(-28deg);
}

.pricing-plan-card:nth-child(3) .pricing-plan-visual img {
  transform: scale(1.08) rotate(4deg);
}

.pricing-plan-card:nth-child(4) .pricing-plan-visual img {
  transform: rotate(-16deg);
}

.pricing-plan-price,
.pricing-plan-price-placeholder {
  min-height: 58px;
  display: flex;
  align-items: center;
}

.pricing-plan-price {
  color: #1f2024;
  font-size: clamp(38px, 3.2vw, 56px);
  font-weight: 900;
  line-height: 1;
}

.pricing-plan-cta {
  width: 100%;
  min-height: 64px;
  border-radius: 8px;
  font-size: 21px;
  font-weight: 900;
}

.pricing-plan-cta.is-current {
  border: 0;
  background: #e9edf2;
  color: #aab2bc;
  cursor: not-allowed;
}

.pricing-plan-features {
  display: grid;
  align-content: start;
  gap: 16px;
}

.pricing-plan-features h3 {
  margin: 0;
  color: #25262b;
  font-size: clamp(16px, 1.2vw, 20px);
  font-weight: 900;
  line-height: 1.25;
}

.pricing-plan-features ul {
  display: grid;
  gap: 17px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pricing-plan-features li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  color: #2e3035;
  font-size: clamp(16px, 1.12vw, 20px);
  font-weight: 500;
  line-height: 1.35;
}

.pricing-plan-card.is-premium .pricing-plan-features li {
  color: rgba(255, 255, 255, 0.92);
}

.pricing-feature-icon {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  color: var(--blue);
}

.pricing-feature-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pricing-feature-icon svg path:nth-child(2n),
.pricing-feature-icon svg circle:nth-child(2n),
.pricing-feature-icon svg rect:nth-child(2n) {
  stroke: var(--green);
}

.pricing-plan-card.is-premium .pricing-feature-icon {
  color: #6f95ff;
}

.pricing-plan-footnote {
  align-self: end;
  margin: 10px 0 0;
  color: #22252b;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
}

.pricing-discount-ribbon {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  width: 92px;
  min-height: 42px;
  display: grid;
  place-items: center;
  background: var(--blue);
  color: #fff;
  border-radius: 12px;
  padding: 6px 9px;
  text-align: center;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
  text-transform: lowercase;
  box-shadow: 0 12px 28px rgba(60, 115, 244, 0.25);
}

.pricing-discount-ribbon::first-line {
  font-size: 19px;
}

.pricing-discount-ribbon::after {
  content: "";
  position: absolute;
  top: -14px;
  right: -14px;
  z-index: -1;
  width: 74px;
  height: 74px;
  background: rgba(60, 115, 244, 0.7);
  clip-path: polygon(100% 0, 100% 100%, 0 0);
}

.pricing-compare-button {
  min-width: min(420px, 100%);
  min-height: 64px;
  border: 1px solid #dce1e8;
  border-radius: 8px;
  background: #fff;
  color: #1f2024;
  font-size: 20px;
  font-weight: 500;
  box-shadow: none;
}

.pricing-compare-button:hover,
.pricing-compare-button:focus-visible {
  border-color: var(--blue);
  color: var(--blue);
}

.pricing-modal-backdrop {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: start center;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.55);
  padding: 48px 24px;
}

.pricing-comparison-dialog {
  position: relative;
  width: min(100%, 1640px);
  max-height: min(90vh, 980px);
  display: grid;
  gap: 28px;
  overflow: hidden;
  border-radius: 2px;
  background: #f3f6fa;
  padding: 56px 48px 40px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
}

.pricing-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #5e6470;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.pricing-modal-close:hover,
.pricing-modal-close:focus-visible {
  background: #e5ebf3;
  color: #111827;
}

.pricing-comparison-dialog h2 {
  margin: 0;
  color: #111827;
  font-size: clamp(24px, 2vw, 34px);
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
}

.pricing-comparison-mobile-actions {
  display: none;
}

.pricing-comparison-scroll {
  overflow: auto;
  max-height: calc(90vh - 150px);
  justify-self: center;
  width: min(100%, 920px);
  border: 1px solid #cdd5df;
  border-radius: 8px;
}

.pricing-comparison-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: #f7fafc;
  color: #1f2933;
  font-size: 13px;
}

.pricing-comparison-table th,
.pricing-comparison-table td {
  border-right: 1px solid #cdd5df;
  border-bottom: 1px solid #cdd5df;
  padding: 11px 18px;
}

.pricing-comparison-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f7fafc;
  text-align: center;
}

.pricing-comparison-table thead th:first-child {
  width: 46%;
  text-align: left;
}

.pricing-comparison-table tbody th {
  background: #f7fafc;
  color: #26313f;
  font-weight: 500;
  text-align: left;
}

.pricing-comparison-table td {
  text-align: center;
}

.pricing-comparison-table .is-highlighted,
.pricing-comparison-table thead th:nth-child(3) {
  background: #e1f2ee;
}

.pricing-comparison-table th:last-child,
.pricing-comparison-table td:last-child {
  border-right: 0;
}

.pricing-comparison-table tbody tr:last-child th,
.pricing-comparison-table tbody tr:last-child td {
  border-bottom: 0;
}

.pricing-comparison-table thead strong {
  display: block;
  margin-bottom: 10px;
  font-weight: 800;
}

.pricing-comparison-cta {
  min-height: 30px;
  border-radius: 4px;
  padding: 0 16px;
  font-size: 11px;
}

.pricing-comparison-check {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border: 1.5px solid #56606e;
  border-radius: 50%;
  color: #3f4855;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.pricing-comparison-empty {
  width: 22px;
  height: 22px;
  display: inline-block;
}

.current-plan-page .dashboard-tabs-wrap {
  background: linear-gradient(to bottom, transparent 0 52px, #fff 52px 100%);
}

@media (min-width: 1024px) {
  .dashboard-hero-band {
    min-height: calc(100vh - var(--header-height));
    display: grid;
    align-items: center;
  }

  .dashboard-hero-inner {
    min-height: calc(100vh - var(--header-height));
  }

  .dashboard-course-card {
    min-height: clamp(240px, 15vw, 320px);
  }

  .ambassador-dashboard-page .dashboard-hero-band {
    min-height: 188px;
    display: block;
  }

  .ambassador-dashboard-page .dashboard-hero-inner {
    min-height: 188px;
  }
}

@media (min-width: 1440px) {
  .dashboard-content-section {
    padding-block: 72px 124px;
  }

  .dashboard-next-card {
    grid-template-columns: minmax(0, 1fr) 190px;
  }

  .dashboard-representative img {
    width: 96px;
    height: 96px;
  }
}

@media (max-width: 1320px) {
  .pricing-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pricing-plan-card {
    min-height: 700px;
  }
}

@media (max-width: 1180px) {
  .dashboard-page .container {
    width: min(100% - 48px, 1400px);
  }

  .dashboard-content-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-sidebar {
    position: static;
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-course-card {
    min-height: 260px;
  }

  .ambassador-dashboard-page .dashboard-content-section {
    background: #f5f6f9;
  }

  .ambassador-content-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ambassador-materials-sidebar {
    padding-top: 18px;
  }

  .profile-content-section {
    background: #f5f6f9;
  }

  .profile-content-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .profile-sidebar {
    position: static;
    padding-top: 18px;
  }

  .profile-wizard-page {
    grid-template-columns: 1fr;
  }

  .profile-wizard-sidebar {
    min-height: auto;
    padding: 22px 24px;
  }

  .profile-wizard-sidebar h1 {
    margin-bottom: 18px;
  }

  .profile-wizard-sidebar nav {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .profile-wizard-nav-item {
    min-width: 180px;
    grid-template-columns: 28px minmax(0, 1fr);
    margin-inline: 0;
    padding: 12px;
    border-radius: 12px;
    background: #fff;
  }

  .profile-wizard-nav-item.is-active {
    border-color: rgba(60, 115, 244, 0.38);
    background: linear-gradient(135deg, #eaf2ff, #fff);
    box-shadow: 0 12px 24px rgba(60, 115, 244, 0.12);
  }

  .profile-wizard-nav-arrow {
    display: none;
  }

  .profile-wizard-nav-copy strong {
    font-size: 15px;
  }

  .profile-wizard-nav-copy em {
    font-size: 13px;
  }

  .profile-wizard-main {
    min-height: auto;
  }

  .profile-wizard-content {
    width: min(100% - 48px, 1440px);
    padding-block: 44px 74px;
  }

  .pricing-plan-card {
    min-height: 700px;
  }
}

@media (max-width: 860px) {
  .dashboard-page .container {
    width: min(100% - 32px, 1400px);
  }

  .dashboard-hero-inner {
    min-height: 210px;
    grid-template-columns: 1fr;
    align-items: end;
    gap: 14px;
  }

  .dashboard-plan-card {
    padding: 0;
  }

  .dashboard-tabs-wrap {
    margin-top: 0;
    background: #f5f6f9;
  }

  .dashboard-tabs {
    min-height: auto;
    padding-top: 12px;
    overflow-x: auto;
  }

  .dashboard-tab {
    min-height: 48px;
    border-radius: 10px;
    background: #e9eef8;
    color: #42506a;
    white-space: nowrap;
  }

  .dashboard-tab.is-active {
    background: #fff;
  }

  .dashboard-content-section {
    padding-block: 42px 72px;
  }

  .dashboard-next-card,
  .dashboard-promo-card {
    grid-template-columns: 1fr;
  }

  .dashboard-representative {
    grid-template-columns: 68px minmax(0, 1fr);
    justify-items: start;
    text-align: left;
  }

  .dashboard-representative img {
    width: 68px;
    height: 68px;
  }

  .dashboard-step-topline {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .dashboard-outline-button {
    grid-column: 2;
    justify-self: start;
    margin-top: 6px;
  }

  .dashboard-rocket-visual {
    display: none;
  }

  .plan-dashboard-band,
  .plan-dashboard-band-inner {
    min-height: 96px;
  }

  .current-plan-page .dashboard-tabs-wrap {
    background: #fff;
  }

  .profile-dashboard-page .dashboard-tabs-wrap {
    background: #fff;
  }

  .profile-content-section {
    padding-block: 44px 76px;
  }

  .profile-primary-column {
    gap: 24px;
  }

  .profile-identity-card {
    margin-bottom: 6px;
  }

  .profile-wizard-header,
  .profile-wizard-footer {
    padding-inline: 20px;
  }

  .profile-wizard-content {
    width: min(100% - 32px, 1440px);
  }

  .profile-wizard-panel-header {
    padding-inline: 20px;
  }

  .profile-wizard-panel-body {
    padding: 20px;
  }

  .profile-form-grid,
  .profile-choice-field.is-columns .profile-choice-options,
  .profile-choice-options.is-compact {
    grid-template-columns: 1fr;
  }

  .profile-segmented-options {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .profile-form-row-label {
    align-items: start;
    flex-direction: column;
    gap: 4px;
  }

  .profile-budget-marks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    font-size: 15px;
  }

  .current-plan-section {
    padding-block: 44px 76px;
  }

  .current-plan-inner {
    gap: 30px;
  }

  .pricing-plan-card {
    grid-template-rows: 52px 88px 172px 58px 58px 1fr auto;
    min-height: 660px;
    padding: 28px 24px;
  }

  .pricing-plan-visual img {
    height: 150px;
  }

  .pricing-comparison-dialog {
    max-height: 92vh;
    padding: 46px 18px 24px;
  }

  .pricing-comparison-scroll {
    max-height: calc(92vh - 128px);
  }
}

@media (max-width: 620px) {
  .dashboard-hero-inner {
    padding-block: 30px 34px;
  }

  .dashboard-plan-card {
    align-items: stretch;
    flex-direction: column;
  }

  .dashboard-upgrade-button {
    width: 100%;
  }

  .dashboard-next-card,
  .dashboard-step-card,
  .dashboard-step-expanded,
  .dashboard-promo-card,
  .dashboard-material-card {
    padding: 18px;
  }

  .dashboard-next-card {
    gap: 18px;
  }

  .dashboard-step-topline {
    gap: 14px;
  }

  .dashboard-outline-button,
  .dashboard-card-cta,
  .dashboard-promo-card .button {
    width: 100%;
  }

  .dashboard-outline-button {
    grid-column: 1 / -1;
  }

  .dashboard-saved-empty {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 16px;
    min-height: auto;
    padding: 24px 20px;
    text-align: center;
  }

  .dashboard-material-card {
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: start;
  }

  .dashboard-material-card img {
    width: 64px;
    height: 64px;
  }

  .dashboard-material-card time {
    grid-column: 2;
    justify-self: start;
  }

  .dashboard-sidebar-heading {
    display: grid;
  }

  .ambassador-primary-column {
    gap: 24px;
  }

  .ambassador-timeline {
    margin-top: 18px;
  }

  .ambassador-step {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 16px;
    min-height: 100px;
    padding-bottom: 24px;
  }

  .ambassador-step:not(:last-child)::after {
    left: 22px;
  }

  .ambassador-step-number {
    width: 44px;
    height: 44px;
  }

  .ambassador-share-card {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .ambassador-copy-button {
    width: 100%;
  }

  .ambassador-referral-table,
  .ambassador-referral-table thead,
  .ambassador-referral-table tbody,
  .ambassador-referral-table tr,
  .ambassador-referral-table th,
  .ambassador-referral-table td {
    display: block;
  }

  .ambassador-referral-table {
    min-width: 0;
  }

  .ambassador-referral-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .ambassador-referral-table tr {
    overflow: hidden;
    border: 1px solid #dce3ef;
    border-radius: 12px;
    background: #fff;
  }

  .ambassador-referral-table td {
    display: grid;
    grid-template-columns: minmax(120px, 0.7fr) minmax(0, 1fr);
    gap: 12px;
    border-top: 0;
    background: #fff;
    padding: 12px 16px;
  }

  .ambassador-referral-table td::before {
    content: attr(data-label);
    color: #6d7480;
    font-weight: 900;
  }

  .profile-identity-card {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 20px;
    min-height: 112px;
  }

  .profile-avatar-wrap,
  .profile-avatar {
    width: 86px;
    height: 86px;
  }

  .profile-avatar {
    font-size: 26px;
  }

  .profile-avatar-action {
    right: -10px;
    bottom: -12px;
    width: 42px;
    height: 42px;
  }

  .profile-avatar-action svg {
    width: 20px;
    height: 20px;
  }

  .profile-task-row {
    grid-template-columns: 48px minmax(0, 1fr) 30px;
    gap: 16px;
    min-height: auto;
    padding-block: 22px;
  }

  .profile-task-button,
  .profile-task-status {
    grid-column: 2;
    justify-self: start;
    margin-top: 8px;
  }

  .profile-task-arrow {
    grid-column: 3;
    grid-row: 1 / span 2;
    justify-self: end;
  }

  .profile-task-button {
    width: min(100%, 220px);
    min-height: 50px;
    font-size: 16px;
  }

  .profile-task-copy span {
    font-size: 15px;
  }

  .profile-wizard-sidebar {
    padding: 18px 16px;
  }

  .profile-wizard-sidebar nav {
    grid-template-columns: 1fr;
    overflow: visible;
  }

  .profile-wizard-nav-item {
    min-width: 0;
  }

  .profile-wizard-header {
    min-height: 64px;
  }

  .profile-wizard-header h2 {
    font-size: 20px;
  }

  .profile-wizard-header a {
    font-size: 14px;
  }

  .profile-wizard-panel-header {
    grid-template-columns: 34px minmax(0, 1fr) 18px;
    gap: 10px;
  }

  .profile-wizard-panel-header h3 {
    font-size: 18px;
  }

  .profile-form-field,
  .profile-textarea-field,
  .profile-radio-stack legend {
    font-size: 16px;
  }

  .profile-form-field input,
  .profile-form-field select,
  .profile-full-input,
  .profile-textarea-field textarea {
    font-size: 16px;
  }

  .profile-phone-field {
    grid-template-columns: 1fr;
  }

  .profile-phone-field select {
    border-right: 0;
    border-bottom: 1px solid #e3e7ec;
  }

  .profile-segmented-options {
    grid-template-columns: 1fr;
  }

  .profile-choice-option {
    grid-template-columns: 26px 30px minmax(0, 1fr);
    font-size: 14px;
  }

  .profile-choice-icon svg {
    width: 24px;
    height: 24px;
  }

  .profile-upload-dropzone {
    min-height: 150px;
  }

  .profile-budget-field {
    gap: 16px;
  }

  .profile-budget-marks {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 4px;
    font-size: clamp(10px, 2.4vw, 13px);
  }

  .profile-budget-marks span {
    text-align: center;
    white-space: nowrap;
  }

  .profile-budget-field input[type="range"] {
    width: 100%;
  }

  .profile-wizard-footer {
    position: sticky;
    bottom: 0;
    z-index: 5;
    min-height: 74px;
    border-top: 1px solid #eef0f4;
  }

  .profile-wizard-next {
    min-width: 112px;
  }

  .pricing-plan-grid {
    grid-template-columns: 1fr;
  }

  .pricing-plan-card {
    grid-template-rows: 50px auto 168px auto auto auto auto;
    min-height: auto;
    gap: 18px;
  }

  .pricing-plan-badge {
    min-height: 38px;
    padding-inline: 16px;
    font-size: 15px;
  }

  .pricing-plan-cta,
  .pricing-compare-button {
    min-height: 56px;
    font-size: 17px;
  }

  .pricing-discount-ribbon {
    top: 12px;
    right: 12px;
    width: 86px;
    min-height: 38px;
    font-size: 11px;
    border-radius: 11px;
  }

  .pricing-modal-backdrop {
    align-items: start;
    padding: 0;
  }

  .pricing-comparison-dialog {
    width: 100%;
    min-height: 100dvh;
    max-height: none;
    border-radius: 0;
    gap: 18px;
    padding: 58px 16px 22px;
  }

  .pricing-modal-close {
    top: 14px;
    right: 14px;
    width: 42px;
    height: 42px;
    background: #e9eff7;
    font-size: 26px;
  }

  .pricing-comparison-dialog h2 {
    max-width: 280px;
    justify-self: center;
    font-size: 24px;
  }

  .pricing-comparison-mobile-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .pricing-comparison-mobile-action {
    display: grid;
    grid-template-rows: auto auto;
    align-items: center;
    justify-items: center;
    gap: 8px;
    min-height: 82px;
    border: 1px solid #cdd9ea;
    border-radius: 14px;
    background: #fff;
    color: #1f2933;
    padding: 10px 8px;
    text-decoration: none;
    text-align: center;
  }

  .pricing-comparison-mobile-action span {
    color: #26313f;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
  }

  .pricing-comparison-mobile-action strong {
    width: 100%;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--green);
    color: #fff;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.1;
  }

  .pricing-comparison-scroll {
    width: 100%;
    max-height: calc(100dvh - 242px);
    border: 0;
    border-radius: 0;
    overflow-y: auto;
  }

  .pricing-comparison-table {
    width: 100%;
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0 12px;
    background: transparent;
    font-size: 14px;
  }

  .pricing-comparison-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .pricing-comparison-table tbody,
  .pricing-comparison-table tr,
  .pricing-comparison-table th,
  .pricing-comparison-table td {
    display: block;
  }

  .pricing-comparison-table tr {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #cdd9ea;
    border-radius: 16px;
    background: #fff;
  }

  .pricing-comparison-table tbody th {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 1px solid #e2e9f2;
    background: #f8fbff;
    padding: 15px 16px;
    color: #172238;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
  }

  .pricing-comparison-table tbody th small {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-weight: 600;
  }

  .pricing-comparison-table td {
    display: grid;
    grid-template-rows: minmax(30px, auto) 30px;
    align-items: center;
    justify-items: center;
    gap: 6px;
    min-height: 78px;
    border-right: 1px solid #edf2f7;
    border-bottom: 0;
    background: #fff;
    padding: 12px 6px 10px;
    text-align: center;
  }

  .pricing-comparison-table td::before {
    content: attr(data-label);
    color: #44546a;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.15;
  }

  .pricing-comparison-table td:nth-last-child(1) {
    border-right: 0;
  }

  .pricing-comparison-table .is-highlighted {
    background: #f0fbf8;
  }

  .pricing-comparison-check {
    width: 26px;
    height: 26px;
    border-color: #2c6b52;
    background: #e9fbf2;
    color: #1d7f4a;
    font-size: 14px;
  }

  .pricing-comparison-empty {
    width: 26px;
    height: 26px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: #eef2f7;
  }

  .pricing-comparison-empty::before {
    content: "–";
    color: #8a96a8;
    font-weight: 900;
  }
}

@media (max-width: 1180px) {
  .auth-shell {
    grid-template-columns: minmax(380px, 46%) minmax(0, 54%);
  }

  .auth-panel {
    padding: 44px;
  }

  .auth-testimonial-card {
    left: 28px;
    right: 28px;
    bottom: 42px;
    width: auto;
  }
}

@media (max-width: 920px) {
  .auth-shell {
    min-height: auto;
    grid-template-columns: 1fr;
    overflow: visible;
  }

  .auth-panel {
    min-height: auto;
    padding: 34px 24px 46px;
  }

  .auth-panel-inner {
    width: min(100%, 560px);
  }

  .auth-logo {
    margin-bottom: 46px;
  }

  .auth-visual-panel {
    min-height: 500px;
  }

  .auth-testimonial-card {
    left: 24px;
    right: 24px;
    bottom: 24px;
    width: auto;
  }
}

@media (max-width: 620px) {
  .auth-panel {
    padding: 24px 18px 34px;
  }

  .auth-logo-mark {
    width: 34px;
    height: 34px;
    border-width: 4px;
    border-radius: 11px 11px 11px 4px;
  }

  .auth-logo-mark::before {
    inset: 7px 5px 9px 5px;
    border-width: 4px;
  }

  .auth-logo {
    gap: 10px;
    margin-bottom: 36px;
  }

  .auth-panel h1 {
    margin-bottom: 24px;
  }

  .auth-provider-button,
  .auth-email-toggle,
  .auth-submit {
    min-height: 58px;
  }

  .auth-provider-button {
    justify-content: flex-start;
    padding-inline: 22px;
  }

  .auth-email-toggle {
    padding-inline: 20px;
  }

  .auth-provider-button svg {
    width: 22px;
    height: 22px;
  }

  .auth-divider {
    margin-block: 24px;
  }

  .auth-consent {
    margin-block: 24px;
  }

  .auth-visual-panel {
    min-height: 430px;
  }

  .auth-testimonial-card {
    gap: 22px;
    padding: 22px;
  }

  .auth-testimonial-footer {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .auth-testimonial-controls {
    justify-content: flex-start;
  }

  .auth-testimonial-controls button {
    width: 48px;
    height: 48px;
    font-size: 21px;
  }
}

@media (max-width: 420px) {
  .mobile-explore-primary-links {
    grid-template-columns: 1fr;
  }

  .mobile-drawer .mobile-explore-panel .mobile-explore-primary-card,
  .mobile-drawer .mobile-explore-panel .mobile-explore-primary-card:first-child {
    grid-column: auto;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    align-content: center;
    min-height: 74px;
  }

  .mobile-explore-primary-card strong,
  .mobile-explore-accordion summary strong {
    font-size: 16px;
  }

  .mobile-explore-primary-card small,
  .mobile-explore-list-link small {
    font-size: 11.5px;
  }

  .mobile-drawer .mobile-explore-panel .mobile-explore-list-link {
    grid-template-columns: 40px minmax(0, 1fr) 14px;
    min-height: 68px;
  }

  .mobile-explore-list-link .menu-item-icon,
  .mobile-explore-list-link .menu-item-mark,
  .mobile-explore-list-link .menu-item-image {
    width: 38px;
    height: 38px;
  }

  .mobile-drawer .mobile-explore-panel .mobile-explore-section-cta {
    width: 100%;
    justify-content: center;
  }

  .mobile-explore-panel .explore-quick-paths {
    padding: 12px;
  }

  .mobile-explore-panel .explore-promo-card {
    min-height: 170px;
  }
}

/* Bold editorial homepage redesign */
.si-home {
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 4%, rgba(32, 195, 90, 0.14), transparent 28%),
    radial-gradient(circle at 82% 10%, rgba(60, 115, 244, 0.12), transparent 30%),
    linear-gradient(180deg, #f7fbff 0%, #f7f8fb 28%, #ffffff 100%);
  color: var(--ink);
}

.si-home::before,
.si-home::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
}

.si-home::before {
  inset: 520px 0 0;
  background:
    radial-gradient(ellipse at 12% 7%, rgba(60, 115, 244, 0.13), transparent 28%),
    radial-gradient(ellipse at 88% 16%, rgba(32, 195, 90, 0.12), transparent 30%),
    linear-gradient(
      180deg,
      rgba(225, 244, 250, 0) 0%,
      rgba(225, 244, 250, 0.72) 10%,
      rgba(239, 246, 255, 0.92) 28%,
      rgba(255, 255, 255, 0.76) 45%,
      rgba(232, 248, 246, 0.7) 62%,
      rgba(247, 250, 255, 0.92) 82%,
      rgba(255, 255, 255, 0) 100%
    );
}

.si-home::after {
  top: 620px;
  left: 50%;
  width: min(1320px, 92vw);
  height: calc(100% - 620px);
  border-radius: 999px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(47, 85, 255, 0.08), transparent 38%),
    linear-gradient(180deg, rgba(47, 85, 255, 0.08), rgba(32, 195, 90, 0.06) 48%, transparent 100%);
  opacity: 0.72;
  filter: blur(34px);
  transform: translateX(-50%);
}

.si-home > section,
.si-home > .container {
  position: relative;
  z-index: 1;
  scroll-margin-top: 112px;
}

.si-home > .container,
.si-home-search-shell {
  width: min(100% - 64px, 1500px);
  max-width: 1500px;
}

.si-home h1,
.si-home h2,
.si-home h3,
.si-home p {
  margin: 0;
}

.si-home h1,
.si-home h2 {
  font-weight: 950;
  line-height: 0.96;
  letter-spacing: 0;
  color: #0c1324;
}

.si-home h1 {
  max-width: 780px;
  font-size: 84px;
  text-transform: uppercase;
}

.si-home h2 {
  font-size: 56px;
  text-transform: uppercase;
}

.si-home h3 {
  color: #111827;
  font-size: 24px;
  line-height: 1.08;
  font-weight: 900;
}

.si-home p {
  color: #647086;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 700;
}

.si-home-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 8px 14px;
  background: rgba(32, 195, 90, 0.12);
  color: var(--green-dark) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-transform: uppercase;
}

.si-home-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: clamp(48px, 5vw, 76px) 0 clamp(54px, 6vw, 88px);
  background:
    radial-gradient(circle at 82% 16%, rgba(47, 85, 255, 0.08), transparent 26%),
    radial-gradient(circle at 8% 88%, rgba(32, 195, 90, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfcff 56%, rgba(242, 248, 255, 0.76) 100%);
}

.si-home-hero::after {
  content: "";
  position: absolute;
  right: -12vw;
  bottom: -180px;
  z-index: 0;
  width: min(760px, 66vw);
  height: min(760px, 66vw);
  border: 1px solid rgba(47, 85, 255, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.si-home-hero64-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(520px, 0.54fr);
  gap: clamp(48px, 6vw, 88px);
  align-items: center;
  width: min(100% - 64px, 1580px);
  max-width: 1580px;
}

@media (min-width: 1200px) {
  .si-home-hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
  }

}

.si-home-hero64-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 22px;
  min-width: 0;
}

.si-home-hero64-copy .si-home-eyebrow {
  background: #eef7f1;
  color: #0f9f53 !important;
}

.si-home-hero64-copy h1 {
  max-width: 650px;
  color: #050812;
  font-size: clamp(60px, 6.2vw, 88px);
  text-transform: none;
  text-wrap: balance;
}

.si-home-hero64-copy h1 span {
  display: block;
}

.si-home-hero64-copy h1 .is-muted {
  color: #667085;
}

.si-home-hero64-copy > p:not(.si-home-eyebrow) {
  max-width: 620px;
  color: #667085;
  font-size: clamp(18px, 1.45vw, 21px);
  font-weight: 700;
}

.si-home-hero64-copy .button-primary {
  box-shadow: 0 18px 40px rgba(14, 165, 91, 0.22);
}

.si-home-hero64-copy .si-home-dark-outline {
  color: #101827;
  border-color: #d9e1ee;
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(20, 35, 68, 0.07);
}

.si-home-hero64-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  color: #667085 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.si-home-hero64-social span {
  color: #facc15;
  letter-spacing: 2px;
}

.si-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
}

.si-home-dark-outline {
  color: #111827;
  border-color: rgba(17, 24, 39, 0.18);
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.05);
}

.si-home-hero64-collage {
  position: relative;
  width: 100%;
  max-width: 700px;
  min-height: 650px;
  justify-self: end;
  isolation: isolate;
}

.si-home-hero64-soft-card,
.si-home-hero64-image-card,
.si-home-hero64-testimonial,
.si-home-hero64-rating-pill,
.si-home-hero64-proof-list div {
  border: 1px solid #e5eaf2;
  background: #ffffff;
  box-shadow: 0 22px 60px rgba(20, 35, 68, 0.12);
}

.si-home-hero64-soft-card {
  position: absolute;
  top: 8px;
  right: 0;
  z-index: 0;
  width: 44%;
  height: 290px;
  border-radius: 28px;
  background: #f3f5f8;
}

.si-home-hero64-soft-card span {
  position: absolute;
  top: 80px;
  right: 46px;
  width: 86px;
  height: 86px;
  border-radius: 26px;
  background:
    linear-gradient(135deg, transparent 39%, #0b1020 40% 56%, transparent 57%),
    repeating-linear-gradient(90deg, #0b1020 0 6px, transparent 6px 12px);
  opacity: 0.9;
}

.si-home-hero64-image-card {
  position: absolute;
  top: 76px;
  right: 116px;
  z-index: 1;
  overflow: hidden;
  width: min(400px, 58%);
  height: 360px;
  margin: 0;
  border-radius: 30px;
  background: #f3f5f8;
}

.si-home-hero64-image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 16, 32, 0), rgba(11, 16, 32, 0.22));
  pointer-events: none;
}

.si-home-hero64-image-card img,
.si-home-hero64-testimonial img,
.si-home-hero64-avatar-stack img,
.si-home-platform-media img,
.si-home-program-image img,
.si-home-insight-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.si-home-hero64-image-card img {
  object-position: center 46%;
}

.si-home-hero64-testimonial {
  position: absolute;
  bottom: 40px;
  left: 0;
  z-index: 3;
  display: grid;
  gap: 12px;
  width: min(320px, 46%);
  border-radius: 24px;
  padding: 18px;
}

.si-home-hero64-testimonial > img {
  width: 112px;
  height: 112px;
  border-radius: 18px;
}

.si-home-hero64-stars {
  color: #facc15;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 2px;
}

.si-home-hero64-testimonial blockquote {
  margin: 0;
  color: #0b1020;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
}

.si-home-hero64-testimonial footer {
  display: grid;
  gap: 4px;
}

.si-home-hero64-testimonial footer strong {
  color: #0b1020;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.1;
}

.si-home-hero64-testimonial footer span {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.si-home-hero64-rating-pill {
  position: absolute;
  right: 0;
  bottom: 32px;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: min(370px, 51%);
  max-width: min(370px, 51%);
  min-height: 68px;
  border-radius: 16px;
  padding: 12px 14px;
}

.si-home-hero64-avatar-stack {
  display: flex;
  align-items: center;
}

.si-home-hero64-avatar-stack img {
  width: 34px;
  height: 34px;
  margin-left: -8px;
  border: 2px solid #ffffff;
  border-radius: 999px;
}

.si-home-hero64-avatar-stack img:first-child {
  margin-left: 0;
}

.si-home-hero64-rating-pill strong {
  color: #0b1020;
  font-size: 17px;
  font-weight: 950;
}

.si-home-hero64-rating-pill > span:last-child {
  color: #667085;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.15;
}

.si-home-hero64-proof-list {
  position: absolute;
  right: 0;
  bottom: 116px;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: min(370px, 51%);
}

.si-home-hero64-proof-list div {
  position: relative;
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 104px;
  border-radius: 18px;
  padding: 14px;
}

.si-home-hero64-proof-list div > span {
  position: relative;
  top: auto;
  left: auto;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.12);
}

.si-home-hero64-proof-list strong {
  color: #0b1020;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.15;
}

.si-home-hero64-proof-list p {
  color: #667085;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.35;
}

.si-home-stats-strip {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: -18px;
  margin-bottom: 0;
  padding: 18px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(91, 141, 255, 0.24);
  border-radius: 34px;
  background:
    radial-gradient(circle at 16% 18%, rgba(47, 85, 255, 0.24), transparent 32%),
    radial-gradient(circle at 86% 78%, rgba(34, 197, 94, 0.2), transparent 30%),
    #101b31;
  box-shadow: 0 28px 80px rgba(15, 28, 52, 0.18);
}

.si-home-stat-card {
  position: relative;
  z-index: 1;
  min-height: 126px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 8px;
  border: 1px solid #dbe3f0;
  border-radius: 26px;
  padding: 22px;
  text-align: center;
  background: rgba(255, 255, 255, 0.9);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 18px 48px rgba(0, 0, 0, 0.14);
}

.si-home-stat-card-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
}

.si-home-stat-icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(47, 85, 255, 0.17);
  border-radius: 13px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(238, 245, 255, 0.72)),
    rgba(47, 85, 255, 0.08);
  color: #2f55ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.si-home-stat-icon .si-home-action-icon {
  width: 20px;
  height: 20px;
  stroke-width: 2;
}

.si-home-stat-card strong {
  display: block;
  min-width: 0;
  color: #0c1324;
  font-size: 34px;
  line-height: 1;
  font-weight: 950;
}

.si-home-stat-label {
  color: #68758b;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.si-home-stat-card p {
  margin: 0;
  color: #5f6d83;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
}

.si-home-mobile-warp {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: 0.68;
}

.si-home-mobile-warp::before {
  content: "";
  position: absolute;
  inset: -45% -18%;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
  background-size: 48px 48px;
  transform: perspective(220px) rotateX(58deg) translateY(-18%);
  transform-origin: center top;
}

.si-home-mobile-warp > span {
  position: absolute;
  top: 100%;
  width: 18px;
  height: 180px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(91, 141, 255, 0.95), transparent);
  filter: blur(0.2px);
  animation: si-mobile-warp-beam 3.8s linear infinite;
}

.si-home-mobile-warp > span:nth-child(1) {
  left: 18%;
  animation-delay: 0s;
}

.si-home-mobile-warp > span:nth-child(2) {
  left: 42%;
  animation-delay: 0.9s;
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.86), transparent);
}

.si-home-mobile-warp > span:nth-child(3) {
  left: 66%;
  animation-delay: 1.8s;
  background: linear-gradient(180deg, rgba(125, 179, 255, 0.88), transparent);
}

.si-home-mobile-warp > span:nth-child(4) {
  left: 84%;
  animation-delay: 2.6s;
  background: linear-gradient(180deg, rgba(167, 139, 250, 0.75), transparent);
}

@keyframes si-mobile-warp-beam {
  0% {
    transform: translate3d(-50%, 38%, 0) scaleY(0.72);
    opacity: 0;
  }

  18% {
    opacity: 0.9;
  }

  100% {
    transform: translate3d(-50%, -185%, 0) scaleY(1.1);
    opacity: 0;
  }
}

.si-home-search-finder {
  position: relative;
  width: 100%;
  margin: 28px 0 76px;
  padding: 90px 0 98px;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 0%, rgba(47, 85, 255, 0.12), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(34, 197, 94, 0.1), transparent 30%),
    linear-gradient(180deg, #eef3ff 0%, #f7faff 100%);
  box-shadow:
    inset 0 42px 70px rgba(255, 255, 255, 0.42),
    inset 0 -44px 82px rgba(222, 244, 249, 0.58);
}

.si-home-search-finder::before,
.si-home-search-finder::after {
  content: "";
  position: absolute;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(47, 85, 255, 0.16);
  border-radius: 50%;
  pointer-events: none;
}

.si-home-search-finder::before {
  top: -390px;
  left: 4%;
}

.si-home-search-finder::after {
  right: 2%;
  bottom: -420px;
}

.si-home-search-shell {
  position: relative;
  z-index: 1;
  padding-top: 34px;
}

.si-home-search-tabs {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  display: flex;
  gap: 6px;
  padding: 7px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: #26334f;
  box-shadow: 0 18px 44px rgba(13, 24, 47, 0.2);
  transform: translateX(-50%);
}

.si-home-search-tab {
  min-width: 132px;
  height: 50px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.88);
  font: inherit;
  font-size: 17px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.si-home-search-tab:hover {
  color: #fff;
  transform: translateY(-1px);
}

.si-home-search-tab:focus-visible {
  outline: 3px solid rgba(91, 141, 255, 0.58);
  outline-offset: 3px;
}

.si-home-search-tab.is-active {
  background: #eef3ff;
  color: #2f55ff;
  box-shadow: inset 0 0 0 1px rgba(47, 85, 255, 0.08);
}

.si-home-search-card {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 34px;
  padding: 58px 48px 46px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.04), transparent 38%),
    #111c34;
  box-shadow:
    0 36px 80px rgba(17, 28, 52, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.si-home-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 170px;
  gap: 26px;
  align-items: end;
}

.si-home-search-form.is-single-field {
  grid-template-columns: minmax(0, 1fr) 180px;
  max-width: 920px;
  margin-inline: auto;
}

.si-home-search-field {
  display: grid;
  gap: 15px;
  min-width: 0;
}

.si-home-search-field > label {
  color: #fff;
  font-size: clamp(18px, 1.5vw, 24px);
  font-weight: 950;
  line-height: 1.05;
}

.si-home-search-control {
  position: relative;
  min-width: 0;
}

.si-home-search-control input,
.si-home-search-control select {
  width: 100%;
  height: 68px;
  border: 1px solid #33425e;
  border-radius: 999px;
  padding: 0 58px 0 26px;
  background: rgba(14, 26, 49, 0.9);
  color: #fff;
  font: inherit;
  font-size: 18px;
  font-weight: 850;
  outline: 0;
  appearance: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease;
}

.si-home-search-control input::placeholder {
  color: #aab2c5;
}

.si-home-search-control input::-webkit-search-decoration,
.si-home-search-control input::-webkit-search-cancel-button,
.si-home-search-control input::-webkit-search-results-button,
.si-home-search-control input::-webkit-search-results-decoration {
  display: none;
}

.si-home-search-control select:invalid,
.si-home-search-control select option[value=""] {
  color: #aab2c5;
}

.si-home-search-control input:focus,
.si-home-search-control select:focus {
  border-color: #6f8dff;
  background: #121f39;
  box-shadow: 0 0 0 4px rgba(47, 85, 255, 0.22);
}

.si-home-search-chevron {
  position: absolute;
  top: 50%;
  right: 23px;
  display: inline-flex;
  width: 22px;
  height: 22px;
  color: #aab2c5;
  pointer-events: none;
  transform: translateY(-50%);
}

.si-home-search-chevron svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.si-home-search-options {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  left: 0;
  z-index: 12;
  display: grid;
  gap: 6px;
  max-height: 326px;
  overflow-y: auto;
  border: 1px solid rgba(195, 209, 230, 0.92);
  border-radius: 22px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 22px 52px rgba(11, 23, 46, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.si-home-search-options::-webkit-scrollbar {
  width: 8px;
}

.si-home-search-options::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(99, 130, 180, 0.34);
}

.si-home-search-option {
  display: grid;
  gap: 4px;
  width: 100%;
  border: 0;
  border-radius: 16px;
  padding: 12px 14px;
  background: transparent;
  color: #12213a;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    background-color 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

.si-home-search-option span {
  overflow: hidden;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.si-home-search-option small {
  overflow: hidden;
  color: #6b7890;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.si-home-search-option:hover,
.si-home-search-option:focus-visible,
.si-home-search-option[aria-selected="true"] {
  background: #eef4ff;
  color: #1f4dff;
  transform: translateY(-1px);
}

.si-home-search-option:focus-visible {
  outline: 2px solid rgba(47, 85, 255, 0.45);
  outline-offset: 2px;
}

.si-home-search-option-empty {
  display: block;
  border-radius: 16px;
  padding: 14px;
  color: #718099;
  font-size: 14px;
  font-weight: 850;
  text-align: center;
}

.si-home-search-submit {
  height: 68px;
  border: 0;
  border-radius: 999px;
  background: #2f55ff;
  color: #fff;
  font: inherit;
  font-size: 19px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 18px 34px rgba(47, 85, 255, 0.32);
  transition:
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.si-home-search-submit:hover {
  background: #2448e8;
  box-shadow: 0 22px 42px rgba(47, 85, 255, 0.4);
  transform: translateY(-2px);
}

.si-home-search-submit:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.72);
  outline-offset: 4px;
}

.si-home-search-submit:active {
  transform: translateY(0);
}

.si-home-search-helper {
  display: block;
  width: min(100%, 540px);
  max-width: none;
  margin: 22px auto 0;
  padding-inline: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.55;
  text-align: center;
  text-wrap: balance;
}

.si-home-platform {
  position: relative;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 24px;
  align-items: stretch;
  margin-top: -20px;
  margin-bottom: 92px;
}

.si-home-platform-copy,
.si-home-platform-media,
.si-home-platform-card,
.si-home-journey-card,
.si-home-results-stat,
.si-home-testimonial-card,
.si-home-partners,
.si-home-join,
.si-home-contact,
.si-home-faq-cta {
  border: 1px solid #dbe3f0;
  border-radius: 30px;
  box-shadow: 0 20px 48px rgba(28, 46, 92, 0.08);
}

.si-home-platform-copy {
  display: grid;
  align-content: center;
  gap: 20px;
  padding: 34px;
  background: #fff;
}

.si-home-platform-copy p:not(.si-home-eyebrow) {
  max-width: 580px;
}

.si-home-platform-media {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  margin: 0;
  background: #111827;
}

.si-home-platform-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.02), rgba(17, 24, 39, 0.36));
}

.si-home-platform-media > .si-home-spain-flag {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 1;
  width: 84px;
  height: 56px;
  border: 5px solid rgba(255, 255, 255, 0.92);
  border-radius: 18px;
  background: #ffc400;
  object-fit: cover;
  box-shadow: 0 16px 30px rgba(17, 24, 39, 0.28);
}

.si-home-platform-media > .si-home-spain-flag::before {
  content: none;
}

.si-home-platform-cards {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.si-home-platform-card {
  position: relative;
  display: grid;
  gap: 14px;
  min-height: 220px;
  overflow: hidden;
  padding: 26px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.si-home-platform-card h3,
.si-home-platform-card p,
.si-home-platform-card .si-home-action-icon-wrap,
.si-home-journey-card h3,
.si-home-journey-card p,
.si-home-journey-card-top {
  position: relative;
  z-index: 1;
}

.si-home-action-icon-wrap {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(60, 115, 244, 0.18);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.48)),
    rgba(60, 115, 244, 0.11);
  color: #3c73f4;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 14px 30px rgba(28, 46, 92, 0.08);
}

.si-home-action-icon {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.si-home-card-watermark {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 116px;
  height: 116px;
  color: rgba(60, 115, 244, 0.1);
  pointer-events: none;
  transform: rotate(6deg);
}

.si-home-card-watermark .si-home-action-icon {
  width: 100%;
  height: 100%;
  stroke-width: 1.15;
}

.si-home-platform-card:hover,
.si-home-platform-card:focus-visible,
.si-home-journey-card:hover,
.si-home-journey-card:focus-visible,
.si-home-category-card:hover,
.si-home-category-card:focus-visible,
.si-home-program-card:hover,
.si-home-program-card:focus-within,
.si-home-insight-card:hover,
.si-home-insight-card:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 24px 56px rgba(28, 46, 92, 0.13);
}

.si-home-platform-card.is-aqua,
.si-home-journey-card.is-aqua,
.si-home-category-card.is-aqua {
  border-color: #bfeee6;
  background: linear-gradient(135deg, #e5f6ff 0%, #e4fff4 100%);
}

.si-home-platform-card.is-purple,
.si-home-journey-card.is-purple,
.si-home-category-card.is-purple {
  border-color: #d7d0ff;
  background: linear-gradient(135deg, #eee9ff 0%, #f4f0ff 100%);
}

.si-home-platform-card.is-green,
.si-home-journey-card.is-green,
.si-home-category-card.is-green {
  border-color: #bfeccf;
  background: linear-gradient(135deg, #e4fbec 0%, #f1fff7 100%);
}

.si-home-platform-card.is-blue,
.si-home-journey-card.is-blue,
.si-home-category-card.is-blue {
  border-color: #c9dbff;
  background: linear-gradient(135deg, #e8f1ff 0%, #f5f9ff 100%);
}

.si-home-platform-card.is-dark,
.si-home-journey-card.is-dark,
.si-home-category-card.is-dark {
  background: #111827;
}

.si-home-platform-card.is-dark h3,
.si-home-platform-card.is-dark p,
.si-home-journey-card.is-dark h3,
.si-home-journey-card.is-dark p,
.si-home-category-card.is-dark h3,
.si-home-category-card.is-dark p {
  color: #fff;
}

.si-home-platform-card.is-white,
.si-home-journey-card.is-white,
.si-home-category-card.is-white {
  background: linear-gradient(135deg, #fff 0%, #f8fbff 100%);
}

.si-home-global-map {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  min-height: 0;
  overflow: hidden;
  margin-bottom: 92px;
  border: 1px solid rgba(91, 141, 255, 0.24);
  border-radius: 34px;
  padding: clamp(28px, 4.4vw, 58px);
  background:
    linear-gradient(110deg, rgba(255, 255, 255, 0.76) 0%, rgba(245, 250, 255, 0.9) 40%, rgba(231, 244, 255, 0.78) 100%),
    radial-gradient(ellipse at 78% 46%, rgba(47, 85, 255, 0.22), transparent 44%),
    linear-gradient(135deg, #f6fcff 0%, #e7f2ff 48%, #effdf7 100%);
  box-shadow: 0 24px 70px rgba(28, 46, 92, 0.12);
  isolation: isolate;
}

.si-home-global-map-copy {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 18px;
  max-width: 540px;
  margin: 0;
  text-align: left;
  justify-items: start;
}

.si-home-global-map-copy h2 {
  max-width: 620px;
}

.si-home-global-map-copy p:not(.si-home-eyebrow) {
  max-width: 560px;
}

.si-home-globe-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
}

.si-home-globe-viewport {
  position: relative;
  width: 100%;
  height: clamp(520px, 42vw, 640px);
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(91, 141, 255, 0.2);
  border-radius: 32px;
  background:
    radial-gradient(circle at 50% 48%, rgba(78, 137, 255, 0.24), transparent 32%),
    radial-gradient(circle at 50% 50%, rgba(34, 197, 94, 0.14), transparent 44%),
    linear-gradient(160deg, #07162f 0%, #0b2147 48%, #102d5a 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    inset 0 32px 72px rgba(255, 255, 255, 0.08),
    0 24px 60px rgba(28, 46, 92, 0.18);
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.si-home-globe-viewport:active {
  cursor: grabbing;
}

.si-home-globe-viewport canvas {
  display: block;
}

.si-home-globe-map {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: min(calc(100% - 36px), 1040px);
  aspect-ratio: 2 / 1;
  overflow: hidden;
  border: 1px solid rgba(177, 207, 255, 0.2);
  border-radius: 26px;
  transform: translate(-50%, -50%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 18px 56px rgba(6, 23, 50, 0.28);
}

.si-home-globe-map img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  opacity: 0.68;
  filter: saturate(0.92) contrast(1.08) brightness(0.8);
}

.si-home-globe-map-shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 53% 44%, rgba(34, 197, 94, 0.18), transparent 20%),
    radial-gradient(circle at 50% 50%, rgba(80, 145, 255, 0.12), transparent 52%),
    linear-gradient(180deg, rgba(7, 22, 47, 0.08), rgba(7, 22, 47, 0.42));
  pointer-events: none;
}

.si-home-globe-routes {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.si-home-globe-routes path {
  fill: none;
  stroke: rgba(159, 241, 189, 0.78);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-dasharray: 8 10;
  filter: drop-shadow(0 0 10px rgba(34, 197, 94, 0.55));
  animation: si-globe-route 1.8s linear infinite;
  animation-delay: var(--route-delay);
}

.si-home-globe-ambient {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at center, #000 0%, #000 42%, transparent 76%);
  opacity: 0.72;
  pointer-events: none;
}

.si-home-globe-fallback {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, rgba(94, 165, 255, 0.24), transparent 31%),
    transparent;
  pointer-events: none;
}

.si-home-globe-fallback span {
  position: absolute;
  border: 1px solid rgba(177, 207, 255, 0.34);
  border-radius: 999px;
  animation: si-globe-pulse 1.8s ease-in-out infinite;
}

.si-home-globe-fallback span:nth-child(1) {
  width: 42%;
  aspect-ratio: 1;
  background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.76), rgba(78, 137, 255, 0.28) 24%, rgba(12, 43, 88, 0.2) 62%);
  box-shadow: 0 0 70px rgba(97, 164, 255, 0.3);
}

.si-home-globe-fallback span:nth-child(2) {
  width: 58%;
  aspect-ratio: 1;
  animation-delay: 0.18s;
}

.si-home-globe-fallback span:nth-child(3) {
  width: 72%;
  aspect-ratio: 1;
  animation-delay: 0.36s;
}

.si-home-globe-static-points {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.si-home-globe-static-point {
  position: absolute;
  left: var(--point-x);
  top: var(--point-y);
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  background: var(--point-color, #ff8a4c);
  color: #ffffff;
  transform: translate(-50%, -50%);
  box-shadow:
    0 0 0 7px rgba(255, 138, 76, 0.14),
    0 0 24px rgba(255, 138, 76, 0.5);
  pointer-events: auto;
  cursor: pointer;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease;
}

.si-home-globe-static-point span {
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
}

.si-home-globe-static-point:hover,
.si-home-globe-static-point:focus-visible,
.si-home-globe-static-point.is-active {
  transform: translate(-50%, -50%) scale(1.22);
  box-shadow:
    0 0 0 9px rgba(255, 255, 255, 0.16),
    0 0 32px rgba(255, 255, 255, 0.5);
}

.si-home-globe-static-point:focus-visible {
  outline: 3px solid rgba(119, 175, 255, 0.8);
  outline-offset: 4px;
}

.si-home-globe-static-point.is-destination {
  width: 34px;
  height: 34px;
  background: #22c55e;
  box-shadow:
    0 0 0 9px rgba(34, 197, 94, 0.18),
    0 0 36px rgba(34, 197, 94, 0.6);
}

.si-home-globe-controls {
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 5;
  display: flex;
  gap: 10px;
}

.si-home-globe-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #16325c;
  font-size: 24px;
  font-weight: 900;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.si-home-globe-controls button:hover {
  background: #20c35a;
  color: #fff;
  transform: translateY(-2px);
}

.si-home-globe-controls button:focus-visible {
  outline: 4px solid rgba(119, 175, 255, 0.45);
  outline-offset: 4px;
}

.si-home-globe-info-card {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 5;
  width: min(310px, calc(100% - 152px));
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 24px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.9);
  color: #10213d;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(18px);
}

.si-home-globe-info-card span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #149c55;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.si-home-globe-info-card h3 {
  margin: 0 0 8px;
  color: #0d1a33;
  font-size: 24px;
  line-height: 1.05;
}

.si-home-globe-info-card p {
  margin: 0;
  color: #5d6b82;
  font-size: 14px;
  line-height: 1.45;
}

.si-home-globe-tooltip {
  max-width: 230px;
  color: #fff;
  font-family: inherit;
}

.si-home-globe-tooltip strong,
.si-home-globe-tooltip span {
  display: block;
}

.si-home-globe-tooltip strong {
  margin-bottom: 4px;
  font-size: 14px;
}

.si-home-globe-tooltip span {
  color: #9ff1bd;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.si-home-globe-tooltip p {
  margin: 6px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 12px;
  line-height: 1.35;
}

@keyframes si-globe-pulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.97);
  }

  50% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes si-globe-route {
  from {
    stroke-dashoffset: 0;
  }

  to {
    stroke-dashoffset: -36;
  }
}

@media (prefers-reduced-motion: reduce) {
  .si-home-globe-fallback span {
    animation: none;
  }

  .si-home-globe-controls button {
    transition: none;
  }
}

.si-home-platform-card.is-aqua .si-home-action-icon-wrap,
.si-home-platform-card.is-green .si-home-action-icon-wrap,
.si-home-journey-card.is-aqua .si-home-action-icon-wrap,
.si-home-journey-card.is-green .si-home-action-icon-wrap {
  border-color: rgba(32, 195, 90, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.5)),
    rgba(32, 195, 90, 0.13);
  color: #129764;
}

.si-home-platform-card.is-purple .si-home-action-icon-wrap,
.si-home-journey-card.is-purple .si-home-action-icon-wrap {
  border-color: rgba(91, 74, 214, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.5)),
    rgba(91, 74, 214, 0.13);
  color: #5b4ad6;
}

.si-home-platform-card.is-dark .si-home-action-icon-wrap,
.si-home-journey-card.is-dark .si-home-action-icon-wrap {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 12px 26px rgba(0, 0, 0, 0.18);
}

.si-home-platform-card.is-aqua .si-home-card-watermark,
.si-home-platform-card.is-green .si-home-card-watermark,
.si-home-journey-card.is-aqua .si-home-card-watermark,
.si-home-journey-card.is-green .si-home-card-watermark {
  color: rgba(18, 151, 100, 0.11);
}

.si-home-platform-card.is-purple .si-home-card-watermark,
.si-home-journey-card.is-purple .si-home-card-watermark {
  color: rgba(91, 74, 214, 0.12);
}

.si-home-platform-card.is-dark .si-home-card-watermark,
.si-home-journey-card.is-dark .si-home-card-watermark {
  color: rgba(255, 255, 255, 0.14);
}

.si-home-section {
  position: relative;
  margin-bottom: 94px;
}

.si-home-section-heading {
  display: grid;
  gap: 14px;
  max-width: 760px;
  margin-bottom: 28px;
}

.si-home-section-heading.is-centered {
  justify-items: center;
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

.si-home-section-heading p:not(.si-home-eyebrow) {
  max-width: 720px;
}

.si-home-journey-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.si-home-journey {
  position: relative;
  border: 1px solid rgba(184, 207, 244, 0.9);
  border-radius: 34px;
  padding: 28px;
  background:
    radial-gradient(circle at 8% 8%, rgba(60, 115, 244, 0.12), transparent 30%),
    radial-gradient(circle at 92% 18%, rgba(32, 195, 90, 0.1), transparent 28%),
    rgba(255, 255, 255, 0.82);
  box-shadow: 0 20px 48px rgba(28, 46, 92, 0.08);
}

.si-home-journey-card {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: 260px;
  overflow: hidden;
  padding: 24px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.si-home-journey-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.si-home-journey-step {
  width: fit-content;
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(60, 115, 244, 0.12);
  color: var(--blue);
  font-size: 12px;
  font-weight: 950;
}

.si-home-journey-card.is-dark .si-home-journey-step {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.si-home-journey-card h3 {
  margin-top: 34px;
  font-size: 30px;
  text-transform: uppercase;
}

.si-home-featured-band {
  position: relative;
  width: 100%;
  margin-bottom: 94px;
  padding: 76px 0;
  background:
    linear-gradient(180deg, rgba(247, 250, 255, 0) 0%, #eef2f7 14%, #eef2f7 86%, rgba(247, 250, 255, 0) 100%);
}

.si-home-program-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.si-home-program-card,
.si-home-insight-card {
  position: relative;
  display: block;
  overflow: hidden;
  border: 1px solid #dbe3f0;
  border-radius: 26px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 18px 44px rgba(28, 46, 92, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.si-home-program-image {
  display: block;
  height: 220px;
  overflow: hidden;
  background: #dde7f6;
}

.si-home-program-image img,
.si-home-insight-card img {
  transition: transform 0.35s ease;
}

.si-home-program-card:hover .si-home-program-image img,
.si-home-program-card:focus-within .si-home-program-image img,
.si-home-insight-card:hover img,
.si-home-insight-card:focus-within img {
  transform: scale(1.045);
}

.si-home-program-body {
  display: grid;
  gap: 12px;
  padding: 22px;
}

.si-home-program-body > span,
.si-home-insight-card span {
  color: var(--blue);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.si-home-program-body h3 {
  font-size: 23px;
}

.si-home-program-body > p {
  color: #66758d;
  font-size: 14px;
}

.si-home-program-body dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 6px 0 0;
}

.si-home-program-body dt {
  color: #8a95a7;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.si-home-program-body dd {
  margin: 0;
  color: #17223b;
  font-size: 13px;
  font-weight: 900;
}

.si-home-centered-action {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.si-home-results {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
  gap: 24px;
  align-items: stretch;
  margin-bottom: 92px;
}

.si-home-results.is-stat-only {
  grid-template-columns: minmax(0, 1fr);
}

.si-home-results-stat {
  display: grid;
  align-content: space-between;
  gap: 26px;
  padding: 32px;
  background: var(--blue);
  color: #fff;
}

.si-home-results-stat .si-home-eyebrow {
  background: rgba(255, 255, 255, 0.18);
  color: #fff !important;
}

.si-home-results-stat strong {
  color: #fff;
  font-size: 104px;
  line-height: 0.9;
  font-weight: 950;
}

.si-home-results-stat span {
  max-width: 280px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 18px;
  font-weight: 900;
}

.si-home-results-copy {
  display: grid;
  gap: 22px;
}

.si-home-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.si-home-testimonial-card {
  display: grid;
  gap: 22px;
  padding: 24px;
  background: #fff;
}

.si-home-testimonial-card p {
  color: #263246;
  font-size: 15px;
}

.si-home-testimonial-card footer {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 12px;
  align-items: center;
}

.si-home-testimonial-card img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.si-home-testimonial-card span {
  display: grid;
  color: #738095;
  font-size: 12px;
  font-weight: 800;
}

.si-home-testimonial-card strong {
  color: #111827;
  font-size: 14px;
}

.si-home-partners {
  position: relative;
  overflow: hidden;
  padding: 48px 34px;
  margin-bottom: 94px;
  background:
    radial-gradient(circle at 50% 0%, rgba(60, 115, 244, 0.08), transparent 36%),
    #eef2f7;
}

.si-home-partner-row {
  position: relative;
  overflow: hidden;
  margin-inline: auto;
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.si-home-partner-track {
  display: flex;
  gap: 14px;
  width: max-content;
  will-change: transform;
  animation: si-home-partner-marquee 28s linear infinite;
}

.si-home-partner-row:hover .si-home-partner-track {
  animation-play-state: paused;
}

@keyframes si-home-partner-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

.si-home-partner-pill {
  flex: 0 0 auto;
  min-width: 170px;
  height: 78px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dbe3f0;
  border-radius: 20px;
  padding: 14px 22px;
  background: #fff;
}

.si-home-partner-pill img {
  max-width: 132px;
  max-height: 42px;
  object-fit: contain;
}

.si-home-category-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
  width: 100%;
  max-width: 1480px;
  margin-inline: auto;
}

.si-home-category-card {
  flex: 1 1 310px;
  display: grid;
  gap: 16px;
  min-height: 228px;
  max-width: 360px;
  border: 1px solid #dbe3f0;
  border-radius: 26px;
  padding: 24px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(28, 46, 92, 0.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.si-home-category-icon-wrap {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(60, 115, 244, 0.18);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.42)),
    rgba(60, 115, 244, 0.1);
  color: #3c73f4;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68), 0 12px 26px rgba(28, 46, 92, 0.08);
}

.si-home-category-icon {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.si-home-category-card.is-aqua .si-home-category-icon-wrap,
.si-home-category-card.is-green .si-home-category-icon-wrap {
  border-color: rgba(32, 195, 90, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.46)),
    rgba(32, 195, 90, 0.12);
  color: #129764;
}

.si-home-category-card.is-purple .si-home-category-icon-wrap {
  border-color: rgba(91, 74, 214, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.46)),
    rgba(91, 74, 214, 0.13);
  color: #5b4ad6;
}

.si-home-category-card.is-dark .si-home-category-icon-wrap {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 12px 26px rgba(0, 0, 0, 0.18);
}

.si-home-category-card h3 {
  margin-top: auto;
}

.si-home-join {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 18px;
  overflow: hidden;
  padding: 76px 32px;
  margin-bottom: 94px;
  text-align: center;
  background: #fff;
}

.si-home-join h2 {
  max-width: 850px;
}

.si-home-join p {
  max-width: 560px;
}

.si-home-portrait-row {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-bottom: 8px;
}

.si-home-portrait-row img {
  width: 76px;
  height: 76px;
  border: 6px solid #f5f7fb;
  border-radius: 26px;
  object-fit: cover;
  box-shadow: 0 14px 30px rgba(28, 46, 92, 0.13);
}

.si-home-portrait-row img:nth-child(even) {
  transform: translateY(16px) rotate(3deg);
}

.si-home-portrait-row img:nth-child(odd) {
  transform: rotate(-3deg);
}

.si-home-contact {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(440px, 1.1fr);
  gap: 28px;
  align-items: start;
  padding: 34px;
  margin-bottom: 94px;
  background: #eef2f7;
}

.si-home-contact > div {
  display: grid;
  gap: 16px;
  padding: 18px 0;
}

.si-home-contact-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  border-radius: 24px;
  padding: 16px;
  background: #fff;
}

.si-home-contact-field {
  display: grid;
  gap: 7px;
}

.si-home-contact-field.is-wide,
.si-home-contact-form .button {
  grid-column: 1 / -1;
}

.si-home-contact-field span {
  color: #657286;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.si-home-contact-field input,
.si-home-contact-field select,
.si-home-contact-field textarea {
  width: 100%;
  border: 1px solid #d5deeb;
  border-radius: 16px;
  padding: 13px 14px;
  background: #f8fafc;
  color: #17223b;
  font-weight: 800;
}

.si-home-contact-field textarea {
  resize: vertical;
}

.si-home-contact-field input:focus,
.si-home-contact-field select:focus,
.si-home-contact-field textarea:focus {
  border-color: var(--blue);
  outline: 3px solid rgba(60, 115, 244, 0.14);
}

.si-home-contact-helper {
  grid-column: 1 / -1;
  margin: 0;
  color: #657286;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
}

.si-home-results-points {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.si-home-results-points li {
  position: relative;
  padding-left: 20px;
  color: #52627a;
  font-weight: 800;
  line-height: 1.45;
}

.si-home-results-points li::before {
  content: "";
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--blue);
}

.si-home-insight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.si-home-insight-card img {
  width: 100%;
  height: 190px;
  object-fit: cover;
}

.si-home-insight-card > div {
  display: grid;
  gap: 10px;
  padding: 20px;
}

.si-home-insight-card h3 {
  font-size: 22px;
}

.si-home-faq {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 86px;
}

.si-home-stats-strip::after,
.si-home-platform::before,
.si-home-journey::before,
.si-home-featured-band::before,
.si-home-results::before,
.si-home-partners::before,
.si-home-categories::before,
.si-home-join::before,
.si-home-contact::before,
.si-home-insights::before,
.si-home-faq::before {
  content: "";
  position: absolute;
  top: -58px;
  left: 50%;
  z-index: -1;
  width: min(980px, 76vw);
  height: 104px;
  border-radius: 999px;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(190, 227, 244, 0.58), rgba(190, 227, 244, 0.18) 48%, transparent 72%);
  filter: blur(16px);
  pointer-events: none;
  transform: translateX(-50%);
}

.si-home-journey::before,
.si-home-categories::before,
.si-home-contact::before {
  background:
    radial-gradient(ellipse at 50% 50%, rgba(32, 195, 90, 0.16), rgba(60, 115, 244, 0.1) 52%, transparent 74%);
}

.si-home-featured-band::before,
.si-home-partners::before {
  top: -44px;
  width: min(1180px, 84vw);
}

@keyframes si-home-section-rise {
  from {
    opacity: 0.84;
    transform: translateY(24px) scale(0.992);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@supports (animation-timeline: view()) {
  .si-home-stats-strip,
  .si-home-search-shell,
  .si-home-platform,
  .si-home-section,
  .si-home-results,
  .si-home-partners,
  .si-home-join,
  .si-home-contact,
  .si-home-faq {
    animation: si-home-section-rise both;
    animation-timeline: view();
    animation-range: entry 0% cover 24%;
  }
}

.si-home-faq-list {
  display: grid;
  gap: 12px;
}

.si-home-faq-list h2 {
  margin-bottom: 10px;
}

.si-home-faq-item {
  overflow: hidden;
  border: 1px solid #dbe3f0;
  border-radius: 18px;
  background: #fff;
}

.si-home-faq-item summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 18px;
  cursor: pointer;
  color: #17223b;
  font-weight: 900;
}

.si-home-faq-item summary::-webkit-details-marker {
  display: none;
}

.si-home-faq-item summary::after {
  content: "+";
  width: 28px;
  height: 28px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  font-weight: 950;
}

.si-home-faq-item[open] summary::after {
  content: "-";
}

.si-home-faq-item p {
  padding: 0 18px 18px;
}

.si-home-faq-cta {
  display: grid;
  gap: 14px;
  padding: 24px;
  background: #111827;
}

.si-home-faq-cta h3,
.si-home-faq-cta p {
  color: #fff;
}

@media (max-width: 1199px) {
  .si-home::before {
    inset: 460px 0 0;
  }

  .si-home::after {
    top: 560px;
    height: calc(100% - 560px);
    opacity: 0.54;
  }

  .si-home h1 {
    font-size: 64px;
  }

  .si-home h2 {
    font-size: 46px;
  }

  .si-home-platform,
  .si-home-global-map,
  .si-home-results,
  .si-home-contact,
  .si-home-faq {
    grid-template-columns: 1fr;
  }

  .si-home-hero64-shell {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .si-home-hero64-copy {
    max-width: 760px;
  }

  .si-home-hero64-collage {
    width: 100%;
    max-width: 760px;
    min-height: 520px;
    justify-self: center;
  }

  .si-home-stats-strip,
  .si-home-journey-grid,
  .si-home-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .si-home-category-grid {
    justify-content: center;
  }

  .si-home-program-grid,
  .si-home-insight-grid {
    grid-template-columns: 1fr 1fr;
  }

  .si-home-search-form {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .si-home-search-form.is-single-field {
    grid-template-columns: 1fr;
    max-width: 720px;
  }

  .si-home-search-submit {
    grid-column: 1 / -1;
    justify-self: end;
    min-width: 220px;
  }

  .si-home-platform {
    margin-top: 0;
  }

  .si-home-global-map {
    grid-template-columns: 1fr;
  }

  .si-home-global-map-copy {
    max-width: 760px;
  }

  .si-home-globe-viewport {
    height: clamp(440px, 62vw, 560px);
  }
}

@media (max-width: 760px) {
  .si-home::before {
    inset: 340px 0 0;
    background:
      radial-gradient(ellipse at 20% 5%, rgba(60, 115, 244, 0.1), transparent 34%),
      radial-gradient(ellipse at 84% 14%, rgba(32, 195, 90, 0.1), transparent 36%),
      linear-gradient(
        180deg,
        rgba(225, 244, 250, 0) 0%,
        rgba(225, 244, 250, 0.62) 9%,
        rgba(239, 246, 255, 0.88) 30%,
        rgba(255, 255, 255, 0.72) 50%,
        rgba(232, 248, 246, 0.68) 70%,
        rgba(255, 255, 255, 0) 100%
      );
  }

  .si-home::after {
    top: 460px;
    width: 112vw;
    height: calc(100% - 460px);
    opacity: 0.34;
    filter: blur(26px);
  }

  .si-home h1 {
    font-size: 44px;
  }

  .si-home h2 {
    font-size: 34px;
  }

  .si-home h3 {
    font-size: 21px;
  }

  .si-home p {
    font-size: 15px;
  }

  .si-home-hero {
    padding: 56px 0 44px;
  }

  .si-home-hero::after {
    right: -38vw;
    bottom: -120px;
    width: 420px;
    height: 420px;
  }

  .si-home-hero64-shell {
    width: min(100% - 32px, 1280px);
    gap: 32px;
  }

  .si-home-hero64-copy {
    gap: 18px;
  }

  .si-home-hero64-copy h1 {
    font-size: clamp(40px, 11.5vw, 52px);
  }

  .si-home-hero64-copy > p:not(.si-home-eyebrow) {
    font-size: 16px;
  }

  .si-home-actions,
  .si-home-actions .button,
  .si-home-centered-action .button,
  .si-home-join .button {
    width: 100%;
  }

  .si-home-hero64-collage {
    display: grid;
    gap: 14px;
    min-height: auto;
  }

  .si-home-hero64-soft-card,
  .si-home-hero64-image-card,
  .si-home-hero64-proof-list {
    display: none;
  }

  .si-home-hero64-testimonial,
  .si-home-hero64-rating-pill {
    position: relative;
    inset: auto;
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .si-home-hero64-testimonial {
    padding: 16px;
  }

  .si-home-hero64-testimonial > img {
    width: 96px;
    height: 96px;
  }

  .si-home-hero64-rating-pill {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .si-home-stats-strip,
  .si-home-platform-cards,
  .si-home-journey-grid,
  .si-home-program-grid,
  .si-home-testimonial-grid,
  .si-home-category-grid,
  .si-home-insight-grid,
  .si-home-contact-form {
    grid-template-columns: 1fr;
  }

  .si-home-category-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .si-home-category-card {
    max-width: none;
  }

  .si-home-stats-strip,
  .si-home-platform,
  .si-home-global-map,
  .si-home-search-finder,
  .si-home-section,
  .si-home-featured-band,
  .si-home-results,
  .si-home-partners,
  .si-home-join,
  .si-home-contact,
  .si-home-faq {
    margin-bottom: 58px;
  }

  .si-home-global-map {
    width: min(100% - 32px, 520px);
    min-height: auto;
    padding: 22px;
    border-radius: 28px;
  }

  .si-home-global-map-copy {
    text-align: left;
    justify-items: start;
    gap: 14px;
  }

  .si-home-global-map-copy h2,
  .si-home-global-map-copy p:not(.si-home-eyebrow) {
    max-width: none;
  }

  .si-home-globe-viewport {
    height: clamp(340px, 78vw, 420px);
    min-height: 0;
    border-radius: 24px;
  }

  .si-home-globe-controls {
    left: 14px;
    bottom: 14px;
    gap: 8px;
  }

  .si-home-globe-controls button {
    width: 42px;
    height: 42px;
    font-size: 20px;
  }

  .si-home-globe-info-card {
    right: 14px;
    bottom: 14px;
    width: min(230px, calc(100% - 122px));
    border-radius: 18px;
    padding: 13px;
  }

  .si-home-globe-info-card span {
    margin-bottom: 5px;
    font-size: 10px;
  }

  .si-home-globe-info-card h3 {
    margin-bottom: 5px;
    font-size: 19px;
  }

  .si-home-globe-info-card p {
    font-size: 12px;
    line-height: 1.35;
  }

  .si-home-stats-strip {
    width: min(100% - 32px, 520px);
    min-height: 230px;
    display: grid;
    grid-template-columns: 1fr !important;
    align-items: center;
    margin: 0 auto 58px;
    padding: 20px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(91, 141, 255, 0.28);
    border-radius: 32px;
    background:
      radial-gradient(circle at 18% 20%, rgba(47, 85, 255, 0.3), transparent 34%),
      radial-gradient(circle at 82% 78%, rgba(34, 197, 94, 0.28), transparent 32%),
      #101b31;
    box-shadow: 0 28px 80px rgba(15, 28, 52, 0.24);
  }

  .si-home-stats-strip::after {
    display: none;
  }

  .si-home-mobile-warp {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    opacity: 0.85;
  }

  .si-home-mobile-warp::before {
    content: "";
    position: absolute;
    inset: -35% -20%;
    background-image:
      linear-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
    background-size: 42px 42px;
    transform: perspective(180px) rotateX(58deg) translateY(-20%);
    transform-origin: center top;
  }

  .si-home-mobile-warp > span {
    position: absolute;
    top: 100%;
    width: 18px;
    height: 170px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(91, 141, 255, 0.95), transparent);
    filter: blur(0.2px);
    animation: si-mobile-warp-beam 3.8s linear infinite;
  }

  .si-home-mobile-warp > span:nth-child(1) {
    left: 18%;
    animation-delay: 0s;
  }

  .si-home-mobile-warp > span:nth-child(2) {
    left: 42%;
    animation-delay: 0.9s;
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.86), transparent);
  }

  .si-home-mobile-warp > span:nth-child(3) {
    left: 66%;
    animation-delay: 1.8s;
    background: linear-gradient(180deg, rgba(125, 179, 255, 0.88), transparent);
  }

  .si-home-mobile-warp > span:nth-child(4) {
    left: 84%;
    animation-delay: 2.6s;
    background: linear-gradient(180deg, rgba(167, 139, 250, 0.75), transparent);
  }

  .si-home-stats-strip .si-home-stat-card {
    position: relative;
    z-index: 1;
  }

  .si-home-stats-strip .si-home-stat-card:not(.is-mobile-priority) {
    display: none;
  }

  .si-home-stats-strip .si-home-stat-card {
    display: grid;
    min-height: 154px;
    border-color: rgba(255, 255, 255, 0.42);
    border-radius: 24px;
    padding: 22px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.88),
      0 20px 48px rgba(0, 0, 0, 0.16);
  }

  .si-home-stats-strip .si-home-stat-card strong {
    color: #0b2548;
    font-size: 42px;
  }

  .si-home-stats-strip .si-home-stat-card-head {
    gap: 12px;
  }

  .si-home-search-finder {
    margin-top: 28px;
    padding: 42px 0 52px;
  }

  .si-home-search-finder::before,
  .si-home-search-finder::after {
    width: 340px;
    height: 340px;
  }

  .si-home-search-finder::before {
    top: -230px;
    left: -80px;
  }

  .si-home-search-finder::after {
    right: -120px;
    bottom: -250px;
  }

  .si-home-search-shell {
    padding-top: 0;
  }

  .si-home-search-tabs {
    position: relative;
    top: auto;
    left: auto;
    width: fit-content;
    max-width: 100%;
    justify-content: center;
    margin: 0 auto -14px;
    overflow-x: visible;
    padding: 6px;
    border-radius: 999px;
    transform: none;
    -webkit-overflow-scrolling: touch;
  }

  .si-home-search-tabs::-webkit-scrollbar {
    display: none;
  }

  .si-home-search-tab {
    flex: 0 0 auto;
    min-width: auto;
    height: 42px;
    padding: 0 15px;
    font-size: 13px;
  }

  .si-home-search-card {
    border-radius: 28px;
    padding: 46px 18px 22px;
  }

  .si-home-search-form {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .si-home-search-field {
    gap: 12px;
  }

  .si-home-search-field > label {
    font-size: 17px;
  }

  .si-home-search-control input,
  .si-home-search-control select,
  .si-home-search-submit {
    height: 58px;
    font-size: 16px;
  }

  .si-home-search-submit {
    grid-column: auto;
    justify-self: stretch;
    width: 100%;
    min-width: 0;
  }

  .si-home-search-helper {
    width: min(100%, 25ch);
    max-width: none;
    margin: 16px auto 0;
    padding-inline: 0;
    font-size: 10px;
    line-height: 1.45;
    text-align: center;
  }

  .si-home-platform-copy,
  .si-home-partners,
  .si-home-contact,
  .si-home-join {
    padding: 22px;
    border-radius: 24px;
  }

  .si-home-platform-media {
    min-height: 250px;
    border-radius: 24px;
  }

  .si-home-platform-card,
  .si-home-journey-card,
  .si-home-category-card {
    min-height: auto;
  }

  .si-home-journey {
    padding: 18px;
    border-radius: 26px;
  }

  .si-home-action-icon-wrap {
    width: 54px;
    height: 54px;
    border-radius: 18px;
  }

  .si-home-card-watermark {
    width: 94px;
    height: 94px;
  }

  .si-home-journey-card h3 {
    margin-top: 32px;
    font-size: 26px;
  }

  .si-home-featured-band {
    padding: 54px 0;
  }

  .si-home-program-image,
  .si-home-insight-card img {
    height: 210px;
  }

  .si-home-program-body dl {
    grid-template-columns: 1fr;
  }

  .si-home-results-stat strong {
    font-size: 72px;
  }

  .si-home-partner-row {
    padding-bottom: 0;
  }

  .si-home-partner-pill {
    min-width: 160px;
  }

  .si-home-portrait-row {
    flex-wrap: wrap;
  }

  .si-home-contact {
    gap: 18px;
  }

  .si-home-faq-item summary {
    align-items: flex-start;
    padding: 16px;
  }

  .si-home-stats-strip::after,
  .si-home-platform::before,
  .si-home-journey::before,
  .si-home-featured-band::before,
  .si-home-results::before,
  .si-home-partners::before,
  .si-home-categories::before,
  .si-home-join::before,
  .si-home-contact::before,
  .si-home-insights::before,
  .si-home-faq::before {
    top: -34px;
    width: 84vw;
    height: 62px;
    filter: blur(14px);
  }
}

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

  .si-home-partner-row {
    mask-image: none;
  }

  .si-home-partner-track {
    flex-wrap: wrap;
    justify-content: center;
    width: auto;
    animation: none !important;
  }

  .si-home-mobile-warp > span {
    animation: none !important;
    opacity: 0.22;
  }

  .si-home-stats-strip,
  .si-home-search-shell,
  .si-home-platform,
  .si-home-section,
  .si-home-results,
  .si-home-partners,
  .si-home-join,
  .si-home-contact,
  .si-home-faq {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* Final About hero direction: cinematic image-first, adapted to SpainAdmit. */
.about-page .about-hero-section {
  min-height: clamp(620px, calc(100dvh - var(--header-height)), 860px);
  position: relative;
  display: grid;
  align-items: stretch;
  overflow: hidden;
  background: var(--blue-dark);
  color: #fff;
  isolation: isolate;
}

.about-page .about-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -4;
  background-image: var(--about-hero-image);
  background-position: center;
  background-size: cover;
  transform: scale(1.035);
}

.about-page .about-hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(9, 20, 45, 0.34) 0%, rgba(10, 22, 48, 0.72) 58%, rgba(10, 22, 48, 0.86) 100%),
    radial-gradient(circle at 50% 34%, rgba(60, 115, 244, 0.34), transparent 42%),
    linear-gradient(90deg, rgba(10, 22, 48, 0.72), rgba(10, 22, 48, 0.28), rgba(10, 22, 48, 0.72));
  filter: none;
}

.about-page .about-hero-section::after {
  content: "";
  display: none;
}

.about-page .about-hero-grid::before,
.about-page .about-hero-grid::after {
  content: none;
  display: none;
}

.about-page .about-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  min-height: clamp(620px, calc(100dvh - var(--header-height)), 860px);
  padding-block: clamp(86px, 10vw, 132px) clamp(128px, 13vw, 180px);
  text-align: center;
}

.about-page .about-hero-copy {
  display: grid;
  justify-items: center;
  max-width: 830px;
  margin-inline: auto;
  animation: about-rise 700ms ease both;
}

.about-page .about-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 18px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  padding: 8px 15px;
  background: rgba(255, 255, 255, 0.13);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 14px 34px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(12px);
}

.about-page .about-hero-copy h1 {
  max-width: 12ch;
  margin: 0;
  color: #fff;
  font-size: 112px;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 0.9;
  text-align: center;
  text-wrap: balance;
  text-shadow: 0 18px 50px rgba(0, 0, 0, 0.32);
}

.about-page .about-hero-copy p {
  max-width: 720px;
  margin: 24px auto 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.62;
  text-align: center;
}

.about-page .about-hero-copy strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 28px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  padding: 13px 18px;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.2;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 16px 36px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(14px);
}

.about-page .about-hero-visual {
  position: absolute;
  right: clamp(24px, 7vw, 110px);
  bottom: clamp(78px, 8vw, 132px);
  z-index: 2;
  display: grid;
  place-items: center;
  width: clamp(112px, 13vw, 190px);
  min-height: 0;
  animation: about-rise 780ms 120ms ease both;
}

.about-page .about-hero-orbit {
  position: absolute;
  inset: -12px;
  width: auto;
  aspect-ratio: auto;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(14px);
}

.about-page .about-hero-orbit::before,
.about-page .about-hero-orbit::after {
  display: none;
}

.about-page .about-hero-visual img {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  border: 5px solid rgba(255, 255, 255, 0.74);
  border-radius: 28px;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.26);
  transform: rotate(2.4deg);
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.about-page .about-hero-visual:hover img {
  transform: rotate(0deg) translateY(-4px);
  box-shadow: 0 30px 72px rgba(0, 0, 0, 0.32);
}

@media (max-width: 767px) {
  .about-page .about-hero-section,
  .about-page .about-hero-grid {
    min-height: calc(100dvh - var(--header-height));
  }

  .about-page .about-hero-bg {
    background-position: 48% center;
  }

  .about-page .about-hero-section::before {
    background:
      linear-gradient(180deg, rgba(9, 20, 45, 0.5) 0%, rgba(10, 22, 48, 0.72) 46%, rgba(10, 22, 48, 0.9) 100%),
      radial-gradient(circle at 50% 30%, rgba(60, 115, 244, 0.26), transparent 44%);
  }

  .about-page .about-hero-section::after {
    display: none;
  }

  .about-page .about-hero-grid {
    align-content: center;
    padding-block: 58px 68px;
  }

  .about-page .about-hero-copy {
    max-width: min(100%, 392px);
  }

  .about-page .about-hero-copy h1 {
    max-width: 100%;
    font-size: 52px;
    line-height: 0.96;
  }

  .about-page .about-hero-copy p {
    max-width: 36ch;
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.55;
  }

  .about-page .about-hero-copy strong {
    max-width: min(100%, 340px);
    border-radius: 22px;
    white-space: normal;
  }

  .about-page .about-hero-visual {
    right: 18px;
    bottom: 48px;
    width: 82px;
    opacity: 0.92;
  }

  .about-page .about-hero-orbit {
    border-radius: 24px;
  }

  .about-page .about-hero-visual img {
    border-width: 4px;
    border-radius: 22px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .about-page .about-hero-copy h1 {
    font-size: 86px;
  }
}

@media (max-width: 420px) {
  .about-page .about-hero-copy h1 {
    font-size: 46px;
  }

  .about-page .about-hero-copy {
    max-width: 330px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-page .about-hero-copy,
  .about-page .about-hero-visual {
    animation: none;
  }

  .about-page .about-hero-visual img {
    transition: none;
  }
}

/* Final homepage hero balance: compact, clearer, and SpainAdmit-focused. */
.si-home .si-home-hero.si-home-hero64 {
  min-height: clamp(560px, 78vh, 720px);
  display: flex;
  align-items: center;
  padding: clamp(88px, 10vh, 118px) 0 clamp(56px, 8vh, 82px);
}

.si-home .si-home-hero64-shell {
  width: min(100% - 64px, 1480px);
  max-width: 1480px;
  grid-template-columns: minmax(0, 0.95fr) minmax(460px, 1.05fr);
  gap: clamp(40px, 6vw, 76px);
  align-items: center;
}

.si-home .si-home-hero64-copy {
  gap: 18px;
  max-width: 760px;
}

.si-home .si-home-hero64-copy h1 {
  max-width: 760px;
  color: #071128;
  font-size: 64px;
  line-height: 0.96;
  letter-spacing: 0;
}

.si-home .si-home-hero64-copy > p:not(.si-home-eyebrow):not(.si-home-hero64-social) {
  max-width: 660px;
  margin: 0;
  color: #5f6d83;
  font-size: 19px;
  line-height: 1.55;
}

.si-home .si-home-actions {
  gap: 16px;
  margin-top: 10px;
}

.si-home .si-home-actions .button {
  min-height: 54px;
  border-radius: 999px;
  padding-inline: 28px;
  font-size: 15px;
  font-weight: 900;
  transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.si-home .si-home-actions .button:hover,
.si-home .si-home-actions .button:focus-visible {
  transform: translateY(-2px);
}

.si-home .si-home-hero64-social {
  max-width: 620px;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 10px;
  margin-top: 2px;
  color: #5f6d83 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.si-home .si-home-hero64-social span {
  width: auto;
  height: auto;
  margin-top: 2px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #facc15;
  letter-spacing: 2px;
  line-height: 1;
}

.si-home .si-home-hero64-collage {
  max-width: 600px;
  min-height: clamp(440px, 50vw, 560px);
}

.si-home .si-home-hero64-soft-card {
  top: 18px;
  right: 0;
  width: 34%;
  height: 225px;
  border-radius: 24px;
}

.si-home .si-home-hero64-soft-card span {
  top: 70px;
  right: 38px;
  width: 66px;
  height: 66px;
  border-radius: 20px;
}

.si-home .si-home-hero64-image-card {
  top: 72px;
  right: 118px;
  width: min(420px, 68%);
  height: 315px;
  border-radius: 30px;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.14);
}

.si-home .si-home-hero64-testimonial {
  bottom: 44px;
  left: 0;
  width: min(270px, 45%);
  gap: 10px;
  border-radius: 22px;
  padding: 16px;
}

.si-home .si-home-hero64-testimonial > img {
  width: 74px;
  height: 74px;
  border-radius: 18px;
}

.si-home .si-home-hero64-testimonial blockquote {
  font-size: 14px;
  line-height: 1.45;
}

.si-home .si-home-hero64-testimonial footer strong {
  font-size: 14px;
}

.si-home .si-home-hero64-testimonial footer span {
  font-size: 11px;
}

.si-home .si-home-hero64-rating-pill {
  right: 0;
  bottom: 28px;
  width: min(295px, 49%);
  max-width: min(295px, 49%);
  min-height: 66px;
  justify-content: flex-start;
  gap: 12px;
  border-radius: 18px;
}

.si-home .si-home-hero64-rating-pill strong {
  font-size: 15px;
}

.si-home .si-home-hero64-rating-pill > span:last-child {
  font-size: 12px;
}

.si-home .si-home-hero64-proof-list {
  top: 112px;
  right: 0;
  bottom: auto;
  width: min(320px, 53%);
  gap: 10px;
}

.si-home .si-home-hero64-proof-list div {
  min-height: 118px;
  border-radius: 18px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
}

.si-home .si-home-hero64-proof-list strong {
  font-size: 12px;
}

.si-home .si-home-hero64-proof-list p {
  font-size: 10px;
  line-height: 1.35;
}

@media (max-width: 1199px) {
  .si-home .si-home-hero64-shell {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: 54px;
  }

  .si-home .si-home-hero64-collage {
    justify-self: center;
    width: 100%;
    max-width: 680px;
  }
}

@media (max-width: 760px) {
  .si-home .si-home-hero.si-home-hero64 {
    min-height: auto;
    display: block;
    padding: 86px 0 58px;
  }

  .si-home .si-home-hero64-shell {
    width: min(100% - 32px, 1280px);
    gap: 36px;
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: 38px;
    line-height: 0.98;
  }

  .si-home .si-home-hero64-copy > p:not(.si-home-eyebrow):not(.si-home-hero64-social) {
    font-size: 16px;
    line-height: 1.55;
  }

  .si-home .si-home-actions {
    margin-top: 6px;
  }

  .si-home .si-home-actions .button {
    justify-content: center;
  }

  .si-home .si-home-hero64-social {
    max-width: none;
    font-size: 13px !important;
  }

  .si-home .si-home-hero64-collage {
    display: grid;
    gap: 14px;
    min-height: auto;
  }

  .si-home .si-home-hero64-soft-card {
    display: none;
  }

  .si-home .si-home-hero64-image-card,
  .si-home .si-home-hero64-proof-list,
  .si-home .si-home-hero64-testimonial,
  .si-home .si-home-hero64-rating-pill {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
  }

  .si-home .si-home-hero64-image-card {
    display: block;
    height: 240px;
  }

  .si-home .si-home-hero64-proof-list {
    display: grid;
    grid-template-columns: 1fr;
  }

  .si-home .si-home-hero64-proof-list div {
    min-height: auto;
  }
}

@media (max-width: 420px) {
  .si-home .si-home-hero64-copy h1 {
    font-size: 34px;
  }
}

/* Homepage proportion pass: wider Apple-style layout, spacing, and readable type. */
.si-home > .container,
.si-home .si-home-search-shell,
.si-home .si-home-hero64-shell,
.si-home .si-home-featured-band > .container {
  width: min(100% - 96px, 1560px);
  max-width: 1560px;
}

.site-header .header-inner {
  width: min(100% - 96px, var(--container));
  max-width: var(--container);
}

.si-home h1,
.si-home h2 {
  line-height: 1.02;
  letter-spacing: 0;
}

.si-home h2 {
  font-size: 60px;
}

.si-home h3 {
  font-size: 26px;
  line-height: 1.18;
}

.si-home p {
  font-size: 17px;
  line-height: 1.58;
}

.si-home .si-home-hero.si-home-hero64 {
  min-height: calc(100dvh - var(--header-height));
  padding: 112px 0 96px;
}

.si-home .si-home-hero64-shell {
  grid-template-columns: minmax(0, 0.94fr) minmax(560px, 1.06fr);
  gap: 78px;
}

.si-home .si-home-hero64-copy {
  gap: 24px;
  max-width: 840px;
}

.si-home .si-home-hero64-copy h1 {
  max-width: 860px;
  font-size: 60px;
  line-height: 1;
  letter-spacing: 0;
}

.si-home .si-home-hero64-copy > p:not(.si-home-eyebrow):not(.si-home-hero64-social) {
  max-width: 720px;
  font-size: 20px;
  line-height: 1.58;
}

.si-home .si-home-hero64-collage {
  max-width: 680px;
  min-height: 600px;
}

.si-home .si-home-hero64-image-card {
  width: min(500px, 72%);
  height: 376px;
}

.si-home .si-home-hero64-testimonial {
  width: min(310px, 46%);
}

.si-home .si-home-hero64-rating-pill {
  width: min(330px, 50%);
  max-width: min(330px, 50%);
}

.si-home-stats-strip {
  margin-bottom: 112px;
}

.si-home-search-finder {
  padding: 112px 0 122px;
}

.si-home-search-card {
  padding: 66px 56px 50px;
}

.si-home-search-form {
  gap: 32px;
}

.si-home-search-helper {
  margin-top: 26px;
}

.si-home-platform,
.si-home-global-map,
.si-home-section,
.si-home-featured-band,
.si-home-results,
.si-home-partners,
.si-home-join,
.si-home-contact,
.si-home-faq {
  margin-bottom: 122px;
}

.si-home-section-heading {
  gap: 18px;
  max-width: 880px;
  margin-bottom: 42px;
}

.si-home-section-heading.is-centered {
  max-width: 940px;
}

.si-home-section-heading p:not(.si-home-eyebrow) {
  max-width: 760px;
}

.si-home-platform {
  gap: 34px;
}

.si-home-platform-copy,
.si-home-contact,
.si-home-partners {
  padding: 46px;
}

.si-home-platform-media {
  min-height: 440px;
}

.si-home-platform-cards,
.si-home-program-grid,
.si-home-insight-grid {
  gap: 28px;
}

.si-home-platform-card,
.si-home-category-card,
.si-home-journey-card {
  padding: 32px;
}

.si-home-platform-card {
  min-height: 250px;
}

.si-home-journey {
  padding: 36px;
}

.si-home-journey-grid {
  gap: 26px;
}

.si-home-journey-card {
  min-height: 280px;
}

.si-home-journey-card h3 {
  font-size: 32px;
  line-height: 1.08;
}

.si-home-featured-band {
  padding: 116px 0;
}

.si-home-program-image {
  height: 260px;
}

.si-home-program-body {
  gap: 15px;
  padding: 28px;
}

.si-home-program-body h3 {
  font-size: 26px;
}

.si-home-results {
  gap: 36px;
  grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
}

.si-home-results-stat {
  padding: 42px;
}

.si-home-results-copy {
  gap: 28px;
  align-content: center;
}

.si-home-results-copy > p:not(.si-home-eyebrow) {
  max-width: 760px;
}

.si-home-results-points {
  gap: 12px;
  margin-top: 18px;
}

.si-home-category-grid {
  gap: 28px;
  max-width: 1560px;
}

.si-home-category-card {
  flex-basis: 340px;
  max-width: 390px;
  min-height: 250px;
}

.si-home-join {
  padding: 108px 48px;
}

.si-home-join p {
  max-width: 680px;
}

.si-home-contact {
  gap: 40px;
}

.si-home-contact-form {
  gap: 16px;
  padding: 24px;
}

.si-home-faq {
  padding-block: 8px;
}

@media (min-width: 1600px) {
  .si-home > .container,
  .si-home .si-home-search-shell,
  .si-home .si-home-hero64-shell,
  .si-home .si-home-featured-band > .container {
    width: min(100% - 144px, 1600px);
    max-width: 1600px;
  }

  .site-header .header-inner {
    width: min(100% - 144px, var(--container));
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: 64px;
  }
}

@media (max-width: 1199px) {
  .si-home > .container,
  .si-home .si-home-search-shell,
  .si-home .si-home-hero64-shell,
  .si-home .si-home-featured-band > .container,
  .site-header .header-inner {
    width: min(100% - 64px, 1120px);
  }

  .si-home h2 {
    font-size: 48px;
  }

  .si-home .si-home-hero.si-home-hero64 {
    min-height: auto;
    padding: 98px 0 84px;
  }

  .si-home .si-home-hero64-shell {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: 52px;
  }

  .si-home .si-home-hero64-collage {
    min-height: 560px;
  }

  .si-home-platform,
  .si-home-global-map,
  .si-home-section,
  .si-home-featured-band,
  .si-home-results,
  .si-home-partners,
  .si-home-join,
  .si-home-contact,
  .si-home-faq {
    margin-bottom: 96px;
  }
}

@media (max-width: 760px) {
  .si-home > .container,
  .si-home .si-home-search-shell,
  .si-home .si-home-hero64-shell,
  .si-home .si-home-featured-band > .container {
    width: min(100% - 40px, var(--container));
  }

  .site-header .header-inner {
    width: calc(100vw - 40px);
  }

  .si-home h2 {
    font-size: 36px;
    line-height: 1.08;
  }

  .si-home h3 {
    font-size: 22px;
  }

  .si-home p {
    font-size: 15px;
    line-height: 1.56;
  }

  .si-home .si-home-hero.si-home-hero64 {
    padding: 72px 0 64px;
  }

  .si-home .si-home-hero64-copy {
    gap: 18px;
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: 34px;
    line-height: 1.02;
  }

  .si-home .si-home-hero64-copy > p:not(.si-home-eyebrow):not(.si-home-hero64-social) {
    font-size: 16px;
    line-height: 1.56;
  }

  .si-home .si-home-hero64-collage {
    min-height: auto;
  }

  .si-home .si-home-hero64-image-card {
    height: 250px;
  }

  .si-home-stats-strip,
  .si-home-platform,
  .si-home-global-map,
  .si-home-section,
  .si-home-featured-band,
  .si-home-results,
  .si-home-partners,
  .si-home-join,
  .si-home-contact,
  .si-home-faq {
    margin-bottom: 68px;
  }

  .si-home-search-finder {
    padding: 64px 0 72px;
  }

  .si-home-search-card {
    padding: 46px 20px 24px;
  }

  .si-home-section-heading {
    gap: 14px;
    margin-bottom: 28px;
  }

  .si-home-platform-copy,
  .si-home-contact,
  .si-home-partners,
  .si-home-join {
    padding: 24px;
  }

  .si-home-platform-card,
  .si-home-category-card,
  .si-home-journey-card {
    padding: 24px;
  }

  .si-home-journey {
    padding: 20px;
  }

  .si-home-featured-band {
    padding: 68px 0;
  }

  .si-home-program-grid,
  .si-home-platform-cards,
  .si-home-journey-grid,
  .si-home-category-grid,
  .si-home-insight-grid {
    gap: 18px;
  }

  .si-home-category-grid {
    justify-items: center;
  }

  .si-home-category-card {
    width: 100%;
    max-width: 390px;
    justify-self: center;
  }

  .si-home-results {
    gap: 24px;
  }

  .si-home-results-stat {
    padding: 30px;
  }
}

@media (max-width: 420px) {
  .si-home > .container,
  .si-home .si-home-search-shell,
  .si-home .si-home-hero64-shell,
  .si-home .si-home-featured-band > .container {
    width: min(100% - 32px, var(--container));
  }

  .site-header .header-inner {
    width: calc(100vw - 32px);
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: 30px;
  }
}

/* Homepage smoothing pass: blend section transitions without hard borders. */
.si-home {
  background:
    radial-gradient(circle at 12% 4%, rgba(32, 195, 90, 0.14), transparent 28%),
    radial-gradient(circle at 82% 10%, rgba(60, 115, 244, 0.12), transparent 30%),
    linear-gradient(
      180deg,
      #f7fbff 0%,
      #eff7ff 18%,
      #f6fbff 34%,
      #eaf8f8 54%,
      #f7fbff 76%,
      #ffffff 100%
    );
}

.si-home .si-home-hero.si-home-hero64 {
  isolation: isolate;
  background:
    radial-gradient(circle at 82% 16%, rgba(47, 85, 255, 0.08), transparent 26%),
    radial-gradient(circle at 8% 88%, rgba(32, 195, 90, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfcff 54%, rgba(242, 248, 255, 0.72) 82%, rgba(234, 247, 249, 0) 100%);
}

.si-home .si-home-hero.si-home-hero64::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  z-index: 0;
  height: 180px;
  background: linear-gradient(180deg, rgba(247, 251, 255, 0) 0%, rgba(226, 244, 249, 0.62) 48%, rgba(226, 244, 249, 0) 100%);
  pointer-events: none;
}

.si-home .si-home-hero64-shell {
  position: relative;
  z-index: 1;
}

.si-home .si-home-partners {
  margin-top: 64px;
  border-color: transparent;
  background:
    radial-gradient(circle at 50% 0%, rgba(60, 115, 244, 0.09), transparent 38%),
    linear-gradient(180deg, rgba(230, 244, 252, 0.48) 0%, rgba(238, 242, 247, 0.92) 44%, rgba(232, 248, 246, 0.56) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    0 34px 96px rgba(28, 46, 92, 0.08);
}

.si-home .si-home-search-finder {
  margin-top: -72px;
  padding-top: 154px;
  background:
    radial-gradient(circle at 14% 0%, rgba(47, 85, 255, 0.12), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(34, 197, 94, 0.1), transparent 30%),
    linear-gradient(180deg, rgba(238, 243, 255, 0) 0%, rgba(238, 243, 255, 0.78) 18%, rgba(247, 250, 255, 0.94) 72%, rgba(247, 250, 255, 0) 100%);
  box-shadow: none;
}

.si-home .si-home-featured-band {
  background:
    linear-gradient(180deg, rgba(247, 250, 255, 0) 0%, rgba(238, 242, 247, 0.72) 22%, rgba(238, 242, 247, 0.72) 76%, rgba(247, 250, 255, 0) 100%);
}

.si-home .si-home-global-map,
.si-home .si-home-journey,
.si-home .si-home-partners,
.si-home .si-home-join,
.si-home .si-home-contact,
.si-home .si-home-search-card,
.si-home .si-home-faq-cta {
  border-color: transparent;
}

.si-home .si-home-global-map,
.si-home .si-home-journey,
.si-home .si-home-join,
.si-home .si-home-contact {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.6),
    0 32px 90px rgba(28, 46, 92, 0.08);
}

.si-home .si-home-search-card {
  box-shadow:
    0 36px 88px rgba(17, 28, 52, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.si-home .si-home-program-card,
.si-home .si-home-insight-card,
.si-home .si-home-category-card,
.si-home .si-home-journey-card,
.si-home .si-home-partner-pill,
.si-home .si-home-faq-item {
  border-color: transparent;
}

.si-home .si-home-global-map::before,
.si-home .si-home-journey::before,
.si-home .si-home-featured-band::before,
.si-home .si-home-partners::before,
.si-home .si-home-categories::before,
.si-home .si-home-join::before,
.si-home .si-home-contact::before,
.si-home .si-home-insights::before,
.si-home .si-home-faq::before {
  background:
    radial-gradient(ellipse at 50% 50%, rgba(190, 227, 244, 0.44), rgba(190, 227, 244, 0.14) 50%, transparent 74%);
  filter: blur(22px);
}

@media (max-width: 760px) {
  .si-home .si-home-partners {
    margin-top: 0;
  }

  .si-home .si-home-search-finder {
    margin-top: -40px;
    padding-top: 92px;
  }
}

/* =============================================
   Planning Globe section (replaces global-map)
   ============================================= */

.sa-planning-globe {
  margin-bottom: 94px;
}

.sa-planning-globe-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr);
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
  border-radius: 36px;
  padding: clamp(28px, 4vw, 52px) clamp(24px, 4vw, 48px);
  background:
    linear-gradient(135deg, #ffffff 0%, rgba(239, 246, 255, 0.92) 40%, rgba(240, 253, 250, 0.88) 100%);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.6),
    0 32px 90px rgba(28, 46, 92, 0.08);
}

/* Content column */
.sa-planning-globe-content {
  display: grid;
  gap: 0;
  align-content: start;
}

.sa-planning-globe-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(34, 197, 94, 0.1);
  color: #15803d;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  width: fit-content;
}

.sa-planning-globe-badge-icon {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.sa-planning-globe h2 {
  margin-top: 28px;
  margin-bottom: 0;
  font-size: clamp(34px, 4.2vw, 64px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #020617;
  max-width: 680px;
}

.sa-highlight-green {
  color: #059669;
}

.sa-highlight-blue {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.sa-planning-globe-desc {
  margin-top: 20px;
  margin-bottom: 0;
  max-width: 560px;
  color: #64748b;
  font-size: 18px;
  line-height: 1.7;
}

/* Trust row */
.sa-trust-row {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 36px;
  padding: 16px 24px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(226, 232, 240, 0.8);
  width: fit-content;
  max-width: 100%;
}

.sa-trust-avatars {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sa-avatar-stack {
  display: flex;
}

.sa-avatar-stack img {
  width: 36px;
  height: 36px;
  border-radius: 9999px;
  border: 2px solid #fff;
  object-fit: cover;
}

.sa-avatar-stack img + img {
  margin-left: -12px;
}

.sa-trust-text {
  display: grid;
  gap: 0;
}

.sa-trust-text strong {
  font-size: 20px;
  font-weight: 900;
  color: #020617;
  line-height: 1.1;
}

.sa-trust-text span {
  font-size: 13px;
  color: #64748b;
  font-weight: 500;
  line-height: 1.3;
}

.sa-trust-divider {
  width: 1px;
  height: 44px;
  background: #e2e8f0;
  flex-shrink: 0;
}

.sa-trust-rating {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sa-star-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

/* Globe visual column */
.sa-planning-globe-visual {
  display: grid;
  gap: 20px;
  justify-items: center;
}

.sa-globe-circle {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  max-width: 560px;
  border-radius: 9999px;
  overflow: hidden;
  background:
    radial-gradient(circle at 40% 40%, rgba(59, 130, 246, 0.08), transparent 60%),
    linear-gradient(160deg, #eef2ff 0%, #dbeafe 30%, #e0f2fe 60%, #ecfdf5 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.5),
    0 20px 60px rgba(59, 130, 246, 0.15),
    0 8px 24px rgba(59, 130, 246, 0.08);
  isolation: isolate;
}

/* SVG world map fills the circle */
.sa-globe-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.sa-continents path {
  transition: opacity 400ms ease;
}

.sa-globe-gridlines {
  pointer-events: none;
}

.sa-globe-arcs {
  pointer-events: none;
}

.sa-arc {
  fill: none;
  stroke: rgba(59, 130, 246, 0.28);
  stroke-width: 1.5;
  stroke-dasharray: 7 10;
  stroke-linecap: round;
}

/* Country badges */
.sa-globe-badges {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}

.sa-country-badge {
  position: absolute;
  left: var(--badge-x);
  top: var(--badge-y);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px 6px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  backdrop-filter: blur(8px);
  pointer-events: auto;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.sa-country-badge span {
  font-size: 12px;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.2;
}

.sa-flag-img {
  width: 22px;
  height: 16px;
  border-radius: 3px;
  object-fit: cover;
  flex-shrink: 0;
}

/* Spain pin */
.sa-spain-pin {
  position: absolute;
  left: var(--badge-x, 48.97%);
  top: var(--badge-y, 27.55%);
  z-index: 10;
  transform: translate(-50%, -50%);
  cursor: pointer;
  pointer-events: auto;
  display: grid;
  place-items: center;
  text-decoration: none;
}

.sa-pin-ring {
  position: absolute;
  width: 44px;
  height: 44px;
  border-radius: 9999px;
  border: 2px solid rgba(34, 197, 94, 0.5);
  animation: sa-pin-pulse 2.4s ease-in-out infinite;
}

.sa-pin-body {
  width: 18px;
  height: 18px;
  border-radius: 9999px;
  background: #22c55e;
  box-shadow:
    0 0 0 4px rgba(34, 197, 94, 0.2),
    0 0 24px rgba(34, 197, 94, 0.4);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.sa-spain-pin:hover .sa-pin-body,
.sa-spain-pin:focus-visible .sa-pin-body {
  transform: scale(1.2);
  box-shadow:
    0 0 0 6px rgba(34, 197, 94, 0.25),
    0 0 32px rgba(34, 197, 94, 0.5);
}

.sa-spain-pin:focus-visible {
  outline: 3px solid rgba(59, 130, 246, 0.6);
  outline-offset: 6px;
  border-radius: 9999px;
}

/* Spain flag badge */
.sa-spain-flag-badge {
  position: absolute;
  left: var(--badge-x, 48.97%);
  top: calc(var(--badge-y, 27.55%) + 22px);
  z-index: 9;
  transform: translate(-50%, 0);
  pointer-events: none;
}

.sa-spain-flag-badge img {
  width: 28px;
  height: 20px;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  object-fit: cover;
}

/* Spain tooltip */
.sa-spain-tooltip {
  position: absolute;
  right: 14%;
  top: 42%;
  z-index: 11;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.9);
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.1),
    0 2px 8px rgba(0, 0, 0, 0.04);
  backdrop-filter: blur(12px);
  cursor: pointer;
  pointer-events: auto;
  text-decoration: none;
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.sa-spain-tooltip:hover,
.sa-spain-tooltip:focus-visible {
  transform: translateY(-2px);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.14),
    0 4px 12px rgba(0, 0, 0, 0.06);
}

.sa-spain-tooltip:focus-visible {
  outline: 3px solid rgba(59, 130, 246, 0.6);
  outline-offset: 3px;
}

.sa-spain-tooltip strong {
  font-size: 15px;
  font-weight: 700;
  color: #020617;
  white-space: nowrap;
}

.sa-tooltip-arrow {
  color: #22c55e;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  transition: transform 180ms ease;
}

.sa-spain-tooltip:hover .sa-tooltip-arrow {
  transform: translateX(4px);
}

/* Keyframes */
@keyframes sa-pin-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.3);
    opacity: 0.2;
  }
}

/* Responsive: tablet */
@media (max-width: 1199px) {
  .sa-planning-globe-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .sa-planning-globe-content {
    text-align: center;
    justify-items: center;
  }

  .sa-planning-globe h2 {
    text-align: center;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
  }

  .sa-planning-globe-desc {
    text-align: center;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .sa-trust-row {
    margin-left: auto;
    margin-right: auto;
  }

  .sa-globe-circle {
    max-width: 480px;
  }

  .sa-spain-tooltip {
    right: 12%;
  }
}

/* Responsive: mobile */
@media (max-width: 760px) {
  .sa-planning-globe {
    margin-bottom: 58px;
  }

  .sa-planning-globe-inner {
    gap: 28px;
    padding: 22px;
    border-radius: 28px;
  }

  .sa-planning-globe h2 {
    margin-top: 20px;
    font-size: 32px;
    text-align: left;
    max-width: none;
  }

  .sa-planning-globe-desc {
    margin-top: 14px;
    font-size: 15px;
    text-align: left;
    max-width: none;
  }

  .sa-planning-globe-badge {
    font-size: 11px;
    padding: 6px 14px;
  }

  .sa-trust-row {
    flex-wrap: wrap;
    gap: 16px;
    padding: 14px 18px;
    margin-top: 28px;
    width: 100%;
  }

  .sa-globe-circle {
    max-width: 340px;
  }

  .sa-country-badge {
    padding: 4px 10px 4px 6px;
    gap: 5px;
  }

  .sa-country-badge span {
    font-size: 10px;
  }

  .sa-flag-img {
    width: 16px;
    height: 12px;
  }

  .sa-spain-tooltip {
    right: 6%;
    top: 38%;
    padding: 8px 14px;
  }

  .sa-spain-tooltip strong {
    font-size: 12px;
  }

  .sa-planning-globe-content {
    text-align: left;
    justify-items: start;
  }

  .sa-trust-row {
    margin-left: 0;
    margin-right: 0;
  }

  .sa-planning-globe-desc {
    margin-left: 0;
    margin-right: 0;
  }

  .sa-globe-circle {
    max-width: 320px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .sa-pin-ring {
    animation: none;
    opacity: 0.4;
  }

  .sa-arc {
    stroke-dasharray: none;
  }

  .sa-spain-tooltip {
    transition: none;
  }

  .sa-spain-pin:hover .sa-pin-body {
    transform: none;
  }
}

/* Explore universities profile refresh */
.explore-universities-page {
  --universities-blue: #0b63f6;
  --universities-green: #22c55e;
  --universities-green-dark: #16a34a;
  --universities-bg: #f7f9fc;
  --universities-card: #fff;
  --universities-line: #e5e7eb;
  --universities-ink: #0f172a;
  --universities-muted: #475569;
  --universities-soft: #64748b;
  --study-programs-container: 1600px;
  --study-programs-gutter: clamp(48px, 5vw, 96px);
  background: var(--universities-bg);
  color: var(--universities-ink);
}

.explore-universities-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--universities-line);
  background:
    radial-gradient(circle at 82% 20%, rgba(11, 99, 246, 0.12), transparent 27%),
    linear-gradient(135deg, #fff 0%, #f5f9ff 56%, #eef7ff 100%);
}

@media (min-width: 1181px) {
  .explore-universities-hero {
    min-height: auto;
  }
}

.explore-universities-hero::before {
  content: "";
  position: absolute;
  right: max(5vw, 64px);
  top: 46px;
  width: 116px;
  height: 116px;
  opacity: 0.55;
  background-image: radial-gradient(circle, #f4c84a 1.8px, transparent 2px);
  background-size: 16px 16px;
}

.explore-universities-hero-inner {
  position: relative;
  min-height: clamp(420px, 50vh, 560px);
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.72fr);
  gap: clamp(36px, 4vw, 72px);
  align-items: center;
  padding-block: clamp(34px, 4vh, 56px) clamp(24px, 3vh, 44px);
}

.explore-universities-hero-copy {
  max-width: 840px;
  align-self: center;
}

.explore-universities-hero-copy h1 {
  margin: 0 0 18px;
  color: var(--universities-ink);
  font-size: clamp(42px, 3.8vw, 64px);
  line-height: 1.08;
}

.explore-universities-hero-copy p {
  max-width: 780px;
  margin: 0;
  color: var(--universities-muted);
  font-size: clamp(17px, 1.1vw, 20px);
  font-weight: 650;
  line-height: 1.62;
}

.explore-universities-hero-art {
  position: relative;
  align-self: stretch;
  min-height: clamp(260px, 24vw, 420px);
  overflow: hidden;
  border-radius: 999px 0 0 999px;
  background:
    linear-gradient(135deg, rgba(11, 99, 246, 0.18), rgba(34, 197, 94, 0.12)),
    #dbeafe;
}

.explore-universities-hero-art::before {
  content: "";
  position: absolute;
  left: -32px;
  bottom: -36px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: var(--universities-blue);
}

.explore-universities-hero-art img,
.explore-universities-hero-art > span {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.explore-universities-hero-art img {
  object-fit: cover;
  object-position: center;
}

.explore-universities-hero-art > span {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.62), transparent),
    radial-gradient(circle at 72% 36%, rgba(255, 255, 255, 0.65), transparent 34%);
}

.explore-universities-search-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(300px, 1.2fr) repeat(4, minmax(150px, 0.75fr)) minmax(180px, auto) auto;
  gap: 16px;
  align-items: center;
  border: 1px solid var(--universities-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.94);
  padding: 20px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(16px);
}

.explore-universities-search-input {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 58px;
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  background: #fff;
  padding-inline: 16px;
}

.explore-universities-search-input > span:not(.sr-only) {
  width: 16px;
  height: 16px;
  border: 2px solid #8da0ba;
  border-radius: 50%;
  position: relative;
}

.explore-universities-search-input > span:not(.sr-only)::after {
  content: "";
  position: absolute;
  right: -6px;
  bottom: -4px;
  width: 7px;
  height: 2px;
  border-radius: 999px;
  background: #8da0ba;
  transform: rotate(45deg);
}

.explore-universities-search-input input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--universities-ink);
  font-size: 15px;
  font-weight: 700;
}

.explore-universities-search-input input::placeholder {
  color: #7b8798;
}

.explore-universities-search-card .explore-universities-filter-scroll {
  display: contents;
}

.explore-universities-search-card .explore-universities-filter-chip {
  display: block;
}

.explore-universities-search-card .explore-universities-filter-chip > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.explore-universities-search-card .explore-universities-filter-chip select {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  border: 1px solid #dbe3ef;
  border-radius: 10px;
  box-shadow: none;
  color: var(--universities-ink);
  font-size: 14px;
}

.explore-universities-search-button {
  min-height: 58px;
  border-radius: 10px;
  background: var(--universities-blue);
  padding-inline: 22px;
  white-space: nowrap;
}

.explore-universities-search-button:hover,
.explore-universities-search-button:focus-visible {
  background: #0757dd;
}

.explore-universities-search-card .explore-universities-reset {
  color: var(--universities-blue);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.explore-universities-layout {
  display: grid;
  grid-template-columns: clamp(340px, 22vw, 380px) minmax(0, min(100%, 1000px));
  justify-content: center;
  gap: clamp(72px, 5vw, 96px);
  align-items: start;
  padding-block: clamp(56px, 5vw, 84px) clamp(72px, 6vw, 104px);
}

.explore-university-list-column {
  display: grid;
  gap: 24px;
  position: sticky;
  top: calc(var(--header-height) + 24px);
  align-self: start;
  min-width: 0;
}

.explore-university-promo-card,
.explore-university-list-panel,
.explore-university-hero-card,
.explore-university-section,
.explore-university-info-card,
.explore-university-apply-cta {
  border: 1px solid var(--universities-line);
  border-radius: 18px;
  background: var(--universities-card);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.explore-university-promo-card {
  grid-template-columns: 58px minmax(0, 1fr);
  padding: 24px;
  background: linear-gradient(135deg, #fff 0%, #eef6ff 100%);
}

.explore-university-promo-card .study-programs-promo-art {
  grid-column: 1;
  width: 48px;
  height: 48px;
  transform: scale(0.72);
  transform-origin: top left;
}

.explore-university-promo-card h2 {
  margin-bottom: 8px;
  color: var(--universities-ink);
  font-size: 18px;
}

.explore-university-promo-card p {
  color: var(--universities-muted);
  font-size: 14px;
  font-weight: 650;
}

.explore-university-promo-card .button {
  min-height: 38px;
  border-radius: 10px;
  background: var(--universities-green);
  font-size: 13px;
}

.explore-university-list-panel {
  display: grid;
  gap: 18px;
  padding: 20px;
}

.explore-university-list-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
}

.explore-university-list-heading h2 {
  margin: 0;
  color: var(--universities-ink);
  font-size: 17px;
}

.explore-university-list-heading span {
  color: var(--universities-soft);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.explore-university-list {
  display: grid;
  gap: 12px;
}

.explore-university-list-card {
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 14px;
  border-radius: 14px;
  padding: 14px;
  color: var(--universities-ink);
  box-shadow: none;
}

.explore-university-list-card.is-selected {
  border-color: var(--universities-green);
  background: #f0fdf4;
  box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.16);
}

.explore-university-list-logo {
  width: 58px;
  height: 58px;
  border: 1px solid var(--universities-line);
  border-radius: 12px;
  box-shadow: none;
}

.explore-university-list-content strong {
  color: var(--universities-ink);
  font-size: 14px;
  line-height: 1.32;
}

.explore-university-list-content em {
  color: var(--universities-blue);
  text-decoration: none;
}

.explore-university-detail-column {
  display: grid;
  gap: clamp(24px, 2vw, 32px);
  width: min(100%, 1000px);
  justify-self: end;
  min-width: 0;
}

.explore-university-hero-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  width: 100%;
}

.explore-university-cover {
  min-height: clamp(190px, 14vw, 250px);
  border-bottom: 1px solid var(--universities-line);
  background:
    linear-gradient(135deg, rgba(11, 99, 246, 0.18), rgba(15, 23, 42, 0.08)),
    #dbeafe;
}

.explore-university-cover > img {
  display: block;
  object-fit: cover;
}

.explore-university-hero-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(152px, 176px);
  gap: clamp(24px, 2.5vw, 36px) clamp(32px, 3.4vw, 52px);
  align-items: start;
  padding: clamp(28px, 2.6vw, 40px) clamp(28px, 2.6vw, 40px) clamp(30px, 2.8vw, 42px);
}

.explore-university-identity {
  display: grid;
  grid-template-columns: clamp(104px, 7vw, 120px) minmax(0, 1fr);
  gap: clamp(24px, 2.4vw, 36px);
  align-items: start;
  padding: 0;
  min-width: 0;
}

.explore-university-hero-logo {
  width: clamp(104px, 7vw, 120px);
  height: clamp(104px, 7vw, 120px);
  margin-top: clamp(-56px, -3vw, -36px);
  border-radius: 14px;
}

.explore-university-identity .study-program-badge {
  width: fit-content;
  max-width: 100%;
  justify-self: start;
}

.explore-university-identity h1,
.explore-university-identity h2 {
  margin: 10px 0 10px;
  color: var(--universities-ink);
  font-size: clamp(30px, 2.25vw, 40px);
  line-height: 1.1;
}

.explore-university-identity p {
  margin: 0 0 14px;
  color: var(--universities-blue);
  font-size: 14px;
  font-weight: 800;
}

.explore-university-identity span:not(.study-program-badge):not(.explore-university-hero-logo) {
  max-width: 860px;
  color: var(--universities-muted);
  font-size: clamp(14px, 0.95vw, 16px);
  font-weight: 650;
  line-height: 1.62;
}

.explore-university-actions {
  display: grid;
  gap: 12px;
  justify-items: stretch;
  align-self: start;
}

.explore-university-actions .button {
  min-height: 46px;
  border-radius: 10px;
  font-size: 14px;
}

.explore-university-actions .button-primary {
  background: var(--universities-green);
}

.explore-university-actions .button-primary:hover,
.explore-university-actions .button-primary:focus-visible {
  background: var(--universities-green-dark);
}

.explore-university-save {
  min-height: 46px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  color: var(--universities-soft);
  font-size: 24px;
  cursor: pointer;
}

.explore-university-stats {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 8px 0 0;
  border-top: 1px solid var(--universities-line);
  overflow: hidden;
}

.explore-university-stats div {
  min-width: 0;
  border: 0;
  border-right: 1px solid var(--universities-line);
  border-radius: 0;
  background: transparent;
  padding: clamp(18px, 1.6vw, 26px) clamp(18px, 1.8vw, 28px) 0;
}

.explore-university-stats div:last-child {
  border-right: 0;
}

.explore-university-stats dt {
  color: var(--universities-soft);
  font-size: 12px;
  font-weight: 750;
}

.explore-university-stats dd {
  margin-top: 6px;
  color: var(--universities-ink);
  font-size: clamp(20px, 1.35vw, 24px);
  font-weight: 900;
}

.explore-university-profile-tabs {
  position: sticky;
  top: var(--header-height);
  z-index: 4;
  display: flex;
  align-items: center;
  gap: clamp(18px, 4vw, 72px);
  overflow-x: auto;
  border-bottom: 1px solid var(--universities-line);
  background: rgba(247, 249, 252, 0.92);
  padding-inline: 18px;
  backdrop-filter: blur(14px);
}

.explore-university-profile-tabs a {
  position: relative;
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  color: var(--universities-muted);
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.explore-university-profile-tabs a:first-child,
.explore-university-profile-tabs a:hover,
.explore-university-profile-tabs a:focus-visible {
  color: var(--universities-blue);
}

.explore-university-profile-tabs a:first-child::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 3px;
  border-radius: 999px;
  background: var(--universities-blue);
}

.explore-university-section,
.explore-university-info-card {
  padding: clamp(22px, 1.8vw, 30px);
}

.explore-university-section h2,
.explore-university-info-card h2 {
  margin: 0;
  padding-left: 0;
  border-left: 0;
  color: var(--universities-ink);
  font-size: clamp(20px, 1.35vw, 24px);
  line-height: 1.25;
}

.explore-university-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.explore-university-section-heading a,
.explore-university-text-link {
  color: var(--universities-blue);
  font-size: 13px;
  font-weight: 900;
}

.explore-university-program-list {
  display: grid;
  gap: 16px;
}

.explore-university-program-card {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) minmax(210px, auto);
  gap: 20px;
  align-items: center;
  border: 1px solid var(--universities-line);
  border-radius: 14px;
  background: #fff;
  padding: 18px;
}

.explore-university-program-logo {
  width: 64px;
  height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--universities-line);
  border-radius: 10px;
  color: var(--universities-ink);
  font-size: 15px;
  font-weight: 900;
}

.explore-university-program-logo img {
  max-width: 46px;
  max-height: 40px;
  object-fit: contain;
}

.explore-university-program-main h3 {
  margin: 0 0 14px;
  color: var(--universities-ink);
  font-size: clamp(16px, 1.05vw, 18px);
  line-height: 1.3;
}

.explore-university-program-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(86px, 1fr));
  gap: 14px;
  margin: 0;
}

.explore-university-program-meta dt,
.explore-university-program-actions span {
  color: var(--universities-soft);
  font-size: 11px;
  font-weight: 750;
}

.explore-university-program-meta dd {
  margin: 4px 0 0;
  color: var(--universities-ink);
  font-size: 12px;
  font-weight: 900;
}

.explore-university-program-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: end;
}

.explore-university-program-actions p {
  grid-column: 1 / -1;
  justify-self: end;
  margin: 0;
  text-align: right;
}

.explore-university-program-actions strong {
  display: block;
  color: var(--universities-ink);
  font-size: 16px;
}

.explore-university-program-actions .button {
  min-height: 38px;
  border-radius: 8px;
  padding-inline: 16px;
  font-size: 12px;
}

.explore-university-program-actions .button-primary {
  background: var(--universities-green);
}

.explore-university-overview-grid,
.explore-university-info-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
  gap: clamp(18px, 1.8vw, 28px);
}

.explore-university-info-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.explore-university-about {
  background: #fff;
  color: var(--universities-ink);
}

.explore-university-about h2 {
  color: var(--universities-ink);
}

.explore-university-about p,
.explore-university-section p,
.explore-university-info-card p {
  color: var(--universities-muted);
  font-size: clamp(14px, 0.9vw, 16px);
  font-weight: 650;
  line-height: 1.66;
}

.explore-university-video-card {
  display: grid;
  gap: 14px;
}

.explore-university-video-frame {
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 16 / 9;
}

.explore-university-video-link {
  position: relative;
  min-height: 180px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 12px;
  background: #dbeafe;
  color: #fff;
}

.explore-university-video-link img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.explore-university-video-link strong {
  position: relative;
  z-index: 1;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  padding: 10px 16px;
}

.explore-university-empty-panel {
  display: grid;
  gap: 8px;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  background: #f8fafc;
  padding: 18px;
}

.explore-university-empty-panel strong {
  color: var(--universities-ink);
  font-size: 14px;
}

.explore-university-location-image {
  width: 100%;
  height: clamp(112px, 9vw, 154px);
  display: block;
  overflow: hidden;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(11, 99, 246, 0.14), rgba(34, 197, 94, 0.1)), #dbeafe;
}

.explore-university-location-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.explore-university-location-summary {
  display: grid;
  gap: 2px;
  margin-top: 14px;
}

.explore-university-location-summary strong {
  color: var(--universities-ink);
  font-size: 15px;
}

.explore-university-location-summary span {
  color: var(--universities-soft);
  font-size: 13px;
  font-weight: 750;
}

.explore-university-location-stats,
.explore-university-contact-list {
  display: grid;
  gap: 10px;
  margin: 16px 0;
}

.explore-university-location-stats {
  grid-template-columns: 1fr 1fr;
}

.explore-university-location-stats dt,
.explore-university-contact-list dt {
  color: var(--universities-soft);
  font-size: 12px;
  font-weight: 750;
}

.explore-university-location-stats dd,
.explore-university-contact-list dd {
  margin: 4px 0 0;
  color: var(--universities-ink);
  font-size: 13px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.explore-university-contact-list a {
  color: var(--universities-blue);
}

.explore-university-social-links {
  display: flex;
  gap: 8px;
}

.explore-university-social-links a {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eaf2ff;
  color: var(--universities-blue);
  font-size: 11px;
  font-weight: 900;
}

.explore-university-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.explore-university-card-heading span {
  border-radius: 999px;
  background: #eaf2ff;
  padding: 5px 10px;
  color: var(--universities-blue);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.explore-university-review-stars {
  margin: 0 0 10px;
  color: #f59e0b;
  font-size: 15px;
  letter-spacing: 0;
}

.explore-university-review-card blockquote {
  margin: 0;
  color: var(--universities-muted);
  font-size: clamp(14px, 0.9vw, 16px);
  font-weight: 650;
  line-height: 1.65;
}

.explore-university-review-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.explore-university-review-avatar {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 50%;
  background: #eaf2ff;
  color: var(--universities-blue);
  font-size: 13px;
  font-weight: 900;
}

.explore-university-review-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.explore-university-review-author p {
  display: grid;
  gap: 1px;
  margin: 0;
}

.explore-university-review-author strong {
  color: var(--universities-ink);
  font-size: 14px;
}

.explore-university-review-author span,
.explore-university-review-author em {
  color: var(--universities-soft);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.explore-university-faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  margin-top: 16px;
}

.explore-university-accordion {
  border: 1px solid var(--universities-line);
  border-radius: 10px;
}

.explore-university-accordion summary {
  min-height: 46px;
  color: var(--universities-ink);
  font-size: 13px;
}

.explore-university-accordion p {
  color: var(--universities-muted);
}

.explore-university-apply-cta {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  background: linear-gradient(135deg, #fff 0%, #eef6ff 100%);
  padding: clamp(24px, 2.2vw, 34px);
}

.explore-university-apply-cta > span {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eaf2ff;
  color: var(--universities-blue);
  font-size: 24px;
}

.explore-university-apply-cta h2 {
  margin: 0 0 5px;
  color: var(--universities-ink);
  font-size: clamp(20px, 1.45vw, 26px);
}

.explore-university-apply-cta p {
  margin: 0;
  color: var(--universities-muted);
  font-size: 14px;
  font-weight: 650;
}

.explore-university-apply-cta .button {
  min-height: 44px;
  border-radius: 10px;
  background: var(--universities-green);
}

@media (max-width: 1180px) {
  .explore-universities-hero-inner {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);
    gap: 32px;
    padding-block: 48px 40px;
  }

  .explore-universities-hero-copy h1 {
    font-size: clamp(36px, 5vw, 50px);
  }

  .explore-universities-hero-art {
    min-height: 240px;
  }

  .explore-universities-search-card {
    grid-template-columns: 1fr 1fr;
  }

  .explore-universities-search-card .explore-universities-filter-scroll {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

  .explore-universities-layout {
    grid-template-columns: 1fr;
  }

  .explore-university-list-column {
    position: static;
  }

  .explore-university-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .explore-universities-page {
    --study-programs-gutter: 40px;
  }

  .explore-universities-hero-inner {
    grid-template-columns: 1fr;
    padding-block: 34px 28px;
  }

  .explore-universities-hero-art {
    display: none;
  }

  .explore-universities-search-card,
  .explore-universities-search-card .explore-universities-filter-scroll {
    grid-template-columns: 1fr 1fr;
  }

  .explore-university-hero-body,
  .explore-university-overview-grid,
  .explore-university-info-grid {
    grid-template-columns: 1fr;
  }

  .explore-university-actions {
    grid-template-columns: 1fr 1fr auto;
  }

  .explore-university-program-card {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .explore-university-program-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .explore-universities-page {
    --study-programs-gutter: 32px;
  }

  .explore-universities-page .explore-universities-mobile-controls,
  .explore-universities-page .explore-universities-mobile-results {
    display: none;
  }

  .explore-universities-page .explore-universities-layout {
    display: grid;
  }

  .explore-universities-hero-copy h1 {
    font-size: 30px;
  }

  .explore-universities-search-card,
  .explore-universities-search-card .explore-universities-filter-scroll {
    grid-template-columns: 1fr;
  }

  .explore-universities-search-button,
  .explore-universities-search-card .explore-universities-reset {
    width: 100%;
  }

  .explore-university-list-panel {
    overflow: hidden;
  }

  .explore-university-list {
    display: flex;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x mandatory;
  }

  .explore-university-list-card {
    min-width: 268px;
    scroll-snap-align: start;
  }

  .explore-university-hero-card {
    border-radius: 16px;
  }

  .explore-university-cover {
    min-height: 132px;
  }

  .explore-university-identity {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
  }

  .explore-university-hero-logo {
    width: 76px;
    height: 76px;
    margin-top: -18px;
  }

  .explore-university-actions,
  .explore-university-stats,
  .explore-university-program-actions,
  .explore-university-faq-grid,
  .explore-university-apply-cta {
    grid-template-columns: 1fr;
  }

  .explore-university-actions {
    grid-template-columns: minmax(0, 1fr) 52px;
  }

  .explore-university-stats div {
    border-right: 0;
    border-bottom: 1px solid var(--universities-line);
    padding: 14px 0;
  }

  .explore-university-stats div:last-child {
    border-bottom: 0;
  }

  .explore-university-section,
  .explore-university-info-card,
  .explore-university-apply-cta {
    padding: 18px;
  }
}

@media (max-width: 560px) {
  .explore-universities-page {
    --study-programs-gutter: 24px;
  }

  .explore-university-list-column,
  .explore-university-detail-column {
    gap: 14px;
  }

  .explore-university-hero-body {
    padding: 0 18px 18px;
  }

  .explore-university-program-card {
    grid-template-columns: 1fr;
  }

  .explore-university-program-logo {
    width: 64px;
    height: 54px;
  }
}

/* Explore Universities layout repair: keep the approved design, fix sizing/flow. */
body:has(#explore-universities-main) {
  --header-height: 64px;
}

body:has(#explore-universities-main) .header-inner {
  min-height: 64px;
}

body:has(#explore-universities-main) .nav-cta {
  min-height: 44px;
}

.explore-universities-page {
  --study-programs-container: 1440px;
  --study-programs-gutter: 0px;
  overflow-x: hidden;
}

.explore-universities-page .container {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: 32px;
  box-sizing: border-box;
}

.explore-universities-page .study-programs-tabs-band {
  border-bottom: 1px solid var(--universities-line);
  background: #fff;
}

.explore-universities-page .study-programs-tabs {
  min-height: 56px;
  align-items: center;
  gap: 28px;
}

.explore-universities-page .study-programs-tab {
  min-width: 0;
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 0;
  background: transparent;
  padding: 0 6px;
  color: var(--universities-muted);
  box-shadow: none;
}

.explore-universities-page .study-programs-tab.is-active {
  position: relative;
  color: var(--universities-blue);
  background: transparent;
  box-shadow: none;
}

.explore-universities-page .study-programs-tab.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 3px;
  border-radius: 999px;
  background: var(--universities-blue);
}

.explore-universities-hero-inner {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 32px;
  padding-block: 40px;
}

.explore-universities-hero-copy {
  min-width: 0;
  max-width: 760px;
}

.explore-universities-hero-copy h1 {
  font-size: clamp(34px, 3vw, 44px);
  line-height: 1.12;
}

.explore-universities-hero-copy p {
  max-width: 680px;
  font-size: 16px;
  line-height: 1.55;
}

.explore-universities-hero-art {
  min-height: 220px;
}

.explore-universities-search-card {
  width: 100%;
  max-width: 100%;
  grid-template-columns: minmax(240px, 1.35fr) repeat(4, minmax(128px, 1fr)) minmax(156px, auto) auto;
  gap: 12px;
  padding: 16px;
  box-sizing: border-box;
}

.explore-universities-search-input,
.explore-universities-search-card .explore-universities-filter-chip select,
.explore-universities-search-button {
  min-height: 50px;
}

.explore-universities-layout {
  width: 100%;
  max-width: 1440px;
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  column-gap: 48px;
  row-gap: 32px;
  align-items: start;
  margin-inline: auto;
  padding-block: 32px 64px;
  box-sizing: border-box;
}

.explore-university-list-column {
  width: 320px;
  max-width: 320px;
  min-width: 0;
  gap: 20px;
  position: sticky;
  top: calc(var(--header-height) + 16px);
  align-self: start;
  box-sizing: border-box;
}

.explore-university-promo-card,
.explore-university-list-panel {
  width: 100%;
  max-width: 100%;
  border-radius: 16px;
  padding: 20px;
  box-sizing: border-box;
}

.explore-university-detail-column {
  width: 100%;
  max-width: 800px;
  min-width: 0;
  justify-self: end;
  gap: 24px;
  box-sizing: border-box;
}

.explore-university-detail-column > * {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.explore-university-hero-card {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 20px;
}

.explore-university-cover {
  width: 100%;
  height: 220px;
  min-height: 0;
}

.explore-university-cover > img,
.explore-university-cover > span:first-child {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

.explore-university-hero-body {
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 24px;
  padding: 32px;
}

.explore-university-identity {
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 24px;
  min-width: 0;
}

.explore-university-identity > div {
  min-width: 0;
}

.explore-university-hero-logo {
  width: 116px;
  height: 116px;
  margin-top: -56px;
  border-radius: 16px;
}

.explore-university-identity h1,
.explore-university-identity h2 {
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: clamp(26px, 2vw, 34px);
}

.explore-university-identity span:not(.study-program-badge):not(.explore-university-hero-logo) {
  max-width: 680px;
}

.explore-university-actions {
  width: 180px;
  max-width: 180px;
  min-width: 0;
  justify-self: end;
}

.explore-university-stats {
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.explore-university-profile-tabs {
  position: static;
  width: 100%;
  max-width: 100%;
  gap: 48px;
  overflow-x: auto;
  border-bottom: 1px solid var(--universities-line);
  background: transparent;
  margin: 0;
  padding: 0 8px;
  backdrop-filter: none;
}

.explore-university-profile-tabs a {
  min-height: 56px;
}

.explore-university-section,
.explore-university-info-card,
.explore-university-apply-cta {
  width: 100%;
  max-width: 100%;
  border-radius: 20px;
  padding: 24px;
  box-sizing: border-box;
}

.explore-university-program-card {
  width: 100%;
  max-width: 100%;
  grid-template-columns: 88px minmax(0, 1fr) 180px;
  gap: 24px;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
}

.explore-university-program-logo {
  width: 72px;
  height: 72px;
}

.explore-university-program-main {
  min-width: 0;
}

.explore-university-program-main h3 {
  overflow-wrap: anywhere;
}

.explore-university-program-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.explore-university-program-meta dd {
  overflow-wrap: anywhere;
}

.explore-university-program-actions {
  width: 180px;
  max-width: 180px;
  grid-template-columns: 1fr;
  justify-self: end;
}

.explore-university-program-actions p {
  justify-self: stretch;
}

.explore-university-program-actions .button {
  width: 100%;
}

@media (min-width: 1024px) {
  .explore-universities-layout {
    grid-template-columns: 320px minmax(0, 1fr);
  }

  .explore-university-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1180px) {
  .explore-universities-search-card {
    grid-template-columns: 1fr 1fr;
  }

  .explore-universities-search-card .explore-universities-filter-scroll {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (max-width: 1023px) {
  .explore-universities-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .explore-university-list-column {
    width: 100%;
    max-width: 100%;
    position: static;
  }

  .explore-university-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .explore-universities-page .container {
    padding-inline: 24px;
  }

  .explore-universities-hero-inner {
    grid-template-columns: 1fr;
    padding-block: 32px;
  }

  .explore-universities-hero-art {
    display: none;
  }

  .explore-university-hero-body {
    grid-template-columns: 1fr;
  }

  .explore-university-actions {
    width: 100%;
    max-width: 100%;
    grid-template-columns: 1fr 1fr auto;
    justify-self: stretch;
  }

  .explore-university-overview-grid,
  .explore-university-info-grid {
    grid-template-columns: 1fr;
  }

  .explore-university-program-card {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .explore-university-program-actions {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  body:has(#explore-universities-main) {
    --header-height: 64px;
  }

  body:has(#explore-universities-main) .site-header {
    min-height: 64px;
  }

  body:has(#explore-universities-main) .header-inner {
    min-height: 64px;
    gap: 12px;
  }

  body:has(#explore-universities-main) .site-header .header-inner {
    width: 100%;
    padding-inline: 16px;
  }

  body:has(#explore-universities-main) .site-header .brand {
    font-size: 18px;
  }

  body:has(#explore-universities-main) .site-header .brand-mark {
    width: 24px;
    height: 24px;
    border-width: 2px;
    border-radius: 8px 8px 8px 2px;
  }

  body:has(#explore-universities-main) .site-header .brand-mark::before {
    inset: 5px 4px 6px;
    border-width: 2px;
  }

  body:has(#explore-universities-main) .nav-tools {
    gap: 8px;
  }

  body:has(#explore-universities-main) .mobile-header-search-link {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #fff;
  }

  body:has(#explore-universities-main) .mobile-header-search-link svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
  }

  body:has(#explore-universities-main) .menu-button {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    padding: 10px;
  }

  .explore-universities-page .container {
    width: 100%;
    max-width: 440px;
    padding-inline: 16px;
  }

  .explore-universities-page .study-programs-tabs-band {
    position: sticky;
    top: var(--header-height);
    z-index: 20;
    background: #fff;
    box-shadow: 0 1px 0 var(--universities-line);
  }

  .explore-universities-page .study-programs-tabs {
    min-height: 50px;
    display: grid;
    grid-template-columns: repeat(3, minmax(max-content, 1fr));
    gap: 0;
    overflow-x: auto;
  }

  .explore-universities-page .study-programs-tab {
    min-height: 50px;
    justify-content: center;
    gap: 6px;
    padding: 0 10px;
    font-size: 12px;
  }

  .explore-universities-page .study-programs-tab svg {
    width: 16px;
    height: 16px;
  }

  .explore-universities-hero {
    border-bottom: 0;
    overflow: hidden;
    background:
      radial-gradient(circle at 76% 72%, rgba(11, 99, 246, 0.12), transparent 28%),
      linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
  }

  .explore-universities-hero::before {
    right: 36px;
    top: 152px;
    width: 92px;
    height: 92px;
    opacity: 0.42;
  }

  .explore-universities-hero-inner {
    position: relative;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    padding-block: 24px 20px;
  }

  .explore-universities-hero-copy h1 {
    max-width: 320px;
    margin-bottom: 12px;
    font-size: clamp(28px, 8vw, 32px);
    line-height: 1.16;
    letter-spacing: -0.02em;
  }

  .explore-universities-hero-copy p {
    max-width: 330px;
    font-size: 14px;
    line-height: 1.58;
  }

  .explore-universities-hero-art {
    position: absolute;
    right: -22px;
    top: 112px;
    z-index: 0;
    width: 152px;
    height: 152px;
    min-height: 0;
    display: block;
    overflow: hidden;
    border-radius: 999px 0 0 999px;
    opacity: 0.72;
    pointer-events: none;
  }

  .explore-universities-hero-art::before {
    content: "";
    position: absolute;
    inset: 26px auto auto -16px;
    z-index: -1;
    width: 82px;
    height: 82px;
    border-radius: 999px;
    border: 18px solid var(--universities-blue);
    opacity: 0.88;
  }

  .explore-universities-hero-art img,
  .explore-universities-hero-art > span {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .explore-universities-hero-copy,
  .explore-universities-search-card {
    position: relative;
    z-index: 1;
  }

  .explore-universities-search-card {
    grid-template-columns: 1fr;
    gap: 10px;
    border-radius: 18px;
    padding: 14px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
  }

  .explore-universities-search-card .explore-universities-filter-scroll {
    display: grid;
    grid-column: auto;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .explore-universities-search-input,
  .explore-universities-search-card .explore-universities-filter-chip select,
  .explore-universities-search-button {
    min-height: 50px;
    border-radius: 12px;
  }

  .explore-universities-search-input input,
  .explore-universities-search-card .explore-universities-filter-chip select {
    font-size: 13px;
  }

  .explore-universities-search-button {
    width: 100%;
    font-size: 13px;
  }

  .explore-universities-search-card .explore-universities-reset {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
  }

  .explore-universities-layout {
    padding-block: 24px 48px;
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .explore-university-list-column,
  .explore-university-detail-column {
    width: 100%;
    max-width: 100%;
    gap: 18px;
  }

  .explore-university-promo-card {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
    border-radius: 18px;
    padding: 18px;
  }

  .explore-university-promo-card h2 {
    font-size: 15px;
    line-height: 1.3;
  }

  .explore-university-promo-card p {
    font-size: 12px;
    line-height: 1.55;
  }

  .explore-university-promo-card .button {
    min-height: 44px;
    width: max-content;
    max-width: 100%;
    padding-inline: 18px;
  }

  .explore-university-promo-card .study-programs-promo-art {
    width: 44px;
    height: 44px;
  }

  .explore-university-list-panel {
    border-radius: 18px;
    padding: 18px;
    gap: 16px;
  }

  .explore-university-list-heading h2 {
    font-size: 17px;
  }

  .explore-university-list-heading span {
    font-size: 12px;
  }

  .explore-university-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    overflow: visible;
  }

  .explore-university-list-card {
    min-width: 0;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 18px;
    gap: 12px;
    align-items: center;
    border-radius: 14px;
    padding: 14px;
  }

  .explore-university-list-card.is-desktop-route {
    display: none;
  }

  .explore-university-list-card.is-mobile-route {
    display: grid;
  }

  body:has(#explore-universities-main) .explore-universities-layout > .explore-university-detail-column {
    display: none;
  }

  .explore-university-list-logo {
    width: 56px;
    height: 56px;
  }

  .explore-university-list-content strong {
    font-size: 14px;
  }

  .explore-university-list-content span:not(.study-program-badge),
  .explore-university-list-content em {
    font-size: 12px;
  }

  .explore-university-list-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--universities-blue);
    font-size: 18px;
    font-weight: 900;
  }

  .explore-universities-pagination {
    justify-content: center;
  }

  .explore-university-mobile-back {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    color: var(--universities-muted);
    font-size: 13px;
    font-weight: 850;
  }

  .explore-university-hero-card {
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
  }

  .explore-university-cover {
    height: 178px;
    min-height: 0;
    border-radius: 18px 18px 0 0;
  }

  .explore-university-identity {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .explore-university-hero-logo {
    width: 96px;
    height: 96px;
    justify-self: center;
    margin-top: -68px;
    border-radius: 18px;
  }

  .explore-university-identity h1,
  .explore-university-identity h2 {
    margin: 10px 0 8px;
    font-size: clamp(24px, 7vw, 28px);
    line-height: 1.15;
  }

  .explore-university-identity p {
    margin-bottom: 12px;
    font-size: 13px;
  }

  .explore-university-identity span:not(.study-program-badge):not(.explore-university-hero-logo) {
    font-size: 14px;
    line-height: 1.58;
  }

  .explore-university-hero-body {
    padding: 0 16px 18px;
  }

  .explore-university-actions {
    width: 100%;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr) 52px;
    gap: 10px;
  }

  .explore-university-actions .button-primary {
    grid-column: 1 / -1;
  }

  .explore-university-actions .button-outline {
    grid-column: 1;
  }

  .explore-university-save {
    grid-column: 2;
    min-height: 50px;
    font-size: 22px;
  }

  .explore-university-actions,
  .explore-university-stats,
  .explore-university-program-actions,
  .explore-university-faq-grid,
  .explore-university-apply-cta {
    grid-template-columns: 1fr;
  }

  .explore-university-actions {
    grid-template-columns: minmax(0, 1fr) 52px;
  }

  .explore-university-actions .button-primary {
    grid-column: 1 / -1;
  }

  .explore-university-actions .button-outline {
    grid-column: 1;
  }

  .explore-university-save {
    grid-column: 2;
  }

  .explore-university-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--universities-line);
  }

  .explore-university-stats div {
    position: relative;
    min-height: 76px;
    border: 0;
    border-bottom: 1px solid var(--universities-line);
    padding: 14px 8px 14px 42px;
  }

  .explore-university-stats div:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .explore-university-stats div::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 16px;
    width: 24px;
    height: 24px;
    border-radius: 9px;
    background: #eaf2ff;
    box-shadow: inset 0 0 0 1px rgba(11, 99, 246, 0.22);
  }

  .explore-university-stats dt {
    font-size: 11px;
  }

  .explore-university-stats dd {
    font-size: 17px;
  }

  .explore-university-profile-tabs {
    position: sticky;
    top: var(--header-height);
    z-index: 18;
    gap: 22px;
    overflow-x: auto;
    margin-inline: -16px;
    border-bottom: 1px solid var(--universities-line);
    background: rgba(255, 255, 255, 0.94);
    padding-inline: 16px;
    backdrop-filter: blur(12px);
  }

  .explore-university-profile-tabs a {
    min-height: 50px;
    font-size: 12px;
  }

  body:has(#explore-universities-main) #overview,
  body:has(#explore-universities-main) #programs,
  body:has(#explore-universities-main) #admission,
  body:has(#explore-universities-main) #location,
  body:has(#explore-universities-main) #faq {
    scroll-margin-top: calc(var(--header-height) + 58px);
  }

  .explore-university-section,
  .explore-university-info-card,
  .explore-university-apply-cta {
    border-radius: 18px;
    padding: 18px;
  }

  .explore-university-section-heading {
    align-items: start;
    margin-bottom: 16px;
  }

  .explore-university-section-heading h2,
  .explore-university-info-card h2,
  .explore-university-faq-section > h2,
  .explore-university-apply-cta h2 {
    font-size: 18px;
    line-height: 1.3;
  }

  .explore-university-section-heading a {
    white-space: nowrap;
    font-size: 12px;
  }

  .explore-university-program-list {
    gap: 14px;
  }

  .explore-university-program-card {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 14px;
    border-radius: 16px;
    padding: 16px;
  }

  .explore-university-program-logo {
    width: 52px;
    height: 52px;
  }

  .explore-university-program-main h3 {
    margin-bottom: 10px;
    font-size: 15px;
  }

  .explore-university-program-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
  }

  .explore-university-program-actions {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .explore-university-program-actions p {
    grid-column: 1 / -1;
    justify-self: start;
    text-align: left;
  }

  .explore-university-program-actions .button {
    min-height: 44px;
    font-size: 12px;
  }

  .explore-university-overview-grid,
  .explore-university-info-grid,
  .explore-university-faq-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .explore-university-about p,
  .explore-university-section p,
  .explore-university-info-card p,
  .explore-university-review-card blockquote {
    font-size: 14px;
  }

  .explore-university-video-link {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .explore-university-location-image {
    height: 132px;
  }

  .explore-university-location-stats {
    grid-template-columns: 1fr 1fr;
  }

  .explore-university-contact-list div {
    display: grid;
    gap: 4px;
  }

  .explore-university-social-links a {
    width: 38px;
    height: 38px;
  }

  .explore-university-card-heading h2 {
    font-size: 18px;
  }

  .explore-university-card-heading span {
    font-size: 11px;
  }

  .explore-university-accordion summary {
    min-height: 52px;
    padding-inline: 14px;
    font-size: 13px;
  }

  .explore-university-apply-cta {
    text-align: left;
    gap: 14px;
  }

  .explore-university-apply-cta > span {
    width: 58px;
    height: 58px;
  }

  .explore-university-apply-cta .button {
    width: 100%;
  }

  body:has(#explore-universities-main) .site-footer {
    background: #f7f9fc;
    padding-block: 26px 28px;
  }

  body:has(#explore-universities-main) .footer-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-inline: 16px;
  }

  body:has(#explore-universities-main) .footer-brand {
    color: var(--universities-muted);
  }

  body:has(#explore-universities-main) .footer-brand p,
  body:has(#explore-universities-main) .footer-brand address,
  body:has(#explore-universities-main) .footer-brand .button,
  body:has(#explore-universities-main) .footer-cta,
  body:has(#explore-universities-main) .footer-links {
    display: none;
  }

  body:has(#explore-universities-main) .footer-logo {
    margin-bottom: 8px;
    color: var(--universities-blue);
  }

  body:has(#explore-universities-main) .footer-mobile-links {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--universities-line);
  }

  body:has(#explore-universities-main) .footer-mobile-links details {
    border-bottom: 1px solid var(--universities-line);
  }

  body:has(#explore-universities-main) .footer-mobile-links summary {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    color: var(--universities-ink);
    font-size: 14px;
    font-weight: 850;
    cursor: pointer;
  }

  body:has(#explore-universities-main) .footer-mobile-links summary::-webkit-details-marker {
    display: none;
  }

  body:has(#explore-universities-main) .footer-mobile-links summary::after {
    content: "⌄";
    color: var(--universities-muted);
    font-size: 16px;
  }

  body:has(#explore-universities-main) .footer-mobile-links details[open] summary::after {
    transform: rotate(180deg);
  }

  body:has(#explore-universities-main) .footer-mobile-links div {
    display: grid;
    gap: 8px;
    padding: 0 0 14px;
  }

  body:has(#explore-universities-main) .footer-mobile-links a {
    color: var(--universities-muted);
    font-size: 13px;
    font-weight: 700;
  }

  body:has(#explore-universities-main) .footer-bottom {
    width: 100%;
    max-width: 440px;
    display: grid;
    justify-items: start;
    gap: 12px;
    margin-top: 14px;
    padding-inline: 16px;
    color: var(--universities-muted);
  }

  body:has(#explore-universities-main) .footer-bottom div {
    gap: 14px;
  }
}

@media (max-width: 767px) {
  body:has(#university-detail-main) {
    --header-height: 64px;
    background: #f7f9fc;
  }

  body:has(#university-detail-main) .site-header,
  body:has(#university-detail-main) .header-inner {
    min-height: 64px;
  }

  body:has(#university-detail-main) .site-header .header-inner {
    width: 100%;
    padding-inline: 16px;
  }

  body:has(#university-detail-main) .site-header .brand {
    font-size: 18px;
  }

  body:has(#university-detail-main) .site-header .brand-mark {
    width: 24px;
    height: 24px;
    border-width: 2px;
    border-radius: 8px 8px 8px 2px;
  }

  body:has(#university-detail-main) .site-header .brand-mark::before {
    inset: 5px 4px 6px;
    border-width: 2px;
  }

  body:has(#university-detail-main) .nav-tools {
    gap: 8px;
  }

  body:has(#university-detail-main) .mobile-header-search-link {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #fff;
  }

  body:has(#university-detail-main) .mobile-header-search-link svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
  }

  body:has(#university-detail-main) .menu-button {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    padding: 10px;
  }

  body:has(#university-detail-main) .study-programs-tabs-band {
    display: none;
  }

  body:has(#university-detail-main) .explore-universities-page {
    background: #f7f9fc;
  }

  body:has(#university-detail-main) .explore-university-standalone {
    width: 100%;
    max-width: 440px;
    padding: 18px 16px 44px;
  }

  body:has(#university-detail-main) .explore-university-detail-column {
    width: 100%;
    max-width: 100%;
    display: grid;
    gap: 18px;
  }

  body:has(#university-detail-main) .site-footer {
    background: #f7f9fc;
    padding-block: 26px 28px;
  }

  body:has(#university-detail-main) .footer-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-inline: 16px;
  }

  body:has(#university-detail-main) .footer-brand {
    color: var(--universities-muted);
  }

  body:has(#university-detail-main) .footer-brand p,
  body:has(#university-detail-main) .footer-brand address,
  body:has(#university-detail-main) .footer-brand .button,
  body:has(#university-detail-main) .footer-cta,
  body:has(#university-detail-main) .footer-links {
    display: none;
  }

  body:has(#university-detail-main) .footer-logo {
    margin-bottom: 8px;
    color: var(--universities-blue);
  }

  body:has(#university-detail-main) .footer-mobile-links {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--universities-line);
  }

  body:has(#university-detail-main) .footer-mobile-links details {
    border-bottom: 1px solid var(--universities-line);
  }

  body:has(#university-detail-main) .footer-mobile-links summary {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    color: var(--universities-ink);
    font-size: 14px;
    font-weight: 850;
    cursor: pointer;
  }

  body:has(#university-detail-main) .footer-mobile-links summary::-webkit-details-marker {
    display: none;
  }

  body:has(#university-detail-main) .footer-mobile-links summary::after {
    content: "⌄";
    color: var(--universities-muted);
    font-size: 16px;
  }

  body:has(#university-detail-main) .footer-mobile-links details[open] summary::after {
    transform: rotate(180deg);
  }

  body:has(#university-detail-main) .footer-mobile-links div {
    display: grid;
    gap: 8px;
    padding: 0 0 14px;
  }

  body:has(#university-detail-main) .footer-mobile-links a {
    color: var(--universities-muted);
    font-size: 13px;
    font-weight: 700;
  }

  body:has(#university-detail-main) .footer-bottom {
    width: 100%;
    max-width: 440px;
    display: grid;
    justify-items: start;
    gap: 12px;
    margin-top: 14px;
    padding-inline: 16px;
    color: var(--universities-muted);
  }

  body:has(#university-detail-main) .footer-bottom div {
    gap: 14px;
  }
}

.study-program-badge.is-private {
  background: #dcfce7;
  color: #15803d;
}

.study-program-badge.is-public {
  background: #dbeafe;
  color: #1d4ed8;
}

@media (max-width: 767px) {
  body:has(#explore-universities-main) {
    background: #f8fafc;
  }

  body:has(#explore-universities-main) .site-header .header-inner {
    padding-inline: 20px;
  }

  body:has(#explore-universities-main) .explore-universities-page .container {
    max-width: 480px;
    padding-inline: 20px;
  }

  body:has(#explore-universities-main) .study-programs-tabs-band {
    position: sticky;
    top: 64px;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
  }

  body:has(#explore-universities-main) .study-programs-tabs {
    min-height: 58px;
    padding-inline: 12px;
  }

  body:has(#explore-universities-main) .study-programs-tab {
    min-height: 58px;
    gap: 6px;
    font-size: 13px;
    font-weight: 800;
  }

  body:has(#explore-universities-main) .study-programs-tab svg {
    width: 17px;
    height: 17px;
  }

  body:has(#explore-universities-main) .study-programs-tab.is-active::after {
    right: 12px;
    left: 12px;
    height: 3px;
  }

  body:has(#explore-universities-main) .explore-universities-hero-inner {
    gap: 16px;
    padding-block: 30px 18px;
  }

  body:has(#explore-universities-main) .explore-universities-hero-copy h1 {
    max-width: 300px;
    margin-bottom: 12px;
    font-size: clamp(29px, 7.8vw, 32px);
    line-height: 1.14;
    letter-spacing: -0.02em;
  }

  body:has(#explore-universities-main) .explore-universities-hero-copy p {
    max-width: 300px;
    font-size: 14px;
    line-height: 1.62;
  }

  body:has(#explore-universities-main) .explore-universities-hero-art {
    top: 96px;
    right: -10px;
    width: 190px;
    height: 174px;
    border-radius: 120px 0 0;
    opacity: 0.82;
  }

  body:has(#explore-universities-main) .explore-universities-search-card {
    gap: 12px;
    padding: 18px;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  }

  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-scroll {
    gap: 12px;
  }

  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-chip[data-filter-key="studyLevel"] {
    display: none;
  }

  body:has(#explore-universities-main) .explore-universities-search-input,
  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-chip select,
  body:has(#explore-universities-main) .explore-universities-search-button {
    min-height: 52px;
    border-radius: 12px;
  }

  body:has(#explore-universities-main) .explore-universities-search-input input,
  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-chip select {
    font-size: 15px;
    font-weight: 700;
  }

  body:has(#explore-universities-main) .explore-universities-search-button {
    background: #0b63f6;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(11, 99, 246, 0.18);
  }

  body:has(#explore-universities-main) .explore-universities-search-button:hover,
  body:has(#explore-universities-main) .explore-universities-search-button:focus-visible {
    background: #0757dd;
  }

  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-reset {
    min-height: 34px;
    color: #0b63f6;
    font-size: 13px;
    font-weight: 800;
  }

  body:has(#explore-universities-main) .explore-universities-layout {
    gap: 16px;
    padding-block: 16px 36px;
  }

  body:has(#explore-universities-main) .explore-university-promo-card {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 12px;
    margin-top: 0;
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(135deg, #fff 0%, #eef6ff 100%);
  }

  body:has(#explore-universities-main) .explore-university-promo-card > div:not(.study-programs-promo-art) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(136px, auto);
    gap: 6px 14px;
    align-items: center;
  }

  body:has(#explore-universities-main) .explore-university-promo-card h2 {
    grid-column: 1;
    font-size: 15px;
    line-height: 1.3;
  }

  body:has(#explore-universities-main) .explore-university-promo-card p {
    grid-column: 1;
    font-size: 13px;
    line-height: 1.5;
  }

  body:has(#explore-universities-main) .explore-university-promo-card .button {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 100%;
    min-height: 46px;
    padding-inline: 16px;
    border-radius: 12px;
    font-size: 14px;
  }

  body:has(#explore-universities-main) .explore-university-list-panel {
    gap: 16px;
    padding: 16px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
  }

  body:has(#explore-universities-main) .explore-university-list-heading {
    margin-bottom: 14px;
  }

  body:has(#explore-universities-main) .explore-university-list-heading h2 {
    font-size: 19px;
    line-height: 1.2;
  }

  body:has(#explore-universities-main) .explore-university-list-heading span {
    color: #475569;
    font-size: 13px;
  }

  body:has(#explore-universities-main) .explore-university-list {
    gap: 10px;
  }

  body:has(#explore-universities-main) .explore-university-list-card {
    grid-template-columns: 72px minmax(0, 1fr) 20px;
    gap: 12px;
    min-height: 88px;
    padding: 13px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 15px;
    background: #fff;
  }

  body:has(#explore-universities-main) .explore-university-list-card.is-selected {
    border-color: #22c55e;
    background: #f0fdf4;
    box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.15);
  }

  body:has(#explore-universities-main) .explore-university-list-logo {
    width: 64px;
    height: 64px;
    border-radius: 13px;
  }

  body:has(#explore-universities-main) .explore-university-list-logo img {
    max-width: 56px;
    max-height: 44px;
  }

  body:has(#explore-universities-main) .explore-university-list-content {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 12px;
    align-content: center;
  }

  body:has(#explore-universities-main) .explore-university-list-content .study-program-badge {
    grid-column: 1 / -1;
    min-height: 20px;
    padding-inline: 8px;
    font-size: 11px;
  }

  body:has(#explore-universities-main) .explore-university-list-content strong {
    grid-column: 1 / -1;
    font-size: 15.5px;
    line-height: 1.25;
  }

  body:has(#explore-universities-main) .explore-university-list-content span:not(.study-program-badge) {
    grid-column: 1;
    color: #475569;
    font-size: 13px;
  }

  body:has(#explore-universities-main) .explore-university-list-content em {
    grid-column: 2;
    color: #64748b;
    font-size: 13px;
    text-align: right;
    white-space: nowrap;
  }

  body:has(#explore-universities-main) .explore-university-list-arrow {
    width: 20px;
    min-height: 44px;
    color: #0f172a;
    font-size: 22px;
  }

  body:has(#explore-universities-main) .explore-universities-pagination {
    gap: 8px;
    justify-content: center;
    margin-top: 18px;
  }

  body:has(#explore-universities-main) .explore-universities-pagination a,
  body:has(#explore-universities-main) .explore-universities-pagination span {
    min-width: 40px;
    min-height: 40px;
    border-radius: 10px;
    font-size: 14px;
  }
}

@media (max-width: 390px) {
  body:has(#explore-universities-main) .site-header .header-inner,
  body:has(#explore-universities-main) .explore-universities-page .container {
    padding-inline: 16px;
  }

  body:has(#explore-universities-main) .explore-university-promo-card > div:not(.study-programs-promo-art) {
    grid-template-columns: 1fr;
  }

  body:has(#explore-universities-main) .explore-university-promo-card .button {
    grid-column: 1;
    grid-row: auto;
    width: max-content;
  }

  body:has(#explore-universities-main) .explore-university-list-card {
    grid-template-columns: 64px minmax(0, 1fr) 18px;
  }
}

@media (max-width: 1023px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  img,
  video {
    max-width: 100%;
    height: auto;
  }

  body:has(#explore-universities-main) .explore-universities-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  body:has(#explore-universities-main) {
    --header-height: 64px;
    background: #f8fafc;
  }

  body:has(#explore-universities-main) .site-header,
  body:has(#explore-universities-main) .header-inner {
    min-height: 64px;
    max-height: 64px;
  }

  body:has(#explore-universities-main) .desktop-nav,
  body:has(#explore-universities-main) .login-link,
  body:has(#explore-universities-main) .nav-cta {
    display: none;
  }

  body:has(#explore-universities-main) .site-header .header-inner {
    width: 100%;
    max-width: none;
    padding-inline: 16px;
  }

  body:has(#explore-universities-main) .header-inner {
    justify-content: space-between;
    gap: 10px;
  }

  body:has(#explore-universities-main) .site-header .brand {
    gap: 8px;
    min-width: 0;
    font-size: 20px;
    line-height: 1;
  }

  body:has(#explore-universities-main) .site-header .brand-mark {
    width: 28px;
    height: 28px;
    border-width: 2px;
    border-radius: 9px 9px 9px 3px;
  }

  body:has(#explore-universities-main) .site-header .brand-mark::before {
    inset: 6px 5px 7px;
    border-width: 2px;
  }

  body:has(#explore-universities-main) .nav-tools {
    margin-left: auto;
    gap: 6px;
  }

  body:has(#explore-universities-main) .mobile-header-search-link,
  body:has(#explore-universities-main) .menu-button {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 14px;
  }

  body:has(#explore-universities-main) .mobile-header-search-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  body:has(#explore-universities-main) .menu-button {
    display: block;
  }

  body:has(#explore-universities-main) .explore-universities-page {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    background: #f8fafc;
  }

  body:has(#explore-universities-main) .explore-universities-page .container {
    width: 100%;
    max-width: min(100%, 480px);
    padding-inline: 16px;
  }

  body:has(#explore-universities-main) .study-programs-tabs-band {
    position: relative;
    top: auto;
    z-index: 20;
    width: 100%;
    min-height: 56px;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
    overflow: hidden;
  }

  body:has(#explore-universities-main) .study-programs-tabs {
    width: 100%;
    max-width: 480px;
    min-height: 56px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding-inline: 8px;
    overflow: visible;
  }

  body:has(#explore-universities-main) .study-programs-tab {
    min-width: 0;
    min-height: 56px;
    justify-content: center;
    gap: 6px;
    padding-inline: 6px;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
  }

  body:has(#explore-universities-main) .study-programs-tab svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
  }

  body:has(#explore-universities-main) .study-programs-tab.is-active::after {
    right: 10px;
    left: 10px;
    height: 3px;
  }

  body:has(#explore-universities-main) .explore-universities-hero {
    width: 100%;
    overflow: hidden;
  }

  body:has(#explore-universities-main) .explore-universities-hero-inner {
    width: 100%;
    max-width: min(100%, 480px);
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding-block: 24px 16px;
  }

  body:has(#explore-universities-main) .explore-universities-hero-copy {
    width: 100%;
    max-width: 100%;
  }

  body:has(#explore-universities-main) .explore-universities-hero-copy h1 {
    width: min(100%, 330px);
    max-width: 100%;
    margin: 0 0 12px;
    font-size: clamp(30px, 8.2vw, 34px);
    line-height: 1.14;
    letter-spacing: -0.025em;
    overflow-wrap: break-word;
  }

  body:has(#explore-universities-main) .explore-universities-hero-copy p {
    width: min(100%, 340px);
    max-width: 100%;
    margin: 0;
    font-size: 15px;
    line-height: 1.58;
  }

  body:has(#explore-universities-main) .explore-universities-hero-art {
    top: 118px;
    right: -18px;
    width: min(164px, 40vw);
    height: min(150px, 36vw);
    max-width: 44vw;
    border-radius: 110px 0 0;
    opacity: 0.72;
    pointer-events: none;
  }

  body:has(#explore-universities-main) .explore-universities-search-card {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  }

  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-scroll {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    overflow: visible;
  }

  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-chip {
    width: 100%;
    min-width: 0;
  }

  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-chip[data-filter-key="studyLevel"] {
    display: none;
  }

  body:has(#explore-universities-main) .explore-universities-search-input,
  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-chip select,
  body:has(#explore-universities-main) .explore-universities-search-button {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    border-radius: 12px;
  }

  body:has(#explore-universities-main) .explore-universities-search-input input,
  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-chip select {
    width: 100%;
    min-width: 0;
    font-size: 15px;
    font-weight: 700;
  }

  body:has(#explore-universities-main) .explore-universities-search-button {
    justify-content: center;
    background: #0b63f6;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(11, 99, 246, 0.18);
  }

  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-reset {
    min-height: 34px;
    display: inline-flex;
    justify-content: center;
    color: #0b63f6;
    font-size: 13px;
    font-weight: 800;
  }

  body:has(#explore-universities-main) .explore-universities-layout {
    width: 100%;
    max-width: min(100%, 480px);
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding-block: 16px 36px;
  }

  body:has(#explore-universities-main) .explore-university-list-column {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    gap: 16px;
  }

  body:has(#explore-universities-main) .explore-university-promo-card {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-top: 0;
    padding: 20px;
    border-radius: 20px;
    background: linear-gradient(135deg, #fff 0%, #eef6ff 100%);
  }

  body:has(#explore-universities-main) .explore-university-promo-card .study-programs-promo-art {
    width: 48px;
    height: 48px;
  }

  body:has(#explore-universities-main) .explore-university-promo-card > div:not(.study-programs-promo-art) {
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  body:has(#explore-universities-main) .explore-university-promo-card h2 {
    margin: 0;
    font-size: 16px;
    line-height: 1.28;
  }

  body:has(#explore-universities-main) .explore-university-promo-card p {
    margin: 0;
    color: #475569;
    font-size: 14px;
    line-height: 1.5;
  }

  body:has(#explore-universities-main) .explore-university-promo-card .button {
    width: max-content;
    max-width: 100%;
    min-height: 46px;
    margin-top: 4px;
    padding-inline: 18px;
    border-radius: 12px;
    font-size: 14px;
  }

  body:has(#explore-universities-main) .explore-university-list-panel {
    width: 100%;
    max-width: 100%;
    gap: 14px;
    padding: 16px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
  }

  body:has(#explore-universities-main) .explore-university-list-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
  }

  body:has(#explore-universities-main) .explore-university-list-heading h2 {
    font-size: 19px;
    line-height: 1.2;
  }

  body:has(#explore-universities-main) .explore-university-list-heading span {
    flex: 0 0 auto;
    color: #475569;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
  }

  body:has(#explore-universities-main) .explore-university-list {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    overflow: visible;
  }

  body:has(#explore-universities-main) .explore-university-list-route-pair {
    display: contents;
  }

  body:has(#explore-universities-main) .explore-university-list-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 0;
    padding: 14px;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #fff;
  }

  body:has(#explore-universities-main) .explore-university-list-card.is-desktop-route {
    display: none;
  }

  body:has(#explore-universities-main) .explore-university-list-card.is-mobile-route {
    display: grid;
  }

  body:has(#explore-universities-main) .explore-university-list-card.is-selected {
    border-color: #22c55e;
    background: #f0fdf4;
    box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.15);
  }

  body:has(#explore-universities-main) .explore-university-list-logo {
    width: 64px;
    height: 64px;
    border-radius: 14px;
  }

  body:has(#explore-universities-main) .explore-university-list-logo img {
    max-width: 56px;
    max-height: 44px;
    object-fit: contain;
  }

  body:has(#explore-universities-main) .explore-university-list-content {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 10px;
    align-content: center;
  }

  body:has(#explore-universities-main) .explore-university-list-content .study-program-badge {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 20px;
    padding-inline: 8px;
    font-size: 11px;
    line-height: 1;
  }

  body:has(#explore-universities-main) .explore-university-list-content strong {
    grid-column: 1 / -1;
    display: -webkit-box;
    overflow: hidden;
    color: #0f172a;
    font-size: 15.5px;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body:has(#explore-universities-main) .explore-university-list-content span:not(.study-program-badge) {
    grid-column: 1;
    min-width: 0;
    overflow: hidden;
    color: #475569;
    font-size: 13px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body:has(#explore-universities-main) .explore-university-list-content em {
    grid-column: 2;
    color: #64748b;
    font-size: 13px;
    line-height: 1.3;
    text-align: right;
    white-space: nowrap;
  }

  body:has(#explore-universities-main) .explore-university-list-arrow {
    width: 24px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    color: #0f172a;
    font-size: 22px;
    font-weight: 900;
  }

  body:has(#explore-universities-main) .explore-universities-pagination {
    width: 100%;
    display: flex;
    gap: 6px;
    justify-content: center;
    align-items: center;
    margin-top: 18px;
  }

  body:has(#explore-universities-main) .explore-universities-pagination a,
  body:has(#explore-universities-main) .explore-universities-pagination span {
    width: 40px;
    min-width: 40px;
    max-width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    border-radius: 10px;
    font-size: 14px;
  }

  body:has(#explore-universities-main) .explore-universities-pagination .study-programs-page-number:nth-of-type(n + 4):not(:last-of-type) {
    display: none;
  }

  body:has(#explore-universities-main) .explore-universities-pagination .study-programs-page-ellipsis {
    display: inline-flex;
  }

  body:has(#explore-universities-main) .explore-universities-layout > .explore-university-detail-column {
    display: none;
  }

  body:has(#explore-universities-main) .site-footer {
    width: 100%;
    background: #fff;
    padding-block: 24px 28px;
    color: #475569;
    overflow: hidden;
  }

  body:has(#explore-universities-main) .site-footer .container {
    width: 100%;
    max-width: min(100%, 480px);
    padding-inline: 16px;
  }

  body:has(#explore-universities-main) .footer-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body:has(#explore-universities-main) .footer-logo,
  body:has(#explore-universities-main) .footer-mobile-links summary,
  body:has(#explore-universities-main) .footer-bottom,
  body:has(#explore-universities-main) .footer-bottom a {
    color: #0f172a;
  }

  body:has(#explore-universities-main) .footer-logo .brand-mark {
    border-color: #0b63f6;
    color: #0b63f6;
  }

  body:has(#explore-universities-main) .footer-logo .brand-mark::before {
    border-color: currentColor;
  }

  body:has(#explore-universities-main) .footer-mobile-links {
    display: grid;
    border-top: 1px solid #e5e7eb;
  }

  body:has(#explore-universities-main) .footer-mobile-links details {
    border-bottom: 1px solid #e5e7eb;
  }

  body:has(#explore-universities-main) .footer-mobile-links summary {
    min-height: 52px;
    font-size: 14px;
    font-weight: 850;
  }

  body:has(#explore-universities-main) .footer-mobile-links a {
    color: #475569;
    font-size: 13px;
    font-weight: 700;
  }

  body:has(#explore-universities-main) .footer-bottom {
    width: 100%;
    max-width: min(100%, 480px);
    gap: 12px;
    margin-top: 14px;
    padding-inline: 16px;
    font-size: 12px;
  }

  body:has(#explore-universities-main) .footer-bottom div {
    gap: 14px;
  }
}

@media (max-width: 430px) {
  body:has(#explore-universities-main) .explore-universities-page .container,
  body:has(#explore-universities-main) .explore-universities-layout,
  body:has(#explore-universities-main) .site-footer .container,
  body:has(#explore-universities-main) .footer-bottom {
    max-width: 100%;
  }
}

@media (max-width: 360px) {
  body:has(#explore-universities-main) .explore-universities-hero-art {
    display: none;
  }

  body:has(#explore-universities-main) .explore-university-promo-card {
    grid-template-columns: 1fr;
  }

  body:has(#explore-universities-main) .explore-university-promo-card .study-programs-promo-art {
    justify-self: start;
  }

  body:has(#explore-universities-main) .explore-university-promo-card .button {
    width: 100%;
  }
}

/* Final mobile repair for the Explore Universities discovery page.
   Scoped here to keep desktop university/profile layouts unchanged. */
@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body:has(#explore-universities-main) {
    width: 100%;
    max-width: 100vw;
    background: #f8fafc;
  }

  body:has(#explore-universities-main) main,
  body:has(#explore-universities-main) .study-programs-page,
  body:has(#explore-universities-main) .explore-universities-page,
  body:has(#explore-universities-main) .study-programs-tabs-band,
  body:has(#explore-universities-main) .explore-universities-hero,
  body:has(#explore-universities-main) .explore-universities-layout,
  body:has(#explore-universities-main) .site-footer {
    width: 100%;
    max-width: 100vw;
    overflow-x: clip;
  }

  body:has(#explore-universities-main) .site-header {
    min-height: 64px !important;
    max-height: 64px !important;
  }

  body:has(#explore-universities-main) .site-header .header-inner,
  body:has(#explore-universities-main) .explore-universities-page .container,
  body:has(#explore-universities-main) .explore-universities-hero-inner,
  body:has(#explore-universities-main) .explore-universities-layout,
  body:has(#explore-universities-main) .site-footer .container,
  body:has(#explore-universities-main) .footer-bottom {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding-inline: 16px;
    box-sizing: border-box;
  }

  body:has(#explore-universities-main) .header-inner {
    min-height: 64px !important;
    max-height: 64px !important;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
  }

  body:has(#explore-universities-main) .site-header .brand {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100vw - 124px);
    font-size: 20px;
  }

  body:has(#explore-universities-main) .site-header .brand span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body:has(#explore-universities-main) .desktop-nav,
  body:has(#explore-universities-main) .login-link,
  body:has(#explore-universities-main) .nav-cta {
    display: none !important;
  }

  body:has(#explore-universities-main) .nav-tools {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin-left: auto;
  }

  body:has(#explore-universities-main) .mobile-header-search-link,
  body:has(#explore-universities-main) .menu-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px;
    min-height: 44px;
    flex: 0 0 44px;
    border-radius: 14px;
  }

  body:has(#explore-universities-main) .mobile-header-search-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #fff;
  }

  body:has(#explore-universities-main) .mobile-header-search-link svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2.4;
  }

  body:has(#explore-universities-main) .menu-button {
    display: grid !important;
    place-items: center;
    padding: 0;
  }

  body:has(#explore-universities-main) .menu-button span {
    width: 22px;
    height: 2px;
    margin: 0;
  }

  body:has(#explore-universities-main) .menu-button span + span {
    margin-top: 5px;
  }

  body:has(#explore-universities-main) .study-programs-tabs-band {
    position: relative;
    top: auto;
    min-height: 56px;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
  }

  body:has(#explore-universities-main) .study-programs-tabs {
    width: 100%;
    max-width: 100%;
    min-height: 56px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding-inline: 0;
  }

  body:has(#explore-universities-main) .study-programs-tab {
    min-width: 0;
    min-height: 56px;
    justify-content: center;
    gap: 5px;
    padding-inline: 4px;
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
  }

  body:has(#explore-universities-main) .study-programs-tab svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
  }

  body:has(#explore-universities-main) .study-programs-tab.is-active::after {
    right: 12px;
    left: 12px;
    height: 3px;
  }

  body:has(#explore-universities-main) .explore-universities-hero-inner {
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding-block: 24px 16px;
  }

  body:has(#explore-universities-main) .explore-universities-hero-copy h1 {
    width: min(100%, 350px);
    margin: 0 0 12px;
    font-size: clamp(30px, 8.5vw, 34px);
    line-height: 1.14;
  }

  body:has(#explore-universities-main) .explore-universities-hero-copy p {
    width: min(100%, 350px);
    margin: 0;
    font-size: 15px;
    line-height: 1.58;
  }

  body:has(#explore-universities-main) .explore-universities-hero-art {
    right: 0;
    width: min(150px, 38vw);
    max-width: 38vw;
    opacity: 0.6;
  }

  body:has(#explore-universities-main) .explore-universities-search-card,
  body:has(#explore-universities-main) .explore-university-promo-card,
  body:has(#explore-universities-main) .explore-university-list-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
  }

  body:has(#explore-universities-main) .explore-universities-search-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
    border-radius: 20px;
  }

  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-scroll {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    overflow: visible;
  }

  body:has(#explore-universities-main) .explore-universities-search-input,
  body:has(#explore-universities-main) .explore-universities-search-card .explore-universities-filter-chip,
  body:has(#explore-universities-main) .explore-universities-search-card select,
  body:has(#explore-universities-main) .explore-universities-search-card button,
  body:has(#explore-universities-main) .explore-universities-search-button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  body:has(#explore-universities-main) .explore-universities-search-input,
  body:has(#explore-universities-main) .explore-universities-search-card select,
  body:has(#explore-universities-main) .explore-universities-search-button {
    min-height: 52px;
    border-radius: 12px;
  }

  body:has(#explore-universities-main) .explore-universities-layout {
    grid-template-columns: 1fr !important;
    gap: 16px;
    padding-block: 16px 32px;
  }

  body:has(#explore-universities-main) .explore-university-list-column {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body:has(#explore-universities-main) .explore-university-promo-card {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 14px;
    align-items: start;
    padding: 20px;
    border-radius: 20px;
  }

  body:has(#explore-universities-main) .explore-university-promo-card .study-programs-promo-art {
    width: 52px;
    height: 52px;
    justify-self: start;
  }

  body:has(#explore-universities-main) .explore-university-promo-card > div:not(.study-programs-promo-art) {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body:has(#explore-universities-main) .explore-university-promo-card h2,
  body:has(#explore-universities-main) .explore-university-promo-card p {
    width: 100%;
    max-width: 100%;
    margin: 0;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }

  body:has(#explore-universities-main) .explore-university-promo-card h2 {
    font-size: 17px;
    line-height: 1.25;
  }

  body:has(#explore-universities-main) .explore-university-promo-card p {
    font-size: 14px;
    line-height: 1.5;
  }

  body:has(#explore-universities-main) .explore-university-promo-card .button {
    width: 100%;
    max-width: 240px;
    min-height: 46px;
    justify-content: center;
  }

  body:has(#explore-universities-main) .explore-university-list-panel {
    display: grid;
    gap: 14px;
    padding: 16px;
    border-radius: 20px;
    background: #fff;
  }

  body:has(#explore-universities-main) .explore-university-list-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
  }

  body:has(#explore-universities-main) .explore-university-list-heading h2 {
    min-width: 0;
    font-size: 20px;
    line-height: 1.2;
  }

  body:has(#explore-universities-main) .explore-university-list-heading span {
    flex: 0 1 auto;
    min-width: 0;
    color: #475569;
    font-size: 13px;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
  }

  body:has(#explore-universities-main) .explore-university-list {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    overflow: visible;
  }

  body:has(#explore-universities-main) .explore-university-list-card.is-desktop-route {
    display: none !important;
  }

  body:has(#explore-universities-main) .explore-university-list-card.is-mobile-route {
    display: grid !important;
  }

  body:has(#explore-universities-main) .explore-university-list-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: 64px minmax(0, 1fr) 24px;
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
  }

  body:has(#explore-universities-main) .explore-university-list-content {
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3px;
  }

  body:has(#explore-universities-main) .explore-university-list-content strong {
    font-size: 15.5px;
    line-height: 1.26;
  }

  body:has(#explore-universities-main) .explore-university-list-content span:not(.study-program-badge),
  body:has(#explore-universities-main) .explore-university-list-content em {
    grid-column: 1;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    color: #475569;
    font-size: 13px;
    line-height: 1.3;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body:has(#explore-universities-main) .explore-university-list-arrow {
    width: 24px;
    min-width: 24px;
    justify-content: flex-end;
    font-size: 22px;
  }

  body:has(#explore-universities-main) .explore-universities-pagination {
    gap: 6px;
    margin-top: 16px;
  }

  body:has(#explore-universities-main) .explore-universities-pagination a,
  body:has(#explore-universities-main) .explore-universities-pagination span {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border-radius: 10px;
  }

  body:has(#explore-universities-main) .explore-universities-layout > .explore-university-detail-column {
    display: none !important;
  }

  body:has(#explore-universities-main) .site-footer {
    background: #fff;
    color: #475569;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  body:has(#explore-universities-main) .explore-universities-page .container,
  body:has(#explore-universities-main) .explore-universities-hero-inner,
  body:has(#explore-universities-main) .explore-universities-layout {
    width: 100%;
    max-width: 100%;
    padding-inline: 24px;
  }

  body:has(#explore-universities-main) .explore-universities-layout {
    grid-template-columns: 1fr !important;
  }

  body:has(#explore-universities-main) .explore-university-list-column,
  body:has(#explore-universities-main) .explore-university-detail-column {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}

/* Final mobile repair for the university detail profile route. */
@media (max-width: 767px) {
  body:has(#university-detail-main) {
    --header-height: 64px;
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    background: #f7f9fc;
  }

  body:has(#university-detail-main) *,
  body:has(#university-detail-main) *::before,
  body:has(#university-detail-main) *::after {
    box-sizing: border-box;
  }

  body:has(#university-detail-main) img,
  body:has(#university-detail-main) video,
  body:has(#university-detail-main) iframe {
    max-width: 100%;
  }

  body:has(#university-detail-main) main,
  body:has(#university-detail-main) .university-detail-page,
  body:has(#university-detail-main) .explore-university-standalone,
  body:has(#university-detail-main) .explore-university-detail-column,
  body:has(#university-detail-main) .site-footer {
    width: 100%;
    max-width: 100vw;
    min-width: 0;
    overflow-x: clip;
  }

  body:has(#university-detail-main) .site-header,
  body:has(#university-detail-main) .header-inner {
    min-height: 64px !important;
    max-height: 64px !important;
  }

  body:has(#university-detail-main) .site-header .header-inner,
  body:has(#university-detail-main) .explore-university-standalone,
  body:has(#university-detail-main) .site-footer .container,
  body:has(#university-detail-main) .footer-bottom {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding-inline: 16px;
  }

  body:has(#university-detail-main) .header-inner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-block: 0;
  }

  body:has(#university-detail-main) .site-header .brand {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100vw - 124px);
    font-size: 20px;
  }

  body:has(#university-detail-main) .site-header .brand span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body:has(#university-detail-main) .desktop-nav,
  body:has(#university-detail-main) .login-link,
  body:has(#university-detail-main) .nav-cta {
    display: none !important;
  }

  body:has(#university-detail-main) .nav-tools {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    margin-left: auto;
  }

  body:has(#university-detail-main) .mobile-header-search-link,
  body:has(#university-detail-main) .menu-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px;
    min-height: 44px;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
  }

  body:has(#university-detail-main) .mobile-header-search-link {
    display: inline-flex !important;
  }

  body:has(#university-detail-main) .menu-button {
    display: grid !important;
    place-items: center;
    padding: 0;
  }

  body:has(#university-detail-main) .menu-button span {
    width: 22px;
    height: 2px;
    margin: 0;
  }

  body:has(#university-detail-main) .menu-button span + span {
    margin-top: 5px;
  }

  body:has(#university-detail-main) .mobile-header-search-link svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2.4;
  }

  body:has(#university-detail-main) .study-programs-tabs-band {
    display: none !important;
  }

  body:has(#university-detail-main) .explore-university-standalone {
    display: block;
    padding-block: 14px 32px;
  }

  body:has(#university-detail-main) .explore-university-detail-column {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 16px;
    justify-self: stretch;
  }

  body:has(#university-detail-main) .explore-university-detail-column > * {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body:has(#university-detail-main) .explore-university-mobile-back {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    color: #475569;
    font-size: 13px;
    font-weight: 850;
  }

  body:has(#university-detail-main) .explore-university-hero-card,
  body:has(#university-detail-main) .explore-university-section,
  body:has(#university-detail-main) .explore-university-info-card,
  body:has(#university-detail-main) .explore-university-apply-cta {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
  }

  body:has(#university-detail-main) .explore-university-cover {
    width: 100%;
    height: 168px;
    min-height: 0;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
  }

  body:has(#university-detail-main) .explore-university-cover > img,
  body:has(#university-detail-main) .explore-university-cover > span {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  body:has(#university-detail-main) .explore-university-hero-body {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px;
    padding: 0 16px 18px;
  }

  body:has(#university-detail-main) .explore-university-identity {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    justify-items: start;
    min-width: 0;
  }

  body:has(#university-detail-main) .explore-university-hero-logo {
    width: 96px;
    height: 96px;
    justify-self: center;
    margin-top: -56px;
    border-radius: 18px;
    background: #fff;
  }

  body:has(#university-detail-main) .explore-university-identity > div {
    width: 100%;
    min-width: 0;
  }

  body:has(#university-detail-main) .explore-university-identity h1,
  body:has(#university-detail-main) .explore-university-identity h2 {
    width: 100%;
    max-width: 100%;
    margin: 10px 0 8px;
    font-size: clamp(24px, 7vw, 28px);
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  body:has(#university-detail-main) .explore-university-identity p {
    margin: 0 0 12px;
    color: #0b63f6;
    font-size: 13px;
    font-weight: 800;
  }

  body:has(#university-detail-main) .explore-university-identity span:not(.study-program-badge):not(.explore-university-hero-logo) {
    display: block;
    width: 100%;
    max-width: 100%;
    color: #475569;
    font-size: 14px;
    line-height: 1.58;
    overflow-wrap: anywhere;
  }

  body:has(#university-detail-main) .explore-university-actions {
    width: 100%;
    max-width: 100%;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    gap: 10px;
    justify-self: stretch;
  }

  body:has(#university-detail-main) .explore-university-actions .button-primary {
    grid-column: 1 / -1;
  }

  body:has(#university-detail-main) .explore-university-actions .button-outline {
    grid-column: 1;
  }

  body:has(#university-detail-main) .explore-university-save {
    grid-column: 2;
    width: 52px;
    min-height: 50px;
  }

  body:has(#university-detail-main) .explore-university-actions .button {
    width: 100%;
    min-height: 50px;
  }

  body:has(#university-detail-main) .explore-university-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100%;
    margin: 0;
    border-top: 1px solid #e5e7eb;
  }

  body:has(#university-detail-main) .explore-university-stats div {
    min-width: 0;
    padding: 14px 8px 14px 42px;
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }

  body:has(#university-detail-main) .explore-university-stats div:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  body:has(#university-detail-main) .explore-university-stats dt {
    font-size: 11px;
    line-height: 1.2;
  }

  body:has(#university-detail-main) .explore-university-stats dd {
    font-size: 16px;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  body:has(#university-detail-main) .explore-university-profile-tabs {
    position: sticky;
    top: var(--header-height);
    z-index: 18;
    width: calc(100% + 32px);
    max-width: none;
    display: flex;
    gap: 22px;
    margin-inline: -16px;
    padding-inline: 16px;
    overflow-x: auto;
    border-bottom: 1px solid #e5e7eb;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
  }

  body:has(#university-detail-main) .explore-university-profile-tabs a {
    min-height: 50px;
    flex: 0 0 auto;
    font-size: 12px;
  }

  body:has(#university-detail-main) #overview,
  body:has(#university-detail-main) #programs,
  body:has(#university-detail-main) #admission,
  body:has(#university-detail-main) #location,
  body:has(#university-detail-main) #faq {
    scroll-margin-top: calc(var(--header-height) + 58px);
  }

  body:has(#university-detail-main) .explore-university-section,
  body:has(#university-detail-main) .explore-university-info-card,
  body:has(#university-detail-main) .explore-university-apply-cta {
    padding: 18px;
  }

  body:has(#university-detail-main) .explore-university-section-heading {
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
  }

  body:has(#university-detail-main) .explore-university-section-heading h2,
  body:has(#university-detail-main) .explore-university-info-card h2,
  body:has(#university-detail-main) .explore-university-faq-section > h2,
  body:has(#university-detail-main) .explore-university-apply-cta h2 {
    font-size: 18px;
    line-height: 1.3;
  }

  body:has(#university-detail-main) .explore-university-section-heading a {
    white-space: nowrap;
    font-size: 12px;
  }

  body:has(#university-detail-main) .explore-university-program-list {
    gap: 14px;
  }

  body:has(#university-detail-main) .explore-university-program-card {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 14px;
    padding: 16px;
    border-radius: 16px;
  }

  body:has(#university-detail-main) .explore-university-program-logo {
    width: 52px;
    height: 52px;
  }

  body:has(#university-detail-main) .explore-university-program-main {
    min-width: 0;
  }

  body:has(#university-detail-main) .explore-university-program-main h3 {
    margin-bottom: 10px;
    font-size: 15px;
    overflow-wrap: anywhere;
  }

  body:has(#university-detail-main) .explore-university-program-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px;
  }

  body:has(#university-detail-main) .explore-university-program-actions {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px;
  }

  body:has(#university-detail-main) .explore-university-program-actions p {
    grid-column: 1 / -1;
    justify-self: start;
    text-align: left;
  }

  body:has(#university-detail-main) .explore-university-program-actions .button {
    width: 100%;
    min-height: 44px;
    font-size: 12px;
  }

  body:has(#university-detail-main) .explore-university-overview-grid,
  body:has(#university-detail-main) .explore-university-info-grid,
  body:has(#university-detail-main) .explore-university-faq-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px;
  }

  body:has(#university-detail-main) .explore-university-about p,
  body:has(#university-detail-main) .explore-university-section p,
  body:has(#university-detail-main) .explore-university-info-card p,
  body:has(#university-detail-main) .explore-university-review-card blockquote {
    font-size: 14px;
    line-height: 1.6;
  }

  body:has(#university-detail-main) .explore-university-video-link,
  body:has(#university-detail-main) .explore-university-video-frame {
    min-height: 0;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
  }

  body:has(#university-detail-main) .explore-university-location-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }

  body:has(#university-detail-main) .explore-university-location-card h2,
  body:has(#university-detail-main) .explore-university-location-stats,
  body:has(#university-detail-main) .explore-university-location-card .button {
    grid-column: 1 / -1;
  }

  body:has(#university-detail-main) .explore-university-location-image {
    width: 96px;
    height: 82px;
    margin: 0;
    border-radius: 12px;
  }

  body:has(#university-detail-main) .explore-university-location-summary {
    align-self: center;
    margin: 0;
  }

  body:has(#university-detail-main) .explore-university-location-stats {
    grid-template-columns: 1fr 1fr;
    margin: 6px 0 2px;
  }

  body:has(#university-detail-main) .explore-university-location-card .button {
    width: 100%;
    min-height: 44px;
  }

  body:has(#university-detail-main) .explore-university-contact-list div {
    display: grid;
    gap: 4px;
  }

  body:has(#university-detail-main) .explore-university-social-links a {
    width: 38px;
    height: 38px;
  }

  body:has(#university-detail-main) .explore-university-card-heading h2 {
    font-size: 18px;
  }

  body:has(#university-detail-main) .explore-university-card-heading span {
    font-size: 11px;
  }

  body:has(#university-detail-main) .explore-university-accordion summary {
    min-height: 52px;
    padding-inline: 14px;
    font-size: 13px;
  }

  body:has(#university-detail-main) .explore-university-apply-cta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px;
    text-align: left;
    background: linear-gradient(135deg, #fff 0%, #eef6ff 100%);
  }

  body:has(#university-detail-main) .explore-university-apply-cta > span {
    width: 58px;
    height: 58px;
  }

  body:has(#university-detail-main) .explore-university-apply-cta .button {
    width: 100%;
    min-height: 48px;
  }

  body:has(#university-detail-main) .site-footer {
    background: #f7f9fc;
    color: #475569;
    padding-block: 26px 28px;
  }

  body:has(#university-detail-main) .footer-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-inline: 16px;
  }

  body:has(#university-detail-main) .footer-logo,
  body:has(#university-detail-main) .footer-mobile-links summary,
  body:has(#university-detail-main) .footer-bottom,
  body:has(#university-detail-main) .footer-bottom a {
    color: #0f172a;
  }

  body:has(#university-detail-main) .footer-brand p,
  body:has(#university-detail-main) .footer-brand address,
  body:has(#university-detail-main) .footer-brand .button,
  body:has(#university-detail-main) .footer-cta,
  body:has(#university-detail-main) .footer-links {
    display: none;
  }

  body:has(#university-detail-main) .footer-mobile-links {
    display: grid;
    border-top: 1px solid #e5e7eb;
  }

  body:has(#university-detail-main) .footer-mobile-links details {
    border-bottom: 1px solid #e5e7eb;
  }

  body:has(#university-detail-main) .footer-mobile-links summary {
    min-height: 52px;
    font-size: 14px;
    font-weight: 850;
  }

  body:has(#university-detail-main) .footer-mobile-links a {
    color: #475569;
    font-size: 13px;
    font-weight: 700;
  }

  body:has(#university-detail-main) .footer-bottom {
    gap: 12px;
    margin-top: 14px;
    font-size: 12px;
  }
}

@media (max-width: 360px) {
  body:has(#university-detail-main) .explore-university-program-actions {
    grid-template-columns: 1fr !important;
  }

  body:has(#university-detail-main) .explore-university-actions {
    grid-template-columns: 1fr !important;
  }

  body:has(#university-detail-main) .explore-university-actions .button-outline,
  body:has(#university-detail-main) .explore-university-save {
    grid-column: 1;
    width: 100%;
  }
}

/* University profile icon repair. */
.explore-university-identity p {
  display: flex;
  align-items: center;
  gap: 6px;
}

.explore-university-identity p svg,
.explore-university-mobile-back svg,
.explore-university-save svg,
.explore-university-social-links svg,
.explore-university-apply-cta > span svg,
.explore-university-stat-icon svg,
.explore-university-meta-icon svg,
.explore-university-contact-icon svg,
.explore-university-location-stat-icon svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.explore-university-mobile-back {
  gap: 6px;
}

.explore-university-mobile-back svg {
  width: 16px;
  height: 16px;
}

.explore-university-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.explore-university-save svg {
  width: 18px;
  height: 18px;
}

.explore-university-save.is-saved {
  background: rgba(34, 197, 94, 0.08);
  border-color: rgba(34, 197, 94, 0.2);
  color: #15803d;
}

.explore-university-save.is-loading {
  opacity: 0.6;
  cursor: wait;
}

.explore-university-stats div {
  position: relative;
  padding-left: clamp(54px, 3.6vw, 64px);
}

.explore-university-stats div::before {
  display: none !important;
  content: none !important;
}

.explore-university-stat-icon {
  position: absolute;
  left: clamp(18px, 1.6vw, 24px);
  top: clamp(20px, 1.8vw, 27px);
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(11, 99, 246, 0.2);
  border-radius: 10px;
  background: #eaf2ff;
  color: var(--universities-blue);
}

.explore-university-stat-icon svg {
  width: 16px;
  height: 16px;
}

.explore-university-program-meta > div {
  position: relative;
  min-width: 0;
  padding-left: 28px;
}

.explore-university-meta-icon {
  position: absolute;
  left: 0;
  top: 1px;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: #eaf2ff;
  color: var(--universities-blue);
}

.explore-university-meta-icon svg {
  width: 13px;
  height: 13px;
  stroke-width: 2;
}

.explore-university-contact-list > div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.explore-university-contact-list > div > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.explore-university-contact-icon,
.explore-university-location-stat-icon {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(11, 99, 246, 0.14);
  border-radius: 10px;
  background: #f3f7ff;
  color: var(--universities-blue);
}

.explore-university-contact-icon svg,
.explore-university-location-stat-icon svg {
  width: 16px;
  height: 16px;
}

.explore-university-location-stats > div {
  position: relative;
  min-width: 0;
  padding-left: 40px;
}

.explore-university-location-stat-icon {
  position: absolute;
  left: 0;
  top: 0;
}

.explore-university-social-links a {
  font-size: 0;
}

.explore-university-social-links svg {
  width: 16px;
  height: 16px;
  stroke-width: 2;
}

.explore-university-apply-cta > span svg {
  width: 25px;
  height: 25px;
  stroke-width: 2;
}

@media (max-width: 767px) {
  body:has(#university-detail-main) .explore-university-stats div {
    padding: 14px 8px 14px 42px;
  }

  body:has(#university-detail-main) .explore-university-stat-icon {
    left: 8px;
    top: 16px;
    width: 24px;
    height: 24px;
    border-radius: 9px;
  }

  body:has(#university-detail-main) .explore-university-stat-icon svg {
    width: 14px;
    height: 14px;
  }

  body:has(#university-detail-main) .explore-university-program-meta > div {
    padding-left: 26px;
  }

  body:has(#university-detail-main) .explore-university-contact-list > div {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
  }

  body:has(#university-detail-main) .explore-university-contact-list > div > div {
    display: grid;
    gap: 4px;
  }

  body:has(#university-detail-main) .explore-university-location-stats > div {
    padding-left: 36px;
  }

  body:has(#university-detail-main) .explore-university-location-stat-icon {
    width: 28px;
    height: 28px;
  }
}

/* Mobile Explore Cities page */
body:has(#top-cities-main) {
  max-width: 100%;
  overflow-x: hidden;
}

body:has(#top-cities-main) .study-program-tabs {
  width: 100%;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}

body:has(#top-cities-main) .study-program-tabs-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  width: min(100%, 1360px);
  min-height: 60px;
  margin: 0 auto;
  padding: 0 32px;
}

body:has(#top-cities-main) .study-program-tabs-inner a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  color: #475569;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

body:has(#top-cities-main) .study-program-tabs-inner a svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body:has(#top-cities-main) .study-program-tabs-inner a.is-active {
  color: #0b63f6;
}

body:has(#top-cities-main) .study-program-tabs-inner a.is-active::after {
  content: "";
  position: absolute;
  right: 20%;
  bottom: 0;
  left: 20%;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: #0b63f6;
}

.top-cities-search-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.top-cities-search-button svg {
  display: none;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.top-cities-reset-link {
  display: none;
  border: 0;
  background: transparent;
  color: #0b63f6;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  img,
  video {
    max-width: 100%;
  }

  body:has(#top-cities-main) {
    --header-height: 64px;
    background: #f7f9fc;
  }

  body:has(#top-cities-main) .site-header {
    min-height: 64px;
    background: #0b63f6;
  }

  body:has(#top-cities-main) .site-header.is-scrolled {
    background: #0b63f6;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
  }

  body:has(#top-cities-main) .site-header .header-inner {
    width: 100%;
    max-width: 100%;
    padding: 0 16px;
  }

  body:has(#top-cities-main) .header-inner {
    min-height: 64px;
    gap: 12px;
  }

  body:has(#top-cities-main) .site-header .brand {
    min-width: 0;
    font-size: 25px;
  }

  body:has(#top-cities-main) .site-header .brand-mark {
    width: 33px;
    height: 33px;
    border-width: 3px;
    border-radius: 10px 10px 10px 3px;
  }

  body:has(#top-cities-main) .site-header .brand-mark::before {
    inset: 6px 5px 8px 5px;
    border-width: 3px;
  }

  body:has(#top-cities-main) .nav-tools {
    gap: 8px;
    margin-left: auto;
  }

  body:has(#top-cities-main) .mobile-header-search-link,
  body:has(#top-cities-main) .menu-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 14px;
  }

  body:has(#top-cities-main) .mobile-header-search-link {
    color: #fff;
    text-decoration: none;
  }

  body:has(#top-cities-main) .mobile-header-search-link svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
  }

  body:has(#top-cities-main) .menu-button {
    display: grid;
    place-items: center;
    padding: 0;
    background: rgba(255, 255, 255, 0.14);
  }

  body:has(#top-cities-main) .menu-button span {
    width: 24px;
    height: 2px;
    margin: 0;
  }

  body:has(#top-cities-main) .menu-button span + span {
    margin-top: 6px;
  }

  body:has(#top-cities-main) .study-program-tabs {
    min-height: 56px;
  }

  body:has(#top-cities-main) .study-program-tabs-inner {
    min-height: 56px;
    padding: 0;
  }

  body:has(#top-cities-main) .study-program-tabs-inner a {
    min-height: 56px;
    gap: 7px;
    font-size: 14px;
  }

  body:has(#top-cities-main) .study-program-tabs-inner a svg {
    width: 18px;
    height: 18px;
  }

  body:has(#top-cities-main) .study-program-tabs-inner a.is-active::after {
    right: 18%;
    left: 18%;
  }

  .top-cities-shell {
    padding-bottom: 24px;
  }

  .top-cities-container {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    max-width: 100%;
    padding: 0 16px;
  }

  .top-cities-hero {
    position: relative;
    display: block;
    min-height: 0;
    padding: 28px 0 0;
    overflow: visible;
  }

  .top-cities-hero-copy {
    max-width: 270px;
  }

  .top-cities-hero-copy h1 {
    max-width: 9.8em;
    font-size: 30px;
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -0.03em;
  }

  .top-cities-hero-copy p {
    max-width: 285px;
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.58;
    font-weight: 500;
  }

  .top-cities-hero-art {
    position: absolute;
    right: -50px;
    top: 40px;
    z-index: 0;
    width: 205px;
    min-height: 148px;
    border-radius: 999px 0 0 999px;
    opacity: 0.9;
    pointer-events: none;
  }

  .top-cities-hero-art::before {
    left: -42px;
    top: 54px;
    width: 80px;
    height: 80px;
    border-width: 20px;
  }

  .top-cities-search-card {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
    padding: 16px;
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
  }

  .top-cities-search-field {
    grid-column: 1 / -1;
  }

  .top-cities-search-field,
  .top-cities-select-field {
    min-height: 52px;
    border-radius: 12px;
  }

  .top-cities-search-field input,
  .top-cities-select-field select {
    min-height: 52px;
    font-size: 15px;
  }

  .top-cities-select-field {
    padding: 7px 14px;
  }

  .top-cities-search-button {
    grid-column: 1 / -1;
    min-height: 52px;
    border-radius: 12px;
    font-size: 15px;
  }

  .top-cities-search-button svg {
    display: block;
  }

  .top-cities-reset-link {
    display: inline-flex;
    grid-column: 1 / -1;
    justify-content: center;
    min-height: 24px;
    padding: 2px 0 0;
    font-size: 14px;
  }

  .top-cities-section + .top-cities-section {
    margin-top: 0;
  }

  .top-cities-section-header {
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
  }

  .top-cities-section-header h2 {
    font-size: 20px;
    line-height: 1.25;
    letter-spacing: -0.02em;
  }

  .top-cities-section-header a,
  .top-cities-section-header span {
    font-size: 14px;
  }

  .top-cities-recommended-grid,
  .top-cities-goal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }

  .top-cities-recommended-grid .top-city-card {
    border-radius: 16px;
  }

  .top-cities-recommended-grid .top-city-card-media,
  .top-city-card.is-recommended .top-city-card-media {
    height: 96px;
  }

  .top-cities-recommended-grid .top-city-card-body {
    gap: 8px;
    padding: 12px;
  }

  .top-cities-recommended-grid .top-city-card h3 {
    font-size: 16px;
  }

  .top-cities-recommended-grid .top-city-card-heading p {
    margin-top: 4px;
    font-size: 13px;
  }

  .top-cities-recommended-grid .top-city-card-reason {
    min-height: 50px;
    font-size: 13px;
    line-height: 1.45;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .top-cities-recommended-grid .top-city-card-link {
    font-size: 13px;
  }

  .top-cities-recommended-grid .top-city-card.is-recommended .top-city-card-heading {
    padding-right: 0;
  }

  .top-cities-recommended-grid .top-city-category-mark {
    top: -27px;
    right: 10px;
    width: 46px;
    height: 46px;
  }

  .top-cities-recommended-grid .top-city-category-mark svg {
    width: 22px;
    height: 22px;
  }

  .top-cities-goal-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    min-height: 0;
    padding: 12px;
    border-radius: 16px;
  }

  .top-cities-goal-icon {
    width: 46px;
    height: 46px;
  }

  .top-cities-goal-icon svg {
    width: 26px;
    height: 26px;
  }

  .top-cities-goal-card h3 {
    font-size: 14px;
    line-height: 1.2;
  }

  .top-cities-goal-card p {
    display: none;
  }

  .top-cities-goal-card span {
    margin-top: 6px;
    font-size: 12.5px;
    line-height: 1.35;
    display: -webkit-box;
    max-height: 2.7em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .top-cities-goal-card button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    font-size: 12.5px;
    line-height: 1;
  }

  .top-cities-goal-card button span {
    display: inline;
    margin: 0;
    overflow: visible;
  }

  .all-cities-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .all-cities-grid .top-city-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) 28px;
    gap: 12px;
    align-items: center;
    min-height: 96px;
    border-radius: 16px;
    padding: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.035);
  }

  .all-cities-grid .top-city-card-media {
    grid-column: 1;
    width: 96px;
    height: 72px;
    border-radius: 12px;
  }

  .all-cities-grid .top-city-card-body {
    display: grid;
    grid-column: 2 / 3;
    gap: 5px;
    min-width: 0;
    padding: 0;
  }

  .all-cities-grid .top-city-card-heading {
    min-width: 0;
  }

  .all-cities-grid .top-city-card h3 {
    overflow: hidden;
    font-size: 16px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .all-cities-grid .top-city-card-heading p {
    overflow: hidden;
    margin-top: 3px;
    font-size: 13px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .all-cities-grid .top-city-card-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 2px;
  }

  .all-cities-grid .top-city-card-stats dd {
    gap: 4px;
    color: #475569;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
  }

  .all-cities-grid .top-city-card-stats svg {
    width: 14px;
    min-width: 14px;
    height: 14px;
  }

  .all-cities-grid .top-city-card-link {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    color: #0f172a;
    font-size: 0;
  }

  .all-cities-grid .top-city-card-link span {
    position: absolute;
    right: 14px;
    top: 50%;
    font-size: 26px;
    line-height: 1;
    transform: translateY(-50%);
  }

  .top-cities-load-more-row {
    margin-top: 18px;
  }

  .top-cities-load-more-row button {
    min-height: 44px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 14px;
  }

  .top-cities-guidance {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 132px;
    gap: 12px;
    align-items: center;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 18px;
    border-radius: 18px;
  }

  .top-cities-guidance-icon {
    width: 56px;
    height: 56px;
  }

  .top-cities-guidance h2 {
    font-size: 16.5px;
    line-height: 1.25;
  }

  .top-cities-guidance p {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.48;
  }

  .top-cities-guidance .button {
    min-width: 0;
    min-height: 48px;
    border-radius: 12px;
    padding: 0 12px;
    font-size: 13px;
    white-space: nowrap;
  }

  body:has(#top-cities-main) .site-footer {
    padding: 24px 0 26px;
    border-top: 1px solid #e5e7eb;
    background: #fff;
  }

  body:has(#top-cities-main) .site-footer .footer-grid,
  body:has(#top-cities-main) .site-footer .footer-bottom {
    width: 100%;
    max-width: 100%;
    padding: 0 16px;
  }

  body:has(#top-cities-main) .site-footer .footer-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }

  body:has(#top-cities-main) .site-footer .footer-brand {
    display: block;
  }

  body:has(#top-cities-main) .site-footer .footer-brand p,
  body:has(#top-cities-main) .site-footer .footer-brand address,
  body:has(#top-cities-main) .site-footer .footer-brand .button,
  body:has(#top-cities-main) .site-footer .footer-cta,
  body:has(#top-cities-main) .site-footer .footer-links,
  body:has(#top-cities-main) .site-footer .footer-mobile-links {
    display: none;
  }

  body:has(#top-cities-main) .site-footer .footer-logo {
    margin: 0;
    color: #0b63f6;
    font-size: 18px;
  }

  body:has(#top-cities-main) .site-footer .footer-logo .brand-mark {
    width: 26px;
    height: 26px;
    border-radius: 7px;
  }

  body:has(#top-cities-main) .site-footer .footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
    border-top: 0;
    color: #64748b;
    font-size: 12px;
  }

  body:has(#top-cities-main) .site-footer .footer-bottom div {
    display: flex;
    gap: 14px;
    white-space: nowrap;
  }

  body:has(#top-cities-main) .site-footer .footer-bottom a {
    color: #475569;
  }
}

@media (max-width: 420px) {
  body:has(#top-cities-main) .site-header .brand {
    font-size: 22px;
  }

  .top-cities-hero-art {
    right: -76px;
    opacity: 0.62;
  }

  .top-cities-hero-copy {
    max-width: 248px;
  }

  .top-cities-search-card {
    grid-template-columns: 1fr;
  }

  .top-cities-recommended-grid {
    display: flex;
    gap: 12px;
    margin-right: -16px;
    overflow-x: auto;
    padding: 0 16px 4px 0;
    scroll-snap-type: x mandatory;
  }

  .top-cities-recommended-grid .top-city-card {
    min-width: 218px;
    scroll-snap-align: start;
  }

  .top-cities-goal-grid {
    grid-template-columns: 1fr;
  }

  .top-cities-goal-card {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 0;
  }

  .top-cities-goal-card p {
    display: block;
  }

  .top-cities-guidance {
    grid-template-columns: 1fr;
  }

  .top-cities-guidance .button {
    width: 100%;
  }

  body:has(#top-cities-main) .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Study in Spain redesigned landing page */
body:has(#study-in-spain-main) {
  background: #f7f9fc;
}

body:has(#study-in-spain-main) .header-inner {
  min-height: 72px;
}

.study-spain-redesign {
  overflow: hidden;
  background: #f7f9fc;
  color: #0f172a;
}

.study-spain-redesign *,
.study-spain-redesign *::before,
.study-spain-redesign *::after {
  box-sizing: border-box;
}

.study-spain-redesign img,
.study-spain-redesign svg {
  max-width: 100%;
}

.study-spain-container {
  width: min(calc(100% - 64px), 1320px);
  margin: 0 auto;
}

.study-spain-section {
  padding: 64px 0;
}

.study-spain-section.is-tight {
  padding: 36px 0;
}

.study-spain-hero {
  position: relative;
  padding: 72px 0 46px;
  background:
    radial-gradient(circle at 11% 8%, rgba(11, 99, 246, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

.study-spain-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(460px, 1.12fr);
  gap: 58px;
  align-items: center;
}

.study-spain-hero-copy {
  min-width: 0;
}

.study-spain-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
  padding: 8px 13px;
  font-size: 13px;
  font-weight: 800;
}

.study-spain-eyebrow::before,
.study-spain-eyebrow::after {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.14;
}

.study-spain-hero h1 {
  max-width: 600px;
  margin: 0;
  color: #0f172a;
  font-size: clamp(40px, 4.1vw, 56px);
  font-weight: 850;
  letter-spacing: -0.03em;
  line-height: 1.06;
}

.study-spain-hero-copy > p:not(.study-spain-eyebrow) {
  max-width: 610px;
  margin: 22px 0 0;
  color: #475569;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.7;
}

.study-spain-hero-actions,
.study-spain-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.study-spain-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 12px;
  padding: 0 24px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.study-spain-button:hover {
  transform: translateY(-1px);
}

.study-spain-button.is-primary {
  background: #22c55e;
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(34, 197, 94, 0.24);
}

.study-spain-button.is-primary:hover {
  background: #16a34a;
}

.study-spain-button.is-secondary {
  border: 1px solid #dbe3ef;
  background: #ffffff;
  color: #0b63f6;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
}

.study-spain-trust-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, max-content));
  gap: 16px 22px;
  max-width: 720px;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}

.study-spain-trust-list li {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  color: #0f172a;
  font-size: 13px;
  font-weight: 800;
}

.study-spain-trust-list svg,
.study-spain-card-icon svg,
.study-spain-path-pills svg,
.study-spain-paper-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.study-spain-trust-list svg {
  color: #0b63f6;
}

.study-spain-hero-media {
  position: relative;
  min-width: 0;
  margin: 0;
}

.study-spain-hero-media::before {
  content: "";
  position: absolute;
  right: -26px;
  top: 22px;
  width: 176px;
  height: 176px;
  background-image: radial-gradient(#bfd5ff 2px, transparent 2px);
  background-size: 18px 18px;
  opacity: 0.86;
  z-index: 0;
}

.study-spain-hero-media::after {
  content: "";
  position: absolute;
  left: 2%;
  top: 32%;
  width: 58px;
  height: 96px;
  border-radius: 999px;
  background: #0b63f6;
  transform: rotate(19deg);
  z-index: 1;
}

.study-spain-hero-media img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  aspect-ratio: 1.72 / 1;
  border-radius: 42% 24% 38% 26% / 28% 40% 28% 42%;
  object-fit: cover;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.12);
}

.study-spain-grid {
  display: grid;
  gap: 24px;
}

.study-spain-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.study-spain-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.study-spain-action-card,
.study-spain-info-card,
.study-spain-option-card,
.study-spain-popular-card,
.study-spain-program-card,
.study-spain-view-all-card,
.study-spain-service-card,
.study-spain-guides-card,
.study-spain-faq-card {
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.study-spain-action-card,
.study-spain-service-card {
  display: flex;
  flex-direction: column;
  min-height: 180px;
  padding: 24px;
  color: inherit;
  text-decoration: none;
}

.study-spain-action-card:hover,
.study-spain-option-card:hover,
.study-spain-popular-card:hover,
.study-spain-view-all-card:hover,
.study-spain-service-card:hover,
.study-spain-guide-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.08);
}

.study-spain-card-icon,
.study-spain-paper-icon {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  border-radius: 18px;
}

.study-spain-card-icon.is-blue,
.study-spain-paper-icon {
  background: #eaf2ff;
  color: #0b63f6;
}

.study-spain-card-icon.is-green {
  background: #dcfce7;
  color: #16a34a;
}

.study-spain-card-icon.is-orange {
  background: #fff7ed;
  color: #f97316;
}

.study-spain-card-icon.is-purple {
  background: #f5f3ff;
  color: #7c3aed;
}

.study-spain-action-card h2,
.study-spain-info-card h3,
.study-spain-service-card h3,
.study-spain-option-card h3,
.study-spain-popular-card h3,
.study-spain-program-card h3,
.study-spain-guide-card h3 {
  margin: 18px 0 0;
  color: #0f172a;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.25;
}

.study-spain-action-card p,
.study-spain-info-card p,
.study-spain-service-card p,
.study-spain-option-card p,
.study-spain-popular-card p,
.study-spain-program-card p,
.study-spain-guide-card p {
  margin: 10px 0 0;
  color: #475569;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
}

.study-spain-action-card span:last-child,
.study-spain-service-card span:last-child,
.study-spain-option-card span,
.study-spain-link,
.study-spain-card-heading-row > a,
.study-spain-view-all-card span:last-child {
  margin-top: auto;
  color: #0b63f6;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
}

.study-spain-section-heading {
  margin-bottom: 28px;
}

.study-spain-section-heading.is-centered {
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.study-spain-section-heading h2,
.study-spain-guides-card h2,
.study-spain-faq-card h2,
.study-spain-final-card h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 850;
  letter-spacing: -0.02em;
  line-height: 1.18;
}

.study-spain-section-heading p,
.study-spain-card-heading-row p,
.study-spain-final-card p {
  margin: 10px 0 0;
  color: #475569;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
}

.study-spain-info-card {
  min-height: 178px;
  padding: 24px;
}

.study-spain-path-panel {
  border: 1px solid #dbeafe;
  border-radius: 24px;
  background:
    radial-gradient(circle at 18% 20%, rgba(11, 99, 246, 0.08), transparent 34%),
    linear-gradient(135deg, #ffffff, #eff6ff);
  padding: 32px;
}

.study-spain-path-pills {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.study-spain-path-pills a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  border: 1px solid #dbe3ef;
  border-radius: 999px;
  background: #ffffff;
  color: #0f172a;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
}

.study-spain-path-pills a:hover {
  border-color: #0b63f6;
  color: #0b63f6;
}

.study-spain-option-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.study-spain-option-card img {
  width: 100%;
  height: 190px;
  object-fit: cover;
}

.study-spain-option-card div {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}

.study-spain-popular {
  padding-top: 34px;
}

.study-spain-tabs {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: -10px 0 24px;
  border-bottom: 1px solid #e5e7eb;
}

.study-spain-tabs button {
  position: relative;
  min-height: 46px;
  border: 0;
  background: transparent;
  color: #475569;
  padding: 0 4px;
  font: inherit;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
}

.study-spain-tabs button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: transparent;
}

.study-spain-tabs button.is-active {
  color: #0b63f6;
}

.study-spain-tabs button.is-active::after {
  background: #0b63f6;
}

.study-spain-popular-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.study-spain-popular-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
}

.study-spain-popular-card > div,
.study-spain-program-card > div:last-child {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}

.study-spain-popular-image,
.study-spain-university-card-media {
  position: relative;
  display: block;
  overflow: hidden;
  height: 156px;
  background: #eaf2ff;
}

.study-spain-popular-image img,
.study-spain-university-card-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.study-spain-image-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  background: linear-gradient(135deg, #eaf2ff, #dcfce7);
  color: #0b63f6;
  font-size: 30px;
  font-weight: 900;
}

.study-spain-blue-text {
  color: #0b63f6 !important;
  font-weight: 750 !important;
}

.study-spain-meta-row,
.study-spain-program-meta {
  display: grid;
  gap: 12px;
  margin: 16px 0 16px;
}

.study-spain-meta-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.study-spain-meta-row div,
.study-spain-program-meta div {
  min-width: 0;
}

.study-spain-meta-row dt,
.study-spain-program-meta dt {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.study-spain-meta-row dd,
.study-spain-program-meta dd {
  margin: 4px 0 0;
  color: #0f172a;
  font-size: 13px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.study-spain-logo-chip {
  position: absolute;
  right: 16px;
  bottom: -28px;
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.12);
}

.study-spain-logo-chip img,
.study-spain-program-logo img {
  max-width: 78%;
  max-height: 78%;
  object-fit: contain;
}

.study-spain-logo-chip span,
.study-spain-program-logo span {
  color: #0b63f6;
  font-size: 15px;
  font-weight: 900;
}

.study-spain-badge {
  align-self: flex-start;
  margin-top: 14px;
  border-radius: 999px;
  background: #dcfce7;
  color: #15803d;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 900;
}

.study-spain-program-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 16px;
  padding: 18px;
}

.study-spain-program-card h3 {
  margin-top: 0;
}

.study-spain-program-logo {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
}

.study-spain-program-card > div:last-child {
  padding: 0;
}

.study-spain-view-all-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-style: dashed;
  color: inherit;
  padding: 28px;
  text-align: center;
  text-decoration: none;
}

.study-spain-view-all-card strong {
  margin-top: 16px;
  color: #0f172a;
  font-size: 18px;
  font-weight: 850;
}

.study-spain-view-all-card em {
  margin-top: 8px;
  color: #475569;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
}

.study-spain-empty-state {
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  padding: 28px;
  color: #475569;
  font-weight: 750;
}

.study-spain-section.is-green-panel {
  padding: 48px 0;
}

.study-spain-section.is-green-panel .study-spain-container {
  border: 1px solid #dbeafe;
  border-radius: 24px;
  background:
    radial-gradient(circle at 5% 50%, rgba(34, 197, 94, 0.12), transparent 28%),
    linear-gradient(135deg, #f7fffb, #eff6ff);
  padding: 34px;
}

.study-spain-process {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.study-spain-process::before {
  content: "";
  position: absolute;
  top: 26px;
  right: 11%;
  left: 11%;
  height: 1px;
  background: rgba(34, 197, 94, 0.32);
}

.study-spain-process li {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
}

.study-spain-step-number {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #22c55e;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.study-spain-process h3 {
  margin: 4px 0 0;
  color: #0f172a;
  font-size: 15px;
  font-weight: 850;
}

.study-spain-process p {
  max-width: 210px;
  margin: 0;
  color: #475569;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

.study-spain-service-card {
  min-height: 172px;
}

.study-spain-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.86fr);
  gap: 28px;
  align-items: start;
}

.study-spain-guides-card,
.study-spain-faq-card {
  padding: 22px;
}

.study-spain-card-heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.study-spain-card-heading-row h2 {
  font-size: 22px;
}

.study-spain-card-heading-row > a {
  flex: 0 0 auto;
  margin-top: 4px;
}

.study-spain-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.study-spain-guide-card {
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.study-spain-guide-card img {
  width: 100%;
  height: 110px;
  border-radius: 13px;
  object-fit: cover;
}

.study-spain-guide-card h3 {
  margin-top: 12px;
  font-size: 15px;
}

.study-spain-guide-card p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.study-spain-faq-list {
  display: grid;
  gap: 10px;
}

.study-spain-faq-list details {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #ffffff;
  padding: 0;
}

.study-spain-faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 46px;
  padding: 0 16px;
  color: #0f172a;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}

.study-spain-faq-list summary::-webkit-details-marker {
  display: none;
}

.study-spain-faq-list summary::after {
  content: "⌄";
  color: #0b63f6;
  font-size: 18px;
  line-height: 1;
}

.study-spain-faq-list details[open] summary::after {
  transform: rotate(180deg);
}

.study-spain-faq-list details p {
  margin: 0;
  padding: 0 16px 16px;
  color: #475569;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.study-spain-final-cta {
  padding: 36px 0 30px;
}

.study-spain-final-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  border: 1px solid #dbeafe;
  border-radius: 24px;
  background:
    radial-gradient(circle at 9% 50%, rgba(11, 99, 246, 0.08), transparent 30%),
    linear-gradient(135deg, #ffffff, #eff6ff);
  padding: 28px 34px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.055);
}

.study-spain-paper-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.study-spain-final-actions {
  justify-content: flex-end;
  margin-top: 0;
}

body:has(#study-in-spain-main) .site-footer {
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
  color: #0f172a;
  padding: 28px 0 18px;
}

body:has(#study-in-spain-main) .site-footer .footer-grid,
body:has(#study-in-spain-main) .site-footer .footer-bottom {
  width: min(calc(100% - 64px), 1320px);
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0;
  padding-left: 0;
}

body:has(#study-in-spain-main) .site-footer .footer-grid {
  grid-template-columns: minmax(180px, 0.7fr) minmax(0, 2.1fr);
  gap: 42px;
  align-items: start;
}

body:has(#study-in-spain-main) .site-footer .footer-brand p,
body:has(#study-in-spain-main) .site-footer .footer-brand address,
body:has(#study-in-spain-main) .site-footer .footer-brand .button,
body:has(#study-in-spain-main) .site-footer .footer-cta {
  display: none;
}

body:has(#study-in-spain-main) .site-footer .footer-logo {
  margin-bottom: 0;
  color: #0b63f6;
}

body:has(#study-in-spain-main) .site-footer .footer-logo .brand-mark {
  background: #0b63f6;
  color: #ffffff;
}

body:has(#study-in-spain-main) .site-footer .footer-links {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 34px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #0f172a;
  padding: 0;
}

body:has(#study-in-spain-main) .site-footer .footer-links h3 {
  color: #0f172a;
  font-size: 13px;
}

body:has(#study-in-spain-main) .site-footer .footer-links a {
  color: #475569;
  font-size: 12px;
}

body:has(#study-in-spain-main) .site-footer .footer-links a:hover,
body:has(#study-in-spain-main) .site-footer .footer-bottom a:hover {
  color: #0b63f6;
}

body:has(#study-in-spain-main) .site-footer .footer-bottom {
  margin-top: 20px;
  border-top: 1px solid #e5e7eb;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  padding-top: 16px;
  box-shadow: none;
}

body:has(#study-in-spain-main) .site-footer .footer-bottom a {
  color: #475569;
}

@media (max-width: 1180px) {
  .study-spain-container,
  body:has(#study-in-spain-main) .site-footer .footer-grid,
  body:has(#study-in-spain-main) .site-footer .footer-bottom {
    width: min(calc(100% - 48px), 1320px);
  }

  .study-spain-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .study-spain-hero-media {
    width: min(100%, 680px);
    justify-self: center;
  }

  .study-spain-grid.four,
  .study-spain-popular-grid,
  .study-spain-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .study-spain-grid.three,
  .study-spain-bottom-grid {
    grid-template-columns: 1fr;
  }

  .study-spain-path-pills {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .study-spain-process::before {
    display: none;
  }

  .study-spain-final-card {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .study-spain-final-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  body:has(#study-in-spain-main) .header-inner {
    min-height: 64px;
  }

  .study-spain-container,
  body:has(#study-in-spain-main) .site-footer .footer-grid,
  body:has(#study-in-spain-main) .site-footer .footer-bottom {
    width: min(calc(100% - 32px), 1320px);
  }

  .study-spain-section,
  .study-spain-section.is-tight {
    padding: 40px 0;
  }

  .study-spain-hero {
    padding: 42px 0 30px;
  }

  .study-spain-hero-grid {
    gap: 28px;
  }

  .study-spain-hero h1 {
    font-size: clamp(32px, 10vw, 42px);
    line-height: 1.1;
  }

  .study-spain-hero-copy > p:not(.study-spain-eyebrow) {
    font-size: 15px;
  }

  .study-spain-hero-actions,
  .study-spain-final-actions {
    flex-direction: column;
  }

  .study-spain-button {
    width: 100%;
  }

  .study-spain-trust-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .study-spain-hero-media::before {
    right: -52px;
    top: 10px;
  }

  .study-spain-hero-media img {
    aspect-ratio: 1.5 / 1;
    border-radius: 28px;
  }

  .study-spain-grid.four,
  .study-spain-grid.three,
  .study-spain-popular-grid,
  .study-spain-process,
  .study-spain-guide-grid {
    grid-template-columns: 1fr;
  }

  .study-spain-action-card,
  .study-spain-info-card,
  .study-spain-service-card {
    min-height: 0;
    padding: 20px;
  }

  .study-spain-section-heading.is-centered {
    text-align: left;
  }

  .study-spain-path-panel {
    padding: 22px;
  }

  .study-spain-path-pills {
    grid-template-columns: 1fr;
  }

  .study-spain-option-card img,
  .study-spain-popular-image,
  .study-spain-university-card-media {
    height: 164px;
  }

  .study-spain-tabs {
    justify-content: flex-start;
    gap: 26px;
    margin-right: -16px;
    overflow-x: auto;
    padding-right: 16px;
  }

  .study-spain-program-card {
    grid-template-columns: 60px minmax(0, 1fr);
    padding: 16px;
  }

  .study-spain-program-logo {
    width: 60px;
    height: 60px;
  }

  .study-spain-section.is-green-panel .study-spain-container {
    padding: 24px 18px;
  }

  .study-spain-process li {
    justify-items: start;
    text-align: left;
  }

  .study-spain-process p {
    max-width: none;
  }

  .study-spain-card-heading-row {
    flex-direction: column;
    gap: 8px;
  }

  .study-spain-guides-card,
  .study-spain-faq-card {
    padding: 18px;
  }

  .study-spain-guide-card img {
    height: 148px;
  }

  .study-spain-final-card {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  body:has(#study-in-spain-main) .site-footer {
    padding: 24px 0 26px;
  }

  body:has(#study-in-spain-main) .site-footer .footer-grid {
    display: block;
  }

  body:has(#study-in-spain-main) .site-footer .footer-brand {
    margin-bottom: 18px;
  }

  body:has(#study-in-spain-main) .site-footer .footer-links {
    display: none;
  }

  body:has(#study-in-spain-main) .site-footer .footer-mobile-links {
    display: grid;
    gap: 8px;
    color: #0f172a;
  }

  body:has(#study-in-spain-main) .site-footer .footer-mobile-links details {
    border-bottom: 1px solid #e5e7eb;
    padding: 10px 0;
  }

  body:has(#study-in-spain-main) .site-footer .footer-mobile-links summary {
    color: #0f172a;
    font-size: 14px;
    font-weight: 850;
  }

  body:has(#study-in-spain-main) .site-footer .footer-mobile-links a {
    display: block;
    margin: 10px 0;
    color: #475569;
    font-size: 13px;
  }

  body:has(#study-in-spain-main) .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

@media (max-width: 430px) {
  .study-spain-trust-list {
    grid-template-columns: 1fr;
  }

  .study-spain-meta-row,
  .study-spain-program-meta {
    grid-template-columns: 1fr;
  }
}

/* Application Package landing page */
body:has(#application-package-main) {
  background: #f7f9fc;
}

body:has(#application-package-main) .header-inner {
  min-height: 72px;
}

.app-package-redesign {
  background: #f7f9fc;
  color: #0f172a;
  overflow: hidden;
}

.app-package-redesign *,
.app-package-redesign *::before,
.app-package-redesign *::after {
  box-sizing: border-box;
}

.app-package-redesign img {
  display: block;
  max-width: 100%;
}

.app-package-redesign svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.apkg-container,
body:has(#application-package-main) .site-footer .footer-grid,
body:has(#application-package-main) .site-footer .footer-bottom {
  width: min(calc(100% - 64px), 1280px);
  max-width: none;
  margin: 0 auto;
  padding-right: 0;
  padding-left: 0;
}

.apkg-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 14%, rgba(11, 99, 246, 0.34), transparent 32%),
    linear-gradient(135deg, #07052b 0%, #100b3d 46%, #051a56 100%);
  color: #ffffff;
  padding: 78px 0 44px;
}

.apkg-hero::after {
  position: absolute;
  inset: auto -120px -180px auto;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  background: rgba(34, 197, 94, 0.12);
  content: "";
  filter: blur(6px);
}

.apkg-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.85fr);
  gap: 56px;
  align-items: center;
}

.apkg-hero-copy {
  max-width: 720px;
}

.apkg-eyebrow,
.apkg-section-kicker {
  margin: 0 0 14px;
  color: #0b63f6;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.apkg-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 13px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  letter-spacing: 0.04em;
}

.apkg-hero h1 {
  max-width: 720px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(46px, 4.6vw, 64px);
  font-weight: 850;
  letter-spacing: -0.04em;
  line-height: 1.04;
}

.apkg-hero-copy > p:not(.apkg-eyebrow):not(.apkg-reassurance) {
  max-width: 640px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 18px;
  line-height: 1.7;
}

.apkg-actions,
.apkg-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.apkg-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease;
}

.apkg-button:hover {
  transform: translateY(-1px);
}

.apkg-button.is-primary {
  background: #22c55e;
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(34, 197, 94, 0.22);
}

.apkg-button.is-primary:hover {
  background: #16a34a;
}

.apkg-button.is-secondary {
  background: #ffffff;
  color: #0b63f6;
  border-color: #dbe3ef;
}

.apkg-button.is-secondary:hover {
  border-color: #0b63f6;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.apkg-reassurance {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  line-height: 1.5;
}

.apkg-reassurance svg {
  width: 18px;
  height: 18px;
  color: #22c55e;
}

.apkg-hero-visual {
  position: relative;
  min-height: 520px;
  padding: 44px 0;
}

.apkg-hero-visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 28px;
  object-fit: cover;
  opacity: 0.74;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
}

.apkg-hero-visual::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 28px;
  background: linear-gradient(90deg, rgba(16, 11, 61, 0.72), rgba(16, 11, 61, 0.08));
  content: "";
}

.apkg-hero-price-card {
  position: relative;
  z-index: 2;
  width: min(100%, 390px);
  margin-left: auto;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 24px;
  background: #ffffff;
  color: #0f172a;
  padding: 31px;
  box-shadow: 0 32px 80px rgba(15, 23, 42, 0.32);
}

.apkg-hero-price-card > p {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 21px;
  font-weight: 850;
}

.apkg-hero-price-card > strong {
  display: block;
  margin: 0;
  color: #100b3d;
  font-size: clamp(44px, 4vw, 58px);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
}

.apkg-hero-price-card > span,
.apkg-pricing-card > div > span {
  display: block;
  margin: 12px 0 22px;
  color: #475569;
  font-size: 13px;
  font-weight: 800;
}

.apkg-hero-price-card ul,
.apkg-pricing-card ul,
.apkg-check-list,
.apkg-timeline-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.apkg-hero-price-card li,
.apkg-pricing-card li,
.apkg-check-list li,
.apkg-timeline-list li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.apkg-hero-price-card li span,
.apkg-pricing-card li span,
.apkg-check-list li span,
.apkg-timeline-list li span {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #dcfce7;
  color: #16a34a;
}

.apkg-hero-price-card li svg,
.apkg-pricing-card li svg,
.apkg-check-list li svg,
.apkg-timeline-list li svg {
  width: 13px;
  height: 13px;
}

.apkg-hero-price-card li p,
.apkg-pricing-card li p,
.apkg-check-list li p,
.apkg-timeline-list li p {
  margin: 0;
  color: #334155;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

.apkg-hero-price-card .apkg-button {
  width: 100%;
  margin-top: 26px;
}

.apkg-hero-price-card small {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 14px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}

.apkg-value-strip {
  border-bottom: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.apkg-value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.apkg-value-item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 14px 22px;
  border-right: 1px solid #e5e7eb;
}

.apkg-value-item:last-child {
  border-right: 0;
}

.apkg-value-item span,
.apkg-card-icon,
.apkg-final-icon,
.apkg-consult-card > span {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
}

.apkg-value-item svg,
.apkg-card-icon svg,
.apkg-final-icon svg,
.apkg-consult-card svg {
  width: 22px;
  height: 22px;
}

.apkg-value-item p {
  margin: 0;
  color: #0f172a;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
}

.apkg-section {
  padding: 72px 0;
}

.apkg-section.is-tight {
  padding-top: 36px;
}

.apkg-section-heading {
  max-width: 760px;
  margin-bottom: 32px;
}

.apkg-section-heading.is-centered {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.apkg-section-heading h2,
.apkg-fit-copy h2,
.apkg-after-card h2,
.apkg-pricing-card h2,
.apkg-final-card h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 850;
  letter-spacing: -0.03em;
  line-height: 1.12;
}

.apkg-section-heading p:not(.apkg-section-kicker),
.apkg-fit-copy > p,
.apkg-after-card > p,
.apkg-final-card p {
  color: #475569;
  font-size: 16px;
  line-height: 1.65;
}

.apkg-fit-card {
  display: grid;
  grid-template-columns: minmax(280px, 0.56fr) minmax(0, 1fr) minmax(260px, 0.42fr);
  gap: 32px;
  align-items: center;
  padding: 34px;
  border: 1px solid #dbeafe;
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 15%, rgba(11, 99, 246, 0.12), transparent 28%),
    linear-gradient(135deg, #f8fbff, #edf6ff);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.06);
}

.apkg-fit-image {
  overflow: hidden;
  border-radius: 24px;
  background: #eaf2ff;
}

.apkg-fit-image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.apkg-fit-copy h3 {
  margin: 22px 0 12px;
  color: #0f172a;
  font-size: 16px;
  font-weight: 850;
}

.apkg-consult-card {
  padding: 24px;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
}

.apkg-consult-card h3,
.apkg-info-card h3,
.apkg-process h3 {
  margin: 16px 0 8px;
  color: #0f172a;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.25;
}

.apkg-consult-card p,
.apkg-info-card p,
.apkg-process p {
  margin: 0;
  color: #475569;
  font-size: 14px;
  line-height: 1.6;
}

.apkg-consult-card .apkg-button {
  width: 100%;
  margin-top: 20px;
}

.apkg-included-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.apkg-info-card {
  min-height: 230px;
  padding: 22px 18px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.apkg-info-card:nth-child(1) .apkg-card-icon,
.apkg-info-card:nth-child(6) .apkg-card-icon {
  background: #dcfce7;
  color: #16a34a;
}

.apkg-info-card:nth-child(3) .apkg-card-icon {
  background: #f5f3ff;
  color: #7c3aed;
}

.apkg-info-card:nth-child(4) .apkg-card-icon {
  background: #fff7ed;
  color: #f97316;
}

.apkg-process {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 34px 0 0;
  list-style: none;
}

.apkg-process::before {
  position: absolute;
  top: 56px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.45), rgba(11, 99, 246, 0.26));
  content: "";
}

.apkg-process li {
  position: relative;
  display: grid;
  justify-items: center;
  min-height: 210px;
  padding: 0 18px 24px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  text-align: center;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.apkg-process-number {
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  border-radius: 999px;
  background: #22c55e;
  color: #ffffff;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 12px 26px rgba(34, 197, 94, 0.18);
}

.apkg-process li:nth-child(2) .apkg-process-number {
  background: #0b63f6;
}

.apkg-process li:nth-child(3) .apkg-process-number {
  background: #7c3aed;
}

.apkg-process li:nth-child(4) .apkg-process-number {
  background: #f97316;
}

.apkg-process .apkg-card-icon {
  margin-top: 12px;
}

.apkg-section.is-pricing {
  padding-top: 38px;
}

.apkg-split {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
  gap: 28px;
  align-items: stretch;
}

.apkg-after-card,
.apkg-pricing-card,
.apkg-final-card {
  border-radius: 22px;
}

.apkg-after-card {
  padding: 30px;
  border: 1px solid #dbeafe;
  background:
    linear-gradient(180deg, rgba(234, 242, 255, 0.9), rgba(255, 255, 255, 0.98)),
    #ffffff;
}

.apkg-timeline-list {
  position: relative;
  gap: 18px;
  margin-top: 24px;
}

.apkg-note {
  display: flex;
  gap: 10px;
  margin: 24px 0 0;
  padding-top: 18px;
  border-top: 1px solid #dbeafe;
  color: #475569;
  font-size: 13px;
  line-height: 1.55;
}

.apkg-pricing-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
  gap: 30px;
  padding: 34px;
  background:
    radial-gradient(circle at 90% 0%, rgba(11, 99, 246, 0.3), transparent 36%),
    linear-gradient(135deg, #100b3d, #001d63);
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.apkg-pricing-card .apkg-section-kicker {
  color: #86efac;
}

.apkg-pricing-card h2,
.apkg-pricing-card p,
.apkg-pricing-card li p {
  color: #ffffff;
}

.apkg-pricing-card > div > strong {
  display: block;
  margin: 10px 0;
  color: #ffffff;
  font-size: clamp(44px, 4vw, 58px);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
}

.apkg-pricing-card > div > span,
.apkg-pricing-card > div > p {
  color: rgba(255, 255, 255, 0.78);
}

.apkg-pricing-card ul {
  margin-top: 20px;
}

.apkg-pricing-actions {
  display: grid;
  align-content: center;
  gap: 12px;
  padding-left: 30px;
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.apkg-pricing-actions .apkg-button {
  width: 100%;
}

.apkg-pricing-notes {
  display: grid;
  gap: 14px;
  margin-top: 12px;
}

.apkg-pricing-notes p {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  line-height: 1.55;
}

.apkg-pricing-notes svg {
  width: 22px;
  height: 22px;
  color: #93c5fd;
}

.apkg-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.apkg-faq-item {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #ffffff;
}

.apkg-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 58px;
  padding: 0 20px;
  color: #0f172a;
  cursor: pointer;
  font-size: 14px;
  font-weight: 850;
  list-style: none;
}

.apkg-faq-item summary::-webkit-details-marker {
  display: none;
}

.apkg-faq-item summary span {
  color: #0b63f6;
  font-size: 20px;
  transition: transform 160ms ease;
}

.apkg-faq-item[open] summary span {
  transform: rotate(180deg);
}

.apkg-faq-item p {
  margin: 0;
  padding: 0 20px 20px;
  color: #475569;
  font-size: 14px;
  line-height: 1.7;
}

.apkg-section.is-final {
  padding-top: 24px;
}

.apkg-final-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 28px 34px;
  border: 1px solid #dbeafe;
  background: linear-gradient(135deg, #ffffff, #edf6ff);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.apkg-final-icon {
  width: 64px;
  height: 64px;
  background: #eaf2ff;
}

.apkg-final-icon svg {
  width: 30px;
  height: 30px;
}

.apkg-final-card p {
  margin: 8px 0 0;
}

.apkg-final-actions {
  margin-top: 0;
}

body:has(#application-package-main) .site-footer {
  padding: 34px 0 28px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
  color: #0f172a;
}

body:has(#application-package-main) .site-footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2.4fr);
  gap: 54px;
  align-items: start;
}

body:has(#application-package-main) .site-footer .footer-brand p,
body:has(#application-package-main) .site-footer .footer-brand address,
body:has(#application-package-main) .site-footer .footer-brand .button,
body:has(#application-package-main) .site-footer .footer-cta {
  display: none;
}

body:has(#application-package-main) .site-footer .footer-logo {
  color: #0b63f6;
}

body:has(#application-package-main) .site-footer .footer-logo .brand-mark {
  color: #ffffff;
  background: #0b63f6;
}

body:has(#application-package-main) .site-footer .footer-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

body:has(#application-package-main) .site-footer .footer-social-links a {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

body:has(#application-package-main) .site-footer .footer-social-links a:hover {
  background: #0b63f6;
  color: #ffffff;
}

body:has(#application-package-main) .site-footer .footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #475569;
}

body:has(#application-package-main) .site-footer .footer-links h3 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 13px;
}

body:has(#application-package-main) .site-footer .footer-links a {
  color: #475569;
  font-size: 13px;
}

body:has(#application-package-main) .site-footer .footer-links a:hover,
body:has(#application-package-main) .site-footer .footer-bottom a:hover {
  color: #0b63f6;
}

body:has(#application-package-main) .site-footer .footer-bottom {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  box-shadow: none;
}

body:has(#application-package-main) .site-footer .footer-bottom a {
  color: #475569;
}

@media (max-width: 1180px) {
  .apkg-container,
  body:has(#application-package-main) .site-footer .footer-grid,
  body:has(#application-package-main) .site-footer .footer-bottom {
    width: min(calc(100% - 48px), 1280px);
  }

  .apkg-hero-grid,
  .apkg-fit-card,
  .apkg-split,
  .apkg-pricing-card {
    grid-template-columns: 1fr;
  }

  .apkg-hero-visual {
    width: min(100%, 720px);
    justify-self: center;
  }

  .apkg-hero-price-card {
    margin-right: auto;
  }

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

  .apkg-value-item:nth-child(2) {
    border-right: 0;
  }

  .apkg-value-item:nth-child(-n + 2) {
    border-bottom: 1px solid #e5e7eb;
  }

  .apkg-included-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .apkg-process::before {
    display: none;
  }

  .apkg-pricing-actions {
    padding-left: 0;
    border-left: 0;
  }

  .apkg-final-card {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .apkg-final-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  body:has(#application-package-main) .header-inner {
    min-height: 64px;
  }

  .apkg-container,
  body:has(#application-package-main) .site-footer .footer-grid,
  body:has(#application-package-main) .site-footer .footer-bottom {
    width: min(calc(100% - 32px), 1280px);
  }

  .apkg-hero {
    padding: 48px 0 30px;
  }

  .apkg-hero-grid {
    gap: 30px;
  }

  .apkg-hero h1 {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.08;
  }

  .apkg-hero-copy > p:not(.apkg-eyebrow):not(.apkg-reassurance) {
    font-size: 15px;
  }

  .apkg-actions,
  .apkg-final-actions {
    flex-direction: column;
  }

  .apkg-button {
    width: 100%;
  }

  .apkg-reassurance {
    align-items: flex-start;
  }

  .apkg-hero-visual {
    min-height: 0;
    padding: 0;
  }

  .apkg-hero-visual > img {
    position: relative;
    height: 210px;
    border-radius: 22px 22px 0 0;
  }

  .apkg-hero-visual::before {
    display: none;
  }

  .apkg-hero-price-card {
    width: 100%;
    margin-top: -12px;
    border-radius: 0 0 22px 22px;
    padding: 22px;
  }

  .apkg-section {
    padding: 46px 0;
  }

  .apkg-section.is-tight {
    padding-top: 24px;
  }

  .apkg-section-heading.is-centered {
    text-align: left;
  }

  .apkg-value-grid,
  .apkg-included-grid,
  .apkg-process,
  .apkg-faq-grid {
    grid-template-columns: 1fr;
  }

  .apkg-value-item {
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }

  .apkg-value-item:last-child {
    border-bottom: 0;
  }

  .apkg-fit-card {
    gap: 22px;
    padding: 20px;
    border-radius: 22px;
  }

  .apkg-fit-image img {
    aspect-ratio: 1.45 / 1;
  }

  .apkg-consult-card,
  .apkg-info-card,
  .apkg-after-card,
  .apkg-pricing-card {
    padding: 20px;
  }

  .apkg-info-card,
  .apkg-process li {
    min-height: 0;
  }

  .apkg-process {
    gap: 28px;
    padding-top: 16px;
  }

  .apkg-process li {
    justify-items: start;
    padding: 20px;
    text-align: left;
  }

  .apkg-process-number {
    margin-top: 0;
  }

  .apkg-process .apkg-card-icon {
    margin-top: 8px;
  }

  .apkg-pricing-card {
    gap: 22px;
  }

  .apkg-faq-item summary {
    min-height: 56px;
    padding: 0 16px;
    font-size: 13px;
  }

  .apkg-faq-item p {
    padding: 0 16px 16px;
  }

  .apkg-final-card {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px;
  }

  body:has(#application-package-main) .site-footer {
    padding: 24px 0 26px;
  }

  body:has(#application-package-main) .site-footer .footer-grid {
    display: block;
  }

  body:has(#application-package-main) .site-footer .footer-brand {
    margin-bottom: 18px;
  }

  body:has(#application-package-main) .site-footer .footer-links {
    display: none;
  }

  body:has(#application-package-main) .site-footer .footer-mobile-links {
    display: grid;
    gap: 8px;
    color: #0f172a;
  }

  body:has(#application-package-main) .site-footer .footer-mobile-links details {
    border-bottom: 1px solid #e5e7eb;
    padding: 10px 0;
  }

  body:has(#application-package-main) .site-footer .footer-mobile-links summary {
    color: #0f172a;
    font-size: 14px;
    font-weight: 850;
  }

  body:has(#application-package-main) .site-footer .footer-mobile-links a {
    display: block;
    margin: 10px 0;
    color: #475569;
    font-size: 13px;
  }

  body:has(#application-package-main) .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

@media (max-width: 430px) {
  .apkg-hero-price-card > strong,
  .apkg-pricing-card > div > strong {
    font-size: 42px;
  }

  .apkg-fit-copy h2,
  .apkg-after-card h2,
  .apkg-pricing-card h2,
  .apkg-final-card h2 {
    font-size: 25px;
  }
}

/* Orientation Package landing page */
body:has(#orientation-package-main) {
  background: #f7f9fc;
}

body:has(#orientation-package-main) .header-inner {
  min-height: 72px;
}

.orientation-redesign {
  overflow: hidden;
  background: #f7f9fc;
  color: #0f172a;
}

.orientation-redesign *,
.orientation-redesign *::before,
.orientation-redesign *::after {
  box-sizing: border-box;
}

.orientation-redesign img {
  display: block;
  max-width: 100%;
}

.orientation-redesign svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.opkg-container,
body:has(#orientation-package-main) .site-footer .footer-grid,
body:has(#orientation-package-main) .site-footer .footer-bottom {
  width: min(calc(100% - 64px), 1280px);
  max-width: none;
  margin: 0 auto;
  padding-right: 0;
  padding-left: 0;
}

.opkg-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 2%, rgba(11, 99, 246, 0.38), transparent 30%),
    linear-gradient(135deg, #07052b 0%, #100b3d 50%, #051a56 100%);
  color: #ffffff;
  padding: 78px 0 84px;
}

.opkg-hero::after {
  position: absolute;
  inset: auto -120px -190px auto;
  width: 430px;
  height: 430px;
  border-radius: 999px;
  background: rgba(34, 197, 94, 0.12);
  content: "";
}

.opkg-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.88fr);
  gap: 58px;
  align-items: center;
}

.opkg-hero-copy {
  max-width: 720px;
}

.opkg-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  margin: 0 0 18px;
  padding: 0 14px;
  border-radius: 999px;
  background: #0b63f6;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.opkg-hero h1 {
  max-width: 720px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(46px, 4.6vw, 64px);
  font-weight: 850;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.opkg-hero-copy > p:not(.opkg-eyebrow):not(.opkg-reassurance) {
  max-width: 650px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 18px;
  line-height: 1.7;
}

.opkg-actions,
.opkg-card-actions,
.opkg-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.opkg-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease;
}

.opkg-button:hover {
  transform: translateY(-1px);
}

.opkg-button.is-primary {
  background: #22c55e;
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(34, 197, 94, 0.22);
}

.opkg-button.is-primary:hover {
  background: #16a34a;
}

.opkg-button.is-secondary,
.opkg-button.is-outline {
  background: #ffffff;
  color: #0b63f6;
  border-color: #dbe3ef;
}

.opkg-button.is-outline {
  width: 100%;
  margin-top: 22px;
  border-color: #9dbdff;
}

.opkg-button.is-secondary:hover,
.opkg-button.is-outline:hover {
  border-color: #0b63f6;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.opkg-reassurance {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  line-height: 1.5;
}

.opkg-reassurance svg {
  width: 18px;
  height: 18px;
  color: #86efac;
}

.opkg-hero-visual {
  position: relative;
  min-height: 505px;
  padding: 46px 0;
}

.opkg-hero-visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  object-fit: cover;
  opacity: 0.78;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
}

.opkg-hero-visual::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 30px;
  background: linear-gradient(90deg, rgba(16, 11, 61, 0.68), rgba(16, 11, 61, 0.06));
  content: "";
}

.opkg-hero-card {
  position: relative;
  z-index: 2;
  width: min(100%, 405px);
  margin-left: auto;
  padding: 32px;
  border: 1px solid rgba(226, 232, 240, 0.94);
  border-radius: 24px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 32px 80px rgba(15, 23, 42, 0.3);
}

.opkg-hero-card h2 {
  margin: 0;
  color: #100b3d;
  font-size: 27px;
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.opkg-hero-card > p {
  margin: 10px 0 24px;
  color: #334155;
  font-size: 16px;
  font-weight: 800;
}

.opkg-hero-card ul,
.opkg-check-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.opkg-hero-card li,
.opkg-check-list li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.opkg-hero-card li span,
.opkg-check-list li span {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #dcfce7;
  color: #16a34a;
}

.opkg-hero-card li svg,
.opkg-check-list li svg {
  width: 13px;
  height: 13px;
}

.opkg-hero-card li p,
.opkg-check-list li p {
  margin: 0;
  color: #334155;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.opkg-card-actions {
  display: grid;
  margin-top: 28px;
}

.opkg-card-actions .opkg-button {
  width: 100%;
}

.opkg-hero-card small {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 16px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}

.opkg-value-strip {
  position: relative;
  z-index: 2;
  margin-top: -44px;
}

.opkg-value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.1);
}

.opkg-value-item {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 96px;
  padding: 18px 24px;
  border-right: 1px solid #e5e7eb;
}

.opkg-value-item:last-child {
  border-right: 0;
}

.opkg-value-item span,
.opkg-card-icon,
.opkg-final-icon,
.opkg-large-icon,
.opkg-compass-art {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
}

.opkg-value-item:nth-child(2) span {
  background: #dcfce7;
  color: #16a34a;
}

.opkg-value-item:nth-child(3) span {
  background: #f5f3ff;
  color: #7c3aed;
}

.opkg-value-item:nth-child(4) span {
  background: #fff7ed;
  color: #f97316;
}

.opkg-value-item svg,
.opkg-card-icon svg,
.opkg-final-icon svg,
.opkg-large-icon svg,
.opkg-compass-art svg {
  width: 23px;
  height: 23px;
}

.opkg-value-item p {
  margin: 0;
  color: #0f172a;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.35;
}

.opkg-section {
  padding: 64px 0;
}

.opkg-section.is-tight {
  padding-top: 20px;
}

.opkg-section-heading {
  max-width: 760px;
  margin-bottom: 30px;
}

.opkg-section-heading.is-centered {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.opkg-section-heading h2,
.opkg-clarity-card h2,
.opkg-final-card h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 850;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.opkg-section-heading p,
.opkg-clarity-card > div p,
.opkg-final-card p {
  margin: 10px 0 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.65;
}

.opkg-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}

.opkg-comparison-card {
  position: relative;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  min-height: 330px;
  padding: 34px;
  border: 1px solid #cfe0ff;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.05);
}

.opkg-comparison-card.is-blue {
  background: linear-gradient(135deg, #ffffff, #eff6ff);
}

.opkg-comparison-card.is-green {
  border-color: #bbf7d0;
  background: linear-gradient(135deg, #ffffff, #f0fdf4);
}

.opkg-large-icon {
  width: 132px;
  height: 132px;
  border-radius: 36px;
  background: #dbeafe;
  color: #0b63f6;
  transform: rotate(-8deg);
}

.opkg-comparison-card.is-green .opkg-large-icon {
  background: #dcfce7;
  color: #16a34a;
}

.opkg-large-icon svg {
  width: 66px;
  height: 66px;
}

.opkg-comparison-card h3,
.opkg-info-card h3,
.opkg-process h3 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 20px;
  font-weight: 850;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.opkg-comparison-card strong {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-bottom: 16px;
  padding: 0 12px;
  border-radius: 999px;
  background: #dbeafe;
  color: #0b63f6;
  font-size: 12px;
  font-weight: 850;
}

.opkg-comparison-card.is-green strong {
  background: #dcfce7;
  color: #15803d;
}

.opkg-comparison-card > div > p,
.opkg-info-card p,
.opkg-process p {
  margin: 0 0 18px;
  color: #475569;
  font-size: 15px;
  line-height: 1.65;
}

.opkg-included-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}

.opkg-info-card {
  min-height: 245px;
  padding: 25px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  text-align: center;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.opkg-info-card .opkg-card-icon {
  margin: 0 auto 18px;
}

.opkg-info-card:nth-child(2) .opkg-card-icon {
  background: #dcfce7;
  color: #16a34a;
}

.opkg-info-card:nth-child(3) .opkg-card-icon {
  background: #f5f3ff;
  color: #7c3aed;
}

.opkg-info-card:nth-child(4) .opkg-card-icon {
  background: #fff7ed;
  color: #f97316;
}

.opkg-info-card:nth-child(5) .opkg-card-icon {
  background: #eaf2ff;
  color: #0b63f6;
}

.opkg-process {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 900px;
  margin: 0 auto;
  padding: 30px 0 0;
  list-style: none;
}

.opkg-process::before {
  position: absolute;
  top: 58px;
  left: 17%;
  right: 17%;
  height: 2px;
  background: linear-gradient(90deg, rgba(11, 99, 246, 0.45), rgba(34, 197, 94, 0.34));
  content: "";
}

.opkg-process li {
  position: relative;
  display: grid;
  justify-items: center;
  min-height: 230px;
  padding: 0 28px 28px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  text-align: center;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.opkg-process-number {
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-top: -21px;
  border-radius: 999px;
  background: #0b63f6;
  color: #ffffff;
  font-size: 16px;
  font-weight: 900;
}

.opkg-process li:nth-child(2) .opkg-process-number {
  background: #16a34a;
}

.opkg-process li:nth-child(3) .opkg-process-number {
  background: #7c3aed;
}

.opkg-process .opkg-card-icon {
  width: 56px;
  height: 56px;
  margin: 16px 0 18px;
}

.opkg-section.is-clarity {
  padding-top: 20px;
}

.opkg-clarity-card {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) minmax(280px, 0.82fr) minmax(260px, 0.7fr);
  gap: 28px;
  align-items: center;
  padding: 32px;
  border: 1px solid #dbeafe;
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff, #edf6ff);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.opkg-compass-art {
  width: 132px;
  height: 132px;
  border-radius: 999px;
  background: #dbeafe;
  color: #0b63f6;
  box-shadow: inset 0 0 0 16px rgba(255, 255, 255, 0.4);
  transform: rotate(-12deg);
}

.opkg-compass-art svg {
  width: 74px;
  height: 74px;
}

.opkg-clarity-actions {
  display: grid;
  gap: 12px;
}

.opkg-clarity-actions .opkg-button {
  width: 100%;
}

.opkg-clarity-actions p {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  margin: 6px 0 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.55;
}

.opkg-clarity-actions svg {
  width: 18px;
  height: 18px;
  color: #0b63f6;
}

.opkg-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.opkg-faq-item {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #ffffff;
}

.opkg-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 58px;
  padding: 0 20px;
  color: #0f172a;
  cursor: pointer;
  font-size: 14px;
  font-weight: 850;
  list-style: none;
}

.opkg-faq-item summary::-webkit-details-marker {
  display: none;
}

.opkg-faq-item summary span {
  color: #0b63f6;
  font-size: 20px;
  transition: transform 160ms ease;
}

.opkg-faq-item[open] summary span {
  transform: rotate(180deg);
}

.opkg-faq-item p {
  margin: 0;
  padding: 0 20px 20px;
  color: #475569;
  font-size: 14px;
  line-height: 1.7;
}

.opkg-section.is-final {
  padding-top: 24px;
}

.opkg-final-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 28px 34px;
  border: 1px solid #dbeafe;
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff, #edf6ff);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.opkg-final-icon {
  width: 64px;
  height: 64px;
  background: #eaf2ff;
}

.opkg-final-icon svg {
  width: 30px;
  height: 30px;
}

.opkg-final-actions {
  margin-top: 0;
}

body:has(#orientation-package-main) .site-footer {
  padding: 34px 0 28px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
  color: #0f172a;
}

body:has(#orientation-package-main) .site-footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2.4fr);
  gap: 54px;
  align-items: start;
}

body:has(#orientation-package-main) .site-footer .footer-brand p,
body:has(#orientation-package-main) .site-footer .footer-brand address,
body:has(#orientation-package-main) .site-footer .footer-brand .button,
body:has(#orientation-package-main) .site-footer .footer-cta {
  display: none;
}

body:has(#orientation-package-main) .site-footer .footer-logo {
  color: #0b63f6;
}

body:has(#orientation-package-main) .site-footer .footer-logo .brand-mark {
  color: #ffffff;
  background: #0b63f6;
}

body:has(#orientation-package-main) .site-footer .footer-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

body:has(#orientation-package-main) .site-footer .footer-social-links a {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

body:has(#orientation-package-main) .site-footer .footer-social-links a:hover {
  background: #0b63f6;
  color: #ffffff;
}

body:has(#orientation-package-main) .site-footer .footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #475569;
}

body:has(#orientation-package-main) .site-footer .footer-links h3 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 13px;
}

body:has(#orientation-package-main) .site-footer .footer-links a {
  color: #475569;
  font-size: 13px;
}

body:has(#orientation-package-main) .site-footer .footer-links a:hover,
body:has(#orientation-package-main) .site-footer .footer-bottom a:hover {
  color: #0b63f6;
}

body:has(#orientation-package-main) .site-footer .footer-bottom {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  box-shadow: none;
}

body:has(#orientation-package-main) .site-footer .footer-bottom a {
  color: #475569;
}

@media (max-width: 1180px) {
  .opkg-container,
  body:has(#orientation-package-main) .site-footer .footer-grid,
  body:has(#orientation-package-main) .site-footer .footer-bottom {
    width: min(calc(100% - 48px), 1280px);
  }

  .opkg-hero-grid,
  .opkg-clarity-card {
    grid-template-columns: 1fr;
  }

  .opkg-hero-visual {
    width: min(100%, 720px);
    justify-self: center;
  }

  .opkg-hero-card {
    margin-right: auto;
  }

  .opkg-value-grid,
  .opkg-included-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .opkg-value-item:nth-child(2) {
    border-right: 0;
  }

  .opkg-value-item:nth-child(-n + 2) {
    border-bottom: 1px solid #e5e7eb;
  }

  .opkg-comparison-card {
    grid-template-columns: 1fr;
  }

  .opkg-large-icon,
  .opkg-compass-art {
    width: 96px;
    height: 96px;
    border-radius: 28px;
  }

  .opkg-large-icon svg,
  .opkg-compass-art svg {
    width: 50px;
    height: 50px;
  }

  .opkg-final-card {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .opkg-final-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  body:has(#orientation-package-main) .header-inner {
    min-height: 64px;
  }

  .opkg-container,
  body:has(#orientation-package-main) .site-footer .footer-grid,
  body:has(#orientation-package-main) .site-footer .footer-bottom {
    width: min(calc(100% - 32px), 1280px);
  }

  .opkg-hero {
    padding: 48px 0 72px;
  }

  .opkg-hero-grid {
    gap: 28px;
  }

  .opkg-hero h1 {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.08;
  }

  .opkg-hero-copy > p:not(.opkg-eyebrow):not(.opkg-reassurance) {
    font-size: 15px;
  }

  .opkg-actions,
  .opkg-card-actions,
  .opkg-final-actions {
    flex-direction: column;
  }

  .opkg-button {
    width: 100%;
  }

  .opkg-reassurance {
    align-items: flex-start;
  }

  .opkg-hero-visual {
    min-height: 0;
    padding: 0;
  }

  .opkg-hero-visual > img {
    position: relative;
    height: 210px;
    border-radius: 22px 22px 0 0;
  }

  .opkg-hero-visual::before {
    display: none;
  }

  .opkg-hero-card {
    width: 100%;
    margin-top: -12px;
    border-radius: 0 0 22px 22px;
    padding: 22px;
  }

  .opkg-value-strip {
    margin-top: -40px;
  }

  .opkg-value-grid,
  .opkg-comparison-grid,
  .opkg-included-grid,
  .opkg-process,
  .opkg-faq-grid {
    grid-template-columns: 1fr;
  }

  .opkg-value-item {
    min-height: 76px;
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }

  .opkg-value-item:last-child {
    border-bottom: 0;
  }

  .opkg-section {
    padding: 42px 0;
  }

  .opkg-section.is-tight {
    padding-top: 20px;
  }

  .opkg-section-heading.is-centered {
    text-align: left;
  }

  .opkg-comparison-card,
  .opkg-info-card,
  .opkg-clarity-card {
    padding: 20px;
  }

  .opkg-comparison-card,
  .opkg-info-card,
  .opkg-process li {
    min-height: 0;
  }

  .opkg-info-card {
    text-align: left;
  }

  .opkg-info-card .opkg-card-icon {
    margin-right: 0;
    margin-left: 0;
  }

  .opkg-process {
    gap: 28px;
    padding-top: 16px;
  }

  .opkg-process::before {
    display: none;
  }

  .opkg-process li {
    justify-items: start;
    padding: 20px;
    text-align: left;
  }

  .opkg-process-number {
    margin-top: 0;
  }

  .opkg-process .opkg-card-icon {
    width: 50px;
    height: 50px;
    margin: 12px 0 14px;
  }

  .opkg-clarity-card {
    gap: 20px;
  }

  .opkg-faq-item summary {
    min-height: 56px;
    padding: 0 16px;
    font-size: 13px;
  }

  .opkg-faq-item p {
    padding: 0 16px 16px;
  }

  .opkg-final-card {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px;
  }

  body:has(#orientation-package-main) .site-footer {
    padding: 24px 0 26px;
  }

  body:has(#orientation-package-main) .site-footer .footer-grid {
    display: block;
  }

  body:has(#orientation-package-main) .site-footer .footer-brand {
    margin-bottom: 18px;
  }

  body:has(#orientation-package-main) .site-footer .footer-links {
    display: none;
  }

  body:has(#orientation-package-main) .site-footer .footer-mobile-links {
    display: grid;
    gap: 8px;
    color: #0f172a;
  }

  body:has(#orientation-package-main) .site-footer .footer-mobile-links details {
    border-bottom: 1px solid #e5e7eb;
    padding: 10px 0;
  }

  body:has(#orientation-package-main) .site-footer .footer-mobile-links summary {
    color: #0f172a;
    font-size: 14px;
    font-weight: 850;
  }

  body:has(#orientation-package-main) .site-footer .footer-mobile-links a {
    display: block;
    margin: 10px 0;
    color: #475569;
    font-size: 13px;
  }

  body:has(#orientation-package-main) .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

@media (max-width: 430px) {
  .opkg-section-heading h2,
  .opkg-clarity-card h2,
  .opkg-final-card h2 {
    font-size: 25px;
  }
}

/* Student Visa Guidance landing page */
body:has(#student-visa-main) {
  background: #f7f9fc;
}

body:has(#student-visa-main) .header-inner {
  min-height: 72px;
}

.visa-redesign {
  overflow: hidden;
  background: #f7f9fc;
  color: #0f172a;
}

.visa-redesign *,
.visa-redesign *::before,
.visa-redesign *::after {
  box-sizing: border-box;
}

.visa-redesign img {
  display: block;
  max-width: 100%;
}

.visa-redesign svg {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.visa-container,
body:has(#student-visa-main) .site-footer .footer-grid,
body:has(#student-visa-main) .site-footer .footer-bottom {
  width: min(calc(100% - 64px), 1280px);
  max-width: none;
  margin: 0 auto;
  padding-right: 0;
  padding-left: 0;
}

.visa-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 4%, rgba(11, 99, 246, 0.36), transparent 30%),
    linear-gradient(135deg, #07052b 0%, #100b3d 48%, #051a56 100%);
  color: #ffffff;
  padding: 78px 0 92px;
}

.visa-hero::after {
  position: absolute;
  inset: auto -150px -210px auto;
  width: 460px;
  height: 460px;
  border-radius: 999px;
  background: rgba(34, 197, 94, 0.1);
  content: "";
}

.visa-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(430px, 0.95fr);
  gap: 58px;
  align-items: center;
}

.visa-hero-copy {
  max-width: 710px;
}

.visa-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin: 0 0 18px;
  padding: 0 15px;
  border-radius: 999px;
  background: #0b63f6;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.visa-hero h1 {
  max-width: 700px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(46px, 4.7vw, 64px);
  font-weight: 850;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.visa-hero-copy > p:not(.visa-eyebrow):not(.visa-disclaimer) {
  max-width: 650px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  line-height: 1.7;
}

.visa-actions,
.visa-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.visa-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease;
}

.visa-button:hover {
  transform: translateY(-1px);
}

.visa-button.is-primary {
  background: #22c55e;
  color: #ffffff;
  box-shadow: 0 16px 34px rgba(34, 197, 94, 0.22);
}

.visa-button.is-primary:hover {
  background: #16a34a;
}

.visa-button.is-secondary {
  background: #ffffff;
  color: #0b63f6;
  border-color: #dbe3ef;
}

.visa-hero .visa-button.is-secondary {
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.75);
}

.visa-button.is-secondary:hover {
  border-color: #0b63f6;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.visa-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  max-width: 650px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  line-height: 1.65;
}

.visa-disclaimer svg {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  color: #bfdbfe;
  margin-top: 2px;
}

.visa-hero-visual {
  position: relative;
  min-height: 520px;
}

.visa-hero-visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 999px 0 0 999px;
  object-fit: cover;
  opacity: 0.9;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.34);
}

.visa-hero-visual::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 999px 0 0 999px;
  background: linear-gradient(90deg, rgba(16, 11, 61, 0.48), rgba(16, 11, 61, 0.06));
  content: "";
}

.visa-hero-card {
  position: absolute;
  right: 28px;
  bottom: 52px;
  z-index: 2;
  width: min(100% - 56px, 410px);
  padding: 31px;
  border: 1px solid rgba(226, 232, 240, 0.94);
  border-radius: 24px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 32px 80px rgba(15, 23, 42, 0.3);
}

.visa-hero-card h2 {
  margin: 0 0 22px;
  color: #100b3d;
  font-size: 27px;
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.visa-card-icon,
.visa-value-item span,
.visa-process-icon,
.visa-final-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
}

.visa-hero-card .visa-card-icon {
  float: left;
  width: 42px;
  height: 42px;
  margin-right: 14px;
}

.visa-card-icon svg,
.visa-value-item svg,
.visa-process-icon svg,
.visa-final-icon svg {
  width: 25px;
  height: 25px;
}

.visa-hero-card ul {
  clear: both;
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.visa-hero-card li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.visa-hero-card li span {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #dcfce7;
  color: #16a34a;
}

.visa-hero-card li svg {
  width: 13px;
  height: 13px;
}

.visa-hero-card li p {
  margin: 0;
  color: #0f172a;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.45;
}

.visa-value-strip {
  position: relative;
  z-index: 2;
  margin-top: -44px;
}

.visa-value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.1);
}

.visa-value-item {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 118px;
  padding: 22px 28px;
  border-right: 1px solid #e5e7eb;
}

.visa-value-item:last-child {
  border-right: 0;
}

.visa-value-item:nth-child(2) span {
  background: #eaf2ff;
  color: #0b63f6;
}

.visa-value-item:nth-child(3) span {
  background: #eff6ff;
  color: #0b63f6;
}

.visa-value-item:nth-child(4) span {
  background: #eaf2ff;
  color: #0b63f6;
}

.visa-value-item h2 {
  margin: 0;
  color: #0f172a;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.3;
}

.visa-value-item p {
  margin: 8px 0 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.45;
}

.visa-section {
  padding: 62px 0;
}

.visa-section.is-tight {
  padding-top: 22px;
}

.visa-section-heading {
  max-width: 780px;
  margin-bottom: 30px;
}

.visa-section-heading.is-centered {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.visa-section-heading h2,
.visa-final-card h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 850;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.visa-help-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.visa-info-card {
  min-height: 240px;
  padding: 28px 24px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  text-align: center;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.visa-info-card .visa-card-icon {
  margin: 0 auto 20px;
}

.visa-info-card h3,
.visa-process h3 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.25;
}

.visa-info-card p,
.visa-process p,
.visa-final-card p {
  margin: 0;
  color: #475569;
  font-size: 15px;
  line-height: 1.65;
}

.visa-section.is-process {
  padding-top: 34px;
}

.visa-process {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  max-width: 990px;
  margin: 0 auto;
  padding: 26px 0 0;
  list-style: none;
}

.visa-process::before {
  position: absolute;
  top: 64px;
  left: 18%;
  right: 18%;
  height: 2px;
  border-top: 3px dotted rgba(11, 99, 246, 0.62);
  content: "";
}

.visa-process li {
  position: relative;
  display: grid;
  justify-items: center;
  text-align: center;
}

.visa-process-number {
  position: absolute;
  top: 14px;
  left: 52px;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #0b63f6;
  color: #ffffff;
  font-size: 15px;
  font-weight: 900;
}

.visa-process-icon {
  width: 82px;
  height: 82px;
  margin-bottom: 20px;
}

.visa-process-icon svg {
  width: 38px;
  height: 38px;
}

.visa-process h3,
.visa-process p {
  max-width: 260px;
}

.visa-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.visa-faq-item {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #ffffff;
}

.visa-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 60px;
  padding: 0 22px;
  color: #0f172a;
  cursor: pointer;
  font-size: 15px;
  font-weight: 850;
  list-style: none;
}

.visa-faq-item summary::-webkit-details-marker {
  display: none;
}

.visa-faq-item summary span {
  color: #0b63f6;
  font-size: 20px;
  transition: transform 160ms ease;
}

.visa-faq-item[open] summary span {
  transform: rotate(180deg);
}

.visa-faq-item p {
  margin: 0;
  padding: 0 22px 20px;
  color: #475569;
  font-size: 14px;
  line-height: 1.7;
}

.visa-section.is-final {
  padding-top: 20px;
}

.visa-final-card {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 30px 36px;
  border: 1px solid #dbeafe;
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff, #edf6ff);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.visa-final-icon {
  width: 82px;
  height: 82px;
  background: #dbeafe;
  color: #0b63f6;
  transform: rotate(-8deg);
}

.visa-final-icon svg {
  width: 45px;
  height: 45px;
}

.visa-final-card p {
  margin-top: 8px;
}

.visa-final-actions {
  margin-top: 0;
}

body:has(#student-visa-main) .site-footer {
  padding: 34px 0 28px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
  color: #0f172a;
}

body:has(#student-visa-main) .site-footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2.4fr);
  gap: 54px;
  align-items: start;
}

body:has(#student-visa-main) .site-footer .footer-brand p,
body:has(#student-visa-main) .site-footer .footer-brand address,
body:has(#student-visa-main) .site-footer .footer-brand .button,
body:has(#student-visa-main) .site-footer .footer-cta {
  display: none;
}

body:has(#student-visa-main) .site-footer .footer-logo {
  color: #0b63f6;
}

body:has(#student-visa-main) .site-footer .footer-logo .brand-mark {
  color: #ffffff;
  background: #0b63f6;
}

body:has(#student-visa-main) .site-footer .footer-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

body:has(#student-visa-main) .site-footer .footer-social-links a {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

body:has(#student-visa-main) .site-footer .footer-social-links a:hover {
  background: #0b63f6;
  color: #ffffff;
}

body:has(#student-visa-main) .site-footer .footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #475569;
}

body:has(#student-visa-main) .site-footer .footer-links h3 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 13px;
}

body:has(#student-visa-main) .site-footer .footer-links a {
  color: #475569;
  font-size: 13px;
}

body:has(#student-visa-main) .site-footer .footer-links a:hover,
body:has(#student-visa-main) .site-footer .footer-bottom a:hover {
  color: #0b63f6;
}

body:has(#student-visa-main) .site-footer .footer-bottom {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  box-shadow: none;
}

body:has(#student-visa-main) .site-footer .footer-bottom a {
  color: #475569;
}

@media (max-width: 1180px) {
  .visa-container,
  body:has(#student-visa-main) .site-footer .footer-grid,
  body:has(#student-visa-main) .site-footer .footer-bottom {
    width: min(calc(100% - 48px), 1280px);
  }

  .visa-hero-grid {
    grid-template-columns: 1fr;
  }

  .visa-hero-visual {
    width: min(100%, 760px);
    justify-self: center;
  }

  .visa-value-grid,
  .visa-help-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .visa-value-item:nth-child(2) {
    border-right: 0;
  }

  .visa-value-item:nth-child(-n + 2) {
    border-bottom: 1px solid #e5e7eb;
  }

  .visa-final-card {
    grid-template-columns: 90px minmax(0, 1fr);
  }

  .visa-final-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  body:has(#student-visa-main) .header-inner {
    min-height: 64px;
  }

  .visa-container,
  body:has(#student-visa-main) .site-footer .footer-grid,
  body:has(#student-visa-main) .site-footer .footer-bottom {
    width: min(calc(100% - 32px), 1280px);
  }

  .visa-hero {
    padding: 48px 0 72px;
  }

  .visa-hero h1 {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.08;
  }

  .visa-hero-copy > p:not(.visa-eyebrow):not(.visa-disclaimer) {
    font-size: 15px;
  }

  .visa-actions,
  .visa-final-actions {
    flex-direction: column;
  }

  .visa-button {
    width: 100%;
  }

  .visa-hero-visual {
    min-height: 0;
    margin-top: 30px;
  }

  .visa-hero-visual > img {
    position: relative;
    height: 260px;
    border-radius: 24px 24px 0 0;
  }

  .visa-hero-visual::before {
    display: none;
  }

  .visa-hero-card {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    border-radius: 0 0 24px 24px;
    padding: 22px;
  }

  .visa-value-strip {
    margin-top: -40px;
  }

  .visa-value-grid,
  .visa-help-grid,
  .visa-process,
  .visa-faq-grid {
    grid-template-columns: 1fr;
  }

  .visa-value-item {
    min-height: 86px;
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
  }

  .visa-value-item:last-child {
    border-bottom: 0;
  }

  .visa-section {
    padding: 42px 0;
  }

  .visa-section.is-tight {
    padding-top: 18px;
  }

  .visa-section-heading.is-centered {
    text-align: left;
  }

  .visa-info-card {
    min-height: 0;
    padding: 20px;
    text-align: left;
  }

  .visa-info-card .visa-card-icon {
    margin-right: 0;
    margin-left: 0;
  }

  .visa-process {
    gap: 24px;
    padding-top: 0;
  }

  .visa-process::before {
    display: none;
  }

  .visa-process li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px 14px;
    align-items: start;
    justify-items: stretch;
    padding: 18px;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    background: #ffffff;
    text-align: left;
  }

  .visa-process-number {
    position: static;
    grid-column: 1;
    grid-row: 1;
    width: 36px;
    height: 36px;
  }

  .visa-process-icon {
    grid-column: 1;
    grid-row: 2;
    width: 42px;
    height: 42px;
    margin: 0;
  }

  .visa-process-icon svg {
    width: 24px;
    height: 24px;
  }

  .visa-process h3,
  .visa-process p {
    grid-column: 2;
    max-width: none;
  }

  .visa-process h3 {
    grid-row: 1;
    align-self: center;
  }

  .visa-process p {
    grid-row: 2;
    width: 100%;
  }

  .visa-faq-item summary {
    min-height: 56px;
    padding: 0 16px;
    font-size: 13px;
  }

  .visa-faq-item p {
    padding: 0 16px 16px;
  }

  .visa-final-card {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px;
  }

  body:has(#student-visa-main) .site-footer {
    padding: 24px 0 26px;
  }

  body:has(#student-visa-main) .site-footer .footer-grid {
    display: block;
  }

  body:has(#student-visa-main) .site-footer .footer-brand {
    margin-bottom: 18px;
  }

  body:has(#student-visa-main) .site-footer .footer-links {
    display: none;
  }

  body:has(#student-visa-main) .site-footer .footer-mobile-links {
    display: grid;
    gap: 8px;
    color: #0f172a;
  }

  body:has(#student-visa-main) .site-footer .footer-mobile-links details {
    border-bottom: 1px solid #e5e7eb;
    padding: 10px 0;
  }

  body:has(#student-visa-main) .site-footer .footer-mobile-links summary {
    color: #0f172a;
    font-size: 14px;
    font-weight: 850;
  }

  body:has(#student-visa-main) .site-footer .footer-mobile-links a {
    display: block;
    margin: 10px 0;
    color: #475569;
    font-size: 13px;
  }

  body:has(#student-visa-main) .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

@media (max-width: 430px) {
  .visa-section-heading h2,
  .visa-final-card h2 {
    font-size: 25px;
  }
}

/* Student Residence / NIE-TIE Guidance landing page */
body:has(#residence-main) {
  background: #f7f9fc;
}

body:has(#residence-main) .header-inner {
  min-height: 72px;
}

.residence-redesign .visa-hero-visual > img {
  object-position: center;
}

.residence-redesign .visa-hero-card {
  bottom: 28px;
  width: min(100% - 56px, 360px);
}

.residence-redesign .visa-section-heading p {
  max-width: 700px;
  margin: 12px auto 0;
  color: #475569;
  font-size: 16px;
  line-height: 1.65;
}

.residence-explainer-section {
  padding-bottom: 42px;
}

.residence-explainer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  max-width: 960px;
  margin: 0 auto;
}

.residence-explainer-card {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  min-height: 150px;
  padding: 28px;
  border: 1px solid #dbe3ef;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.04);
}

.residence-explainer-card.is-blue {
  border-color: rgba(11, 99, 246, 0.24);
  background: linear-gradient(135deg, #ffffff, #f8fbff);
}

.residence-explainer-card.is-green {
  border-color: rgba(34, 197, 94, 0.24);
  background: linear-gradient(135deg, #ffffff, #f6fef9);
}

.residence-explainer-icon {
  display: inline-grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 20px;
  background: #eaf2ff;
  color: #0b63f6;
}

.residence-explainer-card.is-green .residence-explainer-icon {
  background: #dcfce7;
  color: #16a34a;
}

.residence-explainer-icon svg {
  width: 40px;
  height: 40px;
}

.residence-explainer-card h3,
.residence-problem-card h3 {
  margin: 0 0 9px;
  color: #0f172a;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.25;
}

.residence-explainer-card p,
.residence-problem-card p {
  margin: 0;
  color: #475569;
  font-size: 15px;
  line-height: 1.6;
}

.residence-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  margin: 18px auto 0;
  padding: 11px 18px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.4;
}

.residence-note svg {
  width: 18px;
  height: 18px;
}

.residence-problems-section {
  padding-top: 30px;
}

.residence-problems-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.residence-problem-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  min-height: 150px;
  padding: 24px;
  border: 1px solid #fed7aa;
  border-radius: 18px;
  background: #fff7ed;
}

.residence-problem-card > span {
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  color: #f97316;
}

.residence-problem-card > span svg {
  width: 34px;
  height: 34px;
}

body:has(#residence-main) .site-footer {
  padding: 34px 0 28px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
  color: #0f172a;
}

body:has(#residence-main) .site-footer .footer-grid,
body:has(#residence-main) .site-footer .footer-bottom {
  width: min(calc(100% - 64px), 1280px);
  max-width: none;
  margin: 0 auto;
  padding-right: 0;
  padding-left: 0;
}

body:has(#residence-main) .site-footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2.4fr);
  gap: 54px;
  align-items: start;
}

body:has(#residence-main) .site-footer .footer-brand p,
body:has(#residence-main) .site-footer .footer-brand address,
body:has(#residence-main) .site-footer .footer-brand .button,
body:has(#residence-main) .site-footer .footer-cta {
  display: none;
}

body:has(#residence-main) .site-footer .footer-logo {
  color: #0b63f6;
}

body:has(#residence-main) .site-footer .footer-logo .brand-mark {
  color: #ffffff;
  background: #0b63f6;
}

body:has(#residence-main) .site-footer .footer-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

body:has(#residence-main) .site-footer .footer-social-links a {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

body:has(#residence-main) .site-footer .footer-social-links a:hover {
  background: #0b63f6;
  color: #ffffff;
}

body:has(#residence-main) .site-footer .footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #475569;
}

body:has(#residence-main) .site-footer .footer-links h3 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 13px;
}

body:has(#residence-main) .site-footer .footer-links a {
  color: #475569;
  font-size: 13px;
}

body:has(#residence-main) .site-footer .footer-links a:hover,
body:has(#residence-main) .site-footer .footer-bottom a:hover {
  color: #0b63f6;
}

body:has(#residence-main) .site-footer .footer-bottom {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  box-shadow: none;
}

body:has(#residence-main) .site-footer .footer-bottom a {
  color: #475569;
}

@media (max-width: 1180px) {
  body:has(#residence-main) .site-footer .footer-grid,
  body:has(#residence-main) .site-footer .footer-bottom {
    width: min(calc(100% - 48px), 1280px);
  }

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

@media (max-width: 767px) {
  body:has(#residence-main) .header-inner {
    min-height: 64px;
  }

  body:has(#residence-main) .site-footer .footer-grid,
  body:has(#residence-main) .site-footer .footer-bottom {
    width: min(calc(100% - 32px), 1280px);
  }

  .residence-redesign .visa-section-heading p {
    margin-right: 0;
    margin-left: 0;
    font-size: 14px;
  }

  .residence-explainer-grid,
  .residence-problems-grid {
    grid-template-columns: 1fr;
  }

  .residence-explainer-card,
  .residence-problem-card {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    min-height: 0;
    padding: 18px;
  }

  .residence-explainer-icon,
  .residence-problem-card > span {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .residence-explainer-icon svg,
  .residence-problem-card > span svg {
    width: 28px;
    height: 28px;
  }

  .residence-note {
    align-items: flex-start;
    width: 100%;
    border-radius: 16px;
    font-size: 13px;
  }

  body:has(#residence-main) .site-footer {
    padding: 24px 0 26px;
  }

  body:has(#residence-main) .site-footer .footer-grid {
    display: block;
  }

  body:has(#residence-main) .site-footer .footer-brand {
    margin-bottom: 18px;
  }

  body:has(#residence-main) .site-footer .footer-links {
    display: none;
  }

  body:has(#residence-main) .site-footer .footer-mobile-links {
    display: grid;
    gap: 8px;
    color: #0f172a;
  }

  body:has(#residence-main) .site-footer .footer-mobile-links details {
    border-bottom: 1px solid #e5e7eb;
    padding: 10px 0;
  }

  body:has(#residence-main) .site-footer .footer-mobile-links summary {
    color: #0f172a;
    font-size: 14px;
    font-weight: 850;
  }

  body:has(#residence-main) .site-footer .footer-mobile-links a {
    display: block;
    margin: 10px 0;
    color: #475569;
    font-size: 13px;
  }

body:has(#residence-main) .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

/* SpainAdmit 404 page */
body:has(#not-found-main) {
  background: #f7f9fc;
  color: #0f172a;
}

body:has(#not-found-main) .header-inner {
  min-height: 70px;
}

.not-found-page {
  overflow-x: hidden;
  background:
    radial-gradient(circle at top left, rgba(11, 99, 246, 0.08), transparent 34rem),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 42%, #f7f9fc 100%);
}

.not-found-container {
  width: min(calc(100% - 64px), 1280px);
  margin: 0 auto;
}

.not-found-hero {
  padding: 92px 0 70px;
}

.not-found-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
  gap: 64px;
  align-items: center;
}

.not-found-copy {
  max-width: 540px;
}

.not-found-eyebrow {
  display: inline-flex;
  align-items: center;
  margin: 0 0 14px;
  padding: 8px 14px;
  border: 1px solid rgba(11, 99, 246, 0.14);
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.not-found-copy h1 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 850;
  line-height: 1.15;
  letter-spacing: 0;
}

.not-found-code {
  margin: 16px 0 22px;
  color: #0b1556;
  font-size: clamp(96px, 14vw, 180px);
  font-weight: 950;
  line-height: 0.86;
  letter-spacing: -0.06em;
}

.not-found-description,
.not-found-recovery {
  margin: 0;
  max-width: 460px;
  color: #475569;
  font-size: 18px;
  font-weight: 550;
  line-height: 1.6;
}

.not-found-recovery {
  margin-top: 10px;
  font-size: 15px;
  color: #64748b;
}

.not-found-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 28px;
}

.not-found-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

.not-found-button:hover {
  transform: translateY(-1px);
}

.not-found-button-primary {
  border: 1px solid #22c55e;
  background: #22c55e;
  color: #ffffff;
  box-shadow: 0 16px 32px rgba(34, 197, 94, 0.22);
}

.not-found-button-primary:hover {
  border-color: #16a34a;
  background: #16a34a;
  box-shadow: 0 18px 36px rgba(22, 163, 74, 0.24);
}

.not-found-button-secondary {
  border: 1px solid #0b63f6;
  background: #ffffff;
  color: #0b63f6;
}

.not-found-button-secondary:hover {
  background: #eff6ff;
  box-shadow: 0 14px 28px rgba(11, 99, 246, 0.12);
}

.not-found-support-line {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 28px;
  color: #475569;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}

.not-found-support-line svg {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  color: #0b63f6;
}

.not-found-support-line a {
  color: #0b63f6;
  font-weight: 850;
  text-decoration: none;
}

.not-found-support-line a:hover {
  text-decoration: underline;
}

.not-found-visual {
  position: relative;
  min-width: 0;
}

.not-found-visual::before {
  position: absolute;
  inset: 9% 6% 8% 3%;
  z-index: 0;
  border-radius: 42px;
  background: #eaf2ff;
  filter: blur(42px);
  content: "";
}

.not-found-illustration {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 24px 48px rgba(15, 23, 42, 0.1));
}

.not-found-links-section {
  padding: 28px 0 64px;
}

.not-found-links-section h2,
.not-found-support-card h2 {
  margin: 0;
  color: #0f172a;
  font-size: 28px;
  font-weight: 850;
  line-height: 1.2;
  text-align: center;
}

.not-found-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 28px;
}

.not-found-card {
  display: flex;
  align-items: center;
  flex-direction: column;
  min-height: 244px;
  padding: 28px 24px 24px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  color: #0f172a;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.04);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.not-found-card:hover {
  border-color: rgba(11, 99, 246, 0.28);
  transform: translateY(-2px);
  box-shadow: 0 22px 42px rgba(15, 23, 42, 0.09);
}

.not-found-card-icon,
.not-found-support-icon {
  display: inline-grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
}

.not-found-card-icon svg,
.not-found-support-icon svg {
  width: 32px;
  height: 32px;
}

.not-found-card strong {
  display: block;
  margin-top: 18px;
  color: #0f172a;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.3;
}

.not-found-card > span:not(.not-found-card-icon) {
  margin-top: 8px;
  color: #475569;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
}

.not-found-card em {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-top: auto;
  color: #0b63f6;
  font-style: normal;
}

.not-found-card em svg {
  width: 26px;
  height: 26px;
}

.not-found-support {
  padding: 0 0 74px;
}

.not-found-support-card {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 26px;
  align-items: center;
  padding: 30px 34px;
  border: 1px solid #dbeafe;
  border-radius: 20px;
  background:
    radial-gradient(circle at 9% 18%, rgba(11, 99, 246, 0.12), transparent 14rem),
    #eff6ff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.not-found-support-card h2 {
  text-align: left;
  font-size: 24px;
}

.not-found-support-card p {
  margin: 8px 0 0;
  max-width: 560px;
  color: #475569;
  font-size: 15px;
  font-weight: 550;
  line-height: 1.6;
}

.not-found-support-icon {
  width: 76px;
  height: 76px;
  background: #ffffff;
  box-shadow: 0 18px 34px rgba(11, 99, 246, 0.12);
}

body:has(#not-found-main) .site-footer {
  padding: 34px 0 28px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
  color: #0f172a;
}

body:has(#not-found-main) .site-footer .footer-grid,
body:has(#not-found-main) .site-footer .footer-bottom {
  width: min(calc(100% - 64px), 1280px);
  max-width: none;
  margin: 0 auto;
  padding-right: 0;
  padding-left: 0;
}

body:has(#not-found-main) .site-footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.95fr) minmax(0, 2.5fr);
  gap: 56px;
  align-items: start;
}

body:has(#not-found-main) .site-footer .footer-brand address,
body:has(#not-found-main) .site-footer .footer-brand .button,
body:has(#not-found-main) .site-footer .footer-cta {
  display: none;
}

body:has(#not-found-main) .site-footer .footer-brand p {
  max-width: 220px;
  margin-top: 16px;
  color: #475569;
  font-size: 14px;
  line-height: 1.6;
}

body:has(#not-found-main) .site-footer .footer-logo {
  color: #0b63f6;
}

body:has(#not-found-main) .site-footer .footer-logo .brand-mark {
  color: #ffffff;
  background: #0b63f6;
}

body:has(#not-found-main) .site-footer .footer-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

body:has(#not-found-main) .site-footer .footer-social-links a {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

body:has(#not-found-main) .site-footer .footer-social-links a:hover {
  background: #0b63f6;
  color: #ffffff;
}

body:has(#not-found-main) .site-footer .footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #475569;
}

body:has(#not-found-main) .site-footer .footer-links h3 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 13px;
}

body:has(#not-found-main) .site-footer .footer-links a {
  color: #475569;
  font-size: 13px;
}

body:has(#not-found-main) .site-footer .footer-links a:hover,
body:has(#not-found-main) .site-footer .footer-bottom a:hover {
  color: #0b63f6;
}

body:has(#not-found-main) .site-footer .footer-bottom {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  box-shadow: none;
}

body:has(#not-found-main) .site-footer .footer-bottom a {
  color: #475569;
}

@media (max-width: 1180px) {
  .not-found-container,
  body:has(#not-found-main) .site-footer .footer-grid,
  body:has(#not-found-main) .site-footer .footer-bottom {
    width: min(calc(100% - 48px), 1280px);
  }

  .not-found-hero-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
    gap: 44px;
  }

  .not-found-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .not-found-hero {
    padding-top: 70px;
  }

  .not-found-hero-grid {
    grid-template-columns: 1fr;
  }

  .not-found-copy {
    max-width: 680px;
  }

  .not-found-visual {
    max-width: 640px;
    margin: 0 auto;
  }

  .not-found-support-card {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .not-found-support-card .not-found-button {
    grid-column: 1 / -1;
    justify-self: start;
  }

  body:has(#not-found-main) .site-footer .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 767px) {
  body:has(#not-found-main) .header-inner {
    min-height: 64px;
  }

  .not-found-container,
  body:has(#not-found-main) .site-footer .footer-grid,
  body:has(#not-found-main) .site-footer .footer-bottom {
    width: min(calc(100% - 32px), 1280px);
  }

  .not-found-hero {
    padding: 48px 0 36px;
  }

  .not-found-hero-grid {
    gap: 28px;
  }

  .not-found-eyebrow {
    margin-bottom: 12px;
    font-size: 11px;
  }

  .not-found-copy h1 {
    font-size: 28px;
  }

  .not-found-code {
    margin: 14px 0 18px;
    font-size: clamp(88px, 31vw, 124px);
  }

  .not-found-description {
    font-size: 16px;
  }

  .not-found-actions {
    gap: 12px;
  }

  .not-found-button {
    width: 100%;
  }

  .not-found-support-line {
    margin-top: 22px;
    font-size: 13px;
  }

  .not-found-illustration {
    width: 100%;
    min-width: 0;
    max-width: 420px;
    margin: 0 auto;
    transform: none;
  }

  .not-found-visual {
    overflow: hidden;
    border-radius: 24px;
  }

  .not-found-links-section {
    padding: 28px 0 40px;
  }

  .not-found-links-section h2,
  .not-found-support-card h2 {
    font-size: 22px;
  }

  .not-found-card-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .not-found-card {
    min-height: 0;
    padding: 22px 18px;
  }

  .not-found-support {
    padding-bottom: 46px;
  }

  .not-found-support-card {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
    padding: 24px 18px;
  }

  .not-found-support-card p {
    font-size: 14px;
  }

  .not-found-support-icon {
    width: 64px;
    height: 64px;
  }

  body:has(#not-found-main) .site-footer {
    padding: 24px 0 26px;
  }

  body:has(#not-found-main) .site-footer .footer-grid {
    display: block;
  }

  body:has(#not-found-main) .site-footer .footer-brand {
    margin-bottom: 18px;
  }

  body:has(#not-found-main) .site-footer .footer-brand p {
    max-width: none;
  }

  body:has(#not-found-main) .site-footer .footer-links {
    display: none;
  }

  body:has(#not-found-main) .site-footer .footer-mobile-links {
    display: grid;
    gap: 8px;
    color: #0f172a;
  }

  body:has(#not-found-main) .site-footer .footer-mobile-links details {
    border-bottom: 1px solid #e5e7eb;
    padding: 10px 0;
  }

  body:has(#not-found-main) .site-footer .footer-mobile-links summary {
    color: #0f172a;
    font-size: 14px;
    font-weight: 850;
  }

  body:has(#not-found-main) .site-footer .footer-mobile-links a {
    display: block;
    margin: 10px 0;
    color: #475569;
    font-size: 13px;
  }

body:has(#not-found-main) .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

/* SpainAdmit Coming Soon page */
body:has(#coming-soon-main) {
  background: #f7f9fc;
  color: #0f172a;
}

body:has(#coming-soon-main) .header-inner {
  min-height: 70px;
}

.coming-soon-page {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 72% 8%, rgba(11, 99, 246, 0.12), transparent 34rem),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 44%, #f7f9fc 100%);
}

.coming-soon-container {
  width: min(calc(100% - 64px), 1280px);
  margin: 0 auto;
}

.coming-soon-hero {
  position: relative;
  overflow: hidden;
  padding: 88px 0 80px;
  border-bottom: 1px solid #e5e7eb;
  background:
    radial-gradient(circle at 82% 30%, rgba(11, 99, 246, 0.14), transparent 25rem),
    linear-gradient(135deg, #ffffff 0%, #f4f8ff 100%);
}

.coming-soon-hero::after {
  position: absolute;
  top: -15%;
  right: -11%;
  width: 55vw;
  max-width: 820px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(234, 242, 255, 0.82);
  content: "";
}

.coming-soon-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(440px, 1.1fr);
  gap: 62px;
  align-items: center;
}

.coming-soon-copy {
  max-width: 590px;
}

.coming-soon-badge,
.coming-soon-section-heading p,
.coming-soon-notify-copy > p {
  display: inline-flex;
  align-items: center;
  margin: 0;
  color: #0b63f6;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.coming-soon-badge {
  margin-bottom: 24px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #eaf2ff;
}

.coming-soon-copy h1 {
  margin: 0;
  color: #0b1556;
  font-size: clamp(42px, 5.2vw, 68px);
  font-weight: 950;
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.coming-soon-copy h1 span {
  color: #0b63f6;
}

.coming-soon-copy > p:not(.coming-soon-badge) {
  max-width: 520px;
  margin: 24px 0 0;
  color: #475569;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
}

.coming-soon-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 34px;
}

.coming-soon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 28px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

.coming-soon-button:hover {
  transform: translateY(-1px);
}

.coming-soon-button-primary {
  border: 1px solid #22c55e;
  background: #22c55e;
  color: #ffffff;
  box-shadow: 0 18px 36px rgba(34, 197, 94, 0.22);
}

.coming-soon-button-primary:hover,
.coming-soon-form button:hover {
  border-color: #16a34a;
  background: #16a34a;
  box-shadow: 0 20px 38px rgba(22, 163, 74, 0.24);
}

.coming-soon-button-secondary {
  border: 1px solid #0b63f6;
  background: #ffffff;
  color: #0b63f6;
}

.coming-soon-button-secondary:hover {
  background: #eff6ff;
  box-shadow: 0 14px 28px rgba(11, 99, 246, 0.12);
}

.coming-soon-hint {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 34px;
  color: #475569;
  font-size: 15px;
  font-weight: 650;
}

.coming-soon-hint svg {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  color: #0b63f6;
}

.coming-soon-visual {
  position: relative;
  min-width: 0;
}

.coming-soon-illustration {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 24px 50px rgba(15, 23, 42, 0.1));
}

.coming-soon-expect {
  padding: 72px 0 44px;
  background: #ffffff;
}

.coming-soon-section-heading {
  text-align: center;
}

.coming-soon-section-heading h2,
.coming-soon-notify-copy h2 {
  margin: 16px 0 0;
  color: #0b1556;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.coming-soon-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 34px;
}

.coming-soon-card {
  min-height: 246px;
  padding: 32px 24px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  text-align: center;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.04);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.coming-soon-card:hover {
  border-color: rgba(11, 99, 246, 0.28);
  transform: translateY(-2px);
  box-shadow: 0 22px 42px rgba(15, 23, 42, 0.09);
}

.coming-soon-card > span {
  display: inline-grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
}

.coming-soon-card svg {
  width: 34px;
  height: 34px;
}

.coming-soon-card h3 {
  margin: 22px 0 0;
  color: #0f172a;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.3;
}

.coming-soon-card p {
  margin: 16px auto 0;
  max-width: 210px;
  color: #475569;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.65;
}

.coming-soon-notify {
  padding: 28px 0 72px;
  background: #ffffff;
}

.coming-soon-notify-card {
  display: grid;
  grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr);
  gap: 46px;
  align-items: center;
  padding: 48px;
  border: 1px solid #dbeafe;
  border-radius: 24px;
  background:
    radial-gradient(circle at 12% 26%, rgba(11, 99, 246, 0.11), transparent 18rem),
    #eff6ff;
  box-shadow: 0 20px 46px rgba(15, 23, 42, 0.07);
}

.coming-soon-notify-art {
  display: grid;
  place-items: center;
}

.coming-soon-envelope {
  width: min(100%, 300px);
  height: auto;
  filter: drop-shadow(0 24px 34px rgba(11, 99, 246, 0.12));
}

.coming-soon-notify-copy > span {
  display: block;
  max-width: 520px;
  margin-top: 14px;
  color: #475569;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.65;
}

.coming-soon-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  margin-top: 26px;
}

.coming-soon-form input {
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #ffffff;
  color: #0f172a;
  font: inherit;
  font-size: 15px;
  outline: none;
}

.coming-soon-form input:focus {
  border-color: #0b63f6;
  box-shadow: 0 0 0 4px rgba(11, 99, 246, 0.12);
}

.coming-soon-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #22c55e;
  border-radius: 12px;
  background: #22c55e;
  color: #ffffff;
  font: inherit;
  font-size: 14px;
  font-weight: 850;
  line-height: 1;
  cursor: pointer;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

.coming-soon-form button:hover {
  transform: translateY(-1px);
}

.coming-soon-form-message {
  margin: 12px 0 0;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
}

.coming-soon-form-message.is-success {
  color: #15803d;
}

.coming-soon-form-message.is-error {
  color: #b91c1c;
}

.coming-soon-notify-copy small {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: #475569;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
}

.coming-soon-notify-copy small svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  color: #0b63f6;
}

body:has(#coming-soon-main) .site-footer {
  padding: 34px 0 28px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
  color: #0f172a;
}

body:has(#coming-soon-main) .site-footer .footer-grid,
body:has(#coming-soon-main) .site-footer .footer-bottom {
  width: min(calc(100% - 64px), 1280px);
  max-width: none;
  margin: 0 auto;
  padding-right: 0;
  padding-left: 0;
}

body:has(#coming-soon-main) .site-footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.95fr) minmax(0, 2.5fr);
  gap: 56px;
  align-items: start;
}

body:has(#coming-soon-main) .site-footer .footer-brand address,
body:has(#coming-soon-main) .site-footer .footer-brand .button,
body:has(#coming-soon-main) .site-footer .footer-cta {
  display: none;
}

body:has(#coming-soon-main) .site-footer .footer-brand p {
  max-width: 220px;
  margin-top: 16px;
  color: #475569;
  font-size: 14px;
  line-height: 1.6;
}

body:has(#coming-soon-main) .site-footer .footer-logo {
  color: #0b63f6;
}

body:has(#coming-soon-main) .site-footer .footer-logo .brand-mark {
  color: #ffffff;
  background: #0b63f6;
}

body:has(#coming-soon-main) .site-footer .footer-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

body:has(#coming-soon-main) .site-footer .footer-social-links a {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #0b63f6;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

body:has(#coming-soon-main) .site-footer .footer-social-links a:hover {
  background: #0b63f6;
  color: #ffffff;
}

body:has(#coming-soon-main) .site-footer .footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #475569;
}

body:has(#coming-soon-main) .site-footer .footer-links h3 {
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 13px;
}

body:has(#coming-soon-main) .site-footer .footer-links a {
  color: #475569;
  font-size: 13px;
}

body:has(#coming-soon-main) .site-footer .footer-links a:hover,
body:has(#coming-soon-main) .site-footer .footer-bottom a:hover {
  color: #0b63f6;
}

body:has(#coming-soon-main) .site-footer .footer-bottom {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
  border-radius: 0;
  background: transparent;
  color: #64748b;
  box-shadow: none;
}

body:has(#coming-soon-main) .site-footer .footer-bottom a {
  color: #475569;
}

@media (max-width: 1180px) {
  .coming-soon-container,
  body:has(#coming-soon-main) .site-footer .footer-grid,
  body:has(#coming-soon-main) .site-footer .footer-bottom {
    width: min(calc(100% - 48px), 1280px);
  }

  .coming-soon-hero-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
    gap: 44px;
  }

  .coming-soon-copy h1 {
    font-size: clamp(38px, 5vw, 56px);
  }

  .coming-soon-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .coming-soon-hero-grid,
  .coming-soon-notify-card {
    grid-template-columns: 1fr;
  }

  .coming-soon-visual {
    max-width: 640px;
    margin: 0 auto;
  }

  .coming-soon-notify-art {
    order: 2;
  }

  body:has(#coming-soon-main) .site-footer .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 767px) {
  body:has(#coming-soon-main) .header-inner {
    min-height: 64px;
  }

  .coming-soon-container,
  body:has(#coming-soon-main) .site-footer .footer-grid,
  body:has(#coming-soon-main) .site-footer .footer-bottom {
    width: min(calc(100% - 32px), 1280px);
  }

  .coming-soon-hero {
    padding: 50px 0 44px;
  }

  .coming-soon-hero::after {
    display: none;
  }

  .coming-soon-hero-grid {
    gap: 30px;
  }

  .coming-soon-badge {
    margin-bottom: 18px;
    font-size: 11px;
  }

  .coming-soon-copy h1 {
    font-size: 34px;
    line-height: 1.1;
  }

  .coming-soon-copy > p:not(.coming-soon-badge) {
    margin-top: 18px;
    font-size: 16px;
  }

  .coming-soon-actions {
    gap: 12px;
    margin-top: 26px;
  }

  .coming-soon-button,
  .coming-soon-form button {
    width: 100%;
  }

  .coming-soon-hint {
    align-items: flex-start;
    gap: 12px;
    margin-top: 24px;
    font-size: 14px;
  }

  .coming-soon-hint svg {
    width: 22px;
    height: 22px;
  }

  .coming-soon-visual {
    overflow: hidden;
    border-radius: 24px;
  }

  .coming-soon-illustration {
    width: 100%;
    min-width: 0;
    max-width: 420px;
    margin: 0 auto;
  }

  .coming-soon-expect {
    padding: 48px 0 24px;
  }

  .coming-soon-section-heading h2,
  .coming-soon-notify-copy h2 {
    font-size: 24px;
  }

  .coming-soon-card-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
  }

  .coming-soon-card {
    min-height: 0;
    padding: 24px 20px;
  }

  .coming-soon-notify {
    padding: 24px 0 48px;
  }

  .coming-soon-notify-card {
    gap: 24px;
    padding: 24px;
    border-radius: 22px;
  }

  .coming-soon-form {
    grid-template-columns: 1fr;
  }

  .coming-soon-envelope {
    width: min(100%, 220px);
  }

  body:has(#coming-soon-main) .site-footer {
    padding: 24px 0 26px;
  }

  body:has(#coming-soon-main) .site-footer .footer-grid {
    display: block;
  }

  body:has(#coming-soon-main) .site-footer .footer-brand {
    margin-bottom: 18px;
  }

  body:has(#coming-soon-main) .site-footer .footer-brand p {
    max-width: none;
  }

  body:has(#coming-soon-main) .site-footer .footer-links {
    display: none;
  }

  body:has(#coming-soon-main) .site-footer .footer-mobile-links {
    display: grid;
    gap: 8px;
    color: #0f172a;
  }

  body:has(#coming-soon-main) .site-footer .footer-mobile-links details {
    border-bottom: 1px solid #e5e7eb;
    padding: 10px 0;
  }

  body:has(#coming-soon-main) .site-footer .footer-mobile-links summary {
    color: #0f172a;
    font-size: 14px;
    font-weight: 850;
  }

  body:has(#coming-soon-main) .site-footer .footer-mobile-links a {
    display: block;
    margin: 10px 0;
    color: #475569;
    font-size: 13px;
  }

  body:has(#coming-soon-main) .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

/* Homepage hero conversion refresh */
.si-home .si-home-hero.si-home-hero64 {
  min-height: calc(100dvh - var(--header-height));
  padding: 80px 0 96px;
  overflow: hidden;
  background: linear-gradient(180deg, #fbfdff 0%, #f8fbff 48%, #eef6ff 100%);
}

  .si-home .si-home-hero64-shell {
    width: min(calc(100% - 112px), 1540px);
    max-width: 1540px;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 72px;
  align-items: center;
}

.si-home .si-home-hero64-copy {
  max-width: 760px;
  align-items: flex-start;
  gap: 0;
  text-align: left;
}

.si-home .si-home-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 40px;
  padding: 12px 18px;
  border: 0;
  border-radius: 999px;
  background: #eafbf1;
  color: #15803d;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: none;
}

.si-home .si-home-hero-pill svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.si-home .si-home-hero64-copy h1 {
  max-width: 790px;
  margin: 0;
  color: #0f172a;
  font-size: 72px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.06;
  text-wrap: balance;
}

.si-home .si-home-hero-highlight {
  display: inline;
  color: #0b63f6;
}

.si-home .si-home-hero-description {
  max-width: 720px;
  margin: 28px 0 0;
  color: #475569;
  font-size: 21px;
  font-weight: 550;
  line-height: 1.55;
}

.si-home .si-home-hero-description-mobile {
  display: none;
}

.si-home .si-home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 36px 0 0;
}

.si-home .si-home-hero-actions .button {
  min-height: 62px;
  padding: 0 32px;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 900;
}

.si-home .si-home-hero-actions .button-primary {
  gap: 14px;
  background: #22c55e;
  box-shadow: 0 18px 34px rgba(34, 197, 94, 0.22);
}

.si-home .si-home-hero-actions .button-primary:hover,
.si-home .si-home-hero-actions .button-primary:focus-visible {
  background: #16a34a;
}

.si-home .si-home-hero-actions .button-primary svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.si-home .si-home-hero-actions .si-home-dark-outline {
  border: 2px solid #0b63f6;
  background: #ffffff;
  color: #0b63f6;
  box-shadow: none;
}

.si-home .si-home-hero-actions .si-home-dark-outline:hover,
.si-home .si-home-hero-actions .si-home-dark-outline:focus-visible {
  background: #eff6ff;
}

.si-home .si-home-hero-text-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 20px 0 0;
  color: #0b63f6;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.35;
  text-decoration: none;
}

.si-home .si-home-hero-text-cta span {
  transition: transform 180ms ease;
}

.si-home .si-home-hero-text-cta:hover,
.si-home .si-home-hero-text-cta:focus-visible {
  text-decoration: underline;
}

.si-home .si-home-hero-text-cta:hover span,
.si-home .si-home-hero-text-cta:focus-visible span {
  transform: translateX(3px);
}

.si-home .si-home-hero-trust-line {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 590px;
  margin: 40px 0 0;
  color: #475569;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.55;
}

.si-home .si-home-hero-trust-line > span {
  display: inline-grid;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 14px;
  background: #0b63f6;
  color: #ffffff;
  box-shadow: 0 16px 30px rgba(11, 99, 246, 0.2);
}

.si-home .si-home-hero-trust-line svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.si-home .si-home-hero-visual {
  position: relative;
  min-height: 650px;
  max-width: none;
  margin: 0;
}

.si-home .si-home-hero-main-image {
  position: absolute;
  inset: 0 0 auto 0;
  width: 100%;
  height: 560px;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 32px;
  background: #dbeafe;
  box-shadow: 0 34px 80px rgba(15, 23, 42, 0.16);
  transform: none;
}

.si-home .si-home-hero-main-image::after {
  display: none;
}

.si-home .si-home-hero-main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.si-home .si-home-study-plan-card,
.si-home .si-home-hero-review-card,
.si-home .si-home-hero-rating-card {
  position: absolute;
  z-index: 2;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);
}

.si-home .si-home-study-plan-card {
  top: 72px;
  right: -12px;
  width: min(350px, calc(100% - 40px));
  padding: 28px 32px;
}

.si-home .si-home-study-plan-card h2,
.si-home .si-home-hero-rating-card h2 {
  margin: 0;
  color: #0f172a;
  font-size: 21px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
}

.si-home .si-home-study-plan-card ul {
  display: grid;
  gap: 0;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.si-home .si-home-study-plan-card li {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 54px;
  border-top: 1px solid #e5e7eb;
  color: #0f172a;
  font-size: 16px;
  font-weight: 650;
}

.si-home .si-home-study-plan-card li:first-child {
  border-top: 0;
}

.si-home .si-home-study-plan-card li > span {
  display: inline-grid;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 999px;
  background: #22c55e;
  color: #ffffff;
}

.si-home .si-home-study-plan-card svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.si-home .si-home-hero-review-card {
  left: -76px;
  bottom: 48px;
  width: min(316px, calc(100% - 52px));
  padding: 24px 28px 22px;
}

.si-home .si-home-hero-review-card > svg {
  width: 28px;
  height: 28px;
  margin-bottom: 14px;
  fill: #0b63f6;
}

.si-home .si-home-hero-review-card blockquote,
.si-home .si-home-hero-review-card p {
  margin: 0;
  color: #0f172a;
  font-size: 15px;
  font-weight: 560;
  line-height: 1.55;
}

.si-home .si-home-hero-review-card footer {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.si-home .si-home-hero-review-card img {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  object-fit: cover;
}

.si-home .si-home-hero-review-card strong,
.si-home .si-home-hero-review-card small {
  display: block;
}

.si-home .si-home-hero-review-card strong {
  color: #0f172a;
  font-size: 15px;
  font-weight: 900;
}

.si-home .si-home-hero-review-card small {
  margin-top: 3px;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.si-home .si-home-hero-rating-card {
  right: -12px;
  bottom: 34px;
  width: min(430px, calc(100% - 44px));
  padding: 28px 32px;
}

.si-home .si-home-hero-rating-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.si-home .si-home-hero-rating-stars {
  display: flex;
  flex: 0 0 auto;
  gap: 5px;
  margin: 0;
}

.si-home .si-home-hero-rating-stars span {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 2px;
  background: #00b67a;
  color: #ffffff;
  font-size: 18px;
  line-height: 1;
}

.si-home .si-home-hero-rating-stars span.is-partial {
  background: linear-gradient(90deg, #00b67a 62%, #d1d5db 62%);
}

.si-home .si-home-hero-rating-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: #0f172a;
}

.si-home .si-home-hero-rating-brand > span {
  color: #00b67a;
  font-size: 32px;
  line-height: 1;
}

.si-home .si-home-hero-rating-brand strong {
  color: #0f172a;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

.si-home .si-home-hero-rating-divider {
  height: 1px;
  margin: 24px 0 22px;
  background: #dbe2ea;
}

.si-home .si-home-hero-rating-details {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 22px;
  align-items: center;
}

.si-home .si-home-hero-rating-neutral {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 16px;
  background: #eaf2ff;
  color: #0b63f6;
}

.si-home .si-home-hero-rating-neutral svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.si-home .si-home-hero-rating-card p {
  margin: 0;
  color: #475569;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}

.si-home .si-home-hero-rating-card p strong,
.si-home .si-home-hero-rating-card p span {
  display: block;
}

.si-home .si-home-hero-rating-card p strong {
  color: #0f172a;
  font-size: 17px;
  font-weight: 900;
}

.si-home .si-home-hero-rating-card p span {
  margin-top: 3px;
  color: #475569;
  font-size: 16px;
  font-weight: 650;
}

.si-home .si-home-hero-rating-verified {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding-left: 22px;
  border-left: 1px solid #dbe2ea;
  color: #475569;
  font-size: 14px;
  font-weight: 700;
}

.si-home .si-home-hero-rating-verified > span {
  display: inline-grid;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 2px solid #22c55e;
  border-radius: 999px;
  color: #16a34a;
}

.si-home .si-home-hero-rating-verified svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.si-home .si-home-hero-rating-card a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: #0b63f6;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
}

.si-home .si-home-hero-rating-card a:hover,
.si-home .si-home-hero-rating-card a:focus-visible {
  text-decoration: underline;
}

@media (max-width: 1280px) {
  .si-home .si-home-hero64-shell {
    width: min(calc(100% - 64px), 1180px);
    gap: 48px;
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: 60px;
  }

  .si-home .si-home-hero-description {
    font-size: 19px;
  }

  .si-home .si-home-study-plan-card,
  .si-home .si-home-hero-rating-card {
    right: 0;
  }

  .si-home .si-home-hero-review-card {
    left: 0;
  }
}

@media (max-width: 1040px) {
  .si-home .si-home-hero.si-home-hero64 {
    padding: 64px 0 72px;
  }

  .si-home .si-home-hero64-shell {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .si-home .si-home-hero64-copy {
    max-width: 820px;
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: 56px;
  }

  .si-home .si-home-hero-visual {
    display: grid;
    min-height: 0;
    gap: 18px;
    max-width: 820px;
  }

  .si-home .si-home-hero-main-image,
  .si-home .si-home-study-plan-card,
  .si-home .si-home-hero-review-card,
  .si-home .si-home-hero-rating-card {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
  }

  .si-home .si-home-hero-main-image {
    height: 430px;
  }

  .si-home .si-home-study-plan-card,
  .si-home .si-home-hero-review-card,
  .si-home .si-home-hero-rating-card {
    border-radius: 22px;
  }
}

@media (max-width: 768px) {
  .si-home .si-home-hero.si-home-hero64 {
    min-height: 0;
    padding: 56px 0 64px;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 70%, #f4faff 100%);
  }

  .si-home .si-home-hero64-shell {
    width: min(calc(100% - 48px), 720px);
    gap: 32px;
  }

  .si-home .si-home-hero64-copy {
    align-items: center;
    text-align: center;
  }

  .si-home .si-home-hero-pill {
    margin: 0 auto 32px;
    padding: 10px 16px;
    font-size: 15px;
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: 42px;
    line-height: 1.08;
    letter-spacing: 0;
    text-align: center;
  }

  .si-home .si-home-hero-description {
    margin: 24px 0 28px;
    font-size: 17px;
    line-height: 1.6;
    text-align: center;
  }

  .si-home .si-home-hero-description-desktop {
    display: none;
  }

  .si-home .si-home-hero-description-mobile {
    display: block;
  }

  .si-home .si-home-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    margin-top: 36px;
  }

  .si-home .si-home-hero-actions .button {
    width: 100%;
    min-height: 56px;
    padding: 0 20px;
    border-radius: 14px;
    font-size: 16px;
  }

  .si-home .si-home-hero-text-cta {
    margin-top: 22px;
    font-size: 16px;
  }

  .si-home .si-home-hero-trust-line {
    display: none;
  }

  .si-home .si-home-hero-visual {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    min-height: 0;
  }

  .si-home .si-home-hero-main-image,
  .si-home .si-home-study-plan-card,
  .si-home .si-home-hero-review-card {
    display: none;
  }

  .si-home .si-home-hero-rating-card {
    position: static;
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 18px 20px;
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
  }

  .si-home .si-home-hero-rating-header {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    align-items: center;
    justify-content: center;
  }

  .si-home .si-home-hero-rating-stars {
    gap: 4px;
  }

  .si-home .si-home-hero-rating-stars span {
    width: 28px;
    height: 28px;
    font-size: 15px;
  }

  .si-home .si-home-hero-rating-brand {
    gap: 6px;
  }

  .si-home .si-home-hero-rating-brand > span {
    font-size: 26px;
  }

  .si-home .si-home-hero-rating-brand strong {
    font-size: 18px;
  }

  .si-home .si-home-hero-rating-divider {
    display: none;
  }

  .si-home .si-home-hero-rating-details {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    justify-items: center;
    margin-top: 14px;
    text-align: center;
  }

  .si-home .si-home-hero-rating-card p strong,
  .si-home .si-home-hero-rating-card p span {
    display: inline;
  }

  .si-home .si-home-hero-rating-card p strong {
    font-size: 16px;
  }

  .si-home .si-home-hero-rating-card p span {
    margin-top: 0;
    font-size: 16px;
  }

  .si-home .si-home-hero-rating-card p strong::after {
    content: " · ";
    color: #475569;
    font-weight: 800;
  }

  .si-home .si-home-hero-rating-verified {
    min-height: 0;
    padding-left: 0;
    border-left: 0;
    color: #475569;
    font-size: 15px;
  }

}

@media (max-width: 380px) {
  .si-home .si-home-hero64-copy h1 {
    font-size: 38px;
  }

  .si-home .si-home-hero-main-image {
    height: 280px;
  }
}

/* ── Desktop hero: smooth header‑to‑hero transition, remove study‑plan card ── */
@media (min-width: 1024px) {
  .si-home .si-home-hero.si-home-hero64 {
    background:
      linear-gradient(
        180deg,
        rgba(60, 115, 244, 0.10) 0%,
        rgba(239, 246, 255, 0.48) 22%,
        rgba(255, 255, 255, 0.92) 64%
      ),
      radial-gradient(circle at 76% 38%, rgba(60, 115, 244, 0.11), transparent 34%),
      radial-gradient(circle at 18% 84%, rgba(34, 197, 94, 0.08), transparent 32%);
  }

  .si-home .si-home-hero64-shell {
    width: min(100% - 48px, 1180px);
    max-width: 1180px;
  }

  .si-home .si-home-study-plan-card {
    display: none;
  }

  .si-home .si-home-hero-main-image {
    top: 0;
    right: 0;
    left: auto;
    width: min(100%, 580px);
    height: 420px;
  }

  .si-home .si-home-hero-review-card {
    left: 0;
    top: 300px;
    right: auto;
    width: 310px;
  }

  .si-home .si-home-hero-rating-card {
    right: 0;
    bottom: 0;
    top: auto;
    left: auto;
    width: 400px;
  }
}

/* Symfony port compatibility: keep Next.js styling while using native details/summary controls. */
.desktop-nav-dropdown,
.locale-switcher,
.mobile-nav-state {
  display: inline-flex;
}

.desktop-nav-dropdown > summary,
.locale-switcher > summary,
.mobile-nav-state > summary {
  list-style: none;
}

.desktop-nav-dropdown > summary::-webkit-details-marker,
.locale-switcher > summary::-webkit-details-marker,
.mobile-nav-state > summary::-webkit-details-marker {
  display: none;
}

.desktop-nav .desktop-nav-dropdown > summary.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  opacity: 0.92;
  border-radius: 999px;
  padding: 10px 2px;
  font: inherit;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.desktop-nav .desktop-nav-dropdown > summary.nav-link:hover,
.desktop-nav .desktop-nav-dropdown > summary.nav-link:focus-visible,
.desktop-nav .desktop-nav-dropdown[open] > summary.nav-link {
  opacity: 1;
  transform: translateY(-1px);
}

.desktop-nav .desktop-nav-dropdown[open] > summary.nav-link::after {
  transform: rotate(225deg) translate(-1px, -2px);
}

.locale-switcher {
  position: relative;
}

.locale-switcher > summary.language-button {
  display: grid;
  place-items: center;
  padding: 0;
  font-size: 18px;
  line-height: 1;
}

.locale-switcher-options {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  display: grid;
  grid-template-columns: repeat(4, 40px);
  gap: 6px;
  padding: 8px;
  border: 1px solid rgba(218, 221, 229, 0.9);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 18px 48px rgba(17, 34, 75, 0.18);
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.locale-switcher[open] .locale-switcher-options {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.locale-switcher-options a {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  font-size: 19px;
  text-decoration: none;
}

.locale-switcher-options a:hover,
.locale-switcher-options a:focus-visible,
.locale-switcher-options a[aria-current="true"] {
  background: #eef5ff;
}

/* ── Language switcher with flags (desktop) ── */
.header-language-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.header-language-switcher > summary {
  list-style: none;
}

.header-language-switcher > summary::-webkit-details-marker {
  display: none;
}

.header-language-button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--ink);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: background 180ms ease;
}

.header-language-button:hover {
  background: rgba(60, 115, 244, 0.08);
}

.header-language-current-code {
  display: inline-flex;
  align-items: center;
  font-size: 22px;
  line-height: 1;
}

.header-language-chevron {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.header-language-dropdown {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 220px;
  padding: 10px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.header-language-switcher[open] .header-language-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.header-language-option {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 12px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  text-decoration: none;
  transition: background 180ms ease, color 180ms ease;
}

.header-language-option:hover {
  background: rgba(60, 115, 244, 0.08);
  color: var(--blue);
}

.header-language-option.is-active {
  background: rgba(60, 115, 244, 0.06);
  color: var(--blue);
  font-weight: 800;
}

.header-language-option.is-active::after {
  content: "✓";
  margin-left: auto;
  color: var(--blue);
  font-weight: 900;
}

.header-language-option__flag {
  width: 34px;
  display: inline-flex;
  justify-content: center;
  font-size: 30px;
  line-height: 1;
}

.header-language-option__label {
  white-space: nowrap;
}

/* ── Profile dropdown ── */
.header-profile-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.header-avatar-button {
  width: 38px;
  height: 38px;
  border: 0;
  padding: 0;
  border-radius: 999px;
  cursor: pointer;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 160ms ease, opacity 160ms ease;
}

.header-avatar-button:hover {
  transform: translateY(-1px);
  opacity: 0.92;
}

.header-avatar-button:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.42);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.8);
}

.header-avatar,
.header-avatar-fallback {
  width: 38px;
  height: 38px;
  border-radius: 999px;
}

.header-avatar {
  object-fit: cover;
  display: block;
  border: 2px solid rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.18);
}

.header-avatar-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
  color: var(--blue);
  background: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.75);
}

.si-home .site-header .header-avatar-fallback,
:root .site-header .header-avatar-fallback {
  color: var(--blue);
  background: #ffffff;
  border: 2px solid rgba(15, 23, 42, 0.10);
}

.header-profile-dropdown {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  width: 280px;
  padding: 12px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
  z-index: 1000;
}

.header-profile-dropdown__user {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 10px 14px;
  margin-bottom: 8px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.header-profile-dropdown__avatar,
.header-profile-dropdown__avatar-fallback {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  flex: 0 0 42px;
}

.header-profile-dropdown__avatar {
  object-fit: cover;
}

.header-profile-dropdown__avatar-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eff6ff;
  color: var(--blue);
  font-weight: 800;
}

.header-profile-dropdown__name {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.2;
}

.header-profile-dropdown__email {
  font-size: 13px;
  color: #64748b;
  line-height: 1.35;
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.header-profile-dropdown__items {
  display: grid;
  gap: 4px;
}

.header-profile-dropdown a {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 14px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  text-decoration: none;
  transition: background 180ms ease, color 180ms ease;
}

.header-profile-dropdown a:hover,
.header-profile-dropdown a:focus-visible {
  background: rgba(60, 115, 244, 0.08);
  color: var(--blue);
}

.header-profile-dropdown a:focus-visible {
  outline: 2px solid rgba(60, 115, 244, 0.42);
  outline-offset: 2px;
}

.header-profile-dropdown__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  stroke-width: 2;
}

.header-profile-dropdown__logout {
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  margin-top: 6px;
  padding-top: 10px;
  border-radius: 0 0 12px 12px;
}

.header-profile-dropdown__logout,
.header-profile-dropdown__logout:link,
.header-profile-dropdown__logout:visited {
  color: #ef4444 !important;
}

.header-profile-dropdown__logout:hover {
  background: rgba(239, 68, 68, 0.08) !important;
  color: #dc2626 !important;
}

/* ── Logged‑in header: hide old language button, show new one ── */
.nav-tools .locale-switcher .language-button {
  display: none;
}

/* ── Hide old locale‑switcher when header‑language-switcher is present ── */
.nav-tools > .locale-switcher:not(.header-language-switcher) {
  display: none;
}

.mobile-nav-state {
  position: relative;
}

.mobile-nav-state > summary.menu-button {
  flex: 0 0 auto;
}

.mobile-nav-state[open] > summary.menu-button span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.mobile-nav-state[open] > summary.menu-button span:nth-child(2) {
  opacity: 0;
}

.mobile-nav-state[open] > summary.menu-button span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.mobile-nav-state > summary.menu-button span {
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.si-home-search-tabs a {
  text-decoration: none;
}

@media (max-width: 991px) {
  .mobile-nav-state {
    position: static;
  }

  .mobile-nav-state .mobile-drawer {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
  }
}

.apply-page,
.admin-login-page {
  background: #f7f9fc;
}

.apply-hero {
  padding: 72px 0 42px;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

.apply-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 32px;
  align-items: end;
}

.apply-hero h1 {
  max-width: 760px;
  margin: 0 0 18px;
  color: #0f172a;
  font-size: 48px;
  line-height: 1.04;
}

.apply-hero p {
  max-width: 680px;
  margin: 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.7;
}

.apply-hero-panel {
  display: grid;
  gap: 10px;
  padding: 24px;
  border: 1px solid #dbe5f5;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.apply-hero-panel strong {
  color: #0f172a;
  font-size: 20px;
}

.apply-hero-panel span {
  color: #64748b;
  line-height: 1.6;
}

.apply-form-section {
  padding: 38px 0 88px;
}

.apply-form,
.admin-login-card {
  border: 1px solid #dbe5f5;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.apply-form {
  display: grid;
  gap: 28px;
  padding: 32px;
}

.apply-form-heading h2 {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 30px;
}

.apply-form-heading p:last-child,
.apply-actions p,
.muted {
  color: #64748b;
}

.apply-fieldset {
  display: grid;
  gap: 18px;
  min-width: 0;
  margin: 0;
  padding: 24px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

.apply-fieldset legend {
  padding: 0 8px;
  color: #0f172a;
  font-size: 18px;
  font-weight: 800;
}

.apply-grid {
  display: grid;
  gap: 18px;
}

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

.apply-grid.one {
  grid-template-columns: minmax(0, 1fr);
}

.apply-form label,
.admin-login-form label {
  display: grid;
  gap: 8px;
  color: #334155;
  font-weight: 700;
}

.apply-form input,
.apply-form select,
.apply-form textarea,
.admin-login-form input {
  width: 100%;
  min-height: 46px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 12px;
  color: #0f172a;
  background: #ffffff;
  font: inherit;
}

.apply-form textarea {
  min-height: 110px;
  resize: vertical;
}

.apply-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.apply-checkbox-grid label,
.apply-consent label,
.apply-grid .checkbox label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 650;
}

.apply-checkbox-grid input[type="checkbox"],
.apply-consent input[type="checkbox"],
.apply-grid input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  margin-top: 2px;
}

.apply-consent {
  display: grid;
  gap: 12px;
}

.apply-success,
.form-error {
  margin-bottom: 20px;
  border-radius: 8px;
  padding: 18px 20px;
}

.apply-success {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.apply-success h2 {
  margin: 0 0 6px;
  font-size: 20px;
}

.form-error {
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.hp-field {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.apply-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

.admin-login-page {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 32px 16px;
}

.admin-login-card {
  width: min(100%, 440px);
  padding: 32px;
}

.admin-login-card h1 {
  margin: 0 0 10px;
  color: #0f172a;
}

.admin-login-form {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}

@media (max-width: 760px) {
  .apply-hero {
    padding: 46px 0 28px;
  }

  .apply-hero-grid,
  .apply-grid.two,
  .apply-checkbox-grid {
    grid-template-columns: 1fr;
  }

  .apply-hero h1 {
    font-size: 34px;
  }

  .apply-form {
    padding: 20px;
  }

  .apply-fieldset {
    padding: 18px;
  }
}

.student-auth,
.student-shell {
  padding-block: clamp(2rem, 5vw, 4rem);
}

.student-auth-card,
.student-panel {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.student-auth-card {
  max-width: 760px;
  margin-inline: auto;
}

.student-auth-link,
.student-note {
  color: #64748b;
  font-size: 0.95rem;
}

.student-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

.student-nav a {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  color: #0f172a;
  font-weight: 700;
  padding: 0.55rem 0.85rem;
  text-decoration: none;
}

.student-dashboard-hero {
  align-items: center;
  background: linear-gradient(135deg, #eef7ff, #f7fbf6);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.student-dashboard-hero h1,
.student-panel h1,
.student-panel h2 {
  letter-spacing: 0;
}

.student-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.student-panel-wide {
  grid-column: 1 / -1;
}

.student-facts {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

.student-facts div {
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  display: grid;
  gap: 0.25rem;
  padding-bottom: 0.75rem;
}

.student-facts dt {
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
}

.student-facts dd {
  margin: 0;
}

.student-progress {
  background: rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  height: 0.75rem;
  overflow: hidden;
}

.student-progress span {
  background: #2563eb;
  display: block;
  height: 100%;
}

.student-timeline,
.student-list {
  display: grid;
  gap: 0.7rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.student-timeline li,
.student-list li {
  background: rgba(15, 23, 42, 0.035);
  border-radius: 8px;
  display: grid;
  gap: 0.25rem;
  padding: 0.85rem;
}

.student-list small {
  color: #64748b;
}

.student-message-thread {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.student-message {
  border-radius: 8px;
  padding: 0.9rem;
}

.student-message.student {
  background: #eef7ff;
}

.student-message.admin {
  background: #f7fbf6;
}

.student-message p {
  margin: 0.4rem 0;
}

.student-message span {
  color: #64748b;
  font-size: 0.82rem;
}

.student-form {
  display: grid;
  gap: 1rem;
}

.student-form label,
.student-form .form-row {
  display: grid;
  gap: 0.35rem;
}

.student-form input,
.student-form select,
.student-form textarea {
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 8px;
  font: inherit;
  padding: 0.75rem 0.85rem;
  width: 100%;
}

@media (max-width: 760px) {
  .student-dashboard-hero,
  .student-grid {
    grid-template-columns: 1fr;
  }

  .student-dashboard-hero {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Student dashboard portal */
.student-app-main {
  min-height: 100vh;
  background: #f4f7fb;
}

.student-dashboard-shell {
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
  min-height: 100vh;
  color: #102039;
}

.student-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 286px;
  height: 100vh;
  border-right: 1px solid #dce5f2;
  background: #0f2140;
  color: #ffffff;
  padding: 24px 20px;
}

.student-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.student-sidebar-mark {
  display: grid;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  background: #f2b84b;
  color: #0f2140;
  font-weight: 900;
}

.student-sidebar-brand strong,
.student-sidebar-brand span {
  display: block;
}

.student-sidebar-brand strong {
  font-size: 18px;
  line-height: 1.1;
}

.student-sidebar-brand span,
.student-sidebar-footer p {
  color: rgba(255, 255, 255, 0.68);
  font-size: 13px;
}

.student-sidebar-nav {
  display: grid;
  gap: 6px;
}

.student-sidebar-nav a,
.student-sidebar-footer a {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 44px;
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.82);
  font-weight: 750;
  padding: 10px 12px;
  transition: background 0.18s ease, color 0.18s ease;
}

.student-sidebar-nav a span,
.student-mobile-nav a span {
  display: grid;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  place-items: center;
  font-size: 15px;
  line-height: 1;
}

.student-sidebar-nav a:hover,
.student-sidebar-nav a:focus-visible,
.student-sidebar-nav a.is-active,
.student-sidebar-footer a:hover,
.student-sidebar-footer a:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.student-sidebar-nav a.is-active {
  box-shadow: inset 3px 0 0 #f2b84b;
}

.student-sidebar-footer {
  display: grid;
  gap: 12px;
  margin-top: auto;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  padding-top: 18px;
}

.student-sidebar-footer p {
  margin: 0;
  line-height: 1.55;
}

.student-dashboard-workspace {
  min-width: 0;
}

.student-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 78px;
  border-bottom: 1px solid #dce5f2;
  background: rgba(244, 247, 251, 0.92);
  padding: 16px clamp(18px, 3vw, 34px);
  backdrop-filter: blur(16px);
}

.student-topbar p,
.student-topbar strong {
  display: block;
  margin: 0;
}

.student-topbar p {
  color: #65758b;
  font-size: 13px;
  font-weight: 750;
  text-transform: uppercase;
}

.student-topbar strong {
  color: #102039;
  font-size: 17px;
}

.student-topbar-actions,
.student-language-switcher {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.student-language-switcher {
  position: relative;
}

.student-language-switcher > summary {
  list-style: none;
}

.student-language-switcher > summary::-webkit-details-marker {
  display: none;
}

.student-language-switcher-button,
.student-topbar-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid #d5dfed;
  border-radius: 999px;
  background: #ffffff;
  color: #102039;
  font-weight: 800;
  padding: 8px 12px;
}

.student-language-switcher-button {
  gap: 10px;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.student-language-switcher-flag,
.student-language-switcher-option-flag {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid #dbe3ee;
  background: #f8fbff;
  font-size: 16px;
  line-height: 1;
}

.student-language-switcher-copy {
  display: grid;
  gap: 1px;
  line-height: 1.05;
}

.student-language-switcher-copy small {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.student-language-switcher-copy strong {
  color: #102039;
  font-size: 14px;
  font-weight: 900;
}

.student-language-switcher-caret {
  color: #64748b;
  font-size: 13px;
  transition: transform 0.16s ease;
}

.student-language-switcher[open] .student-language-switcher-caret {
  transform: rotate(180deg);
}

.student-language-switcher-options {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 15;
  display: grid;
  gap: 6px;
  min-width: 220px;
  border: 1px solid #dbe3ee;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 20px 46px rgba(15, 23, 42, 0.12);
  padding: 8px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.student-language-switcher[open] .student-language-switcher-options {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.student-language-switcher-options a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #102039;
  font-weight: 800;
  padding: 10px 12px;
}

.student-language-switcher-options a strong {
  display: block;
  font-size: 14px;
  font-weight: 900;
}

.student-language-switcher-options a small {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.student-language-switcher-options a:hover,
.student-language-switcher-options a:focus-visible,
.student-language-switcher-options a[aria-current="true"],
.student-topbar-link:hover,
.student-topbar-link:focus-visible {
  border-color: #f2b84b;
  box-shadow: 0 8px 22px rgba(242, 184, 75, 0.22);
}

.student-dashboard-content {
  display: grid;
  gap: 22px;
  width: min(100%, 1360px);
  margin-inline: auto;
  padding: clamp(18px, 3vw, 34px);
  padding-bottom: 96px;
}

.student-alert {
  border-radius: 16px;
  padding: 14px 16px;
  font-weight: 750;
}

.student-alert-success {
  border: 1px solid #b7f0c2;
  background: #effdf3;
  color: #136c33;
}

.student-alert-error {
  border: 1px solid #fecaca;
  background: #fff1f2;
  color: #991b1b;
}

.student-welcome,
.student-page-header,
.student-empty-state,
.student-card,
.student-next-action {
  border: 1px solid #dce5f2;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 20px 55px rgba(22, 34, 59, 0.07);
}

.student-welcome,
.student-page-header,
.student-empty-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: clamp(20px, 3vw, 30px);
}

.student-welcome {
  background:
    linear-gradient(135deg, rgba(242, 184, 75, 0.2), rgba(60, 115, 244, 0.08)),
    #ffffff;
}

.student-welcome p,
.student-page-header p,
.student-empty-state p,
.student-section-heading p,
.student-next-action-copy p {
  margin: 0 0 7px;
  color: #c4821b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.student-welcome h1,
.student-page-header h1,
.student-empty-state h2,
.student-next-action h2,
.student-card h2 {
  margin: 0;
  color: #102039;
  letter-spacing: 0;
}

.student-welcome h1,
.student-page-header h1 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.06;
}

.student-welcome span,
.student-page-header span,
.student-empty-state span,
.student-card p,
.student-next-action-copy span,
.student-section-heading span,
.student-safety-note {
  color: #64748b;
  line-height: 1.65;
}

.student-welcome-meta {
  display: grid;
  gap: 6px;
  min-width: min(100%, 260px);
  border: 1px solid #d6dfed;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.74);
  padding: 16px;
}

.student-welcome-meta strong {
  color: #102039;
  font-size: 17px;
}

.student-welcome-meta span {
  font-size: 14px;
}

.student-empty-actions,
.student-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.student-dashboard-grid {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.student-dashboard-grid-main {
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
}

.student-dashboard-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.student-dashboard-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.student-card {
  min-width: 0;
  padding: clamp(18px, 2.4vw, 24px);
}

.student-card-wide {
  grid-column: 1 / -1;
}

.student-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.student-section-heading h2 {
  font-size: 22px;
}

.student-section-heading a,
.student-card-link,
.student-kpi-card a,
.student-preview-actions a {
  color: #205bd7;
  font-weight: 850;
}

.student-next-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  overflow: hidden;
  padding: clamp(20px, 3vw, 28px);
  position: relative;
}

.student-next-action::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: #3c73f4;
}

.student-next-action-warning::before {
  background: #f2b84b;
}

.student-next-action-success::before {
  background: #21a35b;
}

.student-next-action-neutral::before {
  background: #94a3b8;
}

.student-next-action-copy {
  min-width: 0;
  padding-left: 8px;
}

.student-next-action-copy h2 {
  margin-bottom: 8px;
  font-size: clamp(24px, 3vw, 34px);
}

.student-next-action-copy small {
  display: block;
  margin-top: 10px;
  color: #7c4f11;
  font-weight: 800;
}

.student-next-action-meta {
  display: grid;
  gap: 12px;
  justify-items: end;
}

.student-detail-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.student-detail-list-compact {
  grid-template-columns: 1fr;
}

.student-detail-list div {
  min-width: 0;
  border: 1px solid #e3eaf4;
  border-radius: 16px;
  background: #f8fafc;
  padding: 12px;
}

.student-detail-list dt {
  margin-bottom: 4px;
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.student-detail-list dd {
  margin: 0;
  color: #102039;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.student-progress-block {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.student-progress-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #102039;
  font-weight: 850;
}

.student-progress {
  height: 12px;
  border-radius: 999px;
  background: #e4ebf5;
  overflow: hidden;
}

.student-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3c73f4, #f2b84b);
}

.student-progress-block p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
}

.student-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.student-kpi-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  border: 1px solid #dce5f2;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 14px 36px rgba(22, 34, 59, 0.06);
  padding: 16px;
}

.student-kpi-card span {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.student-kpi-card strong {
  color: #102039;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.student-kpi-card p {
  min-height: 44px;
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.55;
}

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

.student-roadmap li {
  position: relative;
  display: grid;
  gap: 10px;
  min-width: 0;
  border: 1px solid #e3eaf4;
  border-radius: 18px;
  background: #f8fafc;
  padding: 14px;
}

.student-roadmap-dot {
  width: 18px;
  height: 18px;
  border: 3px solid #cbd5e1;
  border-radius: 999px;
  background: #ffffff;
}

.student-roadmap li.is-completed .student-roadmap-dot {
  border-color: #21a35b;
  background: #21a35b;
}

.student-roadmap li.is-current .student-roadmap-dot,
.student-roadmap li.is-waiting_student .student-roadmap-dot,
.student-roadmap li.is-waiting_spainadmit .student-roadmap-dot {
  border-color: #f2b84b;
  background: #fff7df;
}

.student-roadmap strong {
  display: block;
  min-height: 42px;
  color: #102039;
  line-height: 1.25;
}

.student-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 28px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
  padding: 5px 10px;
  text-transform: none;
}

.student-badge-blue {
  border-color: #b9d0ff;
  background: #eef4ff;
  color: #205bd7;
}

.student-badge-amber,
.student-badge-orange {
  border-color: #f7d990;
  background: #fff7df;
  color: #8a560f;
}

.student-badge-green {
  border-color: #b7f0c2;
  background: #effdf3;
  color: #136c33;
}

.student-badge-purple {
  border-color: #dac8ff;
  background: #f5f0ff;
  color: #6537b8;
}

.student-badge-red {
  border-color: #fecaca;
  background: #fff1f2;
  color: #b91c1c;
}

.student-badge-gray {
  border-color: #dbe2ea;
  background: #f8fafc;
  color: #475569;
}

.student-preview-list,
.student-message-preview,
.student-check-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.student-preview-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  border: 1px solid #e3eaf4;
  border-radius: 16px;
  background: #f8fafc;
  padding: 13px;
}

.student-preview-row > div:first-child {
  min-width: 0;
}

.student-preview-row strong,
.student-preview-row span,
.student-preview-row small {
  display: block;
}

.student-preview-row strong {
  color: #102039;
  overflow-wrap: anywhere;
}

.student-preview-row span,
.student-preview-row small {
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
}

.student-preview-actions {
  display: grid;
  flex: 0 0 auto;
  gap: 8px;
  justify-items: end;
}

.student-message-card {
  display: grid;
  gap: 8px;
  border: 1px solid #e3eaf4;
  border-radius: 16px;
  padding: 13px;
}

.student-message-card.admin {
  background: #f4f8ff;
}

.student-message-card.student {
  background: #fffaf0;
}

.student-message-card div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.student-message-card strong {
  color: #102039;
}

.student-message-card span,
.student-message-card small {
  color: #64748b;
  font-size: 13px;
}

.student-message-card p {
  margin: 0;
  color: #334155;
  overflow-wrap: anywhere;
}

.student-payment-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.student-payment-summary div {
  border: 1px solid #e3eaf4;
  border-radius: 16px;
  background: #f8fafc;
  padding: 12px;
}

.student-payment-summary span,
.student-payment-summary strong {
  display: block;
}

.student-payment-summary span {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.student-payment-summary strong {
  margin-top: 4px;
  color: #102039;
  overflow-wrap: anywhere;
}

.student-soft-empty {
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  background: #fbfdff;
  color: #64748b;
  padding: 16px;
}

.student-soft-empty p {
  margin-top: 0;
}

.student-check-list {
  list-style: none;
}

.student-check-list li {
  position: relative;
  color: #334155;
  padding-left: 28px;
}

.student-check-list li::before {
  content: "";
  position: absolute;
  top: 0.55em;
  left: 2px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #f2b84b;
  box-shadow: 0 0 0 4px rgba(242, 184, 75, 0.18);
}

.student-inline-form,
.student-form {
  display: grid;
  gap: 16px;
}

.student-inline-form {
  margin-top: 18px;
  border-top: 1px solid #e3eaf4;
  padding-top: 18px;
}

.student-inline-form-grid,
.student-form-grid.two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.student-form-card {
  width: min(100%, 960px);
}

.student-form label,
.student-form .form-row,
.student-inline-form label,
.student-inline-form .form-row {
  display: grid;
  gap: 7px;
  color: #334155;
  font-weight: 750;
}

.student-form input,
.student-form select,
.student-form textarea,
.student-inline-form input,
.student-inline-form select,
.student-inline-form textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #ffffff;
  color: #102039;
  font: inherit;
  padding: 10px 12px;
}

.student-form textarea,
.student-inline-form textarea {
  min-height: 116px;
  resize: vertical;
}

.student-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.student-checkbox-grid label,
.student-form .checkbox label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.student-checkbox-grid input[type="checkbox"],
.student-form input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  margin-top: 3px;
}

.student-mobile-nav {
  display: none;
}

@media (max-width: 1280px) {
  .student-dashboard-shell {
    grid-template-columns: 246px minmax(0, 1fr);
  }

  .student-sidebar {
    width: 246px;
    padding-inline: 16px;
  }

  .student-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .student-roadmap {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .student-dashboard-shell {
    display: block;
  }

  .student-sidebar {
    display: none;
  }

  .student-topbar {
    min-height: auto;
  }

  .student-dashboard-grid-main,
  .student-dashboard-grid-two,
  .student-dashboard-grid-three {
    grid-template-columns: 1fr;
  }

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

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

  .student-mobile-nav {
    position: fixed;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 40;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    border: 1px solid #dce5f2;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 40px rgba(22, 34, 59, 0.16);
    padding: 8px;
    backdrop-filter: blur(14px);
  }

  .student-mobile-nav a {
    display: grid;
    gap: 2px;
    place-items: center;
    min-height: 48px;
    border-radius: 14px;
    color: #102039;
    font-size: 11px;
    font-weight: 850;
    text-align: center;
  }

  .student-mobile-nav a:focus-visible,
  .student-mobile-nav a:hover {
    background: #eef4ff;
  }
}

@media (max-width: 640px) {
  .student-topbar,
  .student-welcome,
  .student-page-header,
  .student-empty-state,
  .student-next-action,
  .student-section-heading,
  .student-preview-row {
    align-items: stretch;
    flex-direction: column;
  }

  .student-topbar-actions {
    justify-content: flex-start;
  }

  .student-dashboard-content {
    gap: 16px;
    padding: 14px;
    padding-bottom: 102px;
  }

  .student-welcome,
  .student-page-header,
  .student-empty-state,
  .student-card,
  .student-next-action {
    border-radius: 18px;
  }

  .student-detail-list,
  .student-kpi-grid,
  .student-roadmap,
  .student-payment-summary,
  .student-inline-form-grid,
  .student-form-grid.two,
  .student-checkbox-grid {
    grid-template-columns: 1fr;
  }

  .student-next-action-meta,
  .student-preview-actions {
    justify-items: start;
  }

  .student-message-card div {
    display: grid;
  }

  .student-mobile-nav {
    right: 8px;
    bottom: 8px;
    left: 8px;
  }
}

/* Student dashboard visual refresh */
.public-save-form {
  display: inline-flex;
  margin: 0;
}

.public-save-button {
  gap: 8px;
}

.public-save-button span {
  white-space: nowrap;
}

.study-program-save.public-save-button,
.explore-university-save.public-save-button {
  width: auto;
  min-width: 46px;
  padding-inline: 14px;
}

.study-program-save.public-save-button span,
.explore-university-save.public-save-button span {
  position: static;
  width: auto;
  height: auto;
  clip: auto;
  overflow: visible;
}

.public-service-save-panel {
  background: #f7f9fc;
  padding: 28px 0;
}

.public-service-save-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
  padding: 20px;
}

.public-service-save-inner strong {
  display: block;
  color: #071a44;
  font-size: 18px;
}

.public-service-save-inner p {
  margin: 4px 0 0;
  color: #475569;
}

@media (max-width: 640px) {
  .public-service-save-inner {
    align-items: stretch;
    flex-direction: column;
  }

  .public-service-save-inner .public-save-form,
  .public-service-save-inner .button {
    width: 100%;
  }
}

.student-app-main .button-primary {
  min-height: 46px;
  border-radius: 12px;
  background: #071e57;
  color: #ffffff;
  font-weight: 850;
}

.student-app-main .button-secondary {
  min-height: 46px;
  border: 1px solid #d8e1ee;
  border-radius: 12px;
  background: #ffffff;
  color: #071e57;
  font-weight: 850;
}

.student-dashboard-shell {
  grid-template-columns: 260px minmax(0, 1fr);
  background: #f7f9fc;
}

.student-sidebar {
  width: 260px;
  border-right: 1px solid #e5e7eb;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 10px 0 34px rgba(15, 23, 42, 0.04);
}

.student-sidebar-brand strong {
  color: #071e57;
  font-size: 22px;
}

.student-sidebar-brand span,
.student-sidebar-footer p {
  color: #64748b;
}

.student-sidebar-mark {
  border: 2px solid #d7e3f4;
  background: #fff7e6;
  color: #f59e0b;
}

.student-sidebar-nav a,
.student-sidebar-footer a {
  position: relative;
  color: #334155;
  font-weight: 800;
}

.student-sidebar-nav a:hover,
.student-sidebar-nav a:focus-visible,
.student-sidebar-nav a.is-active {
  background: #071e57;
  color: #ffffff;
}

.student-sidebar-nav a.is-active {
  box-shadow: 0 12px 24px rgba(7, 30, 87, 0.22);
}

.student-sidebar-nav a em,
.student-mobile-nav a em {
  margin-left: auto;
  min-width: 24px;
  border-radius: 999px;
  background: #eef2f7;
  color: #071e57;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  padding: 5px 7px;
  text-align: center;
}

.student-sidebar-nav a.is-active em,
.student-sidebar-nav a:hover em,
.student-sidebar-nav a:focus-visible em {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.student-sidebar-footer {
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(238, 244, 255, 0.72), rgba(255, 255, 255, 0.96)),
    #ffffff;
  padding: 16px;
}

.student-sidebar-footer strong {
  color: #071e57;
  font-size: 15px;
}

.student-sidebar-footer .student-sidebar-contact {
  justify-content: center;
  border: 1px solid #d8e1ee;
  background: #ffffff;
  color: #0b63f6;
}

.student-topbar {
  min-height: 74px;
  border-bottom: 1px solid #e5e7eb;
  background: rgba(255, 255, 255, 0.92);
}

.student-notification-link,
.student-avatar-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  border-radius: 999px;
  color: #071e57;
}

.student-notification-link {
  position: relative;
  justify-content: center;
  width: 42px;
  border: 1px solid #d8e1ee;
  background: #ffffff;
  font-weight: 900;
}

.student-notification-link em {
  position: absolute;
  top: -6px;
  right: -4px;
  min-width: 18px;
  border-radius: 999px;
  background: #071e57;
  color: #ffffff;
  font-size: 11px;
  font-style: normal;
  line-height: 18px;
  text-align: center;
}

.student-avatar-link {
  gap: 10px;
  padding: 4px 8px 4px 4px;
}

.student-avatar {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #071e57, #0b63f6);
  color: #ffffff;
  font-weight: 900;
}

.student-avatar-copy {
  display: grid;
  gap: 1px;
}

.student-avatar-copy strong {
  font-size: 14px;
}

.student-avatar-copy small {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.student-dashboard-content {
  max-width: 1280px;
  gap: 24px;
  padding: 32px;
}

.student-welcome {
  min-height: 170px;
  align-items: flex-start;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.82) 55%, rgba(247, 249, 252, 0.74)),
    url("/assets/auth/login-alhambra.jpg");
  background-position: right center;
  background-repeat: no-repeat;
  background-size: auto 210px;
}

.student-welcome h1 {
  color: #071e57;
  font-size: clamp(30px, 3vw, 40px);
}

.student-welcome span {
  color: #334155;
  font-size: 16px;
}

.student-mini-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.student-mini-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
  padding: 16px;
}

.student-mini-card > span {
  display: grid;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
  border: 1px solid #fde7bb;
  background: #fff7e6;
  color: #f59e0b;
}

.student-mini-card small,
.student-status-row span,
.student-overview-list dt {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
}

.student-mini-card strong {
  display: block;
  color: #071e57;
  overflow-wrap: anywhere;
}

.student-dashboard-grid-main {
  grid-template-columns: minmax(0, 1fr);
}

.student-status-card {
  padding: 28px;
}

.student-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.student-status-row strong {
  display: block;
  color: #071e57;
  font-size: 17px;
}

.student-status-percent {
  color: #071e57;
  font-size: 24px;
}

.student-status-facts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 24px 0 0;
  padding-top: 18px;
  border-top: 1px solid #e5e7eb;
}

.student-status-facts div {
  min-width: 0;
  border-right: 1px solid #e5e7eb;
  padding: 0 16px;
}

.student-status-facts div:first-child {
  padding-left: 0;
}

.student-status-facts div:last-child {
  border-right: 0;
  padding-right: 0;
}

.student-status-facts dt {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
}

.student-status-facts dd {
  margin: 4px 0 0;
  color: #071e57;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.student-progress {
  height: 10px;
  background: #eef2f7;
}

.student-progress span {
  background: #071e57;
}

.student-next-action {
  border-radius: 22px;
}

.student-next-action::before {
  width: 0;
}

.student-next-action-primary,
.student-next-action-warning {
  background:
    linear-gradient(135deg, rgba(238, 244, 255, 0.9), rgba(255, 255, 255, 1)),
    #ffffff;
}

.student-next-action-copy h2 {
  color: #071e57;
}

.student-overview-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.student-overview-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 0;
}

.student-overview-list div:last-child {
  border-bottom: 0;
}

.student-overview-list dd {
  margin: 0;
  color: #071e57;
  font-size: 18px;
  font-weight: 900;
}

.student-kpi-grid-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.student-kpi-card {
  border-color: #e5e7eb;
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.student-roadmap {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.student-roadmap li {
  background: #ffffff;
}

.student-roadmap strong {
  min-height: 48px;
  font-size: 13px;
}

.student-mobile-nav {
  border-radius: 24px;
}

@media (max-width: 1280px) {
  .student-dashboard-shell {
    grid-template-columns: 250px minmax(0, 1fr);
  }

  .student-sidebar {
    width: 250px;
  }

  .student-status-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .student-status-facts div {
    border-right: 0;
    border-bottom: 1px solid #e5e7eb;
    padding: 0 0 12px;
  }

  .student-roadmap {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .student-mini-card-grid,
  .student-kpi-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .student-dashboard-content {
    padding: 16px;
    padding-bottom: 108px;
  }

  .student-topbar {
    gap: 12px;
  }

  .student-language-switcher-button {
    min-height: 42px;
    padding: 0 10px;
  }

  .student-language-switcher-copy {
    display: none;
  }

  .student-topbar-link,
  .student-avatar-copy {
    display: none;
  }

  .student-welcome {
    min-height: 190px;
    background-position: right bottom;
    background-size: auto 130px;
  }

  .student-mini-card-grid,
  .student-kpi-grid-compact {
    grid-template-columns: 1fr;
  }

  .student-status-card {
    padding: 18px;
  }

  .student-status-facts {
    grid-template-columns: 1fr;
  }

  .student-roadmap {
    grid-template-columns: 1fr;
  }

  .student-mobile-nav a {
    position: relative;
  }

  .student-mobile-nav a em {
    position: absolute;
    top: 4px;
    right: 10px;
    min-width: 18px;
    padding: 4px 5px;
    background: #071e57;
    color: #ffffff;
    font-size: 10px;
  }
}

/* Student dashboard mobile nav overlap guard */
@media (max-width: 980px) {
  .student-mobile-nav {
    position: static;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 16px 18px;
  }
}

@media (max-width: 640px) {
  .student-dashboard-content {
    padding-bottom: 16px;
  }

  .student-mobile-nav {
    margin: 0 8px 14px;
  }
}

/* Student study preferences page */
.student-route-app-student-saved-choices .student-sidebar-nav a.is-active,
.student-route-app-student-saved-choice-note .student-sidebar-nav a.is-active,
.student-route-app-student-saved-choice-favorite .student-sidebar-nav a.is-active,
.student-route-app-student-saved-choice-remove .student-sidebar-nav a.is-active {
  border: 1px solid #bcd5ff;
  background: #eaf2ff;
  color: #0b63f6;
  box-shadow: inset 4px 0 0 #0b63f6, 0 12px 24px rgba(11, 99, 246, 0.1);
}

.student-saved-choices-page {
  --saved-blue: #0b63f6;
  --saved-navy: #071a44;
  --saved-green: #22c55e;
  --saved-border: #e5e7eb;
  --saved-muted: #64748b;
  display: grid;
  gap: 24px;
  min-width: 0;
}

.student-saved-header,
.student-saved-layout,
.student-saved-main,
.student-saved-list,
.student-saved-aside {
  min-width: 0;
}

.student-saved-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.student-saved-header h1 {
  margin: 0;
  color: var(--saved-navy);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.12;
}

.student-saved-header p {
  max-width: 720px;
  margin: 8px 0 0;
  color: #334155;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.55;
}

.student-saved-header span {
  display: block;
  margin-top: 4px;
  color: var(--saved-muted);
  font-size: 14px;
  line-height: 1.55;
}

.student-saved-header-actions,
.student-saved-toolbar,
.student-saved-actions,
.student-saved-empty div {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.student-saved-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  gap: 32px;
  align-items: start;
}

.student-saved-main,
.student-saved-list,
.student-saved-aside {
  display: grid;
  gap: 18px;
}

.student-saved-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.student-saved-summary-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 8px 14px;
  min-width: 0;
  border: 1px solid var(--saved-border);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
  padding: 18px;
}

.student-saved-summary-card span {
  display: grid;
  grid-row: span 2;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 16px;
  font-size: 24px;
  font-weight: 900;
}

.student-saved-summary-card strong {
  color: var(--saved-navy);
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
}

.student-saved-summary-card small {
  color: var(--saved-navy);
  font-size: 13px;
  font-weight: 850;
}

.student-saved-summary-card.is-program span {
  background: #eaf2ff;
  color: var(--saved-blue);
}

.student-saved-summary-card.is-university span {
  background: #dcfce7;
  color: #15803d;
}

.student-saved-summary-card.is-city span {
  background: #f3e8ff;
  color: #7e22ce;
}

.student-saved-summary-card.is-service_package span {
  background: #ffedd5;
  color: #f97316;
}

.student-saved-toolbar {
  justify-content: space-between;
}

.student-saved-tabs {
  display: flex;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  padding-bottom: 2px;
}

.student-saved-tabs a,
.student-saved-controls {
  min-height: 42px;
  border: 1px solid var(--saved-border);
  border-radius: 12px;
  background: #ffffff;
  color: var(--saved-navy);
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.student-saved-tabs a {
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
}

.student-saved-tabs a.is-active {
  border-color: var(--saved-blue);
  color: var(--saved-blue);
  box-shadow: inset 0 0 0 1px var(--saved-blue);
}

.student-saved-controls {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
}

.student-saved-card,
.student-saved-empty,
.student-saved-helper {
  border: 1px solid var(--saved-border);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

.student-saved-card {
  display: grid;
  grid-template-columns: 148px minmax(220px, 1fr) minmax(220px, 260px) auto;
  gap: 20px;
  align-items: center;
  min-width: 0;
  padding: 18px;
}

.student-saved-card-media {
  display: grid;
  width: 148px;
  height: 122px;
  place-items: center;
  overflow: hidden;
  border-radius: 14px;
  background: #f1f5f9;
}

.student-saved-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.student-saved-card-media span {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  border-radius: 18px;
  background: #ffffff;
  color: var(--saved-blue);
  font-size: 28px;
  font-weight: 900;
}

.student-saved-type {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  align-items: center;
  border-radius: 8px;
  background: #eaf2ff;
  color: var(--saved-blue);
  font-size: 12px;
  font-weight: 900;
  padding: 4px 8px;
}

.student-saved-card.is-university .student-saved-type,
.student-saved-card.is-university .student-saved-card-media span {
  background: #dcfce7;
  color: #15803d;
}

.student-saved-card.is-city .student-saved-type,
.student-saved-card.is-city .student-saved-card-media span {
  background: #f3e8ff;
  color: #7e22ce;
}

.student-saved-card.is-service_package .student-saved-type,
.student-saved-card.is-service_package .student-saved-card-media span {
  background: #ffedd5;
  color: #f97316;
}

.student-saved-card h2 {
  margin: 8px 0 4px;
  color: var(--saved-navy);
  font-size: 18px;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.student-saved-card-copy p,
.student-saved-card-copy small {
  display: block;
  margin: 0;
  color: #475569;
  font-size: 14px;
  line-height: 1.45;
}

.student-saved-card-copy small {
  margin-top: 10px;
  color: var(--saved-muted);
}

.student-saved-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.student-saved-meta li {
  color: #475569;
  font-size: 13px;
}

.student-saved-meta li:not(:last-child)::after {
  content: "·";
  margin-left: 10px;
  color: #94a3b8;
}

.student-saved-note {
  display: grid;
  gap: 8px;
  min-width: 0;
  border-radius: 14px;
  background: #f8fbff;
  padding: 14px;
}

.student-saved-note label {
  color: var(--saved-navy);
  font-size: 12px;
  font-weight: 900;
}

.student-saved-note textarea {
  width: 100%;
  min-height: 78px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #0f172a;
  font: inherit;
  font-size: 14px;
  line-height: 1.45;
  outline: 1px solid transparent;
  resize: vertical;
}

.student-saved-note textarea:focus {
  outline-color: #bcd5ff;
  background: #ffffff;
}

.student-saved-note button,
.student-saved-actions button,
.student-saved-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  border: 0;
  background: transparent;
  color: var(--saved-blue);
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.student-saved-actions {
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

.student-saved-actions form {
  margin: 0;
}

.student-saved-actions button,
.student-saved-actions a {
  width: 100%;
}

.student-saved-actions .is-favorite {
  color: #f59e0b;
}

.student-saved-actions .is-remove {
  color: #ef4444;
}

.student-saved-empty {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 42px 24px;
  text-align: center;
}

.student-saved-empty > span {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  border-radius: 20px;
  background: #eaf2ff;
  color: var(--saved-blue);
  font-size: 30px;
}

.student-saved-empty h2,
.student-saved-helper h2 {
  margin: 0;
  color: var(--saved-navy);
  font-size: 20px;
  font-weight: 950;
}

.student-saved-empty p,
.student-saved-helper p,
.student-saved-helper li {
  margin: 0;
  color: #334155;
  font-size: 14px;
  line-height: 1.65;
}

.student-saved-helper {
  display: grid;
  gap: 14px;
  padding: 20px;
}

.student-saved-helper > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 14px;
  background: #eaf2ff;
  color: var(--saved-blue);
  font-size: 22px;
}

.student-saved-helper ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.student-saved-helper li {
  position: relative;
  padding-left: 24px;
}

.student-saved-helper li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--saved-blue);
  font-weight: 900;
}

.student-saved-helper.is-important {
  background:
    linear-gradient(180deg, #ffffff, #f8fbff),
    #ffffff;
}

@media (max-width: 1280px) {
  .student-saved-layout {
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 24px;
  }

  .student-saved-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-saved-card {
    grid-template-columns: 132px minmax(0, 1fr);
  }

  .student-saved-note,
  .student-saved-actions {
    grid-column: 2;
  }

  .student-saved-actions {
    flex-direction: row;
  }
}

@media (max-width: 980px) {
  .student-saved-layout {
    grid-template-columns: 1fr;
  }

  .student-saved-aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .student-saved-header,
  .student-saved-toolbar {
    display: grid;
  }

  .student-saved-header-actions,
  .student-saved-empty div {
    align-items: stretch;
    flex-direction: column;
  }

  .student-saved-header-actions .button,
  .student-saved-empty .button {
    width: 100%;
  }

  .student-saved-summary,
  .student-saved-aside {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .student-saved-summary-card {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 14px;
  }

  .student-saved-summary-card span {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    font-size: 20px;
  }

  .student-saved-summary-card strong {
    font-size: 24px;
  }

  .student-saved-card {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px;
  }

  .student-saved-card-media {
    width: 100%;
    height: 160px;
  }

  .student-saved-note,
  .student-saved-actions {
    grid-column: auto;
  }

  .student-saved-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .student-saved-actions button,
  .student-saved-actions a {
    min-height: 42px;
    border: 1px solid var(--saved-border);
    border-radius: 12px;
    background: #ffffff;
  }
}

@media (max-width: 430px) {
  .student-saved-summary,
  .student-saved-aside,
  .student-saved-actions {
    grid-template-columns: 1fr;
  }
}

.student-route-app-student-preferences .student-sidebar-nav a.is-active {
  border: 1px solid #bcd5ff;
  background: #eaf2ff;
  color: #0b63f6;
  box-shadow: inset 4px 0 0 #0b63f6, 0 12px 24px rgba(11, 99, 246, 0.1);
}

.student-route-app-student-preferences .student-sidebar-nav a.is-active em {
  background: #dbeafe;
  color: #0b63f6;
}

.student-preferences-page {
  --student-pref-navy: #071a44;
  --student-pref-blue: #0b63f6;
  --student-pref-green: #22c55e;
  --student-pref-green-hover: #16a34a;
  --student-pref-border: #e5e7eb;
  --student-pref-soft: #f7f9fc;
  --student-pref-selected: #eaf2ff;
  display: grid;
  gap: 24px;
  min-width: 0;
  padding-bottom: 86px;
}

.student-preferences-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  min-width: 0;
}

.student-preferences-header h1 {
  margin: 0;
  color: var(--student-pref-navy);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 900;
  line-height: 1.12;
}

.student-preferences-header p {
  max-width: 720px;
  margin: 10px 0 0;
  color: #475569;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.65;
}

.student-preferences-layout {
  display: grid;
  grid-template-columns: minmax(0, 900px) minmax(260px, 280px);
  gap: 32px;
  align-items: start;
}

.student-preferences-main,
.student-pref-option-stack {
  display: grid;
  gap: 18px;
}

.student-pref-card,
.student-preferences-helper {
  min-width: 0;
  border: 1px solid var(--student-pref-border);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.06);
}

.student-pref-card {
  display: grid;
  gap: 18px;
  padding: 24px;
}

.student-pref-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.student-pref-card-heading h2 {
  margin: 0;
  color: var(--student-pref-navy);
  font-size: clamp(18px, 1.8vw, 20px);
  font-weight: 900;
  line-height: 1.25;
}

.student-pref-card-heading h2 span {
  color: var(--student-pref-blue);
}

.student-pref-card-heading p,
.student-pref-helper,
.student-pref-field p {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.student-pref-counter {
  flex: 0 0 auto;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  background: #f8fbff;
  color: var(--student-pref-blue);
  font-size: 12px;
  font-weight: 900;
  padding: 6px 10px;
}

.student-pref-fieldset {
  display: grid;
  gap: 12px;
  min-width: 0;
  border: 0;
  margin: 0;
  padding: 0;
}

.student-pref-label,
.student-pref-field label {
  display: flex;
  align-items: baseline;
  gap: 6px;
  color: var(--student-pref-navy);
  font-size: 13px;
  font-weight: 900;
}

.student-pref-field label small {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.student-pref-option-grid {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.student-pref-option-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.student-pref-option-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.student-pref-discipline-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.student-pref-budget-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.student-pref-option {
  position: relative;
  display: block;
  min-width: 0;
  cursor: pointer;
}

.student-pref-control {
  position: absolute;
  inset: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.student-pref-option-card {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  border: 1px solid #dbe3ee;
  border-radius: 14px;
  background: #ffffff;
  color: var(--student-pref-navy);
  padding: 13px 14px;
  transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.student-pref-option-card:hover {
  border-color: #a9c8ff;
  box-shadow: 0 12px 26px rgba(11, 99, 246, 0.08);
  transform: translateY(-1px);
}

.student-pref-control:focus-visible + .student-pref-option-card {
  outline: 3px solid rgba(11, 99, 246, 0.22);
  outline-offset: 3px;
}

.student-pref-control:checked + .student-pref-option-card {
  border-color: var(--student-pref-blue);
  background: var(--student-pref-selected);
  box-shadow: 0 14px 30px rgba(11, 99, 246, 0.1);
}

.student-pref-option-strong .student-pref-control:checked + .student-pref-option-card,
.student-pref-option-compact .student-pref-control:checked + .student-pref-option-card,
.student-pref-option-budget .student-pref-control:checked + .student-pref-option-card {
  background: linear-gradient(135deg, #2f74ff, #0b63f6);
  color: #ffffff;
}

.student-pref-option-strong .student-pref-control:checked + .student-pref-option-card .student-pref-option-icon,
.student-pref-option-compact .student-pref-control:checked + .student-pref-option-card .student-pref-option-icon,
.student-pref-option-budget .student-pref-control:checked + .student-pref-option-card .student-pref-option-icon,
.student-pref-option-strong .student-pref-control:checked + .student-pref-option-card .student-pref-check,
.student-pref-option-compact .student-pref-control:checked + .student-pref-option-card .student-pref-check,
.student-pref-option-budget .student-pref-control:checked + .student-pref-option-card .student-pref-check {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.student-pref-option-strong .student-pref-control:checked + .student-pref-option-card strong,
.student-pref-option-compact .student-pref-control:checked + .student-pref-option-card strong,
.student-pref-option-budget .student-pref-control:checked + .student-pref-option-card strong {
  color: #ffffff;
}

.student-pref-option-icon,
.student-pref-check {
  display: grid;
  place-items: center;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
}

.student-pref-option-icon {
  width: 36px;
  height: 36px;
  border: 1px solid #dbeafe;
  background: #eff6ff;
  color: var(--student-pref-blue);
}

.student-pref-option-icon svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.student-pref-check {
  width: 24px;
  height: 24px;
  background: transparent;
  color: transparent;
}

.student-pref-control:checked + .student-pref-option-card .student-pref-check {
  background: var(--student-pref-blue);
  color: #ffffff;
}

.student-pref-option-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.student-pref-option-copy strong {
  color: var(--student-pref-navy);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.28;
}

.student-pref-option-copy small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.student-pref-control:checked + .student-pref-option-card .student-pref-option-copy small {
  color: #334155;
}

.student-pref-option-language .student-pref-option-icon {
  width: auto;
  min-width: 44px;
  padding-inline: 6px;
  font-size: 18px;
}

.student-pref-option-budget .student-pref-option-card {
  grid-template-columns: minmax(0, 1fr) auto;
  justify-items: center;
  min-height: 58px;
  text-align: center;
}

.student-pref-option-budget .student-pref-option-icon {
  display: none;
}

.student-pref-option-chip .student-pref-option-card {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 44px;
  border-radius: 999px;
  padding: 10px 13px;
}

.student-pref-option-chip .student-pref-option-icon {
  display: none;
}

.student-pref-field {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.student-pref-input {
  width: 100%;
  min-height: 48px;
  border: 1px solid #dbe3ee;
  border-radius: 12px;
  background: #ffffff;
  color: var(--student-pref-navy);
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  padding: 12px 14px;
}

.student-pref-input:focus {
  outline: 3px solid rgba(11, 99, 246, 0.18);
  border-color: var(--student-pref-blue);
}

.student-pref-textarea {
  min-height: 118px;
  resize: vertical;
}

.student-pref-textarea-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.student-pref-textarea-meta small {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.student-pref-split-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.student-pref-location-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(190px, 0.8fr) minmax(190px, 0.8fr);
  gap: 18px;
  align-items: start;
}

.student-pref-city-field {
  gap: 8px;
}

.student-pref-city-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
}

.student-preferences-helper {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 16px;
  padding: 24px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(234, 242, 255, 0.88), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.student-pref-helper-illustration {
  display: grid;
  justify-items: center;
  gap: 10px;
  min-height: 122px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 20% 18%, rgba(245, 158, 11, 0.18) 0 9%, transparent 9.5%),
    radial-gradient(circle at 76% 38%, rgba(11, 99, 246, 0.14) 0 12%, transparent 12.6%),
    linear-gradient(135deg, #f8fbff, #eaf2ff);
  padding: 20px;
}

.student-pref-helper-illustration span {
  width: 66px;
  height: 54px;
  border-radius: 16px 16px 12px 12px;
  background:
    linear-gradient(90deg, transparent 18px, #f59e0b 18px 24px, transparent 24px),
    linear-gradient(135deg, #071a44, #0b63f6);
  box-shadow: 0 14px 30px rgba(11, 99, 246, 0.2);
}

.student-pref-helper-illustration strong {
  color: var(--student-pref-navy);
  font-size: 14px;
  font-weight: 900;
}

.student-preferences-helper h2,
.student-preferences-helper strong {
  margin: 0;
  color: var(--student-pref-navy);
}

.student-preferences-helper h2 {
  font-size: 20px;
  font-weight: 900;
}

.student-preferences-helper p,
.student-preferences-helper li {
  color: #334155;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.62;
}

.student-preferences-helper p {
  margin: 0;
}

.student-preferences-helper ul {
  display: grid;
  gap: 12px;
  margin: 0;
  border-top: 1px solid var(--student-pref-border);
  border-bottom: 1px solid var(--student-pref-border);
  padding: 16px 0;
  list-style: none;
}

.student-preferences-helper li {
  position: relative;
  padding-left: 28px;
}

.student-preferences-helper li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.62em;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--student-pref-blue);
  box-shadow: 0 0 0 5px rgba(11, 99, 246, 0.12);
}

.student-pref-safe-box {
  display: grid;
  gap: 6px;
  border: 1px solid #cfe0ff;
  border-radius: 16px;
  background: #f8fbff;
  padding: 14px;
}

.student-preferences-actions {
  position: sticky;
  z-index: 25;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(229, 231, 235, 0.9);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 -14px 34px rgba(15, 23, 42, 0.08);
  padding: 12px 16px;
  backdrop-filter: blur(16px);
}

.student-preferences-actions > div {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.student-pref-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  border-radius: 12px;
  border: 1px solid transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  padding: 12px 18px;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.student-pref-button-secondary,
.student-pref-button-subtle {
  border-color: #dbe3ee;
  background: #ffffff;
  color: var(--student-pref-navy);
}

.student-pref-button-secondary:hover,
.student-pref-button-secondary:focus-visible,
.student-pref-button-subtle:hover,
.student-pref-button-subtle:focus-visible {
  border-color: #a9c8ff;
  box-shadow: 0 10px 22px rgba(11, 99, 246, 0.1);
}

.student-pref-button-next {
  min-width: 150px;
  background: var(--student-pref-green);
  color: #ffffff;
}

.student-pref-button-next:hover,
.student-pref-button-next:focus-visible {
  background: var(--student-pref-green-hover);
  box-shadow: 0 14px 28px rgba(34, 197, 94, 0.22);
}

.student-pref-fieldset .form-error,
.student-pref-field .form-error,
.student-pref-fieldset ul,
.student-pref-field ul,
.student-pref-textarea-meta ul {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #b91c1c;
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 1280px) {
  .student-preferences-layout {
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 24px;
  }

  .student-pref-discipline-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-pref-budget-grid,
  .student-pref-option-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-pref-location-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .student-preferences-layout {
    grid-template-columns: 1fr;
  }

  .student-preferences-helper {
    position: static;
    order: 2;
  }

  .student-pref-option-grid-three,
  .student-pref-discipline-grid,
  .student-pref-city-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .student-preferences-page {
    gap: 18px;
    padding-bottom: 106px;
  }

  .student-preferences-header {
    display: grid;
    gap: 16px;
  }

  .student-preferences-header .student-pref-button {
    width: 100%;
  }

  .student-pref-card,
  .student-preferences-helper {
    border-radius: 18px;
    padding: 18px;
  }

  .student-pref-card-heading {
    display: grid;
  }

  .student-pref-split-grid,
  .student-pref-option-grid-three,
  .student-pref-option-grid-four,
  .student-pref-discipline-grid,
  .student-pref-budget-grid,
  .student-pref-city-grid {
    grid-template-columns: 1fr;
  }

  .student-pref-option-card {
    min-height: 56px;
  }

  .student-preferences-actions {
    right: 0;
    left: 0;
    display: grid;
    margin-inline: -2px;
    border-radius: 16px;
    padding: 10px;
  }

  .student-preferences-actions > div {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 10px;
  }

  .student-pref-button {
    min-height: 46px;
    padding-inline: 12px;
  }

  .student-pref-button-subtle {
    justify-self: start;
    min-height: 38px;
    border: 0;
    background: transparent;
    padding-inline: 2px;
  }
}

/* Student education history page */
.student-route-app-student-education-history .student-sidebar-nav a.is-active {
  border: 1px solid #bcd5ff;
  background: #eaf2ff;
  color: #0b63f6;
  box-shadow: inset 4px 0 0 #0b63f6, 0 12px 24px rgba(11, 99, 246, 0.1);
}

.student-route-app-student-education-history .student-sidebar-nav a.is-active em {
  background: #dbeafe;
  color: #0b63f6;
}

.student-education-page {
  min-width: 0;
}

.student-education-layout {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 280px);
  max-width: 1360px;
}

.student-education-main {
  max-width: 960px;
}

.student-education-card-heading {
  justify-content: flex-start;
}

.student-education-section-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  background: #eff6ff;
  color: #0b63f6;
  box-shadow: 0 12px 26px rgba(11, 99, 246, 0.08);
}

.student-education-section-icon svg,
.student-education-helper-list svg {
  width: 21px;
  height: 21px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.student-education-three-grid,
.student-education-language-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  min-width: 0;
}

.student-education-language-grid {
  grid-template-columns: minmax(160px, 0.75fr) minmax(160px, 0.75fr) minmax(430px, 1.5fr);
}

.student-education-status-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr);
  gap: 18px;
  align-items: start;
  min-width: 0;
}

.student-education-status-options,
.student-education-spanish-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.student-education-status-options .student-pref-option-card {
  min-height: 58px;
}

.student-education-spanish-options .student-pref-option-card {
  position: relative;
  grid-template-columns: 32px minmax(0, 1fr);
  min-height: 58px;
  padding-inline: 10px 34px;
}

.student-education-spanish-options .student-pref-check {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

.student-education-spanish-options .student-pref-option-copy strong {
  font-size: 13px;
}

.student-education-helper {
  background:
    radial-gradient(circle at 22% 10%, rgba(245, 158, 11, 0.14) 0 7%, transparent 7.4%),
    radial-gradient(circle at 88% 24%, rgba(11, 99, 246, 0.14) 0 11%, transparent 11.5%),
    linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(255, 255, 255, 0.98)),
    #ffffff;
}

.student-education-helper-top {
  display: grid;
  justify-items: center;
  gap: 10px;
  min-height: 114px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, transparent 58%, rgba(188, 213, 255, 0.48) 58%),
    radial-gradient(circle at 50% 52%, rgba(11, 99, 246, 0.16), transparent 34%),
    #f8fbff;
  color: #071a44;
  padding: 18px;
}

.student-education-helper-top span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: linear-gradient(135deg, #0b63f6, #071a44);
  color: #f59e0b;
  box-shadow: 0 16px 28px rgba(11, 99, 246, 0.22);
}

.student-education-helper-list {
  gap: 14px;
}

.student-education-helper-list li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding-left: 0;
}

.student-education-helper-list li::before {
  display: none;
}

.student-education-helper-list li > span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 9px;
  background: #eff6ff;
  color: #0b63f6;
}

.student-education-helper-list li > span svg {
  width: 17px;
  height: 17px;
}

.student-education-line-art {
  min-height: 94px;
  margin-top: 2px;
  border-radius: 18px;
  background:
    linear-gradient(90deg, transparent 8%, rgba(11, 99, 246, 0.18) 8.3% 8.8%, transparent 9.1%),
    linear-gradient(90deg, transparent 22%, rgba(11, 99, 246, 0.2) 22.2% 22.8%, transparent 23.2%),
    linear-gradient(90deg, transparent 39%, rgba(11, 99, 246, 0.16) 39.3% 39.9%, transparent 40.3%),
    linear-gradient(90deg, transparent 56%, rgba(11, 99, 246, 0.2) 56.2% 56.8%, transparent 57.2%),
    linear-gradient(90deg, transparent 74%, rgba(11, 99, 246, 0.16) 74.3% 74.9%, transparent 75.3%),
    linear-gradient(180deg, transparent 0 70%, rgba(219, 234, 254, 0.72) 70%),
    #f8fbff;
  opacity: 0.9;
}

@media (max-width: 1280px) {
  .student-education-layout {
    grid-template-columns: minmax(0, 1fr) 260px;
  }

  .student-education-three-grid,
  .student-education-language-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-education-language-grid .student-pref-fieldset {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .student-education-layout,
  .student-education-status-grid {
    grid-template-columns: 1fr;
  }

  .student-education-main {
    max-width: none;
  }
}

@media (max-width: 640px) {
  .student-education-three-grid,
  .student-education-language-grid,
  .student-education-status-options,
  .student-education-spanish-options {
    grid-template-columns: 1fr;
  }

  .student-education-card-heading {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .student-education-section-icon {
    width: 42px;
    height: 42px;
  }
}

/* Student application documents page */
.student-route-app-student-documents .student-sidebar-nav a.is-active {
  border: 1px solid #bcd5ff;
  background: #eaf2ff;
  color: #0b63f6;
  box-shadow: inset 4px 0 0 #0b63f6, 0 12px 24px rgba(11, 99, 246, 0.1);
}

.student-route-app-student-documents .student-sidebar-nav a.is-active em {
  background: #dbeafe;
  color: #0b63f6;
}

.student-documents-header {
  align-items: flex-start;
}

.student-documents-header h1 {
  color: #071a44;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 900;
  line-height: 1.12;
}

.student-documents-header span {
  max-width: 680px;
}

.student-document-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.student-document-summary-card {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
  padding: 16px;
}

.student-document-summary-card span {
  display: grid;
  grid-row: span 2;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 16px;
  font-size: 20px;
  font-weight: 900;
}

.student-document-summary-card strong {
  color: #071a44;
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
}

.student-document-summary-card small {
  color: #475569;
  font-size: 13px;
  font-weight: 850;
}

.student-document-summary-card.is-red span {
  background: #fee2e2;
  color: #dc2626;
}

.student-document-summary-card.is-blue span {
  background: #dbeafe;
  color: #0b63f6;
}

.student-document-summary-card.is-amber span {
  background: #fef3c7;
  color: #d97706;
}

.student-document-summary-card.is-green span {
  background: #dcfce7;
  color: #16a34a;
}

.student-documents-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  gap: 32px;
  align-items: start;
  max-width: 1360px;
  padding-bottom: 90px;
}

.student-documents-main,
.student-document-section,
.student-document-list {
  display: grid;
  min-width: 0;
}

.student-documents-main {
  gap: 30px;
}

.student-document-section {
  gap: 14px;
}

.student-document-section > .student-section-heading {
  padding-inline: 2px;
}

.student-document-section > .student-section-heading h2 {
  color: #071a44;
  font-size: 20px;
}

.student-document-section > .student-section-heading p,
.student-document-section > .student-section-heading span {
  color: #64748b;
  font-weight: 850;
}

.student-document-list {
  gap: 14px;
}

.student-document-card {
  display: grid;
  gap: 16px;
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.055);
  padding: 20px;
}

.student-document-card-head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
  min-width: 0;
}

.student-document-icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 15px;
  background: #eff6ff;
  color: #0b63f6;
}

.student-document-icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.student-document-card.is-required .student-document-icon {
  background: #fff1f2;
  color: #dc2626;
}

.student-document-card.is-uploaded .student-document-icon,
.student-document-card:has(.student-badge-green) .student-document-icon {
  background: #dcfce7;
  color: #16a34a;
}

.student-document-card-copy {
  min-width: 0;
}

.student-document-card-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.student-document-card-title-row h3 {
  margin: 0;
  color: #071a44;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.25;
}

.student-document-card-copy p {
  margin: 6px 0 0;
  color: #475569;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.student-document-tag {
  border-radius: 999px;
  background: #fee2e2;
  color: #dc2626;
  font-size: 12px;
  font-weight: 900;
  padding: 5px 9px;
}

.student-document-tag.is-optional {
  background: #f1f5f9;
  color: #475569;
}

.student-document-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid #e5e7eb;
  padding-top: 14px;
}

.student-document-meta div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.student-document-meta strong {
  color: #071a44;
  font-size: 14px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.student-document-meta span {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
}

.student-document-view-link {
  flex: 0 0 auto;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  color: #0b63f6;
  font-size: 13px;
  font-weight: 900;
  padding: 9px 12px;
}

.student-document-upload-form {
  display: grid;
  gap: 10px;
  border-radius: 16px;
  background: #f8fbff;
  padding: 12px;
}

.student-document-upload-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
}

.student-document-upload-row .form-row,
.student-document-upload-row > div {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.student-document-upload-row label {
  color: #475569;
  font-size: 12px;
  font-weight: 900;
}

.student-document-upload-row input[type="file"] {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d8e1ee;
  border-radius: 12px;
  background: #ffffff;
  color: #475569;
  font: inherit;
  font-size: 13px;
  padding: 8px;
}

.student-document-upload-row .button,
.student-document-upload-row button {
  min-height: 42px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #0b63f6;
  color: #0b63f6;
  font-size: 13px;
  font-weight: 900;
  padding-inline: 16px;
}

.student-documents-helper {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 16px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 16% 12%, rgba(245, 158, 11, 0.12) 0 8%, transparent 8.3%),
    radial-gradient(circle at 92% 20%, rgba(11, 99, 246, 0.12) 0 12%, transparent 12.4%),
    #ffffff;
}

.student-documents-helper-top {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 19px;
  background: #eff6ff;
  color: #0b63f6;
  font-size: 24px;
  font-weight: 900;
}

.student-documents-helper h2 {
  margin: 0;
  color: #071a44;
  font-size: 20px;
  font-weight: 900;
}

.student-documents-helper p,
.student-documents-helper-list li {
  color: #334155;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.6;
}

.student-documents-helper-list {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.student-documents-helper-list li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
}

.student-documents-helper-list li span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  background: #eff6ff;
  color: #0b63f6;
  font-size: 12px;
  font-weight: 900;
}

.student-documents-line-art {
  min-height: 90px;
  margin-top: 2px;
  border-radius: 18px;
  background:
    linear-gradient(90deg, transparent 10%, rgba(11, 99, 246, 0.18) 10.4% 11%, transparent 11.4%),
    linear-gradient(90deg, transparent 28%, rgba(11, 99, 246, 0.15) 28.4% 29%, transparent 29.4%),
    linear-gradient(90deg, transparent 49%, rgba(11, 99, 246, 0.2) 49.3% 50%, transparent 50.4%),
    linear-gradient(90deg, transparent 68%, rgba(11, 99, 246, 0.15) 68.4% 69%, transparent 69.4%),
    linear-gradient(180deg, transparent 0 70%, rgba(219, 234, 254, 0.76) 70%),
    #f8fbff;
}

.student-documents-actions {
  position: sticky;
  bottom: 0;
  z-index: 25;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -18px 40px rgba(15, 23, 42, 0.08);
  margin-top: 0;
  padding: 14px;
  backdrop-filter: blur(14px);
}

.student-documents-actions .button {
  min-width: 136px;
  text-align: center;
}

.student-documents-actions .button-primary {
  background: #22c55e;
  border-color: #22c55e;
}

.student-documents-actions .button-primary:hover,
.student-documents-actions .button-primary:focus-visible {
  background: #16a34a;
  border-color: #16a34a;
}

.student-documents-actions .is-disabled {
  cursor: not-allowed;
  opacity: 0.54;
}

.student-documents-actions-note {
  margin: -14px 16px 0 auto;
  color: #dc2626;
  font-size: 13px;
  font-weight: 850;
  text-align: right;
}

@media (max-width: 1280px) {
  .student-document-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-documents-layout {
    grid-template-columns: minmax(0, 1fr) 280px;
  }
}

@media (max-width: 980px) {
  .student-documents-layout {
    grid-template-columns: 1fr;
    padding-bottom: 30px;
  }

  .student-documents-helper {
    position: static;
  }

  .student-documents-actions {
    margin-top: 0;
  }
}

@media (max-width: 640px) {
  .student-document-summary-grid {
    grid-template-columns: 1fr;
  }

  .student-document-card {
    padding: 16px;
  }

  .student-document-card-head {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .student-document-card-head .student-badge {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .student-document-meta,
  .student-document-upload-row,
  .student-documents-actions {
    align-items: stretch;
    flex-direction: column;
    grid-template-columns: 1fr;
  }

  .student-document-view-link,
  .student-document-upload-row .button,
  .student-document-upload-row button,
  .student-documents-actions .button {
    width: 100%;
    justify-content: center;
  }

  .student-documents-actions-note {
    margin: 8px 0 0;
    text-align: left;
  }
}

/* Student dashboard homepage redesign */
.student-nav-toggle {
  position: fixed;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.student-topbar {
  min-height: 72px;
  border-bottom-color: #e7edf6;
  background: rgba(255, 255, 255, 0.96);
}

.student-topbar-left {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.student-topbar-menu-button {
  display: inline-grid;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #071e57;
  cursor: pointer;
}

.student-topbar-menu-button span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.student-topbar-menu-button:hover,
.student-topbar-menu-button:focus-visible {
  border-color: #d8e6ff;
  background: #f4f8ff;
}

.student-nav-toggle:focus-visible + .student-dashboard-shell .student-topbar-menu-button {
  border-color: #0b63f6;
  box-shadow: 0 0 0 4px rgba(11, 99, 246, 0.14);
}

.student-topbar-brand {
  display: none;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: #071e57;
}

.student-topbar-brand-mark {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  border: 2px solid #d7e3f4;
  background: #fff7e6;
  color: #f59e0b;
}

.student-topbar-brand strong,
.student-topbar-brand small {
  display: block;
}

.student-topbar-brand strong {
  font-size: 15px;
  font-weight: 950;
}

.student-topbar-brand small {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}

.student-avatar-chevron {
  color: #071e57;
  font-size: 14px;
  font-weight: 900;
}

.student-sidebar-nav a:hover,
.student-sidebar-nav a:focus-visible,
.student-sidebar-nav a.is-active {
  border: 1px solid #cfe0ff;
  background: #edf4ff;
  color: #0b63f6;
  box-shadow: inset 4px 0 0 #0b63f6, 0 10px 22px rgba(11, 99, 246, 0.08);
}

.student-sidebar-nav a.is-active em,
.student-sidebar-nav a:hover em,
.student-sidebar-nav a:focus-visible em {
  background: #ffffff;
  color: #0b63f6;
}

.student-mobile-nav {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: block;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}

.student-mobile-nav-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 18, 49, 0.4);
}

.student-mobile-nav-panel {
  position: relative;
  display: grid;
  align-content: start;
  gap: 18px;
  width: min(340px, 88vw);
  height: 100%;
  overflow-y: auto;
  border-right: 1px solid #e5e7eb;
  background: #ffffff;
  box-shadow: 18px 0 46px rgba(15, 23, 42, 0.18);
  padding: 22px 16px;
  transform: translateX(-100%);
  transition: transform 0.22s ease;
}

#student-nav-toggle:checked ~ .student-mobile-nav {
  opacity: 1;
  pointer-events: auto;
}

#student-nav-toggle:checked ~ .student-mobile-nav .student-mobile-nav-panel {
  transform: translateX(0);
}

.student-mobile-nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.student-mobile-nav-close {
  display: grid;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #d8e1ee;
  border-radius: 12px;
  color: #071e57;
  cursor: pointer;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.student-mobile-nav-links {
  display: grid;
  gap: 8px;
}

.student-mobile-nav-links a {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 46px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #071e57;
  font-weight: 850;
  padding: 10px 12px;
}

.student-mobile-nav-links a span {
  display: grid;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  place-items: center;
}

.student-mobile-nav-links a em {
  margin-left: auto;
  min-width: 24px;
  border-radius: 999px;
  background: #eef2f7;
  color: #071e57;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  padding: 5px 7px;
  text-align: center;
}

.student-mobile-nav-links a:hover,
.student-mobile-nav-links a:focus-visible,
.student-mobile-nav-links a.is-active {
  border-color: #cfe0ff;
  background: #edf4ff;
  color: #0b63f6;
}

.student-dashboard-home {
  --dashboard-navy: #071e57;
  --dashboard-blue: #0b63f6;
  --dashboard-green: #16a34a;
  --dashboard-amber: #f59e0b;
  --dashboard-purple: #7c3aed;
  --dashboard-border: #e5e7eb;
  --dashboard-muted: #52627a;
  display: grid;
  gap: 24px;
  min-width: 0;
}

.student-dashboard-home-header,
.student-dashboard-top-grid,
.student-dashboard-bottom-grid {
  min-width: 0;
}

.student-dashboard-home-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.student-dashboard-home-header h1 {
  margin: 0;
  color: var(--dashboard-navy);
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.08;
}

.student-dashboard-home-header p,
.student-dashboard-home-header span {
  display: block;
  margin: 8px 0 0;
  color: #334155;
  font-size: 15px;
  font-weight: 750;
}

.student-dashboard-home-header span {
  color: #253b73;
}

.student-dashboard-home-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.student-dashboard-top-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.86fr) minmax(420px, 1.14fr);
  gap: 24px;
  align-items: stretch;
}

.student-dashboard-advisor-card,
.student-dashboard-status-panel,
.student-dashboard-progress-card,
.student-dashboard-needs-card,
.student-dashboard-plan-card,
.student-dashboard-saved-card,
.student-dashboard-trust-note {
  min-width: 0;
  border: 1px solid var(--dashboard-border);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.student-dashboard-advisor-card {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 26px;
}

.student-dashboard-advisor-avatar,
.student-dashboard-status-icon,
.student-dashboard-saved-icon {
  display: grid;
  place-items: center;
  border-radius: 999px;
}

.student-dashboard-advisor-avatar {
  width: 70px;
  height: 70px;
  background: linear-gradient(135deg, #ddeafe, #ffffff);
  color: var(--dashboard-navy);
  font-size: 24px;
  font-weight: 950;
}

.student-dashboard-advisor-copy {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.student-dashboard-card-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.student-dashboard-card-title-row h2,
.student-dashboard-status-heading h2,
.student-dashboard-progress-card h2,
.student-dashboard-needs-card h2,
.student-dashboard-plan-card h2,
.student-dashboard-saved-card h2 {
  margin: 0;
  color: var(--dashboard-navy);
  font-size: 20px;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.2;
}

.student-dashboard-card-title-row span {
  flex: 0 0 auto;
  border-radius: 999px;
  background: #f2eaff;
  color: #6d28d9;
  font-size: 12px;
  font-weight: 900;
  padding: 6px 10px;
}

.student-dashboard-advisor-copy p,
.student-dashboard-next-action p,
.student-dashboard-plan-card p,
.student-dashboard-saved-card p,
.student-dashboard-trust-note {
  margin: 0;
  color: var(--dashboard-muted);
  line-height: 1.6;
}

.student-dashboard-advisor-copy small {
  color: #52627a;
  font-size: 13px;
  font-weight: 750;
}

.student-dashboard-advisor-copy .button {
  justify-self: end;
}

.student-dashboard-status-panel {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 20px;
  overflow: hidden;
  padding: 28px 28px 0;
}

.student-dashboard-status-icon {
  width: 78px;
  height: 78px;
  border: 1px solid #dbe8ff;
  background: #f3f7ff;
  color: var(--dashboard-blue);
  font-size: 30px;
  font-weight: 900;
}

.student-dashboard-status-main {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.student-dashboard-status-heading {
  display: grid;
  gap: 10px;
}

.student-dashboard-status-heading div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.student-dashboard-status-heading span,
.student-dashboard-next-action span,
.student-dashboard-plan-status span {
  color: #334155;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.student-dashboard-status-heading strong,
.student-dashboard-plan-main em {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  background: #dcfce7;
  color: #15803d;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  padding: 6px 10px;
}

.student-dashboard-progress-row {
  display: grid;
  grid-template-columns: auto minmax(120px, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.student-dashboard-progress-row > strong {
  color: var(--dashboard-blue);
  font-size: 26px;
  font-weight: 950;
}

.student-dashboard-progress-row small {
  color: #334155;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.student-dashboard-next-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 18px;
  align-items: center;
}

.student-dashboard-next-action span,
.student-dashboard-next-action strong,
.student-dashboard-next-action p {
  grid-column: 1;
}

.student-dashboard-next-action strong {
  color: var(--dashboard-navy);
  font-size: 17px;
  font-weight: 950;
}

.student-dashboard-next-action .button {
  grid-column: 2;
  grid-row: 1 / span 3;
}

.student-dashboard-status-panel footer {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-inline: -28px;
  border-top: 1px solid #e5e7eb;
  background: #f8fafc;
  color: #334155;
  font-size: 13px;
  font-weight: 750;
  padding: 14px 28px;
}

.student-dashboard-progress-card {
  padding: 24px;
}

.student-dashboard-stepper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.student-dashboard-stepper::before,
.student-dashboard-stepper::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 7%;
  left: 7%;
  height: 3px;
  border-radius: 999px;
}

.student-dashboard-stepper::before {
  background: #dbe3ef;
}

.student-dashboard-stepper::after {
  width: var(--dashboard-progress);
  max-width: 86%;
  background: linear-gradient(90deg, var(--dashboard-green), var(--dashboard-blue));
}

.student-dashboard-stepper li {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 10px;
  min-width: 0;
  text-align: center;
}

.student-dashboard-stepper li > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 3px solid #cfd8e6;
  border-radius: 999px;
  background: #ffffff;
  color: var(--dashboard-navy);
  font-size: 15px;
  font-weight: 950;
}

.student-dashboard-stepper li.is-completed > span {
  border-color: var(--dashboard-green);
  background: var(--dashboard-green);
  color: #ffffff;
}

.student-dashboard-stepper li.is-current > span {
  border-color: var(--dashboard-blue);
  color: var(--dashboard-blue);
  box-shadow: 0 0 0 6px rgba(11, 99, 246, 0.11);
}

.student-dashboard-stepper strong {
  color: var(--dashboard-navy);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
}

.student-dashboard-bottom-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.35fr) minmax(260px, 0.85fr) minmax(260px, 0.85fr);
  gap: 24px;
}

.student-dashboard-needs-card,
.student-dashboard-plan-card,
.student-dashboard-saved-card {
  padding: 24px;
}

.student-dashboard-needs-card header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.student-dashboard-needs-card header > span {
  color: #0b63f6;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.student-dashboard-task-list {
  display: grid;
  gap: 12px;
}

.student-dashboard-task {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
}

.student-dashboard-task > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
  background: #eef4ff;
  color: var(--dashboard-blue);
  font-size: 13px;
  font-weight: 950;
}

.student-dashboard-task.is-approved > span {
  background: #dcfce7;
  color: #15803d;
}

.student-dashboard-task.is-missing > span,
.student-dashboard-task.is-not_uploaded > span,
.student-dashboard-task.is-requested > span,
.student-dashboard-task.is-rejected > span,
.student-dashboard-task.is-needs_reupload > span {
  background: #fff7ed;
  color: #f97316;
}

.student-dashboard-task.is-message > span {
  background: #f3e8ff;
  color: var(--dashboard-purple);
}

.student-dashboard-task strong,
.student-dashboard-task small {
  display: block;
}

.student-dashboard-task strong {
  color: var(--dashboard-navy);
  font-size: 15px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.student-dashboard-task small {
  color: var(--dashboard-muted);
  font-size: 12px;
  font-weight: 750;
}

.student-dashboard-task .student-badge {
  margin-top: 5px;
}

.student-dashboard-task .button {
  min-height: 36px;
  padding: 8px 14px;
}

.student-dashboard-plan-card,
.student-dashboard-saved-card {
  display: grid;
  align-content: start;
  gap: 18px;
}

.student-dashboard-plan-main {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}

.student-dashboard-plan-main > span {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border-radius: 999px;
  background: #dcfce7;
  color: #15803d;
  font-size: 34px;
  font-weight: 900;
}

.student-dashboard-plan-main strong,
.student-dashboard-saved-card > strong {
  display: block;
  color: var(--dashboard-navy);
  font-size: 17px;
  font-weight: 950;
  line-height: 1.25;
}

.student-dashboard-plan-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.student-dashboard-saved-card {
  justify-items: start;
}

.student-dashboard-saved-icon {
  width: 78px;
  height: 78px;
  background: #f3e8ff;
  color: var(--dashboard-purple);
  font-size: 42px;
  font-weight: 900;
}

.student-dashboard-trust-note {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  font-size: 14px;
}

.student-dashboard-trust-note span {
  display: grid;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid #cfe0ff;
  border-radius: 999px;
  color: var(--dashboard-navy);
  font-weight: 900;
}

@media (max-width: 1180px) {
  .student-dashboard-top-grid,
  .student-dashboard-bottom-grid {
    grid-template-columns: 1fr;
  }

  .student-dashboard-bottom-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-dashboard-needs-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .student-topbar-brand {
    display: flex;
  }

  .student-dashboard-home-header,
  .student-dashboard-needs-card header {
    align-items: flex-start;
    flex-direction: column;
  }

  .student-dashboard-home-actions {
    justify-content: flex-start;
  }

  .student-dashboard-stepper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 14px;
  }

  .student-dashboard-stepper::before,
  .student-dashboard-stepper::after {
    display: none;
  }
}

@media (max-width: 700px) {
  .student-topbar {
    gap: 10px;
    padding: 12px 14px;
  }

  .student-language-switcher-button {
    width: 42px;
    padding: 0;
  }

  .student-language-switcher-caret {
    display: none;
  }

  .student-topbar-brand small,
  .student-avatar-copy,
  .student-avatar-chevron {
    display: none;
  }

  .student-dashboard-home {
    gap: 18px;
  }

  .student-dashboard-top-grid,
  .student-dashboard-bottom-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .student-dashboard-advisor-card,
  .student-dashboard-status-panel,
  .student-dashboard-needs-card,
  .student-dashboard-plan-card,
  .student-dashboard-saved-card,
  .student-dashboard-progress-card {
    border-radius: 16px;
    padding: 18px;
  }

  .student-dashboard-advisor-card,
  .student-dashboard-status-panel {
    grid-template-columns: 1fr;
  }

  .student-dashboard-status-panel footer {
    margin-inline: -18px;
    padding-inline: 18px;
  }

  .student-dashboard-progress-row,
  .student-dashboard-next-action,
  .student-dashboard-task,
  .student-dashboard-plan-main,
  .student-dashboard-plan-status {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .student-dashboard-progress-row small {
    white-space: normal;
  }

  .student-dashboard-next-action .button {
    grid-column: 1;
    grid-row: auto;
    justify-content: center;
  }

  .student-dashboard-stepper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-dashboard-task .button,
  .student-dashboard-home-actions .button,
  .student-dashboard-plan-card .button,
  .student-dashboard-saved-card .button {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 420px) {
  .student-topbar-brand strong {
    display: none;
  }

  .student-dashboard-stepper {
    grid-template-columns: 1fr;
  }

  .student-dashboard-stepper li {
    justify-items: start;
    grid-template-columns: 38px minmax(0, 1fr);
    text-align: left;
  }
}

/* =============================================
   Student My Plan Page
   ============================================= */

.student-plan-page {
  display: grid;
  gap: 28px;
  max-width: 1200px;
  margin: 0 auto;
}

.student-plan-header h1 {
  font-size: 30px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 6px;
}

.student-plan-header p {
  font-size: 15px;
  color: #64748b;
  margin: 0;
  max-width: 540px;
  line-height: 1.6;
}

/* Current plan card - 3-column layout */
.student-plan-current-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px;
  align-items: start;
}

.student-plan-current-left {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.student-plan-current-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  flex-shrink: 0;
}

.student-plan-current-icon svg {
  width: 24px;
  height: 24px;
}

.student-plan-current-icon[data-accent="green"] { background: rgba(34, 197, 94, 0.10); color: #15803d; }
.student-plan-current-icon[data-accent="amber"] { background: rgba(245, 158, 11, 0.10); color: #b45309; }
.student-plan-current-icon[data-accent="blue"] { background: rgba(11, 99, 246, 0.10); color: #0b63f6; }
.student-plan-current-icon[data-accent="purple"] { background: rgba(147, 51, 234, 0.10); color: #7c3aed; }

.student-plan-current-plan {
  display: grid;
  gap: 6px;
}

.student-plan-current-label {
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.student-plan-current-plan h2 {
  font-size: 22px;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
}

.student-plan-current-desc {
  font-size: 13px;
  color: #64748b;
  margin: 4px 0 0;
  line-height: 1.5;
}

.student-plan-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  width: fit-content;
}

.student-plan-badge.is-active {
  background: rgba(34, 197, 94, 0.10);
  color: #15803d;
}

/* Middle column - features */
.student-plan-current-features {
  border-left: 1px solid #f1f5f9;
  border-right: 1px solid #f1f5f9;
  padding: 0 24px;
}

.student-plan-current-features-title {
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
  display: block;
  margin-bottom: 14px;
}

.student-plan-current-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.student-plan-current-features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: #475569;
  line-height: 1.5;
}

.student-plan-current-features li svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 2px;
  color: #22c55e;
}

/* Right column - payment + buttons */
.student-plan-current-right {
  display: grid;
  gap: 18px;
}

.student-plan-current-status strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 6px;
}

.student-plan-current-payment-value {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  padding: 3px 12px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
}

.student-plan-current-payment-note {
  font-size: 12px;
  color: #94a3b8;
  margin: 8px 0 0;
  line-height: 1.5;
}

.student-plan-current-actions {
  display: grid;
  gap: 10px;
}

.student-plan-current-actions .button {
  justify-content: center;
  min-height: 44px;
  font-size: 14px;
  font-weight: 700;
}

/* Tablet */
@media (max-width: 1199px) {
  .student-plan-current-card {
    grid-template-columns: 1fr 1fr;
  }

  .student-plan-current-right {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}

/* Mobile */
@media (max-width: 760px) {
  .student-plan-current-card {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
    border-radius: 18px;
  }

  .student-plan-current-features {
    border-left: none;
    border-right: none;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
    padding: 18px 0;
  }

  .student-plan-current-right {
    grid-template-columns: 1fr;
  }

  .student-plan-current-actions .button {
    width: 100%;
  }
}

/* Advisor card */
.student-plan-advisor-card {
  display: flex;
  align-items: center;
  gap: 18px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  padding: 20px 24px;
  box-shadow: 0 2px 16px rgba(15, 23, 42, 0.04);
  flex-wrap: wrap;
}

.student-plan-advisor-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(59, 130, 246, 0.08);
  color: #3b82f6;
  flex-shrink: 0;
}

.student-plan-advisor-icon svg {
  width: 22px;
  height: 22px;
}

.student-plan-advisor-body {
  flex: 1;
  min-width: 200px;
}

.student-plan-advisor-body strong {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}

.student-plan-advisor-body p {
  font-size: 14px;
  color: #64748b;
  margin: 4px 0 0;
  line-height: 1.5;
}

/* Plan cards grid */
.student-plan-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.student-plan-card {
  position: relative;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  padding: 26px 22px;
  box-shadow: 0 2px 16px rgba(15, 23, 42, 0.04);
  display: flex;
  flex-direction: column;
}

.student-plan-card.is-popular {
  border-color: rgba(11, 99, 246, 0.25);
  box-shadow: 0 8px 40px rgba(11, 99, 246, 0.10);
}

.student-plan-card.is-current {
  border-color: rgba(34, 197, 94, 0.2);
  background: rgba(240, 253, 244, 0.3);
}

.student-plan-card-badge {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  padding: 5px 16px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  color: #fff;
  background: #0b63f6;
  box-shadow: 0 2px 12px rgba(11, 99, 246, 0.3);
}

.student-plan-card-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  margin-bottom: 16px;
  flex-shrink: 0;
}

.student-plan-card-icon svg {
  width: 24px;
  height: 24px;
}

.student-plan-card-icon[data-accent="green"] {
  background: rgba(34, 197, 94, 0.10);
  color: #15803d;
}

.student-plan-card-icon[data-accent="amber"] {
  background: rgba(245, 158, 11, 0.10);
  color: #b45309;
}

.student-plan-card-icon[data-accent="blue"] {
  background: rgba(11, 99, 246, 0.10);
  color: #0b63f6;
}

.student-plan-card-icon[data-accent="purple"] {
  background: rgba(147, 51, 234, 0.10);
  color: #7c3aed;
}

.student-plan-card h3 {
  font-size: 20px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 6px;
}

.student-plan-card-purpose {
  font-size: 13px;
  color: #64748b;
  margin: 0 0 18px;
  line-height: 1.5;
  min-height: 36px;
}

.student-plan-card-price {
  margin-bottom: 18px;
}

.student-plan-card-price strong {
  font-size: 32px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1;
}

.student-plan-card-price span {
  display: block;
  font-size: 13px;
  color: #94a3b8;
  margin-top: 4px;
}

.student-plan-card-features {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: grid;
  gap: 10px;
  flex: 1;
}

.student-plan-card-features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: #475569;
  line-height: 1.5;
}

.student-plan-card-features li svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 2px;
  color: #22c55e;
}

.student-plan-card-note {
  font-size: 12px;
  color: #94a3b8;
  margin: 0 0 16px;
  line-height: 1.5;
  padding-top: 12px;
  border-top: 1px solid #f1f5f9;
}

.student-plan-card-cta {
  margin-top: auto;
}

.student-plan-card-cta .button,
.student-plan-card-cta .button-current {
  width: 100%;
  justify-content: center;
  min-height: 46px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 12px;
}

.button-current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: default;
  border: 1px solid;
}

.button-current[data-accent="green"] {
  background: rgba(34, 197, 94, 0.08);
  color: #15803d;
  border-color: rgba(34, 197, 94, 0.2);
}

.button-current[data-accent="amber"] {
  background: rgba(245, 158, 11, 0.08);
  color: #b45309;
  border-color: rgba(245, 158, 11, 0.2);
}

.button-current[data-accent="blue"] {
  background: rgba(11, 99, 246, 0.08);
  color: #0b63f6;
  border-color: rgba(11, 99, 246, 0.2);
}

.button-current[data-accent="purple"] {
  background: rgba(147, 51, 234, 0.08);
  color: #7c3aed;
  border-color: rgba(147, 51, 234, 0.2);
}

/* Compare section */
.student-plan-compare {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding-top: 6px;
}

.student-plan-compare p {
  font-size: 13px;
  color: #94a3b8;
  margin: 0;
}

/* Tablet */
@media (max-width: 1199px) {
  .student-plan-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile */
@media (max-width: 760px) {
  .student-plan-header h1 {
    font-size: 24px;
  }

  .student-plan-cards-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .student-plan-current-card {
    padding: 20px;
    border-radius: 18px;
  }

  .student-plan-current-actions {
    flex-direction: column;
  }

  .student-plan-current-actions .button {
    width: 100%;
    justify-content: center;
  }

  .student-plan-advisor-card {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .student-plan-advisor-card .button {
    width: 100%;
    justify-content: center;
  }
}

/* Student plan active nav state */
.student-route-app-student-plan .student-sidebar-nav a.is-active {
  /* handled via the route class selector above, but ensure plan active via next rule */
}

/* Student plan page active nav state */
.student-route-app-student-plan .student-sidebar-nav a[href*="/student/plan"] {
  background: var(--dashboard-blue, #0b63f6);
  color: #fff;
}

.student-route-app-student-plan .student-mobile-nav-links a[href*="/student/plan"] {
  background: var(--dashboard-blue, #0b63f6);
  color: #fff;
}

/* Student messages page */
.student-route-app-student-messages .student-sidebar-nav a.is-active,
.student-route-app-student-case-messages .student-sidebar-nav a.is-active,
.student-route-app-student-case-message .student-sidebar-nav a.is-active,
.student-route-app-student-case-message-send .student-sidebar-nav a.is-active {
  border: 1px solid #bcd5ff;
  background: #eaf2ff;
  color: #0b63f6;
  box-shadow: inset 4px 0 0 #0b63f6, 0 12px 24px rgba(11, 99, 246, 0.1);
}

.student-messages-page {
  --messages-blue: #0b63f6;
  --messages-navy: #071a44;
  --messages-green: #22c55e;
  --messages-green-dark: #16a34a;
  --messages-border: #e5e7eb;
  --messages-muted: #64748b;
  --messages-text: #0f172a;
  display: grid;
  gap: 24px;
  min-width: 0;
}

.student-messages-header h1 {
  margin: 0;
  color: var(--messages-navy);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.1;
}

.student-messages-header p {
  margin: 8px 0 0;
  color: #475569;
  font-size: 15px;
  font-weight: 750;
}

.student-messages-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(292px, 320px);
  gap: 24px;
  align-items: start;
  min-width: 0;
}

.student-message-conversation,
.student-messages-empty-state,
.student-messages-advisor-card,
.student-messages-quick-card,
.student-messages-trust-card {
  min-width: 0;
  border: 1px solid var(--messages-border);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.student-message-conversation {
  display: grid;
  overflow: hidden;
}

.student-message-conversation-header {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  border-bottom: 1px solid var(--messages-border);
  padding: 20px 24px;
}

.student-message-support-mark {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 18px;
  background: var(--messages-blue);
  color: #ffffff;
  font-size: 24px;
  font-weight: 900;
}

.student-message-conversation-header h2,
.student-messages-advisor-card h2,
.student-messages-quick-card h2,
.student-messages-trust-card h2,
.student-messages-empty-state h2,
.student-messages-thread-empty h2 {
  margin: 0;
  color: var(--messages-navy);
  font-size: 20px;
  font-weight: 950;
  letter-spacing: 0;
}

.student-message-conversation-header p {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 0;
  color: #475569;
  font-size: 14px;
  font-weight: 750;
}

.student-message-conversation-header p span {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #16a34a;
}

.student-message-reference {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  align-items: center;
  justify-items: start;
}

.student-message-reference span {
  grid-column: 1 / -1;
  color: #253b73;
  font-size: 13px;
  font-weight: 750;
}

.student-message-reference strong {
  color: var(--messages-navy);
  font-size: 15px;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.student-message-reference button {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #d8e1ee;
  border-radius: 10px;
  background: #ffffff;
  color: var(--messages-navy);
  cursor: pointer;
  font-weight: 900;
}

.student-message-reference button:hover,
.student-message-reference button:focus-visible,
.student-message-reference button.is-copied {
  border-color: #bcd5ff;
  background: #eaf2ff;
  color: var(--messages-blue);
}

.student-message-thread {
  display: grid;
  gap: 18px;
  min-height: 460px;
  max-height: 58vh;
  overflow-y: auto;
  padding: 24px;
  scroll-behavior: smooth;
}

.student-message-date-separator {
  justify-self: center;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
  font-weight: 850;
  padding: 6px 18px;
}

.student-message-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: end;
  min-width: 0;
}

.student-message-row.is-student {
  grid-template-columns: minmax(0, 1fr);
  justify-items: end;
}

.student-message-row.is-system {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
}

.student-message-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 999px;
  background: #eef4ff;
  color: var(--messages-navy);
  font-weight: 950;
}

.student-message-row.is-ai .student-message-avatar {
  background: #f3e8ff;
  color: #7c3aed;
}

.student-message-bubble {
  display: grid;
  gap: 8px;
  width: fit-content;
  max-width: min(620px, 64%);
  border: 1px solid #dfe7f2;
  border-radius: 18px;
  background: #ffffff;
  color: var(--messages-text);
  padding: 14px 16px;
}

.student-message-row.is-ai .student-message-bubble {
  border-color: #eadcff;
  background: #fbf7ff;
}

.student-message-row.is-student .student-message-bubble {
  border-color: var(--messages-blue);
  background: var(--messages-blue);
  color: #ffffff;
}

.student-message-bubble strong {
  font-size: 13px;
  font-weight: 950;
}

.student-message-bubble p,
.student-message-system-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.student-message-bubble time,
.student-message-system-card time {
  color: #52627a;
  font-size: 12px;
  font-weight: 750;
}

.student-message-row.is-student .student-message-bubble time {
  color: rgba(255, 255, 255, 0.82);
}

.student-message-row.is-student .student-message-bubble time span {
  margin-left: 10px;
}

.student-message-system-card {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  max-width: min(420px, 86%);
  border: 1px solid #bbf7d0;
  border-radius: 16px;
  background: #f0fdf4;
  color: #14532d;
  padding: 12px 16px;
}

.student-message-system-card > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 999px;
  background: var(--messages-green);
  color: #ffffff;
  font-weight: 950;
}

.student-messages-thread-empty {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 12px;
  min-height: 320px;
  text-align: center;
}

.student-messages-thread-empty > span,
.student-messages-empty-state > span,
.student-messages-trust-card > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 14px;
  background: #eaf2ff;
  color: var(--messages-blue);
  font-size: 22px;
}

.student-messages-thread-empty p,
.student-messages-empty-state p,
.student-messages-trust-card p,
.student-messages-advisor-card p {
  margin: 0;
  color: #475569;
  font-size: 14px;
  line-height: 1.65;
}

.student-message-composer {
  border-top: 1px solid var(--messages-border);
  padding: 14px 20px 18px;
}

.student-message-form {
  display: grid;
  gap: 10px;
}

.student-message-topic-row {
  display: grid;
  grid-template-columns: auto minmax(190px, 240px);
  gap: 10px 14px;
  align-items: center;
  width: fit-content;
  max-width: 100%;
}

.student-message-topic-row label {
  color: var(--messages-navy);
  font-size: 13px;
  font-weight: 850;
}

.student-message-topic-control {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  border: 1px solid #d8e1ee;
  border-radius: 12px;
  background: #ffffff;
  padding: 0 12px;
}

.student-message-topic-control span {
  color: var(--messages-blue);
}

.student-message-topic-control select {
  min-width: 0;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--messages-navy);
  font: inherit;
  font-size: 14px;
  font-weight: 850;
  outline: 0;
}

.student-message-input-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  border: 1px solid #d8e1ee;
  border-radius: 16px;
  background: #ffffff;
  padding: 12px;
}

.student-message-input-shell textarea {
  min-height: 68px;
  max-height: 180px;
  border: 0;
  border-radius: 10px;
  color: var(--messages-text);
  font: inherit;
  font-size: 15px;
  line-height: 1.5;
  outline: 0;
  padding: 4px;
  resize: vertical;
}

.student-message-input-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.student-message-icon-button {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 0;
  border-radius: 12px;
  background: #f8fafc;
  color: var(--messages-navy);
}

.student-message-icon-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.student-message-input-actions .button-primary {
  min-width: 180px;
  background: var(--messages-green);
  color: #ffffff;
}

.student-message-input-actions .button-primary:hover,
.student-message-input-actions .button-primary:focus-visible {
  background: var(--messages-green-dark);
}

.student-message-composer-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #64748b;
  font-size: 13px;
  font-weight: 750;
}

.student-message-form .form-error,
.student-message-form .invalid-feedback,
.student-message-form ul {
  grid-column: 1 / -1;
  margin: 0;
  color: #dc2626;
  font-size: 13px;
  font-weight: 800;
  list-style: none;
  padding: 0;
}

.student-messages-aside {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.student-messages-advisor-card,
.student-messages-quick-card,
.student-messages-trust-card {
  display: grid;
  gap: 18px;
  padding: 22px;
}

.student-messages-advisor-profile {
  display: flex;
  align-items: center;
  gap: 14px;
}

.student-messages-advisor-profile > span {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  border-radius: 999px;
  background: #eef4ff;
  color: var(--messages-navy);
  font-size: 22px;
  font-weight: 950;
}

.student-messages-advisor-profile strong,
.student-messages-advisor-profile small {
  display: block;
}

.student-messages-advisor-profile strong {
  color: var(--messages-navy);
  font-size: 17px;
  font-weight: 950;
}

.student-messages-advisor-profile small {
  color: #475569;
  font-size: 13px;
  font-weight: 800;
}

.student-messages-advisor-card .button,
.student-messages-empty-state .button {
  justify-content: center;
}

.student-messages-quick-card a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 42px;
  color: var(--messages-navy);
  font-size: 15px;
  font-weight: 850;
}

.student-messages-quick-card a span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  color: var(--messages-blue);
}

.student-messages-quick-card a em {
  color: var(--messages-blue);
  font-style: normal;
  font-size: 24px;
  line-height: 1;
}

.student-messages-trust-card {
  background: linear-gradient(180deg, #f8fbff, #ffffff);
}

.student-messages-empty-state {
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 42px 24px;
  text-align: center;
}

.student-messages-empty-state div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

@media (max-width: 1180px) {
  .student-messages-layout {
    grid-template-columns: 1fr;
  }

  .student-messages-aside {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .student-message-conversation-header,
  .student-message-input-shell,
  .student-message-topic-row,
  .student-messages-aside {
    grid-template-columns: 1fr;
  }

  .student-message-reference {
    justify-self: start;
  }

  .student-message-thread {
    max-height: none;
    min-height: 360px;
    padding: 16px;
  }

  .student-message-bubble {
    max-width: 86%;
  }
}

@media (max-width: 520px) {
  .student-message-conversation-header,
  .student-message-composer,
  .student-messages-advisor-card,
  .student-messages-quick-card,
  .student-messages-trust-card {
    padding: 16px;
  }

  .student-message-row {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 8px;
  }

  .student-message-avatar {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .student-message-bubble {
    max-width: 92%;
    padding: 13px 14px;
  }

  .student-message-row.is-student .student-message-bubble {
    max-width: 94%;
  }

  .student-message-input-actions {
    align-items: stretch;
    justify-content: stretch;
  }

  .student-message-input-actions .button-primary {
    min-width: 0;
    flex: 1;
  }

  .student-message-composer-meta,
  .student-messages-empty-state div {
    align-items: stretch;
    flex-direction: column;
  }

  .student-messages-empty-state .button {
    width: 100%;
  }
}

/* SpainAdmit multilingual homepage polish: shared spacing, typography, logo, and responsive rhythm. */
.page-section {
  padding-block: clamp(80px, 8vw, 120px);
}

.section-container {
  width: min(100% - 48px, 1180px);
  margin-inline: auto;
}

.section-container-narrow {
  width: min(100% - 48px, 920px);
  margin-inline: auto;
}

.section-container-wide {
  width: min(100% - 48px, 1240px);
  margin-inline: auto;
}

.section-header {
  display: grid;
  gap: 10px;
  max-width: 920px;
  margin-inline: auto;
  margin-bottom: 36px;
  text-align: center;
}

.section-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.section-title {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.04;
  letter-spacing: -0.04em;
  font-weight: 900;
  text-wrap: balance;
}

.section-subtitle {
  max-width: 620px;
  margin-inline: auto;
  font-size: 15px;
  line-height: 1.6;
}

.content-card {
  border-radius: 20px;
  background: #fff;
}

.responsive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 24px;
}

.logo-card {
  width: 160px;
  height: 72px;
  padding: 12px 18px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: #fff;
}

.logo-image {
  max-width: 124px;
  max-height: 42px;
  object-fit: contain;
  object-position: center;
}

.site-header {
  --header-height: 72px;
}

.site-header .header-inner {
  width: min(100% - 48px, 1180px);
  min-height: 72px;
  gap: 24px;
}

.site-header .brand {
  min-width: 0;
  font-size: 23px;
}

.site-header .brand-mark {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
}

.desktop-nav {
  align-items: center;
  gap: 24px;
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.desktop-nav a,
.desktop-nav button,
.desktop-nav .nav-link {
  min-width: 0;
  font-weight: 500;
  line-height: 20px;
  white-space: nowrap;
}

.nav-tools {
  gap: 16px;
}

.login-link {
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
}

.nav-cta {
  min-height: 40px;
  padding-inline: 18px;
  border-radius: 999px;
  font-size: 14px;
  line-height: 20px;
}

.language-button {
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
}

.si-home {
  --home-container: 1180px;
  --home-container-wide: 1240px;
  --home-container-pad: 48px;
  --home-section-gap: 88px;
  overflow-x: clip;
}

.si-home > .container,
.si-home .si-home-hero64-shell,
.si-home-search-shell {
  width: min(100% - var(--home-container-pad), var(--home-container));
  max-width: var(--home-container);
  margin-inline: auto;
}

.si-home .si-home-featured-band > .container {
  width: min(100% - var(--home-container-pad), var(--home-container));
  max-width: var(--home-container);
}

.si-home *,
.si-home *::before,
.si-home *::after {
  min-width: 0;
}

.si-home h1,
.si-home h2,
.si-home h3 {
  overflow-wrap: normal;
  text-wrap: balance;
}

.si-home h1 {
  font-size: clamp(40px, 5vw, 64px);
  line-height: 0.98;
  letter-spacing: -0.045em;
  font-weight: 900;
  text-transform: none;
}

.si-home h2 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.04;
  letter-spacing: -0.04em;
  font-weight: 900;
  text-transform: none;
}

.si-home h3 {
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-weight: 800;
  text-transform: none;
}

.si-home p {
  font-size: 15px;
  line-height: 1.62;
  font-weight: 600;
}

.si-home-eyebrow {
  gap: 8px;
  padding: 8px 12px;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  line-height: 1 !important;
  text-transform: uppercase;
}

.si-home-hero.si-home-hero64 {
  padding: 96px 0 80px;
}

@media (min-width: 1200px) {
  .si-home-hero.si-home-hero64 {
    min-height: auto;
  }
}

.si-home .si-home-hero64-shell {
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  gap: 56px;
  align-items: center;
}

.si-home .si-home-hero64-copy {
  gap: 0;
}

.si-home .si-home-hero64-copy .si-home-eyebrow {
  margin-bottom: 34px;
}

.si-home .si-home-hero64-copy h1 {
  max-width: 620px;
  margin-bottom: 20px;
  font-size: clamp(40px, 5vw, 64px);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.si-home .si-home-hero64-copy h1 span {
  display: inline;
}

.si-home .si-home-hero64-copy > p:not(.si-home-eyebrow),
.si-home .si-home-hero-description {
  max-width: 520px;
  margin: 0 0 28px;
  color: #475569;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 600;
}

.si-home .si-home-hero-actions {
  gap: 14px;
  margin: 0 0 18px;
}

.si-home .si-home-hero-actions .button,
.si-home .button {
  min-height: 46px;
  padding-inline: 22px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 20px;
}

.si-home .si-home-hero-text-cta {
  margin: 0 0 34px;
  font-size: 15px;
  line-height: 1.45;
}

.si-home .si-home-hero-trust-line {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}

.si-home .si-home-hero-visual {
  min-height: 560px;
}

.si-home .si-home-hero-main-image {
  height: 500px;
  border-radius: 28px;
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.13);
}

.si-home .si-home-study-plan-card {
  top: 58px;
  right: 0;
  border-radius: 24px;
  padding: 24px 28px;
}

.si-home .si-home-hero-review-card {
  left: 0;
  bottom: 38px;
  border-radius: 22px;
}

.si-home .si-home-hero-rating-card {
  right: 0;
  bottom: 28px;
  border-radius: 22px;
}

.si-home-partners {
  margin-bottom: 72px;
  padding: 56px 40px;
  border-radius: 28px;
}

.si-home-partners .si-home-section-heading {
  margin-bottom: 36px;
}

.si-home-section-heading {
  gap: 10px;
  max-width: 920px;
  margin-bottom: 36px;
}

.si-home-section-heading .si-home-eyebrow {
  margin-bottom: 0;
}

.si-home-section-heading h2 {
  max-width: 760px;
  margin-inline: auto;
}

.si-home-section-heading p:not(.si-home-eyebrow) {
  max-width: 620px;
  margin-top: 4px;
  font-size: 15px;
  line-height: 1.6;
}

.si-home-partner-row {
  overflow: hidden;
}

.si-home-partner-track {
  gap: 16px;
}

.si-home-partner-pill {
  width: 160px;
  min-width: 160px;
  height: 72px;
  padding: 12px 18px;
  border-color: rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(28, 46, 92, 0.05);
}

.si-home-partner-pill img {
  width: auto;
  height: auto;
  max-width: 124px;
  max-height: 42px;
  object-fit: contain;
  object-position: center;
}

.si-home-search-finder {
  margin: 0 0 72px;
  padding: 80px 0 32px;
  background:
    linear-gradient(180deg, rgba(238, 243, 255, 0.92) 0%, rgba(247, 250, 255, 0.98) 78%, rgba(255, 255, 255, 0.82) 100%),
    radial-gradient(circle at 14% 0%, rgba(47, 85, 255, 0.12), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(34, 197, 94, 0.1), transparent 30%);
}

.si-home-search-finder .si-home-section-heading {
  margin-bottom: 36px;
}

.si-home-search-shell {
  padding-top: 0;
}

.si-home-search-tabs {
  position: relative;
  top: auto;
  left: auto;
  width: fit-content;
  max-width: 100%;
  height: 44px;
  margin: 0 auto -18px;
  padding: 4px;
  transform: none;
}

.si-home-search-tab {
  min-width: 0;
  height: 36px;
  padding-inline: 18px;
  font-size: 13px;
  line-height: 18px;
}

.si-home-search-card {
  max-width: 1060px;
  margin: 0 auto 56px;
  border-radius: 24px;
  padding: 28px;
}

.si-home-search-form,
.si-home-search-form.is-single-field {
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
  gap: 16px;
  max-width: none;
}

.si-home-search-field {
  gap: 8px;
}

.si-home-search-field > label {
  font-size: 13px;
  line-height: 18px;
  font-weight: 800;
}

.si-home-search-control input,
.si-home-search-control select {
  height: 48px;
  border-radius: 12px;
  padding-inline: 14px 42px;
  font-size: 15px;
  font-weight: 650;
}

.si-home-search-chevron {
  right: 14px;
  width: 18px;
  height: 18px;
}

.si-home-search-submit {
  width: auto;
  min-width: 112px;
  height: 48px;
  border-radius: 14px;
  padding-inline: 22px;
  font-size: 15px;
}

.si-home-search-helper {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.5;
}

.si-home-global-map {
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 56px;
  margin-bottom: 80px;
  padding: 56px;
  border-radius: 28px;
}

.si-home-global-map-copy {
  max-width: 430px;
  gap: 16px;
}

.si-home-global-map-copy h2 {
  margin-bottom: 0;
  line-height: 1.04;
}

.si-home-global-map-copy p:not(.si-home-eyebrow) {
  font-size: 15px;
  line-height: 1.6;
}

.si-home-globe-viewport {
  min-height: 320px;
  height: clamp(320px, 34vw, 460px);
  border-radius: 20px;
}

.si-home-globe-map {
  width: min(calc(100% - 28px), 900px);
  border-radius: 18px;
}

.si-home-section,
.si-home-journey,
.si-home-categories,
.si-home-insights {
  margin-bottom: 80px;
}

.si-home-journey {
  padding: 32px;
  border-radius: 28px;
}

.si-home-journey .si-home-section-heading {
  margin-bottom: 36px;
}

.si-home-journey-grid {
  gap: 20px;
}

.si-home-journey-card {
  min-height: 180px;
  padding: 24px;
  border-radius: 22px;
}

.si-home-journey-card .si-home-action-icon-wrap {
  width: 36px;
  height: 36px;
  margin-bottom: 28px;
  border-radius: 12px;
}

.si-home-journey-card .si-home-action-icon {
  width: 21px;
  height: 21px;
}

.si-home-journey-card h3 {
  margin-top: 22px;
  margin-bottom: 10px;
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: -0.02em;
  text-transform: none;
}

.si-home-journey-card p {
  font-size: 14px;
  line-height: 1.5;
}

.si-home-journey-card.is-dark h3,
.si-home-journey-card.is-dark p {
  color: #fff;
}

.si-home-featured-band {
  margin-bottom: 80px;
  padding: 80px 0;
}

.si-home-program-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.si-home-program-card {
  border-radius: 20px;
}

.si-home-program-image {
  height: 190px;
}

.si-home-program-body {
  gap: 10px;
  padding: 20px;
}

.si-home-program-body h3 {
  font-size: 17px;
  line-height: 1.25;
}

.si-home-program-body > p,
.si-home-program-body dd {
  font-size: 13px;
  line-height: 1.45;
}

.si-home-program-body dt {
  font-size: 12px;
  line-height: 1.35;
}

.si-home-centered-action {
  margin-top: 36px;
}

.si-home-centered-action .button {
  min-height: 42px;
  padding-inline: 20px;
}

.si-home-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  max-width: 1180px;
}

.si-home-category-card {
  max-width: none;
  min-height: 150px;
  padding: 24px;
  border-radius: 20px;
}

.si-home-category-icon-wrap {
  width: 32px;
  height: 32px;
  margin-bottom: 18px;
  border-radius: 12px;
}

.si-home-category-icon {
  width: 20px;
  height: 20px;
}

.si-home-category-card h3 {
  margin-top: 0;
  font-size: 16px;
  line-height: 1.25;
}

.si-home-category-card p {
  font-size: 14px;
  line-height: 1.5;
}

.si-home-join {
  margin-bottom: 72px;
  padding: 64px 32px;
  border-radius: 28px;
}

.si-home-portrait-row {
  margin-bottom: 22px;
}

.si-home-join h2 {
  max-width: 600px;
  margin-inline: auto;
  margin-bottom: 14px;
}

.si-home-join p {
  max-width: 520px;
  margin-inline: auto;
  font-size: 15px;
  line-height: 1.6;
}

.si-home-join .si-home-actions {
  gap: 14px;
  margin-top: 28px;
}

.si-home-join .button {
  min-height: 44px;
}

.si-home-contact {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
  margin-bottom: 80px;
  padding: 32px;
  border-radius: 24px;
}

.si-home-contact-form {
  gap: 16px;
  padding: 32px;
  border-radius: 24px;
}

.si-home-contact-field {
  gap: 8px;
}

.si-home-contact-field span {
  font-size: 13px;
  line-height: 18px;
}

.si-home-contact-field input,
.si-home-contact-field select {
  height: 48px;
  border-radius: 12px;
  padding-inline: 14px;
  font-size: 14px;
}

.si-home-contact-field textarea {
  min-height: 120px;
  border-radius: 12px;
  padding: 14px;
  font-size: 14px;
}

.si-home-contact-form .button {
  width: 100%;
  min-height: 48px;
  border-radius: 14px;
  font-size: 15px;
}

.si-home-faq {
  gap: 48px;
  margin-bottom: 72px;
}

.si-home-faq-item {
  border-radius: 16px;
}

.si-home-faq-item summary {
  min-height: 0;
  padding: 20px 18px;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
}

.si-home-faq-item p {
  padding: 0 18px 20px;
  font-size: 14px;
  line-height: 1.6;
}

.si-home-faq-item summary::after {
  width: 28px;
  height: 28px;
}

.si-home-faq-cta {
  padding: 24px;
  border-radius: 20px;
}

.si-home-faq-cta .button {
  min-height: 42px;
}

.site-footer {
  padding: 72px 0 40px;
  background: #f7fbff;
}

.footer-grid {
  width: min(100% - 48px, 1180px);
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 0.75fr) minmax(460px, 1.6fr);
  gap: 32px;
  padding: 40px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(28, 46, 92, 0.07);
}

.footer-brand p {
  max-width: 280px;
  font-size: 14px;
  line-height: 1.6;
}

.footer-links {
  gap: 32px;
  border-radius: 20px;
  padding: 28px;
}

.footer-links h3 {
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 1.3;
}

.footer-links a {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.7;
}

.footer-bottom {
  width: min(100% - 48px, 1180px);
  margin-top: 24px;
}

@media (max-width: 1023px) {
  .si-home > .container,
  .si-home .si-home-hero64-shell,
  .si-home-search-shell,
  .si-home .si-home-featured-band > .container {
    width: min(100% - 48px, var(--home-container));
  }

  .si-home .si-home-hero.si-home-hero64 {
    padding: 80px 0 72px;
  }

  .si-home .si-home-hero64-shell {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .si-home .si-home-hero64-copy {
    max-width: 760px;
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: clamp(42px, 6vw, 56px);
  }

  .si-home .si-home-hero-visual {
    max-width: 760px;
    min-height: 0;
    display: grid;
    gap: 16px;
  }

  .si-home .si-home-hero-main-image,
  .si-home .si-home-study-plan-card,
  .si-home .si-home-hero-review-card,
  .si-home .si-home-hero-rating-card {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
  }

  .si-home .si-home-hero-main-image {
    height: 390px;
  }

  .si-home-journey-grid,
  .si-home-program-grid,
  .si-home-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .si-home-search-form,
  .si-home-search-form.is-single-field {
    grid-template-columns: 1fr;
  }

  .si-home-search-submit {
    width: 100%;
    min-width: 0;
  }

  .si-home-global-map,
  .si-home-contact,
  .si-home-faq {
    grid-template-columns: 1fr;
  }

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

  .footer-links {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  :root {
    --header-height: 64px;
  }

  .header-avatar,
  .header-avatar-fallback,
  .header-avatar-button {
    width: 34px;
    height: 34px;
  }

  .nav-tools {
    gap: 10px;
  }

  .page-section {
    padding-block: 64px;
  }

  .section-container,
  .section-container-narrow,
  .section-container-wide,
  .site-header .header-inner,
  .footer-grid,
  .footer-bottom {
    width: min(100% - 32px, 1180px);
  }

  .section-header {
    margin-bottom: 28px;
  }

  .site-header .header-inner {
    min-height: 64px;
  }

  .site-header .brand {
    font-size: 20px;
  }

  .si-home {
    --home-container-pad: 32px;
    --home-section-gap: 64px;
  }

  .si-home h1 {
    font-size: clamp(38px, 11vw, 44px);
    line-height: 1.08;
  }

  .si-home h2 {
    font-size: clamp(28px, 9vw, 34px);
    line-height: 1.08;
  }

  .si-home p {
    font-size: 14px;
  }

  .si-home .si-home-hero.si-home-hero64 {
    padding: 72px 0 64px;
  }

  .si-home .si-home-hero64-shell {
    width: min(100% - 48px, 720px);
    gap: 32px;
  }

  .si-home .si-home-hero64-copy {
    align-items: center;
    text-align: center;
  }

  .si-home .si-home-hero64-copy .si-home-eyebrow {
    margin: 0 auto 32px;
  }

  .si-home .si-home-hero64-copy h1 {
    max-width: 680px;
    margin-bottom: 24px;
    font-size: clamp(38px, 10.8vw, 44px);
    line-height: 1.08;
    text-align: center;
  }

  .si-home .si-home-hero64-copy > p:not(.si-home-eyebrow),
  .si-home .si-home-hero-description {
    margin-bottom: 36px;
    font-size: 17px;
    line-height: 1.55;
    text-align: center;
  }

  .si-home .si-home-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    width: 100%;
    margin-bottom: 22px;
  }

  .si-home .si-home-hero-actions .button {
    width: 100%;
    min-height: 56px;
    border-radius: 14px;
    font-size: 16px;
  }

  .si-home .si-home-hero-text-cta {
    margin-bottom: 32px;
    font-size: 16px;
  }

  .si-home .si-home-hero-main-image,
  .si-home .si-home-study-plan-card,
  .si-home .si-home-hero-review-card {
    display: none;
  }

  .si-home .si-home-hero-rating-card {
    display: block;
    padding: 18px 20px;
    border-radius: 18px;
  }

  .si-home-partners,
  .si-home-join,
  .si-home-contact {
    padding: 36px 20px;
  }

  .si-home-partners,
  .si-home-global-map,
  .si-home-section,
  .si-home-journey,
  .si-home-categories,
  .si-home-featured-band,
  .si-home-join,
  .si-home-contact,
  .si-home-faq {
    margin-bottom: 64px;
  }

  .si-home-search-finder {
    margin-bottom: 48px;
    padding: 64px 0 8px;
  }

  .si-home-search-card {
    margin-bottom: 40px;
    padding: 20px;
  }

  .si-home-search-tabs {
    justify-content: flex-start;
    width: max-content;
    max-width: 100%;
    overflow-x: auto;
  }

  .si-home-search-tab {
    flex: 0 0 auto;
  }

  .si-home-search-control input,
  .si-home-search-control select,
  .si-home-search-submit {
    height: 48px;
    font-size: 15px;
  }

  .si-home-search-helper {
    width: min(100%, 32ch);
    font-size: 13px;
  }

  .si-home-global-map {
    padding: 24px;
    border-radius: 28px;
    gap: 32px;
  }

  .si-home-globe-viewport {
    min-height: 220px;
    height: clamp(220px, 72vw, 320px);
  }

  .si-home-globe-info-card {
    width: min(220px, calc(100% - 116px));
  }

  .si-home-journey {
    padding: 20px;
  }

  .si-home-journey-grid,
  .si-home-program-grid,
  .si-home-category-grid,
  .si-home-contact-form {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .si-home-program-image {
    height: 200px;
  }

  .si-home-join {
    padding: 44px 20px;
  }

  .si-home-join .si-home-actions {
    flex-direction: column;
    width: 100%;
  }

  .si-home-contact {
    gap: 28px;
  }

  .si-home-contact-form {
    padding: 22px;
  }

  .si-home-faq {
    gap: 28px;
  }

  .logo-card,
  .si-home-partner-pill {
    width: 132px;
    min-width: 132px;
    height: 64px;
    padding: 10px 14px;
  }

  .logo-image,
  .si-home-partner-pill img {
    max-width: 104px;
    max-height: 36px;
  }

  .si-home-partner-track {
    gap: 12px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .footer-links {
    grid-template-columns: 1fr;
  }

  .site-footer {
    padding: 56px 0 32px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .logo-card,
  .si-home-partner-pill {
    width: 144px;
    min-width: 144px;
    height: 68px;
  }

  .logo-image,
  .si-home-partner-pill img {
    max-width: 116px;
    max-height: 40px;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .site-header .header-inner {
    width: min(100% - 32px, 1180px);
    gap: 16px;
  }

  .site-header .brand {
    gap: 8px;
    font-size: 20px;
  }

  .site-header .brand-mark {
    width: 28px;
    height: 28px;
  }

  .desktop-nav {
    justify-content: flex-start;
    gap: 14px;
    font-size: 13px;
  }

  .desktop-nav .desktop-nav-dropdown > summary.nav-link,
  .desktop-nav .nav-link {
    padding-inline: 0;
  }

  .nav-tools {
    gap: 10px;
  }

  .login-link {
    font-size: 13px;
  }

  .nav-cta {
    min-height: 38px;
    max-width: 224px;
    padding-inline: 12px;
    font-size: 12px;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
  }

  .si-home .si-home-hero.si-home-hero64 {
    padding: 88px 0 80px;
  }

  .si-home .si-home-hero64-shell {
    width: min(100% - 48px, var(--home-container));
    grid-template-columns: minmax(0, 0.92fr) minmax(460px, 1.08fr);
    gap: 48px;
    align-items: center;
  }

  .si-home .si-home-hero64-copy h1 {
    font-size: clamp(46px, 5.2vw, 58px);
  }

  .si-home .si-home-hero-visual {
    display: block;
    min-height: 560px;
    max-width: 620px;
  }

  .si-home .si-home-hero-main-image {
    position: absolute;
    inset: 0 0 auto 0;
    width: 100%;
    height: 500px;
    max-width: none;
  }

  .si-home .si-home-study-plan-card {
    position: absolute;
    top: 58px;
    right: 0;
    width: min(330px, calc(100% - 38px));
    max-width: none;
  }

  .si-home .si-home-hero-review-card {
    position: absolute;
    bottom: 38px;
    left: 0;
    width: min(300px, calc(100% - 54px));
    max-width: none;
  }

  .si-home .si-home-hero-rating-card {
    position: absolute;
    right: 0;
    bottom: 28px;
    width: min(390px, calc(100% - 40px));
    max-width: none;
  }
}

@media (min-width: 1440px) {
  .si-home > .container,
  .si-home .si-home-hero64-shell,
  .si-home-search-shell,
  .si-home .si-home-featured-band > .container {
    width: min(100% - 48px, var(--home-container));
  }
}

/* Desktop-only homepage hero composition fix. Keeps mobile and lower homepage sections unchanged. */
@media (min-width: 1024px) {
  .si-home .si-home-hero.si-home-hero64 {
    position: relative;
    overflow: hidden;
    padding-top: clamp(88px, 7vw, 116px);
    padding-bottom: clamp(96px, 7vw, 132px);
    background:
      linear-gradient(
        180deg,
        rgba(37, 99, 235, 0.10) 0%,
        rgba(239, 246, 255, 0.55) 24%,
        rgba(255, 255, 255, 0.96) 68%
      ),
      radial-gradient(circle at 76% 34%, rgba(37, 99, 235, 0.12), transparent 34%),
      radial-gradient(circle at 18% 82%, rgba(34, 197, 94, 0.10), transparent 30%);
  }

  .si-home .si-home-hero.si-home-hero64::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
      radial-gradient(circle at 78% 48%, rgba(37, 99, 235, 0.10), transparent 36%),
      radial-gradient(circle at 16% 84%, rgba(34, 197, 94, 0.08), transparent 30%);
  }

  .si-home .si-home-hero64-shell {
    position: relative;
    z-index: 1;
    width: min(100% - 48px, 1180px);
    max-width: 1180px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(560px, 1.08fr);
    align-items: center;
    gap: clamp(76px, 7vw, 112px);
  }

  .si-home .si-home-hero64-copy,
  .si-home .si-home-hero-visual {
    min-width: 0;
  }

  .si-home .si-home-hero64-copy .si-home-eyebrow {
    margin-bottom: 34px;
  }

  .si-home .si-home-hero64-copy h1 {
    max-width: 620px;
    margin: 0 0 28px;
    font-size: clamp(56px, 5vw, 76px);
    line-height: 0.95;
    letter-spacing: -0.06em;
    font-weight: 900;
    text-wrap: balance;
  }

  .si-home .si-home-hero-description-desktop {
    display: block;
    max-width: 610px;
    margin: 0 0 30px;
    color: #64748b;
    font-size: clamp(18px, 1.2vw, 21px);
    line-height: 1.5;
    font-weight: 600;
  }

  .si-home .si-home-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 0 22px;
    background: transparent !important;
    box-shadow: none !important;
  }

  .si-home .si-home-hero-actions .button {
    min-height: 54px;
    padding-inline: 28px;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 800;
  }

  .si-home .si-home-hero-actions .button-primary {
    box-shadow: none;
  }

  .si-home .si-home-hero-actions .pulsating-button::before {
    display: none;
  }

  .si-home .si-home-hero-text-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 2px 0 0;
    font-size: 16px;
    font-weight: 800;
  }

  .si-home .si-home-hero-trust-line {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    margin-top: 54px;
    max-width: 520px;
    color: #64748b;
    font-size: 15px;
    line-height: 1.55;
    font-weight: 700;
  }

  .si-home .si-home-hero-trust-line > span {
    width: 48px;
    height: 48px;
    margin-bottom: 0;
    border-radius: 16px;
  }

  .si-home .si-home-hero-visual {
    position: relative;
    justify-self: end;
    width: min(780px, calc(100% + 180px));
    min-height: 600px;
    isolation: isolate;
  }

  .si-home .si-home-study-plan-card {
    display: none !important;
  }

  .si-home .si-home-hero-main-image {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    width: min(100%, 600px);
    height: 420px;
    overflow: hidden;
    border-radius: 32px;
    box-shadow: 0 34px 90px rgba(15, 23, 42, 0.18);
    z-index: 1;
  }

  .si-home .si-home-hero-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .si-home .si-home-hero-review-card {
    position: absolute;
    left: 96px;
    top: 330px;
    bottom: auto;
    width: 280px;
    min-height: 210px;
    padding: 30px;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.14);
    z-index: 3;
  }

  .si-home .si-home-hero-review-card blockquote,
  .si-home .si-home-hero-review-card p {
    margin-bottom: 22px;
    font-size: 16px;
    line-height: 1.48;
    font-weight: 700;
  }

  .si-home .si-home-hero-rating-card {
    position: absolute;
    top: 380px;
    right: 0;
    bottom: auto;
    width: 380px;
    padding: 28px 32px;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.16);
    z-index: 4;
  }
}

@media (min-width: 1024px) and (max-width: 1240px) {
  .si-home .si-home-hero64-shell {
    grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
    gap: 72px;
  }

  .si-home .si-home-hero-visual {
    width: min(730px, calc(100% + 170px));
    min-height: 850px;
  }

  .si-home .si-home-hero-main-image {
    width: 560px;
    height: 405px;
  }

  .si-home .si-home-hero-review-card {
    top: 390px;
    width: 280px;
    padding: 26px;
  }

  .si-home .si-home-hero-rating-card {
    top: 655px;
    right: 0;
    width: 330px;
    padding: 24px 20px;
  }

  .si-home .si-home-hero-rating-header {
    gap: 10px;
  }

  .si-home .si-home-hero-rating-stars span {
    width: 26px;
    height: 26px;
    font-size: 15px;
  }

  .si-home .si-home-hero-rating-brand {
    gap: 6px;
  }

  .si-home .si-home-hero-rating-brand > span {
    font-size: 27px;
  }

  .si-home .si-home-hero-rating-brand strong {
    font-size: 19px;
  }

  .si-home .si-home-hero-rating-details {
    gap: 14px;
  }

  .si-home .si-home-hero-rating-verified {
    padding-left: 14px;
  }
}

@media (min-width: 1320px) {
  .si-home .si-home-hero-visual {
    right: -72px;
  }

  .si-home .si-home-hero-review-card {
    left: 68px;
    width: 280px;
  }

  .si-home .si-home-hero-rating-card {
    width: 410px;
  }
}

/* Desktop layout dimension normalization for standard wide screens. */
@media (min-width: 1200px) {
  :root {
    --container: 1600px;
  }

  body,
  main,
  .si-home,
  .site-header,
  .site-footer,
  .si-home-hero,
  .si-home-search-finder,
  .si-home-featured-band {
    width: 100%;
    max-width: none;
  }

  .container,
  .site-header .header-inner,
  .footer-grid,
  .footer-bottom {
    width: min(100% - clamp(64px, 6vw, 120px), 1600px);
    max-width: 1600px;
  }

  .si-home {
    --home-container: 1560px;
    --home-container-wide: 1600px;
    --home-container-pad: clamp(64px, 6vw, 120px);
  }

  .si-home > .container,
  .si-home-search-shell,
  .si-home .si-home-featured-band > .container {
    width: min(100% - var(--home-container-pad), var(--home-container));
    max-width: var(--home-container);
  }

  .si-home .si-home-hero.si-home-hero64 {
    min-height: calc(100vh - var(--header-height));
    display: flex;
    align-items: center;
  }

  .si-home .si-home-hero64-shell {
    width: min(100% - var(--home-container-pad), var(--home-container));
    max-width: var(--home-container);
    grid-template-columns: minmax(0, 0.88fr) minmax(620px, 1.12fr);
    gap: clamp(88px, 7vw, 136px);
  }

  .si-home .si-home-hero-visual {
    right: 0;
    width: min(900px, calc(100% + 220px));
    min-height: clamp(640px, 58vh, 760px);
  }

  .si-home .si-home-hero-main-image {
    width: min(100%, 700px);
    height: clamp(440px, 42vh, 540px);
  }

  .si-home .si-home-hero-review-card {
    left: 150px;
    top: clamp(350px, 34vh, 440px);
  }

  .si-home .si-home-hero-rating-card {
    top: clamp(410px, 40vh, 500px);
  }

  .si-home-category-grid,
  .si-home-program-grid,
  .si-home-journey-grid {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 767px) {
  html,
  body,
  main,
  .si-home {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .si-home .si-home-hero64-shell {
    width: min(100% - 32px, 720px);
    max-width: calc(100vw - 32px);
  }

  .si-home .si-home-hero64-copy,
  .si-home .si-home-hero-actions,
  .si-home .si-home-hero-actions .button,
  .si-home .si-home-hero-rating-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .si-home .si-home-hero64-copy h1,
  .si-home .si-home-hero-description,
  .si-home .si-home-hero-text-cta,
  .si-home .si-home-hero-trust-line {
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .si-home .si-home-hero-rating-header,
  .si-home .si-home-hero-rating-details {
    max-width: 100%;
  }
}

@media (min-width: 1600px) {
  .si-home .si-home-hero64-shell {
    grid-template-columns: minmax(0, 0.92fr) minmax(700px, 1.08fr);
  }

  .si-home .si-home-hero-visual {
    right: 0;
    width: min(940px, 100%);
  }

  .si-home .si-home-hero-review-card {
    left: 0;
    width: 320px;
  }

  .si-home .si-home-hero-rating-card {
    width: 440px;
  }
}
