/* Brand hero and photo-led guided choices. */
.experience-hero { background: #00486d; border-color: #00486d; }
.experience-pitch > .eyebrow { color: #edca7d; }
.experience-pitch h1 { color: #fff; }
.experience-pitch h1 em { color: #edca7d; }
.experience-pitch .experience-lead { color: #dfebf2; }
.experience-pitch .experience-promise { color: #fff; }
.experience-reassurance { color: #d6e6ef; }
.experience-reassurance .exp-icon { color: #edca7d; }
.experience-pitch #landing-return { color: #fff; }
.experience-preview { border-color: #ffffff45; box-shadow: 0 12px 30px #002b4120; }
.wizard-shell { --step-tint: #fff8eb; --step-accent: #ae7928; background: var(--step-tint); }
.wizard-shell[data-step="2"] { --step-tint: #edf5fa; --step-accent: #216b8f; }
.wizard-shell[data-step="3"] { --step-tint: #f5f0fa; --step-accent: #69478c; }
.wizard-shell[data-step="4"] { --step-tint: #edf7f3; --step-accent: #007568; }
.wizard-shell[data-step="5"] { --step-tint: #f5f0fa; --step-accent: #69478c; }
.wizard-shell[data-step="6"] { --step-tint: #eef5fb; --step-accent: #24658a; }
.wizard-shell[data-step="7"] { --step-tint: #fff4eb; --step-accent: #ae6c35; }
.wizard-progress ol { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.wizard-progress small { white-space: normal; }
.wizard-interest-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 44px; margin-bottom: 10px; color: var(--blue); font-size: 13px; }
.wizard-interest-skip { min-height: 44px; padding: 0 8px; }
.wizard-panel { background: var(--step-tint); }
.wizard-shell .question-why { background: #ffffffdb; border-color: var(--step-accent); }
.wizard-shell .question-why > .exp-icon, .wizard-shell .question-why strong { color: var(--step-accent); }
.wizard-shell .wizard-progress li { border-top-color: #cfdce2; }
.wizard-shell .wizard-progress .current { border-top-color: #00486d; }
.wizard-shell .location-choice-label { background: var(--step-tint); }
.age-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.age-tier { --age-color: #00486d; overflow: hidden; border: 2px solid #d8e3e7; background: #fff; border-radius: 11px; box-shadow: 0 5px 17px #17394d09; }
.age-tier-middle { --age-color: #007568; }
.age-tier-teen { --age-color: #69478c; }
.age-tier.has-selection { border-color: var(--age-color); box-shadow: 0 0 0 3px #00486d0b; }
.age-tier-photo { position: relative; background: #e3edf1; }
.age-tier-photo img { width: 100%; height: 145px; object-fit: cover; }
.age-tier-photo > span { position: absolute; bottom: 10px; left: 10px; border-radius: 5px; background: var(--age-color); color: #fff; font-size: 10px; font-weight: 800; padding: 5px 9px; }
.age-tier-copy { padding: 16px 12px 15px; }
.age-tier-copy h3 { color: var(--age-color); font-size: 21px; line-height: 1.25; }
.age-tier-copy > p { min-height: 34px; color: #6b7e87; font-size: 10px; line-height: 1.65; margin-top: 5px; }
.age-tier-copy > small { display: block; font-size: 8px; color: #65808d; margin-top: 11px; font-weight: 700; }
.age-tier-buttons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin-top: 7px; }
.age-tier .age-choice { min-height: 43px; min-width: 0; border: 1px solid #c6d8e1; border-radius: 6px; background: #f3f7f9; color: var(--age-color); }
.age-tier .age-choice strong { font-size: 18px; }
.age-tier .age-choice.selected { background: var(--age-color); color: #fff; border-color: var(--age-color); box-shadow: none; }
.age-tier .age-choice:hover { border-color: var(--age-color); }
.experience-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.experience-photo-choice { --choice-color: #00486d; display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden; background: #fff; border: 2px solid #d8e3e7; border-radius: 10px; text-align: left; align-items: stretch; min-height: 0; }
.experience-photo-choice:nth-child(2) { --choice-color: #007568; }
.experience-photo-choice:nth-child(3) { --choice-color: #69478c; }
.experience-photo-choice.selected { border-color: var(--choice-color); background: #fff; box-shadow: 0 0 0 3px #00486d0b; }
.experience-photo { position: relative; width: 100%; }
.experience-photo > img { width: 100%; height: 145px; object-fit: cover; object-position: 50% 5%; }
.experience-photo .choice-mark, .goal-photo .choice-mark { display: grid; place-items: center; position: absolute; right: 9px; top: 9px; height: 29px; width: 29px; border: 1px solid #fff; border-radius: 50%; background: #fff; color: #31596c; font-size: 20px; font-weight: 600; box-shadow: 0 2px 7px #0002; }
.experience-photo-choice.selected .choice-mark { background: var(--choice-color); color: #fff; }
.experience-photo-copy { padding: 17px 14px 18px; flex: 1; border-top: 4px solid var(--choice-color); }
.experience-photo-copy strong { display: block; color: var(--choice-color); font-size: 14px; line-height: 1.5; }
.experience-photo-copy small { display: block; margin-top: 8px; font-size: 11px; line-height: 1.8; color: #6a7e88; }
.goal-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.goal-photo-choice { padding: 0; overflow: hidden; border-radius: 10px; border: 2px solid #d4e4de; background: #fff; text-align: left; min-height: 0; }
.goal-photo-choice.selected { background: #fff; border-color: #007568; box-shadow: 0 0 0 3px #0075680c; }
.goal-photo { position: relative; }
.goal-photo > img { width: 100%; height: 115px; object-fit: cover; }
.goal-photo-choice.selected .choice-mark { background: #007568; color: #fff; }
.goal-photo-copy { padding: 13px 12px 15px; }
.goal-photo-copy > strong { font-size: 12px; line-height: 1.5; padding-right: 0; display: block; color: #195b4f; }
.goal-photo-copy > small { display: block; font-size: 10px; line-height: 1.8; color: #6b7f78; margin-top: 6px; }
.campus-scope-note { display: flex; align-items: flex-start; gap: 12px; background: #fff; border: 1px solid #c7dce7; border-left: 4px solid #216b8f; border-radius: 7px; padding: 16px; margin-bottom: 16px; }
.campus-scope-note > .exp-icon { color: #216b8f; width: 25px; height: 25px; margin-top: 2px; }
.campus-scope-note strong { font-size: 12px; line-height: 1.6; color: #174b65; }
.campus-scope-note p { font-size: 11px; line-height: 1.85; color: #657d89; margin-top: 6px; }
.campus-scope-note .text-button { font-size: 11px; margin-top: 4px; margin-right: 20px; }
.campus-scope-note .change-age { font-size: 10px; color: #6c738c; }
.other-campus-options { scroll-margin-top: 30px; margin-top: 28px; border-top: 2px solid #c8b8db; padding-top: 22px; }
.other-campus-heading { margin-bottom: 19px; }
.other-campus-heading > .eyebrow { color: #69478c; font-size: 8px; }
.other-campus-heading h3 { color: #57377a; font-size: 25px; }
.other-campus-heading p { font-size: 11px; line-height: 1.9; color: #6d768d; max-width: 580px; }
.other-campus-heading .text-button { color: #69478c; }
.location-reference { border: 1px solid #d8d2e3; border-radius: 8px; background: #fff; overflow: hidden; }
.location-reference > img { width: 100%; height: 115px; object-fit: cover; }
.location-reference > .reference-program { display: inline-block; margin: 12px 11px 0; padding: 3px 6px; border-radius: 4px; background: #f1eaf8; color: #69478c; font-size: 10px; line-height: 1.6; font-weight: 750; }
.location-reference h4 { font-size: 14px; line-height: 1.5; margin: 9px 11px 0; letter-spacing: -.02em; }
.location-reference p { margin: 5px 11px 0; font-size: 11px; color: #70818b; }
.location-reference > small { display: block; margin: 7px 11px 12px; color: #73828f; font-size: 10px; line-height: 1.8; }
.reference-age-note { border-top: 1px solid #e5e0eb; background: #faf8fc; padding: 8px 11px; color: #7c6b8f; font-size: 10px; }
.visual-name-preview { overflow: hidden; background: #fff; border: 1px solid #e5d4c5; padding: 23px; }
.name-preview-photos { display: grid; grid-template-columns: repeat(var(--preview-count), minmax(0, 1fr)); gap: 8px; margin-top: 20px; }
.name-preview-photos > img { width: 100%; height: 95px; object-fit: cover; border-radius: 5px; }
.name-preview-perks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.name-preview-perks > span { display: flex; align-items: center; gap: 6px; font-size: 9px; color: #567685; }
.name-preview-perks .exp-icon { width: 18px; height: 18px; color: #ae6c35; }
@media (max-width: 1100px) {
  .age-photo-grid { grid-template-columns: 1fr; gap: 12px; }
  .age-tier { display: grid; grid-template-columns: 125px minmax(0, 1fr); }
  .age-tier-photo > img { height: 100%; min-height: 152px; }
  .age-tier-photo > span { font-size: 8px; left: 8px; bottom: 9px; }
  .age-tier-copy { padding: 13px 16px; }
  .age-tier-copy h3 { font-size: 20px; }
  .age-tier-copy > p { min-height: 0; font-size: 10px; }
  .age-tier-copy > small { margin-top: 8px; }
  .age-tier-buttons { max-width: 270px; }
  .age-tier .age-choice { min-height: 44px; }
  .experience-photo-grid { grid-template-columns: 1fr; }
  .experience-photo-choice { display: grid; grid-template-columns: 120px minmax(0, 1fr); }
  .experience-photo > img { height: 100%; min-height: 140px; }
  .experience-photo-copy { border-top: 0; border-left: 4px solid var(--choice-color); padding: 18px; }
  .experience-photo-copy strong { font-size: 15px; }
  .experience-photo-copy small { font-size: 11px; }
  .goal-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .age-tier { grid-template-columns: 90px minmax(0, 1fr); }
  .age-tier-photo > img { min-height: 153px; }
  .age-tier-photo > span { display: none; }
  .age-tier-copy { padding: 12px; }
  .age-tier-copy h3 { font-size: 18px; }
  .age-tier-copy > p { font-size: 9px; line-height: 1.7; margin-top: 4px; }
  .age-tier-copy > small { font-size: 8px; margin-top: 8px; }
  .age-tier-buttons { gap: 5px; margin-top: 6px; }
  .age-tier .age-choice strong { font-size: 17px; }
  .experience-photo-choice { grid-template-columns: 95px minmax(0, 1fr); }
  .experience-photo-copy { padding: 16px 13px; }
  .experience-photo-copy strong { font-size: 13px; }
  .experience-photo-copy small { font-size: 10px; }
  .experience-photo .choice-mark, .goal-photo .choice-mark { width: 27px; height: 27px; font-size: 18px; right: 7px; top: 7px; }
  .goal-photo-grid { gap: 10px; }
  .goal-photo > img { height: 105px; }
  .goal-photo-copy { padding: 12px 10px 14px; }
  .goal-photo-copy > strong { font-size: 12px; }
  .goal-photo-copy > small { font-size: 10px; }
  .campus-scope-note { padding: 13px 11px; gap: 9px; }
  .campus-scope-note > .exp-icon { width: 21px; height: 21px; }
  .campus-scope-note strong { font-size: 11px; }
  .campus-scope-note p { font-size: 10px; }
  .campus-scope-note .text-button { display: flex; font-size: 10px; margin-right: 0; }
  .campus-scope-note .change-age { font-size: 9px; }
  .other-campus-heading h3 { font-size: 24px; }
  .other-campus-heading p { font-size: 10px; }
  .location-reference > img { height: 105px; }
  .location-reference h4 { font-size: 12px; }
  .location-reference > .reference-program { font-size: 10px; margin-left: 9px; margin-right: 9px; }
  .location-reference p { font-size: 10px; }
  .location-reference > small { font-size: 10px; }
  .reference-age-note { font-size: 10px; }
  .visual-name-preview { padding: 20px; }
  .name-preview-photos { gap: 6px; margin-top: 17px; }
  .name-preview-photos > img { height: 72px; }
  .name-preview-perks { gap: 6px; }
  .name-preview-perks > span { font-size: 8px; flex-direction: column; align-items: flex-start; gap: 5px; }
}

/* V8: reviewed photo library, subject framing and larger choice imagery. */
.guide-photo { display: block; width: 100%; overflow: hidden; background: #e7eff2; }
.age-tier-photo > .guide-photo { height: 180px; }
.experience-photo > .guide-photo { height: 180px; }
.goal-photo > .guide-photo { height: 150px; }
.answer-photo > .guide-photo { height: auto; aspect-ratio: 16 / 10; }
.preview-answers .guide-photo { height: 90px; }
.wizard-graphic > .guide-photo { height: 195px; }
.goal-photo-choice { --goal-accent: #00486d; }
.goal-photo-choice:nth-child(3n+2) { --goal-accent: #007568; }
.goal-photo-choice:nth-child(3n) { --goal-accent: #69478c; }
.goal-photo-copy { border-top: 4px solid var(--goal-accent); }
.goal-photo-copy > strong { color: var(--goal-accent); font-size: 14px; }
.goal-photo-copy > small { font-size: 11px; }
@media (max-width: 1100px) {
  .age-tier { grid-template-columns: 155px minmax(0,1fr); min-height: 180px; }
  .age-tier-photo > .guide-photo { position: absolute; inset: 0; height: 100%; }
  .experience-photo-choice { grid-template-columns: 155px minmax(0,1fr); min-height: 185px; }
  .experience-photo > .guide-photo { position: absolute; inset: 0; height: 100%; }
}
@media (max-width: 600px) {
  .age-tier { grid-template-columns: 120px minmax(0,1fr); min-height: 178px; }
  .experience-photo-choice { grid-template-columns: 125px minmax(0,1fr); min-height: 185px; }
  .goal-photo > .guide-photo { height: 140px; }
  .goal-photo-choice[data-goal="academics"] { grid-column: 1 / -1; }
  .goal-photo-choice[data-goal="academics"] .guide-photo { height: auto; aspect-ratio: 16 / 9; }
  .goal-photo-copy > strong { font-size: 13px; }
  .goal-photo-copy > small { font-size: 10px; }
  .preview-answers .guide-photo { height: 77px; }
}
