/* ICT Academy Suriname — official public experience v6
   Compact institutional shell, dimensional official logo treatment, editorial
   white/blue surfaces and progressive, accessible interaction states. */
@import url("academy-pro-v5.css?v=20260820-pro5");

:root {
  color-scheme: light;
  --v6-navy-950: #001a3d;
  --v6-navy-900: #002657;
  --v6-navy-800: #073b70;
  --v6-blue-700: #075fa8;
  --v6-blue-600: #0a72c1;
  --v6-blue-500: #218bd6;
  --v6-blue-200: #b9ddf7;
  --v6-blue-100: #e4f3fe;
  --v6-blue-50: #f2f8fd;
  --v6-ink: #10273e;
  --v6-muted: #4d6479;
  --v6-paper: #ffffff;
  --v6-canvas: #f5f8fc;
  --v6-line: rgba(0, 38, 87, .12);
  --v6-line-strong: rgba(0, 38, 87, .22);
  --v6-focus: #0874c9;
  --v6-shadow-xs: 0 1px 2px rgba(0, 31, 72, .04), 0 8px 24px rgba(0, 31, 72, .055);
  --v6-shadow-sm: 0 14px 36px rgba(0, 31, 72, .08);
  --v6-shadow-md: 0 26px 70px rgba(0, 31, 72, .13);
  --v6-shadow-float: 0 18px 40px rgba(0, 31, 72, .16), 0 2px 8px rgba(0, 31, 72, .08);
  --v6-radius-sm: .8rem;
  --v6-radius: 1.35rem;
  --v6-radius-lg: 2rem;
  --v6-radius-xl: 2.5rem;
  --v6-header: 4.75rem;
  --v6-content: 78rem;
  --v6-wide: 92rem;

  /* Keep inherited components on the same official blue system. */
  --v5-navy: var(--v6-navy-900);
  --v5-navy-2: var(--v6-navy-800);
  --v5-blue: var(--v6-blue-600);
  --v5-blue-dark: var(--v6-blue-700);
  --v5-sky: var(--v6-blue-100);
  --v5-sky-2: var(--v6-blue-50);
  --v5-ink: var(--v6-ink);
  --v5-muted: var(--v6-muted);
  --v5-paper: var(--v6-paper);
  --v5-canvas: var(--v6-canvas);
  --v5-line: var(--v6-line);
  --v5-line-strong: var(--v6-line-strong);
  --v5-shadow-sm: var(--v6-shadow-xs);
  --v5-shadow: var(--v6-shadow-md);
  --v5-radius-sm: var(--v6-radius-sm);
  --v5-radius: var(--v6-radius);
  --v5-radius-lg: var(--v6-radius-lg);
  --v5-header: var(--v6-header);
  --v5-content: var(--v6-content);
  --v5-wide: var(--v6-wide);
}

html {
  scroll-padding-top: calc(var(--v6-header) + 1.25rem);
  background: var(--v6-canvas);
}

body {
  color: var(--v6-ink);
  background:
    radial-gradient(circle at 8% 9rem, rgba(33, 139, 214, .08), transparent 22rem),
    linear-gradient(180deg, #fbfdff 0, var(--v6-canvas) 34rem, var(--v6-canvas) 100%);
  font-feature-settings: "kern" 1, "liga" 1;
  text-rendering: optimizeLegibility;
}

:where(h1, h2, h3, h4) {
  color: var(--v6-navy-900);
  font-variation-settings: "opsz" 48;
}

:where(p, li, dd) { color: var(--v6-muted); }
:where(a, button, input, select, textarea, summary) { -webkit-tap-highlight-color: transparent; }
:where(img, picture, video) { max-width: 100%; }

/* Keep the new high-key photography crisp without the washed-out 1.15
   brightness treatment inherited from earlier concept layers. */
main picture img {
  filter: brightness(1.035) saturate(1.03) contrast(1.015);
}

/* The official logo remains unchanged. Its containing plaque creates the
   requested dimensional overlap without redrawing or distorting the asset. */
@media (min-width: 981px) {
  .wayfinder {
    height: var(--v6-header);
    grid-template-columns: minmax(14.25rem, 16.5rem) minmax(0, 1fr) auto;
    gap: clamp(.45rem, 1.2vw, 1.15rem);
    padding-inline: clamp(.9rem, 2.3vw, 2.6rem);
    overflow: visible;
    border-bottom: 1px solid rgba(0, 38, 87, .1);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 1px 0 rgba(255,255,255,.8), 0 12px 34px rgba(0,31,72,.075);
    -webkit-backdrop-filter: saturate(145%) blur(18px);
    backdrop-filter: saturate(145%) blur(18px);
  }

  .brand-lockup,
  body[data-page="home"] .brand-lockup {
    position: relative;
    z-index: 3;
    align-self: start;
    width: 100%;
    height: 6.35rem;
    min-height: 6.35rem;
    margin: 0;
    padding: .55rem .85rem .75rem;
    overflow: visible;
    border: 1px solid rgba(0, 38, 87, .11);
    border-top: 0;
    border-radius: 0 0 1.35rem 1.35rem;
    background: linear-gradient(155deg, #fff 0%, #f9fcff 72%, #e9f4fd 100%);
    box-shadow: var(--v6-shadow-float);
    transform: perspective(900px) rotateX(.7deg) translateZ(0);
    transform-origin: top center;
    transition: box-shadow .24s ease, transform .24s ease;
  }

  .brand-lockup::after {
    content: "";
    position: absolute;
    inset: auto 1rem -.32rem;
    z-index: -1;
    height: .65rem;
    border-radius: 50%;
    background: rgba(0, 38, 87, .13);
    filter: blur(.45rem);
    pointer-events: none;
  }

  .brand-lockup img,
  body[data-page="home"] .brand-lockup img {
    width: min(100%, 14.7rem);
    max-height: 5rem;
    object-fit: contain;
    object-position: left center;
    filter: drop-shadow(0 .45rem .55rem rgba(0, 38, 87, .12));
    transform: translateZ(0);
  }

  .brand-lockup:hover {
    box-shadow: 0 23px 48px rgba(0,31,72,.18), 0 3px 10px rgba(0,31,72,.08);
    transform: perspective(900px) rotateX(0deg) translateY(-1px);
  }

  .route-map {
    min-width: 0;
    justify-content: flex-end;
    gap: .12rem;
  }

  .route-link {
    min-height: 2.75rem;
    padding: .62rem clamp(.42rem, .72vw, .74rem);
    color: #263e54;
    border: 1px solid transparent;
    border-radius: .75rem;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
  }

  .route-link strong {
    font-size: clamp(.72rem, .71vw, .84rem);
    font-weight: 680;
    letter-spacing: -.012em;
  }

  .route-link::after {
    inset-inline: .65rem;
    bottom: .18rem;
    height: 2px;
    background: var(--v6-blue-600);
  }

  .route-link:hover,
  .route-link:focus-visible {
    color: var(--v6-navy-900);
    border-color: rgba(10, 114, 193, .11);
    background: var(--v6-blue-50);
    transform: translateY(-1px);
  }

  .route-link.is-active,
  .route-link[aria-current="page"] {
    color: var(--v6-navy-900);
    border-color: rgba(10, 114, 193, .12);
    background: linear-gradient(180deg, #f9fcff, #edf6fd);
  }

  .wayfinder-actions { gap: .4rem; }

  .join-link,
  .language-button {
    min-height: 2.75rem;
    border-radius: .75rem;
  }

  .join-link {
    padding-inline: .9rem;
    border-color: var(--v6-navy-900);
    background: linear-gradient(135deg, var(--v6-navy-900), var(--v6-navy-800));
    box-shadow: 0 8px 18px rgba(0, 38, 87, .16);
    font-size: .78rem;
    font-weight: 700;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  }

  .join-link:hover,
  .join-link:focus-visible {
    background: var(--v6-navy-800);
    box-shadow: 0 12px 24px rgba(0, 38, 87, .2);
    transform: translateY(-2px);
  }

  .language-button {
    min-width: 2.75rem;
    padding-inline: .62rem;
    border-color: var(--v6-line-strong);
    background: rgba(255,255,255,.82);
  }

  .wayfinder-actions > .language-menu {
    top: calc(100% + .55rem);
    bottom: auto;
    border: 1px solid var(--v6-line);
    border-radius: 1rem;
    background: rgba(255,255,255,.98);
    box-shadow: var(--v6-shadow-md);
    transform-origin: top right;
  }

  main { padding-top: var(--v6-header); }
}

@media (min-width: 981px) and (max-width: 1240px) {
  .wayfinder {
    grid-template-columns: minmax(11.8rem, 13.4rem) minmax(0, 1fr) auto;
    gap: .35rem;
    padding-inline: .8rem;
  }

  .brand-lockup,
  body[data-page="home"] .brand-lockup { height: 5.8rem; min-height: 5.8rem; padding-inline: .62rem; }
  .brand-lockup img,
  body[data-page="home"] .brand-lockup img { width: min(100%, 12.4rem); max-height: 4.55rem; }
  .route-link { padding-inline: .34rem; }
  .route-link strong { font-size: .68rem; }
  .join-link { padding-inline: .66rem; }
}

/* Mobile/tablet retains the existing accessible dialog. The dimensional logo
   stays partly below the slimmer bar without blocking the menu control. */
@media (max-width: 980px) {
  :root { --v6-header: 4.25rem; --v5-header: var(--v6-header); }

  .wayfinder {
    height: var(--v6-header);
    padding: .4rem 5.6rem .4rem .7rem;
    overflow: visible;
    border-bottom-color: var(--v6-line);
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 28px rgba(0,31,72,.075);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
  }

  .brand-lockup,
  body[data-page="home"] .brand-lockup {
    position: relative;
    z-index: 2;
    width: min(12.8rem, 66vw);
    height: 5.1rem;
    min-height: 5.1rem;
    padding: .38rem .6rem .55rem;
    border: 1px solid var(--v6-line);
    border-top: 0;
    border-radius: 0 0 1rem 1rem;
    background: linear-gradient(150deg, #fff, #eef7fe);
    box-shadow: 0 14px 26px rgba(0,31,72,.13);
  }

  .brand-lockup img,
  body[data-page="home"] .brand-lockup img {
    width: min(100%, 11.6rem);
    max-height: 4.05rem;
    filter: drop-shadow(0 .3rem .4rem rgba(0,38,87,.11));
  }

  .mobile-map-trigger {
    inset: .68rem .65rem auto auto;
    min-width: 3rem;
    min-height: 3rem;
    padding: .6rem .76rem;
    border-radius: .8rem;
    background: linear-gradient(135deg, var(--v6-navy-900), var(--v6-navy-800));
    box-shadow: 0 9px 20px rgba(0,38,87,.17);
  }

  .mobile-map { background: rgba(0, 21, 49, .56); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
  .mobile-map-panel { width: min(100%, 26rem); border-left-color: var(--v6-line); box-shadow: -28px 0 68px rgba(0,31,72,.2); }
  .mobile-map-head { min-height: 4.65rem; }
  .mobile-map-head img { width: min(12.5rem, calc(100% - 4rem)); }
  .mobile-route-list { gap: .35rem; }
  .mobile-route-list a {
    min-height: 3.25rem;
    padding: .7rem .85rem;
    border-color: var(--v6-line);
    border-radius: .8rem;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
  }
  .mobile-route-list a[aria-current="page"] { border-color: rgba(10,114,193,.28); background: var(--v6-blue-50); }
  main { padding-top: var(--v6-header); }
}

/* Shared editorial rhythm */
.v5-shell { width: min(calc(100% - 2rem), var(--v6-wide)); }
.v5-section { padding: clamp(3.6rem, 6vw, 5.75rem) max(1rem, calc((100vw - var(--v6-content)) / 2)); }
.v5-section--white { background: rgba(255,255,255,.94); }
.v5-section--soft {
  background:
    radial-gradient(circle at 92% 10%, rgba(33,139,214,.1), transparent 25rem),
    linear-gradient(180deg, var(--v6-blue-50), #fff);
}
.v5-section--line { border-block-color: var(--v6-line); }

.v5-section-head {
  max-width: var(--v6-content);
  grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .72fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  margin-bottom: clamp(1.75rem, 3.2vw, 2.8rem);
}

.v5-section-head h2,
.v5-center-head h2 {
  margin-top: .45rem;
  font-size: clamp(1.95rem, 3.2vw, 3.35rem);
  font-weight: 620;
  letter-spacing: -.042em;
  line-height: 1.03;
}

.v5-section-head > p,
.v5-center-head > p { font-size: clamp(.98rem, 1.1vw, 1.08rem); line-height: 1.67; }
.v5-center-head { margin-bottom: clamp(1.75rem, 3.2vw, 2.8rem); }

.v5-eyebrow {
  display: flex;
  align-items: center;
  gap: .48rem;
  color: var(--v6-blue-700);
  font-size: .73rem;
  font-weight: 720;
  letter-spacing: .105em;
}

.v5-eyebrow::before {
  content: "";
  flex: 0 0 auto;
  width: .48rem;
  height: .48rem;
  border: 2px solid rgba(10,114,193,.28);
  border-radius: 50%;
  background: var(--v6-blue-600);
  box-shadow: 0 0 0 .2rem rgba(10,114,193,.08);
}

.v5-button {
  position: relative;
  min-height: 3rem;
  padding: .72rem 1.08rem;
  overflow: hidden;
  border-radius: .82rem;
  font-size: .92rem;
  font-weight: 720;
  transition: color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.v5-button--primary {
  border-color: var(--v6-navy-900);
  background: linear-gradient(135deg, var(--v6-navy-900), var(--v6-navy-800));
  box-shadow: 0 10px 22px rgba(0,38,87,.16);
}

.v5-button--primary:hover,
.v5-button--primary:focus-visible {
  background: var(--v6-navy-800);
  box-shadow: 0 14px 28px rgba(0,38,87,.2);
  transform: translateY(-2px);
}

.v5-button--secondary {
  border-color: var(--v6-line-strong);
  background: rgba(255,255,255,.88);
  box-shadow: 0 5px 14px rgba(0,31,72,.045);
}

.v5-button--secondary:hover,
.v5-button--secondary:focus-visible {
  border-color: rgba(10,114,193,.38);
  background: var(--v6-blue-50);
  box-shadow: 0 10px 22px rgba(0,31,72,.08);
  transform: translateY(-2px);
}

.v5-button :where([aria-hidden="true"]) { transition: transform .18s ease; }
.v5-button:hover :where([aria-hidden="true"]) { transform: translateX(.2rem); }

.v5-text-link {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  color: var(--v6-navy-900);
  text-decoration-color: rgba(10,114,193,.38);
  text-decoration-thickness: 1px;
  text-underline-offset: .28rem;
}

.v5-text-link:hover { color: var(--v6-blue-700); text-decoration-color: currentColor; }

/* A unified, asymmetrical homepage hero replaces the previous two-card look. */
.v5-home-hero {
  position: relative;
  width: min(calc(100% - 2rem), var(--v6-wide));
  min-height: clamp(35rem, 61vh, 45rem);
  grid-template-columns: minmax(0, 1.02fr) minmax(24rem, .98fr);
  gap: clamp(.65rem, 1.4vw, 1.25rem);
  margin-top: clamp(1.25rem, 3vw, 2.4rem);
  padding: clamp(.65rem, 1.1vw, 1rem);
  overflow: hidden;
  border: 1px solid var(--v6-line);
  border-radius: var(--v6-radius-xl);
  background:
    radial-gradient(circle at 8% 18%, rgba(33,139,214,.14), transparent 22rem),
    linear-gradient(135deg, #fff 0%, #f6fbff 68%, #eaf5fe 100%);
  box-shadow: var(--v6-shadow-sm);
}

.v5-home-hero::before {
  content: "";
  position: absolute;
  top: -10rem;
  left: -11rem;
  width: 24rem;
  height: 24rem;
  border: 1px solid rgba(10,114,193,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 3rem rgba(33,139,214,.035), 0 0 0 7rem rgba(33,139,214,.022);
  pointer-events: none;
}

.v5-home-hero__copy {
  position: relative;
  z-index: 1;
  padding: clamp(2.2rem, 5vw, 5rem);
  border: 0;
  border-radius: calc(var(--v6-radius-xl) - .65rem);
  background: transparent;
  box-shadow: none;
}

.v5-home-hero h1 {
  max-width: 12.5ch;
  margin: .72rem 0 1.1rem;
  font-size: clamp(2.85rem, 4.5vw, 5rem);
  font-weight: 640;
  letter-spacing: -.058em;
  line-height: .96;
}

.v5-home-hero h1 em { color: var(--v6-blue-700); }
.v5-home-hero__lead { max-width: 57ch; font-size: clamp(1.02rem, 1.2vw, 1.16rem); line-height: 1.65; }
.v5-home-hero__actions { gap: .65rem; margin-top: 1.4rem; }

.v5-home-hero__meta {
  gap: .5rem 1rem;
  margin-top: 1.45rem;
  padding-top: 1.05rem;
  border-top-color: var(--v6-line);
}

.v5-home-hero__meta li { color: #294158; font-size: .84rem; font-weight: 650; }
.v5-home-hero__meta li::before { background: var(--v6-blue-600); box-shadow: 0 0 0 .18rem rgba(10,114,193,.1); }

.v5-home-hero__media {
  isolation: isolate;
  min-height: 34rem;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: calc(var(--v6-radius-xl) - .6rem);
  background: var(--v6-blue-100);
  box-shadow: 0 22px 54px rgba(0,31,72,.14);
}

.v5-home-hero__media > picture {
  display: block;
  width: 100%;
  height: 100%;
}

.v5-home-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background: linear-gradient(180deg, transparent 56%, rgba(0,26,61,.25));
  pointer-events: none;
}

.v5-home-hero__media img {
  transition: transform .8s cubic-bezier(.2,.75,.25,1), filter .35s ease;
}

.v5-home-hero__media:hover img { transform: scale(1.025); }

.v5-home-hero__badge {
  right: .9rem;
  bottom: .9rem;
  z-index: 2;
  max-width: 19rem;
  padding: .9rem 1rem;
  color: var(--v6-navy-900);
  border-color: rgba(255,255,255,.66);
  border-radius: .9rem;
  background: rgba(255,255,255,.91);
  box-shadow: 0 12px 30px rgba(0,31,72,.14);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.v5-home-hero__badge strong { color: var(--v6-navy-900); font-weight: 700; }

.v5-proofbar {
  position: relative;
  z-index: 2;
  max-width: min(calc(100% - 4rem), var(--v6-content));
  margin-top: -1rem;
  padding: .45rem;
  overflow: hidden;
  border: 1px solid var(--v6-line);
  border-radius: 1.2rem;
  background: rgba(255,255,255,.96);
  box-shadow: var(--v6-shadow-sm);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.v5-proofbar p {
  position: relative;
  min-height: 4.4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: .65rem 1rem .65rem 2.55rem;
  border-right-color: var(--v6-line);
}

.v5-proofbar p::before {
  content: "";
  position: absolute;
  left: 1rem;
  width: .8rem;
  height: .8rem;
  border: .22rem solid var(--v6-blue-100);
  border-radius: .28rem;
  background: var(--v6-blue-600);
  box-shadow: 0 0 0 1px rgba(10,114,193,.22);
}

.v5-proofbar strong { font-size: .92rem; }
.v5-proofbar span { font-size: .82rem; }

/* Interactive content cards */
.v5-audience-grid,
.v5-three-track,
.v5-offer-groups,
.v5-format-grid,
.v5-step-groups,
.v5-package-grid,
.v5-value-grid,
.v5-photo-feature { max-width: var(--v6-content); }

:where(.v5-audience-card, .v5-track, .v5-package, .v5-step-group, .v5-value-grid article, .v5-format-grid article) {
  border-color: var(--v6-line);
  border-radius: var(--v6-radius);
  background: rgba(255,255,255,.98);
  box-shadow: var(--v6-shadow-xs);
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.v5-audience-card { position: relative; }
.v5-audience-card::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: var(--v6-radius) 0 0 var(--v6-radius);
  background: linear-gradient(180deg, var(--v6-blue-500), transparent 72%);
  opacity: .58;
  pointer-events: none;
}

.v5-audience-card picture { aspect-ratio: 16 / 10; background: var(--v6-blue-100); }
.v5-audience-card img,
.v5-track img,
.v5-photo-feature img { transition: transform .65s cubic-bezier(.2,.75,.25,1), filter .3s ease; }
.v5-audience-card__body { padding: 1.3rem 1.35rem 1.4rem; }
.v5-audience-card h3 { margin-top: .32rem; font-size: clamp(1.3rem, 1.75vw, 1.72rem); }
.v5-audience-card p { line-height: 1.56; }

.v5-track { overflow: hidden; }
.v5-track picture { aspect-ratio: 16 / 9; margin: -1.5rem -1.5rem 1.2rem; }
.v5-track h3 { font-size: clamp(1.28rem, 1.8vw, 1.68rem); }

.v5-photo-feature {
  border-color: var(--v6-line);
  border-radius: var(--v6-radius-lg);
  box-shadow: var(--v6-shadow-sm);
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.v5-photo-feature picture { min-height: 25rem; overflow: hidden; }
.v5-photo-feature__copy { padding: clamp(1.8rem, 4vw, 3.5rem); }
.v5-photo-feature__copy h2 { font-size: clamp(1.9rem, 3.1vw, 3.15rem); }

.v5-format-grid article { position: relative; padding: 1.25rem; overflow: hidden; }
.v5-format-grid article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--v6-blue-600), var(--v6-blue-200));
}

.v5-step-group { gap: .75rem; padding: .85rem; }
.v5-step-group__intro { padding: .85rem; }
.v5-step-group li {
  padding: 2.65rem .95rem .95rem;
  border-color: var(--v6-line);
  border-radius: .9rem;
  background: linear-gradient(145deg, #fbfdff, var(--v6-blue-50));
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.v5-step-group li::before { color: var(--v6-blue-700); }

.v5-package { padding: 1.3rem; }
.v5-package.is-featured {
  border-color: rgba(10,114,193,.34);
  background: linear-gradient(180deg, #fff, var(--v6-blue-50));
  box-shadow: 0 20px 46px rgba(0,31,72,.12);
}

.v5-value-grid article {
  border-top: 0;
  border-radius: var(--v6-radius);
}
.v5-value-grid article::before {
  content: "";
  display: block;
  width: 2.35rem;
  height: .25rem;
  margin-bottom: 1rem;
  border-radius: 999px;
  background: var(--v6-blue-600);
}

@media (hover: hover) and (pointer: fine) {
  :where(.v5-audience-card, .v5-track, .v5-package, .v5-step-group, .v5-value-grid article, .v5-format-grid article):hover {
    border-color: rgba(10,114,193,.28);
    box-shadow: 0 22px 52px rgba(0,31,72,.12);
    transform: translateY(-5px);
  }

  .v5-audience-card:hover img,
  .v5-track:hover img,
  .v5-photo-feature:hover img { transform: scale(1.035); }
  .v5-photo-feature:hover { border-color: rgba(10,114,193,.25); box-shadow: var(--v6-shadow-md); transform: translateY(-3px); }
  .v5-step-group li:hover { border-color: rgba(10,114,193,.25); background: var(--v6-blue-50); transform: translateY(-2px); }
}

/* Progressive offer tabs. All content remains visible without enhancement. */
.v6-offer-tabs { max-width: var(--v6-content); margin-inline: auto; }
.v6-offer-tabs__list[hidden] { display: none; }
.is-enhanced .v6-offer-tabs__list:not([hidden]) {
  width: fit-content;
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: .3rem;
  margin: 0 auto 1rem;
  padding: .3rem;
  overflow-x: auto;
  border: 1px solid var(--v6-line);
  border-radius: .95rem;
  background: rgba(255,255,255,.88);
  box-shadow: var(--v6-shadow-xs);
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.v6-offer-tab {
  min-width: max-content;
  min-height: 2.75rem;
  flex: 0 0 auto;
  padding: .65rem 1rem;
  color: #365069;
  border: 1px solid transparent;
  border-radius: .7rem;
  background: transparent;
  font: inherit;
  font-size: .9rem;
  font-weight: 700;
  scroll-snap-align: center;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.v6-offer-tab:hover { color: var(--v6-navy-900); background: var(--v6-blue-50); }
.v6-offer-tab[aria-selected="true"] {
  color: #fff;
  border-color: var(--v6-navy-900);
  background: linear-gradient(135deg, var(--v6-navy-900), var(--v6-navy-800));
  box-shadow: 0 7px 17px rgba(0,38,87,.18);
}
.is-enhanced [data-offer-panel][hidden] { display: none; }

.v5-offer-groups { gap: .95rem; }
.v5-offer-group {
  border-color: var(--v6-line);
  border-radius: var(--v6-radius-lg);
  background: #fff;
  box-shadow: var(--v6-shadow-sm);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.v5-offer-group__intro {
  position: relative;
  padding: clamp(1.4rem, 2.8vw, 2.2rem);
  overflow: hidden;
  background:
    radial-gradient(circle at 0 0, rgba(33,139,214,.16), transparent 13rem),
    linear-gradient(145deg, #f8fcff, var(--v6-blue-50));
}
.v5-offer-group__intro::after {
  content: "";
  position: absolute;
  right: -2.5rem;
  bottom: -2.5rem;
  width: 7rem;
  height: 7rem;
  border: 1px solid rgba(10,114,193,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 1.3rem rgba(10,114,193,.035);
}
.v5-offer-group__intro h3 { font-size: clamp(1.4rem, 2.1vw, 1.95rem); }
.v5-offer-list a {
  position: relative;
  min-height: 7.8rem;
  padding: 1.2rem 2.6rem 1.2rem 1.2rem;
  border-color: var(--v6-line);
  transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.v5-offer-list a::after {
  content: "→";
  position: absolute;
  right: 1.15rem;
  top: 1.1rem;
  color: var(--v6-blue-700);
  font-size: 1.1rem;
  transition: transform .18s ease;
}
.v5-offer-list a:hover,
.v5-offer-list a:focus-visible { background: var(--v6-blue-50); }
.v5-offer-list a:hover::after { transform: translateX(.22rem); }

/* Compact conversion panel */
.v5-cta {
  max-width: var(--v6-content);
  gap: clamp(1rem, 3vw, 2.5rem);
  margin: clamp(1rem, 2.5vw, 1.75rem) auto clamp(2.5rem, 5vw, 4.5rem);
  padding: clamp(1.7rem, 4vw, 3.2rem);
  border-color: rgba(10,114,193,.2);
  border-radius: var(--v6-radius-lg);
  background:
    radial-gradient(circle at 90% 0, rgba(33,139,214,.15), transparent 18rem),
    linear-gradient(135deg, #fff, #edf7ff);
  box-shadow: var(--v6-shadow-sm);
}
.v5-cta h2 { font-size: clamp(1.9rem, 3.15vw, 3.2rem); }

/* Compact inner-page openings: clear hierarchy without billboard-size text. */
:where(.pro-inner-hero, .program-detail-hero, .route-hero, .school-hero, .editorial-hero, .partnership-hero, .join-hero) {
  position: relative;
  width: min(calc(100% - 2rem), var(--v6-wide));
  margin-top: clamp(1.25rem, 2.6vw, 2rem);
  border-color: var(--v6-line);
  border-radius: var(--v6-radius-lg);
  background:
    radial-gradient(circle at 4% 8%, rgba(33,139,214,.12), transparent 20rem),
    #fff;
  box-shadow: var(--v6-shadow-sm);
}

:where(.pro-inner-hero, .program-detail-hero, .route-hero, .school-hero, .editorial-hero, .partnership-hero, .join-hero)::after {
  content: "";
  position: absolute;
  inset: 1rem auto 1rem 0;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(var(--v6-blue-500), transparent);
  pointer-events: none;
}

:where(.pro-inner-hero, .program-detail-hero, .route-hero, .school-hero, .editorial-hero, .partnership-hero, .join-hero)
  :where(.pro-hero__copy, .program-detail-hero__copy, .route-hero-copy, .school-hero-copy, .editorial-hero-copy, .partnership-hero-copy, .join-hero-copy) {
  padding: clamp(2rem, 4.2vw, 3.75rem);
}

:where(.pro-hero, .pro-inner-hero, .program-detail-hero, .route-hero, .school-hero, .editorial-hero, .partnership-hero, .join-hero) h1 {
  max-width: 19ch;
  font-size: clamp(2.05rem, 2.85vw, 3.25rem);
  font-weight: 630;
  letter-spacing: -.046em;
  line-height: 1;
}

:where(.pro-inner-hero__media, .program-detail-hero__media, .route-hero__visual, .school-hero-visual, .editorial-hero-image, .partnership-hero-visual, .join-hero-visual) {
  min-height: clamp(18rem, 31vw, 29rem);
  overflow: hidden;
}

:where(.pro-inner-hero__media, .program-detail-hero__media, .route-hero__visual, .school-hero-visual, .editorial-hero-image, .partnership-hero-visual, .join-hero-visual) img {
  transition: transform .7s cubic-bezier(.2,.75,.25,1), filter .3s ease;
}

/* Legacy/detail cards inherit the same visual language across all 35 routes. */
:where(.pro-pathway-card, .programme-card, .program-card-grid article, .method-card, .audience-path-card, .program-steps article, .related-programs a, .domain-grid article, .method-detail-grid article, .partner-proof, .comparison-card, .process-card) {
  border-color: var(--v6-line);
  border-radius: var(--v6-radius);
  box-shadow: var(--v6-shadow-xs);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

@media (hover: hover) and (pointer: fine) {
  :where(.pro-pathway-card, .programme-card, .program-card-grid article, .method-card, .audience-path-card, .program-steps article, .related-programs a, .domain-grid article, .method-detail-grid article, .partner-proof, .comparison-card, .process-card):hover {
    border-color: rgba(10,114,193,.27);
    box-shadow: 0 20px 46px rgba(0,31,72,.105);
    transform: translateY(-4px);
  }

  :where(.pro-inner-hero__media, .program-detail-hero__media, .route-hero__visual, .school-hero-visual, .editorial-hero-image, .partnership-hero-visual, .join-hero-visual):hover img { transform: scale(1.025); }
}

/* JS utilities are progressive: static content is visible until enhancement is
   explicitly active, preventing blank pages if scripting fails. */
.v6-reveal { opacity: 1; transform: none; }
.v6-reveal-ready .v6-reveal:not(.is-visible) { opacity: 0; transform: translateY(1rem); }
.v6-reveal-ready .v6-reveal.is-visible {
  opacity: 1;
  transform: none;
  transition: opacity .5s ease, transform .55s cubic-bezier(.2,.75,.25,1);
}
.v6-reveal--delay-1 { transition-delay: .06s !important; }
.v6-reveal--delay-2 { transition-delay: .12s !important; }
.v6-reveal--delay-3 { transition-delay: .18s !important; }

/* Scroll and pointer states from the dependency-free pro6 interaction layer. */
@media (min-width: 981px) {
  .wayfinder {
    transition: height .24s ease, background-color .24s ease, box-shadow .24s ease;
  }

  .wayfinder.is-compact {
    height: 4.15rem;
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 1px 0 rgba(255,255,255,.9), 0 10px 28px rgba(0,31,72,.1);
  }

  .wayfinder.is-compact .brand-lockup,
  body[data-page="home"] .wayfinder.is-compact .brand-lockup {
    height: 5.45rem;
    min-height: 5.45rem;
    padding-block: .42rem .62rem;
    box-shadow: 0 15px 34px rgba(0,31,72,.15), 0 2px 8px rgba(0,31,72,.07);
  }

  .wayfinder.is-compact .brand-lockup img,
  body[data-page="home"] .wayfinder.is-compact .brand-lockup img {
    max-height: 4.15rem;
  }
}

.v6-interactive {
  --v6-pointer-x: 50%;
  --v6-pointer-y: 50%;
  --v6-tilt-x: 0deg;
  --v6-tilt-y: 0deg;
  transform-style: preserve-3d;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .v6-interactive {
    background-image:
      radial-gradient(circle at var(--v6-pointer-x) var(--v6-pointer-y), rgba(33,139,214,.105), transparent 14rem);
    transform: perspective(1150px) rotateX(var(--v6-tilt-x)) rotateY(var(--v6-tilt-y));
  }

  .v6-interactive:hover {
    border-color: rgba(10,114,193,.28);
    box-shadow: var(--v6-shadow-md);
    will-change: transform;
  }
}
/* A deliberately compact footer: no oversized empty zones and no heavy phone,
   registration or legal numerals. */
.site-footer.v5-footer {
  padding: 1.65rem max(1rem, calc((100vw - var(--v6-content)) / 2)) .9rem;
  border-top-color: var(--v6-line);
  background:
    radial-gradient(circle at 4% 0, rgba(33,139,214,.075), transparent 18rem),
    #fff;
}

.v5-footer__top {
  grid-template-columns: minmax(14rem, .9fr) minmax(18rem, 1.05fr) minmax(14rem, .72fr);
  gap: clamp(1.15rem, 3vw, 2.8rem);
  align-items: start;
}

.v5-footer__brand img { width: min(100%, 11.75rem); }
.v5-footer__brand p { max-width: 38ch; margin: .55rem 0 .7rem; font-size: .85rem; line-height: 1.48; }
.v5-footer__brand .v5-button { min-height: 2.75rem; padding: .62rem .9rem; font-size: .82rem; }

.v5-footer__links {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .32rem .9rem;
  align-content: start;
  padding-top: .08rem;
}

.v5-footer__links a {
  width: fit-content;
  padding-block: .18rem;
  color: #29455f;
  font-size: .84rem;
  font-weight: 590;
  text-underline-offset: .22rem;
}

.v5-footer__contact .v5-eyebrow { margin-bottom: .48rem; }
.v5-footer__contact address { gap: .22rem; color: var(--v6-muted); font-size: .84rem; line-height: 1.42; }
.v5-footer__contact address > span { margin-bottom: .12rem; }
.v5-footer__contact a {
  width: fit-content;
  color: #29455f;
  font-weight: 520;
  font-variant-numeric: tabular-nums;
  text-decoration-color: rgba(0,38,87,.28);
}
.v5-footer__contact > p:last-child { margin: .38rem 0 0; color: var(--v6-muted); font-size: .8rem; font-weight: 450; font-variant-numeric: tabular-nums; }

.v5-footer__bottom {
  gap: .65rem 1rem;
  margin-top: .9rem;
  padding-top: .7rem;
  border-top-color: var(--v6-line);
}
.v5-footer__bottom p,
.v5-footer__legal a { color: #63778a; font-size: .76rem; font-weight: 500; }
.v5-footer__legal { gap: .4rem .8rem; }

/* Official compact footer: two information bands, no redundant heading, no
   oversized CTA block and normal-weight contact numerals. */
.site-footer.v6-footer {
  display: block;
  grid-template-columns: none;
  gap: 0;
  align-items: initial;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
  padding: .9rem max(1rem, calc((100vw - var(--v6-wide)) / 2)) .65rem;
  border-top: 1px solid var(--v6-line);
  background:
    radial-gradient(circle at 0 0, rgba(33,139,214,.07), transparent 19rem),
    #fff;
}

.v6-footer__primary {
  display: grid;
  grid-template-columns: minmax(9.5rem, 11rem) minmax(0, 1fr) auto;
  gap: clamp(.9rem, 2vw, 1.8rem);
  align-items: center;
}

.v6-footer__brand {
  display: inline-flex;
  width: fit-content;
  align-items: center;
}

.v6-footer__brand img {
  width: min(100%, 10.5rem);
  max-height: 3.15rem;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 .2rem .3rem rgba(0,38,87,.09));
}

.site-footer.v6-footer .v6-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: .28rem .95rem;
  align-items: center;
}

.v6-footer__links a {
  padding-block: .32rem;
  color: #314b62;
  font-size: .8rem;
  font-weight: 560;
  text-decoration: none;
  text-underline-offset: .2rem;
}

.v6-footer__links a:hover,
.v6-footer__links a:focus-visible { color: var(--v6-navy-900); text-decoration: underline; }

.v6-footer__cta {
  min-height: 2.65rem;
  padding: .62rem .9rem;
  border-radius: .72rem;
  font-size: .78rem;
  white-space: nowrap;
}

.v6-footer__meta {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) auto auto;
  gap: .55rem 1.1rem;
  align-items: center;
  margin-top: .65rem;
  padding-top: .6rem;
  border-top: 1px solid var(--v6-line);
}

.v6-footer__contact address {
  display: flex;
  flex-wrap: wrap;
  gap: .26rem 1rem;
  align-items: center;
  color: #607589;
  font-size: .73rem;
  font-style: normal;
  line-height: 1.35;
}

.v6-footer__contact address > :where(a, span) { width: fit-content; }
.v6-footer__contact a {
  color: #3f596f;
  font-weight: 450;
  font-variant-numeric: tabular-nums;
  text-decoration-color: rgba(0,38,87,.25);
  text-underline-offset: .18rem;
}
.v6-footer__contact span:last-child {
  color: #607589;
  font-weight: 430;
  font-variant-numeric: tabular-nums;
}

.site-footer.v6-footer .v6-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem .75rem;
  justify-content: flex-end;
}
.site-footer.v6-footer .v6-footer__legal a,
.site-footer.v6-footer .v6-footer__copyright {
  color: #687c8f;
  font-size: .7rem;
  font-weight: 470;
  white-space: nowrap;
}

.v6-footer__contact a,
.v6-footer__legal a {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
}
.site-footer.v6-footer .v6-footer__legal a { text-underline-offset: .18rem; }
.site-footer.v6-footer .v6-footer__copyright { margin: 0; }

@media (max-width: 980px) {
  .v6-footer__primary { grid-template-columns: 9.75rem minmax(0,1fr); }
  .v6-footer__cta { grid-column: 1 / -1; width: fit-content; }
  .v6-footer__meta { grid-template-columns: 1fr auto; }
  .v6-footer__contact { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .site-footer.v6-footer { padding: .85rem 1rem .65rem; }
  .v6-footer__primary { grid-template-columns: 1fr auto; gap: .65rem .8rem; }
  .v6-footer__brand img { width: 9.4rem; }
  .site-footer.v6-footer .v6-footer__links { grid-column: 1 / -1; gap: .18rem .75rem; }
  .v6-footer__links a { min-height: 44px; display: inline-flex; align-items: center; }
  .v6-footer__cta { grid-column: auto; width: auto; }
  .v6-footer__meta { grid-template-columns: 1fr; gap: .5rem; margin-top: .5rem; }
  .v6-footer__contact { grid-column: auto; }
  .v6-footer__contact address { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .3rem .75rem; }
  .site-footer.v6-footer .v6-footer__legal { justify-content: flex-start; }
  .v6-footer__copyright { order: 3; }
}

@media (max-width: 430px) {
  .v6-footer__primary { grid-template-columns: 1fr; }
  .v6-footer__cta { width: 100%; }
  .v6-footer__contact address { grid-template-columns: 1fr; }
}
/* Consistent, non-obscured focus for light and dark controls. */
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--v6-focus) !important;
}

:where(.v6-offer-tab, .v5-button, .join-link, .language-button, .mobile-map-trigger, .mobile-map-close) { min-height: 44px; }

@media (max-width: 980px) {
  .v5-home-hero { grid-template-columns: 1fr; min-height: 0; }
  .v5-home-hero__media { min-height: clamp(26rem, 68vw, 34rem); }
  .v5-section-head { grid-template-columns: 1fr; gap: .85rem; }
  .v5-audience-grid,
  .v5-three-track { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .v5-format-grid,
  .v5-package-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .v5-footer__top { grid-template-columns: minmax(0,1fr) minmax(15rem,.8fr); }
  .v5-footer__brand { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(10rem, .35fr) minmax(16rem,1fr) auto; gap: 1rem; align-items: center; }
  .v5-footer__brand p { margin: 0; }
}

@media (max-width: 700px) {
  .v5-shell,
  .v5-home-hero,
  :where(.pro-inner-hero, .program-detail-hero, .route-hero, .school-hero, .editorial-hero, .partnership-hero, .join-hero) {
    width: calc(100% - 1rem);
    margin-inline: .5rem;
    border-inline: 1px solid var(--v6-line);
    border-radius: 1.35rem;
  }

  .v5-home-hero { margin-top: 1.15rem; padding: .45rem; }
  .v5-home-hero__copy { padding: 2.15rem .75rem 1.9rem; border-radius: 1rem; }
  .v5-home-hero h1 { font-size: clamp(2.55rem, 12.7vw, 3.8rem); }
  .v5-home-hero__media { min-height: 27rem; border-radius: 1.05rem; box-shadow: 0 15px 34px rgba(0,31,72,.13); }
  .v5-home-hero__badge { right: .55rem; bottom: .55rem; left: .55rem; padding: .82rem .9rem; }

  .v5-proofbar { max-width: calc(100% - 1.5rem); margin-top: .65rem; padding: .3rem .8rem; border-radius: 1rem; }
  .v5-proofbar p { min-height: 3.7rem; padding: .55rem 0 .55rem 1.75rem; }
  .v5-proofbar p::before { left: 0; }

  .v5-section { padding: 3.2rem 1rem; }
  .v5-section-head h2,
  .v5-center-head h2 { font-size: clamp(1.85rem, 9vw, 2.7rem); }
  .v5-audience-grid,
  .v5-three-track,
  .v5-format-grid,
  .v5-package-grid,
  .v5-value-grid { grid-template-columns: 1fr; }

  .v5-photo-feature { margin-inline: 0; border-radius: 1.25rem; }
  .v5-photo-feature picture { min-height: 19rem; }
  .v5-offer-group { border-radius: 1.25rem; }
  .v5-offer-list a { min-height: 0; padding-block: 1.05rem; }
  .v5-cta { margin-inline: .75rem; padding: 1.65rem 1rem; border-radius: 1.35rem; }

  .is-enhanced .v6-offer-tabs__list:not([hidden]) {
    width: 100%;
    justify-content: flex-start;
    margin-bottom: .75rem;
  }

  :where(.pro-hero, .pro-inner-hero, .program-detail-hero, .route-hero, .school-hero, .editorial-hero, .partnership-hero, .join-hero) h1 {
    font-size: clamp(2rem, 10vw, 2.8rem);
  }

  .site-footer.v5-footer { padding: 1.35rem 1rem .75rem; }
  .v5-footer__top { grid-template-columns: 1fr; gap: 1rem; }
  .v5-footer__brand { grid-column: auto; display: grid; grid-template-columns: 1fr; gap: .45rem; }
  .v5-footer__brand img { width: 10.5rem; }
  .v5-footer__links { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .25rem .75rem; }
  .v5-footer__bottom { display: grid; margin-top: .7rem; }
}

@media (max-width: 430px) {
  .brand-lockup,
  body[data-page="home"] .brand-lockup { width: min(10.8rem, 61vw); padding-inline: .45rem; }
  .brand-lockup img,
  body[data-page="home"] .brand-lockup img { width: min(100%, 9.8rem); }
  .mobile-map-trigger { padding-inline: .68rem; }
  .mobile-map-trigger > span:last-child { display: none; }
  .v5-home-hero__actions,
  .v5-cta__actions { display: grid; grid-template-columns: 1fr; }
  .v5-button { width: 100%; }
}

@media (max-width: 340px) {
  .wayfinder { padding-left: .4rem; }
  .brand-lockup,
  body[data-page="home"] .brand-lockup { width: min(9.5rem, 59vw); }
  .v5-footer__links { grid-template-columns: 1fr; }
  .v5-home-hero h1 { font-size: 2.42rem; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-lockup,
  .route-link,
  .join-link,
  .mobile-route-list a,
  .v5-button,
  .v5-button :where([aria-hidden="true"]),
  .v5-home-hero__media img,
  .v5-audience-card,
  .v5-audience-card img,
  .v5-track,
  .v5-track img,
  .v5-photo-feature,
  .v5-photo-feature img,
  .v5-package,
  .v5-step-group,
  .v5-step-group li,
  .v5-value-grid article,
  .v5-format-grid article,
  .v6-offer-tab,
  .v5-offer-group,
  .v5-offer-list a::after,
  .v6-reveal,
  :where(.pro-inner-hero__media, .program-detail-hero__media, .route-hero__visual, .school-hero-visual, .editorial-hero-image, .partnership-hero-visual, .join-hero-visual) img {
    transition: none !important;
  }

  .v6-reveal-ready .v6-reveal:not(.is-visible),
  .v6-reveal-ready .v6-reveal.is-visible { opacity: 1; transform: none; }
  :where(.brand-lockup, .route-link, .join-link, .v5-button, .v5-audience-card, .v5-track, .v5-photo-feature, .v5-package, .v5-step-group, .v5-value-grid article, .v5-format-grid article):hover { transform: none; }
  :where(.v5-home-hero__media, .v5-audience-card, .v5-track, .v5-photo-feature):hover img { transform: none; }
}

@media (prefers-reduced-transparency: reduce) {
  .wayfinder,
  .v5-home-hero__badge,
  .v5-proofbar,
  .is-enhanced .v6-offer-tabs__list:not([hidden]) { background-color: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .mobile-map { -webkit-backdrop-filter: none; backdrop-filter: none; }
}

@media (prefers-contrast: more) {
  :root {
    --v6-muted: #344b60;
    --v6-line: rgba(0,38,87,.34);
    --v6-line-strong: rgba(0,38,87,.55);
  }
  .v5-eyebrow { color: #004f91; }
  .v5-footer__links a,
  .v5-footer__contact a { color: var(--v6-navy-900); text-decoration: underline; }
}

@media (forced-colors: active) {
  .wayfinder,
  .brand-lockup,
  .mobile-map-panel,
  .v5-home-hero,
  .v5-home-hero__media,
  .v5-home-hero__badge,
  .v5-proofbar,
  .v5-audience-card,
  .v5-offer-group,
  .v5-photo-feature,
  .v5-track,
  .v5-step-group,
  .v5-package,
  .v5-value-grid article,
  .v5-format-grid article,
  .v5-cta,
  .is-enhanced .v6-offer-tabs__list:not([hidden]),
  .site-footer.v5-footer,
  .site-footer.v6-footer { border: 1px solid CanvasText; box-shadow: none; }

  .brand-lockup::after,
  .v5-home-hero::before,
  .v5-home-hero__media::after,
  .v5-audience-card::after,
  .v5-offer-group__intro::after { display: none; }
  .v5-eyebrow::before,
  .v5-proofbar p::before,
  .v5-value-grid article::before { background: Highlight; forced-color-adjust: none; }
  .v6-offer-tab[aria-selected="true"] { color: HighlightText; background: Highlight; forced-color-adjust: none; }
  :where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid Highlight; box-shadow: none !important; }
}

@media print {
  .wayfinder,
  .mobile-map-trigger,
  .mobile-map,
  .v5-home-hero__actions,
  .v5-cta,
  .v6-offer-tabs__list { display: none !important; }
  main { padding-top: 0 !important; }
  body { color: #000; background: #fff; }
  :where(.v5-home-hero, .v5-audience-card, .v5-offer-group, .v5-photo-feature, .v5-track, .site-footer.v5-footer, .site-footer.v6-footer) { box-shadow: none; break-inside: avoid; }
  :where(.v5-home-hero, .v5-section, .site-footer.v5-footer, .site-footer.v6-footer) { background: #fff; }
}
/* Official2 mobile navigation: an opaque, softly rounded sheet that keeps the
   existing accessible dialog and focus management while replacing legacy
   block/glass treatments from the inherited cascade. */
@keyframes v6-mobile-sheet-in {
  from { opacity: 0; transform: translate3d(1rem, 0, 0) scale(.985); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 980px) {
  body[data-page] .mobile-map-trigger {
    inset: max(.62rem, env(safe-area-inset-top)) max(.58rem, env(safe-area-inset-right)) auto auto;
    min-width: 0;
    min-height: 46px;
    gap: .52rem;
    padding: .58rem .86rem;
    overflow: visible;
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: linear-gradient(135deg, var(--v6-navy-900), #064982);
    box-shadow: 0 10px 24px rgba(0,38,87,.2), inset 0 1px rgba(255,255,255,.16);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    font-size: .74rem;
    font-weight: 720;
    letter-spacing: .01em;
    text-shadow: none;
    transform: none;
  }

  body[data-page] .mobile-map-trigger::before,
  body[data-page] .mobile-map-trigger::after { display: none; content: none; }
  body[data-page] .mobile-map-trigger > span:last-child { display: inline; }
  body[data-page] .mobile-map-trigger:hover,
  body[data-page] .mobile-map-trigger:focus-visible {
    color: #fff;
    border-color: rgba(255,255,255,.35);
    background: linear-gradient(135deg, #00396d, var(--v6-blue-700));
    transform: none;
  }

  body[data-page] .mobile-map {
    z-index: 1200;
    display: grid;
    place-items: center end;
    padding:
      max(.5rem, env(safe-area-inset-top))
      max(.5rem, env(safe-area-inset-right))
      max(.5rem, env(safe-area-inset-bottom))
      max(.5rem, env(safe-area-inset-left));
    background: rgba(0, 24, 55, .62);
    -webkit-backdrop-filter: blur(6px) saturate(105%);
    backdrop-filter: blur(6px) saturate(105%);
  }

  body[data-page] .mobile-map[hidden] { display: none !important; }

  body[data-page] .mobile-map-panel {
    width: min(25rem, 100%);
    min-width: 0;
    height: min(46rem, 100%);
    min-height: 0;
    max-height: 100%;
    margin: 0;
    padding: .65rem clamp(.72rem, 3vw, 1rem) max(.85rem, env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    color: var(--v6-ink);
    border: 1px solid rgba(10,114,193,.16);
    border-radius: clamp(1.2rem, 4vw, 1.65rem);
    background:
      radial-gradient(circle at 100% 0, rgba(33,139,214,.11), transparent 16rem),
      linear-gradient(180deg, #fff 0%, #f8fbfe 100%);
    box-shadow: -10px 22px 64px rgba(0,31,72,.22), 0 2px 10px rgba(0,31,72,.08);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    scrollbar-color: rgba(10,114,193,.42) transparent;
    scrollbar-width: thin;
    animation: v6-mobile-sheet-in .24s cubic-bezier(.2,.75,.25,1) both;
    -webkit-overflow-scrolling: touch;
  }

  body[data-page] .mobile-map-head {
    position: sticky;
    z-index: 3;
    top: 0;
    display: flex;
    min-height: 4.15rem;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin: 0 0 .25rem;
    padding: .12rem .08rem .62rem;
    border: 0;
    border-bottom: 1px solid rgba(0,38,87,.1);
    background: linear-gradient(180deg, #fff 78%, rgba(255,255,255,.94));
  }

  body[data-page] .mobile-map-head::before,
  body[data-page] .mobile-map-head::after { display: none; content: none; }
  body[data-page] .mobile-map-head img {
    width: min(10.7rem, calc(100% - 3.8rem));
    height: auto;
    max-height: 3rem;
    padding: 0;
    background: transparent;
    filter: drop-shadow(0 .2rem .35rem rgba(0,38,87,.11));
    object-fit: contain;
    object-position: left center;
  }

  body[data-page] .mobile-map-close {
    position: relative;
    z-index: 4;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    min-height: 44px;
    display: grid;
    place-items: center;
    padding: 0 0 .12rem;
    overflow: visible;
    color: var(--v6-navy-900);
    border: 1px solid rgba(0,38,87,.14);
    border-radius: 50%;
    background: var(--v6-blue-50);
    box-shadow: inset 0 1px #fff, 0 5px 14px rgba(0,38,87,.08);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    font: 400 1.55rem/1 var(--v6-font);
    text-shadow: none;
    transform: none;
  }
  body[data-page] .mobile-map-close::before,
  body[data-page] .mobile-map-close::after { display: none; content: none; }
  body[data-page] .mobile-map-close:hover,
  body[data-page] .mobile-map-close:focus-visible {
    color: #fff;
    border-color: var(--v6-blue-700);
    background: var(--v6-blue-700);
    transform: none;
  }

  body[data-page] .mobile-map-panel > .wayfinder-label {
    display: block;
    margin: .55rem .55rem .28rem;
    color: var(--v6-muted);
    font-size: .66rem;
    font-weight: 720;
    letter-spacing: .11em;
    line-height: 1.35;
    text-transform: uppercase;
    text-shadow: none;
  }

  body[data-page] .mobile-route-list {
    display: grid;
    gap: .06rem;
    margin: 0;
    padding: 0;
  }

  body[data-page] .mobile-route-list a,
  body[data-page] .mobile-route-list .mobile-join,
  body[data-page] .mobile-route-list .mobile-student-link {
    min-width: 0;
    min-height: 48px;
    display: flex;
    grid-template-columns: none;
    align-items: center;
    justify-content: flex-start;
    gap: .6rem;
    margin: 0;
    padding: .66rem .76rem;
    overflow: visible;
    color: #173a59;
    border: 1px solid transparent;
    border-radius: .82rem;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    text-decoration: none;
    text-shadow: none;
    transform: none;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
  }
  body[data-page] .mobile-route-list a::before,
  body[data-page] .mobile-route-list a::after { display: none; content: none; }
  body[data-page] .mobile-route-list a b { display: none; }
  body[data-page] .mobile-route-list a span {
    min-width: 0;
    color: inherit;
    font-family: var(--v6-font);
    font-size: .91rem;
    font-weight: 640;
    letter-spacing: -.01em;
    line-height: 1.25;
    overflow-wrap: anywhere;
    text-shadow: none;
  }

  body[data-page] .mobile-route-list a:hover,
  body[data-page] .mobile-route-list a:focus-visible {
    color: var(--v6-navy-900);
    border-color: rgba(10,114,193,.12);
    background: var(--v6-blue-50);
    box-shadow: none;
    transform: none;
  }

  body[data-page] .mobile-route-list a[aria-current="page"]:not(.mobile-join) {
    margin: 0;
    padding-inline: .76rem;
    color: var(--v6-navy-900);
    border-color: rgba(10,114,193,.16);
    background: linear-gradient(90deg, rgba(33,139,214,.12), rgba(33,139,214,.035));
    box-shadow: inset 3px 0 var(--v6-blue-600);
  }

  body[data-page] .mobile-route-list .mobile-join,
  body[data-page] .mobile-route-list .mobile-join[aria-current="page"] {
    min-height: 50px;
    justify-content: center;
    margin-top: .55rem;
    color: #fff;
    border-color: var(--v6-navy-900);
    border-radius: .92rem;
    background: linear-gradient(135deg, var(--v6-navy-900), #07548f);
    box-shadow: 0 10px 22px rgba(0,38,87,.15);
  }
  body[data-page] .mobile-route-list .mobile-join span,
  body[data-page] .mobile-route-list .mobile-join[aria-current="page"] span { color: #fff; }
  body[data-page] .mobile-route-list .mobile-join:hover,
  body[data-page] .mobile-route-list .mobile-join:focus-visible {
    color: #fff;
    border-color: var(--v6-blue-700);
    background: linear-gradient(135deg, #00396d, var(--v6-blue-700));
    box-shadow: 0 12px 26px rgba(0,38,87,.19);
  }

  body[data-page] .mobile-language-wrap {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin-top: .7rem;
    padding: .68rem .2rem 0;
    border-top: 1px solid rgba(0,38,87,.1);
  }
  body[data-page] .mobile-language-wrap > .language-button {
    width: auto;
    min-width: 4.4rem;
    min-height: 44px;
    justify-content: center;
    gap: .28rem;
    padding: .52rem .76rem;
    overflow: visible;
    color: var(--v6-navy-900);
    border: 1px solid rgba(0,38,87,.14);
    border-radius: 999px;
    background: #f1f7fc;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    font-size: .75rem;
    font-weight: 720;
    text-shadow: none;
    transform: none;
  }
  body[data-page] .mobile-language-wrap > .language-button::before,
  body[data-page] .mobile-language-wrap > .language-button::after { display: none; content: none; }
  body[data-page] .mobile-language-wrap > .language-button:hover,
  body[data-page] .mobile-language-wrap > .language-button:focus-visible {
    color: var(--v6-navy-900);
    border-color: rgba(10,114,193,.28);
    background: var(--v6-blue-50);
    transform: none;
  }

  body[data-page] .mobile-language-wrap .language-menu-mobile {
    position: static;
    flex: 1 1 100%;
    width: 100%;
    margin: .1rem 0 0;
    padding: .32rem;
    overflow: visible;
    color: var(--v6-ink);
    border: 1px solid rgba(0,38,87,.12);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 12px 28px rgba(0,38,87,.1);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  body[data-page] .mobile-language-wrap .language-menu-mobile[hidden] { display: none !important; }
  body[data-page] .mobile-language-wrap .language-menu-mobile:not([hidden]) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .18rem;
  }
  body[data-page] .mobile-language-wrap .language-menu-mobile button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    display: grid;
    grid-template-columns: 1.8rem minmax(0,1fr);
    align-items: center;
    gap: .35rem;
    padding: .48rem .52rem;
    color: #29465f;
    border: 0;
    border-radius: .72rem;
    background: transparent;
    box-shadow: none;
    text-align: left;
    text-shadow: none;
    transform: none;
  }
  body[data-page] .mobile-language-wrap .language-menu-mobile button span {
    color: var(--v6-blue-700);
    font-size: .68rem;
    font-weight: 760;
    text-shadow: none;
  }
  body[data-page] .mobile-language-wrap .language-menu-mobile button strong {
    min-width: 0;
    color: inherit;
    font-size: .72rem;
    font-weight: 620;
    overflow-wrap: anywhere;
  }
  body[data-page] .mobile-language-wrap .language-menu-mobile button:hover,
  body[data-page] .mobile-language-wrap .language-menu-mobile button:focus-visible,
  body[data-page] .mobile-language-wrap .language-menu-mobile button.is-active {
    color: var(--v6-navy-900);
    background: var(--v6-blue-50);
    box-shadow: inset 0 0 0 1px rgba(10,114,193,.1);
  }
}

@media (max-width: 360px) {
  body[data-page] .mobile-map {
    padding-inline: max(.35rem, env(safe-area-inset-left)) max(.35rem, env(safe-area-inset-right));
  }
  body[data-page] .mobile-map-panel { border-radius: 1.15rem; padding-inline: .68rem; }
  body[data-page] .mobile-map-trigger { padding-inline: .7rem; }
  body[data-page] .mobile-map-trigger > span:last-child { display: inline; }
  body[data-page] .mobile-language-wrap .language-menu-mobile:not([hidden]) { grid-template-columns: 1fr; }
}

@media (max-width: 980px) and (max-height: 560px) {
  body[data-page] .mobile-map-panel { height: 100%; padding-top: .45rem; }
  body[data-page] .mobile-map-head { min-height: 3.6rem; padding-bottom: .42rem; }
  body[data-page] .mobile-map-head img { width: 9.6rem; max-height: 2.55rem; }
  body[data-page] .mobile-map-panel > .wayfinder-label { margin-top: .35rem; }
  body[data-page] .mobile-route-list a { min-height: 44px; padding-block: .52rem; }
  body[data-page] .mobile-route-list .mobile-join { min-height: 46px; margin-top: .35rem; }
  body[data-page] .mobile-language-wrap { margin-top: .5rem; padding-top: .5rem; }
}

@media (max-width: 980px) and (prefers-reduced-motion: reduce) {
  body[data-page] .mobile-map-panel { animation: none; }
  body[data-page] .mobile-map-trigger,
  body[data-page] .mobile-map-close,
  body[data-page] .mobile-route-list a,
  body[data-page] .mobile-language-wrap :where(.language-button, .language-menu-mobile button) {
    transition: none;
    transform: none;
  }
}

@media (max-width: 980px) and (prefers-reduced-transparency: reduce) {
  body[data-page] .mobile-map {
    background: rgba(0,24,55,.78);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  body[data-page] .mobile-map-panel { background: #fff; }
}

@media (max-width: 980px) and (prefers-contrast: more) {
  body[data-page] .mobile-map-panel,
  body[data-page] .mobile-map-head,
  body[data-page] .mobile-route-list a,
  body[data-page] .mobile-language-wrap > .language-button,
  body[data-page] .mobile-language-wrap .language-menu-mobile { border-color: rgba(0,38,87,.48); }
  body[data-page] .mobile-route-list a[aria-current="page"]:not(.mobile-join) { box-shadow: inset 4px 0 var(--v6-blue-700); }
}

@media (max-width: 980px) and (forced-colors: active) {
  body[data-page] .mobile-map { background: Canvas; -webkit-backdrop-filter: none; backdrop-filter: none; }
  body[data-page] .mobile-map-panel,
  body[data-page] .mobile-map-head,
  body[data-page] .mobile-map-close,
  body[data-page] .mobile-route-list a,
  body[data-page] .mobile-language-wrap > .language-button,
  body[data-page] .mobile-language-wrap .language-menu-mobile {
    color: CanvasText;
    border-color: CanvasText;
    background: Canvas;
    box-shadow: none;
    forced-color-adjust: auto;
  }
  body[data-page] .mobile-map-trigger,
  body[data-page] .mobile-route-list .mobile-join,
  body[data-page] .mobile-route-list .mobile-join span {
    color: HighlightText;
    border-color: Highlight;
    background: Highlight;
    box-shadow: none;
  }
  body[data-page] .mobile-route-list a[aria-current="page"]:not(.mobile-join) {
    outline: 2px solid Highlight;
    outline-offset: -3px;
    box-shadow: none;
  }
}
/* ==========================================================================   Official2 sitewide harmonization   Homepage-bright styling for every public inner route. This final layer   intentionally outranks historical page-specific v2/v3/v4 rules.   ========================================================================== */:root {  --v6-font: "Atkinson Hyperlegible","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;  --v6-display: "Bricolage Grotesque","Segoe UI Variable Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;}html body[data-page][data-page] { font-family: var(--v6-font); }/* One identical official2 desktop/top-bar presentation on all 35 pages. */html body[data-page][data-page] > .wayfinder {  position: fixed; inset: 0 0 auto; z-index: 1000; width: 100%; margin: 0;  color: var(--v6-ink); border: 0; border-bottom: 1px solid rgba(0,38,87,.1);  border-radius: 0; background: rgba(255,255,255,.965);  box-shadow: 0 10px 30px rgba(0,31,72,.075);  -webkit-backdrop-filter: saturate(145%) blur(18px);  backdrop-filter: saturate(145%) blur(18px); text-shadow: none; transform: none;}html body[data-page][data-page] > .wayfinder::before,html body[data-page][data-page] > .wayfinder::after,html body[data-page][data-page] > .wayfinder > .wayfinder-label { display: none; content: none; }html body[data-page][data-page] > .wayfinder .brand-lockup {  color: var(--v6-navy-900); border-color: rgba(0,38,87,.11);  background: linear-gradient(155deg,#fff 0%,#f9fcff 70%,#eaf5ff 100%); text-shadow: none;}html body[data-page][data-page] > .wayfinder .brand-lockup::before { display: none; content: none; }html body[data-page][data-page] > .wayfinder .brand-lockup img {  height: auto; padding: 0; border: 0; border-radius: 0; background: transparent;  object-fit: contain; object-position: left center;}@media (min-width:981px) {  html body[data-page][data-page] > .wayfinder {    height: var(--v6-header); display: grid;    grid-template-columns: minmax(14.25rem,16.5rem) minmax(0,1fr) auto;    align-items: center; gap: clamp(.45rem,1.2vw,1.15rem);    padding: 0 clamp(.9rem,2.3vw,2.6rem); overflow: visible;  }  html body[data-page][data-page] > .wayfinder .brand-lockup {    position: relative; z-index: 3; align-self: start; width: 100%;    height: 6.35rem; min-height: 6.35rem; display: flex; align-items: center;    margin: 0; padding: .55rem .85rem .75rem; overflow: visible;    border: 1px solid rgba(0,38,87,.11); border-top: 0;    border-radius: 0 0 1.35rem 1.35rem; box-shadow: var(--v6-shadow-float);    transform: perspective(900px) rotateX(.7deg) translateZ(0); transform-origin: top center;  }  html body[data-page][data-page] > .wayfinder .brand-lockup::after {    content: ""; position: absolute; inset: auto 1rem -.32rem; z-index: -1;    display: block; height: .65rem; border-radius: 50%; background: rgba(0,38,87,.13);    filter: blur(.45rem); pointer-events: none;  }  html body[data-page][data-page] > .wayfinder .brand-lockup img {    width: min(100%,14.7rem); max-height: 5rem;    filter: drop-shadow(0 .45rem .55rem rgba(0,38,87,.12));  }  html body[data-page][data-page] > .wayfinder .route-map {    position: static; min-width: 0; width: auto; height: auto; display: flex;    align-items: center; justify-content: flex-end; gap: .12rem; margin: 0; padding: 0;    overflow: visible; border: 0; border-radius: 0; background: transparent;    box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; transform: none;  }  html body[data-page][data-page] > .wayfinder .route-link {    position: relative; min-width: 0; min-height: 2.75rem; display: inline-flex;    align-items: center; justify-content: center; margin: 0;    padding: .62rem clamp(.42rem,.72vw,.74rem); overflow: visible; color: #263e54;    border: 1px solid transparent; border-radius: .75rem; background: transparent;    box-shadow: none; text-decoration: none; text-shadow: none; transform: none;  }  html body[data-page][data-page] > .wayfinder .route-link::before { display: none; content: none; }  html body[data-page][data-page] > .wayfinder .route-link::after {    content: ""; position: absolute; inset: auto .65rem .18rem; display: block;    height: 2px; border: 0; border-radius: 999px; background: var(--v6-blue-600);    opacity: 0; transform: scaleX(.25);  }  html body[data-page][data-page] > .wayfinder .route-link > span {    display: inline; padding: 0; color: inherit; background: transparent; box-shadow: none;  }  html body[data-page][data-page] > .wayfinder .route-link strong {    color: inherit; font-family: var(--v6-font); font-size: clamp(.72rem,.71vw,.84rem);    font-weight: 680; letter-spacing: -.012em; line-height: 1.2; text-shadow: none;  }  html body[data-page][data-page] > .wayfinder .route-link:is(:hover,:focus-visible) {    color: var(--v6-navy-900); border-color: rgba(10,114,193,.12);    background: var(--v6-blue-50); box-shadow: none; transform: translateY(-1px);  }  html body[data-page][data-page] > .wayfinder .route-link:is(.is-active,[aria-current="page"]) {    color: var(--v6-navy-900); border-color: rgba(10,114,193,.14);    background: linear-gradient(180deg,#fff,#edf6fd); box-shadow: none;  }  html body[data-page][data-page] > .wayfinder .route-link:is(.is-active,[aria-current="page"])::after {    opacity: 1; transform: scaleX(1);  }  html body[data-page][data-page] > .wayfinder .wayfinder-actions {    position: relative; min-width: max-content; display: flex; align-items: center;    justify-content: flex-end; gap: .4rem; margin: 0; padding: 0; background: transparent;  }  html body[data-page][data-page] > .wayfinder :is(.join-link,.language-button) {    min-height: 44px; margin: 0; border-radius: .75rem; text-shadow: none; transform: none;  }  html body[data-page][data-page] > .wayfinder .join-link {    display: inline-flex; align-items: center; gap: .45rem; padding: .62rem .9rem;    color: #fff; border: 1px solid var(--v6-navy-900);    background: linear-gradient(135deg,var(--v6-navy-900),var(--v6-navy-800));    box-shadow: 0 8px 18px rgba(0,38,87,.16); font-family: var(--v6-font);    font-size: .78rem; font-weight: 700; text-decoration: none;  }  html body[data-page][data-page] > .wayfinder .join-link span { color: inherit; text-shadow: none; }  html body[data-page][data-page] > .wayfinder .join-link:is(:hover,:focus-visible) {    color: #fff; background: var(--v6-navy-800);    box-shadow: 0 12px 24px rgba(0,38,87,.2); transform: translateY(-2px);  }  html body[data-page][data-page] > .wayfinder .language-button {    min-width: 44px; display: inline-flex; align-items: center; justify-content: center;    gap: .2rem; padding: .55rem .62rem; color: var(--v6-navy-900);    border: 1px solid var(--v6-line-strong); background: #fff; box-shadow: none;    font-family: var(--v6-font); font-size: .75rem; font-weight: 720;  }  html body[data-page][data-page] > .wayfinder .language-button::before,  html body[data-page][data-page] > .wayfinder .language-button::after { display: none; content: none; }  html body[data-page][data-page] > .wayfinder .wayfinder-actions > .language-menu {    position: absolute; inset: calc(100% + .55rem) 0 auto auto; z-index: 20;    width: min(18rem,calc(100vw - 2rem)); margin: 0; padding: .35rem; overflow: hidden;    color: var(--v6-ink); border: 1px solid var(--v6-line); border-radius: 1rem;    background: #fff; box-shadow: var(--v6-shadow-md);    -webkit-backdrop-filter: none; backdrop-filter: none; transform: none;  }  html body[data-page][data-page] > .wayfinder .wayfinder-actions > .language-menu[hidden] { display: none !important; }  html body[data-page][data-page] > .wayfinder .wayfinder-actions > .language-menu button {    width: 100%; min-height: 44px; display: grid;    grid-template-columns: 2rem minmax(0,1fr); align-items: center; gap: .4rem;    padding: .5rem .6rem; color: #29465f; border: 0; border-radius: .7rem;    background: transparent; box-shadow: none; text-align: left; text-shadow: none; transform: none;  }  html body[data-page][data-page] > .wayfinder .wayfinder-actions > .language-menu button:is(:hover,:focus-visible,.is-active) {    color: var(--v6-navy-900); background: var(--v6-blue-50);  }  html body[data-page][data-page] > .wayfinder.is-compact {    height: 4.15rem; background: rgba(255,255,255,.985);    box-shadow: 0 10px 28px rgba(0,31,72,.1);  }  html body[data-page][data-page] > .wayfinder.is-compact .brand-lockup {    height: 5.45rem; min-height: 5.45rem; padding-block: .42rem .62rem;    box-shadow: 0 15px 34px rgba(0,31,72,.15),0 2px 8px rgba(0,31,72,.07);  }  html body[data-page][data-page] > .wayfinder.is-compact .brand-lockup img { max-height: 4.15rem; }}@media (min-width:981px) and (max-width:1240px) {  html body[data-page][data-page] > .wayfinder {    grid-template-columns: minmax(11.8rem,13.4rem) minmax(0,1fr) auto;    gap: .35rem; padding-inline: .8rem;  }  html body[data-page][data-page] > .wayfinder .brand-lockup {    height: 5.8rem; min-height: 5.8rem; padding-inline: .62rem;  }  html body[data-page][data-page] > .wayfinder .brand-lockup img {    width: min(100%,12.4rem); max-height: 4.55rem;  }  html body[data-page][data-page] > .wayfinder .route-link { padding-inline: .34rem; }  html body[data-page][data-page] > .wayfinder .route-link strong { font-size: .68rem; }  html body[data-page][data-page] > .wayfinder .join-link { padding-inline: .66rem; }}@media (max-width:980px) {  html body[data-page][data-page] > .wayfinder {    height: var(--v6-header); display: block; padding: .4rem 5.6rem .4rem .7rem;    overflow: visible; background: rgba(255,255,255,.98);  }  html body[data-page][data-page] > .wayfinder :is(.route-map,.wayfinder-actions) { display: none; }  html body[data-page][data-page] > .wayfinder .brand-lockup {    position: relative; z-index: 2; width: min(12.8rem,66vw);    height: 5.1rem; min-height: 5.1rem; display: flex; align-items: center;    margin: 0; padding: .38rem .6rem .55rem; border: 1px solid var(--v6-line);    border-top: 0; border-radius: 0 0 1rem 1rem;    background: linear-gradient(150deg,#fff,#eef7fe);    box-shadow: 0 14px 26px rgba(0,31,72,.13); transform: none;  }  html body[data-page][data-page] > .wayfinder .brand-lockup::after { display: none; content: none; }  html body[data-page][data-page] > .wayfinder .brand-lockup img {    width: min(100%,11.6rem); max-height: 4.05rem;    filter: drop-shadow(0 .3rem .4rem rgba(0,38,87,.11));  }}/* Legacy colours now resolve to the logo-blue system on inner routes. */html body[data-page]:not([data-page="home"]):not([data-page="student"]) {  --ink: var(--v6-ink); --ink-soft: var(--v6-navy-800);  --cyan: var(--v6-blue-600); --cyan-text: var(--v6-blue-700);  --cyan-bright: var(--v6-blue-500); --aqua: var(--v6-blue-100);  --sand: var(--v6-blue-50); --paper: #fff;  --coral: var(--v6-blue-500); --coral-text: var(--v6-blue-700); --gold: var(--v6-blue-200);  --premium-brand-blue: var(--v6-blue-700); --premium-cyan: var(--v6-blue-700);  --premium-sky: var(--v6-blue-200); --premium-blue-soft: var(--v6-blue-100);  --premium-blue-mist: var(--v6-blue-100);  --pro-blue: var(--v6-blue-600); --pro-blue-dark: var(--v6-blue-700);  --pro-blue-soft: var(--v6-blue-100); --pro-blue-pale: var(--v6-blue-50);  --v3-blue: var(--v6-blue-600); --v3-blue-dark: var(--v6-blue-700); --v3-soft: var(--v6-blue-50);  --v4-cyan: var(--v6-blue-600); --v4-cyan-dark: var(--v6-blue-700);  --v4-soft: var(--v6-blue-50); --v4-soft-2: var(--v6-canvas);  --school-cyan: var(--v6-blue-600); --school-mint: var(--v6-blue-100);  --school-lemon: var(--v6-blue-200); --school-clay: var(--v6-blue-500);  --school-clay-text: var(--v6-blue-700); --school-clay-dark: var(--v6-blue-600);  --school-night: var(--v6-navy-950); --school-blue: var(--v6-navy-900); --school-paper: #fff;  color: var(--v6-ink);  background: radial-gradient(circle at 8% 8rem,rgba(33,139,214,.075),transparent 22rem),    linear-gradient(180deg,#fbfdff 0,#f7fbff 32rem,#f5f8fc 100%);  overflow-wrap: break-word;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main {  min-width: 0; padding-bottom: clamp(1rem,3vw,2.5rem); color: var(--v6-ink); background: transparent;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(*,*::before,*::after) { box-sizing: border-box; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(h1,h2,h3,h4) {  color: var(--v6-navy-900); font-family: var(--v6-display); font-style: normal;  text-shadow: none; text-wrap: balance;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(h1,h2,h3,h4) em {  color: var(--v6-blue-700); font-style: normal; font-weight: inherit;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main h2 {  font-size: clamp(1.85rem,3.05vw,3rem); font-weight: 640; letter-spacing: -.04em; line-height: 1.06;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main h3 {  font-size: clamp(1.18rem,1.7vw,1.55rem); font-weight: 660; letter-spacing: -.025em; line-height: 1.18;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(p,li,dd) {  color: var(--v6-muted); line-height: 1.66;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(ul,ol) { padding-inline-start: 1.2rem; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .v5-eyebrow,.page-kicker,.pro-kicker,.legal-kicker,.eyebrow,.page-coordinate,  .preparation-label,.pro-card-label,.step-label,.section-number,.outcome-code,  .legal-section-number,.legal-snapshot-label,.form-step-number) {  color: var(--v6-blue-700); font-family: var(--v6-font); font-size: .72rem;  font-weight: 740; letter-spacing: .095em; line-height: 1.35; text-transform: uppercase; text-shadow: none;}/* Compact, light openings: no billboard-sized page titles. */html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .pro-inner-hero,.program-detail-hero,.route-hero,.school-hero,.editorial-hero,  .partnership-hero,.join-hero,.legal-hero) {  position: relative; isolation: isolate; width: min(calc(100% - 2rem),var(--v6-wide));  min-height: 0; margin: clamp(1.25rem,2.6vw,2rem) auto clamp(2rem,4vw,3.5rem);  padding: 0; overflow: hidden; color: var(--v6-ink); border: 1px solid var(--v6-line);  border-radius: var(--v6-radius-lg);  background: radial-gradient(circle at 4% 8%,rgba(33,139,214,.12),transparent 20rem),    linear-gradient(135deg,#fff 0,#f8fcff 72%,#eaf5ff 100%);  box-shadow: var(--v6-shadow-sm); text-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .pro-inner-hero,.program-detail-hero,.route-hero,.school-hero,.editorial-hero,  .partnership-hero,.join-hero,.legal-hero)::before { display: none; content: none; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .pro-inner-hero,.program-detail-hero,.route-hero,.school-hero,.editorial-hero,  .partnership-hero,.join-hero,.legal-hero)::after {  content: ""; position: absolute; inset: 1rem auto 1rem 0; z-index: 2; display: block;  width: 3px; height: auto; border: 0; border-radius: 999px;  background: linear-gradient(var(--v6-blue-500),transparent); box-shadow: none; pointer-events: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .pro-inner-hero,.program-detail-hero,.school-hero,.legal-hero,.join-hero) {  display: grid; grid-template-columns: minmax(0,1.05fr) minmax(18rem,.82fr);  align-items: stretch; gap: 0;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .pro-inner-hero__copy,.program-detail-hero__copy,.route-hero-copy,.school-hero-copy,  .editorial-hero-copy,.partnership-hero-copy,.join-hero-copy,.legal-hero-copy) {  min-width: 0; min-height: 0; display: flex; flex-direction: column; justify-content: center;  padding: clamp(2rem,4.2vw,3.75rem); color: var(--v6-ink); background: transparent; text-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .pro-inner-hero,.program-detail-hero,.route-hero,.school-hero,.editorial-hero,  .partnership-hero,.join-hero,.legal-hero) h1 {  max-width: 18ch; margin: .65rem 0 1rem; color: var(--v6-navy-900);  font-family: var(--v6-display); font-size: clamp(2.15rem,3.2vw,3.45rem);  font-weight: 650; letter-spacing: -.052em; line-height: .99; text-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .hero-lead,.pro-inner-hero__lead,.program-detail-hero__lead,.legal-lead) { max-width: 62ch; color: var(--v6-muted); font-size: clamp(.98rem,1.12vw,1.1rem); line-height: 1.68; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .pro-inner-hero__media,.program-detail-hero__media,.route-hero__visual,.school-hero-visual,  .editorial-hero-image,.partnership-hero-visual,.join-hero-visual,.join-hero > picture) {  position: relative; min-width: 0; min-height: clamp(20rem,31vw,29rem); display: block;  overflow: hidden; border: 0; border-radius: 0; background: var(--v6-blue-100); box-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .pro-inner-hero__media,.program-detail-hero__media,.route-hero__visual,.school-hero-visual,  .editorial-hero-image,.partnership-hero-visual,.join-hero-visual,.join-hero > picture)::before,html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .pro-inner-hero__media,.program-detail-hero__media,.route-hero__visual,.school-hero-visual,  .editorial-hero-image,.partnership-hero-visual,.join-hero-visual,.join-hero > picture)::after { display: none; content: none; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .pro-inner-hero__media,.program-detail-hero__media,.route-hero__visual,.school-hero-visual,  .editorial-hero-image,.partnership-hero-visual,.join-hero-visual,.join-hero > picture) :where(picture,img),html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .join-hero > picture > img {  width: 100%; height: 100%; display: block; object-fit: cover;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main > .v5-home-hero {  min-height: clamp(30rem,54vh,39rem);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main > .v5-home-hero h1 {  max-width: 14ch; font-size: clamp(2.35rem,3.7vw,4rem);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main > .v5-home-hero .v5-home-hero__media {  min-height: clamp(27rem,36vw,34rem);}/* Consistent light sections, cards, facts, FAQ and photo features. */html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .program-quicknav {  position: sticky; z-index: 8; top: calc(var(--v6-header) + .55rem);  width: min(calc(100% - 2rem),var(--v6-content)); min-width: 0; display: flex;  align-items: center; gap: .28rem; margin: 1rem auto; padding: .35rem; overflow-x: auto;  border: 1px solid var(--v6-line); border-radius: 1rem; background: rgba(255,255,255,.96);  box-shadow: var(--v6-shadow-xs); -webkit-backdrop-filter: blur(12px);  backdrop-filter: blur(12px); scrollbar-width: thin;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .program-quicknav a {  min-width: max-content; min-height: 44px; display: inline-flex; align-items: center;  padding: .58rem .78rem; color: #365069; border: 1px solid transparent;  border-radius: .72rem; background: transparent; font-size: .8rem; font-weight: 680;  text-decoration: none; text-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .program-quicknav a:is(:hover,:focus-visible,[aria-current="page"]) {  color: var(--v6-navy-900); border-color: rgba(10,114,193,.16); background: var(--v6-blue-50);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main > :where(  .program-section,.school-outcomes,.program-local-callout,.program-faq,.context-lab,  .pilot-panel,.working-premise,.collaboration-model,.partner-roles,.quality-charter,  .pro-process,.pro-localisation,.pro-quality,.school-methods-v2,.domain-clusters) {  width: 100%; max-width: none; min-height: 0; margin: 0;  padding: clamp(3.5rem,6vw,5.75rem) max(1rem,calc((100vw - var(--v6-content))/2));  color: var(--v6-ink); border: 0; border-top: 1px solid var(--v6-line);  border-radius: 0; background: rgba(255,255,255,.96); box-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main > :where(  .program-levels,.program-local-callout,.program-faq,.pilot-panel,.pro-localisation,.pro-quality,.quality-charter) {  background: radial-gradient(circle at 92% 10%,rgba(33,139,214,.09),transparent 24rem),    linear-gradient(180deg,var(--v6-blue-50),#fff);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .section-intro,.program-section__head,.pro-section-head,.v5-section-head,.v5-center-head) { max-width: var(--v6-content); margin-inline: auto; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .section-intro,.program-section__head,.pro-section-head) { margin-bottom: clamp(1.6rem,3vw,2.5rem); }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .program-card-grid,.outcome-board,.pilot-grid,.local-context-grid,.method-detail-grid,  .program-steps,.related-programs,.process-grid,.domain-grid,.level-grid,.pro-quality-grid,  .choice-grid,.legal-principle-grid) { max-width: var(--v6-content); min-width: 0; gap: 1rem; margin-inline: auto; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .program-card-grid article,.outcome-board article,.pilot-grid article,.local-context-grid article,  .method-detail-grid article,.program-level-card,.program-steps article,.related-programs a,  .method-card,.process-step,.domain-grid article,.level-grid article,.pro-quality-grid article,  .choice-grid label,.partner-proof,.direct-contact,.source-note,.content-note) {  min-width: 0; min-height: 0; color: var(--v6-ink); border: 1px solid var(--v6-line);  border-radius: var(--v6-radius); background: #fff; box-shadow: var(--v6-shadow-xs);  text-shadow: none; transform: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .program-card-grid article,.outcome-board article,.pilot-grid article,.local-context-grid article,  .method-detail-grid article,.program-level-card,.program-steps article,.method-card,.process-step,  .domain-grid article,.level-grid article,.pro-quality-grid article) { padding: clamp(1.15rem,2vw,1.5rem); }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .program-card-grid article,.outcome-board article,.pilot-grid article,.local-context-grid article,  .method-detail-grid article,.program-level-card,.program-steps article,.related-programs a,  .method-card,.process-step,.domain-grid article,.level-grid article,.pro-quality-grid article) :where(h3,strong,b) { color: var(--v6-navy-900); text-shadow: none; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .program-card-grid article,.outcome-board article,.pilot-grid article,.local-context-grid article,  .method-detail-grid article,.program-level-card,.program-steps article,.related-programs a,  .method-card,.process-step,.domain-grid article,.level-grid article,.pro-quality-grid article) :where(p,li,span) { color: var(--v6-muted); text-shadow: none; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .outcome-board article {  display: flex; flex-direction: column;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .outcome-board article h3 {  margin: .7rem 0 .6rem; font-size: clamp(1.25rem,1.8vw,1.65rem);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .outcome-board article p {  margin: 0; color: var(--v6-muted);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .pilot-grid article {  display: flex; flex-direction: column; justify-content: flex-start; gap: .45rem;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .pilot-grid b {  color: var(--v6-navy-900); font-family: var(--v6-display);  font-size: clamp(1.1rem,1.6vw,1.4rem); font-weight: 680;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .pilot-grid span {  max-width: none; color: var(--v6-muted);}@media (hover:hover) and (pointer:fine) {  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .program-card-grid article,.outcome-board article,.pilot-grid article,.local-context-grid article,    .method-detail-grid article,.program-level-card,.program-steps article,.related-programs a,    .method-card,.process-step,.domain-grid article,.level-grid article,.pro-quality-grid article  ):hover {    color: var(--v6-ink); border-color: rgba(10,114,193,.28);    background: var(--v6-blue-50); box-shadow: 0 20px 46px rgba(0,31,72,.1);    transform: translateY(-3px);  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .outcome-board article,.pilot-grid article  ):hover :where(p,li,span,b,strong,h3) { color: inherit; }}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .preparation-room {  width: min(calc(100% - 2rem),var(--v6-content)); max-width: var(--v6-content);  min-height: 0; display: grid; grid-template-columns: minmax(18rem,.9fr) minmax(0,1.1fr);  gap: 0; margin: clamp(2rem,5vw,4rem) auto; padding: .7rem; overflow: hidden;  border: 1px solid var(--v6-line); border-radius: var(--v6-radius-lg);  background: #fff; box-shadow: var(--v6-shadow-sm);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .preparation-visual {  min-height: clamp(22rem,34vw,31rem); overflow: hidden; border: 0;  border-radius: calc(var(--v6-radius-lg) - .45rem); background: var(--v6-blue-100); box-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .preparation-visual::before,html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .preparation-visual::after {  display: none; content: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .preparation-visual :where(picture,img) {  width: 100%; height: 100%; display: block; object-fit: cover;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .preparation-copy {  min-width: 0; padding: clamp(1.4rem,3.5vw,3rem); background: transparent;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .preparation-list article {  min-width: 0; min-height: 0; padding: .9rem; color: var(--v6-ink);  border: 1px solid var(--v6-line); border-radius: .9rem;  background: var(--v6-blue-50); box-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .program-facts {  width: min(calc(100% - 2rem),var(--v6-content)); max-width: var(--v6-content);  overflow: hidden; border: 1px solid var(--v6-line); border-radius: var(--v6-radius);  background: #fff; box-shadow: var(--v6-shadow-xs);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .program-facts > div {  min-width: 0; padding: 1.15rem clamp(1rem,2vw,1.6rem); border-color: var(--v6-line);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .program-facts dt {  color: var(--v6-blue-700); font-size: .69rem; font-weight: 740;  letter-spacing: .08em; text-transform: uppercase;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .program-facts dd {  color: var(--v6-navy-900); font-weight: 650;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(.faq-list details,.program-faq details) {  min-width: 0; overflow: hidden; border: 1px solid var(--v6-line);  border-radius: 1rem; background: #fff; box-shadow: var(--v6-shadow-xs);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(.faq-list details,.program-faq details) + details {  margin-top: .65rem;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(.faq-list summary,.program-faq summary) {  min-height: 52px; display: flex; align-items: center; padding: .85rem 3rem .85rem 1rem;  color: var(--v6-navy-900); background: transparent; font-weight: 680;  line-height: 1.35; cursor: pointer; text-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(.faq-list details[open],.program-faq details[open]) {  border-color: rgba(10,114,193,.23); background: linear-gradient(180deg,#fff,var(--v6-blue-50));}/* Light conversion anchors; navy is reserved for actionable controls. */html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .program-detail-cta,.program-local-callout,.conversion-band,.page-next,.page-next-cyan,  .route-page-close,.legal-contact) {  width: min(calc(100% - 2rem),var(--v6-content)); min-height: 0;  margin: clamp(2rem,5vw,4rem) auto; padding: clamp(1.6rem,4vw,3rem); overflow: hidden;  color: var(--v6-ink); border: 1px solid rgba(10,114,193,.2);  border-radius: var(--v6-radius-lg);  background: radial-gradient(circle at 90% 0,rgba(33,139,214,.14),transparent 18rem),    linear-gradient(135deg,#fff,#eaf5ff);  box-shadow: var(--v6-shadow-sm); text-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .program-detail-cta,.program-local-callout,.conversion-band,.page-next,.page-next-cyan,  .route-page-close,.legal-contact) :where(h2,h3,strong) { color: var(--v6-navy-900); text-shadow: none; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .program-detail-cta,.program-local-callout,.conversion-band,.page-next,.page-next-cyan,  .route-page-close,.legal-contact) :where(p,li) { color: var(--v6-muted); text-shadow: none; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .v5-button,.pro-button,.pill-action,.primary-action,.line-action,.quiet-action,  .page-next > a,.program-detail-cta a,.conversion-band a,.legal-contact-actions a,.form-submit button) {  min-height: 46px; display: inline-flex; align-items: center; justify-content: center;  gap: .45rem; padding: .68rem 1rem; border-radius: .82rem;  font-family: var(--v6-font); font-size: .88rem; font-weight: 710;  line-height: 1.2; text-decoration: none; text-shadow: none; transform: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .v5-button--primary,.pro-button--primary,.pill-action,.primary-action-dark,  .page-next > a,.program-detail-cta .pro-button:first-child,.conversion-band a:first-of-type,.form-submit button) {  color: #fff; border: 1px solid var(--v6-navy-900);  background: linear-gradient(135deg,var(--v6-navy-900),var(--v6-navy-800));  box-shadow: 0 9px 20px rgba(0,38,87,.16);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .v5-button--secondary,.pro-button--quiet,.line-action,.quiet-action,.legal-phone) {  color: var(--v6-navy-900); border: 1px solid var(--v6-line-strong);  background: #fff; box-shadow: var(--v6-shadow-xs);}/* Legal/information pages, forms and tables. */html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-hero {  grid-template-columns: minmax(0,1.1fr) minmax(17rem,.65fr);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-snapshot {  align-self: center; margin: clamp(1rem,3vw,2rem); padding: 1rem;  border: 1px solid var(--v6-line); border-radius: var(--v6-radius);  background: rgba(255,255,255,.94); box-shadow: var(--v6-shadow-xs);  -webkit-backdrop-filter: none; backdrop-filter: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-snapshot dl > div {  min-width: 0; padding: .75rem; border-color: var(--v6-line);  border-radius: .7rem; background: var(--v6-blue-50);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-layout {  width: min(calc(100% - 2rem),var(--v6-content)); display: grid;  grid-template-columns: minmax(13rem,.28fr) minmax(0,1fr);  gap: clamp(1.4rem,3vw,3rem); margin: 0 auto; padding: 0;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-toc {  position: sticky; top: calc(var(--v6-header) + 1.25rem); align-self: start;  display: grid; gap: .25rem; padding: .75rem; border: 1px solid var(--v6-line);  border-radius: 1rem; background: #fff; box-shadow: var(--v6-shadow-xs);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-toc a {  min-height: 44px; display: grid; grid-template-columns: 1.8rem minmax(0,1fr);  align-items: center; gap: .4rem; padding: .55rem .65rem; color: var(--v6-blue-700);  border-radius: .7rem; text-decoration: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-toc a span {  color: var(--v6-ink); font-weight: 620;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-section {  min-width: 0; display: grid; grid-template-columns: 2.75rem minmax(0,1fr);  gap: clamp(.75rem,2vw,1.35rem); padding: clamp(1.35rem,3vw,2.25rem);  scroll-margin-top: calc(var(--v6-header) + 1.5rem);  border: 1px solid var(--v6-line); border-radius: var(--v6-radius);  background: #fff; box-shadow: var(--v6-shadow-xs);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-section + .legal-section {  margin-top: 1rem; padding-top: clamp(1.35rem,3vw,2.25rem);  border-top: 1px solid var(--v6-line);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-section h2 {  max-width: 24ch; font-size: clamp(1.65rem,2.6vw,2.45rem);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  .legal-facts span,.legal-flow li,.legal-callout,.legal-checklist li,  .legal-principle-grid article,.legal-key-list li,.noscript-contact) {  min-width: 0; border: 1px solid var(--v6-line); border-radius: .85rem;  background: var(--v6-blue-50); box-shadow: none;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .interest-form {  min-width: 0; padding: clamp(1rem,3vw,2rem); border: 1px solid var(--v6-line);  border-radius: var(--v6-radius-lg); background: #fff; box-shadow: var(--v6-shadow-sm);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .form-step {  min-width: 0; padding: 1.1rem 0; border-color: var(--v6-line);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(fieldset,legend) { min-width: 0; }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main legend {  color: var(--v6-navy-900); font-family: var(--v6-display);  font-size: clamp(1.18rem,1.8vw,1.5rem); font-weight: 660;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  input:not([type="radio"]):not([type="checkbox"]),select,textarea) {  width: 100%; min-width: 0; min-height: 48px; padding: .72rem .78rem;  color: var(--v6-ink); border: 1px solid var(--v6-line-strong);  border-radius: .75rem; background: #fff;  box-shadow: inset 0 1px 2px rgba(0,31,72,.035); font: inherit;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main textarea {  min-height: 8rem; resize: vertical;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  input:not([type="radio"]):not([type="checkbox"]),select,textarea):focus {  border-color: var(--v6-blue-600); outline: 3px solid rgba(10,114,193,.13); outline-offset: 1px;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .choice-grid label {  min-height: 48px; display: flex; align-items: center; gap: .55rem;  padding: .65rem .75rem; cursor: pointer;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(  input[type="radio"],input[type="checkbox"]) { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; accent-color: var(--v6-blue-700); }html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .form-consent {  color: var(--v6-muted); border-color: var(--v6-line); background: var(--v6-blue-50);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main table {  width: 100%; max-width: 100%; border-collapse: separate; border-spacing: 0;  overflow: hidden; border: 1px solid var(--v6-line); border-radius: 1rem;  background: #fff; box-shadow: var(--v6-shadow-xs);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(th,td) {  min-width: 0; padding: .8rem .9rem; color: var(--v6-muted);  border-right: 1px solid var(--v6-line); border-bottom: 1px solid var(--v6-line);  text-align: left; vertical-align: top; overflow-wrap: anywhere;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main th {  color: var(--v6-navy-900); background: var(--v6-blue-50); font-weight: 700;}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main picture img {  filter: brightness(1.035) saturate(1.03) contrast(1.015);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .method-photo-band {  width: min(calc(100% - 2rem),var(--v6-content)); margin: clamp(2rem,5vw,4rem) auto;  overflow: hidden; border: 1px solid var(--v6-line);  border-radius: var(--v6-radius-lg); background: #fff; box-shadow: var(--v6-shadow-sm);}html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .method-photo-band__copy {  color: var(--v6-ink); background: #fff;}@media (max-width:980px) {  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .pro-inner-hero,.program-detail-hero,.school-hero,.legal-hero,.join-hero  ) { grid-template-columns: 1fr; }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .school-hero-copy,.program-detail-hero__copy,.pro-inner-hero__copy,.legal-hero-copy,.join-hero-copy  ) { min-height: 0; }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .school-hero-visual,.program-detail-hero__media,.pro-inner-hero__media,.join-hero > picture  ) { min-height: clamp(19rem,56vw,28rem); }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .preparation-room {    grid-template-columns: 1fr;  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-layout {    grid-template-columns: 1fr;  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-toc {    position: static; display: flex; gap: .25rem; overflow-x: auto; scroll-snap-type: x proximity;  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-toc a {    min-width: max-content; scroll-snap-align: start;  }}@media (max-width:700px) {  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .pro-inner-hero,.program-detail-hero,.route-hero,.school-hero,.editorial-hero,    .partnership-hero,.join-hero,.legal-hero  ) { width: calc(100% - 1rem); margin: 1rem .5rem 2rem; border-radius: 1.3rem; }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .pro-inner-hero__copy,.program-detail-hero__copy,.route-hero-copy,.school-hero-copy,    .editorial-hero-copy,.partnership-hero-copy,.join-hero-copy,.legal-hero-copy  ) { padding: 2rem 1rem 1.75rem; }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .pro-inner-hero,.program-detail-hero,.route-hero,.school-hero,.editorial-hero,    .partnership-hero,.join-hero,.legal-hero  ) h1 { font-size: clamp(2.05rem,10vw,2.75rem); letter-spacing: -.045em; }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .school-hero-visual,.program-detail-hero__media,.pro-inner-hero__media,.join-hero > picture  ) { min-height: 18rem; }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main > :where(    .program-section,.school-outcomes,.program-local-callout,.program-faq,.context-lab,    .pilot-panel,.working-premise,.collaboration-model,.partner-roles,.quality-charter,    .pro-process,.pro-localisation,.pro-quality,.school-methods-v2,.domain-clusters  ) { padding: 3rem 1rem; }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main h2 {    font-size: clamp(1.75rem,8.7vw,2.45rem);  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .program-card-grid,.outcome-board,.pilot-grid,.local-context-grid,.method-detail-grid,    .program-steps,.related-programs,.process-grid,.domain-grid,.level-grid,.pro-quality-grid,    .choice-grid,.legal-principle-grid  ) { grid-template-columns: minmax(0,1fr); }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .preparation-room,.program-facts,.program-detail-cta,.program-local-callout,.conversion-band,    .page-next,.page-next-cyan,.route-page-close,.legal-contact,.method-photo-band,.legal-layout  ) { width: calc(100% - 1.5rem); }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .preparation-room {    grid-template-columns: 1fr; padding: .45rem; border-radius: 1.25rem;  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .preparation-visual {    min-height: 18rem; border-radius: 1rem;  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .program-facts {    grid-template-columns: minmax(0,1fr);  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .program-facts > div {    border: 0; border-top: 1px solid var(--v6-line);  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .legal-section {    grid-template-columns: minmax(0,1fr); padding: 1.15rem;  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(.field-grid,.phone-control) {    grid-template-columns: minmax(0,1fr);  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .hero-actions,.program-detail-hero__actions,.legal-contact-actions,.v5-cta__actions  ) { display: grid; grid-template-columns: minmax(0,1fr); }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .hero-actions,.program-detail-hero__actions,.legal-contact-actions,.v5-cta__actions  ) > :where(a,button) { width: 100%; }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main table {    display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;  }}@media (max-width:360px) {  html body[data-page][data-page] > .wayfinder { padding-left: .4rem; }  html body[data-page][data-page] > .wayfinder .brand-lockup { width: min(9.5rem,59vw); }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .pro-inner-hero,.program-detail-hero,.route-hero,.school-hero,.editorial-hero,    .partnership-hero,.join-hero,.legal-hero  ) { width: calc(100% - .7rem); margin-inline: .35rem; }}@media (prefers-reduced-motion:reduce) {  html body[data-page][data-page] > .wayfinder :where(    .brand-lockup,.route-link,.join-link,.language-button,.language-menu,.language-menu button  ),  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    article,a,button,details,summary,picture,img,.preparation-room,.method-photo-band  ) { animation: none !important; transition: none !important; transform: none !important; }}@media (prefers-reduced-transparency:reduce) {  html body[data-page][data-page] > .wayfinder,  html body[data-page][data-page] > .wayfinder .wayfinder-actions > .language-menu,  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(.program-quicknav,.legal-snapshot) {    background-color: #fff; -webkit-backdrop-filter: none; backdrop-filter: none;  }}@media (prefers-contrast:more) {  html body[data-page][data-page] > .wayfinder,  html body[data-page][data-page] > .wayfinder :where(.brand-lockup,.route-link,.language-button),  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    article,details,.program-facts,.preparation-room,.legal-section,.interest-form,    .program-detail-cta,.conversion-band,.page-next,.legal-contact  ) { border-color: rgba(0,38,87,.52); }}@media (forced-colors:active) {  html body[data-page][data-page] > .wayfinder,  html body[data-page][data-page] > .wayfinder :where(    .brand-lockup,.route-link,.join-link,.language-button,.language-menu,.language-menu button  ),  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .pro-inner-hero,.program-detail-hero,.route-hero,.school-hero,.editorial-hero,    .partnership-hero,.join-hero,.legal-hero,.program-quicknav,.program-facts,    .preparation-room,article,details,.legal-section,.legal-toc,.legal-snapshot,    .interest-form,.program-detail-cta,.program-local-callout,.conversion-band,    .page-next,.legal-contact,.method-photo-band  ) {    color: CanvasText; border-color: CanvasText; background: Canvas;    box-shadow: none; forced-color-adjust: auto;  }}@media print {  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main :where(    .pro-inner-hero,.program-detail-hero,.route-hero,.school-hero,.editorial-hero,    .partnership-hero,.join-hero,.legal-hero,.program-section,.school-outcomes,    .program-local-callout,.program-faq,.program-facts,.preparation-room,.legal-section,    .interest-form,.program-detail-cta,.conversion-band,.page-next,.legal-contact  ) {    width: 100%; min-height: 0; margin: 0 0 1rem; padding: 1rem; color: #000;    border: 1px solid #bbb; background: #fff; box-shadow: none; break-inside: avoid;  }  html body[data-page]:not([data-page="home"]):not([data-page="student"]) main .program-quicknav { display: none; }}

/* ========================================================================== 
   Official3 applications: accessible audience separation and verified CTA contrast
   ========================================================================== */
html body[data-page][data-page] > .wayfinder .join-link,
html body[data-page][data-page] > .wayfinder .join-link:link,
html body[data-page][data-page] > .wayfinder .join-link:visited,
html body[data-page][data-page] > .wayfinder .join-link:is(:hover,:focus-visible,:active),
html body[data-page][data-page] > .wayfinder .join-link > span,
html body[data-page][data-page] > .wayfinder .join-link:visited > span,
html body[data-page][data-page] .mobile-route-list .mobile-join,
html body[data-page][data-page] .mobile-route-list .mobile-join:visited,
html body[data-page][data-page] .mobile-route-list .mobile-join > span,
html body[data-page][data-page] .v6-footer__cta,
html body[data-page][data-page] .v6-footer__cta:visited {
  color: #fff !important;
  text-decoration-color: #fff;
}
html body[data-page][data-page] > .wayfinder .join-link,
html body[data-page][data-page] .mobile-route-list .mobile-join,
html body[data-page][data-page] .v6-footer__cta {
  border-color: var(--v6-navy-900);
  background: linear-gradient(135deg,var(--v6-navy-900),var(--v6-navy-800));
}
html body[data-page][data-page] > .wayfinder .join-link:is(:hover,:focus-visible,:active),
html body[data-page][data-page] .mobile-route-list .mobile-join:is(:hover,:focus-visible,:active),
html body[data-page][data-page] .v6-footer__cta:is(:hover,:focus-visible,:active) {
  color: #fff !important;
  background: var(--v6-blue-700);
}

body[data-page="join"] .application-section {
  width: min(1180px,calc(100% - 2rem));
  margin: clamp(2.5rem,6vw,5.5rem) auto;
}
body[data-page="join"] .application-heading {
  max-width: 49rem;
  margin: 0 auto clamp(1.4rem,3vw,2.3rem);
  text-align: center;
}
body[data-page="join"] .application-heading > p:last-child {
  margin: 1rem auto 0;
  color: var(--v6-muted);
  font-size: clamp(1rem,1.4vw,1.12rem);
  line-height: 1.7;
}
body[data-page="join"] .application-mode-switch {
  position: sticky;
  top: calc(var(--v6-header) + .8rem);
  z-index: 12;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .55rem;
  max-width: 62rem;
  margin: 0 auto clamp(1.2rem,3vw,2rem);
  padding: .55rem;
  border: 1px solid var(--v6-line);
  border-radius: 1.35rem;
  background: rgba(255,255,255,.96);
  box-shadow: 0 16px 40px rgba(0,38,87,.1);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
body[data-page="join"] .application-mode-switch button {
  min-height: 4.4rem;
  display: grid;
  align-content: center;
  gap: .22rem;
  padding: .75rem 1rem;
  color: var(--v6-navy-900);
  border: 1px solid transparent;
  border-radius: .95rem;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
body[data-page="join"] .application-mode-switch button > span {
  font-family: var(--v6-display);
  font-size: 1rem;
  font-weight: 720;
  letter-spacing: -.015em;
}
body[data-page="join"] .application-mode-switch button > small {
  color: #587083;
  font-size: .76rem;
  font-weight: 540;
  line-height: 1.35;
}
body[data-page="join"] .application-mode-switch button:is(:hover,:focus-visible) {
  border-color: var(--v6-line-strong);
  background: var(--v6-blue-50);
}
body[data-page="join"] .application-mode-switch button[aria-selected="true"] {
  color: #fff;
  border-color: var(--v6-navy-900);
  background: linear-gradient(135deg,var(--v6-navy-900),var(--v6-navy-800));
  box-shadow: 0 10px 24px rgba(0,38,87,.18);
}
body[data-page="join"] .application-mode-switch button[aria-selected="true"] > small { color: rgba(255,255,255,.82); }
body[data-page="join"] .application-panel[hidden] { display: none !important; }
body[data-page="join"] .application-panel {
  display: grid;
  grid-template-columns: minmax(15rem,19rem) minmax(0,1fr);
  gap: clamp(1rem,3vw,2.25rem);
  align-items: start;
  padding: clamp(.65rem,1.5vw,1rem);
  border: 1px solid var(--v6-line);
  border-radius: 1.65rem;
  background: rgba(255,255,255,.76);
  box-shadow: var(--v6-shadow-sm);
}
body[data-page="join"] .application-panel-intro {
  position: sticky;
  top: calc(var(--v6-header) + 7.6rem);
  padding: clamp(1.15rem,2.4vw,1.7rem);
  border-radius: 1.25rem;
  background: linear-gradient(155deg,var(--v6-blue-50),#fff);
}
body[data-page="join"] .application-panel-intro h3 {
  margin: .35rem 0 .8rem;
  font-size: clamp(1.45rem,2.5vw,2rem);
  line-height: 1.08;
}
body[data-page="join"] .application-panel-intro > p:last-child {
  margin: 0;
  color: var(--v6-muted);
  line-height: 1.65;
}
body[data-page="join"] .application-form {
  min-width: 0;
  margin: 0;
  padding: clamp(1rem,2.5vw,2rem);
  border-radius: 1.25rem;
  box-shadow: none;
}
body[data-page="join"] .application-form .form-section {
  margin: 0;
  padding: 0 0 clamp(1.5rem,3vw,2.25rem);
  border: 0;
  border-bottom: 1px solid var(--v6-line);
}
body[data-page="join"] .application-form .form-section + .form-section { padding-top: clamp(1.5rem,3vw,2.25rem); }
body[data-page="join"] .application-form .form-section > legend {
  margin: 0 0 .35rem;
  color: var(--v6-navy-900);
  font-family: var(--v6-display);
  font-size: clamp(1.2rem,2vw,1.55rem);
  font-weight: 720;
  letter-spacing: -.02em;
}
body[data-page="join"] .form-help,
body[data-page="join"] .application-process-note {
  margin: 0 0 1rem;
  color: var(--v6-muted);
  font-size: .86rem;
  line-height: 1.55;
}
body[data-page="join"] .application-form .field-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem;
}
body[data-page="join"] .application-form .field-span-2 { grid-column: 1 / -1; }
body[data-page="join"] .application-form :where(label,.phone-field) > span:first-child,
body[data-page="join"] .application-form .phone-field > span:first-child {
  display: block;
  margin-bottom: .42rem;
  color: #233d55;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.35;
}
body[data-page="join"] .application-form :where(input:not([type="checkbox"]),select,textarea) {
  width: 100%;
  min-height: 3rem;
  padding: .72rem .8rem;
  color: var(--v6-ink);
  border: 1px solid #9aaaba;
  border-radius: .72rem;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(0,38,87,.025);
  font: inherit;
  font-size: .92rem;
}
body[data-page="join"] .application-form textarea { min-height: 8.5rem; resize: vertical; line-height: 1.55; }
body[data-page="join"] .application-form select { cursor: pointer; }
body[data-page="join"] .application-form label > small {
  display: block;
  margin-top: .42rem;
  color: var(--v6-muted);
  font-size: .78rem;
  line-height: 1.5;
}
body[data-page="join"] .application-form :where(input,select,textarea)[aria-invalid="true"] {
  border-color: #a22922;
  box-shadow: 0 0 0 3px rgba(162,41,34,.12);
}
body[data-page="join"] .application-form :where(input,select,textarea):focus-visible,
body[data-page="join"] .application-mode-switch button:focus-visible {
  outline: 3px solid #f4bf4f;
  outline-offset: 2px;
}
body[data-page="join"] .application-form .phone-control {
  display: grid;
  grid-template-columns: minmax(6.5rem,.35fr) minmax(0,1fr);
  gap: .55rem;
}
body[data-page="join"] .check-group {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .6rem;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--v6-line);
  border-radius: 1rem;
  background: var(--v6-blue-50);
}
body[data-page="join"] .check-group > legend {
  grid-column: 1 / -1;
  padding: 0 .25rem;
  color: #233d55;
  font-size: .86rem;
  font-weight: 720;
}
body[data-page="join"] .check-group label {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .62rem .72rem;
  border: 1px solid var(--v6-line);
  border-radius: .72rem;
  background: #fff;
  cursor: pointer;
}
body[data-page="join"] .check-group input,
body[data-page="join"] .form-consent input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; accent-color: var(--v6-blue-700); }
body[data-page="join"] .check-group label > span { margin: 0; font-size: .82rem; font-weight: 650; }
body[data-page="join"] .guardian-section {
  margin-top: 1.4rem !important;
  padding: 1.2rem !important;
  border: 1px solid rgba(10,114,193,.28) !important;
  border-radius: 1rem;
  background: var(--v6-blue-50);
}
body[data-page="join"] .guardian-section[hidden] { display: none !important; }
body[data-page="join"] .application-form .form-submit {
  display: grid;
  gap: .9rem;
  padding-top: clamp(1.4rem,3vw,2rem);
}
body[data-page="join"] .application-form .form-consent {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  margin: 0;
  color: #304a60;
  font-size: .82rem;
  line-height: 1.55;
}
body[data-page="join"] .application-form .form-consent a { color: var(--v6-blue-700); font-weight: 720; }
body[data-page="join"] .application-form .primary-action {
  width: fit-content;
  min-height: 48px;
  color: #fff;
  border: 1px solid var(--v6-navy-900);
  border-radius: .78rem;
  background: linear-gradient(135deg,var(--v6-navy-900),var(--v6-navy-800));
  font-weight: 740;
}
body[data-page="join"] .application-form .primary-action:is(:hover,:focus-visible) { color: #fff; background: var(--v6-blue-700); }
body[data-page="join"] .application-form .primary-action[disabled] { opacity: .62; cursor: wait; }
body[data-page="join"] .form-error-summary {
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem;
  color: #6d1814;
  border: 2px solid #a22922;
  border-radius: .85rem;
  background: #fff3f2;
}
body[data-page="join"] .form-error-summary[hidden] { display: none !important; }
body[data-page="join"] .form-error-summary h4 { margin: 0 0 .45rem; color: #6d1814; font-size: 1rem; }
body[data-page="join"] .form-error-summary ul { margin: 0; padding-left: 1.15rem; }
body[data-page="join"] .form-error-summary a { color: #6d1814; font-weight: 680; }
body[data-page="join"] .form-status { min-height: 1.5rem; margin: 0; color: var(--v6-muted); font-size: .86rem; font-weight: 650; line-height: 1.5; }
body[data-page="join"] .form-status[data-state="success"] { color: #086443; }
body[data-page="join"] .form-status[data-state="error"] { color: #8f211b; }
body[data-page="join"] .form-status[data-state="pending"] { color: var(--v6-blue-700); }
body[data-page="join"] .application-honeypot {
  position: fixed !important;
  inset: auto auto 0 -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body[data-page="join"] .application-process-grid article > span {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  margin-bottom: .8rem;
  color: #fff;
  border-radius: 50%;
  background: var(--v6-blue-700);
  font-size: .72rem;
  font-weight: 800;
}

@media (max-width:980px) {
  body[data-page="join"] .application-mode-switch { top: calc(var(--v6-header) + .55rem); }
  body[data-page="join"] .application-panel { grid-template-columns: minmax(0,1fr); }
  body[data-page="join"] .application-panel-intro { position: static; }
}
@media (max-width:700px) {
  body[data-page="join"] .application-section { width: calc(100% - 1rem); margin-inline: .5rem; }
  body[data-page="join"] .application-mode-switch { position: static; grid-template-columns: minmax(0,1fr); border-radius: 1rem; }
  body[data-page="join"] .application-mode-switch button { min-height: 3.75rem; text-align: center; }
  body[data-page="join"] .application-panel { padding: .45rem; border-radius: 1.2rem; }
  body[data-page="join"] .application-panel-intro,
  body[data-page="join"] .application-form { padding: 1rem; border-radius: .95rem; }
  body[data-page="join"] .application-form .field-grid,
  body[data-page="join"] .check-group,
  body[data-page="join"] .application-form .phone-control { grid-template-columns: minmax(0,1fr); }
  body[data-page="join"] .application-form .field-span-2 { grid-column: auto; }
  body[data-page="join"] .application-form .primary-action { width: 100%; justify-content: space-between; }
}
@media (forced-colors:active) {
  html body[data-page][data-page] > .wayfinder .join-link,
  html body[data-page][data-page] .mobile-route-list .mobile-join,
  html body[data-page][data-page] .v6-footer__cta,
  body[data-page="join"] .application-mode-switch button[aria-selected="true"] { color: ButtonText !important; background: ButtonFace; border-color: ButtonText; }
}
/* Official3 final scene and glyph alignment */
body[data-page="join"] .application-learning-scene {
  width: min(960px,calc(100% - 2rem));
  margin: clamp(2rem,5vw,4.5rem) auto 0;
  overflow: hidden;
  border: 1px solid rgba(18,59,87,.12);
  border-radius: clamp(1.15rem,2.5vw,2rem);
  background: var(--v6-surface,#fff);
  box-shadow: 0 24px 65px rgba(12,45,70,.13);
}
body[data-page="join"] .application-learning-scene picture,
body[data-page="join"] .application-learning-scene img {
  display: block;
  width: 100%;
}
body[data-page="join"] .application-learning-scene img {
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}
html body[data-page] > .wayfinder .join-link > span[aria-hidden="true"],
body[data-page="join"] .application-form .primary-action > span[aria-hidden="true"] {
  display: inline-grid;
  inline-size: 1em;
  block-size: 1em;
  flex: 0 0 1em;
  place-items: center;
  line-height: 1;
}
body[data-page="join"] .application-mode-switch button > span {
  display: block;
  line-height: 1.15;
}
.audience-route__number,
.audience-panel__number,
.route-result li::before {
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.audience-route__number,
.audience-panel__number {
  display: inline-grid;
  place-items: center;
}
@media (max-width:700px) {
  body[data-page="join"] .application-learning-scene {
    width: calc(100% - 1rem);
    margin-top: 1.5rem;
    border-radius: 1rem;
  }
  body[data-page="join"] .application-learning-scene img {
    aspect-ratio: 4 / 5;
    object-position: center;
  }
}
