/* A little more breathing room in the service catalogue and service templates. */
.services-layout{
 --service-section-gap:104px;
  --service-grid-gap:26px;
 --service-card-padding:34px;
 --service-heading-gap:34px;
 --service-split-gap:80px;
 --service-booking-gap:104px;
}
.service-detail,.problem-detail{
 --service-section-gap:144px;
 --service-booking-gap:144px;
}
.services-layout .page-section{padding-top:var(--service-section-gap)}
.services-layout .page-heading{margin-bottom:var(--service-heading-gap)}
.services-layout .page-grid{gap:var(--service-grid-gap)}
.services-layout .page-card{padding:var(--service-card-padding)}
.services-layout .page-card h2,.services-layout .page-card h3{margin-bottom:22px}
.services-layout .page-card p{margin-bottom:30px}
.services-layout .page-split{gap:var(--service-split-gap)}
.services-layout .page-hero{margin-bottom:36px}
/* Keep words whole; size long service names to their text column. */
.service-detail .page-hero-copy,.service-detail .service-seo-heading{container-type:inline-size}
.service-detail .page-hero .page-title{font-size:min(clamp(36px,4vw,60px),9cqi)}
.service-detail .service-hero-accent{margin:14px 0 0;font-family:var(--font-accent);font-size:clamp(18px,6cqi,34px);font-style:italic;font-weight:400;line-height:1.18;letter-spacing:-.025em;color:var(--accent);hyphens:none;overflow-wrap:normal;word-break:normal}
.service-detail .page-hero .page-lead{margin:22px 0 0;font-size:16px;line-height:1.65;max-width:34em}
.service-detail .service-seo-heading .page-heading{font-size:min(clamp(30px,3.4vw,50px),9cqi)}
/* Smaller portrait cards keep the specialist's name and booking action nearby. */
:is(.service-detail,.problem-detail) .page-doctors{grid-template-columns:repeat(4,minmax(0,240px));gap:28px 24px;align-items:start}
:is(.service-detail,.problem-detail) .page-doctor img{height:auto;aspect-ratio:4/5;max-height:300px;border-radius:20px}
:is(.service-detail,.problem-detail) .page-doctor h3{font-size:20px;line-height:1.2;margin:15px 0 8px}
:is(.service-detail,.problem-detail) .page-doctor p{font-size:12px;line-height:1.55;margin-bottom:10px}
:is(.service-detail,.problem-detail) .page-doctor .page-link{font-size:12px;min-height:42px}
/* Preparation reads as a short open memo instead of two large filled cards. */
.service-detail .service-preparation{align-items:start}
.service-preparation__intro .page-heading{margin-bottom:22px}
.service-preparation__intro>p{max-width:34ch;margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.service-preparation__contact{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:20px;color:var(--accent);font-size:14px;text-decoration:none}
.service-preparation__contact>svg{width:17px;height:17px;flex-shrink:0}
.service-preparation__contact:hover{color:var(--ink)}
.service-preparation__list{display:grid;gap:32px;list-style:none;padding:5px 0 0;margin:0}
.service-preparation__list>li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;align-items:start}
.service-preparation__icon{display:block;padding-top:1px;color:var(--accent);line-height:0}
.service-preparation__list h3{margin:0 0 9px;font-size:22px;font-weight:400;line-height:1.25;letter-spacing:-.02em}
.service-preparation__list p{max-width:56ch;margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.service-preparation__list .service-preparation__note{margin-top:8px;font-size:12px;line-height:1.55}
.services-layout .page-price-panel{padding:42px}
.services-layout .page-booking{margin-top:var(--service-booking-gap)}
.services-layout .page-booking .page-heading{margin-bottom:0}
.bbl-page .bbl-section{padding-top:116px}
.bbl-page .bbl-care-grid{gap:26px}
.bbl-page .bbl-jumps{border-bottom:0}
.bbl-page .bbl-jumps a:hover,.bbl-page .bbl-jumps a:focus-visible,.bbl-page .bbl-jumps a[aria-current=location]{color:var(--accent);font-weight:600;text-decoration:none}
@media(max-width:1100px){
 .services-layout{
  --service-section-gap:84px;
    --service-grid-gap:22px;
  --service-card-padding:30px;
  --service-heading-gap:30px;
  --service-split-gap:44px;
  --service-booking-gap:88px;
 }
 .service-detail,.problem-detail{
  --service-section-gap:112px;
  --service-booking-gap:112px;
 }
 :is(.service-detail,.problem-detail) .page-doctors{grid-template-columns:repeat(3,minmax(0,240px))}
 .service-preparation__list{gap:28px}
 .service-preparation__list h3{font-size:21px}
 .services-layout .page-price-panel{padding:36px}
 .bbl-page .bbl-section{padding-top:92px}
 .bbl-page .bbl-care-grid{gap:22px}
}
@media(max-width:720px){
 .services-layout{
  --service-section-gap:64px;
    --service-grid-gap:18px;
  --service-card-padding:28px;
  --service-heading-gap:24px;
  --service-split-gap:28px;
  --service-booking-gap:64px;
 }
 .service-detail,.problem-detail{
  --service-section-gap:80px;
  --service-booking-gap:80px;
 }
 .services-layout .page-card h2,.services-layout .page-card h3{margin-bottom:20px}
 .services-layout .page-card p{margin-bottom:28px}
 .services-layout .page-hero{margin-bottom:28px}
 .service-detail .page-hero .page-title{font-size:min(36px,9cqi)}
 .service-detail .service-hero-accent{margin-top:12px;font-size:clamp(18px,6cqi,24px)}
 .service-detail .page-hero .page-lead{margin-top:18px;font-size:15px}
 :is(.service-detail,.problem-detail) .page-doctors{grid-template-columns:repeat(2,minmax(0,220px));gap:26px 14px}
 :is(.service-detail,.problem-detail) .page-doctor img{border-radius:18px}
 :is(.service-detail,.problem-detail) .page-doctor h3{font-size:18px;margin-top:13px}
 .service-preparation__intro .page-heading{margin-bottom:18px}
 .service-preparation__intro>p{max-width:40ch;font-size:14px}
 .service-preparation__contact{margin-top:14px;font-size:13px}
 .service-preparation__list{padding-top:0;gap:25px}
 .service-preparation__list>li{grid-template-columns:24px minmax(0,1fr);gap:14px}
 .service-preparation__icon>svg{width:23px;height:23px}
 .service-preparation__list h3{font-size:20px;margin-bottom:7px}
 .service-preparation__list p{font-size:14px}
 .services-layout .page-price-panel{padding:28px 24px}
 .bbl-page .bbl-section{padding-top:72px}
 .bbl-page .bbl-care-grid{gap:18px}
}
@media(max-width:380px){:is(.service-detail,.problem-detail) .page-doctors{grid-template-columns:minmax(0,220px)}}
