/* Portal presentation only: shared interactions and catalog stay unchanged. */
.action-card {
  --action-color: #00486d;
  background: var(--action-color);
  border-color: var(--action-color);
  color: #fff;
  padding: 23px 21px 19px;
  box-shadow: 0 7px 18px #16394c12;
  display: flex;
  flex-direction: column;
}
.action-card[data-contact="assessment"] { --action-color: #007568; }
.action-card[data-contact="meet"] { --action-color: #b12c26; }
.action-card[data-contact="advisor"] { --action-color: #69478c; }
.action-card:nth-child(4) { background: var(--action-color); border-color: var(--action-color); }
.action-card:hover { box-shadow: 0 10px 24px #16394c26; filter: brightness(1.06); }
.action-card .action-icon {
  height: 43px;
  width: 43px;
  margin-bottom: 17px;
  border-radius: 12px;
  color: #fff;
  background: #ffffff1f;
  border: 1px solid #ffffff29;
}
.action-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.action-card > strong { font-size: 15px; font-weight: 800; }
.action-card > small { font-size: 11px; color: #fff; opacity: .9; margin-bottom: 17px; }
.action-card > b { color: #fff; width: 100%; margin-top: auto; padding-top: 12px; border-top: 1px solid #ffffff40; font-size: 11px; }
.action-card > b > span { font-size: 19px; line-height: 1; }
.answer-card {
  padding: 0;
  overflow: hidden;
  border-radius: 12px;
  border-color: #d9e3e8;
  background: #fff;
  box-shadow: 0 7px 24px #17394d0a;
}
.answer-card:nth-child(2), .answer-card:nth-child(3) { background: #fff; }
.answer-photo { position: relative; flex: none; background: #eaf1f4; }
.answer-photo img { width: 100%; height: 210px; object-fit: cover; }
.answer-photo .answer-icon { position: absolute; bottom: -18px; left: 23px; width: 43px; height: 43px; background: #fff; border: 3px solid #fff; box-shadow: 0 3px 12px #17394d17; font-size: 24px; }
.answer-photo .card-manage { position: absolute; top: 12px; right: 12px; height: 35px; width: 35px; background: #fff; color: #31596c; box-shadow: 0 2px 8px #0002; }
.answer-photo .card-manage:hover { background: #eaf2f6; color: #00486d; }
.answer-copy { padding: 31px 23px 22px; display: flex; flex-direction: column; flex: 1; }
.answer-copy > .eyebrow { font-size: 8px; color: #48778e; margin-bottom: 10px; }
.answer-card h3 { font-size: 24px; line-height: 1.22; }
.answer-card p { font-size: 12px; line-height: 1.8; color: #5e7481; margin-top: 12px; margin-bottom: 16px; }
.answer-copy .text-button { font-size: 11px; margin-top: auto; padding: 10px 0 1px; }
.answer-copy .text-button > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #edf4f7; text-decoration: none; }
@media (max-width: 700px) {
  .action-card { padding: 19px 16px 16px; min-height: 193px; }
  .action-card .action-icon { width: 36px; height: 36px; border-radius: 10px; margin-bottom: 13px; }
  .action-icon svg { width: 22px; height: 22px; }
  .action-card > strong { font-size: 13px; line-height: 1.45; }
  .action-card > small { font-size: 10px; line-height: 1.7; margin-bottom: 13px; }
  .action-card > b { font-size: 10px; padding-top: 10px; }
  .action-card > b > span { font-size: 17px; }
  .answer-photo img { height: 205px; }
  .answer-photo .answer-icon { left: 22px; }
  .answer-photo .card-manage { min-height: 40px; min-width: 40px; }
  .answer-copy { padding: 32px 22px 23px; }
  .answer-card h3 { font-size: 25px; }
  .answer-card p { font-size: 12px; line-height: 1.85; }
  .answer-copy .text-button { font-size: 11px; }
}
@media (max-width: 370px) {
  .action-card { padding: 17px 13px 14px; }
  .action-card > strong { font-size: 12px; }
  .action-card > small { font-size: 9px; }
  .action-card > b { font-size: 9px; }
  .answer-photo img { height: 190px; }
}

/* Keep the campus limit and the invitation to save clear throughout the flow. */
.location-choice-label { position: sticky; top: 0; z-index: 2; background: #fff; padding: 13px 0; border-bottom: 1px solid #dbe4e8; }
.location-choice-label > strong { color: #00486d; }
.wizard-bottom:has(#wizard-skip:not([hidden])) { align-items: flex-start; }
.wizard-bottom:has(#wizard-skip:not([hidden])) > div { display: grid; grid-template-columns: 1fr; width: min(460px, calc(100% - 65px)); gap: 9px; }
.wizard-bottom:has(#wizard-skip:not([hidden])) .button { width: 100%; min-height: 52px; white-space: normal; line-height: 1.6; text-align: center; }
.wizard-or { text-align: center; font-size: 9px; font-weight: 800; letter-spacing: .12em; color: #6b7e87; }
.save-dock { position: fixed; right: 24px; bottom: 90px; z-index: 42; display: flex; align-items: center; gap: 12px; width: 285px; padding: 15px 17px; background: #edca7d; color: #103d52; border: 1px solid #d7ac50; border-radius: 12px; box-shadow: 0 6px 24px #143d4d26; text-align: left; }
.save-dock:hover { background: #f5d68f; }
.save-dock svg { width: 27px; height: 27px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.save-dock > span { flex: 1; }
.save-dock strong { display: block; font-size: 13px; font-weight: 800; }
.save-dock small { display: block; font-size: 9px; margin-top: 3px; }
.save-dock > b { font-size: 19px; }
@media (max-width: 600px) {
  .save-dock { display: none; }
  .wizard-bottom:has(#wizard-skip:not([hidden])) { flex-direction: column-reverse; gap: 16px; }
  .wizard-bottom:has(#wizard-skip:not([hidden])) > div { width: 100%; max-width: 100%; margin-left: 0; }
  .wizard-bottom:has(#wizard-skip:not([hidden])) .button { font-size: 11px; padding: 12px 16px; }
  .mobile-dock { grid-template-columns: 1fr 2fr; }
  .mobile-dock button.mobile-save { background: #edca7d; border-color: #d7ac50; color: #103d52; padding: 8px 10px; min-height: 51px; }
  .mobile-save strong { display: block; font-size: 12px; font-weight: 800; }
  .mobile-save small { display: block; font-size: 9px; font-weight: 600; margin-top: 2px; }
  .location-choice-label { gap: 10px; }
}

/* Three prominent next steps; chat stays in its separate conversation area. */
.next-steps { margin-bottom: 42px; scroll-margin-top: 80px; }
.next-steps-heading { margin-bottom: 23px; max-width: 680px; }
.next-steps-heading .eyebrow { margin-bottom: 8px; }
.next-steps-heading h2 { font-size: 36px; line-height: 1.15; }
.next-steps-heading p { color: #5e7481; font-size: 14px; margin-top: 11px; }
.next-steps .action-grid { grid-template-columns: repeat(3, 1fr); gap: 19px; margin-bottom: 0; }
.next-steps .action-card { padding: 27px 26px 23px; min-height: 295px; border-radius: 12px; }
.next-steps .action-icon { width: 48px; height: 48px; margin-bottom: 20px; }
.next-steps .action-icon svg { width: 28px; height: 28px; }
.next-steps .action-card > strong { font-size: 24px; line-height: 1.22; letter-spacing: -.025em; font-weight: 800; max-width: 320px; }
.next-steps .action-card > small { font-size: 13px; line-height: 1.7; margin-top: 12px; margin-bottom: 22px; }
.next-steps .action-card > b { font-size: 12px; padding-top: 15px; }
@media (max-width: 820px) {
  .next-steps .action-grid { grid-template-columns: 1fr; gap: 14px; }
  .next-steps .action-card { display: grid; grid-template-columns: 48px 1fr; column-gap: 18px; padding: 24px; min-height: 0; }
  .next-steps .action-icon { grid-column: 1; grid-row: 1 / 3; margin: 0; }
  .next-steps .action-card > strong { grid-column: 2; max-width: 100%; font-size: 24px; }
  .next-steps .action-card > small { grid-column: 2; margin-bottom: 0; font-size: 13px; }
  .next-steps .action-card > b { grid-column: 1 / -1; margin-top: 19px; }
}
@media (max-width: 600px) {
  .next-steps { margin-bottom: 33px; }
  .next-steps-heading { margin-bottom: 20px; }
  .next-steps-heading h2 { font-size: 31px; }
  .next-steps-heading p { font-size: 12px; line-height: 1.8; }
  .next-steps-heading .eyebrow { font-size: 8px; }
  .next-steps .action-card { padding: 22px 19px 19px; column-gap: 14px; grid-template-columns: 41px 1fr; }
  .next-steps .action-icon { width: 41px; height: 41px; }
  .next-steps .action-icon svg { width: 25px; height: 25px; }
  .next-steps .action-card > strong { font-size: 22px; line-height: 1.25; }
  .next-steps .action-card > small { font-size: 12px; margin-top: 9px; }
  .next-steps .action-card > b { font-size: 11px; margin-top: 17px; padding-top: 12px; }
}
