/* Clinic guides use the existing typography and spacing, with a clear reading path. */
.offer-banners .offer-kind{font-size:8px;line-height:1.2;letter-spacing:.06em;color:#e0c9ed;margin-bottom:5px}
.offer-banners .offer-copy:has(.offer-kind) h2{font-size:21px}
.offer-banners .offer-copy:has(.offer-kind) p{margin-top:6px}
.material-label{display:block;color:var(--accent,#d9baff);font-size:12px;line-height:1.4;letter-spacing:.02em;font-weight:400;margin:0 0 16px}
.material-body{max-width:920px;margin:0 auto;padding:30px 0 70px}
.material-section{display:grid;grid-template-columns:52px minmax(0,1fr);gap:24px;padding:38px 0;border-top:1px solid var(--line)}
.material-number{color:#bb9dc9;font-size:13px;padding-top:8px}
.material-section h2,.material-next h2{font-size:clamp(27px,3.3vw,38px);line-height:1.15;letter-spacing:-.035em}
.material-section p,.material-next p{max-width:700px;font-size:16px;line-height:1.8;margin-top:18px}
.material-next{margin:30px 0 0 76px;padding-top:32px;border-top:1px solid var(--line)}
.program-details>.text-link{margin-bottom:32px}
.iv-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:22px}
.iv-card .iv-card-actions .button{margin-top:0}
.iv-card-actions .text-link{font-size:13px}
.checkup-visit .steps p{line-height:1.7}
.checkup-visit-info{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:20px;margin:36px 0}
.checkup-visit-info>div{min-width:0;padding:28px 30px;border:1px solid #b69ace70;border-radius:var(--radius);background:linear-gradient(125deg,#3c2d50eb,#282230ed)}
.checkup-visit-info h3{font-size:24px;line-height:1.2;letter-spacing:-.025em;color:#f4edf9}
.checkup-visit-info .checkup-visit-time{display:flex;align-items:center;gap:.12em;margin:16px 0 12px;font-size:clamp(36px,3.8vw,52px);font-weight:600;line-height:1.1;letter-spacing:-.04em;color:#e3ccff;white-space:nowrap}
.checkup-visit-info .checkup-visit-booking{margin:0;font-size:16px;line-height:1.5;color:#f4edf9}
.checkup-visit-preparation p{margin-top:16px;font-size:16px;line-height:1.7;color:#e7deee}
.checkup-visit .checkup-visit-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;margin:0;padding:0;transform:none}
.checkup-visit-guides .offer-card{width:100%;opacity:1;filter:none}
.checkup-visit-guides .offer-card:hover::before,.checkup-visit-guides .offer-card:focus-visible::before{opacity:1}
@media(max-width:900px){.checkup-visit-info{grid-template-columns:1fr;gap:14px;margin:24px 0}.checkup-visit-info>div{padding:24px}.checkup-visit-info .checkup-visit-time{font-size:clamp(36px,8vw,48px)}}
@media(max-width:640px){.checkup-visit .checkup-visit-guides{grid-template-columns:1fr;gap:14px}.checkup-visit-guides .offer-card{height:148px}}
body[data-page="program"] .page-hero>div{min-width:0}
body[data-page="program"] .page-hero h1{overflow-wrap:anywhere}
@media(max-width:480px){body[data-page="program"] .page-hero h1{font-size:clamp(32px,8.5vw,40px)}}
@media(max-width:640px){
 .offer-banners .offer-copy:has(.offer-kind) h2{font-size:20px}
 .offer-banners .offer-copy:has(.offer-kind) p{font-size:10px;margin-top:4px}
 .offer-banners .offer-kind{font-size:8px;margin-bottom:4px}
 .material-body{padding:12px 0 45px}
 .material-section{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:28px 0}
 .material-section h2,.material-next h2{font-size:28px}
 .material-section p,.material-next p{font-size:15px;line-height:1.75;margin-top:16px}
 .material-next{margin-left:0;margin-top:20px}
 .material-next .actions{align-items:flex-start;gap:20px}
 .iv-card-actions{gap:14px}
}
