/* PRODENT CONCEPT · readability and motion, v3.
   The original visual system and source class names are retained.
   No third-party animation framework, no remote images, no scroll hijacking. */
:root{--pd-body:18px;--pd-detail:16px;--pd-label:12px;--pd-motion-ease:cubic-bezier(.19,1,.22,1)}
html{scroll-padding-top:118px}
body{font-size:var(--pd-body);font-weight:400;line-height:1.75;-webkit-text-size-adjust:100%}
body p,body li{font-size:var(--pd-body);line-height:1.75}
button,input,select,textarea{font-size:16px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #8b9f92;outline-offset:5px}
[hidden]{display:none!important}
/* Readable interface, without turning text into heavy bold headings. */
html body .eyebrow,#top .pdh2-kicker,#doctors .pdv-eyebrow,#prices .pdc-price-kicker,
#pdnTeaser .pdnt-kicker,#partners .pdn-kicker{font-size:12px!important;line-height:1.6;letter-spacing:.14em}
html body .eyebrow{color:#66766c}
html body :is(.btn,.pdh2-btn),#pdnTeaser .pdnt-btn,#partners .pdn-btn{min-height:52px;font-size:13px!important;line-height:1.45;letter-spacing:.07em;white-space:normal;padding:14px 22px;font-weight:400}
.header .nav{font-size:12px;gap:15px;letter-spacing:.04em}
.header .phone{font-size:14px}.header .logo{min-width:232px}
.header .btn{min-height:44px;font-size:12px!important;padding:10px 15px}
.header-inner{gap:15px}.header .logo-sub{font-size:9px;letter-spacing:.10em}
.mobile-panel{max-height:calc(100dvh - 110px);overflow:auto}
.mobile-panel a{font-size:15px;padding:16px 8px;letter-spacing:.07em}
.mobile-bottom a{font-size:12px;letter-spacing:.03em}
.pd-return{font-size:13px;letter-spacing:.05em}
/* Main screen: preserve the composition; give the longer text enough room. */
#top.pd-hero-v2{padding-top:138px!important}
#top .pdh2-grid{gap:58px;align-items:center}
#top .pdh2-title{line-height:.96;letter-spacing:-.04em}
#top .pdh2-lead{font-size:18px;line-height:1.78;color:#585e54;margin-top:28px;max-width:34em}
#top .pdh2-actions{gap:12px;margin-top:30px}
#top .pdh2-btn{padding:14px 20px}
#top .pdh2-trust{gap:18px;margin-top:36px}
#top .pdh2-trust-item strong{font-size:25px;line-height:1.15}
#top .pdh2-trust-item span{font-size:14px;line-height:1.6;color:#5f6e62;text-transform:none;letter-spacing:0}
#top .pdh2-visual{min-height:680px}
#top .pdh2-label{width:244px;padding:20px 22px}
#top .pdh2-label small{font-size:12px;color:#c4cfc6;line-height:1.5;letter-spacing:.10em}
#top .pdh2-label strong{font-size:26px;line-height:1.12}
#top .pdh2-bottom-main{font-size:15px;line-height:1.7}
#top .pdh2-bottom-main span{color:#607266}
#top .pdh2-bottom-cell{min-height:106px}
#top .pdh2-bottom-mini small{font-size:12px;line-height:1.5;color:#5e7466}
#top .pdh2-bottom-mini strong{font-size:25px;line-height:1.15}
/* Director and cards. */
#about .pd-director-text p{font-size:18px!important;line-height:1.85!important;color:#d6dfd5!important}
#about .pd-director-copy .eyebrow{color:#b3c4b6!important}
#about .pd-director-sign strong{font-size:32px;line-height:1.15}
#about .pd-director-sign span{font-size:12px;line-height:1.7;color:#b3c4b6;letter-spacing:.08em}
#about .pd-director-grid{gap:70px}
#services .services{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#services .service{min-height:254px;padding:28px}
#services .service h3{font-size:32px;line-height:1.1;overflow-wrap:break-word}
#services .service p{font-size:16px;line-height:1.75;color:#d6dfd5}
#services .service-link{font-size:12px;line-height:1.5;letter-spacing:.08em}
#doctors .pdv-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:18px 28px}
.pd-all-doctors-link{font-size:15px;color:#05221B;line-height:1.5;padding:12px 0;border-bottom:1px solid rgba(5,34,27,.32)}
#doctors .pdv-head .pdv-eyebrow{flex-basis:100%;margin:0}
#doctors .pdv-title{max-width:850px}
#doctors .pdv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}
#doctors .pdv-card{position:relative;isolation:isolate;min-width:0;transition:transform .8s var(--pd-motion-ease),box-shadow .8s var(--pd-motion-ease)}
#doctors .pdv-page-link{display:flex;flex:1;flex-direction:column;min-width:0;color:inherit;text-decoration:none!important}
#doctors .pdv-page-link:focus-visible{outline-offset:-4px;outline:2px solid #e1e9da}
#doctors .pdv-photo{height:340px;overflow:hidden}
#doctors .pdv-photo img{transition:transform 1.3s var(--pd-motion-ease);will-change:auto}
#doctors .pdv-info{padding:25px 25px 23px;position:relative;overflow:hidden}
#doctors .pdv-name{font-size:29px;line-height:1.08;margin-bottom:12px}
#doctors .pdv-spec{font-size:13px;line-height:1.65;letter-spacing:.06em;color:#c4d2c3}
#doctors .pdv-status{font-size:13px;line-height:1.6;letter-spacing:0;color:#d6dfd5;padding:8px 10px}
#doctors .pdv-text{font-size:16px;line-height:1.75;color:#d6dfd5;margin-bottom:23px}
#doctors .pdv-more{font-size:13px;min-height:48px;line-height:1.5;letter-spacing:.06em;padding-top:16px;color:#e0e7da;gap:15px}
#doctors .pdv-more i{font-size:22px;transition:transform .55s var(--pd-motion-ease)}

#doctors .pdv-filter,#pdvFilters .pdv-filter{min-height:44px;font-size:13px!important;line-height:1.5;padding:10px 14px;letter-spacing:.02em;color:#4f6659}
#doctors .pdv-filter.is-active,#doctors .pdv-filter:hover{color:#F8F2E8}
/* Price and contact information. */
#prices .pdc-price-note p{font-size:16px!important;line-height:1.75!important}
#prices .pdc-price-name{font-size:16px;line-height:1.75;color:#263f32}
#prices .pdc-price-code{font-size:12px;line-height:1.6;letter-spacing:.04em;color:#556e5e}
#prices .pdc-price-value{font-size:20px;line-height:1.4}
#prices .pdc-price-row{padding-top:20px;padding-bottom:20px}
#prices :is(.pdc-price-count,.pdc-price-unit,.pdc-price-empty){font-size:14px}
#pdnTeaser .pdnt-side p{font-size:18px;line-height:1.8;color:#d3ded2}
#pdnTeaser .pdnt-note{font-size:12px!important;line-height:1.7!important;color:#b6c6b8!important}
.pd-marquee-item{font-size:14px;letter-spacing:.22em}.pd-marquee:hover .pd-marquee-track,.pd-marquee:focus-within .pd-marquee-track{animation-play-state:paused}
#reviews .google .muted{font-size:16px!important;line-height:1.75!important}
#reviews .google h3{font-size:40px!important}
.pd-widget-loader p{font-size:16px;line-height:1.75}
#contacts .pd-location-title .pd-location-sub{font-size:16px;line-height:1.7;letter-spacing:0;color:#5f7062}
#contacts .pd-location-meta__item small{font-size:12px;line-height:1.6;letter-spacing:.09em;color:#526d5b}
#contacts .pd-location-meta__item strong,#contacts .pd-location-meta__item a{font-size:25px;line-height:1.2;overflow-wrap:anywhere}
#contacts .pd-location-head{gap:60px}
.pd-contact-float__head small{font-size:12px;line-height:1.5}.pd-contact-float__head strong{font-size:28px}
.pd-contact-float__name{font-size:14px;letter-spacing:.06em}.pd-contact-float__no{font-size:12px}
.pd-contact-float__link{min-height:60px}.pd-contact-float__panel{width:330px}
.pd-booking-float__copy small{font-size:11px;line-height:1.2;letter-spacing:.06em;color:#b6c6b8}
.pd-booking-float__copy strong{font-size:22px;line-height:1.1}.pd-contact-float__label{font-size:22px}
/* All profile pages are real HTML, not dialogs. */
.pd-detail-page{padding:145px 0 90px}
.pd-breadcrumb{font-size:14px;line-height:1.65;letter-spacing:.03em;display:inline-block;margin-bottom:34px}
.pd-profile-layout{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:70px;align-items:start}
.pd-profile-layout>aside{top:124px}
.pd-profile-info h1{font-size:clamp(46px,4.6vw,68px);line-height:1.02;letter-spacing:-.03em;color:#05221B;max-width:100%;margin:0 0 22px}
.pd-profile-info .modal-spec{font-size:15px;line-height:1.65;letter-spacing:.05em;color:#4d6757;margin-bottom:24px}
.pd-profile-info .doctor-deep-intro{font-size:18px!important;line-height:1.8!important;color:#3f5547!important;margin:0 0 24px!important}
.pd-profile-info .btnrow{margin-top:22px;margin-bottom:36px;gap:12px}
.pd-profile-info .doctor-detail-grid{gap:18px;margin:32px 0}
.pd-profile-info .doctor-detail-card{padding:26px 28px;background:rgba(5,34,27,.038);border:1px solid rgba(5,34,27,.10)}
.pd-profile-info .doctor-detail-card h2,.pd-profile-info .doctor-cert-title,.pd-profile-directions h2{font:300 32px/1.15 'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em;text-transform:none;color:#05221B;margin:0 0 16px}
.pd-profile-info .doctor-detail-card p{font-size:17px;line-height:1.8;color:#344b3d}
.pd-profile-info .doctor-status{font-size:14px;line-height:1.6;letter-spacing:.02em;margin-bottom:20px}
.pd-profile-directions{padding-top:24px;border-top:1px solid rgba(5,34,27,.14);margin-top:34px}
.pd-direction-links{display:flex;flex-wrap:wrap;gap:12px}
.pd-direction-links a{font-size:16px;padding:10px 0;border-bottom:1px solid rgba(5,34,27,.35);margin-right:20px}
.pd-profile-navigation{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid rgba(5,34,27,.16);margin-top:70px;padding-top:30px}
.pd-profile-navigation a{display:block;color:#05221B}.pd-profile-navigation a:last-child{text-align:right}
.pd-profile-navigation span{display:block;font-size:12px;line-height:1.7;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;color:#5b7262}
.pd-profile-navigation strong{font:300 28px/1.15 'Cormorant Garamond',Georgia,serif}
.pd-doctors-index{padding:140px 0 90px}.pd-directory-head h1{font-size:clamp(48px,5.5vw,76px);line-height:1.05;color:#05221B}
.pd-doctors-index #doctors{padding-top:45px!important;padding-bottom:20px!important;border-top:0!important}
/* Service pages and dialogs use the same readable scale. */
.pd-service-page .service-lead,.service-lead{font-size:18px!important;line-height:1.8!important}
.service-section-card p,.service-section-card li,.service-category-card p,.doctor-detail-card p{font-size:16px;line-height:1.75}
.service-section-card h2{font:300 32px/1.13 'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em;margin-bottom:16px}
.service-section-card h4{font-size:31px;line-height:1.15}
.service-category-card h4{font-size:15px;line-height:1.5;letter-spacing:.025em}
.service-chip{font-size:12px;line-height:1.45;padding:10px 13px;letter-spacing:.05em}
.service-note{font-size:15px;line-height:1.8;padding:22px}
.pd-service-page .modal-spec{font-size:14px;line-height:1.7;letter-spacing:.06em}
.service-visual-card small{font-size:12px;line-height:1.7;letter-spacing:.08em}
.service-visual-card div{font-size:17px;line-height:1.75}
#serviceModal .modal-content,#doctorModal .modal-content{font-size:16px}
#serviceModal .service-visual-card{padding:26px}
/* Partner page: remove the old 7–11px interface type. */
#partners .pdn-hero__lead{font-size:18px;line-height:1.8}
#partners .pdn-hero__aside p,#partners .pdn-code__copy>p,#partners .pdn-manifesto__text,
#partners .pdn-audiences__head>p,#partners .pdn-value__intro>p,#partners .pdn-apply__copy>p{font-size:17px;line-height:1.8}
#partners .pdn-audience p,#partners .pdn-value-item p,#partners .pdn-step p,#partners .pdn-benefits li{font-size:16px;line-height:1.75}
#partners .pdn-audience h4,#partners .pdn-value-item h4,#partners .pdn-step h4{font-size:30px;line-height:1.16}
#partners .pdn-audience__num,#partners .pdn-value-item__num{font-size:22px}
#partners .pdn-step__num,#partners .pdn-codebox__label,#partners .pdn-card__eyebrow,#partners .pdn-field__label{font-size:12px;line-height:1.7;letter-spacing:.09em}
#partners .pdn-codehint,#partners .pdn-codeerror,#partners .pdn-form-status,#partners .pdn-footnote{font-size:14px;line-height:1.75}
#partners .pdn-field__input{font-size:16px!important;line-height:1.5!important;min-height:55px}
#partners .pdn-consent{font-size:16px;line-height:1.75;color:#ccd8cd}
#partners .pdn-hero h1{line-height:.96}
#partners .pdn-back{font-size:12px;letter-spacing:.08em}
/* Form display-only mode is retained; no patient data is accepted. */
.pd-booking-kicker{font-size:12px;letter-spacing:.09em}
.pd-booking-intro,.pd-booking-state,.pd-offline-note{font-size:16px;line-height:1.75}
.pd-booking-search,.pd-booking-field input{font-size:16px}
.pd-booking-field label,.pd-booking-progress__item span:last-child,.pd-booking-back,.pd-slot-title{font-size:12px;line-height:1.6;letter-spacing:.05em}
.pd-doctor-choice strong{font-size:27px;line-height:1.15}.pd-doctor-choice small{font-size:13px;line-height:1.65;letter-spacing:.03em}
.pd-date-btn small{font-size:12px}.pd-booking-summary__row small{font-size:12px;letter-spacing:.04em}
.pd-booking-consent{font-size:16px;line-height:1.75}
/* Documents: no changes to legal wording, only legibility. */
.pd-doc-text{font-size:17px;line-height:1.8}.pd-doc-text p,.pd-doc-text li{font-size:17px;line-height:1.8}
.pd-doc-text table{font-size:15px;line-height:1.75}
.pd-doc-meta,.pd-approval{font-size:14px;line-height:1.75}.pd-approval strong{font-size:13px}
.pd-document-meta,#documents .pd-document-meta,.pd-doc-page .pd-document-meta{font-size:14px!important;line-height:1.75!important;color:#c1cec1}
.pd-doc-page .pd-document-meta{color:#566c5d}
.pd-document-actions{font-size:14px;line-height:1.7;gap:16px 26px}
.pd-document-actions a{padding:5px 0}
.pd-document-name{line-height:1.18}
#documents .pd-tail-brand span,#documents .pd-tail-copy{font-size:12px;line-height:1.7;color:#c1cec1;letter-spacing:.04em}
#documents .pd-medical-notice p{font-size:14px!important;line-height:1.8!important;color:#b3c6b7!important}
#documents .pd-medical-warning{font-size:14px;line-height:1.7;letter-spacing:.05em}
.pd-small-footer{font-size:14px;line-height:1.8}.pd-small-footer nav{gap:18px 28px;flex-wrap:wrap}
.pd-small-footer nav a,.pd-small-footer nav button{font-size:14px;line-height:1.7;color:#d2ddd0}
.pd-small-footer p{font-size:14px;line-height:1.8;color:#c1cec1}
.pd-cookie p{font-size:15px;line-height:1.7}.pd-cookie-actions button{font-size:13px;line-height:1.45;min-height:46px}
.pd-cookie-dialog p,.pd-cookie-dialog label{font-size:16px;line-height:1.75}
.pd-cookie-dialog button{font-size:14px}


/* MOTION: every enhancement is optional. Text remains readable without scripts. */
.pd-reading-progress{position:fixed;z-index:25000;left:0;top:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#829a83,#c5ceae);pointer-events:none}
.pd-intro-seen .intro{display:none!important}
.intro{animation:pdIntroExit .95s var(--pd-motion-ease) 2.1s forwards!important;overflow:hidden;isolation:isolate}
.intro:before{content:'';position:absolute;inset:-35%;z-index:-1;background:linear-gradient(110deg,transparent 35%,rgba(248,242,232,.11) 48%,transparent 62%);transform:translateX(-65%);animation:pdIntroBeam 3s var(--pd-motion-ease) both;pointer-events:none}
.intro .pd-intro-logo{animation:pdBrandAppear 1.4s var(--pd-motion-ease) .15s both!important}
.intro .intro-line{height:1px;animation:pdIntroLine 1.5s var(--pd-motion-ease) .6s both!important}
@keyframes pdBrandAppear{from{opacity:0;transform:translateY(24px) scale(.965);filter:blur(14px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes pdIntroBeam{to{transform:translateX(65%)}}
@keyframes pdIntroLine{from{width:0;opacity:0}to{width:min(320px,70vw);opacity:.75}}
@keyframes pdIntroExit{to{opacity:0;visibility:hidden;transform:scale(1.045);filter:blur(8px)}}
.header,.pd-subheader{transition:top .7s var(--pd-motion-ease),box-shadow .7s var(--pd-motion-ease)}
.pd-has-scrolled .header,.pd-has-scrolled .pd-subheader{top:10px;box-shadow:0 14px 48px rgba(3,26,21,.20)}
.reveal{transition-duration:1.2s;transition-timing-function:var(--pd-motion-ease)}
.pd-motion-word{display:inline-block;transform-origin:50% 100%}
.pd-ambient-light{position:absolute;inset:-25%;z-index:0;background:linear-gradient(112deg,transparent 34%,rgba(248,242,232,.055) 48%,transparent 64%);pointer-events:none;transform:translateX(-40%);animation:pdAmbientDrift 15s ease-in-out infinite alternate}
@keyframes pdAmbientDrift{to{transform:translateX(40%)}}
#about .pd-director-grid,#pdnTeaser .pdnt-wrap,#partners .pdn-manifesto__grid{position:relative;z-index:1}
#top .pdh2-photo{transform:translate3d(0,var(--pd-visual-y,0px),0);transition:box-shadow .8s var(--pd-motion-ease);will-change:auto}
#top .pdh2-label{transition:transform .9s var(--pd-motion-ease)}
.pd-profile-photo{transition:filter 1s,box-shadow 1s}
@media(hover:hover) and (pointer:fine){
 #doctors .pdv-card:hover{transform:translateY(-8px);box-shadow:0 30px 65px rgba(5,34,27,.19)}
 #doctors .pdv-card:hover .pdv-photo img{transform:scale(1.045)}
 #doctors .pdv-card:hover .pdv-more i{transform:translateX(5px)}
 
 #services .service:hover{transform:translateY(-7px)}
 #top .pdh2-visual:hover .pdh2-photo{box-shadow:0 34px 90px rgba(5,34,27,.20)}
 #top .pdh2-visual:hover .pdh2-label{transform:translate(-4px,-5px)}
 .pd-direction-links a:hover{text-decoration:underline;text-underline-offset:6px}
}
.doctor-modal.open .doctor-card-modal,.pd-booking-modal.is-open .pd-booking-dialog{animation:pdDialogEntrance .65s var(--pd-motion-ease) both}
@keyframes pdDialogEntrance{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:pdPageOut .2s ease both}
::view-transition-new(root){animation:pdPageIn .45s var(--pd-motion-ease) both}
@keyframes pdPageOut{to{opacity:0}}
@keyframes pdPageIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* Responsive type and layout. */
@media(max-width:1279px){
 .header .nav{display:none}.header .burger{display:flex}.mobile-panel{display:block}
 #top .pdh2-grid{gap:40px}#top .pdh2-visual{min-height:640px}
 #about .pd-director-grid{gap:48px}
 #doctors .pdv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pd-profile-layout{gap:46px}
}
@media(max-width:1050px){#top .pdh2-visual{min-height:560px}#top .pdh2-title{max-width:800px}#top .pdh2-bottom-cell{min-height:94px}}
@media(max-width:900px){
 #services .services{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pd-profile-layout,.pd-service-page{grid-template-columns:1fr;gap:38px}
 .pd-profile-layout>aside{position:relative;top:auto;max-width:660px}
 .pd-profile-photo{max-height:none}.pd-service-page>aside p{font-size:30px}
 #contacts .pd-location-head{gap:40px}.pd-profile-navigation{margin-top:45px}
 #partners .pdn-step-grid{gap:18px}
}
@media(max-width:720px){
 :root{--pd-body:16px;--pd-detail:16px;--pd-label:12px}
 html{scroll-padding-top:104px}
 html body p,html body li{font-size:16px;line-height:1.75}
 .header .logo-sub{display:none}.header .logo{min-width:0}.header-inner{gap:8px}
 .header .phone,.header .actions .btn{display:none}
 .header .pd-wordmark{width:162px;height:25px}
 .mobile-bottom a{font-size:12px;min-height:46px;letter-spacing:.025em}
 #top.pd-hero-v2{padding-top:112px!important}
 #top .pdh2-title{font-size:clamp(40px,10.7vw,58px);line-height:.99;letter-spacing:-.035em}
 #top .pdh2-kicker{max-width:30em;margin-bottom:24px}
 #top .pdh2-copy{padding-top:12px;padding-bottom:0}
 #top .pdh2-lead{font-size:16px;line-height:1.8;margin-top:24px}
 #top .pdh2-trust{grid-template-columns:1fr;margin-top:30px;gap:18px}
 #top .pdh2-trust-item strong{font-size:25px}#top .pdh2-trust-item span{font-size:14px}
 #top .pdh2-visual{min-height:440px;margin-top:2px}
 #top .pdh2-label{width:235px;left:14px;bottom:18px;padding:18px}
 #top .pdh2-label strong{font-size:25px}#top .pdh2-label small{font-size:11px}
 #top .pdh2-bottom-cell{min-height:82px}#top .pdh2-bottom-main{font-size:14px}
 #top .pdh2-bottom-mini strong{font-size:26px}
 #about .pd-director-text p{font-size:16px!important;line-height:1.85!important}
 #about .pd-director-copy h2{font-size:clamp(36px,10.5vw,48px);line-height:1.04}
 #about .pd-director-sign span{font-size:12px}
 #services .services,#doctors .pdv-grid{grid-template-columns:1fr}
 #services .service{min-height:238px;padding:26px}
 #services .service h3{font-size:33px}#services .service p{font-size:16px}
 #doctors .pdv-head{gap:14px}#doctors .pdv-title{font-size:43px;line-height:1.04}
 #doctors .pdv-photo{height:380px}#doctors .pdv-info{padding:25px 24px}
 #doctors .pdv-name{font-size:31px;line-height:1.1}
 #doctors .pdv-spec{font-size:13px}#doctors .pdv-text{font-size:16px;line-height:1.75}
 #doctors .pdv-more{font-size:13px;min-height:48px}
 #doctors .pdv-filters{gap:8px}#pdvFilters .pdv-filter{font-size:13px!important;padding:9px 12px}
 #prices .pdc-price-name{font-size:16px;line-height:1.7}#prices .pdc-price-code{font-size:12px}
 #prices .pdc-price-value{font-size:18px}#prices .pdc-price-note p{font-size:16px!important}
 #prices .pdc-price-row{gap:10px}
 #pdnTeaser .pdnt-side p{font-size:16px}#pdnTeaser h2{font-size:44px;line-height:1.05}
 #contacts .pd-location-title h2{font-size:44px;line-height:1.03}
 #contacts .pd-location-meta__item strong,#contacts .pd-location-meta__item a{font-size:26px}
 #contacts .pd-location-meta__item small{font-size:12px}
 .pd-detail-page,.pd-doc-page{padding:112px 0 65px}
 .pd-breadcrumb{font-size:13px;line-height:1.6;margin-bottom:28px}
 .pd-profile-info h1{font-size:clamp(38px,10.5vw,52px);line-height:1.04}
 .pd-profile-info .modal-spec{font-size:14px;line-height:1.65}
 .pd-profile-info .doctor-deep-intro{font-size:16px!important;line-height:1.8!important}
 .pd-profile-info .doctor-detail-card{padding:23px 21px}
 .pd-profile-info .doctor-detail-card p{font-size:16px;line-height:1.8}
 .pd-profile-info .doctor-detail-card h2,.pd-profile-directions h2{font-size:31px;line-height:1.15}
 .pd-profile-info .btnrow{display:flex;flex-wrap:wrap}.pd-profile-info .btnrow .btn{flex:1 1 auto}
 .pd-profile-navigation{grid-template-columns:1fr;gap:25px}
 .pd-profile-navigation a:last-child{text-align:left}.pd-profile-navigation strong{font-size:29px}
 .pd-doctors-index{padding-top:110px}.pd-directory-head h1{font-size:46px;line-height:1.04}
 .pd-doctors-index #doctors{padding-top:30px!important}
 .pd-service-page>article h1{font-size:44px;line-height:1.05}
 .pd-service-page .service-lead,.service-lead{font-size:16px!important;line-height:1.8!important}
 .service-section-card p,.service-section-card li,.service-category-card p{font-size:16px;line-height:1.8}
 .service-section-card h2,.service-section-card h4{font-size:30px;line-height:1.13}
 .service-category-card h4{font-size:15px;line-height:1.5}.service-chip{font-size:12px;letter-spacing:.02em}
 #serviceModal .service-visual-card div{font-size:16px;line-height:1.7}
 #serviceModal .service-visual-card small{font-size:12px;line-height:1.65}
 #serviceModal .modal-photo{height:auto!important;min-height:340px!important;display:flex;flex-direction:column;padding:32px 24px;gap:24px}
 #serviceModal .service-side-title{position:relative!important;left:auto!important;top:auto!important;font-size:35px!important;max-width:100%!important;padding-right:30px}
 #serviceModal .service-visual-card{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;padding:20px;margin-top:auto}
 #serviceModal .modal-content h3{font-size:39px;line-height:1.04}
 .pd-booking-intro,.pd-booking-state{font-size:16px;line-height:1.8}
 .pd-booking-progress__item span:last-child{font-size:12px;line-height:1.4;letter-spacing:0}
 .pd-booking-consent{font-size:16px}.pd-booking-field label{font-size:12px}
 .pd-doctor-choice strong{font-size:25px}.pd-doctor-choice small{font-size:13px}
 .pd-booking-step h4{font-size:38px;line-height:1.05}
 #partners .pdn-hero h1{font-size:clamp(44px,13.3vw,78px);line-height:1.02;letter-spacing:-.04em}
 #partners .pdn-hero h1 span{margin-left:0}
 #partners .pdn-hero__lead,#partners .pdn-hero__aside p,#partners .pdn-code__copy>p,#partners .pdn-manifesto__text,
 #partners .pdn-audiences__head>p,#partners .pdn-value__intro>p,#partners .pdn-apply__copy>p{font-size:16px;line-height:1.8}
 #partners .pdn-audience p,#partners .pdn-value-item p,#partners .pdn-step p{font-size:16px;line-height:1.75}
 #partners .pdn-audience h4,#partners .pdn-value-item h4,#partners .pdn-step h4{font-size:29px;line-height:1.13}
 #partners .pdn-section-title{font-size:43px;line-height:1.04}
 #partners .pdn-consent{font-size:16px}
 .pd-doc-text p,.pd-doc-text li{font-size:16px;line-height:1.85}
 .pd-doc-text table{font-size:15px}.pd-doc-text th,.pd-doc-text td{padding:14px}
 .pd-doc-meta,.pd-approval{font-size:14px}.pd-doc-actions .btn{font-size:12px;padding:14px 11px}
 .pd-document-meta,#documents .pd-document-meta,.pd-doc-page .pd-document-meta{font-size:14px!important;line-height:1.7!important}
 .pd-document-actions{font-size:14px;gap:12px 20px}.pd-document-name{line-height:1.18}
 #documents .pd-medical-notice p{font-size:14px!important;line-height:1.8!important}
 .pd-cookie{max-height:62dvh}.pd-cookie p{font-size:14px;line-height:1.65}
 .pd-cookie-actions button{font-size:12px;min-height:48px;padding:12px 9px;letter-spacing:.02em}
 .pd-small-footer p,.pd-small-footer nav a,.pd-small-footer nav button{font-size:14px}
}
@media(max-width:375px){
 #top .pdh2-title{font-size:39px}#doctors .pdv-photo{height:345px}
 .pd-profile-info h1{font-size:37px}.header .pd-wordmark{width:150px}
 .mobile-bottom a{font-size:11px}.pd-cookie-actions{grid-template-columns:1fr}
}
/* User pause and system reduced-motion preference both stop decorative motion. */
.pd-motion-paused *,.pd-motion-paused *:before,.pd-motion-paused *:after{animation-play-state:paused!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.pd-motion-paused .intro{display:none!important}.pd-motion-paused .pd-motion-word{opacity:1!important;transform:none!important;filter:none!important}
.pd-motion-paused .reveal,.pd-motion-paused .pdn-reveal,.pd-motion-paused .pdn-load,.pd-motion-paused .pdn-stagger>*{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
.pd-motion-paused #top .pdh2-slide{animation:none!important;opacity:0!important}.pd-motion-paused #top .pdh2-slide.s1{opacity:1!important;transform:none!important}
.pd-motion-paused #top .pdh2-photo{transform:none!important}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .intro{display:none!important}.pd-motion-word{opacity:1!important;transform:none!important;filter:none!important}
 .reveal,.pdn-reveal,.pdn-load,.pdn-stagger>*{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
 #top .pdh2-slide{opacity:0!important}#top .pdh2-slide.s1{opacity:1!important;transform:none!important}
 #top .pdh2-photo{transform:none!important}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
@media print{.pd-reading-progress{display:none!important}.pd-motion-word{opacity:1!important;transform:none!important}.reveal{opacity:1!important;transform:none!important;filter:none!important}}
.pd-page-idle *,.pd-page-idle *:before,.pd-page-idle *:after{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){
 
 
}
/* Word-reveal spans must not inherit block formatting from source heading spans. */
#top .pdh2-title .pd-motion-word,#partners .pdn-hero h1 .pd-motion-word{display:inline-block!important;margin:0!important;padding:0!important}
.pd-profile-info .doctor-detail-card h2{font:300 32px/1.15 'Cormorant Garamond',Georgia,serif!important;letter-spacing:-.02em!important;text-transform:none!important;margin:0 0 16px!important;color:#05221B}
@media(min-width:721px){
 .pd-booking-float{width:186px;min-height:70px;grid-template-columns:8px minmax(0,1fr) 18px}
 .pd-contact-float__toggle{width:186px;height:62px;grid-template-columns:7px minmax(0,1fr) 22px;gap:10px}
 .pd-contact-float{top:calc(50% + 90px)}
}
@media(max-width:720px){.pd-profile-info .doctor-detail-card h2{font-size:31px!important}}
#documents .pd-footer-requisites,#documents .pd-footer-policy a,#documents .pd-footer-policy button{font-size:14px!important;line-height:1.8!important;color:#cad7c9!important}
@media(max-width:720px){#top .pdh2-label small{font-size:12px}}

/* SIMPLE BOOKING · latest scope: form only, no doctor-picker/calendar/slots. */
.pd-booking-simple .pd-booking-dialog{display:block;width:min(800px,100%);max-height:calc(100dvh - 48px);min-height:0;border-radius:4px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6b8877 #edeadd}
.pd-booking-simple .pd-booking-aside{display:block;min-height:0;padding:30px 40px 32px;background:linear-gradient(128deg,#031A15,#05221B 75%,#0A2D24)}
.pd-booking-simple .pd-booking-aside .eyebrow{font-size:12px!important;line-height:1.5;margin:0 0 13px;color:#c4d1c3!important;letter-spacing:.12em}
.pd-booking-simple .pd-booking-aside h3{max-width:none;margin:0;font:300 46px/1.02 'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em;color:#F8F2E8}
.pd-booking-simple .pd-booking-aside:before,.pd-booking-simple .pd-booking-aside:after{content:none!important}
.pd-booking-simple .pd-booking-main{padding:28px 40px 36px}
.pd-booking-simple-note{font:400 16px/1.7 Manrope,Arial,sans-serif;color:#455e4e;margin:0;padding:0 0 22px;border-bottom:1px solid rgba(5,34,27,.14)}
.pd-booking-context{padding:0 0 20px;display:grid;gap:7px}
.pd-booking-context__label{font:400 12px/1.5 Manrope,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#506d5a}
.pd-booking-context__name{font:300 29px/1.12 'Cormorant Garamond',Georgia,serif;color:#05221B}
.pd-booking-simple .pd-booking-form{margin-top:24px;gap:16px 24px}
.pd-booking-simple .pd-booking-field{margin-bottom:5px}
.pd-booking-simple .pd-booking-field label{font:400 13px/1.6 Manrope,Arial,sans-serif;letter-spacing:.03em;color:#3f5949;margin-bottom:7px;text-transform:none}
.pd-booking-simple .pd-booking-field input{height:50px;font:400 16px/1.5 Manrope,Arial,sans-serif;border-bottom:1px solid rgba(5,34,27,.25);background:transparent;color:#526856;border-radius:0;opacity:1;-webkit-text-fill-color:#526856}
.pd-booking-simple .pd-booking-field input::placeholder{color:#526856;opacity:1;-webkit-text-fill-color:#526856}
.pd-booking-simple .pd-booking-consent{margin:0;gap:12px;align-items:flex-start;font:400 16px/1.6 Manrope,Arial,sans-serif;letter-spacing:0;color:#415b4a}
.pd-booking-simple .pd-booking-consent input{width:18px;height:18px;flex:0 0 18px;margin:4px 0 0;opacity:1}
.pd-booking-simple .pd-booking-consent a{text-decoration:underline;text-underline-offset:3px;color:#05221B}
.pd-booking-simple .pd-booking-actions{margin:27px 0 0;display:flex;justify-content:flex-start;gap:12px;align-items:stretch}
.pd-booking-simple #pdConfirmBooking{opacity:1;color:#e0e7da;background:#526959;cursor:not-allowed;box-shadow:none;transform:none}
.pd-booking-simple #pdConfirmBooking:before,.pd-booking-simple #pdConfirmBooking:after{content:none!important}
.pd-booking-simple .pd-booking-call{gap:14px}
@media(max-width:620px){
 .pd-booking-simple{padding:12px;align-items:center}
 .pd-booking-simple .pd-booking-dialog{width:100%;max-height:calc(100dvh - 24px);min-height:0;border-radius:4px}
 .pd-booking-simple .pd-booking-aside{padding:24px 22px 26px}
 .pd-booking-simple .pd-booking-aside h3{font-size:38px;line-height:1.08;padding-right:25px}
 .pd-booking-simple .pd-booking-main{padding:22px 22px 28px}
 .pd-booking-simple .pd-booking-form{grid-template-columns:1fr;gap:16px;margin-top:22px}
 .pd-booking-simple .pd-booking-actions{display:grid;grid-template-columns:1fr}
 .pd-booking-simple .pd-booking-consent{font-size:16px;line-height:1.65}
 .pd-booking-simple .pd-booking-field label{font-size:13px}
 .pd-booking-context__name{font-size:27px}
 .pd-booking-simple .pd-booking-close{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}
}

/* V3 · balanced reading scale. Display headings, photos and brand are retained. */
:root{--pd-body:16px;--pd-detail:15px;--pd-label:12px}
html body{font-size:16px;font-weight:300;line-height:1.75;font-synthesis:none}
#top .pdh2-lead{font-size:16px;line-height:1.78;font-weight:300}
#top .pdh2-trust-item strong{font-size:23px;line-height:1.15}
#top .pdh2-trust-item span{font-size:14px;line-height:1.65}
#top .pdh2-label strong{font-size:23px;line-height:1.14}
#top .pdh2-bottom-mini strong{font-size:23px;line-height:1.15}
#top .pdh2-bottom-main{font-size:14px}
#about .pd-director-text{gap:20px}
#about .pd-director-text p{font-size:16px!important;line-height:1.78!important;font-weight:300!important;color:#c5cfc3!important}
#about .pd-director-sign strong{font-size:28px;line-height:1.15}
#about .pd-director-sign span{font-size:12px;line-height:1.7}
#services .service h3{font-size:29px;line-height:1.12}
#services .service p,#doctors .pdv-text{font-size:15px;line-height:1.75;font-weight:300;color:#c5cfc3}
#doctors .pdv-name{font-size:27px;line-height:1.12}
#doctors .pdv-spec{font-size:12px;line-height:1.65;font-weight:400;color:#b9c9ba;letter-spacing:.05em}
#doctors .pdv-status{font-size:12px;line-height:1.6;font-weight:400}
#doctors .pdv-more{font-size:12px;line-height:1.6;font-weight:400;letter-spacing:.07em;color:#d3decf}
#doctors .pdv-filter,#pdvFilters .pdv-filter{font-size:12px!important;line-height:1.5;font-weight:400;min-height:44px}
html body :is(.btn,.pdh2-btn),#pdnTeaser .pdnt-btn,#partners .pdn-btn{font-size:12px!important;font-weight:400;letter-spacing:.07em;min-height:48px}
.header .btn{min-height:44px}
#prices .pdc-price-note p{font-size:15px!important;line-height:1.75!important;font-weight:300!important}
#prices .pdc-price-name{font-size:15px;line-height:1.75;font-weight:300}
#prices .pdc-price-value{font-size:19px;line-height:1.4}
#pdnTeaser .pdnt-side p{font-size:16px;line-height:1.78;font-weight:300;color:#c5cfc3}
.pd-profile-info .doctor-deep-intro,.pd-service-page .service-lead,.service-lead{font-size:16px!important;line-height:1.78!important;font-weight:300!important}
.pd-profile-info .doctor-detail-card p,.service-section-card p,.service-section-card li{font-size:16px;line-height:1.78;font-weight:300}
.pd-profile-info .doctor-detail-card h2{font-size:30px!important;line-height:1.15!important}
.service-category-card p,.service-note,.service-visual-card div{font-size:15px;line-height:1.75;font-weight:300}
#partners .pdn-hero__lead,#partners .pdn-hero__aside p,#partners .pdn-code__copy>p,#partners .pdn-manifesto__text,
#partners .pdn-audiences__head>p,#partners .pdn-value__intro>p,#partners .pdn-apply__copy>p{font-size:16px;line-height:1.78;font-weight:300}
#partners .pdn-audience p,#partners .pdn-value-item p,#partners .pdn-step p{font-size:15px;line-height:1.75;font-weight:300}
#partners .pdn-audience h4,#partners .pdn-value-item h4,#partners .pdn-step h4{font-size:27px;line-height:1.15}
.pd-doc-text,.pd-doc-text p,.pd-doc-text li{font-size:16px;line-height:1.8}
.pd-profile-info .modal-spec{font-size:14px;line-height:1.65}
.pd-booking-float__copy strong,.pd-contact-float__label{font-size:20px}
@media(min-width:721px){
 .pd-booking-float{width:168px;min-height:64px}
 .pd-contact-float__toggle{width:168px;height:56px}
 .pd-contact-float{top:calc(50% + 82px)}
}
@media(max-width:720px){
 #doctors .pdv-name{font-size:28px}
 #services .service h3{font-size:30px}
 #about .pd-director-text p{font-size:16px!important;line-height:1.8!important}
 #doctors .pdv-text,#services .service p{font-size:15px;line-height:1.75}
 #contacts .pd-location-meta__item strong,#contacts .pd-location-meta__item a{font-size:24px;line-height:1.2}
}
/* Prices: a native details/summary remains usable even without JavaScript. */
#prices .pdc-price-head{margin-bottom:26px}
#prices .pdc-price-hint{margin:0 0 18px;font:300 14px/1.7 Manrope,Arial,sans-serif;color:#53685a}
#prices .pdc-price-group{box-sizing:border-box;overflow-anchor:none}
#prices .pdc-price-group>summary{position:relative;isolation:isolate;min-height:82px;padding:15px 0;grid-template-columns:52px minmax(0,1fr) auto;gap:18px;overflow:hidden;cursor:pointer;touch-action:manipulation}
#prices .pdc-price-group>summary:focus-visible{outline:2px solid #496a55;outline-offset:-3px}
#prices .pdc-price-category{font-size:32px;line-height:1.12;transition:transform .6s var(--pd-motion-ease)}
#prices .pdc-price-index{font-size:20px;color:#647f6b;line-height:1.2}
#prices .pdc-price-action{display:flex;align-items:center;gap:18px;justify-self:end;color:#526b5a}
#prices .pdc-price-action-label{font:400 12px/1.5 Manrope,Arial,sans-serif;letter-spacing:.03em}
#prices .pdc-price-close-label{display:none}
#prices .pdc-price-group[open]:not([data-price-closing]) .pdc-price-open-label{display:none}
#prices .pdc-price-group[open]:not([data-price-closing]) .pdc-price-close-label{display:inline}
#prices .pdc-price-plus{flex:0 0 36px;width:36px;height:36px;background:transparent;border:1px solid rgba(5,34,27,.34);border-radius:50%;transform:none;transition:background .45s ease,border-color .45s ease,transform .55s var(--pd-motion-ease)}
#prices .pdc-price-plus:before,#prices .pdc-price-plus:after{background:#05221B;transition:transform .5s var(--pd-motion-ease),opacity .35s ease,background .4s ease}
#prices .pdc-price-group[open]:not([data-price-closing]) .pdc-price-plus{background:#05221B;border-color:#05221B;transform:rotate(180deg)}
#prices .pdc-price-group[open]:not([data-price-closing]) .pdc-price-plus:before{background:#F8F2E8}
#prices .pdc-price-group[open]:not([data-price-closing]) .pdc-price-plus:after{opacity:0}
#prices .pdc-price-group[data-price-closing] .pdc-price-plus:before,#prices .pdc-price-group[data-price-closing] .pdc-price-plus:after{background:#05221B;opacity:1}
#prices .pdc-price-group[data-price-closing] .pdc-price-plus{background:transparent;transform:none}
#prices .pdc-price-group>summary:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 15%,rgba(5,34,27,.055) 49%,transparent 82%);transform:translateX(-110%);pointer-events:none}
#prices .pdc-price-list.is-cued .pdc-price-group>summary:before{animation:pdPriceSweep 1.4s var(--pd-motion-ease) var(--price-cue-delay,0ms) 1}
#prices .pdc-price-list.is-cued .pdc-price-group:not([open]) .pdc-price-plus{animation:pdPriceCue 1.3s ease-in-out var(--price-cue-delay,0ms) 1}
@keyframes pdPriceSweep{from{transform:translateX(-110%)}to{transform:translateX(110%)}}
@keyframes pdPriceCue{0%,100%{background:transparent;border-color:rgba(5,34,27,.34)}45%{background:rgba(5,34,27,.11);border-color:rgba(5,34,27,.6)}}
@media(hover:hover) and (pointer:fine){
 #prices .pdc-price-group>summary:hover .pdc-price-category{transform:translateX(5px)}
 #prices .pdc-price-group:not([open])>summary:hover .pdc-price-plus{background:rgba(5,34,27,.09);border-color:#05221B}
 #prices .pdc-price-group>summary:hover .pdc-price-action-label{color:#05221B;text-decoration:underline;text-underline-offset:4px}
}
@media(max-width:720px){
 #prices .pdc-price-group>summary{grid-template-columns:30px minmax(0,1fr) 36px;gap:12px;min-height:76px;padding:17px 0}
 #prices .pdc-price-category{font-size:27px;line-height:1.15}
 #prices .pdc-price-index{font-size:18px}
 #prices .pdc-price-action-label{display:none}
 #prices .pdc-price-hint{font-size:14px;line-height:1.7}
}
/* A paused or reduced-motion site must never leave a partially expanded price. */
.pd-motion-paused #prices .pdc-price-group>summary:before,.pd-motion-paused #prices .pdc-price-plus{animation:none!important}
@media(prefers-reduced-motion:reduce){
 #prices .pdc-price-group>summary:before,#prices .pdc-price-plus{animation:none!important}
 #prices .pdc-price-category,#prices .pdc-price-plus,#prices .pdc-price-plus:before,#prices .pdc-price-plus:after{transition:none!important}
}
/* Keep the fixed side controls out of the reading column at narrower desktops.
   The same form remains in the header; Contacts remains in the menu. */
@media(min-width:721px) and (max-width:1639px){
 .pd-booking-float,.pd-contact-float{display:none!important}
}
/* On phones the contact bubble must not cover the right-hand price controls. */
@media(max-width:720px){
 .pd-price-reading .pd-contact-float{visibility:hidden;opacity:0;pointer-events:none}
}
