/* Layout sizes follow the two approved Figma compositions. */
.design img{max-width:none}.design [data-name="image"]{isolation:isolate}
:root{--ink:#11375d;--blue:#3688e8;--pale:#e0ebff;--button:linear-gradient(90deg,#c183ff,#f6b3df);color-scheme:light}
*{box-sizing:border-box;border-width:0;border-style:solid}html{scroll-behavior:smooth;scroll-padding-top:16px}body{margin:0;background:var(--pale);font-family:Rubik,Arial,sans-serif;color:var(--ink)}p,h1,h2,h3{margin:0}a{color:inherit;text-decoration:inherit}button,input{font:inherit}button{color:inherit;background:transparent;padding:0;cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,[tabindex]:focus-visible,input:focus-visible{outline:3px solid #9544d4;outline-offset:4px}.page-section{width:100%;overflow:hidden}.desktop-viewport,.mobile-viewport{position:relative;margin-inline:auto}.desktop-viewport{max-width:1920px}.mobile-viewport{display:none}.design{transform-origin:top left;transform:scale(var(--view-scale,1))}.design a,.design button{touch-action:manipulation}.cta{transition:filter .18s ease}@media(hover:hover) and (pointer:fine){.cta:hover{filter:brightness(1.045)}}.cta p{pointer-events:none}.text-button{text-align:left;text-decoration:underline}.carousel{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;outline-offset:2px}.carousel::-webkit-scrollbar{display:none}.carousel-card{scroll-snap-align:start}.pagination{display:flex;align-items:center;justify-content:center;gap:0;height:28px!important}.pagination button{width:28px;height:28px;position:relative}.pagination button:before{content:'';display:block;background:#bcd4f8;width:6px;height:6px;border-radius:50%;margin:auto;transition:width .15s}.pagination button[aria-current="true"]:before{width:18px;border-radius:5px;background:var(--blue)}.pagination:empty{display:none}.skip-link{position:fixed;z-index:99;top:-80px;left:16px;padding:12px;background:white;border-radius:8px}.skip-link:focus{top:12px}
dialog{border:none;border-radius:24px;width:min(480px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:32px;color:var(--ink);box-shadow:0 20px 80px #11375d33}dialog::backdrop{background:#17335488;backdrop-filter:blur(5px)}dialog h2{font:700 28px/1.15 Jost,Arial,sans-serif;margin:0 32px 24px 0}.dialog-close{position:absolute;top:12px;right:12px;width:40px;height:40px;font-size:30px;color:var(--ink)}form{display:grid;gap:14px}form>label{font-size:14px;display:grid;gap:8px}input[type="text"],input[type="tel"]{border:1px solid #bdd2ec;background:#f5f8ff;border-radius:12px;width:100%;padding:14px;font-size:16px;color:var(--ink)}.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5}.consent input{width:18px;height:18px;flex:none;accent-color:var(--blue)}.consent a,#info-body a{text-decoration:underline}.form-submit{border-radius:40px;background:var(--button);color:white;font-weight:700;padding:16px;text-transform:uppercase;font-size:14px}.field-error{font-size:12px;color:#a12a49}.field-error:empty{display:none}.demo-note,#form-status{font-size:12px;line-height:1.5}#form-status:not(:empty){padding:12px;border-radius:12px;background:var(--pale)}#info-body{font-size:16px;line-height:1.5}#info-body p+p{margin-top:12px}.modal-open{overflow:hidden}
.doctor-carousel{display:flex;gap:12px;width:328px;height:468px;overflow-x:auto;overflow-y:hidden;position:relative;flex-shrink:0}.doctor-carousel>[data-slide]{flex:0 0 328px;width:328px}.doctor-mobile-card{height:467.4px;position:relative;border-radius:23.429px;background:linear-gradient(131deg,#c5d9fb,#b2daff);padding:34px 20px;text-align:center;overflow:hidden}.doctor-mobile-card h3{font:700 23px/1.1 Jost,Arial,sans-serif;margin:0 0 12px;text-transform:uppercase;color:#3d5c93}.doctor-mobile-card p{font:400 14px/1.3 Rubik,Arial,sans-serif}.doctor-mobile-card img{position:absolute;bottom:58px;left:54px;width:220px;height:260px;object-fit:contain;object-position:bottom}.doctor-mobile-card .form-submit{position:absolute;left:11px;right:11px;bottom:19px;height:56px;font-size:14px}
@media(max-width:959px){.desktop-viewport{display:none}.mobile-viewport{display:block}.page-section{scroll-margin-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;scroll-behavior:auto!important}}

/* Motion uses independent translate/scale so Figma transforms stay intact. */
:root{--motion-ease:cubic-bezier(.2,.75,.25,1);--motion-fast:220ms}
:where(button,a,[role="button"],input,select,textarea,summary){transition:translate var(--motion-fast) var(--motion-ease),scale var(--motion-fast) var(--motion-ease),filter var(--motion-fast) ease,box-shadow var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease}
:where(button,a,[role="button"],summary){-webkit-tap-highlight-color:transparent}
@media(hover:hover) and (pointer:fine){
 :where(button,[role="button"],summary):not(:disabled):not([data-action="reveal"]):hover{translate:0 -2px;filter:brightness(1.07)}
 a:hover{filter:brightness(1.07)}
 #home a:hover{color:var(--blue)}
 :where(.cta,.form-submit):not(:disabled):hover{box-shadow:0 9px 24px #9656b42e;filter:brightness(1.055)}
 .pagination button:hover:before{background:#3688e8;scale:1.2;box-shadow:0 0 0 4px #3688e820}
 .dialog-close:hover{rotate:90deg;background:#eaf2ff;border-radius:50%}
 input:hover,select:hover,textarea:hover{border-color:var(--blue);box-shadow:0 0 0 3px #3688e812}
}
:where(button,[role="button"]):not(:disabled):not([data-action="reveal"]):active{scale:.98}
 #home a:active{color:var(--blue)}
.dialog-close{transition:rotate .25s var(--motion-ease),background .25s}
.pagination button:before{transition:width .2s,scale .2s,background .2s,box-shadow .2s}
.heading-enter{animation:heading-enter 950ms var(--motion-ease) 120ms both}
@keyframes heading-enter{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:hover,[role="button"]:hover{scale:none}.dialog-close:hover{rotate:none}}

[hidden]{display:none!important}
.doctor-full-portrait{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center bottom!important}
.doctor-thumbnail img{object-fit:contain;width:100%;height:100%}
.doctor-carousel .v775{font-size:12px;line-height:1.25}
.doctor-carousel .v761,.doctor-carousel .v768{font-size:10px;line-height:1.2}
.legal-details{background:#f0f5ff;border-radius:16px;padding:16px;margin:18px 0}.legal-details>div{display:flex;justify-content:space-between;gap:16px;padding:5px 0}.legal-details dt{color:#60748b}.legal-details dd{margin:0;font-weight:600}.license-open{width:100%;margin-top:24px}
#license-dialog{width:min(900px,calc(100% - 24px));padding:24px}#license-dialog h2{margin-bottom:12px}.license-stage{height:min(68svh,800px);overflow:auto;background:#eef3fa;border-radius:12px;touch-action:pan-y}.license-zoom{display:block;width:100%;height:100%;cursor:zoom-in}.license-zoom img{width:100%;height:100%;object-fit:contain}.license-zoom[aria-pressed="true"]{width:160%;height:auto;cursor:zoom-out}.license-zoom[aria-pressed="true"] img{height:auto}.license-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:12px}.license-controls button{background:#e9f1fe;border-radius:50%;width:44px;height:44px;font-size:24px}.license-zoom:hover,.license-zoom:active{translate:none;scale:none;filter:none}
#video-dialog{width:min(820px,calc(100% - 24px))}#video-dialog video{display:block;width:100%;max-height:70svh;background:#102237;border-radius:12px;aspect-ratio:16/9}#video-dialog h2{font-size:24px}.video-error{margin-top:14px}.video-error a{text-decoration:underline}
#doctors .v707,#doctors .v716{font-family:Rubik,Arial,sans-serif;font-size:14px;line-height:1.22}#doctors .v748{font-size:22px;line-height:1.25;white-space:normal;max-width:690px}#doctors .v760,#doctors .v766{font-size:10.543px;line-height:1.22;font-family:Rubik,Arial,sans-serif;font-weight:500}#doctors .v729,#doctors .v724,#doctors .v735{white-space:normal;font-size:12px;line-height:1.2}

.doctor-carousel .v757,.doctor-carousel .v763{z-index:2;background:#e0ebff}.doctor-carousel .v760,.doctor-carousel .v766{z-index:3;width:36%;font-size:10px}.doctor-carousel .v769{z-index:1}
@media(hover:hover) and (pointer:fine){.carousel{cursor:grab;transition:box-shadow .22s ease}.carousel:hover{box-shadow:0 3px 12px #3688e812}.carousel:active{cursor:grabbing}}

/* Before-treatment covers stay aligned with the photo on hover and press. */
[data-action="reveal"]{translate:none;scale:none;filter:none}
[data-action="reveal"]>div{transition:opacity .22s ease,filter .22s ease}
[data-action="reveal"] [data-name="Closed_eye"]{transition:scale .25s var(--motion-ease),filter .25s ease}
@media(hover:hover) and (pointer:fine){
 [data-action="reveal"][aria-pressed="false"]:hover>div:first-child{filter:brightness(1.08)}
 [data-action="reveal"][aria-pressed="false"]:hover [data-name="Closed_eye"]{scale:1.09;filter:drop-shadow(0 0 7px #ffffff66)}
}
@media(prefers-reduced-motion:reduce){[data-action="reveal"] [data-name="Closed_eye"]{scale:none!important}}

/* Stable team layout: natural text flow and bounded selector content. */
#doctors .doctor-main-heading{position:absolute;left:637px;top:330px;width:650px;display:grid;gap:10px}
#doctors .doctor-main-heading .v747,#doctors .doctor-main-heading .v748{position:static;max-width:100%;width:100%;white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.15}
#doctors .doctor-main-heading .v747{font-size:32px;line-height:1.3;white-space:pre-line}
#doctors .doctor-main-heading .v748{font-size:22px;line-height:1.25}
#doctors .v746{top:468px;height:78px}
#doctors .v750{top:480px;font-size:17px;width:580px;line-height:1.2}
#doctors .v701{top:249px;height:589px;border-radius:20px 0 0 20px}
#doctors .v702{border-radius:20px 0 0 20px}
.doctor-selectors{position:absolute;left:730px;top:645px;display:grid;grid-template-columns:repeat(3,279px);gap:20px}
.doctor-select-card{position:relative;display:block;width:279px;height:160px;border-radius:10px;overflow:hidden;background:#e0ebff;text-align:left;cursor:pointer;color:#3d5c93}
.doctor-select-card>*{pointer-events:none}
.doctor-select-name{position:absolute;left:14px;top:12px;width:163px;font:600 17px/1.2 Rubik,Arial,sans-serif;overflow-wrap:normal;z-index:1}
.design .doctor-select-card img{position:absolute;right:0;bottom:0;width:108px;height:154px;object-fit:contain;object-position:center bottom}
.doctor-select-specialty{position:absolute;left:12px;right:12px;bottom:10px;min-height:46px;display:flex;align-items:center;justify-content:center;padding:6px 10px;background:#fff;border-radius:18px;font:400 14px/1.15 Rubik,Arial,sans-serif;text-align:center;white-space:normal;overflow-wrap:anywhere;z-index:2}
.doctor-carousel .v774{font-size:21px;line-height:1.3;white-space:pre-line}
.doctor-carousel .v775{margin-top:117px;line-height:1.25;font-size:12px}
.doctor-carousel .v769{height:350px;margin-top:145px;width:300px;margin-left:125px;border-radius:0;overflow:visible}
#doctors .doctor-carousel .v769 .doctor-full-portrait{inset:auto!important;left:0!important;top:0!important;height:350px!important;width:auto!important;max-width:none!important;object-position:left top!important}
.doctor-carousel .v771,.doctor-carousel .v782{z-index:4}
.doctor-carousel .v770{display:none}

#doctors .desktop-design .v701:has(.doctor-portrait-fill){width:592px}
#doctors .desktop-design .doctor-portrait-fill{object-fit:contain!important;object-position:left bottom!important}
#doctors .desktop-design .v736,#doctors .desktop-design .v737{z-index:3;cursor:pointer}

.design .doctor-select-card img.doctor-select-fill{height:160px;width:auto;max-width:none;object-fit:contain;object-position:right bottom}

#doctors .v707,.doctor-carousel .v760{white-space:pre-line}

/* October review: mobile card geometry, covers and aligned team credentials. */
[data-action="reveal"]{overflow:hidden;border-radius:24px}
.mobile-design [data-action="reveal"]{border-radius:10px}
[data-action="reveal"]>div:first-child{inset:0!important;width:100%!important;height:100%!important;border-radius:inherit;background:rgba(160,166,175,.32);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
[data-action="reveal"]>div:first-child>img{display:none}
[data-action="reveal"]>div:last-child{left:50%!important;top:50%!important;translate:-50% -50%;opacity:1}
#planning .mobile-design .v520{height:378.552px;border-radius:17.371px}
#planning .mobile-design .v521{height:100%;border-radius:20.267px}
#planning .mobile-design .v522{left:11.58px;top:11.58px;width:280.838px;height:137.524px;border-radius:14.476px}
#planning .mobile-design .v523{border-radius:14.476px}
#planning .mobile-design .v524{left:20.27px;top:22.44px;width:43.429px;height:33.295px;border-radius:9.41px}
#planning .mobile-design .v525{left:31.12px;top:28.23px;font-size:18.095px;line-height:22.438px}
#planning .mobile-design .v526{left:18.82px;top:165.75px;width:266.362px;font-size:18px;line-height:22px}
#planning .mobile-design .v526 span{line-height:22px}
#planning .mobile-design .v529{left:18.82px;top:218px;width:266.362px;font-size:14px;line-height:18px}
#planning .mobile-design .v529 span{font-size:14px;line-height:18px}
#bone .mobile-design .v625{display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px}
#bone .mobile-design .v626{width:60px;height:62px}
#bone .mobile-design .v631{justify-self:center}
#bone .mobile-design .v628,#bone .mobile-design .v632{width:auto;min-width:0}
#bone .mobile-design .v625 p{width:auto}
#doctors .desktop-design .v707,#doctors .desktop-design .v716{height:61px;display:flex;align-items:center;margin:0;left:calc(75% - 15px);width:223px}
#doctors .desktop-design .v707{top:306px}
#doctors .desktop-design .v716{top:384px}
#doctors .doctor-carousel .v757{width:166.36px;height:64px;margin-top:168.69px}
#doctors .doctor-carousel .v763{width:166.36px;height:64px;margin-top:244.69px}
#doctors .doctor-carousel .v758{width:100%;height:100%;left:0;top:0}
#doctors .doctor-carousel .v760,#doctors .doctor-carousel .v766{margin-left:51.53px;width:115px;display:flex;align-items:center;font-size:10.543px;line-height:1.2;padding-right:10px;align-self:start;white-space:normal;word-break:normal}
#doctors .doctor-carousel .v760{margin-top:168.69px;height:64px}
#doctors .doctor-carousel .v766{margin-top:244.69px;height:64px}
#doctors .doctor-carousel .v759{top:4px}
#doctors .doctor-carousel .v764{top:-3px}
#doctors .doctor-carousel [data-slide="4"] .v769{margin-left:75px}
#consultation .mobile-design .v928,#consultation .mobile-design .v929{height:293.271px}
#consultation .mobile-design .v930{height:210.756px}
#footer .mobile-design [data-action="legal"]{background:var(--button);border-radius:40px;min-height:48px;padding:14px 18px;text-align:center;text-decoration:none;font-size:14px;line-height:20px;color:white}


.doctor-carousel>.carousel-card{grid-template-columns:minmax(0,1fr);overflow:hidden;border-radius:23.429px}

#guarantees .mobile-design .v674{gap:0}
#doctors .doctor-carousel [data-slide="2"] .v769{margin-left:95px}
#consultation .mobile-design .v933{top:121.744px}
#consultation .mobile-design .v934{top:177.908px}
#consultation .mobile-design .v935{top:212.792px}
#consultation .mobile-design .v936{top:247.676px}
#consultation .mobile-design .v938{top:132.655px}
#consultation .mobile-design .v939{top:178.18px}
#consultation .mobile-design .v940{top:213.064px}
#consultation .mobile-design .v941{top:247.948px}
#consultation .mobile-design .v942{top:188px}

/* Live Yandex map keeps the dimensions of the approved map artwork. */
#contacts .clinic-yandex-map-wrap{overflow:hidden;border-radius:24px;background:#eaf0f7;isolation:isolate}
.clinic-yandex-map{width:100%;height:100%;position:relative}
.design .clinic-yandex-map img{max-width:none;object-fit:initial}
.map-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:20px;text-align:center;color:#2465a9}
@media(max-width:640px){#contacts .clinic-yandex-map-wrap{border-radius:18px}}

/* Video labels stay still; only the blue background reacts. */
[data-action="video"],[data-action="video"] *{cursor:pointer}
#doctors [data-action="video"]:hover,#doctors [data-action="video"]:active{translate:none;scale:none;filter:none}
.v783,.v753{transition:background-color .2s ease,box-shadow .2s ease}
@media(hover:hover) and (pointer:fine){
 .v782:hover .v783,.desktop-design:has([data-action="video"]:hover) .v753{background-color:#2478d7;box-shadow:0 5px 16px #2478d733}
}
@keyframes callout-dot{from{opacity:0;scale:.3}to{opacity:1;scale:1}}
@keyframes callout-line{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes content-appear{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:no-preference){
 .callout-playing circle{transform-box:fill-box;transform-origin:center;animation:callout-dot 160ms ease-out both}
 .callout-playing line{stroke-dasharray:1;animation:callout-line 260ms ease-out 120ms both}
 .callout-pill-enter{animation:content-appear 280ms ease-out 360ms both}
 .sequence-enter{animation:content-appear 320ms ease-out var(--entry-delay,0ms) both}
}


/* Fixed navigation lives outside scaled Figma frames. */
html{scroll-padding-top:96px}
.sticky-menu{position:fixed;inset:0 0 auto;z-index:90;background:#e0ebfff5;backdrop-filter:blur(12px);border-bottom:1px solid #bcd4f8;box-shadow:0 4px 18px #11375d12}
.sticky-menu[hidden]{display:none}
.sticky-menu-inner{max-width:1560px;margin:auto;min-height:76px;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.sticky-logo img{position:static;display:block;width:180px;height:auto}
.sticky-menu nav{display:flex;align-items:center;justify-content:center;gap:clamp(24px,3vw,60px)}
.sticky-menu nav a{padding:12px 0;font-size:16px;font-weight:500;white-space:nowrap}
.sticky-phone{font-size:19px;font-weight:500;white-space:nowrap}
.sticky-menu a{cursor:pointer}
@media(hover:hover) and (pointer:fine){.sticky-menu a:hover{color:var(--blue)}}
@media(max-width:959px){
 html{scroll-padding-top:66px}
 .sticky-menu-inner{min-height:50px;padding:3px 16px}
 .sticky-logo,.sticky-phone{display:none}
 .sticky-menu nav{width:100%;max-width:544px;margin:auto;justify-content:space-between;gap:12px}
 .sticky-menu nav a{font-size:13px;padding:13px 0}
}

.cookie-notice{position:fixed;left:20px;bottom:20px;z-index:95;display:flex;align-items:center;gap:12px;width:min(390px,calc(100% - 40px));padding:16px 14px 16px 20px;border:1px solid #c6d9f5;border-radius:18px;background:#fff;box-shadow:0 6px 28px #11375d26;color:#11375d;font-size:14px;line-height:1.45}
.cookie-notice a{color:#2878cd;text-decoration:underline;text-underline-offset:3px}.cookie-notice strong{font-weight:500}
.cookie-notice button{flex:none;width:32px;height:32px;border-radius:50%;background:#e0ebff;font-size:24px;line-height:1}
@media(max-width:640px){.cookie-notice{left:12px;bottom:12px;width:calc(100% - 100px);padding:12px;gap:6px;border-radius:14px;font-size:12px}.cookie-notice button{width:28px;height:28px}}
