.student-resource-page {
  --student-blue: #002676;
  --student-blue-soft: #eaf0fb;
  --student-ink: #202428;
  --student-muted: #65748b;
  --student-border: #e1e7f0;
  height: auto;
  min-height: 100vh;
  display: block;
  overflow-x: hidden;
  background: #f4f7fb;
  color: var(--student-ink);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.student-resource-page main {
  height: auto;
  max-height: none;
  overflow: visible;
}
.student-resource-page [hidden] { display: none !important; }

.student-hero {
  position: relative;
  display: flex;
  min-height: 205px;
  align-items: center;
  isolation: isolate;
  background: #29323b;
}

.student-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: linear-gradient(90deg, rgba(19, 27, 38, .72), rgba(23, 31, 41, .38) 58%, rgba(23, 31, 41, .23)), url("../../wp-content/uploads/2024/08/Campus_fall_leaves-1536x1025.jpg");
  background-position: center 44%;
  background-size: cover;
  content: "";
}

.student-hero__inner {
  width: min(1024px, calc(100% - 42px));
  margin: 0 auto;
  padding: 27px 0 46px;
  animation: student-rise .55s ease both;
}

.student-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(32px, 4vw, 43px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.08;
  text-shadow: 0 2px 15px rgba(0,0,0,.2);
}

.student-hero p {
  margin: 7px 0 0;
  color: rgba(255,255,255,.9);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.student-shell {
  position: relative;
  z-index: 2;
  width: min(1024px, calc(100% - 32px));
  margin: 0 auto;
}

.student-welcome {
  width: min(864px, 100%);
  min-height: 61px;
  margin: -33px auto 13px;
  padding: 13px 31px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 15px;
  background: #202428;
  box-shadow: 0 17px 35px rgba(21,34,52,.18);
  color: #fff;
  animation: student-rise .6s .06s ease both;
}

.student-welcome__step--one,
.student-welcome__step--two {
  display: grid;
  grid-template-columns: minmax(230px, .95fr) minmax(0, 1.65fr);
  align-items: center;
  gap: 22px;
  min-height: 34px;
}

.student-welcome__copy h2 {
  margin: 0 0 2px;
  color: #fff;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
}

.student-welcome__copy p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 10px;
  line-height: 1.4;
}

.student-welcome__fields {
  display: grid;
  grid-template-columns: minmax(125px, 1fr) minmax(140px, 1fr) auto;
  gap: 10px;
}

.student-welcome__fields input {
  width: 100%;
  min-width: 0;
  min-height: 37px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  outline: 0;
  background: rgba(255,255,255,.09);
  color: #fff;
  font: inherit;
  font-size: 11px;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.student-welcome__fields input::placeholder { color: rgba(255,255,255,.69); }
.student-welcome__fields input:focus { border-color: #b7cdf3; background: rgba(255,255,255,.13); box-shadow: 0 0 0 3px rgba(126,164,227,.18); }

.student-next {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: var(--student-blue);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
  white-space: nowrap;
}

.student-next:hover,
.student-next:focus-visible { background: #16418f; box-shadow: 0 7px 16px rgba(0,38,118,.25); color: #fff; text-decoration: none; transform: translateY(-1px); }
.student-next span { font-size: 16px; line-height: 1; }
.student-welcome__step--two > .student-next { justify-self: end; }

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

.student-breadcrumbs {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 15px;
  padding: 0 20px;
  border: 1px solid var(--student-border);
  border-radius: 9px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 5px 16px rgba(24,43,71,.05);
  color: var(--student-muted);
  font-size: 11px;
}

.student-breadcrumbs a { color: #163461; text-decoration: none; }
.student-breadcrumbs a:hover { color: var(--student-blue); text-decoration: underline; }
.student-breadcrumbs__divider { color: #9aa8ba; }

.student-resource-intro {
  min-height: 188px;
  padding: 49px 20px 26px;
  background: linear-gradient(180deg, #f1f5fa, #f7f9fc);
  text-align: center;
}

.student-resource-intro__inner { width: min(760px, 100%); margin: 0 auto; animation: student-rise .65s .12s ease both; }
.student-resource-eyebrow { display: block; margin-bottom: 10px; color: var(--student-blue); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.student-resource-intro h2 { margin: 0; color: #0d1218; font-size: clamp(23px, 2.8vw, 27px); font-weight: 800; letter-spacing: -.025em; line-height: 1.35; }
.student-resource-rule { display: block; width: 53px; height: 2px; margin: 13px auto 15px; border-radius: 8px; background: var(--student-blue); }
.student-resource-intro p { max-width: 570px; margin: 0 auto; color: var(--student-muted); font-size: 11px; line-height: 1.55; }
.student-resource-page .custom-page-footer { margin-top: 0; }

.student-support-section {
  position: relative;
  padding: 23px 20px 66px;
  background: #fff;
}

.student-support-divider {
  display: flex;
  width: min(390px, 72%);
  align-items: center;
  gap: 16px;
  margin: 0 auto;
}

.student-support-divider::before,
.student-support-divider::after {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(0,38,118,.42));
  content: "";
}

.student-support-divider::after { background: linear-gradient(90deg, rgba(0,38,118,.42), transparent); }

.student-support-divider__icon {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  border-radius: 50%;
  background: #202428;
  box-shadow: 0 7px 17px rgba(0,38,118,.15);
  color: #fff;
}

.student-support-divider__icon svg { width: 17px; height: 17px; fill: currentColor; }

.student-support-card {
  position: relative;
  width: min(924px, 100%);
  min-height: 330px;
  margin: 78px auto 0;
  padding: 40px 52px 43px;
  overflow: hidden;
  border: 1px solid #e1e8f2;
  border-radius: 22px;
  background: #f0f4f9;
  box-shadow: 0 8px 24px rgba(26,48,79,.035);
  text-align: center;
  transition: background .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}

.student-support-card::before {
  position: absolute;
  top: -44px;
  right: -42px;
  width: 164px;
  height: 164px;
  border-radius: 50%;
  background: rgba(0,38,118,.035);
  content: "";
  transition: transform .35s ease, background .35s ease;
}

.student-support-card:hover,
.student-support-card:focus-within {
  border-color: rgba(0,38,118,.38);
  background: #fff;
  box-shadow: 0 20px 45px rgba(22,43,76,.11);
  transform: translateY(-6px);
}

.student-support-card:hover::before,
.student-support-card:focus-within::before { background: rgba(0,38,118,.065); transform: scale(1.14); }

.student-support-card__icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 80px;
  height: 80px;
  place-items: center;
  margin: 0 auto 24px;
  border-radius: 20px;
  background: #202428;
  color: #fff;
  transition: background .25s ease, transform .25s ease;
}

.student-support-card__icon::before {
  position: absolute;
  z-index: 0;
  inset: -10px;
  border: 1px dashed rgba(0,38,118,.26);
  border-radius: 24px;
  content: "";
  transform: rotate(-12deg);
  transition: transform .25s ease, border-color .25s ease;
}

.student-support-card:hover .student-support-card__icon,
.student-support-card:focus-within .student-support-card__icon { background: var(--student-blue); transform: translateY(-2px); }
.student-support-card:hover .student-support-card__icon::before,
.student-support-card:focus-within .student-support-card__icon::before { border-color: rgba(0,38,118,.46); transform: rotate(4deg); }
.student-support-card__icon svg { position: relative; z-index: 1; width: 25px; height: 25px; fill: currentColor; }
.student-support-card h2 { position: relative; z-index: 1; margin: 0; color: #121922; font-size: 20px; font-weight: 800; letter-spacing: -.02em; line-height: 1.25; }
.student-support-card__rule { display: block; width: 48px; height: 2px; margin: 13px auto 18px; border-radius: 8px; background: var(--student-blue); }
.student-support-card__copy { position: relative; z-index: 1; max-width: 790px; margin: 0 auto; }
.student-support-card__copy p { margin: 0; color: var(--student-muted); font-size: 13px; line-height: 1.7; }
.student-support-card__copy p + p { margin-top: 13px; }

.student-care-section {
  position: relative;
  overflow: hidden;
  padding: 70px 24px 78px;
  background: radial-gradient(circle at 100% 0, rgba(70,111,190,.24), transparent 26%), linear-gradient(135deg, #101d35, #172b4c 58%, #0e1b33);
  color: #fff;
}

.student-care-section::before {
  position: absolute;
  right: -95px;
  bottom: -170px;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.student-care-section__inner { position: relative; z-index: 1; width: min(1080px, 100%); margin: 0 auto; }
.student-care-eyebrow { display: block; margin-bottom: 8px; color: #a9c5f5; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-align: center; text-transform: uppercase; }
.student-care-section h2 { margin: 0; color: #fff; font-size: clamp(25px, 3vw, 32px); font-weight: 800; letter-spacing: -.025em; line-height: 1.2; text-align: center; }
.student-care-section > .student-resource-rule,
.student-care-section__inner > .student-resource-rule { margin: 15px auto 34px; background: #8db3f3; }

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

.student-care-card {
  position: relative;
  min-height: 260px;
  padding: 27px 25px 25px;
  overflow: hidden;
  border: 1px solid rgba(211,225,249,.2);
  border-radius: 17px;
  outline: none;
  background: rgba(255,255,255,.075);
  box-shadow: 0 12px 30px rgba(3,11,25,.12);
  transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.student-care-card::after {
  position: absolute;
  right: -39px;
  bottom: -49px;
  width: 112px;
  height: 112px;
  border-radius: 30px;
  background: rgba(116,158,226,.09);
  content: "";
  transform: rotate(45deg);
  transition: transform .3s ease, background .3s ease;
}

.student-care-card:hover,
.student-care-card:focus-visible {
  border-color: rgba(167,197,245,.72);
  background: rgba(255,255,255,.13);
  box-shadow: 0 22px 44px rgba(3,11,25,.25);
  transform: translateY(-7px);
}

.student-care-card:hover::after,
.student-care-card:focus-visible::after { background: rgba(116,158,226,.16); transform: rotate(60deg) scale(1.15); }
.student-care-card__number { position: absolute; top: 18px; right: 19px; color: rgba(255,255,255,.62); font-size: 11px; font-weight: 800; }
.student-care-card__icon { display: grid; width: 52px; height: 52px; place-items: center; margin-bottom: 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: #002676; color: #fff; box-shadow: 0 8px 20px rgba(0,0,0,.2); transition: transform .25s ease, background .25s ease; }
.student-care-card:hover .student-care-card__icon,
.student-care-card:focus-visible .student-care-card__icon { background: #16418f; transform: rotate(-5deg) scale(1.04); }
.student-care-card__icon svg { width: 22px; height: 22px; fill: currentColor; }
.student-care-card h3 { position: relative; z-index: 1; margin: 0 30px 12px 0; color: #fff; font-size: 19px; font-weight: 800; letter-spacing: -.015em; line-height: 1.3; }
.student-care-card p { position: relative; z-index: 1; margin: 0; color: #d0dbee; font-size: 12px; line-height: 1.75; }

.student-guidance-section {
  position: relative;
  overflow: hidden;
  padding: 66px 24px 72px;
  background: radial-gradient(circle at 7% -10%, rgba(88,128,193,.18), transparent 24%), #152542;
}

.student-guidance-layout { display: grid; width: min(1080px, 100%); grid-template-columns: 1fr 1.18fr; align-items: stretch; gap: 20px; margin: 0 auto; }
.student-guidance-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

.student-guidance-stat {
  display: flex;
  min-height: 98px;
  align-items: center;
  gap: 15px;
  padding: 18px 20px;
  border: 1px solid rgba(218,231,251,.18);
  border-radius: 16px;
  outline: none;
  background: rgba(255,255,255,.09);
  color: #fff;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.student-guidance-stat:hover,
.student-guidance-stat:focus-visible {
  border-color: rgba(175,204,249,.7);
  background: rgba(255,255,255,.15);
  box-shadow: 0 14px 28px rgba(2,10,25,.2);
  transform: translateY(-4px);
}

.student-guidance-stat__icon { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border-radius: 14px; background: #002676; color: #fff; box-shadow: 0 8px 18px rgba(0,0,0,.18); transition: transform .22s ease, background .22s ease; }
.student-guidance-stat:hover .student-guidance-stat__icon,
.student-guidance-stat:focus-visible .student-guidance-stat__icon { background: #16418f; transform: scale(1.06); }
.student-guidance-stat__icon svg { width: 21px; height: 21px; fill: currentColor; }
.student-guidance-stat strong,
.student-guidance-stat span:not(.student-guidance-stat__icon) { display: block; }
.student-guidance-stat strong { margin-bottom: 4px; color: #fff; font-size: 15px; font-weight: 800; }
.student-guidance-stat div > span { color: #cad6e9; font-size: 11px; line-height: 1.35; }

.student-guidance-card {
  position: relative;
  min-height: 215px;
  padding: 27px 30px 27px;
  border: 1px solid #e3eaf4;
  border-radius: 20px;
  outline: none;
  background: #f4f7fb;
  box-shadow: 0 15px 36px rgba(3,12,28,.12);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.student-guidance-card:hover,
.student-guidance-card:focus-visible { background: #fff; box-shadow: 0 22px 44px rgba(3,12,28,.2); transform: translateY(-5px); }
.student-guidance-card__icon { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 16px; border-radius: 16px; background: #202b3b; color: #fff; transition: background .22s ease, transform .22s ease; }
.student-guidance-card:hover .student-guidance-card__icon,
.student-guidance-card:focus-visible .student-guidance-card__icon { background: var(--student-blue); transform: translateY(-2px); }
.student-guidance-card__icon svg { width: 25px; height: 25px; fill: currentColor; }
.student-guidance-card h2 { margin: 0; color: #152238; font-size: 19px; font-weight: 800; letter-spacing: -.018em; line-height: 1.35; }
.student-guidance-card__rule { display: block; width: 43px; height: 2px; margin: 14px 0; border-radius: 8px; background: var(--student-blue); }
.student-guidance-card p { margin: 0; color: #63728a; font-size: 12px; line-height: 1.7; }

.student-voices-section { position: relative; overflow: hidden; padding: 47px 20px 38px; background: linear-gradient(145deg, #f8faff 0%, #edf2f8 100%); isolation: isolate; }
.student-voices-inner { position: relative; z-index: 1; width: min(100%, 900px); margin: 0 auto; }
.student-voices-intro { max-width: 560px; margin: 0 auto 45px; text-align: center; }
.student-voices-badge { display: inline-flex; min-height: 29px; align-items: center; gap: 8px; margin-bottom: 16px; padding: 0 15px; border: 1px solid #cbd5e6; border-radius: 999px; background: #e9eef7; color: #223149; font-size: 10px; letter-spacing: .035em; text-transform: uppercase; }
.student-voices-badge span { color: var(--student-blue); font-size: 18px; font-weight: 900; line-height: 1; }
.student-voices-intro h2 { margin: 0 0 6px; color: #111a2a; font-size: clamp(25px, 2.8vw, 33px); font-weight: 850; letter-spacing: -.03em; line-height: 1.2; }
.student-voices-intro p { max-width: 490px; margin: 0 auto; color: #697589; font-size: 12px; line-height: 1.55; }
.student-voices-carousel { width: min(100%, 760px); margin: 0 auto; }
.student-voice-card { position: relative; display: flex; min-height: 225px; flex-direction: column; justify-content: center; padding: 47px 44px 34px; border: 1px solid rgba(228,233,241,.85); border-radius: 23px; background: #fff; box-shadow: 0 20px 46px rgba(40,57,84,.09); transition: opacity .18s ease, transform .18s ease, box-shadow .2s ease; }
.student-voice-card:hover { box-shadow: 0 24px 50px rgba(40,57,84,.13); transform: translateY(-3px); }
.student-voice-card.is-changing { opacity: .38; transform: translateY(5px); }
.student-voice-quote-mark { position: absolute; top: -20px; left: 38px; display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: var(--student-blue); box-shadow: 0 9px 20px rgba(0,38,118,.22); color: #fff; font-family: Georgia,serif; font-size: 34px; font-weight: 700; line-height: 1; }
.student-voice-quote { margin: 0 0 25px; padding: 2px 0 2px 16px; border-left: 2px solid #d9dfeb; color: #596579; font-size: 14px; font-style: italic; line-height: 1.75; }
.student-voice-author { display: flex; align-items: center; gap: 13px; }
.student-voice-avatar { display: grid; width: 54px; height: 54px; flex: 0 0 54px; place-items: center; border: 3px solid #fff; border-radius: 50%; outline: 1px solid #d8dfeb; background: linear-gradient(145deg,#252b32,#080a0c); box-shadow: 0 0 0 3px #f0f3f8; color: #fff; font-size: 14px; font-weight: 800; }
.student-voice-author-name { margin: 0; color: #20293a; font-size: 15px; font-weight: 800; }
.student-voice-controls { display: flex; align-items: center; justify-content: center; gap: 17px; margin: 28px auto 0; }
.student-voice-arrow { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border: 1px solid #d4dce8; border-radius: 50%; background: rgba(255,255,255,.85); color: #172333; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease; }
.student-voice-arrow svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.student-voice-arrow:hover,.student-voice-arrow:focus-visible { border-color: var(--student-blue); background: var(--student-blue); color: #fff; transform: translateY(-2px); }
.student-voice-arrow:focus-visible,.student-voice-dot:focus-visible { outline: 2px solid #3972c4; outline-offset: 3px; }
.student-voice-dots { display: flex; align-items: center; gap: 9px; }
.student-voice-dot { width: 11px; height: 11px; padding: 0; border: 1px solid #b8c4d7; border-radius: 50%; background: transparent; cursor: pointer; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease; }
.student-voice-dot:hover { transform: scale(1.15); }
.student-voice-dot.is-active { border-color: var(--student-blue); background: var(--student-blue); box-shadow: inset 0 0 0 2px #fff; }
.student-voice-progress { display: block; width: 160px; height: 2px; margin: 23px auto 0; background: #d5dce7; }
.student-voice-progress > span { display: block; width: 25%; height: 100%; background: var(--student-blue); transition: width .25s ease; }
.student-voice-orb { position: absolute; z-index: 0; border-radius: 50%; background: rgba(40,64,106,.045); pointer-events: none; }
.student-voice-orb--right { top: 48%; right: -55px; width: 170px; height: 170px; }
.student-voice-orb--left { bottom: -115px; left: 4%; width: 205px; height: 205px; }

@keyframes student-rise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
  .student-welcome__step--one,
  .student-welcome__step--two { grid-template-columns: 1fr; gap: 12px; }
  .student-welcome__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .student-welcome__fields .student-next { grid-column: 1 / -1; }
  .student-welcome__step--two > .student-next { justify-self: stretch; }
}

@media (max-width: 520px) {
  .student-hero { min-height: 210px; }
  .student-hero__inner { width: calc(100% - 30px); padding: 25px 0 43px; }
  .student-hero h1 { font-size: 34px; }
  .student-hero p { max-width: 300px; font-size: 11px; }
  .student-shell { width: calc(100% - 28px); }
  .student-welcome { margin-top: -28px; padding: 15px; border-radius: 13px; }
  .student-welcome__fields { grid-template-columns: 1fr; gap: 8px; }
  .student-welcome__fields .student-next { grid-column: auto; }
  .student-breadcrumbs { min-height: 40px; gap: 9px; padding: 0 12px; font-size: 10px; }
  .student-resource-intro { min-height: 188px; padding: 45px 18px 28px; }
  .student-resource-intro h2 { font-size: 22px; line-height: 1.35; }
  .student-resource-intro p { font-size: 11px; }
  .student-support-section { padding: 18px 14px 48px; }
  .student-support-card { min-height: 0; margin-top: 53px; padding: 32px 19px 29px; border-radius: 18px; }
  .student-support-card__icon { width: 68px; height: 68px; margin-bottom: 21px; border-radius: 17px; }
  .student-support-card h2 { font-size: 19px; }
  .student-support-card__copy p { font-size: 12px; line-height: 1.65; }
  .student-care-section { padding: 54px 16px 58px; }
  .student-care-grid { grid-template-columns: 1fr; gap: 14px; }
  .student-care-card { min-height: 0; padding: 24px 22px; }
  .student-care-card h3 { font-size: 18px; }
  .student-guidance-section { padding: 50px 16px 56px; }
  .student-guidance-layout { grid-template-columns: 1fr; gap: 16px; }
  .student-guidance-card { min-height: 0; padding: 24px 22px; }
  .student-voices-section { padding: 39px 16px 32px; }
  .student-voices-intro { margin-bottom: 37px; }
  .student-voice-card { min-height: 245px; padding: 42px 25px 27px; }
  .student-voice-quote-mark { left: 24px; }
}

@media (min-width: 521px) and (max-width: 900px) {
  .student-care-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .student-care-card:last-child { grid-column: 1 / -1; }
  .student-guidance-layout { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .student-resource-page *,
  .student-resource-page *::before,
  .student-resource-page *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
