/* Reference-matched student dashboard hero. Scoped to this one portal page. */
.rd-page-dashboard .ip-dashboard-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  overflow: hidden;
  min-height: clamp(275px, 20vw, 320px);
  padding: clamp(24px, 2.35vw, 37px);
  border: 1px solid rgba(103, 219, 166, .12);
  border-radius: 28px;
  background: linear-gradient(118deg, #004435 0%, #00644b 67%, #004535 100%);
  box-shadow: 0 22px 58px rgba(0, 62, 45, .12), inset 0 1px 0 rgba(255, 255, 255, .08);
  color: #fff;
}
.rd-page-dashboard .ip-dashboard-hero .ip-dashboard-hero-image {
  position: absolute;
  inset: 0 0 0 auto;
  width: 67%;
  z-index: 0;
  height: 100%;
  mask-image: linear-gradient(90deg, transparent, #000 25%);
  pointer-events: none;
}
.rd-page-dashboard .ip-dashboard-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse 55% 34% at 38% 115%, rgba(5, 184, 136, .69), transparent 83%),
    linear-gradient(90deg, #004c3c 0%, rgba(0, 77, 59, .97) 25%, rgba(0, 74, 57, .72) 41%, rgba(0, 79, 59, .26) 62%, transparent 84%);
  pointer-events: none;
}
.rd-page-dashboard .ip-dashboard-hero-content {
  position: relative;
  z-index: 1;
  width: min(61%, 870px);
  min-width: 0;
}
.rd-page-dashboard .ip-dashboard-eyebrow {
  display: block;
  margin: 0 0 clamp(12px, 1.1vw, 18px);
  color: #d2f3e6;
  font-size: clamp(10px, .75vw, 12px);
  font-weight: 640;
  letter-spacing: .31em;
  line-height: 1.5;
}
.rd-page-dashboard .ip-dashboard-hero h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(29px, 2.5vw, 44px);
  font-weight: 755;
  letter-spacing: -.053em;
  line-height: 1.075;
  text-wrap: balance;
}
.rd-page-dashboard .ip-dashboard-hero h2 span { display: block; }
.rd-page-dashboard .ip-dashboard-hero h2 span:last-child { color: #b6f5d9; }
.rd-page-dashboard .ip-dashboard-hero p {
  max-width: 650px;
  margin: clamp(12px, 1.15vw, 18px) 0 clamp(14px, 1.35vw, 22px);
  color: #dbefe8;
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 450;
  line-height: 1.48;
  text-shadow: 0 1px 10px rgba(0, 50, 40, .3);
}
.rd-page-dashboard .ip-dashboard-campus-action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 11px;
  min-height: clamp(46px, 3.3vw, 56px);
  min-width: clamp(185px, 15vw, 250px);
  padding: 10px clamp(15px, 1.3vw, 22px);
  border: 1px solid rgba(78, 237, 170, .75);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(0, 151, 113, .48), rgba(7, 115, 91, .53));
  box-shadow: inset 0 1px 12px rgba(53, 235, 170, .12), 0 9px 24px rgba(0, 41, 33, .18);
  color: #fff;
  font-size: clamp(13px, .95vw, 16px);
  font-weight: 710;
  white-space: nowrap;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.rd-page-dashboard .ip-dashboard-campus-action .rd-icon { flex: none; width: 22px; height: 22px; stroke-width: 1.6; }
.rd-page-dashboard .ip-dashboard-campus-action .rd-icon:last-child { margin-left: auto; width: 18px; height: 18px; }
.rd-page-dashboard .ip-dashboard-campus-action:hover {
  transform: translateY(-2px);
  border-color: #a7ffdb;
  background: linear-gradient(145deg, rgba(1, 179, 130, .67), rgba(4, 117, 91, .7));
}
.rd-page-dashboard .ip-dashboard-campus-action:focus-visible {
  outline: 3px solid #b8ffe2;
  outline-offset: 4px;
}
@media (max-width: 1100px) {
  .rd-page-dashboard .ip-dashboard-hero { min-height: 280px; padding: 25px; }
  .rd-page-dashboard .ip-dashboard-hero-content { width: min(73%, 650px); }
  .rd-page-dashboard .ip-dashboard-hero .ip-dashboard-hero-image { width: 73%; }
  .rd-page-dashboard .ip-dashboard-hero h2 { font-size: clamp(29px, 3.6vw, 39px); }
  .rd-page-dashboard .ip-dashboard-hero::after {
    background: radial-gradient(ellipse 62% 28% at 44% 112%, rgba(5, 184, 136, .45), transparent 80%), linear-gradient(90deg, #004c3c 0%, rgba(0, 76, 59, .96) 32%, rgba(0, 76, 59, .65) 68%, rgba(0, 76, 59, .2) 100%);
  }
}
@media (max-width: 600px) {
  .rd-page-dashboard .ip-dashboard-hero { min-height: 300px; padding: 24px 19px; border-radius: 21px; }
  .rd-page-dashboard .ip-dashboard-hero .ip-dashboard-hero-image { width: 100%; background-position: 64% center; opacity: .63; }
  .rd-page-dashboard .ip-dashboard-hero::after {
    background: linear-gradient(90deg, rgba(0, 66, 53, .98), rgba(0, 72, 56, .89) 56%, rgba(0, 66, 53, .67)), radial-gradient(ellipse 85% 28% at 50% 111%, rgba(4, 191, 136, .33), transparent 80%);
  }
  .rd-page-dashboard .ip-dashboard-hero-content { width: 100%; }
  .rd-page-dashboard .ip-dashboard-eyebrow { margin-bottom: 12px; font-size: 9px; letter-spacing: .2em; }
  .rd-page-dashboard .ip-dashboard-hero h2 { font-size: clamp(27px, 7.3vw, 36px); line-height: 1.09; letter-spacing: -.045em; }
  .rd-page-dashboard .ip-dashboard-hero p { margin: 14px 0 17px; font-size: 13px; line-height: 1.5; }
  .rd-page-dashboard .ip-dashboard-campus-action { min-height: 48px; min-width: 185px; border-radius: 14px; padding: 10px 15px; font-size: 13px; }
  .rd-page-dashboard .ip-dashboard-campus-action .rd-icon { width: 22px; height: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .rd-page-dashboard .ip-dashboard-campus-action { transition: none; }
}
