html, body { overflow-x: clip; }
.ce-icon { display: inline-block; font-style: normal; line-height: 1; }
.ce-icon > svg { display: inline-block; width: 1em; height: 1em; vertical-align: middle; }
.header-topline .header-topline-main .ce-icon { top: 0; }
.header-topline .header-info + *::before, .header-topline .header-phone + *::before { top: -3px; height: 22px; }
.header-topline .header-phone + .header-phone::before { top: -2px; }
.header-topline .header-social a::before, .header-topline .header-social a:last-child::after { top: 13px; height: 22px; }
.header-phone .ce-brand-icon { vertical-align: middle; }
.ce-brand-icon[fill="none"] { fill: none; }
.navbar-toggler.collapsed .ce-navbar-toggler__close, .navbar-toggler:not(.collapsed) .ce-navbar-toggler__open { display: none; }
.header-mobile-info-toggle::before, .slick-prev::before, .slick-next::before { content: ""; display: inline-block; vertical-align: middle; background-color: currentColor; -webkit-mask: var(--ce-icon-mask) center / contain no-repeat; mask: var(--ce-icon-mask) center / contain no-repeat; }
button.header-mobile-info-toggle { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: #fff; }
.header-mobile-info-toggle::before { width: 16px; height: 16px; --ce-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z'/%3E%3C/svg%3E"); }
.slick-prev::before, .slick-next::before { width: 16px; height: 16px; padding: 0; }
.slick-prev::before { --ce-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z'/%3E%3C/svg%3E"); }
.slick-next::before { --ce-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z'/%3E%3C/svg%3E"); }
.header-topline { background: #392e3e; }
@media (max-width: 1229px) {
    .header-mobile-top { background: #392e3e; }
    .header-mobile-top .header-button-wrap { display: flex; align-items: center; }
    .header-mobile-top .header-button-wrap .btn { position: relative; display: inline-flex; align-items: center; height: 44px !important; padding: 0 12px !important; border: 0; border-radius: 0; background: transparent !important; box-shadow: none; color: #d6c9de !important; font-size: 13px !important; font-weight: 500; line-height: 1 !important; letter-spacing: .6px; }
    .header-mobile-top .header-button-wrap .btn + .btn::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 16px; margin-top: -8px; background: rgba(255,255,255,.2); }
    .header-mobile-top .header-button-wrap .btn:last-child { margin-right: -12px; }
    .header-mobile-top .header-button-wrap .btn:hover, .header-mobile-top .header-button-wrap .btn:focus { color: #fff !important; }
    .header-mobile-top a:focus-visible, .header-mobile-top button:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
    button.header-mobile-info-toggle { margin-left: -14px; padding: 0 14px; color: #d6c9de; }
    .header-mobile-info-content { padding: 8px 15px; border-bottom: 1px solid rgba(255,255,255,.12); background: #392e3e; }
    .header-mobile-info-content .icn-list-sm { margin: 0; padding: 0; list-style: none; }
    .header-mobile-info-content ul.icn-list-sm li { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 0; padding: 0; border-bottom: 1px solid rgba(255,255,255,.1); color: #d6c9de; font-size: 15px; line-height: 1.35; }
    .header-mobile-info-content ul.icn-list-sm li:last-child { border-bottom: 0; }
    .header-mobile-info-content .icn-list-sm li::before { content: none; }
    .header-mobile-info-content .icn-list-sm .ce-icon, .header-mobile-info-content .icn-list-sm .ce-brand-icon { position: static; flex: none; width: 18px; height: 18px; margin: 0; padding: 0; color: #b98ac6; font-size: 18px; }
    .header-mobile-info-content ul.icn-list-sm li a { display: flex; align-items: center; flex: 1; min-height: 44px; color: #fff; text-decoration: none; }
    .header-mobile-info-content ul.icn-list-sm li a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
    .header-mobile-info-content a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
    .header-mobile-info-toggle::before { transition: transform .2s; }
    .header-mobile-info-toggle.opened::before { transform: rotate(180deg); }
}
.ce-nav-phones { display: none; }
.header-nav .nav-item > .nav-link[aria-current="page"] { color: #894698; }
@media (max-width: 1023px) {
    .header-content .navbar-toggler { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: 0 !important; padding: 0; top: 15px !important; transform: none !important; }
    .header-content.stuck .navbar-toggler { top: 7px !important; }
    .header-nav { flex: 1 1 100%; width: 100%; }
    .header-nav .navbar-collapse { flex-direction: column; align-items: stretch; max-height: calc(100vh - 130px) !important; max-height: calc(100dvh - 130px) !important; padding: 0 0 24px; }
    .header-content.stuck .navbar-collapse { max-height: calc(100vh - 59px) !important; max-height: calc(100dvh - 59px) !important; }
    .header-nav .navbar-collapse .navbar-nav { width: 100%; margin-top: 12px; padding-top: 0; border-top: 1px solid #e4dce8; }
    .header-nav .ce-nav-lang { display: none; }
    .header-nav .navbar-collapse .nav-item > .nav-link, .header-nav .navbar-collapse .nav-item > .nav-link:hover { display: flex; align-items: center; min-height: 52px; padding: 0; border-bottom: 1px solid #e4dce8; color: #392e3e; font-size: 17px; font-weight: 500; line-height: 1.3; text-transform: none; }
    .header-nav .navbar-collapse .nav-item > .nav-link[aria-current="page"] { color: #894698; font-weight: 600; }
    .header-nav .navbar-collapse .nav-item > .nav-link:focus-visible { outline: 2px solid #894698; outline-offset: -2px; }
    .ce-nav-phones { display: grid; gap: 10px; margin-top: 24px; }
    .ce-nav-phones__link { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 20px; border: 1px solid #392e3e; border-radius: 6px; background: #392e3e; color: #fff; font-size: 16px; font-weight: 600; text-decoration: none; transition: background-color .2s, border-color .2s, color .2s; }
    .ce-nav-phones__link:hover, .ce-nav-phones__link:focus { border-color: #894698; background: #894698; color: #fff; text-decoration: none; }
    .ce-nav-phones__link--outline { border-color: #d9c6df; background: transparent; color: #392e3e; }
    .ce-nav-phones__link--outline:hover, .ce-nav-phones__link--outline:focus { border-color: #894698; background: transparent; color: #894698; }
    .ce-nav-phones__link:focus-visible { outline: 2px solid #894698; outline-offset: 2px; }
    .ce-nav-phones__link .ce-icon { font-size: 18px; }
}
@media (max-width: 1023px) and (hover: hover) {
    .header-nav .navbar-collapse .nav-item > .nav-link:hover { color: #894698; }
}
@media (prefers-reduced-motion: reduce) {
    .ce-nav-phones__link { transition: none; }
}
main .section.ce-about { margin-top: 0; padding: 56px 0 56px; }
.ce-about__grid { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); grid-template-areas: "copy visual"; column-gap: 72px; align-items: start; }
.ce-about__visual { grid-area: visual; align-self: stretch; min-width: 0; }
.ce-about__visual-inner { position: sticky; top: 112px; }
.ce-about__building { margin: 0; overflow: hidden; border-radius: 6px; background: #f5f0f7; }
.ce-about__photo { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.ce-about__credentials { margin-top: 32px; }
.ce-about__credentials-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.ce-about__credentials-heading h2 { font-size: 18px; font-weight: 600; line-height: 1.4; color: #392e3e; margin: 0; }
.ce-about__credentials-heading > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: #894698; text-decoration: underline; text-underline-offset: 4px; }
.ce-about__credentials-heading > a:hover { color: #392e3e; }
.ce-about__degrees { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.ce-about__degrees > .col-6 { width: auto; max-width: none; padding: 0; }
.ce-about__degrees a { display: block; aspect-ratio: 4/3; padding: 8px; background: #f5f0f7; border-radius: 4px; box-shadow: inset 0 0 0 1px transparent; transition: box-shadow .2s ease; }
.ce-about__degrees a:hover { box-shadow: inset 0 0 0 1px #894698; }
.ce-about__degrees img { display: block; width: 100%; height: 100%; object-fit: contain; margin: 0 !important; }
.ce-about a:focus-visible { outline: 2px solid #894698; outline-offset: 3px; }
.ce-about__copy { grid-area: copy; min-width: 0; max-width: 64ch; color: #4d4552; font-size: 17px; line-height: 1.8; }
.ce-about__copy p { margin: 0 0 20px; font-size: inherit; line-height: inherit; text-wrap: pretty; }
.ce-about__copy > p:first-child { margin-bottom: 24px; color: #392e3e; font-size: 21px; line-height: 1.55; letter-spacing: -.15px; }
.ce-about__copy > p:nth-child(2) { margin-bottom: 0; padding: 2px 0 2px 16px; border-left: 2px solid #894698; color: #392e3e; font-size: 16px; line-height: 1.6; font-weight: 500; }
.ce-about__copy h2, .ce-about__copy h3 { margin: 56px 0 16px; color: #392e3e; font-size: 30px; line-height: 1.2; font-weight: 600; letter-spacing: -.4px; text-wrap: balance; }
.ce-about__copy h2 strong, .ce-about__copy h3 strong { font-weight: inherit; }
.ce-about__copy > :last-child { margin-bottom: 0; }
main .section.ce-procedures { margin-top: 24px; padding: 72px 0; background: #f7f3f8; }
.ce-procedures__grid { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); column-gap: 72px; align-items: start; }
.ce-procedures__gallery { min-width: 0; }
.ce-procedures__gallery .slider-gallery-main { margin-bottom: 10px; overflow: hidden; border-radius: 6px; }
.ce-procedures__gallery .slider-gallery-main img { aspect-ratio: 1/1; object-fit: cover; }
.ce-procedures__gallery .slider-gallery-thumbs li { overflow: hidden; border-radius: 4px; background: #392e3e; }
.ce-procedures__gallery .slider-gallery-thumbs img { aspect-ratio: 4/3; object-fit: cover; object-position: center 25%; }
.ce-procedures__gallery .slick-prev, .ce-procedures__gallery .slick-next { color: #894698; }
.ce-procedures__lists { min-width: 0; grid-column: 2; }
.ce-procedures__group + .ce-procedures__group { margin-top: 40px; }
.ce-procedures__group h2 { margin: 0 0 8px; color: #392e3e; font-size: 22px; line-height: 1.3; font-weight: 600; letter-spacing: -.2px; text-wrap: balance; }
.ce-procedures__group ul { margin: 0; padding: 0; list-style: none; }
.ce-procedures__group li { margin: 0; padding: 13px 0; border-bottom: 1px solid #e4dce8; color: #392e3e; font-size: 17px; line-height: 1.45; }
.ce-procedures__text { color: #4d4552; font-size: 17px; line-height: 1.8; }
.ce-procedures__more { display: inline-flex; align-items: center; min-height: 44px; margin-top: 24px; color: #894698; font-size: 16px; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.ce-procedures__more:hover { color: #392e3e; }
.ce-procedures a:focus-visible, .ce-procedures button:focus-visible { outline: 2px solid #894698; outline-offset: 3px; }
main .section.ce-doctor { margin-top: 0; padding: 88px 0; }
.ce-doctor__grid { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); grid-template-areas: "name portrait" "cv portrait"; column-gap: 72px; align-items: start; }
.ce-doctor__name { grid-area: name; margin: 0 0 32px; color: #392e3e; font-size: 40px; line-height: 1.1; font-weight: 600; letter-spacing: -.6px; }
.ce-doctor__aside { grid-area: portrait; align-self: stretch; min-width: 0; }
.ce-doctor__portrait { position: sticky; top: 112px; margin: 0; overflow: hidden; border-radius: 6px; background: #f5f0f7; }
.ce-doctor__photo { display: block; width: 100%; height: auto; aspect-ratio: 515/605; object-fit: cover; }
.ce-doctor__cv { grid-area: cv; min-width: 0; }
.ce-doctor__group + .ce-doctor__group { margin-top: 48px; }
.ce-doctor__group h3 { margin: 0 0 8px; color: #392e3e; font-size: 22px; line-height: 1.3; font-weight: 600; letter-spacing: -.2px; }
.ce-doctor__entries { margin: 0; padding: 0; list-style: none; }
.ce-doctor__entries li { margin: 0; padding: 14px 0; border-bottom: 1px solid #e4dce8; color: #4d4552; font-size: 17px; line-height: 1.6; }
.ce-doctor__entries li.is-dated { display: grid; grid-template-columns: 112px minmax(0,1fr); column-gap: 20px; }
.ce-doctor__period { color: #894698; font-size: 15px; line-height: 1.8; font-weight: 600; font-variant-numeric: tabular-nums; }
.ce-doctor__text { text-wrap: pretty; }
.ce-doctor__text-fallback { color: #4d4552; font-size: 17px; line-height: 1.8; }
main .section.ce-reviews { margin-top: 0; padding: 80px 0; background: #f7f3f8; }
.ce-reviews__heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.ce-reviews__heading h2 { margin: 0; color: #392e3e; font-size: 40px; line-height: 1.1; font-weight: 600; letter-spacing: -.6px; }
.ce-reviews__heading > a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border: 1px solid #d9c6df; border-radius: 6px; background: #fff; color: #392e3e; font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: border-color .2s, color .2s; }
.ce-reviews__heading > a:hover, .ce-reviews__heading > a:focus { border-color: #894698; color: #894698; text-decoration: none; }
.ce-reviews__list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; align-items: stretch; }
.ce-reviews__card { display: flex; flex-direction: column; margin: 0; padding: 32px; background: #fff; border-radius: 6px; scroll-margin-top: 120px; }
.ce-reviews__text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 7; line-clamp: 7; overflow: hidden; margin: 0 0 24px; padding: 0; border: 0; color: #392e3e; font-size: 17px; line-height: 1.7; font-style: normal; }
.ce-reviews__card.is-expanded .ce-reviews__text { display: block; -webkit-line-clamp: unset; line-clamp: none; overflow: visible; }
.ce-reviews__text p { margin: 0 0 12px; font-size: inherit; line-height: inherit; text-wrap: pretty; }
.ce-reviews__text p:last-child { margin-bottom: 0; }
.ce-reviews__toggle { align-self: flex-start; min-height: 44px; margin: -16px 0 12px; padding: 0; border: 0; background: none; color: #894698; font-size: 15px; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.ce-reviews__toggle:hover { color: #392e3e; }
.ce-reviews__toggle[hidden] { display: none; }
.ce-reviews__card figcaption { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 16px; border-top: 1px solid #e4dce8; }
.ce-reviews__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ce-reviews__author { color: #894698; font-size: 15px; font-weight: 600; }
.ce-reviews__date { color: #6b6170; font-size: 13px; }
main .section.ce-reviews--page { padding: 56px 0 88px; }
.ce-reviews__source { display: inline-flex; align-items: center; gap: 8px; color: #4d4552; font-size: 14px; font-weight: 500; white-space: nowrap; }
.ce-reviews__source svg { flex: none; }
.ce-reviews a:focus-visible, .ce-reviews__toggle:focus-visible, .ce-reviews__list:focus-visible { outline: 2px solid #894698; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
    .ce-about__degrees a, .ce-reviews__heading > a { transition: none; }
}
@media (max-width: 1199px) {
    .ce-about__grid, .ce-procedures__grid, .ce-doctor__grid { column-gap: 48px; }
    .ce-about__copy h2, .ce-about__copy h3 { font-size: 28px; }
}
@media (max-width: 991px) {
    .ce-about__grid { grid-template-columns: minmax(0,1fr); grid-template-areas: "visual" "copy"; }
    .ce-about__visual { margin-bottom: 40px; }
    .ce-about__visual-inner { position: static; display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 28px; }
    .ce-about__credentials { margin: 0; }
    .ce-about__degrees { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ce-about__degrees > :nth-child(n+9) { display: none; }
    .ce-about__copy { max-width: 70ch; }
    main .section.ce-procedures { padding: 56px 0; }
    .ce-procedures__grid { grid-template-columns: minmax(0,1fr); row-gap: 40px; }
    .ce-procedures__gallery .slider-gallery-main img { aspect-ratio: 4/3; }
    .ce-procedures__lists { grid-column: auto; display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; align-items: start; }
    .ce-procedures__group + .ce-procedures__group { margin-top: 0; }
    .ce-procedures__more, .ce-procedures__text { grid-column: 1 / -1; }
    main .section.ce-doctor { padding: 64px 0; }
    .ce-doctor__grid { grid-template-columns: minmax(0,1fr); grid-template-areas: "name" "portrait" "cv"; }
    .ce-doctor__name { margin-bottom: 24px; }
    .ce-doctor__portrait { position: static; max-width: 360px; margin-bottom: 40px; }
    .ce-doctor__cv { max-width: 70ch; }
    main .section.ce-reviews { padding: 64px 0; }
    .ce-reviews__list { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(300px, 60%); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 15px; margin: 0 -15px; padding: 0 15px 8px; }
    .ce-reviews__card { scroll-snap-align: start; }
    main .section.ce-reviews--page { padding: 48px 0 64px; }
    .ce-reviews__list--grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-flow: row; grid-auto-columns: auto; overflow: visible; scroll-snap-type: none; margin: 0; padding: 0; }
}
@media (max-width: 767px) {
    .ce-about__visual-inner { display: block; }
    .ce-about__credentials { display: flex; flex-direction: column; margin-top: 28px; }
    .ce-about__credentials-heading { display: contents; }
    .ce-about__credentials-heading h2 { margin-bottom: 14px; font-size: 20px; }
    .ce-about__credentials-heading > a { order: 1; justify-content: center; width: 100%; min-height: 52px; margin-top: 16px; border: 1px solid #d9c6df; border-radius: 6px; background: #fff; color: #392e3e; font-size: 16px; font-weight: 600; text-decoration: none; }
    .ce-about__credentials-heading > a:hover, .ce-about__credentials-heading > a:focus { border-color: #894698; color: #894698; }
    .ce-about__degrees { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    .ce-about__degrees > :nth-child(n+7) { display: none; }
    .ce-doctor__portrait { max-width: none; margin-bottom: 32px; }
    .ce-doctor__photo { aspect-ratio: 5/4; object-position: center 20%; }
    .gallery-smiles .gallery-item { width: 100%; margin-bottom: 24px; }
    .ce-reviews .container { display: flex; flex-direction: column; }
    .ce-reviews__heading { display: contents; }
    .ce-reviews__heading h2 { margin-bottom: 24px; }
    .ce-reviews__heading > a { order: 1; width: 100%; min-height: 52px; margin-top: 24px; font-size: 16px; }
}
@media (max-width: 575px) {
    main .section.ce-about { padding: 32px 0 48px; }
    .ce-about__visual { margin-bottom: 32px; }
    .ce-about__copy { font-size: 16px; line-height: 1.75; }
    .ce-about__copy > p:first-child { font-size: 19px; }
    .ce-about__copy > p:nth-child(2) { font-size: 15px; padding-left: 14px; }
    .ce-about__copy h2, .ce-about__copy h3 { margin-top: 40px; font-size: 24px; }
    main .section.ce-procedures { margin-top: 8px; padding: 40px 0; }
    .ce-procedures__grid { row-gap: 32px; }
    .ce-procedures__lists { display: block; }
    .ce-procedures__group + .ce-procedures__group { margin-top: 32px; }
    .ce-procedures__group h2 { font-size: 20px; }
    .ce-procedures__group li { padding: 11px 0; font-size: 16px; }
    main .section.ce-doctor { padding: 48px 0; }
    .ce-doctor__name { font-size: 32px; letter-spacing: -.4px; }
    .ce-doctor__group + .ce-doctor__group { margin-top: 36px; }
    .ce-doctor__group h3 { font-size: 20px; }
    .ce-doctor__entries li { padding: 12px 0; font-size: 16px; }
    .ce-doctor__entries li.is-dated { display: block; }
    .ce-doctor__period { display: block; margin-bottom: 2px; font-size: 14px; line-height: 1.6; }
    main .section.ce-reviews { padding: 48px 0; }
    .ce-reviews__heading h2 { font-size: 30px; letter-spacing: -.4px; }
    .ce-reviews__list { grid-auto-columns: 85%; }
    .ce-reviews__card { padding: 24px; }
    .ce-reviews__card blockquote { font-size: 16px; }
    main .section.ce-reviews--page { padding: 32px 0 48px; }
    .ce-reviews__list--grid { grid-template-columns: minmax(0,1fr); }
}
main .section.ce-service { margin-top: 0; padding: 0 0 80px; }
.ce-service__hero { padding: 64px 0; background: #392e3e; }
.ce-service__hero-grid { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); column-gap: 72px; align-items: stretch; }
.ce-service__lede h1 { margin: 0; color: #fff; font-size: 52px; line-height: 1.06; font-weight: 600; letter-spacing: -1.2px; text-wrap: balance; }
.ce-service__lead { max-width: 56ch; margin: 22px 0 0; color: #d6c9de; font-size: 19px; line-height: 1.7; text-wrap: pretty; }
.ce-service__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; margin-top: 32px; }
.ce-service__call { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 6px; background: #fff; color: #392e3e; font-size: 16px; font-weight: 600; text-decoration: none; }
.ce-service__call:hover, .ce-service__call:focus { background: #894698; color: #fff; text-decoration: none; }
.ce-service__call i { font-size: 15px; }
.ce-service__prices { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-size: 16px; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.ce-service__prices:hover { color: #d6c9de; }
.ce-service__hours { max-width: 330px; margin: 36px 0 0; padding: 0; list-style: none; }
.ce-service__hours li { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-top: 1px solid rgba(255,255,255,.16); color: #b6a7c0; font-size: 14px; line-height: 1.5; }
.ce-service__hours li span:last-child { color: #fff; font-weight: 500; text-align: right; }
.ce-service__figure { margin: 0 0 -112px; overflow: hidden; border-radius: 6px; background: #4d4552; box-shadow: 0 0 0 1px rgba(137,70,152,.16); }
.ce-service__photo { display: block; width: 100%; height: 100%; min-height: 300px; object-fit: cover; object-position: center 32%; }
.ce-service__text { --ce-text-gap: 56px; display: grid; grid-template-columns: minmax(0,220px) minmax(0,1fr); column-gap: var(--ce-text-gap); padding-top: 104px; color: #4d4552; font-size: 17px; line-height: 1.8; }
.ce-service__text > * { grid-column: 2; }
.ce-service__text > h2 { position: relative; grid-column: 1; margin: 56px calc(var(--ce-text-gap) * -1) 0 0; padding: 30px var(--ce-text-gap) 0 0; border-top: 1px solid #e4dce8; color: #392e3e; font-size: 23px; line-height: 1.3; font-weight: 600; letter-spacing: -.4px; text-wrap: balance; }
.ce-service__text > h2::before { content: ""; position: absolute; top: -1px; left: 0; width: 48px; height: 2px; background: #894698; }
.ce-service__text > :first-child { margin-top: 0; }
.ce-service__text p { margin: 0 0 20px; font-size: inherit; line-height: inherit; text-wrap: pretty; }
.ce-service__text h3 { margin: 30px 0 10px; color: #392e3e; font-size: 19px; line-height: 1.4; font-weight: 600; }
.ce-service__text strong, .ce-service__text b { color: #392e3e; font-weight: 600; }
.ce-service__text p > strong:only-child { display: block; font-size: 18px; line-height: 1.5; }
.ce-service__text ul, .ce-service__text ol { margin: 0 0 24px; padding-left: 22px; }
.ce-service__text li { margin-bottom: 8px; padding-left: 4px; }
.ce-service__text li > p { margin: 0; }
.ce-service__text li::marker { color: #894698; }
.ce-service__text a { color: #894698; text-decoration: underline; text-underline-offset: 3px; }
.ce-service__text > h2 + * { margin-top: 56px; padding-top: 30px; border-top: 1px solid #e4dce8; }
.ce-service__text > h2:first-child, .ce-service__text > h2:first-child + * { margin-top: 0; }
.ce-service__text > :last-child { margin-bottom: 0; }
.ce-service a:focus-visible, .ce-results a:focus-visible, .ce-more a:focus-visible { outline: 2px solid #894698; outline-offset: 3px; }
.ce-service__hero a:focus-visible { outline-color: #fff; }
main .section.ce-results { margin-top: 0; padding: 80px 0; background: #f7f3f8; }
.ce-results__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.ce-results__heading h2 { margin: 0; color: #392e3e; font-size: 38px; line-height: 1.1; font-weight: 600; letter-spacing: -.6px; }
.ce-results__heading > a { display: inline-flex; align-items: center; min-height: 44px; color: #894698; font-size: 16px; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.ce-results__heading > a:hover { color: #392e3e; }
.ce-results__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; align-items: start; margin: 0; padding: 0; list-style: none; }
main .section.ce-steps { margin-top: 0; padding: 80px 0 88px; background: #392e3e; }
.ce-steps h2 { margin: 0 0 48px; color: #fff; font-size: 38px; line-height: 1.1; font-weight: 600; letter-spacing: -.6px; }
.ce-steps__list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0 32px; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.ce-steps__list li { position: relative; padding: 64px 0 0; color: #e6dcec; font-size: 17px; line-height: 1.6; counter-increment: step; text-wrap: pretty; }
.ce-steps__list li::before { content: counter(step); position: absolute; top: 0; left: 0; z-index: 1; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: #392e3e; color: #fff; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ce-steps__list li::after { content: ''; position: absolute; top: 20px; left: 40px; right: -32px; height: 1px; background: rgba(255,255,255,.22); }
.ce-steps__list li:last-child::after { display: none; }
.ce-steps__list li::before { animation: 6s ease-in-out infinite both; }
.ce-steps__list li:nth-child(1)::before { animation-name: ce-step-1; }
.ce-steps__list li:nth-child(2)::before { animation-name: ce-step-2; }
.ce-steps__list li:nth-child(3)::before { animation-name: ce-step-3; }
.ce-steps__list li:nth-child(4)::before { animation-name: ce-step-4; }
.ce-steps__list li:nth-child(5)::before { animation-name: ce-step-5; }
@keyframes ce-step-1 { 0%, 2%, 88%, 100% { border-color: rgba(255,255,255,.4); background: #392e3e; color: #fff; } 6%, 80% { border-color: #fff; background: #fff; color: #392e3e; } }
@keyframes ce-step-2 { 0%, 14%, 88%, 100% { border-color: rgba(255,255,255,.4); background: #392e3e; color: #fff; } 18%, 80% { border-color: #fff; background: #fff; color: #392e3e; } }
@keyframes ce-step-3 { 0%, 26%, 88%, 100% { border-color: rgba(255,255,255,.4); background: #392e3e; color: #fff; } 30%, 80% { border-color: #fff; background: #fff; color: #392e3e; } }
@keyframes ce-step-4 { 0%, 38%, 88%, 100% { border-color: rgba(255,255,255,.4); background: #392e3e; color: #fff; } 42%, 80% { border-color: #fff; background: #fff; color: #392e3e; } }
@keyframes ce-step-5 { 0%, 50%, 88%, 100% { border-color: rgba(255,255,255,.4); background: #392e3e; color: #fff; } 54%, 80% { border-color: #fff; background: #fff; color: #392e3e; } }
@media (prefers-reduced-motion: reduce) {
    .ce-steps__list li::before { animation: none; }
}
main .section.ce-more { margin-top: 0; padding: 88px 0 96px; }
.ce-more__heading { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; column-gap: 24px; padding-top: 30px; border-top: 1px solid #e4dce8; }
.ce-more__heading::before { content: ""; position: absolute; top: -1px; left: 0; width: 48px; height: 2px; background: #894698; }
.ce-more__heading h2 { margin: 0; color: #392e3e; font-size: 38px; line-height: 1.1; font-weight: 600; letter-spacing: -.6px; }
.ce-more__heading > a { display: inline-flex; align-items: center; min-height: 44px; color: #894698; font-size: 15px; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.ce-more__heading > a:hover { color: #392e3e; }
.ce-more__nav ul { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 32px 24px; margin: 32px 0 0; padding: 0; list-style: none; }
.ce-more__nav li a { display: flex; flex-direction: column; gap: 14px; height: 100%; color: #392e3e; text-align: center; font-size: 16px; line-height: 1.35; font-weight: 500; text-decoration: none; transition: color .2s ease; }
.ce-more__media { display: block; aspect-ratio: 4/3; overflow: hidden; border-radius: 6px; background: #f7f3f8; box-shadow: 0 0 0 1px rgba(137,70,152,.14); transition: box-shadow .2s ease; }
.ce-more__thumb { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ce-more__nav li a:hover { color: #894698; text-decoration: none; }
.ce-more__nav li a:hover .ce-more__thumb { transform: scale(1.05); }
.ce-more__nav li a[aria-current="page"] { color: #894698; font-weight: 600; }
.ce-more__nav li a[aria-current="page"] .ce-more__media { box-shadow: 0 0 0 2px #894698; }
@media (prefers-reduced-motion: reduce) {
    .ce-more__nav li a, .ce-more__media, .ce-more__thumb { transition: none; }
    .ce-more__nav li a:hover .ce-more__thumb { transform: none; }
}
@media (max-width: 1199px) {
    .ce-service__hero-grid { column-gap: 48px; }
    .ce-service__lede h1 { font-size: 44px; letter-spacing: -1px; }
    .ce-service__text { --ce-text-gap: 40px; grid-template-columns: minmax(0,190px) minmax(0,1fr); }
    .ce-service__text > h2 { font-size: 21px; }
    .ce-steps__list { column-gap: 24px; }
    .ce-steps__list li::after { right: -24px; }
    .ce-more__nav ul { column-gap: 20px; }
    .ce-more__nav li a { font-size: 15px; }
}
@media (max-width: 991px) {
    .ce-service__hero { padding: 44px 0 48px; }
    .ce-service__hero-grid { grid-template-columns: minmax(0,1fr); row-gap: 36px; }
    .ce-service__figure { max-width: 520px; margin: 0; }
    .ce-service__photo { height: auto; min-height: 0; aspect-ratio: 4/3; }
    .ce-service__text { display: block; padding-top: 48px; }
    .ce-service__text > h2 { margin: 44px 0 16px; padding: 22px 0 0; font-size: 26px; line-height: 1.25; letter-spacing: -.3px; }
    .ce-service__text > h2 + * { margin-top: 0; padding-top: 0; border-top: 0; }
    .ce-service__text > h2:first-child { margin-top: 0; }
    main .section.ce-results { padding: 64px 0; }
    .ce-results__list { gap: 20px; }
    main .section.ce-steps { padding: 64px 0; }
    .ce-steps h2 { margin-bottom: 36px; }
    .ce-steps__list { grid-template-columns: minmax(0,1fr); max-width: 600px; row-gap: 28px; }
    .ce-steps__list li { min-height: 40px; padding: 8px 0 0 64px; }
    .ce-steps__list li::after { top: 40px; left: 20px; right: auto; bottom: -28px; width: 1px; height: auto; }
    main .section.ce-more { padding: 64px 0 72px; }
    .ce-more__heading { padding-top: 24px; }
    .ce-more__heading h2 { font-size: 34px; }
    .ce-more__nav ul { grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 24px; }
}
@media (max-width: 767px) {
    .ce-service__figure { max-width: none; }
    .ce-results__list { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .ce-service__call { width: 100%; justify-content: center; }
}
@media (max-width: 575px) {
    main .section.ce-service { padding: 0 0 48px; }
    .ce-service__hero { padding: 32px 0 40px; }
    .ce-service__lede h1 { font-size: 33px; letter-spacing: -.6px; }
    .ce-service__lead { font-size: 17px; line-height: 1.65; }
    .ce-service__actions { margin-top: 26px; }
    .ce-service__hours { max-width: none; margin-top: 28px; }
    .ce-service__text { padding-top: 36px; font-size: 16px; line-height: 1.75; }
    .ce-service__text > h2 { margin-top: 34px; font-size: 23px; }
    main .section.ce-results { padding: 48px 0; }
    .ce-results__heading h2, .ce-steps h2 { font-size: 29px; letter-spacing: -.4px; }
    main .section.ce-steps { padding: 48px 0; }
    .ce-steps__list { row-gap: 24px; }
    .ce-steps__list li { padding-left: 56px; }
    .ce-steps__list li::after { bottom: -24px; }
    main .section.ce-more { padding: 48px 0 56px; }
    .ce-more__heading h2 { font-size: 29px; letter-spacing: -.4px; }
    .ce-more__nav ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; }
    .ce-more__nav li a { gap: 10px; }
}
main .section.ce-prices { margin-top: 0; padding: 0 0 16px; }
.ce-page-hero { position: relative; padding: 64px 0 60px; background: #392e3e; }
.ce-service__hero { position: relative; }
.ce-page-hero::before, .ce-service__hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 260' preserveAspectRatio='xMaxYMid slice' fill='none' stroke-linecap='round'%3E%3Cstyle%3E.a,.b,.c,.d{animation:m 4s linear infinite}.b{animation-duration:5s;animation-direction:reverse}.c{animation-duration:6s}.d{animation-name:n;animation-direction:reverse}@keyframes m{to{stroke-dashoffset:-32}}@keyframes n{to{stroke-dashoffset:-20}}%3C/style%3E%3Cdefs%3E%3ClinearGradient id='h'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='.45' stop-color='%23fff'/%3E%3C/linearGradient%3E%3ClinearGradient id='v' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='.12' stop-color='%23fff'/%3E%3Cstop offset='.78' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='k'%3E%3Cstop offset='0' stop-color='%23b98ac6' stop-opacity='0'/%3E%3Cstop offset='.4' stop-color='%23b98ac6'/%3E%3C/linearGradient%3E%3Cmask id='mh'%3E%3Crect width='1000' height='260' fill='url(%23h)'/%3E%3C/mask%3E%3Cmask id='mv'%3E%3Crect width='1000' height='260' fill='url(%23v)'/%3E%3C/mask%3E%3C/defs%3E%3Cg mask='url(%23mh)'%3E%3Cg mask='url(%23mv)'%3E%3Cg stroke='%23d9c6df' stroke-width='1.4' stroke-dasharray='7 9'%3E%3Cpath class='a' d='M180 300C330 190 400 70 590 76s300 140 450 40'/%3E%3Cpath class='b' d='M380-30c80 100 170 170 320 170s240-90 330-160'/%3E%3Cpath class='c' d='M600 300c60-70 170-90 240-60s110 70 180 20'/%3E%3C/g%3E%3Cpath class='d' d='M700 36c70-34 170-8 186 70 14 70-56 118-138 102' stroke='url(%23k)' stroke-width='1.6' stroke-dasharray='3 7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") right center / auto 100% no-repeat; opacity: .5; -webkit-mask-image: linear-gradient(90deg, transparent 35%, #000 75%); mask-image: linear-gradient(90deg, transparent 35%, #000 75%); }
.ce-page-hero::after, .ce-service__hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 260' fill='none' stroke-linecap='round'%3E%3Cstyle%3E.a,.b,.d{animation:m 5s linear infinite}.b{animation-duration:6s;animation-direction:reverse}.d{animation-name:n}@keyframes m{to{stroke-dashoffset:-32}}@keyframes n{to{stroke-dashoffset:-20}}%3C/style%3E%3Cdefs%3E%3ClinearGradient id='h'%3E%3Cstop offset='.3' stop-color='%23fff'/%3E%3Cstop offset='.75' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='v' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='.12' stop-color='%23fff'/%3E%3Cstop offset='.78' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='k'%3E%3Cstop offset='.5' stop-color='%23b98ac6'/%3E%3Cstop offset='1' stop-color='%23b98ac6' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cmask id='mh'%3E%3Crect width='900' height='260' fill='url(%23h)'/%3E%3C/mask%3E%3Cmask id='mv'%3E%3Crect width='900' height='260' fill='url(%23v)'/%3E%3C/mask%3E%3C/defs%3E%3Cg mask='url(%23mh)'%3E%3Cg mask='url(%23mv)'%3E%3Cg stroke='%23d9c6df' stroke-width='1.3' stroke-dasharray='7 9'%3E%3Cpath class='a' d='M-40 210c120-60 230-40 340 0s250 40 380-30 220-80 260-60'/%3E%3Cpath class='b' d='M-30 60c90 40 200 60 300 20s200-90 330-50'/%3E%3C/g%3E%3Cpath class='d' d='M120 290c40-80 140-110 230-80' stroke='url(%23k)' stroke-width='1.4' stroke-dasharray='3 7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") left center / auto 100% no-repeat; opacity: .26; -webkit-mask-image: linear-gradient(90deg, #000 40%, transparent 75%); mask-image: linear-gradient(90deg, #000 40%, transparent 75%); }
.ce-service__hero::before { background-position: right top; background-size: auto 260px; }
.ce-service__hero::after { background-position: left top; background-size: auto 260px; opacity: .14; }
.ce-page-hero .container, .ce-service__hero .container { position: relative; z-index: 1; }
.ce-page-hero .container { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "title actions" "lead actions"; column-gap: 48px; align-items: end; }
.ce-page-hero h1 { grid-area: title; margin: 0; color: #fff; font-size: 52px; line-height: 1.06; font-weight: 600; letter-spacing: -1.2px; text-wrap: balance; }
.ce-page-hero__lead { grid-area: lead; max-width: 60ch; margin: 18px 0 0; color: #d6c9de; font-size: 18px; line-height: 1.65; text-wrap: pretty; }
.ce-page-hero__actions { grid-area: actions; display: flex; flex-wrap: wrap; gap: 12px; }
.ce-page-hero__button { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 26px; border: 1px solid #fff; border-radius: 6px; background: #fff; color: #392e3e; font-size: 16px; font-weight: 600; white-space: nowrap; text-decoration: none; transition: background-color .2s, border-color .2s, color .2s; }
.ce-page-hero__button:hover, .ce-page-hero__button:focus { border-color: #894698; background: #894698; color: #fff; text-decoration: none; }
.ce-page-hero__button--ghost { border-color: rgba(255,255,255,.4); background: transparent; color: #fff; }
.ce-page-hero__button--ghost:hover, .ce-page-hero__button--ghost:focus { border-color: #fff; background: transparent; }
.ce-page-hero__button i { font-size: 17px; }
.ce-page-hero a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.page-content .ce-page-hero + .section.page-content-first { margin-top: 56px; }
.ce-page-hero--tall { padding: 128px 0 136px; }
@media (max-width: 1199px) {
    .ce-page-hero h1 { font-size: 44px; letter-spacing: -1px; }
}
@media (max-width: 991px) {
    .page-content .ce-page-hero + .section.page-content-first { margin-top: 40px; }
    .ce-page-hero { padding: 44px 0 48px; }
    .ce-page-hero--tall { padding: 88px 0 96px; }
    .ce-page-hero .container { grid-template-columns: minmax(0,1fr); grid-template-areas: "title" "lead" "actions"; }
    .ce-page-hero__actions { margin-top: 26px; }
}
@media (max-width: 767px) {
    .ce-page-hero__actions { display: grid; grid-template-columns: minmax(0,1fr); }
    .ce-page-hero__button { justify-content: center; }
}
@media (max-width: 575px) {
    .page-content .ce-page-hero + .section.page-content-first { margin-top: 32px; }
    .ce-page-hero { padding: 32px 0 40px; }
    .ce-page-hero--tall { padding: 64px 0 72px; }
    .ce-page-hero::before, .ce-service__hero::before { opacity: .3; }
    .ce-page-hero::after { opacity: .16; }
    .ce-page-hero h1 { font-size: 33px; letter-spacing: -.6px; }
    .ce-page-hero__lead { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .ce-page-hero__button { transition: none; }
    .ce-page-hero::before, .ce-service__hero::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 260' preserveAspectRatio='xMaxYMid slice' fill='none' stroke-linecap='round'%3E%3Cdefs%3E%3ClinearGradient id='h'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='.45' stop-color='%23fff'/%3E%3C/linearGradient%3E%3ClinearGradient id='v' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='.12' stop-color='%23fff'/%3E%3Cstop offset='.78' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='k'%3E%3Cstop offset='0' stop-color='%23b98ac6' stop-opacity='0'/%3E%3Cstop offset='.4' stop-color='%23b98ac6'/%3E%3C/linearGradient%3E%3Cmask id='mh'%3E%3Crect width='1000' height='260' fill='url(%23h)'/%3E%3C/mask%3E%3Cmask id='mv'%3E%3Crect width='1000' height='260' fill='url(%23v)'/%3E%3C/mask%3E%3C/defs%3E%3Cg mask='url(%23mh)'%3E%3Cg mask='url(%23mv)'%3E%3Cg stroke='%23d9c6df' stroke-width='1.4' stroke-dasharray='7 9'%3E%3Cpath class='a' d='M180 300C330 190 400 70 590 76s300 140 450 40'/%3E%3Cpath class='b' d='M380-30c80 100 170 170 320 170s240-90 330-160'/%3E%3Cpath class='c' d='M600 300c60-70 170-90 240-60s110 70 180 20'/%3E%3C/g%3E%3Cpath class='d' d='M700 36c70-34 170-8 186 70 14 70-56 118-138 102' stroke='url(%23k)' stroke-width='1.6' stroke-dasharray='3 7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
    .ce-page-hero::after, .ce-service__hero::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 260' fill='none' stroke-linecap='round'%3E%3Cdefs%3E%3ClinearGradient id='h'%3E%3Cstop offset='.3' stop-color='%23fff'/%3E%3Cstop offset='.75' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='v' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='.12' stop-color='%23fff'/%3E%3Cstop offset='.78' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='k'%3E%3Cstop offset='.5' stop-color='%23b98ac6'/%3E%3Cstop offset='1' stop-color='%23b98ac6' stop-opacity='0'/%3E%3C/linearGradient%3E%3Cmask id='mh'%3E%3Crect width='900' height='260' fill='url(%23h)'/%3E%3C/mask%3E%3Cmask id='mv'%3E%3Crect width='900' height='260' fill='url(%23v)'/%3E%3C/mask%3E%3C/defs%3E%3Cg mask='url(%23mh)'%3E%3Cg mask='url(%23mv)'%3E%3Cg stroke='%23d9c6df' stroke-width='1.3' stroke-dasharray='7 9'%3E%3Cpath class='a' d='M-40 210c120-60 230-40 340 0s250 40 380-30 220-80 260-60'/%3E%3Cpath class='b' d='M-30 60c90 40 200 60 300 20s200-90 330-50'/%3E%3C/g%3E%3Cpath class='d' d='M120 290c40-80 140-110 230-80' stroke='url(%23k)' stroke-width='1.4' stroke-dasharray='3 7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
}
.ce-prices__layout { display: grid; grid-template-columns: minmax(0,240px) minmax(0,1fr); column-gap: 64px; align-items: start; padding-top: 72px; }
.ce-prices__nav { position: sticky; top: 104px; max-height: calc(100vh - 128px); overflow-y: auto; overscroll-behavior: contain; }
.ce-prices__nav h2 { margin: 0 0 12px; color: #6b6170; font-size: 13px; line-height: 1.4; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; }
.ce-prices__nav ul { margin: 0; padding: 0; border-left: 1px solid #e4dce8; list-style: none; }
.ce-prices__nav a { display: flex; align-items: center; min-height: 40px; margin-left: -1px; padding: 6px 0 6px 16px; border-left: 2px solid transparent; color: #4d4552; font-size: 15px; line-height: 1.35; text-decoration: none; }
.ce-prices__nav a:hover { border-left-color: #894698; color: #894698; text-decoration: none; }
.ce-prices__nav a[aria-current] { border-left-color: #894698; color: #894698; }
.ce-prices__group { scroll-margin-top: 104px; }
.ce-prices__group + .ce-prices__group { margin-top: 64px; }
.ce-prices__group-heading { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; column-gap: 24px; padding-top: 26px; border-top: 1px solid #e4dce8; }
.ce-prices__group-heading::before { content: ""; position: absolute; top: -1px; left: 0; width: 48px; height: 2px; background: #894698; }
.ce-prices__group-heading h2 { margin: 0; color: #392e3e; font-size: 28px; line-height: 1.2; font-weight: 600; letter-spacing: -.5px; }
.ce-prices__group-heading a { display: inline-flex; align-items: center; min-height: 44px; color: #894698; font-size: 15px; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.ce-prices__group-heading a:hover { color: #392e3e; }
.ce-prices__description { margin-top: 14px; color: #4d4552; font-size: 16px; line-height: 1.75; }
.ce-prices__description p { margin: 0 0 12px; }
.ce-prices__description > :last-child { margin-bottom: 0; }
.ce-prices__description strong { color: #392e3e; font-weight: 600; }
.ce-prices__group--note { padding: 0 32px 32px; border-radius: 6px; background: #f7f3f8; }
.ce-prices__group--note .ce-prices__group-heading { border-top: 0; }
.ce-prices__group--note .ce-prices__group-heading::before { left: 0; }
.ce-prices__items { margin: 12px 0 0; padding: 0; list-style: none; }
.ce-prices__items li { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: 40px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid #e4dce8; }
.ce-prices__item-text h3 { margin: 0; color: #392e3e; font-size: 17px; line-height: 1.45; font-weight: 500; text-wrap: pretty; }
.ce-prices__item-text p { margin: 4px 0 0; color: #6b6170; font-size: 15px; line-height: 1.55; text-wrap: pretty; }
.ce-prices__item-text .ce-prices__stay { margin-top: 8px; color: #894698; font-size: 14px; font-weight: 500; }
.ce-prices__amount { margin: 0; color: #392e3e; font-size: 20px; line-height: 1.3; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.ce-prices__amount span { color: #6b6170; font-size: 14px; font-weight: 500; }
.ce-prices a:focus-visible { outline: 2px solid #894698; outline-offset: 3px; }
@media (max-width: 1199px) {
    .ce-prices__layout { grid-template-columns: minmax(0,210px) minmax(0,1fr); column-gap: 44px; }
}
@media (max-width: 991px) {
    .ce-prices__layout { display: block; padding-top: 40px; }
    .ce-prices__nav { position: static; max-height: none; margin: 0 -15px 48px; overflow: visible; }
    .ce-prices__nav h2 { padding: 0 15px; }
    .ce-prices__nav ul { display: flex; gap: 8px; padding: 0 15px 4px; overflow-x: auto; border-left: 0; scrollbar-width: none; }
    .ce-prices__nav ul::-webkit-scrollbar { display: none; }
    .ce-prices__nav a { min-height: 44px; margin: 0; padding: 0 16px; border: 1px solid #e4dce8; border-radius: 22px; white-space: nowrap; }
    .ce-prices__nav a:hover { border-color: #894698; }
    .ce-prices__nav a[aria-current] { border-color: #894698; background: #894698; color: #fff; }
    .ce-prices__group { scroll-margin-top: 88px; }
}
@media (max-width: 575px) {
    .ce-prices__group + .ce-prices__group { margin-top: 48px; }
    .ce-prices__group-heading h2 { font-size: 23px; }
    .ce-prices__group--note { margin-left: -15px; margin-right: -15px; padding: 0 15px 24px; border-radius: 0; }
    .ce-prices__items li { column-gap: 16px; padding: 16px 0; }
    .ce-prices__item-text h3 { font-size: 16px; }
    .ce-prices__amount { font-size: 17px; }
}
.ce-gallery-filter { margin: 8px 0 48px; border-top: 1px solid #e4dce8; border-bottom: 1px solid #e4dce8; }
.ce-gallery-filter ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 8px; margin: 0; padding: 0; list-style: none; }
.ce-gallery-filter a { position: relative; display: flex; align-items: center; min-height: 56px; padding: 0 14px; color: #6b6170; font-size: 15px; font-weight: 500; line-height: 1.3; white-space: nowrap; text-decoration: none; transition: color .2s; }
.ce-gallery-filter a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 2px; background: #894698; transform: scaleX(0); transition: transform .2s; }
.ce-gallery-filter a:hover { color: #392e3e; text-decoration: none; }
.ce-gallery-filter a[aria-current="page"] { color: #392e3e; font-weight: 600; }
.ce-gallery-filter a[aria-current="page"]::after { transform: scaleX(1); }
.ce-gallery-filter a:focus-visible { outline: 2px solid #894698; outline-offset: -2px; }
@media (max-width: 991px) {
    .ce-gallery-filter { margin: 0 -15px 32px; border-top: 0; }
    .ce-gallery-filter ul { flex-wrap: nowrap; justify-content: flex-start; gap: 0; padding: 0 3px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
    .ce-gallery-filter ul::-webkit-scrollbar { display: none; }
    .ce-gallery-filter li { flex: none; scroll-snap-align: start; }
    .ce-gallery-filter a { min-height: 48px; padding: 0 12px; }
    .ce-gallery-filter a::after { left: 12px; right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .ce-gallery-filter a, .ce-gallery-filter a::after { transition: none; }
}

@media (hover: hover) {
    .ce-gallery-filter a:not([aria-current="page"]):hover::after { background: #d9c6df; transform: scaleX(1); }
    .ce-prices__items li { padding-left: 12px; padding-right: 12px; transition: background-color .2s; }
    .ce-prices__items li:hover { background: #f7f3f8; }
    .ce-prices__group--note .ce-prices__items li:hover { background: #fff; }
    .ce-prices__items li .ce-prices__amount { transition: color .2s; }
    .ce-prices__items li:hover .ce-prices__amount { color: #894698; }
}
@media (hover: hover) and (prefers-reduced-motion: reduce) {
    .ce-prices__items li, .ce-prices__items li .ce-prices__amount { transition: none; }
}

main .section.ce-contacts { margin-top: 0; padding: 0; }
.ce-contacts__layout { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); column-gap: 64px; align-items: stretch; padding-top: 64px; }
.ce-contacts__details { margin: 0; }
.ce-contacts__row { display: grid; grid-template-columns: 190px minmax(0,1fr); column-gap: 24px; padding: 26px 0; border-top: 1px solid #e4dce8; }
.ce-contacts__row:last-child { border-bottom: 1px solid #e4dce8; }
.ce-contacts__row > dt { display: flex; align-items: center; gap: 10px; align-self: start; min-height: 44px; color: #6b6170; font-size: 15px; font-weight: 500; }
.ce-contacts__row > dt i { color: #894698; font-size: 20px; }
.ce-contacts__row > dd { margin: 0; }
.ce-contacts__value { display: flex; align-items: center; min-height: 44px; color: #392e3e; font-size: 19px; line-height: 1.5; font-weight: 600; font-variant-numeric: tabular-nums; text-decoration: none; overflow-wrap: anywhere; }
.ce-contacts__value:hover { color: #894698; text-decoration: none; }
.ce-contacts__messengers { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ce-contacts__messengers a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid #e4dce8; border-radius: 6px; color: #4d4552; font-size: 14px; font-weight: 500; text-decoration: none; transition: border-color .2s, color .2s; }
.ce-contacts__messengers a:hover { border-color: #894698; color: #894698; text-decoration: none; }
.ce-contacts__messengers .ce-brand-icon { width: 18px; height: 18px; color: #894698; }
.ce-contacts__schedule { margin: 0; }
.ce-contacts__schedule > div { display: flex; align-items: baseline; gap: 10px; padding: 3px 0; font-size: 16px; line-height: 1.6; }
.ce-contacts__schedule dt { display: flex; flex: 1; align-items: baseline; gap: 10px; min-width: 0; color: #4d4552; font-weight: 400; white-space: nowrap; }
.ce-contacts__schedule dt::after { content: ""; flex: 1; min-width: 16px; border-bottom: 2px dotted #d9c6df; }
.ce-contacts__schedule dd { margin: 0; color: #392e3e; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ce-contacts a:focus-visible { outline: 2px solid #894698; outline-offset: 3px; }

.ce-contacts__map { min-height: 440px; border-radius: 6px; overflow: hidden; background: #f7f3f8; }
.ce-contacts__map .ce-map-placeholder { height: 100%; min-height: 440px; background: #f7f3f8; }
.ce-contacts__map .ce-map-placeholder iframe, .ce-contacts__map > iframe { height: 100%; min-height: 440px; }
.ce-contacts__map .ce-map-placeholder__panel { height: 100%; min-height: 440px; }

@media (max-width: 1199px) {
    .ce-contacts__layout { column-gap: 40px; }
    .ce-contacts__row { grid-template-columns: minmax(0,1fr); row-gap: 4px; }
    .ce-contacts__row > dt { min-height: 28px; }
}
@media (max-width: 991px) {
    .ce-contacts__layout { grid-template-columns: minmax(0,1fr); row-gap: 40px; padding-top: 40px; }
    .ce-contacts__row { grid-template-columns: 190px minmax(0,1fr); }
    .ce-contacts__row > dt { min-height: 44px; }
    .ce-contacts__map, .ce-contacts__map .ce-map-placeholder, .ce-contacts__map .ce-map-placeholder iframe, .ce-contacts__map .ce-map-placeholder__panel { min-height: 360px; }
}
@media (max-width: 575px) {
    .ce-contacts__row { grid-template-columns: minmax(0,1fr); row-gap: 4px; padding: 22px 0; }
    .ce-contacts__row > dt { min-height: 28px; }
    .ce-contacts__value { font-size: 18px; }
    .ce-contacts__map { margin: 0 -15px; border-radius: 0; }
}
@media (max-width: 767px) {
    .ce-contacts__messengers { flex-direction: column; gap: 10px; }
    .ce-contacts__messengers a { justify-content: center; width: 100%; min-height: 52px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .ce-contacts__messengers a { transition: none; }
}

.breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; }
.breadcrumbs-wrap { padding: 8px 0; }
.ce-procedures__gallery .slick-prev::after, .ce-procedures__gallery .slick-next::after { content: ""; position: absolute; inset: 0 -7px; }
.ce-ba__badge { font-size: 12px; }
@media (max-width: 767px) {
    .ce-cookie-banner__actions { flex-direction: column; }
    .ce-cookie-banner__actions .btn { width: 100%; min-height: 48px; }
    .ce-cookie-modal__footer { flex-direction: column-reverse; gap: 8px; padding: 12px 16px; }
    .ce-cookie-modal__footer .btn { flex: none; width: 100%; min-height: 48px; font-size: 15px; }
}

@media (min-width: 1230px) {
    .header-nav .ce-nav-lang .nav-link { width: 44px; height: 44px; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 0; margin-left: 0; border: 1px solid #d9c6df; border-radius: 50%; color: #894698; font-size: 13px; font-weight: 600; }
    .header-nav .ce-nav-lang .nav-link:focus-visible { outline: 2px solid #894698; outline-offset: -2px; }
}

@media (max-width: 1229px) {
    .header-mobile-top .header-button-wrap { gap: 8px; }
    .header-mobile-top .header-button-wrap .btn { width: 36px; height: 36px !important; padding: 0 !important; margin: 0 !important; justify-content: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; }
    .header-mobile-top .header-button-wrap .btn + .btn::before { display: none; }
}

@media (min-width: 1230px) {
    .header-nav .navbar-nav .ce-nav-lang { margin-left: 16px; padding-left: 0; padding-right: 0; }
    .header-nav .navbar-nav .ce-nav-lang + .ce-nav-lang { margin-left: 6px; }
}

@media (max-width: 767px) {
    .ce-gallery-filter { margin: 0 0 32px; border: 0; }
    .ce-gallery-filter ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; overflow: visible; }
    .ce-gallery-filter li { min-width: 0; }
    .ce-gallery-filter a { min-height: 48px; height: 100%; justify-content: center; text-align: center; padding: 10px 8px; border: 1px solid #e4dce8; border-radius: 6px; white-space: normal; font-size: 14px; }
    .ce-gallery-filter a[aria-current="page"] { background: #894698; border-color: #894698; color: #fff; }
    .ce-gallery-filter a::after { display: none; }
}
