.diagnosis-page,.recommendation-page{--sd-ink:#293f54;--sd-muted:#63788b;--sd-line:#dbe8f3;--sd-blue:#5b8fc9;font-family:"Hiragino Sans","Yu Gothic",sans-serif;color:var(--sd-ink)}
.diagnosis-page{max-width:920px;margin:auto;padding:45px 18px 70px}.diagnosis-header{text-align:center;margin-bottom:28px}.portal-kicker{color:#668fb3;font-size:11px;font-weight:700;letter-spacing:.16em}.diagnosis-header h1,.recommendation-page h1{font-family:"Yu Mincho",serif;font-weight:500;line-height:1.5}.diagnosis-header h1{font-size:clamp(28px,5vw,42px)}.diagnosis-header>p:last-child{color:var(--sd-muted);font-size:13px}
.diagnosis-shell{overflow:hidden;border:1px solid var(--sd-line);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(54,91,126,.1)}.diagnosis-progress{padding:20px 30px 0}.diagnosis-progress__meta{display:flex;justify-content:space-between;color:#71859a;font-size:11px}.diagnosis-progress__track{height:4px;margin-top:8px;border-radius:9px;background:#e8f0f6}.diagnosis-progress__track span{display:block;width:25%;height:100%;background:var(--sd-blue);transition:.2s}
.diagnosis-form{padding:clamp(25px,6vw,48px)}.diagnosis-honeypot{position:absolute;left:-10000px}.diagnosis-step{border:0;padding:0;margin:0}.diagnosis-step legend{font-family:"Yu Mincho",serif;font-size:clamp(21px,3vw,28px);line-height:1.5}.diagnosis-step legend small{display:block;color:#7198bd;font:700 10px sans-serif;letter-spacing:.16em}.diagnosis-step__help{color:var(--sd-muted);font-size:12px}.diagnosis-options{display:grid;gap:10px}.diagnosis-options--two{grid-template-columns:repeat(2,1fr)}.diagnosis-options--regions{grid-template-columns:repeat(4,1fr)}.diagnosis-options label{position:relative;cursor:pointer}.diagnosis-options input{position:absolute;opacity:0}.diagnosis-options span{display:flex;min-height:64px;flex-direction:column;justify-content:center;padding:12px 16px;border:1px solid #d7e3ee;border-radius:9px;background:#fff}.diagnosis-options input:checked+span{border-color:var(--sd-blue);background:#edf6fe;box-shadow:inset 0 0 0 1px var(--sd-blue)}.diagnosis-options input:checked+span:after{content:"✓";position:absolute;right:14px;color:#4b7fac}.diagnosis-options small{color:#788a9b;font-size:11px}.diagnosis-error{color:#a24a54;font-size:12px}.diagnosis-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.diagnosis-controls button,.recommendation-page .btn{display:inline-block;padding:11px 20px;border:0;border-radius:6px;text-decoration:none;cursor:pointer}.diagnosis-controls [hidden]{display:none!important}.btn--primary{background:#477ca9!important;color:#fff!important}.btn--ghost,.diagnosis-back{background:#eef3f7!important;color:#52697d!important}.diagnosis-privacy,.diagnosis-save-status{color:#7b8d9e;font-size:10px;text-align:center}
.diagnosis-result{display:none}
.recommendation-page{margin:-20px -15px 0;background:#f7fafc}.recommendation-page .container{max-width:1080px;margin:auto;padding-left:20px;padding-right:20px}.recommendation-page .container-narrow{max-width:720px;margin:auto;padding:20px}.recommendation-hero{padding:55px 0;text-align:center;background:linear-gradient(140deg,#e2f1fc,#f8fbfe)}.recommendation-hero__sample{display:inline-block;padding:7px 14px;border-radius:20px;background:#fff;color:#526e88;font-size:11px}.recommendation-hero h1{font-size:clamp(30px,5vw,47px)}.recommendation-hero p{color:var(--sd-muted)}.recommendation-overview{padding:28px 0;background:#fff}.recommendation-overview__grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.recommendation-overview li{display:inline-block;margin:3px;padding:7px 11px;border-radius:18px;background:#edf6fd;font-size:12px}
.recommendation-list{padding:42px 0}.recommendation-card{display:grid;grid-template-columns:105px 1fr;margin-bottom:22px;overflow:hidden;border:1px solid #dce7f0;border-radius:16px;background:#fff}.recommendation-card--primary{border-color:#8db6d8;box-shadow:0 16px 44px rgba(64,101,136,.12)}.recommendation-card__rank{padding:28px 16px;text-align:center;background:#eff6fb}.recommendation-card--primary .recommendation-card__rank{background:#477ca9;color:#fff}.recommendation-card__rank span,.recommendation-card__rank small{display:block}.recommendation-card__main{padding:28px}.recommendation-card__main>header{display:flex;justify-content:space-between;gap:15px}.recommendation-card h2{margin:0;font-family:"Yu Mincho",serif}.recommendation-card__badge{height:max-content;padding:5px 9px;border-radius:15px;background:#e2f1fc;color:#49779f;font-size:10px}.recommendation-card__summary{color:#526a7f}.recommendation-card__columns,.recommendation-cost{display:grid;grid-template-columns:1fr 1fr;gap:12px}.recommendation-card__columns>div{padding:16px;border-radius:10px}.recommendation-match{background:#eef7f2}.recommendation-caution{background:#fdf7ee}.recommendation-card li{font-size:12px}.recommendation-cost{margin:16px 0;padding:14px;border:1px solid #dce7f0;border-radius:9px}.recommendation-cost small,.recommendation-cost strong,.recommendation-cost span{display:block}.recommendation-card__actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:0!important;border:0!important;background:transparent!important}.recommendation-card__actions .btn{display:inline-flex!important;align-items:center;justify-content:center;margin:0!important}.recommendation-source-note{font-size:11px;color:#6f8294}.recommendation-compare,.recommendation-next{padding:50px 0;background:#fff}.recommendation-table-wrap{overflow:auto}.recommendation-table{width:100%;border-collapse:collapse}.recommendation-table th,.recommendation-table td{padding:14px;border-bottom:1px solid #dce7f0;text-align:left}.recommendation-next{background:#e3f1fa}.recommendation-next__inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.diagnosis-result-empty{padding:70px 20px;text-align:center}
.recommendation-page .recommendation-card__columns ul{margin:0!important;padding:0!important;list-style:none!important}.recommendation-page .recommendation-card__columns li{position:relative;margin:6px 0 0!important;padding:0 0 0 17px!important;list-style:none!important}.recommendation-page .recommendation-match li::before{position:absolute;top:0;left:0;display:inline!important;color:#4b9270!important;content:"✓"!important;font-weight:700}.recommendation-page .recommendation-caution li::before{position:absolute;top:0;left:1px;display:inline!important;color:#a47a45!important;content:"・"!important}
.diagnosis-step--detail{padding-top:4px}.diagnosis-step--detail legend small{color:#8a7db3}.diagnosis-skip{border:1px solid #cfdde8!important;background:#fff!important;color:#5c7489!important}.diagnosis-skip:hover{background:#f5f9fc!important}.diagnosis-detail-note{margin:15px 0 0;padding:12px 15px;border-radius:8px;background:#f5f3fa;color:#6e6980;font-size:10px;line-height:1.7}.diagnosis-detail-summary{margin:24px 0;padding:18px;border:1px solid #dbe8f3;border-radius:10px;background:#f7fbfe}.diagnosis-detail-summary h2{margin:0 0 11px;font-size:15px}.diagnosis-detail-summary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.diagnosis-detail-summary div{padding:10px 12px;border-radius:8px;background:#fff}.diagnosis-detail-summary dt{color:#75899b;font-size:10px}.diagnosis-detail-summary dd{margin:2px 0 0;color:#344f65;font-size:12px;font-weight:700}.diagnosis-detail-summary p{margin:11px 0 0;color:#6f8294;font-size:10px;line-height:1.7}
.feedback-page{min-height:70vh;padding:48px 18px 75px;background:linear-gradient(180deg,#f4f9fd 0,#fff 460px);color:#293f54}.feedback-page .container-narrow{max-width:820px;margin:auto}.feedback-header{text-align:center}.feedback-header h1,.feedback-empty h1{margin:5px 0 10px;font-family:"Yu Mincho",serif;font-size:clamp(28px,5vw,42px);font-weight:500;line-height:1.5}.feedback-header>p:last-child,.feedback-empty>p{color:#63788b;font-size:13px}.feedback-preferences{margin:24px auto;padding:14px 18px;border:1px solid #dbe8f3;border-radius:10px;background:#fff}.feedback-preferences>p{margin:0 0 8px;color:#668fb3;font-size:10px;font-weight:700}.feedback-preferences ul{display:flex;flex-wrap:wrap;gap:7px;margin:0!important;padding:0!important;list-style:none!important}.feedback-preferences li{padding:6px 10px!important;border-radius:99px;background:#edf6fd;color:#526e88;font-size:11px;list-style:none!important}.feedback-preferences li::before{display:none!important}.feedback-shell{margin-top:24px}.feedback-form{padding:clamp(24px,5vw,42px);border:1px solid #dbe8f3;border-radius:20px;background:#fff;box-shadow:0 18px 55px rgba(54,91,126,.09)}.feedback-question{margin:0;padding:0;border:0}.feedback-question+ .feedback-question{margin-top:38px;padding-top:34px;border-top:1px solid #e4edf4}.feedback-question legend{width:100%;margin-bottom:18px;color:#2c4358;font-family:"Yu Mincho",serif;font-size:clamp(19px,3vw,24px);font-weight:500;line-height:1.5}.feedback-question legend small{display:block;margin-bottom:4px;color:#7198bd;font:700 10px sans-serif;letter-spacing:.14em}.feedback-section{margin-top:38px;padding-top:34px;border-top:1px solid #dbe8f3}.feedback-section>.feedback-question:first-child{margin-top:0;padding-top:0;border-top:0}.feedback-divider{margin:0 0 30px;text-align:center}.feedback-divider span{display:inline-block;padding:7px 14px;border-radius:99px;background:#edf6fd;color:#527da3;font-size:11px;font-weight:700}.feedback-error{margin:22px 0 0;padding:11px;border-radius:8px;background:#fff0f1;color:#9b4850;font-size:12px;text-align:center}.feedback-submit{display:block!important;width:min(360px,100%);margin:32px auto 0!important;border:0!important;cursor:pointer}.feedback-thanks,.feedback-empty{padding:55px 30px;border:1px solid #dbe8f3;border-radius:20px;background:#fff;text-align:center;box-shadow:0 18px 55px rgba(54,91,126,.09)}.feedback-thanks h2{margin:5px 0 10px;font-family:"Yu Mincho",serif;font-size:clamp(24px,4vw,34px);font-weight:500}.feedback-thanks>p:not(.portal-kicker){color:#63788b}.feedback-thanks>div{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px}.feedback-thanks .btn,.feedback-empty .btn{display:inline-flex;align-items:center;justify-content:center}
.diagnosis-progress__meta span:last-child{padding:3px 8px;border-radius:99px;background:#edf6fd;color:#527da3;font-weight:700}.diagnosis-options label>span{position:relative;padding-right:42px;box-shadow:0 2px 8px rgba(54,91,126,.025);transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.diagnosis-options label:hover>span{transform:translateY(-1px);box-shadow:0 7px 18px rgba(54,91,126,.08)}.diagnosis-options input:checked+span{box-shadow:inset 0 0 0 1px #5b8fc9,0 8px 20px rgba(91,143,201,.11)}.diagnosis-options input:checked+span::after{display:flex;width:23px;height:23px;align-items:center;justify-content:center;border-radius:50%;background:#5b8fc9;color:#fff;font-size:12px}.diagnosis-controls .btn{min-height:48px;border-radius:8px;font-weight:700}.diagnosis-controls .btn:disabled{background:#e8eef3!important;color:#93a1ad!important;cursor:not-allowed;box-shadow:none!important}.diagnosis-step legend:focus{outline:0}.diagnosis-error:focus{outline:2px solid rgba(162,74,84,.25);outline-offset:3px}
.diagnosis-next::after{content:"›";margin-left:9px;font-size:22px;line-height:0;vertical-align:-2px}.diagnosis-submit::before{content:"✓";display:inline-grid;width:20px;height:20px;margin-right:8px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:11px}.diagnosis-back::before{content:"‹";margin-right:5px;font-size:18px;vertical-align:-1px}
@media(max-width:700px){.diagnosis-options,.diagnosis-options--two,.diagnosis-options--three,.diagnosis-options--regions{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnosis-page .diagnosis-shell .diagnosis-form .diagnosis-options label{display:block!important;height:100%!important;margin:0!important;padding:0!important}.diagnosis-page .diagnosis-shell .diagnosis-form .diagnosis-options label>span{box-sizing:border-box!important;display:flex!important;width:100%!important;height:100%!important;min-height:72px!important;margin:0!important;padding:10px 30px 10px 10px!important;font-size:13px;line-height:1.4}.diagnosis-options small{margin-top:3px;font-size:10px;line-height:1.35}.diagnosis-options input:checked+span::after{right:7px;width:19px;height:19px;font-size:10px}.recommendation-page{margin-left:-10px;margin-right:-10px}.recommendation-overview__grid,.recommendation-card,.recommendation-card__columns,.recommendation-cost{grid-template-columns:1fr}.recommendation-card__rank{text-align:left;padding:12px 20px}.recommendation-card__rank span,.recommendation-card__rank small{display:inline;margin-right:8px}.recommendation-next__inner{display:block}.recommendation-next .btn{margin-top:15px}.recommendation-card__main>header{display:block}.recommendation-card__badge{display:inline-block;margin-top:8px}.recommendation-card__actions .btn{width:100%}.diagnosis-detail-summary dl{grid-template-columns:1fr}.feedback-page{padding:35px 12px 60px}.feedback-form{padding:25px 18px}.feedback-question+.feedback-question{margin-top:30px;padding-top:28px}.diagnosis-page{padding:30px 12px 62px}.diagnosis-header{margin-bottom:20px}.diagnosis-form{padding:26px 18px 18px}.diagnosis-controls{position:sticky;right:0;bottom:0;left:0;z-index:5;align-items:center;margin:26px -18px -18px;padding:13px 18px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #e0eaf2;background:rgba(255,255,255,.96);box-shadow:0 -8px 22px rgba(54,91,126,.06);backdrop-filter:blur(8px)}.diagnosis-controls .btn{min-height:50px}.diagnosis-page .diagnosis-shell .diagnosis-form .diagnosis-controls .diagnosis-back{min-width:auto!important;min-height:38px!important;padding:7px 8px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#8795a1!important;font-size:12px!important;font-weight:500!important;opacity:.82}.diagnosis-next,.diagnosis-submit{flex:1;box-shadow:0 5px 14px rgba(71,124,169,.2)}}@media(max-width:420px){.feedback-thanks>div .btn{width:100%}}

/* Diagnosis result: match the one-column concierge experience */
.recommendation-page{box-sizing:border-box;width:100%;max-width:920px;margin:0 auto!important;padding:45px 18px 70px;background:transparent}
.recommendation-page .container,.recommendation-page .container-narrow{box-sizing:border-box;width:100%;max-width:none;padding-right:0;padding-left:0}
.recommendation-hero{padding:0 0 28px;background:transparent;text-align:center}
.recommendation-hero h1{margin:8px 0 12px;font-size:clamp(28px,5vw,42px)}
.recommendation-hero> .container>p:last-child{max-width:700px;margin-right:auto;margin-left:auto;font-size:13px}
.recommendation-hero__sample{border:1px solid #dbe8f3;background:#f7fbfe}
.recommendation-overview{padding:0;background:transparent}
.recommendation-overview__grid{padding:28px!important;border:1px solid var(--sd-line);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(54,91,126,.08)}
.recommendation-overview h2{margin:4px 0 0;font-family:"Yu Mincho",serif;font-size:clamp(20px,3vw,27px);font-weight:500}
.recommendation-page .diagnosis-detail-summary{margin:18px 0 0}
.recommendation-list{padding:30px 0 8px}
.recommendation-card{grid-template-columns:88px minmax(0,1fr);margin-bottom:16px;border-radius:18px}
.recommendation-card__rank{padding:24px 12px}
.recommendation-card__main{padding:24px}
.recommendation-compare{margin-top:18px;padding:30px;border:1px solid var(--sd-line);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(54,91,126,.08)}
.recommendation-compare .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.recommendation-compare .section-heading h2{margin:4px 0 0;font-family:"Yu Mincho",serif;font-size:clamp(22px,4vw,30px);font-weight:500}
.recommendation-compare .section-heading>p{max-width:360px;margin:0;color:var(--sd-muted);font-size:11px;text-align:right}
.recommendation-simulator-results{display:grid;gap:10px}
.recommendation-simulator-card{padding:18px 20px;border:1px solid #dce7f0;border-radius:12px;background:#fbfdff}
.recommendation-simulator-card__head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.recommendation-simulator-card__head small,.recommendation-simulator-card__total small{display:block;color:#71859a;font-size:10px}
.recommendation-simulator-card h3{margin:3px 0 0;font-size:15px}
.recommendation-simulator-card__budget{display:inline-block;margin-top:6px;padding:3px 7px;border-radius:99px;background:#fdf3e8;color:#986d3d;font-size:9px;font-weight:700}
.recommendation-simulator-card__total{text-align:right;white-space:nowrap}
.recommendation-simulator-card__total strong{display:block;color:#3f739f;font-family:"Yu Mincho",serif;font-size:22px;font-weight:600}
.recommendation-simulator-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:14px 0 0;overflow:hidden;border-radius:8px;background:#dce7f0}
.recommendation-simulator-card dl>div{padding:9px 11px;background:#fff}
.recommendation-simulator-card dt{color:#75899b;font-size:9px}
.recommendation-simulator-card dd{margin:2px 0 0;font-size:11px;font-weight:700}
.recommendation-simulator-note{margin:14px 0 0;color:#6f8294;font-size:10px;line-height:1.7}
.recommendation-compare__action{margin-top:20px;text-align:right}
.recommendation-compare__action .btn::after{content:"›";margin-left:8px;font-size:20px;vertical-align:-1px}
@media(max-width:700px){
  .recommendation-page{padding:30px 12px 62px}
  .recommendation-overview__grid,.recommendation-card,.recommendation-card__columns,.recommendation-cost{grid-template-columns:1fr}
  .recommendation-overview__grid,.recommendation-compare{padding:22px!important}
  .recommendation-card__rank{text-align:left;padding:10px 18px}
  .recommendation-card__rank span,.recommendation-card__rank small{display:inline;margin-right:8px}
  .recommendation-card__main{padding:20px 18px}
  .recommendation-card__main>header,.recommendation-compare .section-heading,.recommendation-simulator-card__head{display:block}
  .recommendation-card__badge{display:inline-block;margin-top:8px}
  .recommendation-card__actions .btn{width:100%}
  .recommendation-compare .section-heading>p{margin-top:8px;text-align:left}
  .recommendation-simulator-card__total{margin-top:12px;padding-top:10px;border-top:1px solid #e2eaf1;text-align:left}
  .recommendation-simulator-card dl{grid-template-columns:repeat(2,1fr)}
  .recommendation-compare__action .btn{box-sizing:border-box;width:100%;text-align:center}
}

/* 1.5.0 — Concierge visual refinement */
.diagnosis-page,.recommendation-page{
  --sd-ink:#21384d;
  --sd-muted:#61788d;
  --sd-line:#d8e5ee;
  --sd-blue:#3f739f;
  --sd-blue-deep:#285d8a;
  --sd-blue-pale:#edf5fa;
  --sd-paper:#fff;
  --sd-shadow:0 24px 70px rgba(35,72,103,.10);
  letter-spacing:.015em;
}

.diagnosis-page{
  max-width:1040px;
  padding:64px 24px 96px;
  background:
    radial-gradient(circle at 14% 4%,rgba(148,195,226,.22),transparent 30%),
    radial-gradient(circle at 91% 18%,rgba(194,218,234,.20),transparent 26%);
}
.diagnosis-header{max-width:720px;margin:0 auto 38px}
.diagnosis-header .portal-kicker{margin:0 0 10px;color:#547d9f;font-size:12px;letter-spacing:.2em}
.diagnosis-header h1{margin:0 0 16px;color:var(--sd-ink);font-size:clamp(34px,4.8vw,50px);line-height:1.42;letter-spacing:.035em}
.diagnosis-header>p:last-child{max-width:620px;margin:0 auto;color:var(--sd-muted);font-size:14px;line-height:1.9}
.diagnosis-shell{border-color:rgba(122,158,184,.34);border-radius:24px;box-shadow:var(--sd-shadow)}
.diagnosis-progress{padding:25px clamp(28px,5vw,52px) 0}
.diagnosis-progress__meta{align-items:center;font-size:12px;letter-spacing:.08em}
.diagnosis-progress__meta span:last-child{padding:5px 11px;background:#edf4f8;color:#426b8d}
.diagnosis-progress__track{height:5px;margin-top:13px;background:#e7eef3}
.diagnosis-progress__track span{border-radius:99px;background:linear-gradient(90deg,#77a4c8,var(--sd-blue-deep));box-shadow:0 0 12px rgba(63,115,159,.24)}
.diagnosis-form{padding:clamp(36px,6vw,62px)}
.diagnosis-step legend{margin-bottom:10px;color:var(--sd-ink);font-size:clamp(25px,3vw,34px);line-height:1.45;letter-spacing:.035em}
.diagnosis-step legend small{margin-bottom:9px;color:#5b86a9;font-size:11px;letter-spacing:.2em}
.diagnosis-step__help{margin:0 0 30px;color:var(--sd-muted);font-size:13px;line-height:1.8}
.diagnosis-options{gap:13px}
.diagnosis-options label>span{
  min-height:78px;
  padding:17px 54px 17px 21px;
  border-color:#d4e1ea;
  border-radius:13px;
  box-shadow:0 3px 12px rgba(40,77,107,.035);
}
.diagnosis-options b{color:#2b455b;font-size:15px;line-height:1.5}
.diagnosis-options small{margin-top:4px;color:#718496;font-size:12px;line-height:1.55}
.diagnosis-options label:hover>span{border-color:#82a8c5;background:#f9fcfe;transform:translateY(-2px);box-shadow:0 11px 25px rgba(45,83,113,.09)}
.diagnosis-options input:checked+span{border-color:var(--sd-blue);background:#edf6fc;box-shadow:inset 0 0 0 1px var(--sd-blue),0 10px 26px rgba(63,115,159,.13)}
.diagnosis-options input:checked+span::after{right:18px;width:26px;height:26px;background:var(--sd-blue-deep)}
.diagnosis-controls{align-items:center;margin-top:34px}
.diagnosis-controls .btn{min-height:52px;padding:11px 25px;border-radius:999px;font-size:14px;letter-spacing:.035em}
.diagnosis-controls .btn--primary{background:linear-gradient(135deg,var(--sd-blue),var(--sd-blue-deep))!important;box-shadow:0 9px 22px rgba(40,93,138,.22)}
.diagnosis-privacy{margin-top:26px;padding-top:22px;border-top:1px solid #e4edf3;font-size:11px;line-height:1.75}

.recommendation-page{max-width:1080px;padding:64px 24px 96px}
.recommendation-hero{padding:0 0 36px}
.recommendation-hero .portal-kicker{margin:0 0 12px;font-size:12px;letter-spacing:.2em}
.recommendation-hero__sample{max-width:100%;padding:8px 16px;border-color:#d6e5ef;border-radius:999px;color:#526f87;font-size:12px;line-height:1.6}
.recommendation-hero h1{margin:18px 0 15px;color:var(--sd-ink);font-size:clamp(36px,5vw,52px);line-height:1.38;letter-spacing:.035em}
.recommendation-hero>.container>p:last-child{max-width:760px;color:var(--sd-muted);font-size:14px;line-height:1.95}
.recommendation-overview__grid{gap:44px;padding:34px 38px!important;border-color:rgba(122,158,184,.34);border-radius:22px;box-shadow:0 16px 48px rgba(35,72,103,.075)}
.recommendation-overview h2{margin:6px 0 0;color:var(--sd-ink);font-size:clamp(24px,3vw,31px);line-height:1.55}
.recommendation-overview ul{display:flex;flex-wrap:wrap;gap:9px;margin:0!important;padding:0!important}
.recommendation-overview li{margin:0;padding:8px 13px;border:1px solid #deebf3;background:#f1f7fb;color:#3f6686;font-size:12px}
.recommendation-page .diagnosis-detail-summary{margin:20px 0 0;padding:22px;border-color:#d8e5ee;border-radius:14px;background:#f4f8fb}
.diagnosis-detail-summary h2{font-size:16px}
.diagnosis-detail-summary dl{gap:12px}
.diagnosis-detail-summary div{padding:13px 15px;border:1px solid #e5edf2;border-radius:10px}
.diagnosis-detail-summary dt{font-size:10px;letter-spacing:.08em}
.diagnosis-detail-summary dd{margin-top:4px;font-size:13px}
.recommendation-list{padding:38px 0 10px}
.recommendation-card{grid-template-columns:104px minmax(0,1fr);margin-bottom:22px;border-color:#d8e4ec;border-radius:22px;box-shadow:0 10px 34px rgba(35,72,103,.055)}
.recommendation-card--primary{border-color:#739bbc;box-shadow:0 22px 58px rgba(35,72,103,.13)}
.recommendation-card__rank{padding:31px 15px;background:linear-gradient(180deg,#edf4f9,#f7fafc);color:#49667f}
.recommendation-card--primary .recommendation-card__rank{background:linear-gradient(160deg,#477ba8,#285d8a)}
.recommendation-card__rank span{font-family:Georgia,"Times New Roman",serif;font-size:28px;letter-spacing:.08em}
.recommendation-card__rank small{margin-top:10px;font-size:11px;line-height:1.6}
.recommendation-card__main{padding:32px 34px 34px}
.recommendation-card__main>header{align-items:flex-start;margin-bottom:17px}
.recommendation-card__area{margin:0 0 5px;color:#6a849a;font-size:11px;letter-spacing:.08em}
.recommendation-card h2{color:var(--sd-ink);font-size:clamp(24px,3vw,30px);line-height:1.45}
.recommendation-card__badge{padding:7px 12px;border:1px solid #d7e7f2;background:#edf6fc;color:#35688f;font-size:11px}
.recommendation-card__summary{margin:0 0 24px;color:#4d6579;font-size:14px;line-height:1.95}
.recommendation-card__columns{gap:14px;margin-bottom:18px}
.recommendation-card__columns>div{padding:20px 21px;border:1px solid transparent;border-radius:14px}
.recommendation-match{border-color:#dcebe3!important;background:#f2f8f5}
.recommendation-caution{border-color:#efe5d6!important;background:#fcf8f1}
.recommendation-card__columns h3{margin:0 0 10px;color:#2e475c;font-size:14px}
.recommendation-page .recommendation-card__columns li{margin-top:8px!important;color:#50677a;font-size:12px;line-height:1.75}
.recommendation-cost{gap:0;margin:0 0 22px;padding:0;overflow:hidden;border-color:#d9e5ed;border-radius:13px}
.recommendation-cost>div{padding:17px 19px}
.recommendation-cost>div+div{border-left:1px solid #d9e5ed}
.recommendation-cost small{color:#72879a;font-size:10px;letter-spacing:.05em}
.recommendation-cost strong{margin-top:3px;color:#28465f;font-size:19px;line-height:1.45}
.recommendation-cost span{margin-top:5px;color:#617589;font-size:12px;line-height:1.7}
.recommendation-card__actions{gap:10px}
.recommendation-card__actions .btn,.recommendation-compare__action .btn{min-height:48px;padding:11px 22px;border-radius:999px!important;font-size:13px;font-weight:700;letter-spacing:.025em}
.recommendation-card__actions .btn--primary,.recommendation-compare__action .btn{background:linear-gradient(135deg,var(--sd-blue),var(--sd-blue-deep))!important;box-shadow:0 8px 19px rgba(40,93,138,.18)}
.recommendation-card__actions .btn--ghost{border:1px solid #d6e2ea;background:#f3f6f8!important;color:#526a7d!important}
.recommendation-source-note{margin:26px 3px 0;color:#667b8e;font-size:11px;line-height:1.9}
.recommendation-compare{margin-top:28px;padding:38px 40px;border-color:rgba(122,158,184,.34);border-radius:22px;box-shadow:var(--sd-shadow)}
.recommendation-compare .section-heading{margin-bottom:24px}
.recommendation-compare .section-heading h2{color:var(--sd-ink);font-size:clamp(27px,4vw,35px)}
.recommendation-compare .section-heading>p{color:var(--sd-muted);font-size:12px;line-height:1.75}
.recommendation-simulator-results{gap:13px}
.recommendation-simulator-card{padding:20px 22px;border-color:#d9e5ed;border-radius:15px;background:#f9fbfd}
.recommendation-simulator-card h3{font-size:17px}
.recommendation-simulator-card__total strong{color:#2e668f;font-size:25px}
.recommendation-simulator-card dl{margin-top:16px;border-radius:10px}
.recommendation-simulator-card dl>div{padding:11px 13px}
.recommendation-simulator-card dt{font-size:10px}
.recommendation-simulator-card dd{font-size:12px}
.recommendation-simulator-note{font-size:11px;line-height:1.8}
.recommendation-compare__action{margin-top:24px}

@media(max-width:700px){
  .diagnosis-page,.recommendation-page{padding:34px 14px 68px}
  .diagnosis-header{margin-bottom:26px}
  .diagnosis-header .portal-kicker,.recommendation-hero .portal-kicker{font-size:10px}
  .diagnosis-header h1{font-size:31px;line-height:1.5}
  .diagnosis-header>p:last-child,.recommendation-hero>.container>p:last-child{font-size:12px;line-height:1.85}
  .diagnosis-shell{border-radius:19px}
  .diagnosis-progress{padding:18px 18px 0}
  .diagnosis-form{padding:27px 18px 18px}
  .diagnosis-step legend{font-size:23px}
  .diagnosis-step__help{margin-bottom:22px;font-size:12px}
  .diagnosis-options{grid-template-columns:1fr!important;gap:9px}
  .diagnosis-options--two,.diagnosis-options--regions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .diagnosis-options--three{grid-template-columns:1fr!important}
  .diagnosis-page .diagnosis-shell .diagnosis-form .diagnosis-options label>span{min-height:76px!important;padding:11px 34px 11px 12px!important;border-radius:11px}
  .diagnosis-options b{font-size:13px}
  .diagnosis-options small{font-size:10px}
  .diagnosis-controls{margin-top:25px}
  .diagnosis-privacy{margin-top:19px;padding-top:17px;font-size:10px}
  .recommendation-hero{padding-bottom:28px}
  .recommendation-hero__sample{padding:7px 12px;font-size:10px}
  .recommendation-hero h1{margin-top:14px;font-size:32px}
  .recommendation-overview__grid,.recommendation-compare{padding:22px 18px!important;border-radius:18px}
  .recommendation-overview h2{font-size:23px}
  .recommendation-overview li{padding:7px 10px;font-size:10px}
  .recommendation-page .diagnosis-detail-summary{padding:17px}
  .diagnosis-detail-summary dl{grid-template-columns:1fr}
  .recommendation-list{padding-top:28px}
  .recommendation-card{border-radius:18px}
  .recommendation-card__rank{padding:11px 18px}
  .recommendation-card__main{padding:22px 18px 24px}
  .recommendation-card h2{font-size:21px!important}
  .recommendation-card__summary{font-size:13px;line-height:1.8}
  .recommendation-card__columns>div{padding:17px}
  .recommendation-cost>div{padding:15px 16px}
  .recommendation-cost>div+div{border-top:1px solid #d9e5ed;border-left:0}
  .recommendation-card__actions .btn{min-height:50px}
  .recommendation-compare .section-heading h2{font-size:27px}
  .recommendation-simulator-card{padding:17px}
}

@media(max-width:420px){
  .diagnosis-page .diagnosis-shell .diagnosis-form .diagnosis-options label>span{min-height:66px!important}
}

/* Mobile result-card typography */
@media(max-width:700px){
  .recommendation-page .recommendation-card__rank{font-size:12px!important;line-height:1.4}
  .recommendation-page .recommendation-card__rank span{font-size:14px!important;letter-spacing:.06em}
  .recommendation-page .recommendation-card__rank small{font-size:10px!important}
  .recommendation-page .recommendation-card__area{margin:0 0 7px!important;color:#71859a!important;font-size:10px!important;letter-spacing:.04em}
  .recommendation-page .recommendation-card h2{font-size:18px!important;line-height:1.45!important}
  .recommendation-page .recommendation-card__summary{margin:14px 0!important;font-size:13px!important;line-height:1.75!important}
  .recommendation-page .recommendation-card__columns h3{margin:0 0 7px!important;font-size:13px!important;line-height:1.5!important}
  .recommendation-page .recommendation-card__columns li{font-size:11px!important;line-height:1.65!important}
  .recommendation-page .recommendation-cost small{font-size:10px!important;line-height:1.5!important}
  .recommendation-page .recommendation-cost strong{font-size:16px!important;line-height:1.45!important}
  .recommendation-page .recommendation-cost>div:last-child strong{font-size:18px!important}
  .recommendation-page .recommendation-cost span{font-size:11px!important;line-height:1.6!important}
  .recommendation-page .recommendation-card__actions .btn{font-size:13px!important;line-height:1.45!important}
  .recommendation-page .recommendation-card{display:grid!important;grid-template-columns:1fr!important}
  .recommendation-page .recommendation-card__rank{display:flex!important;align-items:center;gap:9px;padding:11px 18px!important;text-align:left}
  .recommendation-page .recommendation-card__rank span,.recommendation-page .recommendation-card__rank small{display:inline!important;margin:0!important}
  .recommendation-page .recommendation-card__main{padding:22px 18px 24px!important}
  .recommendation-page .recommendation-card__columns,.recommendation-page .recommendation-cost{grid-template-columns:1fr!important}
  .recommendation-page .recommendation-table{min-width:660px}
  .recommendation-page .recommendation-table-wrap{margin-right:-4px;padding-bottom:8px;overscroll-behavior-x:contain}
}
