@font-face{font-family:Roboto;src:url('assets/fonts/Roboto-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Roboto;src:url('assets/fonts/Roboto-Medium.woff') format('woff');font-weight:500 600;font-display:swap}
@font-face{font-family:Roboto;src:url('assets/fonts/Roboto-Bold.woff2') format('woff2');font-weight:700 900;font-display:swap}
@font-face{font-family:Roboto;src:url('assets/fonts/roboto-light-italic.woff') format('woff');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'Avenir Next Cyr';src:url('assets/fonts/AvenirNextCyr-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:'Avenir Next Cyr';src:url('assets/fonts/AvenirNextCyr-Demi.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:'Avenir Next Cyr';src:url('assets/fonts/AvenirNextCyr-Bold.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:'Avenir Next Cyr';src:url('assets/fonts/AvenirNextCyr-Heavy.woff') format('woff');font-weight:800 900;font-display:swap}
:root{--color-background:#20252d;--color-deep:#191d24;--color-surface:#262c36;--color-accent:#ed2127;--color-text:#fff;--color-muted:#cbcbcb;--color-divider:rgb(255 255 255 / 8%);--color-telegram:#008ce4;--color-whatsapp:#25d366;--content-width:1320px;--gutter:40px;--section-space:64px;--heading-font:'Avenir Next Cyr',Arial,sans-serif;--body-font:Roboto,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;background:var(--color-background)}body{margin:0;min-width:0;background:var(--color-background);color:var(--color-text);font:400 1rem/1.6 var(--body-font)}body:has(dialog[open]){overflow:hidden}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2{font-family:var(--heading-font);font-weight:900;text-transform:uppercase;letter-spacing:.02em;line-height:1.2}h2{font-size:2.375rem}h3{font-family:var(--heading-font);font-weight:600;line-height:1.2;letter-spacing:.02em;font-size:1.5rem}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none;padding:0}button:disabled{cursor:default}img{display:block;max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #fff;outline-offset:5px;border-radius:4px}.container{width:min(calc(100% - var(--gutter)*2),var(--content-width));margin-inline:auto}.section{padding-block:var(--section-space)}.skip-link{position:fixed;top:12px;left:12px;z-index:50;padding:12px 20px;background:var(--color-accent);transform:translateY(-160%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-button{width:48px;height:48px;display:grid;place-items:center;border-radius:8px;flex:none}.icon-button:hover{background:rgb(255 255 255 / 8%)}.eyebrow{font:700 1.125rem/1 var(--heading-font);color:var(--color-accent);text-transform:uppercase}.section-heading{display:flex;flex-direction:column;gap:4px}.section-heading h2{line-height:1.4}.section-heading h2 span{color:var(--color-accent)}.section-heading--center{align-items:center;text-align:center}.button{min-height:48px;display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:12px 20px;border-radius:8px;font-weight:700;line-height:1.25;transition:background .18s,transform .18s}.button:hover{transform:translateY(-1px)}.button--red{background:var(--color-accent)}.button--red:hover{background:#d6161c}.button--telegram{background:var(--color-telegram)}.button--whatsapp{background:var(--color-whatsapp)}.button--telegram:hover{background:#0079c5}.button--whatsapp:hover{background:#1dbc58}.button img{width:22px;height:22px;flex:none}.button--outline{border:1px solid var(--color-muted);border-radius:999px}.button--outline:hover{background:rgb(255 255 255 / 6%);border-color:#fff}
/* Nested alpha masks keep the original photograph transparent and proportional. */
.hero{position:relative;isolation:isolate;padding-bottom:20px;overflow:clip}.hero__inner{min-height:774px;padding-block:37px 64px;position:relative}.header{display:flex;align-items:flex-start;gap:48px;position:relative;z-index:3}.brand{width:259px;flex:none}.brand img{width:100%;height:auto}.nav{display:flex;align-items:center;gap:40px;padding:8px 24px;font-weight:500;line-height:1.2}.nav a{display:flex;align-items:center;min-height:40px;white-space:nowrap}.nav a:hover{color:var(--color-accent)}.menu-toggle{display:none;margin-left:auto}.hero__copy{position:relative;z-index:1;max-width:680px;margin-top:46px}.hero h1{font-size:3rem;line-height:1.1}.hero__address{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:14px}.hero__address p{font-weight:500;font-size:1.25rem;line-height:1.4}.map-link{font-size:1.125rem;color:var(--color-muted);line-height:1.4;border-bottom:1px dashed currentColor}.map-link:hover{color:#fff}.hero__image{position:absolute;z-index:-1;left:calc(50% - 310px);top:0;width:1110px;height:774px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.65) 10%,#000 20%,#000 64%,rgba(0,0,0,.55) 78%,rgba(0,0,0,.08) 92%,transparent)}.hero__image-horizontal{position:absolute;inset:0;mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.03) 10%,rgba(0,0,0,.14) 20%,rgba(0,0,0,.45) 30%,rgba(0,0,0,.9) 42%,#000 53%,#000 82%,rgba(0,0,0,.97) 85%,rgba(0,0,0,.75) 90%,rgba(0,0,0,.3) 95%,rgba(0,0,0,.06) 98%,transparent 100%)}.hero__image img{position:absolute;top:-115px;left:0;width:1359px;height:auto;max-width:none}.hero__contacts{position:relative;z-index:1;display:flex;flex-direction:column;gap:24px;margin-top:52px;width:max-content}.contact-block{display:flex;align-items:flex-start;gap:12px}.contact-block__icon{display:grid;place-items:center;width:44px;height:44px;flex:none;background:rgb(237 33 39 / 10%);border-radius:8px}.contact-block__icon img{width:36px;height:36px}.contact-block__label{font-size:1.125rem;font-weight:500;line-height:1.4;margin-bottom:4px}.phone-row{display:flex;align-items:center;gap:4px;width:max-content;max-width:100%}.phone{font-size:1.75rem;font-weight:700;line-height:1.25;white-space:nowrap;min-height:48px;display:flex;align-items:center}.phone:hover{color:var(--color-accent)}.socials{display:flex;align-items:center;flex:none}.social{width:48px;height:48px;display:grid;place-items:center;position:relative;isolation:isolate;flex:none;border-radius:8px}.social::before{content:'';position:absolute;inset:8px;border-radius:8px;z-index:-1;background:var(--color-telegram);transition:filter .18s}.social--whatsapp::before{background:var(--color-whatsapp)}.social img{width:22px;height:22px}.social:hover::before{filter:brightness(1.15)}.hero__dots{position:absolute;left:61px;top:288px;transform:rotate(90deg);opacity:.35;z-index:-1}.hero__cross{position:absolute;left:34px;top:445px;z-index:-1}.brand-divider{position:absolute;bottom:0;left:0;width:100%;height:22px;object-fit:fill}
.about{padding-block:60px 90px}.about__inner{position:relative;display:grid;grid-template-columns:506px 1fr;gap:66px;align-items:start;max-width:1400px;width:min(calc(100% - 80px),1400px);min-height:370px}.about__visual{position:relative;overflow:hidden;aspect-ratio:506.036/347.585;mask-image:url('assets/images/about-mask.svg');mask-size:100% 100%;mask-repeat:no-repeat}.about__visual img{position:absolute;width:132.49%;max-width:none;height:auto;left:-7.793%;top:-3.7%}.about__copy{padding-top:64px;max-width:563px}.about h2{font-size:2.375rem;max-width:420px;letter-spacing:0}.tilde{margin-block:20px;width:21px;height:8px}.about p{font-size:1.1875rem;line-height:1.6}.about__logo{position:absolute;right:21px;top:64px;width:219px;height:auto}.advantages{padding-block:0 60px}.advantages .section-heading{padding-bottom:24px;border-bottom:1px solid var(--color-divider)}.advantages__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;gap:0}.advantage{min-width:0;padding:24px 30px 0}.advantage:first-child{padding-left:0}.advantage:last-child{padding-right:0}.advantage+.advantage{border-left:1px solid var(--color-divider)}.advantage__number{display:block;margin-bottom:16px;font:900 1.875rem/1.2 var(--heading-font);letter-spacing:.02em;color:var(--color-accent)}.advantage h3{margin-bottom:12px}.advantage p{color:var(--color-muted);line-height:1.4}
@media(max-width:1439px){.hero__inner{min-height:676px;padding-top:32px}.brand{width:220px}.header{align-items:center}.nav{padding:0}.hero__copy{margin-top:48px}.hero h1{line-height:53px}.hero__contacts{margin-top:32px}.hero__image{left:calc(100% - 848px);width:888px;height:676px}.hero__image img{width:1087.2px;top:-92px}.hero__dots,.hero__cross{display:none}.contact-block__icon{display:none}.contact-block__label{font-size:1rem;color:var(--color-muted);margin-bottom:8px;line-height:20px}.phone{font-size:1.375rem;line-height:28px}.about{padding-block:64px}.about__inner{width:min(calc(100% - var(--gutter)*2),1320px);min-height:0;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.about__copy{padding:0;max-width:none}.about__logo{position:static;width:180px;margin-top:20px}.about h2{max-width:none;font-size:2.25rem}.about p{line-height:30px}.tilde{margin-block:20px}.advantages{padding-block:64px}.advantages .section-heading{border:0;padding:0;margin-bottom:40px;gap:12px}.section-heading h2{line-height:46px}.advantage{padding:24px 16px 0;border-top:1px solid var(--color-divider)}.advantage:first-child{padding-right:16px}.advantage+.advantage{border-left:0}.advantage h3{font-size:1.375rem}}
@media(max-width:1199px){:root{--gutter:32px}.hero h1{font-size:2.625rem;line-height:48px}.hero__copy{max-width:590px}.hero__inner{min-height:656px}.hero__image{left:calc(100% - 592px);width:624px;height:656px}.hero__image img{width:869.76px;top:-73.6px}.hero__image-horizontal{mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.05) 17%,rgba(0,0,0,.3) 32%,rgba(0,0,0,.8) 48%,#000 60%,#000 86%,rgba(0,0,0,.96) 90%,rgba(0,0,0,.78) 94%,rgba(0,0,0,.38) 97%,rgba(0,0,0,.08) 99%,transparent 100%)}.about__inner{grid-template-columns:minmax(0,346px) minmax(0,1fr)}.about h2{font-size:2.125rem}.advantages__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}.advantage,.advantage:first-child,.advantage:last-child{padding:24px 0 0}.advantage h3{font-size:1.5rem}.advantage:nth-child(odd){padding-right:16px}}
/* Keep the car at 44% of the source image height centered in the responsive crop. */
@media(max-width:900px){:root{--gutter:24px}.brand{width:190px}.nav{gap:24px;font-size:.875rem}.header{gap:32px}.hero__inner{padding-bottom:32px;min-height:0}.hero__copy{max-width:none;margin-top:32px}.hero__address{margin-top:24px}.hero__address p{font-size:1.125rem}.hero__image{position:relative;left:auto;top:auto;width:100%;height:370px;margin-top:32px;z-index:0;mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.4) 10%,#000 20%,#000 80%,rgba(0,0,0,.5) 90%,rgba(0,0,0,.08) 96%,transparent)}.hero__image-horizontal{mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.6) 8%,#000 18%,#000 82%,rgba(0,0,0,.45) 94%,transparent)}.hero__image img{width:100%;top:50%;left:50%;transform:translate(-50%,-44%)}.hero__contacts{margin-top:32px;width:100%;flex-direction:row;gap:32px}.hero__contacts>.contact-block{flex:1}.about__inner{grid-template-columns:minmax(0,276px) minmax(0,1fr)}.about h2{font-size:2rem}.about__logo{width:180px}.advantage h3{font-size:1.375rem}}
@media(max-width:639px){:root{--gutter:16px;--section-space:48px}.brand{width:148px}.header{align-items:center;flex-wrap:wrap;gap:0}.hero__inner{padding-block:24px}.menu-toggle{display:grid}.nav{display:none;flex-basis:100%;padding:20px 0 4px;gap:4px;flex-direction:column;align-items:stretch;font-size:1.125rem}.nav.is-open{display:flex}.nav a{padding:12px;border-bottom:1px solid var(--color-divider);min-height:48px}.hero h1{font-size:2rem;line-height:36px}.hero__address{gap:12px;margin-top:24px;align-items:flex-start;flex-direction:column}.hero__address p{font-size:1rem;line-height:26px}.map-link{font-size:1rem;line-height:26px}.hero__image{height:240px}.hero__image img{width:125.3644%}.hero__contacts{flex-direction:column;gap:24px}.hero__contacts>.contact-block{flex:none}.about{padding-block:48px}.about__inner{grid-template-columns:1fr;gap:32px}.about__visual{width:100%}.about__copy{padding:0}.about h2{font-size:1.75rem;line-height:32px}.about p{font-size:1.1875rem;line-height:30px}.about__logo{width:170px}.advantages{padding-block:48px}.section-heading h2{font-size:1.75rem;line-height:34px}.eyebrow{font-size:.875rem;line-height:18px}.advantages .section-heading{margin-bottom:32px}.advantages__grid{grid-template-columns:1fr;gap:32px}.advantage h3{font-size:1.25rem}.advantage,.advantage:nth-child(odd){padding:24px 0 0}.advantage__number{margin-bottom:16px}.advantage h3{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Shared call-to-action, gallery and service content. */
.contact-actions{display:flex;gap:12px;align-items:center}.booking{padding-block:0 90px}.booking__card{display:flex;align-items:center;gap:40px;justify-content:space-between;padding:24px 36px;background:#fff;color:var(--color-deep);border-radius:24px;min-height:112px}.booking h2{font-size:1.625rem;line-height:1.2;display:flex;gap:22px;align-items:center}.booking h2 img{width:36px;height:36px;flex:none}.booking__contacts{display:flex;gap:40px;align-items:center;flex:none}.booking .phone{font-size:1.25rem}.booking .button{color:#fff;font-size:.875rem;min-height:40px;padding:8px 12px}.booking .button img{width:18px;height:18px}.gallery{padding-top:0;padding-bottom:80px;overflow:hidden}.gallery .section-heading{margin-bottom:28px}.gallery__track{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-padding-inline:var(--gutter);padding-inline:var(--gutter);touch-action:pan-x pan-y;outline-offset:-4px}.gallery__track::-webkit-scrollbar{display:none}.gallery__item{flex:0 0 480px;height:360px;scroll-snap-align:start;border-radius:12px;overflow:hidden;position:relative}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery__item:hover img{transform:scale(1.025)}.gallery__item:focus-visible{outline-offset:-5px}.pagination{display:flex;justify-content:center;align-items:center;gap:0;margin-top:16px}.pagination__dot{width:32px;height:42px;display:grid;place-items:center;border-radius:8px}.pagination__dot::after{content:'';width:6px;height:6px;background:#d9d9d9;border-radius:50%;transition:transform .18s,background .18s}.pagination__dot.is-active::after{width:10px;height:10px;background:var(--color-accent)}.pagination__dot:hover::after{transform:scale(1.35)}
.reviews{padding-block:80px}.reviews__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;gap:24px}.rating{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--color-surface);padding:16px 30px;border-radius:24px;text-align:center;flex:none}.rating strong{font-size:1.125rem;font-weight:500;line-height:1.6}.rating__value{display:flex;gap:10px;align-items:center}.rating__value img{width:172px;height:32px}.rating__value span{font-size:1.625rem;font-weight:500;line-height:1.6}.rating small{font-size:.875rem;font-weight:300}.rating:hover{background:#2d3440}.reviews__carousel{position:relative}.reviews__track{--review-gap:30px;display:flex;gap:var(--review-gap);align-items:flex-start;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;outline-offset:-4px}.reviews__track::-webkit-scrollbar{display:none}.reviews__track>.review{flex:0 0 calc((100% - var(--review-gap))/2);scroll-snap-align:start}.review{background:var(--color-surface);border-radius:24px;padding:40px;min-width:0;display:flex;flex-direction:column;gap:30px}.review__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.review__author{display:flex;align-items:center;gap:12px;min-width:0}.review__author img{width:42px;height:42px;object-fit:cover;border-radius:50%;flex:none}.review__author p{font-size:1.125rem;line-height:1.6}.review__source{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.review__source img{width:28px;height:28px;object-fit:cover;border-radius:3px}.review__body{display:flex;flex-direction:column;gap:10px}.review__meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.review__meta img{width:132px;height:24px}.review time{font-size:.875rem;line-height:1.6}.review__body>p{line-height:1.6}.carousel-arrow{display:grid;place-items:center;width:60px;height:60px;padding:0;flex:none;border-radius:50%}.carousel-arrow img{width:60px;height:60px;max-width:none;flex:none;pointer-events:none}.carousel-arrow:hover{transform:scale(1.05)}.reviews__pagination{margin-top:16px}
/* The portrait is bottom-aligned to the INSIDE edge of the 2 px outline. */
.director{padding-block:0 80px}.director__card{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 308px;gap:66px;align-items:center;min-height:395px;padding:0 178px 2px 124px}.director__border{position:absolute;inset:15px 0 0;width:100%;height:calc(100% - 15px);pointer-events:none;z-index:2;max-width:none}.director__copy{display:flex;flex-direction:column;gap:24px;min-width:0}.director blockquote{font-size:1.25rem;line-height:32px;font-weight:300;font-style:italic}.director__meta{display:flex;flex-direction:column;gap:24px}.director__author{font-size:1.125rem;font-weight:500;line-height:1.4}.director__feedback{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.director__feedback>p{font-size:1rem;line-height:22px;color:var(--color-muted)}.director__feedback .button{min-height:48px;max-width:100%;padding:12px 20px;font-size:1rem;line-height:1}.director__portrait{position:relative;align-self:end;width:308px;aspect-ratio:308/393;min-width:0}.director__signature{position:absolute;width:97.7273%;height:auto;max-width:none;left:-19.6%;bottom:13.213%;z-index:-1}.director__photo{position:absolute;inset:0;overflow:hidden}.director__photo>img{position:absolute;max-width:none;width:106.01%;height:107.63%;left:1.03%;top:-5.09%}
.contacts{padding-top:0;padding-bottom:80px}.contacts__card{display:grid;grid-template-columns:430px minmax(0,1fr);border-radius:24px;overflow:hidden;background:var(--color-deep);min-height:564px}.contacts__details{padding:44px 40px;display:flex;flex-direction:column;gap:28px}.contacts h2{text-transform:none;font:600 1.875rem/1.2 var(--heading-font);letter-spacing:0}.contacts .contact-block__label{color:var(--color-accent);font-size:1.125rem;line-height:20px;margin-bottom:8px}.contacts .phone{font-size:1.75rem}.contacts__details h3{display:flex;align-items:center;gap:8px;font:500 1.125rem/1.2 var(--body-font);color:var(--color-accent);margin-bottom:12px}.contacts__details h3 img{flex:none}.contacts address{font-style:normal;font-size:1.125rem;line-height:1.5}.contacts dl{font-size:.9375rem;line-height:1.4;margin:0;display:flex;flex-direction:column;gap:10px}.contacts dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.contacts dt{color:var(--color-muted)}.contacts dd{margin:0;white-space:nowrap;text-align:right}.contacts__map-link{color:var(--color-accent);font-weight:500;line-height:24px;min-height:48px;display:flex;align-items:center}.contacts__map-link:hover{text-decoration:underline}.contacts__map{position:relative;overflow:hidden;min-height:400px;display:block;background:#deded8}.footer{background:var(--color-deep);padding-block:25px}.footer>.container{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer img{width:118px;height:auto}.footer p{font-size:.875rem;line-height:22px;color:var(--color-muted)}
dialog{border:1px solid var(--color-divider);border-radius:24px;padding:40px;background:var(--color-surface);color:#fff;margin:auto;max-height:calc(100dvh - 32px);max-width:calc(100vw - 32px);overscroll-behavior:contain}dialog::backdrop{background:rgb(10 13 18 / 85%);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:12px;font:300 2rem/1 var(--body-font);z-index:3}.feedback-dialog{width:520px}.feedback-dialog h2{font-size:1.75rem;line-height:1.25;margin-right:28px;margin-bottom:28px}.feedback-dialog form{display:flex;flex-direction:column;gap:20px}.feedback-dialog label{display:flex;flex-direction:column;gap:8px;font-size:1rem;line-height:1.4}.feedback-dialog input:not([type=checkbox]),.feedback-dialog textarea{width:100%;border:1px solid #69717e;background:var(--color-deep);color:#fff;border-radius:8px;padding:12px 16px;min-height:48px}.feedback-dialog textarea{resize:vertical;min-height:120px}.feedback-dialog input::placeholder,.feedback-dialog textarea::placeholder{color:#aab0b9}.feedback-dialog label.consent{flex-direction:row;align-items:flex-start;font-size:.875rem;line-height:1.4;gap:12px}.consent input{width:20px;height:20px;flex:none;accent-color:var(--color-accent);margin:0}.feedback-dialog .button{width:100%}.feedback-dialog .button:disabled{opacity:.6}.form-status{font-size:.875rem;padding:12px 16px;background:var(--color-deep);border-radius:8px}
@media(max-width:1439px){.booking{padding-block:32px}.booking__card{padding:32px;gap:24px;min-height:128px}.booking h2{font-size:1.5rem}.booking__contacts{gap:24px}.booking .button{min-height:48px;font-size:1rem;padding:12px 16px}.gallery{padding-block:64px}.gallery__item{flex-basis:440px;height:330px}.pagination{margin-top:16px}.reviews{padding-block:64px}.reviews__heading{margin-bottom:40px}.review{padding:32px;gap:24px}.review__author p{font-size:1rem}.director{padding-block:40px}.director__card{padding:0 120px 2px 80px;gap:32px}.director__border{inset:0;width:100%;height:100%}.director blockquote{font-size:1.125rem;line-height:29px}.director__author{font-size:1rem;line-height:20px}.director__feedback>p{font-size:.875rem;line-height:22px}.director__feedback .button{width:343px;padding:16px;font-size:1rem;line-height:16px}.contacts{padding-block:64px}.contacts__card{grid-template-columns:440px minmax(0,1fr);min-height:609px}.contacts__details{padding:40px;gap:24px}.contacts h2{font-size:1.75rem;line-height:34px}.contacts .contact-block__label{font-size:1rem}.contacts .phone{font-size:1.375rem}.contacts__details h3{font-size:1rem;margin-bottom:8px}.contacts address{font-size:1rem;line-height:26px}.contacts dl{font-size:.875rem;line-height:22px}.footer{padding-block:32px}}
@media(max-width:1199px){.booking__card{flex-direction:column;justify-content:center;gap:24px;min-height:200px}.booking__contacts{gap:24px}.booking h2{font-size:1.5rem}.review{padding:28px}.review__header{gap:8px}.review__source{font-size:.75rem;gap:4px}.review__author{gap:8px}.director__card{padding-left:64px;padding-right:96px}.contacts__card{grid-template-columns:400px minmax(0,1fr)}}
@media(max-width:900px){.reviews__track{--review-gap:24px}.review{padding:28px}.review__header{gap:16px}.review__author p{font-size:1.125rem}.review__source{font-size:.8125rem}.review__author{gap:12px}.director__card{min-height:0;border:2px solid var(--color-accent);border-radius:45px;padding:35px 25px 0;grid-template-columns:343px minmax(0,1fr);gap:24px 48px;overflow:hidden}.director__border{display:none}.director__copy{display:contents}.director blockquote{grid-column:1/-1}.director__meta{grid-column:1;grid-row:2;align-self:center}.director__portrait{grid-column:2;grid-row:2;width:calc(100% - 32px);max-width:243px;margin-right:32px}.director__signature{left:-11.37%}.contacts__card{grid-template-columns:1fr}.contacts__details{padding:40px}.contacts__map{min-height:400px}.contacts .phone{font-size:1.375rem}}
@media(max-width:719px){.director__card{display:flex;flex-direction:column;align-items:center;gap:50px}.director__copy{display:flex;gap:24px;width:100%}.director__portrait{width:216px;max-width:100%;margin:0;align-self:center}.director__signature{left:-19.6%}.director__meta{width:100%}.director__feedback .button{width:343px;max-width:100%}.hero__contacts{gap:16px}.hero__contacts .phone{font-size:1.25rem}.about__inner{grid-template-columns:minmax(0,240px) minmax(0,1fr)}.about h2{font-size:1.75rem;line-height:32px}}
@media(max-width:639px){.booking{padding-block:24px}.booking__card{padding:24px;gap:24px;min-height:216px}.booking h2{font-size:1.25rem;line-height:24px;text-align:center;gap:12px}.booking h2 img{width:28px;height:28px}.booking__contacts{flex-direction:column;gap:12px;width:100%}.booking .phone{font-size:1.375rem}.contact-actions{gap:12px}.booking .contact-actions{width:100%}.booking .button{flex:1;font-size:.875rem;padding-inline:10px}.gallery{padding-block:48px}.gallery__item{flex-basis:280px;height:240px}.gallery .section-heading{margin-bottom:28px}.pagination__dot{width:32px}.reviews{padding-block:48px}.reviews__heading{flex-direction:column;align-items:stretch;gap:24px;margin-bottom:32px}.rating{min-height:132px;padding:16px 24px}.review{padding:24px;gap:24px}.review__header{gap:8px}.review__author{gap:8px}.review__author p{font-size:.875rem}.review__source{font-size:.75rem;gap:4px}.review__source img{width:24px;height:24px}.review__author img{width:36px;height:36px}.review__meta{gap:12px}.review__meta img{width:110px;height:20px}.review time{font-size:.75rem}.director{padding-block:24px}.director__feedback .button{width:100%;font-size:1.125rem;line-height:22px;padding:12px 16px;min-height:68px}.director__author{font-size:1rem}.director blockquote{font-size:1.125rem;line-height:29px}.director__feedback>p{font-size:.875rem;line-height:22px}.contacts{padding-block:48px}.contacts__details{padding:24px;gap:24px}.contacts__card{border-radius:16px}.contacts__map{min-height:320px}.contacts h2{font-size:1.5rem;line-height:29px}.contacts .phone{font-size:1.375rem}.contacts__map-link{font-size:1rem}.footer>.container{flex-direction:column;align-items:flex-start;gap:24px}.feedback-dialog{padding:32px 24px}.feedback-dialog h2{font-size:1.5rem}.hero__contacts{gap:24px}.hero__contacts .phone{font-size:1.375rem}.about__inner{grid-template-columns:1fr}}
@media(max-width:359px){.hero h1{font-size:1.75rem;line-height:32px}.contacts__details{padding:20px}.contacts .phone{font-size:1.1875rem}.review{padding:20px}.review__header{flex-wrap:wrap}.director__card{padding-inline:20px}.booking__card{padding-inline:20px}.booking .button{font-size:.8125rem;padding-inline:8px}.social{width:44px}.social::before{inset:8px 6px}}

/* Exact spacing and type values from the approved adaptive components. */
@media(min-width:1200px) and (max-width:1439px){.about__inner{grid-template-columns:390px minmax(0,1fr);gap:32px;padding-right:196px}.about h2{font-size:38px;line-height:1.2;max-width:420px}.about__logo{position:absolute;right:0;top:50%;transform:translateY(-50%);width:164px;margin:0}.tilde{margin-block:24px}}
@media(min-width:901px) and (max-width:1199px){.about__inner{grid-template-columns:350px minmax(0,1fr);gap:32px}.about h2{font-size:38px;line-height:1.2;max-width:420px}.about__logo{width:160px;margin-top:24px}.tilde{margin-block:24px}}
@media(max-width:1439px){.hero__inner{padding-bottom:44px}}
@media(max-width:900px){.hero__inner{padding-bottom:12px}.about__inner{grid-template-columns:280px minmax(0,1fr);gap:32px}.about h2{font-size:28px;line-height:1.2}.about__logo{width:160px;margin-top:24px}.tilde{margin-block:24px}}
@media(max-width:719px){.about__inner{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:639px){.hero__inner{padding-bottom:4px}.map-link{line-height:28px}.menu-toggle{order:1}.nav{order:2}.about__inner{grid-template-columns:1fr}.about p{font-size:16px;line-height:26px}.about h2{font-size:28px;line-height:1.2}}

/* Navigation follows available scroll pages and the user's pointing device. */
.gallery__track{justify-content:safe center}
[hidden]{display:none!important}
.carousel-navigation{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;min-height:60px}
.carousel-navigation__pages{min-width:0;display:grid;justify-items:center}
.carousel-navigation .pagination{display:flex;margin:0}
.has-carousel-tail::after{content:"";flex:0 0 var(--carousel-tail);pointer-events:none}
.carousel-navigation .carousel-arrow{display:none;width:60px;height:60px}
.carousel-navigation .carousel-arrow img{width:100%;height:100%;max-width:100%}
.carousel-arrow:disabled{opacity:.3;cursor:default;transform:none}
.gallery__track.is-dragging,.reviews__track.is-dragging{cursor:grabbing;user-select:none}
.gallery__track.is-dragging .gallery__item{pointer-events:none}
.review__avatar{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;background:#343c49;color:var(--color-muted);font-size:1rem;font-weight:500}
@media(max-width:859px){.reviews__track>.review{flex-basis:100%}}
@media(max-width:639px){.carousel-navigation{gap:12px;min-height:48px}.carousel-navigation .carousel-arrow{width:44px;height:44px}.carousel-navigation .pagination__dot{width:24px;height:44px}.review__avatar{width:36px;height:36px;font-size:.875rem}}
@media(any-hover:hover) and (any-pointer:fine){.carousel-navigation .carousel-arrow{display:grid}.gallery__track,.reviews__track{cursor:grab}}
@media(min-width:1440px) and (any-hover:hover) and (any-pointer:fine){.reviews__prev,.reviews__next{position:absolute;top:calc((100% - 76px)/2);transform:translateY(-50%)}.reviews__prev{left:-52px}.reviews__next{right:-52px}.reviews__prev:hover:not(:disabled),.reviews__next:hover:not(:disabled){transform:translateY(-50%) scale(1.05)}}

/* The photo viewer has no card, caption or separate toolbar. */
.lightbox{--photo-ratio:1.333333;--photo-height:calc(100dvh - 48px);position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px 80px;border:0;border-radius:0;background:transparent;overflow:hidden}
.lightbox[open]{display:grid;place-items:center}
.lightbox::backdrop{background:rgb(8 10 14 / 94%);backdrop-filter:blur(6px)}
.lightbox__image{width:100%;height:auto;max-width:calc(var(--photo-height)*var(--photo-ratio));max-height:var(--photo-height);object-fit:contain;user-select:none;-webkit-user-drag:none;touch-action:pan-y pinch-zoom;cursor:pointer}
.lightbox__image:focus-visible{outline:2px solid #fff;outline-offset:4px}
.lightbox__button{position:absolute;z-index:2;display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;border-radius:50%;color:rgb(255 255 255 / 78%);background:rgb(25 29 36 / 45%);backdrop-filter:blur(8px);transition:background .18s,color .18s}
.lightbox__button:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:50%;color:#fff;background:rgb(25 29 36 / 80%)}
.lightbox__close{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}
.lightbox__previous,.lightbox__next{top:50%;transform:translateY(-50%)}
.lightbox__previous{left:max(16px,env(safe-area-inset-left))}
.lightbox__next{right:max(16px,env(safe-area-inset-right))}
@media(any-hover:hover){.lightbox__button:hover{color:#fff;background:rgb(25 29 36 / 80%)}}
@media(max-width:639px){.lightbox{--photo-height:calc(100dvh - 32px);padding:16px 0}.lightbox__button{width:44px;height:44px}.lightbox__close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}.lightbox__previous{left:max(8px,env(safe-area-inset-left))}.lightbox__next{right:max(8px,env(safe-area-inset-right))}}
@media(prefers-reduced-motion:reduce){.lightbox__button{transition:none}}

/* All review cards share the same height; long text opens in a dialog. */
.reviews__track{align-items:stretch}
.reviews__track .review__body{flex:1}
.reviews__track.has-review-previews .review__body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;overflow-wrap:anywhere}
.review__read-more{align-self:flex-start;margin-top:auto;min-height:44px;font-size:.875rem;font-weight:500;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgb(255 255 255 / 50%)}
.review__read-more:hover{color:var(--color-accent);text-decoration-color:currentColor}
.review-dialog{width:720px;padding:0;overflow-y:auto}
.review-dialog__heading{position:sticky;top:0;z-index:2;padding:32px 40px 24px;background:var(--color-surface)}
.review-dialog h2{font-size:1.5rem;line-height:1.3;margin:0 40px 0 0}
.review-dialog__content{display:flex;flex-direction:column;gap:24px;padding:0 40px 40px}
.review-dialog .review__body{gap:16px}
.review-dialog .review__body>p{white-space:pre-wrap;overflow-wrap:anywhere}
.rating{box-shadow:inset 0 0 0 1px rgb(255 255 255 / 8%);transition:background .18s,box-shadow .18s}
.rating__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.875rem;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgb(255 255 255 / 55%)}
.rating__link svg{flex:none}
.rating:hover,.rating:focus-visible{box-shadow:inset 0 0 0 1px rgb(255 255 255 / 35%);border-radius:24px}
.rating:hover .rating__link{text-decoration-color:#fff}
@media(max-width:639px){.review-dialog__heading{padding:24px 24px 20px}.review-dialog__content{padding:0 24px 28px}.review-dialog h2{font-size:1.25rem}.review-dialog .review__header{flex-wrap:wrap;gap:12px}}
@media(prefers-reduced-motion:reduce){.rating{transition:none}}



/* Selected parts section: photo background within the shared page grid. */
.parts-background{padding-block:0}
.parts-background__panel{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);padding:48px 40px;background:var(--color-deep);border-radius:24px}
.parts-background__photo{position:absolute;z-index:-1;inset:0}
.parts-background__photo img{position:absolute;top:0;left:-8%;width:auto;height:100%;max-width:none}
.parts-background__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(25,29,36,.06),rgba(25,29,36,.08) 28%,rgba(25,29,36,.38) 38%,rgba(25,29,36,.94) 47%,var(--color-deep) 65%)}
.parts-background__content{grid-column:2;min-width:0;display:flex;flex-direction:column;gap:24px}
.parts-background__content h2{font-size:2.375rem;line-height:1.2}
.parts-background__intro,.parts-background__step p{color:var(--color-muted);line-height:1.5}
.parts-background__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:24px}
.parts-background__step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;border-top:1px solid var(--color-divider);padding-top:24px}
.parts-background__number{padding-top:4px;color:var(--color-accent);font:900 1.125rem/1.2 var(--heading-font)}
.parts-background__step h3{font-size:1.5rem;margin-bottom:12px}
.parts-background__order{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:24px;border-top:1px solid var(--color-divider)}
.parts-background__order>p{font-weight:500}
.parts-background__contacts{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.parts-background__contacts .button{white-space:nowrap;padding-inline:16px}
@media(max-width:1199px){.parts-background__panel{padding:40px 32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.parts-background__content h2{font-size:2rem}.parts-background__step h3{font-size:1.375rem}.parts-background__photo img{left:-28%}.parts-background__photo::after{background:linear-gradient(to right,rgba(25,29,36,.08),rgba(25,29,36,.12) 18%,rgba(25,29,36,.55) 30%,rgba(25,29,36,.96) 41%,var(--color-deep) 65%)}}
/* Keep the earlier approved 3:2, unfaded photo on tablet and mobile. */
@media(max-width:900px){.parts-background__panel{display:block;padding:0}.parts-background__photo{position:relative;inset:auto;z-index:auto;aspect-ratio:3/2}.parts-background__photo img{position:static;width:100%;height:auto;max-width:100%;aspect-ratio:3/2}.parts-background__photo::after{display:none}.parts-background__content{padding:32px}.parts-background__contacts{flex-wrap:wrap}}
@media(max-width:639px){.parts-background__content{padding:24px}.parts-background__content h2{font-size:1.75rem;letter-spacing:0}.parts-background__step{grid-template-columns:1fr;gap:12px}.parts-background__number{padding-top:0;font-size:1.375rem}.parts-background__step h3{font-size:1.25rem;line-height:1.3}.parts-background__order{align-items:stretch}.parts-background__contacts{width:100%;flex-direction:column;align-items:stretch}.parts-background__contacts .contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.parts-background__contacts .contact-actions>.button{padding-inline:8px;font-size:.875rem}}
@media(max-width:359px){.parts-background__content{padding:20px}.parts-background__content h2{font-size:1.5rem}.parts-background__contacts .contact-actions{gap:8px}.parts-background__contacts .contact-actions>.button{gap:6px;padding-inline:6px;font-size:.8125rem}}

/* Native Yandex organization widget fills the responsive contact card. */
.contacts__map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}

/* The wide-screen border starts 15px below the card; leave 24px above the portrait. */
@media(min-width:1440px){.director__card{padding-top:39px}}
/* Frame the supplied transparent portrait without stretching or its empty canvas margins. */
.director__portrait{aspect-ratio:947/1009}
.director__photo>img{width:162.1964%;height:auto;left:-18.7962%;top:auto;bottom:0}
