/* Scoped internship explorer; other landing-page dialogs retain their own layouts. */
.landing-app #quizModal { padding:20px 0; background:rgb(8 23 42 / 65%); }
.landing-app #quizModal .track-finder-dialog { width:calc(100% - 32px) !important; max-width:680px !important; max-height:90vh; max-height:90dvh; padding:0 !important; border:1px solid #dce5ef; border-radius:18px; background:#fff; color:#173047; overflow-y:auto; overflow-x:hidden; box-shadow:0 24px 80px rgb(0 0 0 / 20%); }
#quizModal [hidden] { display:none !important; }
.finder-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:30px 32px 24px; }
.finder-eyebrow { display:flex; align-items:center; gap:7px; color:#175cd3; font-size:.63rem; font-weight:750; letter-spacing:.1em; }
.finder-header h2 { font:800 1.65rem/1.3 'Plus Jakarta Sans',system-ui,sans-serif; letter-spacing:-.04em; margin:12px 0 9px; }
.finder-header p { color:#607286; font-size:.8rem; line-height:1.8; margin:0; }
.landing-app #quizModal .modal-close-btn { position:static; flex-shrink:0; display:grid; place-items:center; width:34px; height:34px; min-width:34px; border:1px solid #dce5ef; border-radius:8px; background:#f5f8fc; color:#52677d; box-shadow:none; font-size:.85rem; }
.finder-progress-wrap { padding:0 32px 22px; border-bottom:1px solid #e2e8f0; }
.finder-step-caption { display:flex; justify-content:space-between; gap:12px; font-size:.65rem; color:#607286; margin-bottom:10px; }
.finder-step-caption span:first-child { color:#175cd3; font-weight:700; }
#finder-progress { display:block; width:100%; height:5px; appearance:none; border:0; border-radius:10px; background:#edf2f8; accent-color:#175cd3; overflow:hidden; }
#finder-progress::-webkit-progress-bar { background:#edf2f8; }
#finder-progress::-webkit-progress-value { background:#175cd3; border-radius:10px; }
#finder-progress::-moz-progress-bar { background:#175cd3; }
.finder-stages { list-style:none; display:flex; justify-content:space-between; padding:0; margin:12px 0 0; color:#718397; font-size:.65rem; }
.finder-stages [aria-current] { color:#175cd3; font-weight:750; }
.finder-step { border:0; min-width:0; margin:0; padding:25px 32px 0; }
.finder-step legend { float:left; width:100%; font-size:1rem; font-weight:750; letter-spacing:-.02em; margin:0 0 6px; padding:0; }
.finder-step > p { clear:both; color:#607286; font-size:.73rem; margin:0 0 20px; }
.finder-choices { display:grid; gap:10px; }
.finder-choice { display:flex; position:relative; align-items:center; gap:14px; border:1px solid #dce5ef; padding:15px 16px; border-radius:10px; cursor:pointer; background:#fff; transition:border-color .15s, background .15s; }
.finder-choice:hover { border-color:#9bb9df; background:#fafcff; }
.finder-choice:has(input:checked) { background:#f0f6ff; border-color:#175cd3; box-shadow:0 0 0 1px #175cd3; }
.finder-choice:has(input:focus-visible) { outline:3px solid #72a4e9; outline-offset:3px; }
.finder-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.finder-choice-icon { width:37px; height:37px; display:grid; place-items:center; flex-shrink:0; border:1px solid #e2e8f0; background:#f5f8fc; color:#175cd3; border-radius:9px; font-size:1.1rem; }
.finder-choice-copy { display:grid; gap:4px; flex:1; }
.finder-choice-copy strong { font-size:.8rem; font-weight:700; color:#173047; line-height:1.5; }
.finder-choice-copy small { font-size:.69rem; line-height:1.75; color:#607286; }
.finder-choice-check { display:grid; place-items:center; border:1px solid #cbd8e7; border-radius:50%; width:18px; height:18px; flex-shrink:0; font-size:.7rem; color:transparent; }
.finder-choice input:checked ~ .finder-choice-check { background:#175cd3; border-color:#175cd3; color:#fff; }
.finder-controls { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:25px; padding:20px 32px; border-top:1px solid #e2e8f0; background:#fafcff; }
.finder-primary { display:inline-flex; justify-content:center; align-items:center; gap:10px; padding:11px 18px; border:1px solid #175cd3; border-radius:8px; color:#fff; background:#175cd3; font:700 .76rem/1.6 'Plus Jakarta Sans',system-ui,sans-serif; text-decoration:none; cursor:pointer; }
.finder-primary:hover { background:#144eaf; color:white; }
.finder-primary:disabled { background:#e9eef5; border-color:#e9eef5; color:#8191a3; cursor:not-allowed; }
.finder-controls .finder-primary { margin-left:auto; }
.finder-back { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 4px; border:0; background:transparent; color:#52677d; font:650 .75rem/1.6 'Plus Jakarta Sans',system-ui,sans-serif; cursor:pointer; }
.finder-back:hover { color:#175cd3; }
.finder-result { padding:0 32px 28px; }
.finder-result-label { display:flex; align-items:center; gap:8px; color:#287455; font-size:.63rem; font-weight:750; letter-spacing:.07em; margin:5px 0 13px; }
.finder-result h3 { font:800 1.65rem/1.35 'Plus Jakarta Sans',system-ui,sans-serif; color:#173047; letter-spacing:-.04em; margin:0 0 13px; }
#finder-result-description { color:#607286; font-size:.83rem; line-height:1.85; margin:0 0 22px; }
.finder-reason { padding:18px 20px; border:1px solid #dce5ef; border-radius:10px; background:#f5f8fc; }
.finder-reason h4 { font-size:.78rem; font-weight:750; margin:0 0 7px; }
.finder-reason p { font-size:.73rem; line-height:1.85; margin:0; color:#52677d; }
.finder-summary { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:20px 0; margin:0; border-bottom:1px solid #e2e8f0; }
.finder-summary dt { font-size:.65rem; color:#607286; font-weight:500; margin-bottom:4px; }
.finder-summary dd { font-size:.77rem; color:#173047; font-weight:650; margin:0; }
.finder-guidance { font-size:.71rem; color:#607286; line-height:1.85; margin:18px 0 22px; }
.finder-result-actions { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.finder-result-footer { margin-top:24px; padding-top:18px; border-top:1px solid #e2e8f0; display:flex; justify-content:space-between; gap:14px; align-items:center; color:#718397; font-size:.63rem; }
.finder-result-footer button { flex-shrink:0; padding:0; background:transparent; border:0; color:#175cd3; font:650 .65rem/1.5 'Plus Jakarta Sans',system-ui,sans-serif; cursor:pointer; }
@media(max-width:575px) {
 .landing-app #quizModal .track-finder-dialog { width:calc(100% - 24px) !important; border-radius:14px; }
 .finder-header { padding:23px 20px 20px; gap:10px; }
 .finder-header h2 { font-size:1.35rem; }
 .finder-header p { font-size:.74rem; }
 .finder-eyebrow { font-size:.55rem; }
 .finder-progress-wrap { padding:0 20px 20px; }
 .finder-step { padding:22px 20px 0; }
 .finder-step legend { font-size:.91rem; }
 .finder-choice { padding:13px; gap:10px; }
 .finder-choice-icon { width:31px; height:31px; font-size:.95rem; }
 .finder-choice-copy strong { font-size:.75rem; }
 .finder-choice-copy small { font-size:.66rem; }
 .finder-controls { padding:18px 20px; }
 .finder-result { padding:0 20px 24px; }
 .finder-result h3 { font-size:1.4rem; }
 .finder-result-actions { gap:10px; }
 .finder-result-actions .finder-primary { width:100%; }
 .finder-result-footer { align-items:start; }
}

.finder-controls { position:sticky; bottom:0; z-index:2; }

.finder-header { position:sticky; top:0; z-index:3; background:#fff; border-bottom:1px solid transparent; }
