/* V27: diagnostic topics paired with official report images, without numbered chapters. */
.diagnosis{background:#eef4f6}
.diagnosis .desktop-only{display:none}
.diagnosis-intro .section-kicker{margin-bottom:20px}
.diagnosis-included{display:inline-block;padding:5px 12px;background:#d8eef1;font-size:13px;font-weight:700;line-height:1.6;margin-bottom:18px}
.diagnosis-intro .section-title{font-size:clamp(32px,9.3vw,48px);line-height:1.35}
.diagnosis-description{max-width:760px;font-size:14px;line-height:1.95;margin-top:20px}
.diagnosis-report-list{margin-top:32px;background:#fff;padding-inline:20px;border-top:3px solid var(--ink)}
.diagnosis-item{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;padding-block:28px}
.diagnosis-item+.diagnosis-item{border-top:1px solid var(--line)}
.diagnosis-item h3{font-family:"RQ Heading",var(--gothic);font-size:clamp(21px,5.8vw,27px);font-weight:700;line-height:1.5;letter-spacing:-.035em}
.diagnosis-item figure{min-width:0}
.diagnosis-item img{display:block;width:100%;height:auto}
.diagnosis-item-copy{min-width:0}
.diagnosis-item-copy p{font-size:14px;line-height:1.9;color:#31495e}
.diagnosis-item-copy ul{display:flex;flex-wrap:wrap;gap:4px 14px;list-style:none;padding:0;margin:14px 0 0;font-size:12px;font-weight:600;line-height:1.8;color:#36566f}
.diagnosis-item-copy li{position:relative;padding-left:11px}
.diagnosis-item-copy li::before{content:"";position:absolute;left:0;top:.7em;width:4px;height:4px;background:#197d90}
.diagnosis-consultation{display:grid;gap:18px;background:#e1f2f4;padding:30px 20px;border-bottom:3px solid var(--ink)}
.diagnosis-consultation-label{font-size:11px;font-weight:600;line-height:1.6;color:#416175;margin-bottom:10px}
.diagnosis-consultation h3{font-family:"RQ Heading",var(--gothic);font-weight:700;font-size:clamp(22px,5.9vw,30px);line-height:1.55;letter-spacing:-.045em}
.diagnosis-consultation-copy p{font-size:14px;line-height:1.9;color:#31495e}
.diagnosis-consultation ul{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:16px 0 0;margin:18px 0 0;border-top:1px solid #b5cfd5;font-size:13px;font-weight:700;line-height:1.6}
.diagnosis-reserve{margin-top:8px}
.diagnosis-reserve .booking-cta{max-width:480px}
@media(max-width:649.98px){
 .diagnosis-reserve .booking-cta{grid-template-columns:34px minmax(0,1fr) 32px;gap:10px;padding:14px 12px}
 .diagnosis-reserve .booking-free{width:34px;height:34px;font-size:12px}
 .diagnosis-reserve .booking-arrow{width:32px;height:32px;font-size:23px}
}
@media(min-width:650px){
 .diagnosis-report-list{padding-inline:30px}
 .diagnosis-item{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto 1fr;column-gap:24px;row-gap:14px;padding-block:32px}
 .diagnosis-item h3{grid-column:1;grid-row:1;font-size:23px}
 .diagnosis-item figure{grid-column:2;grid-row:1 / 3;align-self:center}
 .diagnosis-item-copy{grid-column:1;grid-row:2}
 .diagnosis-consultation{padding:32px 30px}
}
@media(min-width:960px){
 .diagnosis .desktop-only{display:block}
 .diagnosis-included{font-size:15px;margin-bottom:20px}
 .diagnosis-intro .section-title{font-size:clamp(48px,4.7vw,68px)}
 .diagnosis-description{font-size:16px;margin-top:24px}
 .diagnosis-report-list{margin-top:44px;padding-inline:44px}
 .diagnosis-item{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:48px;row-gap:18px;padding-block:42px}
 .diagnosis-item h3{font-size:clamp(26px,2.2vw,32px);padding-top:8px}
 .diagnosis-item-copy p{font-size:16px}
 .diagnosis-item-copy ul{font-size:13px;margin-top:20px}
 .diagnosis-consultation{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px 44px;padding:44px}
 .diagnosis-consultation-label{font-size:13px}
 .diagnosis-consultation h3{font-size:30px}
 .diagnosis-consultation-copy p{font-size:16px}
 .diagnosis-consultation ul{font-size:14px}
 .diagnosis-reserve{grid-column:1 / -1;margin-top:0}
}
@media(max-width:359.98px){
 .diagnosis-report-list{padding-inline:16px}
 .diagnosis-item{padding-block:24px;gap:16px}
 .diagnosis-item h3{font-size:20px}
 .diagnosis-consultation{padding:26px 16px}
 .diagnosis-consultation h3{font-size:21px}
 .diagnosis-reserve .booking-cta{grid-template-columns:30px minmax(0,1fr) 28px;gap:6px;padding-inline:8px}
 .diagnosis-reserve .booking-free{width:30px;height:30px;font-size:11px}
 .diagnosis-reserve .booking-arrow{width:28px;height:28px;font-size:21px}
 .diagnosis-reserve .booking-label strong{font-size:14px}
}
