.contacts__img-wrap picture{transition-duration:1.6s;transition-timing-function:cubic-bezier(.25,.74,.22,1)}.contacts{padding-top:var(--xxxl,calc(500 * var(--scale-px))) var(--n-xxxl,var(--md,calc(300 * var(--scale-px))) var(--n-md,calc(175 * var(--scale-px))))}.contacts__background{position:absolute;top:0}@media (min-width:568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px){.contacts__background{text-align:center;width:100%}.contacts__background picture img{height:auto;width:var(--xxxl,calc(var(--spacing) / 80 * 700)) var(--n-xxxl,var(--xxl,calc(var(--spacing) / 60 * 600)) var(--n-xxl,calc(var(--spacing) / 40 * 600)))}}@media (min-width:1920px) and (min-height:700px){.contacts__background{height:90vh}.contacts__background picture{height:100%}.contacts__background img{aspect-ratio:480/862;height:100%;width:auto}}@media (max-width:567px) and (max-aspect-ratio:13/9),(max-width:667px) and (min-aspect-ratio:13/9),(max-width:979px) and (max-height:415px) and (min-aspect-ratio:13/9){.contacts__background:after{background:linear-gradient(180deg,transparent 47.97%,#000 94.38%);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.contacts__background img{height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top;width:100%}}.contacts__button{margin-top:var(--md,calc(var(--spacing) * -1.2)) var(--n-md,calc(var(--scale-px) * -34))}.contacts__phone{position:relative}.contacts__phone .contacts__phone-clone{-webkit-clip-path:circle(0 at 0 100%);clip-path:circle(0 at 0 100%);color:var(--t-text);left:0;position:absolute;top:0;transition:-webkit-clip-path 1.6s cubic-bezier(.7,0,.3,1);transition:clip-path 1.6s cubic-bezier(.7,0,.3,1);transition:clip-path 1.6s cubic-bezier(.7,0,.3,1),-webkit-clip-path 1.6s cubic-bezier(.7,0,.3,1)}.has-hover .contacts__phone:hover .contacts__phone-clone{-webkit-clip-path:circle(80% at 50% 0);clip-path:circle(80% at 50% 0)}.contacts__img-wrap{margin-bottom:var(--md,calc(40 * var(--scale-px))) var(--n-md,calc(22 * var(--scale-px)));overflow:hidden;position:relative}.contacts__img-wrap:after{background:linear-gradient(180deg,rgba(var(--t-background-rgb),0) 60.71%,rgba(var(--t-background-rgb),.5) 100%);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.contacts__img-wrap picture{transition-property:transform}.contacts .title{position:relative;z-index:1}.contact-card-list>:not(:last-child){margin-right:var(--md,calc(20 * var(--scale-px))) var(--n-md,0)}.contact-card-list>:not(:last-child).contacts-card--square{margin-right:var(--md,calc(30 * var(--scale-px))) var(--n-md,0)}.contacts-card{display:flex;flex-direction:column;position:relative;z-index:1}.contacts-card__title{--fos:-0.0795em;--foe:-0.2105em;font-feature-settings:"salt" on;--lh:1.04651em;bottom:20px;font-family:TitleNarrow,Helvetica,Arial,sans-serif;font-size:calc(4.3 * var(--scale-text-rem));font-weight:200;left:20px;letter-spacing:.05em;line-height:var(--lh);position:absolute;right:20px;text-transform:uppercase;z-index:1}.is-win .contacts-card__title{--fos:-0.0795em;--foe:-0.2105em}.has-hover .contacts-card:hover .contacts__img-wrap picture{transform:scale(1.09)}@media (min-width:568px) and (max-width:667px) and (max-aspect-ratio:13/9),(min-width:668px) and (max-aspect-ratio:10/11),(min-width:668px) and (min-height:416px),(min-width:980px){.contacts-card--square .contacts__img-wrap img{aspect-ratio:1;-o-object-fit:cover;object-fit:cover}}
/* The booking form is lifted out of the appointment modal and onto the page, so it
   needs the height and framing the modal was giving it. */
.contacts-form{padding-bottom:0;}
.contacts-form .contacts-form__layout{min-height:0;}
.contacts-form .booking-modal__image{min-height:var(--md,calc(700 * var(--scale-px))) var(--n-md,calc(320 * var(--scale-px)));position:relative;overflow:hidden;}
.contacts-form .booking-modal__image picture,
.contacts-form .booking-modal__image img{height:100%;width:100%;object-fit:cover;}
.contacts-form .booking-modal__content{display:flex;}
.contacts-form .booking-modal__form-content{width:100%;}
/* The theme's card row is built for two clinics and lets each card flex-grow into its half.
   This practice has one address, so the row's second slot carries the written contact details
   instead. Without this the lone card grows across the whole row and its photo goes full-bleed.
   justify-content bottom-aligns the details with the card's address; the z-index matches
   .contacts-card so the section's background portrait cannot sit over the text. */
.contacts-details{display:flex;flex-direction:column;justify-content:flex-end;position:relative;z-index:1}
.contacts-details__title{text-transform:uppercase;letter-spacing:.05em}
