.home-journey-picker {
  margin-top: 28px;
  text-align: left;
}
/* Keep hidden lazy images out of layout so all eight campuses do not download on arrival. */
#home-view #bwHeroCarousel .slide { transition:none; }
#home-view #bwHeroCarousel .slide:not(.is-active) { display:none; pointer-events:none; }
#home-view #bwHeroCarousel .slide.is-active { animation:hero-campus-reveal .32s ease-out; }
@keyframes hero-campus-reveal { from { opacity:.65; } to { opacity:1; } }
.home-journey-picker h2 {
  margin: 0 0 14px;
  color: #17163d;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.25;
}
.home-journey-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.home-journey-card {
  min-height: 190px;
  padding: 20px;
  border: 1px solid rgba(107, 96, 255, .2);
  border-radius: 20px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 10px 28px rgba(69, 61, 145, .08);
  color: #292653;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 9px;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.home-journey-card:hover {
  transform: translateY(-3px);
  border-color: #6b60ff;
  box-shadow: 0 16px 32px rgba(69, 61, 145, .14);
}
.home-journey-card:focus-visible {
  outline: 3px solid #6b60ff;
  outline-offset: 4px;
}
.home-journey-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #6b60ff, #8b6bff);
  font-size: 13px;
  font-weight: 800;
}
.home-journey-card strong { color: #17163d; font-size: 17px; line-height: 1.35; }
.home-journey-card > span:not(.home-journey-icon) { color: #5d5a78; font-size: 14px; line-height: 1.55; }
.home-journey-card b { margin-top: auto; color: #6257ec; font-size: 14px; }
.home-browse-link {
  display: inline-flex;
  margin-top: 14px;
  color: #554bcf;
  font-size: 14px;
  font-weight: 700;
}
@media (max-width: 900px) {
  .home-journey-grid { grid-template-columns: 1fr; }
  .home-journey-card { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .home-journey-card { transition: none; }
  .home-journey-card:hover { transform: none; }
}

/* Clear, premium entry choices. */
.home-journey-picker { position:relative; }
.home-journey-card { position:relative; overflow:hidden; border-color:rgba(255,255,255,.7); background:linear-gradient(150deg,rgba(255,255,255,.74),rgba(242,242,255,.58)); box-shadow:0 2px 3px rgba(41,36,98,.04),0 16px 38px rgba(56,49,134,.09); backdrop-filter:blur(20px) saturate(145%); -webkit-backdrop-filter:blur(20px) saturate(145%); }
.home-journey-card::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#6b60ff,#9882ff,#63b3ff); opacity:.72; }
.home-journey-card::after { content:""; position:absolute; width:120px; height:120px; right:-70px; top:-72px; border-radius:50%; background:radial-gradient(circle,rgba(107,96,255,.13),transparent 70%); transition:transform .28s ease; }
.home-journey-card:hover { transform:translateY(-6px); border-color:rgba(107,96,255,.34); box-shadow:0 5px 10px rgba(41,36,98,.06),0 26px 55px rgba(56,49,134,.15); }
.home-journey-card:hover::after { transform:scale(1.35); }
.home-journey-card:active { transform:translateY(-2px) scale(.99); }
.home-journey-icon { box-shadow:0 9px 20px rgba(107,96,255,.25),inset 0 1px rgba(255,255,255,.34); }
.home-journey-card b { display:inline-flex; align-items:center; gap:6px; }
.home-journey-card b::after { content:"→"; transition:transform .18s ease; }
.home-journey-card:hover b::after { transform:translateX(4px); }
.home-journey-card b::after { content:none; }
.home-tools-disclosure summary { min-height:44px; padding:10px 0; color:#49328e; font-weight:700; cursor:pointer; }
.home-tools-disclosure[open] summary { margin-bottom:10px; }
/* Give each roadmap step enough reading width instead of forcing five columns. */
html body #home-view #roadmap { padding:44px 24px !important; }
#roadmap > .container { width:100%; max-width:1120px; padding:0; }
html body #home-view #roadmap .bw-steps {
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px;
  max-width:none; margin-top:28px;
}
html body #home-view #roadmap .bw-step {
  grid-column:span 2; min-width:0; display:flex; flex-direction:column;
  padding:26px; border-radius:26px;
}
html body #home-view #roadmap .bw-step:nth-child(4) { grid-column:2 / span 2; }
html body #home-view #roadmap .bw-step:nth-child(5) { grid-column:4 / span 2; }
#roadmap .bw-step-heading { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:start; gap:14px; margin-bottom:20px; }
html body #home-view #roadmap .bw-step-num {
  width:40px; height:40px; margin:0; border-radius:14px;
  font-size:19px; font-weight:700; line-height:1;
  box-shadow:0 5px 14px rgba(107,96,255,.17);
}
html body #home-view #roadmap .bw-step h3 { margin:0 0 6px; font-size:20px; line-height:1.35; font-weight:700; }
html body #home-view #roadmap .bw-step .goal {
  margin:0; color:#6253c2; font-size:13px; line-height:1.6; font-weight:600;
  text-transform:none; letter-spacing:0;
}
#roadmap .bw-step ul { margin:0 0 22px; }
#roadmap .bw-step ul li { padding:0 0 0 21px; margin:0 0 10px; font-size:14px; line-height:1.7; }
#roadmap .bw-step ul li:last-child { margin-bottom:0; }
#roadmap .bw-step-actions { display:flex; flex-direction:column; align-items:flex-start; gap:4px; margin-top:auto; }
#roadmap .bw-step .step-cta {
  display:block; max-width:100%; min-height:36px; padding:6px 0;
  color:#6050cf; font-size:13px; font-weight:700; line-height:1.7;
}
#roadmap .bw-step .step-cta-secondary { color:#6b6384; font-size:12px; font-weight:500; }
#roadmap .bw-step .step-cta:hover { text-decoration:underline; text-underline-offset:4px; }
html body #home-view #roadmap #selectedSchoolsPreview {
  width:100%; margin-top:8px; padding-top:12px; border-top:1px solid rgba(107,96,255,.12);
  font-size:12px; color:#69617f; line-height:1.7;
}
#roadmap #selectedSchoolsPreview strong { font-weight:500; }
#roadmap #selectedSchoolsPreview p { margin:2px 0 0; }
#roadmap #selectedSchoolsPreview a { display:inline-block; padding:5px 0; color:#6050cf; font-size:12px; line-height:1.7; text-decoration:none; }
#roadmap #selectedSchoolsPreview a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1023px) {
  html body #home-view #roadmap .bw-steps { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
  html body #home-view #roadmap .bw-step:nth-child(4) { grid-column:span 2; }
  html body #home-view #roadmap .bw-step:nth-child(5) { grid-column:2 / span 2; }
  html body #home-view #roadmap .bw-step { padding:22px; }
}
@media(max-width:639px) {
  html body #home-view #roadmap { padding:32px 20px !important; }
  html body #home-view #roadmap .bw-steps { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:24px; }
  html body #home-view #roadmap .bw-step:nth-child(n) { grid-column:1; padding:22px; }
  #roadmap .bw-step-heading { margin-bottom:18px; }
  #roadmap .bw-step ul { margin-bottom:16px; }
}
@media(max-width:900px) {
  html body #home-view .bw-hero-visual { display:grid!important; max-width:420px; width:100%; padding:8px; }
  html body #home-view .bw-hero-carousel { height:180px; aspect-ratio:auto; }
  .home-journey-card { padding:16px; gap:6px; }
}

/* Hero composition: editorial copy, a compact feature and a floating campus image. */
html body #home-view #hero-actions {
  --hero-ink:#201b43;
  --hero-accent:#7355dd;
  --hero-accent-deep:#5639c4;
  --hero-muted:#605a78;
  --hero-line:rgba(111,89,187,.12);
  --hero-paper:linear-gradient(115deg,rgba(255,255,255,.88),rgba(241,235,255,.78));
  --hero-shadow:0 3px 8px rgba(67,47,119,.025),0 20px 48px rgba(67,47,119,.075);
  isolation:isolate;
  overflow:clip;
  background:radial-gradient(ellipse at 90% 22%,rgba(212,226,255,.65),transparent 42%),radial-gradient(ellipse at 14% 36%,rgba(231,221,255,.65),transparent 48%),linear-gradient(155deg,#fdfcff 5%,#f7f4ff 52%,#f1f5ff 100%) !important;
  padding:72px 28px 44px !important;
}
html body #home-view #hero-actions::before,
html body #home-view #hero-actions::after {
  content:'';
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
}
html body #home-view #hero-actions::before {
  width:680px;
  height:420px;
  left:-320px;
  top:170px;
  border:1px solid rgba(117,96,229,.08);
  border-radius:40% 60% 62% 38% / 52% 42% 58% 48%;
  transform:rotate(-24deg);
  box-shadow:0 0 0 55px rgba(117,96,229,.018);
}
html body #home-view #hero-actions::after {
  width:500px;
  height:330px;
  right:5%;
  top:90px;
  background:linear-gradient(135deg,rgba(191,173,246,.18),rgba(192,219,255,.2));
  border-radius:57% 43% 37% 63% / 45% 35% 65% 55%;
  transform:rotate(-12deg);
}
html body #home-view #hero-actions .bw-hero-grid {
  max-width:1240px;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(40px,5.5vw,80px);
  align-items:center;
}
html body #home-view #hero-actions .bw-hero-text { position:relative; min-width:0; text-align:left !important; }
html body #home-view #hero-actions .badge { font-size:11px; font-weight:600; padding:7px 13px; margin-bottom:28px; line-height:1.6; border-color:rgba(117,96,229,.12); background:rgba(255,255,255,.6); color:#5a489f; box-shadow:0 4px 16px rgba(74,55,137,.035); }
html body #home-view #hero-actions .bw-hero-h1 {
  font-size:clamp(2.6rem,3.95vw,3.65rem) !important;
  line-height:1.22 !important;
  font-weight:700 !important;
  letter-spacing:-.032em !important;
  margin:0 0 32px !important;
  color:var(--hero-ink) !important;
  max-width:none;
  text-wrap:balance;
}
html body #home-view #hero-actions .accent-yellow {
  position:relative;
  display:block;
  width:max-content;
  max-width:100%;
  padding:.02em .08em .16em 0;
  font-style:normal;
  font-weight:650;
  background:linear-gradient(105deg,#6847d5 0%,#8160e9 58%,#9a6edb 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:var(--hero-accent) !important;
}
html body #home-view #hero-actions .accent-yellow::after {
  content:'';
  position:absolute;
  left:0;
  bottom:-.02em;
  width:98%;
  height:.28em;
  background:url('../images/hero/headline-brush.svg') center / 100% 100% no-repeat;
  transform:rotate(-1deg);
  pointer-events:none;
}
html body #home-view #hero-actions .lede { max-width:470px; font-size:16px !important; line-height:1.85; margin:0 0 28px !important; color:var(--hero-muted); }
#hero-actions .flow-hero-actions { gap:12px; margin:0 0 26px; }
#hero-actions .flow-hero-actions a {
  position:relative; justify-content:center; gap:8px; min-height:52px; padding:13px 22px; border-radius:999px;
  font-size:14px; font-weight:700; text-decoration:none; border:1px solid transparent;
}
#hero-actions .flow-hero-actions .flow-primary { background:linear-gradient(120deg,#6345d8,#7856e5); box-shadow:0 5px 9px rgba(89,65,204,.08),0 14px 28px rgba(89,65,204,.17),inset 0 1px rgba(255,255,255,.28); }
#hero-actions .flow-hero-actions a:not(.flow-primary) { color:#513cae; border-color:rgba(111,89,187,.14); background:rgba(255,255,255,.5); box-shadow:inset 0 1px rgba(255,255,255,.7); font-weight:650; }
#hero-actions .flow-hero-actions a { transition:background .18s ease,box-shadow .18s ease,transform .18s ease; }
#hero-actions .flow-hero-actions .flow-primary:hover { transform:translateY(-2px); box-shadow:0 14px 28px rgba(89,65,204,.28),inset 0 1px rgba(255,255,255,.26); }
#hero-actions .flow-hero-actions a:not(.flow-primary):hover { transform:translateY(-2px); background:rgba(255,255,255,.88); box-shadow:0 10px 24px rgba(67,47,119,.08); }
#hero-actions .choices-summary {
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) 36px; align-items:center; gap:4px 12px; text-align:left;
  padding:21px 20px; max-width:480px; border:1px solid rgba(255,255,255,.9); border-radius:28px;
  background:var(--hero-paper); box-shadow:var(--hero-shadow),inset 0 1px rgba(255,255,255,.85);
  overflow:hidden;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
}
#hero-actions .choices-summary:hover { transform:translateY(-2px); background:rgba(255,255,255,.94); box-shadow:0 18px 40px rgba(67,47,119,.11),inset 0 1px rgba(255,255,255,.9); }
#hero-actions .choices-summary::before { content:''; position:absolute; top:50%; left:12px; width:82px; height:82px; transform:translateY(-50%) rotate(-5deg); background:url('../images/hero/wishes-checklist.svg') center / contain no-repeat; pointer-events:none; transition:transform .2s ease; }
#hero-actions .choices-summary .flow-primary {
  grid-column:1; justify-self:start; min-height:26px; padding:0 0 0 80px; border-radius:0;
  background:none; box-shadow:none; color:#3f2d88!important; font-size:15px; font-weight:700;
}
#hero-actions .choices-summary .flow-primary::after { content:''; position:absolute; inset:0; border-radius:inherit; }
#hero-actions .choices-summary:focus-within { outline:3px solid #6144d8; outline-offset:4px; }
#hero-actions .choices-summary p { grid-column:1; margin:0; padding-left:80px; color:var(--hero-muted); font-size:12px; line-height:1.7; }
#hero-actions .choices-summary::after { content:'↗'; grid-column:2; grid-row:1 / 3; display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(117,96,229,.1); border-radius:50%; background:rgba(255,255,255,.72); color:#6148c1; font-size:18px; pointer-events:none; transition:transform .2s ease; }
#hero-actions .choices-summary:hover::after { transform:translate(2px,-2px); }
#hero-actions .choices-summary:hover::before { transform:translateY(-50%) rotate(0); }
html body #home-view #hero-actions .bw-hero-meta { justify-content:flex-start !important; align-items:flex-start; gap:9px 18px; max-width:490px; margin-top:23px !important; font-size:11px; line-height:1.6; color:#655c7f; }
html body #home-view #hero-actions .bw-hero-meta span { min-height:22px; display:inline-flex; align-items:center; gap:6px; padding:0; border:0; background:none; }
html body #home-view #hero-actions .bw-hero-meta span::before { width:16px; height:16px; margin:0; background:#e1f5ed; color:#138567; font-size:10px; }
html body #home-view #hero-actions .bw-hero-visual { position:relative; isolation:isolate; display:block !important; aspect-ratio:auto; max-width:none; border:0; background:none; border-radius:0; padding:0; box-shadow:none; }
html body #home-view #hero-actions .bw-hero-visual::before { content:''; position:absolute; z-index:-1; inset:-30px -28px 40px -24px; border-radius:45% 55% 38% 62% / 38% 34% 66% 62%; transform:rotate(-7deg); background:linear-gradient(135deg,rgba(216,201,255,.7),rgba(218,231,255,.6)); border:1px solid rgba(255,255,255,.65); }
html body #home-view #hero-actions .bw-hero-visual::after { content:''; position:absolute; z-index:-1; width:124px; height:74px; right:-34px; bottom:20px; border:1px solid rgba(126,96,212,.2); border-radius:50%; transform:rotate(-28deg); pointer-events:none; }
html body #home-view #hero-actions .bw-hero-carousel { aspect-ratio:6 / 5; height:auto; border:2px solid rgba(255,255,255,.86); border-radius:38px 38px 70px 38px; box-shadow:0 4px 10px rgba(45,34,90,.04),0 26px 58px -18px rgba(65,43,126,.25); }
html body #home-view #hero-actions .bw-hero-carousel::after { content:none; }
#hero-actions .bw-hero-footer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:0 12px; padding:20px 8px 0; }
html body #home-view #hero-actions .bw-hero-caption { display:block; min-width:0; text-align:left; margin:0; padding:0 0 0 12px; border:0; border-left:2px solid #a78be8; border-radius:0; background:none; box-shadow:none; color:#44375f; font-size:13px; font-weight:600; line-height:1.65; }
html body #home-view #hero-actions .bw-hero-caption::before { content:none; }
#hero-actions .bw-hero-dots { grid-column:1 / -1; justify-content:flex-start; align-items:center; gap:0; margin:0; }
html body #home-view #hero-actions .bw-hero-dots button { display:grid; place-items:center; width:28px; height:44px; border:0; padding:0; background:transparent; border-radius:10px; transition:none; }
#hero-actions .bw-hero-dots button::before { content:''; width:6px; height:6px; border-radius:999px; background:#c5bddd; }
#hero-actions .bw-hero-dots button.is-active::before { width:18px; background:var(--hero-accent); }
#hero-actions .bw-hero-dots button:hover::before { background:#8b79c6; }
#hero-actions .bw-hero-autoplay { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin:0; padding:0 2px; border:0; border-radius:10px; background:transparent; color:var(--hero-muted); font:inherit; font-size:11px; cursor:pointer; white-space:nowrap; }
#hero-actions .bw-hero-autoplay-track { position:relative; width:30px; height:18px; border-radius:999px; background:#d9d2e9; transition:background .18s ease; }
#hero-actions .bw-hero-autoplay-track::after { content:''; position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #44388022; transition:transform .18s ease; }
#hero-actions .bw-hero-autoplay[aria-pressed="true"] .bw-hero-autoplay-track { background:#7560e5; }
#hero-actions .bw-hero-autoplay[aria-pressed="true"] .bw-hero-autoplay-track::after { transform:translateX(12px); }
#hero-actions .bw-hero-autoplay:focus-visible { outline:3px solid #6144d8; outline-offset:3px; }
#hero-actions .bw-hero-carousel .nav { width:44px; height:44px; opacity:1; color:#433466; border:1px solid rgba(255,255,255,.8); background:rgba(255,255,255,.72); box-shadow:0 6px 18px rgba(32,20,65,.12),inset 0 1px rgba(255,255,255,.6); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); font-size:26px; }
#hero-actions .bw-hero-carousel .nav:hover { background:rgba(255,255,255,.94); transform:translateY(-50%); }
#hero-actions :is(.bw-hero-carousel .nav,.bw-hero-dots button,.flow-hero-actions a):focus-visible { outline:3px solid #6144d8; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { #hero-actions :is(.choices-summary,.choices-summary::before,.choices-summary::after,.flow-hero-actions a,.bw-hero-autoplay-track,.bw-hero-autoplay-track::after,.bw-hero-carousel .slide) { transition:none; } #hero-actions :is(.choices-summary,.flow-hero-actions a):hover { transform:none; } }
#hero-actions .home-journey-picker { max-width:1240px; margin:38px auto 0; }
#hero-actions .home-journey-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
#hero-actions .home-journey-heading h2 { margin:0; font-size:22px; }
#hero-actions .home-browse-link { margin:0; font-size:12px; text-decoration:none; }
#hero-actions .home-journey-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#hero-actions .home-journey-card { min-height:198px; padding:22px; }
#hero-actions .home-waybi-shortcut { margin:16px 0 0; }
@media(max-width:1000px) {
  html body #home-view #hero-actions .bw-hero-grid { grid-template-columns:minmax(0,1fr); gap:36px; }
  html body #home-view #hero-actions .bw-hero-text { max-width:640px; }
  html body #home-view #hero-actions .bw-hero-visual { max-width:640px; margin:12px 0 0; width:100%; }
  html body #home-view #hero-actions .bw-hero-carousel { aspect-ratio:16 / 10; }
}
@media(max-width:600px) {
  html body #home-view #hero-actions { padding:36px 20px 28px !important; }
  html body #home-view #hero-actions .bw-hero-h1 { font-size:clamp(1.95rem,8.4vw,2.7rem) !important; letter-spacing:-.025em !important; margin-bottom:25px !important; }
  html body #home-view #hero-actions .badge { font-size:10px; padding:7px 11px; margin-bottom:24px; }
  html body #home-view #hero-actions .lede { font-size:14px !important; margin-bottom:26px !important; }
  #hero-actions .flow-hero-actions { display:grid; grid-template-columns:1fr; gap:10px; }
  #hero-actions .flow-hero-actions a { width:100%; font-size:13px; }
  #hero-actions .choices-summary { padding:18px 16px; border-radius:26px; gap:4px 8px; grid-template-columns:minmax(0,1fr) 32px; }
  #hero-actions .choices-summary::before { left:5px; width:64px; height:64px; }
  #hero-actions .choices-summary .flow-primary { padding-left:56px; font-size:13px; }
  #hero-actions .choices-summary p { font-size:11px; padding-left:56px; line-height:1.7; }
  #hero-actions .choices-summary::after { width:32px; height:32px; }
  html body #home-view #hero-actions .bw-hero-meta { gap:8px 12px; font-size:10px; }
  html body #home-view #hero-actions .bw-hero-meta span { flex:0 1 auto; justify-content:flex-start; }
  html body #home-view #hero-actions .bw-hero-visual::before { inset:-18px -12px 32px -12px; }
  html body #home-view #hero-actions .bw-hero-visual::after { right:-16px; width:84px; height:54px; }
  html body #home-view #hero-actions .bw-hero-carousel { border-radius:28px 28px 48px 28px; aspect-ratio:6 / 5; }
  #hero-actions .bw-hero-footer { padding:12px 4px 0; gap:0 8px; }
  html body #home-view #hero-actions .bw-hero-caption { font-size:12px; padding-left:9px; }
  #hero-actions .home-journey-grid { grid-template-columns:1fr; gap:12px; }
  #hero-actions .home-journey-card { min-height:0; padding:18px; }
  #hero-actions .home-journey-picker { margin-top:28px; }
  #hero-actions .home-journey-heading h2 { font-size:20px; }
}
