/* V4 · same approved typefaces, body text sizes and weights as V3.
   Display headlines fit complete phrases within their existing columns.
   Correct break opportunities rather than enlarging text or changing copy. */
html body :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,label,figcaption,
 .pdc-price-name,.pdv-spec,.modal-spec,.service-side-title,.service-visual-card,
 .pd-location-sub,.pdnt-side,.pdn-audience,.pdn-value-item,.pdn-step){
  word-break:normal!important;overflow-wrap:normal!important;
  -webkit-hyphens:none!important;hyphens:none!important;
}
html body :is(h1,h2,h3,h4,h5,h6,blockquote,.pdc-price-category,.service-side-title){text-wrap:balance}
html body :is(p,li,figcaption,.pdv-spec,.modal-spec,.pdc-price-name,.pd-booking-consent,.pdn-consent){text-wrap:pretty}
/* The reveal works on word GROUPS; it must not split a short preposition from
   the word after it, or create another break inside a word. */
.pd-motion-word{white-space:nowrap;word-break:normal!important;overflow-wrap:normal!important}
html body :is(.pdv-info,.pdv-page-link,.service,.pdn-hero__main,.pdn-hero__aside,.pdn-audience,.pdn-value-item,.pd-profile-info,.pd-location-title){min-width:0}
#services .service :is(h3,p),#prices .pdc-price-name{overflow-wrap:normal!important;word-break:normal!important}
html body :is(.pdc-price-code,.pdc-price-value){white-space:nowrap}
html body a[href^="tel:"]{white-space:nowrap;overflow-wrap:normal!important}
/* Legal URLs may wrap. Patient-facing email addresses use a sufficient-width
   contact row and are never torn into separate characters. */
html body .pd-doc-text a{overflow-wrap:anywhere!important;word-break:normal}
html body a[href^="mailto:"]{overflow-wrap:normal!important;word-break:normal}
.pd-doc-text td,.pd-doc-text th{overflow-wrap:normal!important;word-break:normal;hyphens:none}
#partners .pdn-step-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#partners .pdn-hero__actions{max-width:100%}
#partners .pdn-btn{max-width:100%}
@media(max-width:760px){#partners .pdn-step-grid{grid-template-columns:1fr}}
/* External content is not a blank section. An explicit saved choice enables
   automatic loading of both Yandex panels, without per-panel clicks. */
.pd-widget-loader{position:relative;isolation:isolate;display:flex;min-height:440px;padding:32px}
.pd-widget-preview{max-width:480px;text-align:center;position:relative;z-index:1;display:grid;gap:20px;justify-items:center}
.pd-widget-preview h3{font:300 34px/1.12 'Cormorant Garamond',Georgia,serif;color:#05221B;margin:0}
.pd-widget-preview p{margin:0;max-width:30em;font-size:15px;line-height:1.75;font-weight:300}
.pd-widget-preview .pd-widget-privacy{font-size:13px;color:#607363;max-width:28em}
.pd-widget-loader .pd-widget-frame{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important;border:0;opacity:0;visibility:hidden;z-index:2;transition:opacity .45s ease}
.pd-widget-loader.is-loaded{padding:0}
.pd-widget-loader.is-loaded .pd-widget-frame{opacity:1;visibility:visible}
.pd-widget-loader.is-loaded .pd-widget-preview{visibility:hidden}
.pd-widget-loader.is-loading .pd-widget-preview{opacity:.75}
.pd-widget-link{font:400 12px/1.6 Manrope,Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;color:#536b5b}
.pd-cookie .pd-cookie-media-note{font-size:13px;font-weight:300;line-height:1.65;margin-top:12px;color:#455e4e}
.pd-yandex-option>span{display:block}
.pd-yandex-option small{display:block;font-size:13px;font-weight:300;line-height:1.6;color:#566d5d;margin-top:5px}
@media(max-width:720px){.pd-widget-loader{padding:24px 20px;min-height:410px}.pd-widget-preview h3{font-size:30px}.pd-widget-preview{gap:17px}}
@media(prefers-reduced-motion:reduce){.pd-widget-loader .pd-widget-frame{transition:none}}
/* Keep service names and hyphenated terms as whole words. */
.pd-keep-word{white-space:nowrap}
/* A complete place name is one unit, at a size that fits the existing column. */
@media(min-width:1051px){#top .pdh2-title{font-size:clamp(48px,4.45vw,68px)}}
/* Surname / given name + patronymic: consistent reading order, no extra copy. */
.pdv-name>.pd-doctor-surname,.pd-profile-info h1>.pd-doctor-surname{display:block}
.pdv-name>.pd-doctor-given{display:block;font-size:.82em;line-height:1.32;margin-top:5px;text-wrap:balance}
.pd-profile-info h1>.pd-doctor-given{display:block;font-size:.72em;line-height:1.25;margin-top:8px;text-wrap:balance}
@media(max-width:720px){.pd-profile-info h1>.pd-doctor-given{font-size:clamp(22px,6.4vw,30px)}}
/* Grid min-content sizing must not push a long service title off a narrow phone. */
.pd-service-page>article,.pd-service-page>aside,.service-section-card,.service-category-card{min-width:0;max-width:100%}
@media(max-width:980px){.pd-service-page{grid-template-columns:minmax(0,1fr)}}
@media(max-width:380px){.pd-service-page>article h1{font-size:39px}}
