/* PRODENT V6 · editorial copy, intact contact strings, finite photographic motion.
   No new typeface, third-party script, font binary or fabricated availability. */
:root{--pd6-ease:cubic-bezier(.22,1,.36,1)}
/* CONTACTS: sufficient column width, not emergency character wrapping. */
html body #contacts .pd-location-head{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(40px,5vw,76px);align-items:end}
html body #contacts .pd-contact-info{min-width:0;max-width:100%}
html body #contacts .pd-location-meta.pd-contact-list{display:grid;grid-template-columns:minmax(0,1fr);max-width:100%;width:100%}
html body #contacts .pd-location-meta__item,
html body #contacts .pd-location-meta__item:nth-child(even){display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:baseline;min-width:0;max-width:100%;padding:18px 0;border-left:0;border-bottom:1px solid rgba(5,34,27,.14)}
html body #contacts .pd-location-meta__item small{margin:0;font:400 11px/1.6 Manrope,Arial,sans-serif;color:#52685b;letter-spacing:.06em;white-space:nowrap;text-wrap:nowrap}
html body #contacts .pd-location-meta__item .pd-contact-value{display:block;width:fit-content;max-width:none;font:300 17px/1.6 Manrope,Arial,sans-serif;color:#05221B;letter-spacing:0;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap!important;text-wrap:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;font-synthesis:none}
html body #contacts .pd-location-meta__item a{position:relative;text-decoration:none}
html body #contacts .pd-location-meta__item a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(5,34,27,.55);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--pd6-ease)}
html body #contacts .pd-location-meta__item a:is(:hover,:focus-visible):after{transform:scaleX(1)}
html body #contacts .pd-location-actions{margin-top:24px;gap:12px}
html body .pdn-apply__copy a[href^="mailto:"],html body .pdn-apply__copy a[href^="tel:"]{display:inline-block;white-space:nowrap;word-break:normal;overflow-wrap:normal!important;text-decoration:underline;text-underline-offset:4px}
html body #partners .pdn-apply__copy{min-width:0}
@media(max-width:1100px){
 html body #contacts .pd-location-head{grid-template-columns:minmax(0,1fr);gap:38px}
 html body #contacts .pd-location-title h2{max-width:860px}
 html body #contacts .pd-location-meta__item,
 html body #contacts .pd-location-meta__item:nth-child(even){grid-template-columns:130px minmax(0,1fr)}
}
@media(max-width:620px){
 html body #contacts .pd-location-head{gap:30px}
 html body #contacts .pd-location-meta__item,
 html body #contacts .pd-location-meta__item:nth-child(even){grid-template-columns:minmax(0,1fr);gap:7px;padding:16px 0}
 html body #contacts .pd-location-meta__item .pd-contact-value{font-size:16px;line-height:1.65}
 html body #contacts .pd-location-actions{display:grid;grid-template-columns:1fr}
}
/* Existing lightweight editorial hierarchy, not another global size increase. */
#top .pdh2-title{font-size:clamp(46px,4.35vw,64px);line-height:1.01;letter-spacing:-.035em}
#top .pdh2-title .pd-hero-line{display:block}
#top .pdh2-lead{max-width:490px}
#top .pdh2-trust-item strong{font-size:23px}
#about .pd-director-text{max-width:590px;gap:20px}
#pdnTeaser h2{max-width:700px;font-size:clamp(43px,4.2vw,62px);line-height:1.02}
#services .pds-head h2{max-width:820px}
@media(max-width:720px){
 #top .pdh2-title{font-size:clamp(42px,11.5vw,54px);line-height:1.04;letter-spacing:-.035em}
 .pd-desktop-break{display:none}
 #pdnTeaser h2{font-size:clamp(40px,10.7vw,50px)}
}
/* A comment on arranging the visit, not a medical questionnaire. Frontend only. */
.pd-booking-simple .pd-booking-comment{grid-column:1/-1;margin-top:3px}
.pd-booking-simple .pd-booking-comment label{display:block}
.pd-booking-simple .pd-booking-comment textarea{display:block;width:100%;min-width:0;min-height:108px;padding:12px 0;border:0;border-bottom:1px solid rgba(5,34,27,.25);border-radius:0;resize:vertical;background:transparent;font:300 16px/1.65 Manrope,Arial,sans-serif;color:#526856;opacity:1;-webkit-text-fill-color:#526856;box-shadow:none;outline-offset:4px}
.pd-booking-simple .pd-booking-comment textarea::placeholder{color:#526856;opacity:1;-webkit-text-fill-color:#526856}
.pd-booking-simple .pd-field-hint{margin:10px 0 0;font:300 13px/1.65 Manrope,Arial,sans-serif;color:#607363;text-wrap:pretty}
.pd-booking-simple .pd-booking-simple-note{font:300 16px/1.75 Manrope,Arial,sans-serif;color:#49614f}
.pd-booking-simple .pd-booking-form :is(input,textarea):disabled{cursor:default}
.pd-booking-simple #pdConfirmBooking{cursor:default}
/* The real logo stays intact. A green curtain gives way to the page. */
@keyframes pdIntroExit{
 from{opacity:1;visibility:visible;clip-path:inset(0 0 0 0);filter:none;transform:none}
 to{opacity:1;visibility:hidden;clip-path:inset(0 0 100% 0);filter:none;transform:none}
}
html body .header-inner{overflow:hidden;isolation:isolate}
html body .header-inner:after{content:'';position:absolute;inset:-50% -40%;z-index:-1;background:linear-gradient(110deg,transparent 35%,rgba(248,242,232,.09) 48%,transparent 62%);transform:translateX(-70%);pointer-events:none}
html body .header.pd6-arrived .header-inner:after{animation:pd6NavLight 1.6s var(--pd6-ease) .15s both}
@keyframes pd6NavLight{to{transform:translateX(70%)}}
.pd-section-trace{position:absolute;top:0;left:50%;transform:translateX(-50%);width:calc(100% - 56px);max-width:1220px;height:1px;z-index:3;pointer-events:none}
.pd-section-trace>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,rgba(5,34,27,.4),rgba(5,34,27,.08));transform-origin:left}
#about>.pd-section-trace>span,#pdnTeaser>.pd-section-trace>span,.pdn-manifesto>.pd-section-trace>span{background:linear-gradient(90deg,rgba(248,242,232,.42),rgba(248,242,232,.07))}
/* Finite mask pass: no moving words or flashing graphic ornaments. */
.pd-photo-curtain{position:absolute;inset:0;z-index:7;pointer-events:none;background:#05221B;transform-origin:right center}
#services .pds-photo-stage{transform:perspective(1400px) rotateX(var(--pd6-tilt-y,0deg)) rotateY(var(--pd6-tilt-x,0deg));transition:transform 1.2s var(--pd6-ease);will-change:auto}
#services .pds-feature-copy.is-sweeping:before{animation-duration:1.65s;background:linear-gradient(115deg,transparent 25%,rgba(248,242,232,.16) 49%,transparent 72%)}
#services .pds-row{transition:color .5s ease,padding .7s var(--pd6-ease)}
#services .pds-photo{transition:opacity .85s ease,transform 2s var(--pd6-ease)}
@media(hover:hover) and (pointer:fine){
 #services .pds-row.is-current .pds-row-arrow{background:rgba(248,242,232,.06)}
 #doctors .pdv-card:hover .pdv-photo img{transform:scale(1.06)}
 .pd-profile-photo:hover img{transform:scale(1.025);transition:transform 1.5s var(--pd6-ease)}
}
@media(max-width:720px){.pd-section-trace{width:calc(100% - 36px)}}
html.pd-motion-paused .pd-photo-curtain{display:none}
html.pd-motion-paused .header-inner:after{display:none}
html.pd-motion-paused #services .pds-photo-stage{transform:none!important;transition:none}
html.pd-motion-paused .pd-section-trace>span{transform:none!important}
@media(prefers-reduced-motion:reduce){
 .pd-photo-curtain,.header-inner:after{display:none!important}
 #services .pds-photo-stage{transform:none!important;transition:none!important}
 .pd-section-trace>span{transform:none!important}
}
@media print{.pd-photo-curtain,.pd-section-trace{display:none!important}}

/* The hours are a single contact value, including the range dash. */
.pd-opening-hours{display:inline-block;white-space:nowrap;word-break:normal;overflow-wrap:normal}
@media(max-width:720px){html.pd-contacts-reading .pd-contact-float{visibility:hidden;opacity:0;pointer-events:none}}
