/* Reference-based characters live beside the progress, away from decisions. */
.passport{position:relative;isolation:isolate;min-height:194px;display:flex;justify-content:flex-end;align-items:center;padding:25px 25px 25px 46%;background:#ebdfc8;overflow:hidden}
.quiz-brand-scene{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.quiz-brand-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%;image-rendering:pixelated}
.progress-panel{width:100%;padding:16px 18px;background:#fffaf0f5;border:2px solid #17314f;box-shadow:4px 4px 0 #17314f25}
.progress-row{gap:17px}
.stamp-path{gap:13px}
.stamp-stop:not(:last-child):after{width:25px;left:calc(100% - 5px)}
.progress-track{margin-top:12px}
.quest-content{background:#fffaf0}
.result-offer .offer-eligibility{font-size:12px;color:#516074;margin:8px 0 0;line-height:1.6}
.result-offer .offer-eligibility b{color:#17314f}
.result-offer{margin-top:12px;align-items:center;padding:9px;gap:14px}
.result-offer.is-standard{grid-template-columns:104px minmax(0,1fr)}
.result-offer.has-eligibility{grid-template-columns:132px minmax(0,1fr)}
.result-offer>img{min-height:0;max-height:none;aspect-ratio:1;object-fit:cover}
.result-offer.is-standard>img{width:104px;height:104px}
.result-offer.has-eligibility>img{width:132px;height:132px}
.result-offer h3{margin:0;font-size:20px;line-height:1.35}
.result-offer>div{display:flex;flex-direction:column;justify-content:center}
.offer-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}
.offer-name{display:flex;align-items:baseline;gap:10px;min-width:0}
.offer-name>span{flex:none;color:#516074;font-size:12px;font-weight:700;white-space:nowrap}
.offer-total{flex:none;color:#c93640;font-size:28px;font-weight:900;white-space:nowrap;text-align:right}
.offer-total small{font-size:11px;font-weight:700}
.result-offer .offer-eligibility{margin-top:7px}
.result-booking{margin-top:14px}
.result-booking .booking-phrase{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 12px;padding:11px 14px;background:#fff1d9;border:2px solid #c93640;box-shadow:4px 4px 0 #c9364030;color:#17314f;font-size:15px;font-weight:800}
.booking-phrase span{padding:3px 7px;background:#c93640;color:#fffaf0;font-size:12px;letter-spacing:.08em}
.result-booking .booking-phrase strong{color:#c93640;font-size:21px;font-weight:900;letter-spacing:.04em}
.call-button svg:last-child{display:none}
.call-button span{margin-left:0}
@media(max-width:620px){
  .result-offer{margin-top:10px;gap:10px;padding:8px}
  .result-offer.is-standard{grid-template-columns:86px minmax(0,1fr)}
  .result-offer.has-eligibility{grid-template-columns:104px minmax(0,1fr)}
  .result-offer.is-standard>img{width:86px;height:86px}
  .result-offer.has-eligibility>img{width:104px;height:104px}
  .result-offer h3{font-size:17px}
  .offer-name{gap:7px}
  .offer-name>span{font-size:11px}
  .offer-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
  .offer-total{font-size:24px;text-align:right}
  .result-offer .offer-eligibility{margin-top:4px;font-size:10px;line-height:1.45}
  .result-booking{margin-top:12px}
  .result-booking .booking-phrase{gap:8px;padding:10px 8px;font-size:13px}
  .result-booking .booking-phrase strong{font-size:18px}
  .booking-phrase span{font-size:10px}
}
@media(max-width:620px){
  .passport{display:block;min-height:0;padding:62px 10px 8px}
  .quiz-brand-scene{bottom:auto;height:64px}
  .quiz-brand-scene img{object-position:center 32%}
  .progress-panel{position:relative;padding:8px 12px 9px;box-shadow:3px 3px 0 #17314f25}
  .progress-row{gap:12px}
  .stamp-path{gap:9px}
  .stamp-stop:not(:last-child):after{width:22px;left:calc(100% - 5px)}
  .quest-content{padding:12px 12px 14px}
  .options{margin-top:10px;gap:8px}
  .body-options .option{min-height:70px;padding:8px 4px 6px;gap:3px}
  .body-options .option strong{font-size:13px}
  .body-icon{width:26px;height:26px}
  .question-nav{margin-top:10px;padding-top:10px}
}
@media(max-width:360px){
  .passport{padding:83px 10px 12px}
  .quiz-brand-scene{height:85px}
  .progress-panel{padding:13px 11px 12px}
  .progress-row{gap:10px}
  .stamp-path{gap:8px}
  .stamp-stop:not(:last-child):after{width:15px;left:calc(100% - 2px)}
}
