@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-900-italic.woff2') format('woff2');font-style:italic;font-weight:900;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-800-italic.woff2') format('woff2');font-style:italic;font-weight:800;font-display:swap}
@font-face{font-family:Golos;src:url('assets/fonts/golostext-500-5.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+2116}
@font-face{font-family:Golos;src:url('assets/fonts/golostext-500-6.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
:root{color-scheme:dark;--ink:#111213;--cyan:#d9dadb;--white:#f3f4f5;--mist:#c4c8cd;--steel:#a2a8ae;--gut:clamp(18px,3.2vw,48px)}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--white);font-family:Golos,Arial,sans-serif;font-weight:500;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}p{margin:0}
.hero{position:relative;isolation:isolate;height:100svh;min-height:760px;overflow:hidden;background:radial-gradient(120% 70% at 50% 0%,#2a2b2d 0%,rgba(17,18,19,0) 60%),var(--ink)}
.hero__header{position:absolute;z-index:10;inset:0 0 auto;display:flex;align-items:center;gap:34px;padding:20px var(--gut)}
.hero__brand{width:138px;flex:none}.hero__brand img{width:100%;height:auto}.hero__nav{display:flex;gap:30px;margin-left:auto;font-size:15px;color:var(--mist)}.hero__phone{font-size:15px;white-space:nowrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 34px;border-radius:10px;border:1px solid var(--cyan);background:var(--cyan);color:var(--ink);font-size:16px;font-weight:600;transition:background .2s,color .2s}.button:hover{background:#ffffff;border-color:#ffffff}.button:active{transform:translateY(1px)}a:focus-visible{outline:2px solid var(--white);outline-offset:5px}.button--outline{min-height:44px;padding:0 22px;font-size:15px;border-radius:8px;background:transparent;color:var(--white);border-color:#5a5c5f}.button--outline:hover{color:var(--ink)}
.hero__lines{position:absolute;inset:-12% 0 0;z-index:0;pointer-events:none}.hero__lines i{position:absolute;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent,rgba(217,218,219,.18) 38%,rgba(217,218,219,.08) 70%,transparent)}.hero__lines i:nth-child(1){left:9%}.hero__lines i:nth-child(2){left:27%}.hero__lines i:nth-child(3){left:45%}.hero__lines i:nth-child(4){left:63%}.hero__lines i:nth-child(5){left:81%}.hero__lines i:nth-child(6){left:99%}
.hero__title{position:absolute;z-index:1;margin:0;left:calc(var(--gut) - .025em);top:clamp(110px,14vh,140px);font-family:Montserrat,'Arial Black',sans-serif;font-style:italic;font-weight:900;font-size:min(19.1vw,29vh);line-height:.79;letter-spacing:-.075em;white-space:nowrap}.hero__title span{display:block}
.hero__wheel{position:absolute;z-index:2;width:min(43vw,65vh);aspect-ratio:1295/1214;right:calc(var(--gut) + 1.5vw);bottom:4vh;pointer-events:none}.hero__wheel img{width:100%;height:auto;filter:brightness(.94)}.hero__wheel::after{content:'';position:absolute;left:12%;right:12%;bottom:-3.5%;height:9%;background:radial-gradient(ellipse,rgba(0,0,0,.9),transparent 70%);z-index:-1}.hero__shade{position:absolute;inset:.8%;border-radius:50%;background:radial-gradient(75% 75% at 64% 30%,transparent 42%,rgba(0,0,0,.3) 74%,rgba(0,0,0,.62) 100%),linear-gradient(200deg,transparent 45%,rgba(0,0,0,.35))}
.hero__floor{position:absolute;z-index:0;left:0;right:0;bottom:0;height:4vh;background:linear-gradient(#1c1d1e,var(--ink))}
.hero__body{position:absolute;z-index:3;left:var(--gut);bottom:6vh;width:min(520px,43vw)}.hero__lead{font-family:Montserrat,Arial,sans-serif;font-style:italic;font-weight:800;font-size:clamp(24px,2.3vw,34px);line-height:1.08;letter-spacing:-.035em}.hero__what{margin-top:14px;color:var(--mist);font-size:16px;line-height:1.5;max-width:30em}.hero__booking{display:flex;align-items:center;gap:22px;margin-top:26px}.hero__confirmation{font-size:14px;line-height:1.4;color:var(--steel);max-width:180px}.hero__proof{display:flex;align-items:center;gap:32px;margin-top:28px;padding-top:18px;border-top:1px solid #2e2f31}.hero__rating{display:flex;align-items:center;gap:12px}.hero__rating b{font-family:Montserrat,Arial,sans-serif;font-style:italic;font-weight:900;font-size:30px}.hero__rating span{max-width:110px;font-size:13px;line-height:1.3;color:var(--steel)}.hero__address{max-width:170px;font-size:13px;line-height:1.4;color:var(--steel)}
[data-depth]{transform:translate3d(0,var(--parallax-y,0px),0)}
@media(max-width:1000px) and (min-width:768px){.hero__header{gap:20px}.hero__nav{gap:20px}.hero__title{font-size:19vw}.hero__body{width:47vw}.hero__wheel{right:1%;width:49vw}.hero__lead{font-size:25px}}
@media(max-width:767px){.hero{min-height:740px}.hero__header{padding:16px var(--gut);gap:12px}.hero__brand{width:110px}.hero__nav,.hero__phone{display:none}.button--outline{margin-left:auto;min-height:40px;padding:0 18px;font-size:14px}.hero__title{left:10px;top:118px;font-size:20vw;line-height:.85;letter-spacing:-.075em}.hero__lines i{width:2px}.hero__lines i:nth-child(1){left:6%}.hero__lines i:nth-child(2){left:30%}.hero__lines i:nth-child(3){left:54%}.hero__lines i:nth-child(4){left:78%}.hero__lines i:nth-child(5),.hero__lines i:nth-child(6){display:none}.hero__wheel{width:88vw;right:-13vw;bottom:auto;top:220px}.hero__floor{display:none}.hero__body{left:var(--gut);right:var(--gut);bottom:24px;width:auto;padding-top:52px;background:linear-gradient(transparent,var(--ink) 48px)}.hero__body::before{content:'';position:absolute;z-index:-1;inset:0 calc(-1 * var(--gut)) -24px;background:inherit}.hero__lead{font-size:25px}.hero__what{font-size:14px;margin-top:11px;max-width:335px}.hero__booking{margin-top:20px;flex-direction:column;align-items:stretch;gap:10px}.hero__confirmation{max-width:none;text-align:center;font-size:12px}.hero__proof{gap:24px;margin-top:18px;padding-top:16px}.hero__rating b{font-size:26px}.hero__rating span,.hero__address{font-size:12px}.hero__address{max-width:150px}.hero__wheel::after{display:none}}
@media(max-width:767px) and (max-height:790px){.hero__wheel{top:206px;width:80vw;right:-11vw}.hero__title{top:108px}.hero__body{bottom:20px}.hero__what{font-size:13px}.hero__lead{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}[data-depth]{transform:none!important}}

.hero__rating b{color:#cfd0d1}.hero__nav a:hover,.hero__phone:hover{color:#cfd0d1}

/* Мобильная композиция по присланному крупному кадру PORT. */
@media(max-width:767px){
 .hero__wheel{width:118vw;right:-9vw;top:220px}
 .hero__wheel::after{display:none}
 .hero__body{padding-top:64px;background:linear-gradient(180deg,rgba(17,18,19,0),rgba(17,18,19,.94) 48px,var(--ink) 64px)}
 .hero__body::before{display:block}
 .hero__title{top:116px}
}
@media(max-width:767px) and (max-height:790px){
 .hero__wheel{top:206px;width:116vw;right:-8vw}
}

/* Coverflow: геометрия и управление из компонента пользователя. */
.services{padding:80px 0 40px;background:#18191a;overflow:hidden}
.services__heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:0 var(--gut);margin-bottom:30px}
.services h2{margin:0;font:900 italic clamp(40px,5.4vw,78px)/1.05 Montserrat,Arial,sans-serif;letter-spacing:-.06em;text-transform:uppercase}
.services__heading p{max-width:290px;font-size:16px;line-height:1.5;color:var(--mist)}
.coverflow{--cf-card:clamp(240px,26vw,360px)}
.coverflow__frame{overflow:hidden;padding:36px 0;perspective:calc(var(--cf-card) * 3);touch-action:pan-y;cursor:grab;outline-offset:-3px}
.coverflow__frame.is-dragging{cursor:grabbing}
.coverflow__stage{position:relative;height:var(--cf-card);transform-style:preserve-3d;user-select:none}
.coverflow__card{position:absolute;left:50%;top:0;width:var(--cf-card);aspect-ratio:1;overflow:hidden;border-radius:20px;background:var(--ink);will-change:transform;backface-visibility:hidden}
.coverflow__card img{width:100%;height:100%;object-fit:cover;object-position:center 58%;user-select:none}
.coverflow__card:first-child img{object-position:center 68%}
.coverflow__controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:4px}
.services__arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #6a6c6e;border-radius:12px;background:var(--ink);color:var(--white);cursor:pointer}
.services__arrow:hover{background:var(--cyan);color:var(--ink)}
.coverflow__pagination{display:flex;gap:2px}
.coverflow__dot{display:grid;place-items:center;width:28px;height:44px;border:0;padding:0;background:transparent;cursor:pointer}
.coverflow__dot::after{content:'';width:7px;height:7px;border-radius:50%;background:#71818a}
.coverflow__dot[aria-current=true]::after{background:var(--cyan);width:9px;height:9px}
.coverflow__caption{text-align:center;padding:24px var(--gut) 0;max-width:660px;margin:0 auto}
.coverflow__caption h3{margin:0;min-height:1.15em;font:800 italic 34px/1.15 Montserrat,Arial,sans-serif;letter-spacing:-.045em}
.coverflow__caption p{max-width:490px;min-height:48px;margin:14px auto 0;color:var(--mist);font-size:15px;line-height:1.5}
.coverflow__caption strong{display:block;margin:23px 0 19px;font:900 italic 34px/1 Montserrat,Arial,sans-serif;letter-spacing:-.04em}
.coverflow__caption .button{min-width:200px}
.services__foot{display:flex;justify-content:space-between;gap:12px;padding:36px var(--gut) 0;color:var(--steel);font-size:12px;line-height:1.5}
button:focus-visible,.coverflow__frame:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.coverflow__frame:focus-visible{outline-offset:-3px}
@media(max-width:767px){
 .services{padding:52px 0 28px}
 .services__heading{display:block;margin-bottom:10px}
 .services h2{font-size:40px;max-width:340px}
 .services__heading p{margin-top:14px;font-size:14px;max-width:270px}
 .coverflow{--cf-card:clamp(210px,60vw,300px)}
 .coverflow__frame{padding:28px 0}
 .coverflow__card{border-radius:16px}
 .coverflow__controls{gap:16px;margin-top:0}
 .coverflow__caption{padding-top:23px}
 .coverflow__caption h3{font-size:27px;min-height:62px;display:flex;align-items:center;justify-content:center}
 .coverflow__caption p{font-size:14px;min-height:63px;margin-top:8px}
 .coverflow__caption strong{font-size:31px;margin-top:18px}
 .coverflow__caption .button{width:100%}
 .services__foot{padding-top:28px;flex-direction:column;gap:4px}
}
/* Компактная статичная галерея с раскрытием дополнительных работ. */
.works{padding:80px var(--gut) 44px;background:var(--ink)}
.works__heading{margin-bottom:32px}
.works h2{margin:0;font:900 italic clamp(40px,5.4vw,78px)/1.05 Montserrat,Arial,sans-serif;letter-spacing:-.06em;text-transform:uppercase}
.works__heading p{margin-top:18px;font-size:16px;line-height:1.5;color:var(--mist)}
.works__gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.work{min-width:0}.work[hidden]{display:none}
.work__link{display:block}
.work__photos{aspect-ratio:4/3;overflow:hidden;border-radius:14px}
.work__photos img{width:100%;height:100%;object-fit:cover;object-position:center 65%}
.work h3{margin:14px 0 0;font:800 italic 25px/1.15 Montserrat,Arial,sans-serif;letter-spacing:-.035em}
.work__link:hover h3{text-decoration:underline;text-underline-offset:5px}
.works__footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:36px}
.works__more{font-family:inherit;cursor:pointer}
.works__channel{font-size:14px;color:#cfd0d1;text-decoration:underline;text-underline-offset:6px}
.works__channel:hover{color:var(--white)}
@media(max-width:767px){
 .works{padding:48px var(--gut) 30px}
 .works__heading{margin-bottom:24px}
 .works h2{font-size:40px}
 .works__heading p{font-size:14px;max-width:290px;margin-top:14px}
 .works__gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
 .work__photos{aspect-ratio:1;border-radius:10px}
 .work h3{font-size:17px;margin-top:10px;letter-spacing:-.04em}
 .works__footer{flex-direction:column;gap:20px;margin-top:28px}
 .works__more{width:100%;font-size:14px;min-height:50px;padding-inline:14px}
 .works__channel{font-size:13px}
}
/* Карточки Яндекс Карт и свободная композиция по эскизу пользователя. */
.reviews{padding:80px var(--gut) 60px;background:#18191a;overflow:hidden}
.reviews h2{margin:0;font:900 italic clamp(40px,5.4vw,78px)/1.05 Montserrat,Arial,sans-serif;letter-spacing:-.06em;text-transform:uppercase}
.reviews__summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px}
.reviews__score{display:flex;align-items:center;gap:22px}
.reviews__score strong{font:900 italic 66px/1 Montserrat,Arial,sans-serif;letter-spacing:-.07em;color:#cfd0d1}
.reviews__score p{font-size:16px}.reviews__score span{display:block;margin-top:5px;color:var(--mist);font-size:13px}
.reviews__source{color:#cfd0d1;font-size:14px;text-decoration:underline;text-underline-offset:6px;line-height:1.5}
.reviews__composition{position:relative;max-width:1200px;margin:70px auto 0;padding:20px 24px 110px}
.reviews__connections{position:absolute;inset:0;width:100%;height:100%;color:#d9dadb;pointer-events:none}
.reviews__list{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:90px 100px;align-items:start}
.review{padding:24px 26px;background:#fff;color:#111;border-radius:17px;font-family:Arial,sans-serif;font-weight:400;transform:rotate(-7deg)}
.review:nth-child(2){transform:translateY(90px) rotate(6deg)}
.review:nth-child(3){transform:rotate(-6deg)}
.review:nth-child(4){transform:translateY(110px) rotate(8deg)}
.review__header{display:flex;align-items:center;gap:12px}
.review__avatar{position:relative;display:block;width:40px;height:40px;border-radius:50%;overflow:hidden;flex:none}
.review__avatar img{position:absolute;max-width:none}
.review h3{margin:0;font:600 16px/1.3 Arial,sans-serif}
.review__header p{margin:3px 0 0;font-size:13px;line-height:1.3;color:#66686b}
.review__meta{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:13px;color:#66686b}
.review__stars{display:flex;gap:1px}.review__stars svg{width:16px;height:16px;fill:#ffbf00}
.review blockquote{margin:10px 0 0;font:400 16px/1.4 Arial,sans-serif;white-space:pre-line}
@media(max-width:767px){
 .reviews{padding:50px var(--gut) 35px}
 .reviews h2{font-size:40px}
 .reviews__summary{display:block;margin-top:22px}
 .reviews__score strong{font-size:58px}.reviews__score p{font-size:14px}
 .reviews__source{display:inline-block;margin-top:17px;font-size:13px}
 .reviews__composition{margin-top:38px;padding:10px 10px 22px}
 .reviews__connections{display:none}
 .reviews__list{grid-template-columns:1fr;gap:34px}
 .review{padding:20px 18px;border-radius:14px;transform:translateX(-3px) rotate(-3deg)}
 .review:nth-child(2){transform:translateX(3px) rotate(3deg)}
 .review:nth-child(3){transform:translateX(-3px) rotate(-3deg)}
 .review:nth-child(4){transform:translateX(3px) rotate(3deg)}
 .review::after{content:'';position:absolute;z-index:-1;right:35px;bottom:-38px;width:38px;height:40px;border-right:2px solid #d9dadb;border-radius:0 0 30px 0}
 .review:nth-child(even)::after{right:auto;left:35px;border-right:0;border-left:2px solid #d9dadb;border-radius:0 0 0 30px}
 .review:last-child::after{display:none}
 .review h3{font-size:15px}.review__header p{font-size:12px}
 .review blockquote{font-size:14px;line-height:1.45}
 .review__meta{font-size:12px;margin-top:14px}
}
/* Visit Tokyo: крупный фотокадр и редакторская типографика. */
.care{padding:64px var(--gut) 64px;background:var(--ink)}
.care__visual{position:relative;isolation:isolate;min-height:460px;overflow:hidden;border-radius:22px;background:#0b0b0c;display:flex;align-items:center;padding:48px}
.care__visual img{position:absolute;z-index:-2;right:0;top:0;width:65%;height:100%;object-fit:cover;object-position:center 60%}
.care__visual::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b0b0c 24%,rgba(7,10,11,.93) 35%,rgba(7,10,11,.3) 55%,transparent 75%)}
.care h2{max-width:640px;margin:0;font:900 italic clamp(56px,6.8vw,98px)/.95 Montserrat,Arial,sans-serif;letter-spacing:-.065em;text-transform:uppercase}
.care__details{max-width:1000px;margin:0 auto;padding-top:44px}
.care__intro{font:800 italic 25px/1.2 Montserrat,Arial,sans-serif;letter-spacing:-.035em}
.care__steps{list-style:none;padding:0;margin:30px 0 0;counter-reset:care-step}
.care__steps li{counter-increment:care-step;display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:34px;min-height:142px;padding:25px 0;border-top:1px solid #3a3b3d}.care__steps li:last-child{border-bottom:1px solid #3a3b3d}
.care__steps li::before{content:counter(care-step,decimal-leading-zero);font:900 italic 80px/.95 Montserrat,Arial,sans-serif;letter-spacing:-.075em;color:var(--white)}
.care__steps h3{margin:0;font:800 italic 34px/1.15 Montserrat,Arial,sans-serif;letter-spacing:-.035em}
.care__booking{display:flex;align-items:center;gap:24px;margin-top:34px}
.care__booking span{font-size:13px;color:var(--steel)}
@media(max-width:767px){
 .care{padding:36px var(--gut) 40px}
 .care__visual{min-height:330px;padding:24px 20px;align-items:flex-end;border-radius:16px}
 .care__visual img{width:100%;object-position:center 56%}
 .care__visual::after{background:linear-gradient(0deg,rgba(7,10,11,.97),rgba(7,10,11,.4) 42%,transparent 75%)}
 .care h2{max-width:300px;font-size:47px;line-height:.98}
 .care__details{padding-top:26px}
 .care__intro{font-size:23px;max-width:320px}
 .care__steps{margin-top:24px}
 .care__steps h3{font-size:23px;margin:0}
 .care__steps li{grid-template-columns:72px minmax(0,1fr);gap:18px;min-height:112px;padding:23px 0}.care__steps li::before{font-size:54px}
 .care__booking{flex-direction:column;gap:10px;align-items:stretch;margin-top:28px}
 .care__booking .button{font-size:14px;padding:0 16px;min-height:52px}
 .care__booking span{text-align:center;font-size:12px}
}
/* Онлайн-запись: поля и тонкие рамки Awesomic, типографика согласованных этапов. */
.booking{padding:80px var(--gut) 64px;background:#18191a;scroll-margin-top:20px}
.booking__heading,.booking__form,.booking__success{max-width:1100px;margin-inline:auto}
.booking h2{margin:0;font:900 italic clamp(40px,5.4vw,78px)/1.05 Montserrat,Arial,sans-serif;letter-spacing:-.06em;text-transform:uppercase}
.booking__heading>p{max-width:570px;margin-top:20px;font-size:16px;line-height:1.5;color:var(--mist)}
.booking__heading .booking__demo{margin-top:9px;font-size:13px;color:#cfd0d1}
.booking__form{margin-top:40px}
.booking__step{margin:0 0 28px;padding:0 0 28px;border:0;border-bottom:1px solid #3a3b3d;min-width:0}
.booking__step legend{display:flex;align-items:center;gap:20px;margin:0 0 20px;padding:0;font:800 italic 27px/1.2 Montserrat,Arial,sans-serif;letter-spacing:-.035em}
.booking__step legend>span:first-child{font-size:36px;color:#cfd0d1}
.booking__hint{font-size:13px;color:var(--mist);line-height:1.4;margin:0 0 15px}
.booking__services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.booking__choice{position:relative;display:block;min-width:0;cursor:pointer}
.booking__choice input{position:absolute;opacity:0;width:1px;height:1px}
.booking__choice-content{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px;border:1px solid #6a6c6e;border-radius:12px;min-height:62px;font-size:15px;line-height:1.3;background:var(--ink)}
.booking__services .booking__choice-content{align-items:flex-start;flex-direction:column;min-height:105px;padding-right:36px}
.booking__choice-content strong{font-size:14px;color:#cfd0d1;white-space:nowrap}
.booking__choice input:checked+.booking__choice-content{background:#d4d5d6;border-color:#d4d5d6;color:#111213}
.booking__choice input:checked+.booking__choice-content strong{color:#2c2d2f}
.booking__services input:checked+.booking__choice-content::after{content:'';position:absolute;right:16px;top:19px;width:7px;height:12px;border:solid #2c2d2f;border-width:0 2px 2px 0;transform:rotate(45deg)}
.booking__choice input:focus-visible+.booking__choice-content{outline:2px solid var(--white);outline-offset:3px}
.booking__choice:hover .booking__choice-content{border-color:#bfd0d7}
.booking__options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.booking__options .booking__choice-content{justify-content:center;text-align:center}
.booking__options+.booking__hint{margin:13px 0 0}
.booking__days{display:flex;gap:10px;overflow-x:auto;padding:4px 3px 14px;scrollbar-width:thin;scrollbar-color:#5a5c5f #18191a}
.booking__days .booking__choice{flex:0 0 83px}
.booking__days .booking__choice-content{flex-direction:column;gap:5px;padding:12px 8px;min-height:98px}
.booking__days strong{font-size:27px;font-weight:600}.booking__days small{font-size:12px}
.booking__contact h3{margin:0 0 20px;font:800 italic 26px/1.2 Montserrat,Arial,sans-serif;letter-spacing:-.035em}
.booking__fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.booking__fields label{display:flex;flex-direction:column;gap:10px;font-size:14px}
.booking__fields input{width:100%;height:58px;padding:0 17px;border:1px solid #6a6c6e;border-radius:10px;background:var(--ink);font:500 16px Golos,Arial,sans-serif;color:var(--white)}
.booking__fields input::placeholder{color:#a2a8ae;opacity:1}.booking__fields input:focus-visible{outline:2px solid #cfd0d1;outline-offset:2px}
.booking [aria-invalid=true]{outline-color:#ffb2a9}.booking__error{color:#ffb2a9;font-size:14px;line-height:1.5;margin-top:16px}
.booking__total{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;gap:28px;margin-top:24px;padding:20px 0;background:#18191a;border-top:1px solid #6a6c6e}
.booking__selection{flex:1;min-width:0;font-size:14px;line-height:1.4;color:var(--mist)}
.booking__amount span{display:block;font-size:12px;color:var(--mist);margin-bottom:6px}.booking__amount strong{font:800 italic 26px/1 Montserrat,Arial,sans-serif;letter-spacing:-.04em;white-space:nowrap}
.booking .button{cursor:pointer;font-family:inherit}
.booking__cost-note{font-size:12px;line-height:1.4;color:var(--steel)}
.booking__success{padding:40px 0;max-width:850px}.booking__success[hidden],.booking__form[hidden]{display:none}
.booking__success h3{font:800 italic 34px/1.2 Montserrat,Arial,sans-serif;margin:0 0 22px}.booking__success p{line-height:1.6;color:var(--mist);max-width:620px}
.booking__receipt{margin-top:24px;padding-top:22px;border-top:1px solid #3a3b3d}
.booking__success-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
.booking__edit,.booking__reminder{padding:12px 0;border:0;background:none;color:#cfd0d1;font:500 14px Golos,Arial,sans-serif;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.booking__reminder{margin-top:15px}.booking__reminder-note{font-size:13px}
@media(max-width:767px){
 .booking{padding:52px var(--gut) 35px}
 .booking h2{font-size:40px}.booking__heading>p{font-size:14px;margin-top:16px}
 .booking__heading .booking__demo{font-size:12px}.booking__form{margin-top:30px}
 .booking__step{padding-bottom:23px;margin-bottom:23px}
 .booking__step legend{font-size:23px;gap:14px;margin-bottom:16px}.booking__step legend>span:first-child{font-size:30px}
 .booking__services{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .booking__choice-content{font-size:13px;padding:13px 9px;min-height:52px;border-radius:10px}
 .booking__services .booking__choice-content{padding:14px 23px 14px 12px;min-height:110px}
 .booking__services input:checked+.booking__choice-content::after{right:10px;top:17px;width:5px;height:9px}
 .booking__choice-content strong{font-size:13px}
 .booking__options{gap:8px}.booking__options .booking__choice-content{font-size:12px;padding:13px 4px}
 .booking__days .booking__choice{flex-basis:70px}.booking__days strong{font-size:25px}
 .booking__contact h3{font-size:23px}.booking__fields{grid-template-columns:1fr;gap:17px}
 .booking__total{flex-wrap:wrap;gap:14px 12px;padding:14px 0 calc(14px + env(safe-area-inset-bottom));margin-top:18px}
 .booking__selection{flex-basis:100%;font-size:12px;line-height:1.4}
 .booking__amount{flex:1}.booking__amount strong{font-size:23px}
 .booking__total .button{padding:0 20px;min-height:50px;font-size:14px}
 .booking__cost-note{font-size:11px}.booking__success h3{font-size:29px}.booking__success-actions{gap:12px}
}

/* Контакты: редакторский ритм и тонкие разделители из Awesomic. */
.contacts{padding:88px var(--gut) 90px;scroll-margin-top:20px}
.contacts__inner{max-width:1200px;margin:auto}
.contacts h2{max-width:930px;margin:0 0 64px;font:900 italic clamp(48px,6.7vw,96px)/1.02 Montserrat,Arial,sans-serif;letter-spacing:-.06em;text-transform:uppercase}
.contacts__details{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding-top:32px;border-top:1px solid #3a3b3d}
.contacts__label{font-size:15px;color:var(--mist);margin-bottom:18px}
.contacts address{font:800 italic clamp(30px,3.3vw,47px)/1.16 Montserrat,Arial,sans-serif;letter-spacing:-.045em}
.contacts address span{display:block}.contacts address span+span{color:#cfd0d1}
.contacts__route{display:inline-flex;align-items:center;gap:20px;margin-top:30px;padding:10px 0;font-size:15px;color:#e2e3e4;border-bottom:1px solid #5a5c5f}
.contacts__route:hover{color:var(--white);border-color:var(--white)}
.contacts__phone{display:inline-block;font:800 italic clamp(25px,2.65vw,38px)/1.2 Montserrat,Arial,sans-serif;letter-spacing:-.05em;white-space:nowrap}
.contacts__phone:hover{color:#e2e3e4}.contacts__note{color:var(--mist);font-size:15px;line-height:1.5;max-width:310px;margin-top:18px}
.contacts__reach .button{margin-top:26px}
.footer{display:flex;align-items:center;gap:30px;margin:0 var(--gut);padding:28px 0;border-top:1px solid #3a3b3d;color:var(--mist);font-size:13px}
.footer__brand{flex-shrink:0}.footer__brand img{width:115px;height:auto}
.footer__channel{margin-left:auto}.footer__top{display:inline-flex;gap:12px;align-items:center;margin-left:35px}
.footer a:hover{color:var(--white)}
@media(max-width:767px){
 .contacts{padding:55px var(--gut) 45px}.contacts h2{font-size:48px;margin-bottom:30px;max-width:360px}
 .contacts__details{grid-template-columns:1fr;gap:32px;padding-top:25px}.contacts__label{font-size:13px;margin-bottom:13px}
 .contacts address{font-size:35px}.contacts__route{font-size:14px;margin-top:16px;gap:18px}
 .contacts__reach{border-top:1px solid #3a3b3d;padding-top:25px}.contacts__phone{font-size:29px}
 .contacts__note{font-size:14px;margin-top:14px;max-width:270px}.contacts__reach .button{width:100%;margin-top:22px;font-size:15px;min-height:52px}
 .footer{display:grid;grid-template-columns:1fr auto;gap:22px 10px;padding:24px 0 28px;font-size:12px}
 .footer__brand img{width:105px}.footer>p{max-width:130px;text-align:right;justify-self:end;line-height:1.5}
 .footer__channel,.footer__top{margin:0}.footer__top{justify-self:end}
}
@media(max-width:374px){.contacts h2{font-size:44px}.contacts__phone{font-size:27px}}

/* Фотографическая композиция: крупный объект и спокойный фон Dream Elegance. */
.contacts{position:relative;isolation:isolate;overflow:hidden;padding-top:72px;padding-bottom:64px;background:#111213}
.contacts__photo{position:absolute;z-index:-2;right:0;top:0;width:64%;height:100%;object-fit:cover;object-position:center 66%;mask-image:linear-gradient(90deg,transparent,#000 24%)}
.contacts::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111213 9%,rgba(17,18,19,.98) 30%,rgba(17,18,19,.64) 49%,rgba(17,18,19,.06) 75%),linear-gradient(0deg,#111213,transparent 22%,transparent 80%,rgba(17,18,19,.5))}
.contacts h2{font-size:clamp(48px,5.6vw,80px);max-width:690px;margin-bottom:36px}
.contacts__details{grid-template-columns:1fr;max-width:490px;gap:28px;padding-top:25px}
.contacts address{font-size:39px}.contacts address span{display:inline}.contacts address span+span{display:block;font-size:29px;margin-top:5px}
.contacts__label{margin-bottom:12px}.contacts__route{margin-top:16px}
.contacts__reach{padding-top:23px;border-top:1px solid #3a3b3d}
.contacts__phone{font-size:34px}.contacts__note{max-width:370px;margin-top:13px;font-size:14px}.contacts__reach .button{margin-top:21px}
@media(max-width:767px){
 .contacts{padding-top:38px;padding-bottom:40px}
 .contacts__photo{top:0;right:0;width:100%;height:435px;object-position:center 64%;mask-image:none}
 .contacts::before{background:linear-gradient(0deg,#111213 0%,#111213 calc(100% - 420px),rgba(17,18,19,0) calc(100% - 235px)),linear-gradient(180deg,rgba(17,18,19,.85),rgba(17,18,19,.1) 180px,transparent 350px)}
 .contacts h2{font-size:46px;max-width:350px;margin-bottom:200px}
 .contacts__details{border:0;padding-top:0;gap:24px}.contacts address{font-size:35px}.contacts address span+span{font-size:27px}
 .contacts__phone{font-size:29px}.contacts__note{max-width:270px}.contacts__reach .button{margin-top:20px}
}
@media(max-width:374px){.contacts h2{font-size:43px}.contacts__phone{font-size:27px}}

/* Шина перекрывает заголовок; движение по просьбе пользователя. */
.hero__wheel{width:min(44vw,72vh);left:min(57vw,98vh);right:auto;bottom:3vh;transform:translate3d(0,var(--parallax-y,0px),0) rotate(var(--wheel-turn,0deg));transition:transform .12s linear}
.hero__wheel img.is-entering{animation:wheel-roll-in 1.65s cubic-bezier(.22,.65,.25,1) both}
@keyframes wheel-roll-in{from{transform:translateX(var(--entry-distance,70vw)) rotate(var(--entry-angle,120deg));opacity:0}12%{opacity:1}to{transform:translateX(0) rotate(0deg);opacity:1}}
@media(max-width:1000px) and (min-width:768px){.hero__wheel{width:52vw;left:auto;right:3vw}}
@media(max-width:767px){.hero__wheel{width:118vw;left:auto;right:-9vw;bottom:auto;top:184px}}
@media(max-width:767px) and (max-height:790px){.hero__wheel{width:116vw;right:-8vw;top:178px}}
@media(prefers-reduced-motion:reduce){.hero__wheel{transform:none!important;transition:none}.hero__wheel img{animation:none!important}}

/* Правки после просмотра сайта: выбранная мобильная композиция и масштаб контента. */
@media(max-width:767px){
 .hero{height:auto;min-height:844px}
 .hero__title{top:150px;left:12px;width:calc(100% - 24px);font-size:20vw;text-align:center}
 .hero__wheel{width:78vw;right:11vw;left:auto;top:234px;bottom:auto}
 .hero__body{bottom:24px;padding-top:28px;background:linear-gradient(transparent,var(--ink) 28px)}
 .hero__body::before{background:inherit}
}
.coverflow{--cf-card:clamp(300px,31vw,470px)}
.coverflow__caption{max-width:800px}.coverflow__caption h3{font-size:40px}
.coverflow__caption p{font-size:18px;max-width:640px;min-height:54px}
.coverflow__caption strong{font-size:40px}.services__heading p{font-size:18px;max-width:340px}
.work__photos{aspect-ratio:3/4;background:#18191a;border-radius:16px}
.work__photos img{object-fit:contain;object-position:center}
.work h3{font-size:27px;margin-top:16px}.works__gallery{gap:32px 24px}
.care{position:relative;isolation:isolate;overflow:hidden;padding:80px var(--gut);background:#111213}
.care__background{position:absolute;z-index:-2;right:0;top:0;width:70%;height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 28%)}
.care::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111213 18%,rgba(17,18,19,.94) 38%,rgba(17,18,19,.4) 73%),linear-gradient(0deg,#111213,transparent 25%,transparent 80%,rgba(17,18,19,.5))}
.care__visual{position:static;isolation:auto;min-height:0;padding:0;background:none;overflow:visible;border-radius:0;max-width:1200px;margin:auto}
.care__visual::after{display:none}.care h2{max-width:660px;font-size:80px;line-height:1}
.care__details{max-width:1200px;margin:auto;padding-top:36px}.care__intro{font-size:24px}
.care__steps{max-width:650px}.care__steps li{grid-template-columns:95px minmax(0,1fr);gap:24px;min-height:112px;border-color:#536066}
.care__steps li::before{font-size:66px}.care__steps h3{font-size:29px}
.contacts__details,.contacts__reach{border:0}.contacts__details{padding-top:0;gap:35px}.contacts__reach{padding-top:0}
.contacts__route{border:0;text-decoration:underline;text-underline-offset:7px}
.contacts h2{margin-bottom:42px}
.booking [data-options="time"] .booking__choice-content{flex-direction:column;gap:6px}
.booking [data-options="time"] small{font-size:13px}
@media(max-width:767px){
 .coverflow{--cf-card:clamp(250px,72vw,370px)}
 .coverflow__caption h3{font-size:30px}.coverflow__caption p{font-size:16px;min-height:72px}.coverflow__caption strong{font-size:35px}
 .services__heading p{font-size:16px;max-width:300px}
 .works__gallery{gap:24px 12px}.work__photos{border-radius:10px}.work h3{font-size:17px;margin-top:10px}
 .care{padding:48px var(--gut) 40px}.care h2{font-size:48px;max-width:340px}
 .care__background{width:100%;height:100%;object-position:66% center;mask-image:none;opacity:.65}
 .care::after{background:linear-gradient(90deg,rgba(17,18,19,.87),rgba(17,18,19,.65)),linear-gradient(0deg,#111213,transparent 40%,transparent 75%,#111213)}
 .care__details{padding-top:28px}.care__intro{font-size:21px}
 .care__steps li{grid-template-columns:60px minmax(0,1fr);gap:18px;min-height:108px}
 .care__steps li::before{font-size:48px}.care__steps h3{font-size:23px}
 .contacts h2{margin-bottom:215px}.contacts__details{gap:32px}.contacts__reach{padding-top:0}
 .booking [data-options="time"] small{font-size:11px}
}

/* Фронтальное колесо вращается вокруг центра; тень остаётся на полу. */
.hero__wheel{aspect-ratio:1;transform-origin:50% 50%}.hero__wheel::after{display:none}
.hero__ground-shadow{position:absolute;z-index:1;left:calc(min(57vw,98vh) + 5vw);bottom:1vh;width:min(34vw,56vh);height:5vh;background:radial-gradient(ellipse,rgba(0,0,0,.65),transparent 70%);pointer-events:none}
@media(max-width:767px){.hero__ground-shadow{left:24%;bottom:auto;top:calc(234px + 74vw);width:52%;height:22px;opacity:.55}}

@media(min-width:1001px){
 .hero__wheel{left:calc(min(57vw,98vh) + 68px)}
 .hero__ground-shadow{left:calc(calc(min(57vw,98vh) + 68px) + 5vw)}
}

/* ===== графит и серебро: чёткое серебро ===== */
:root{--white:#f1f0ed;--mist:#bdbec0;--steel:#909295;
  --chrome:linear-gradient(180deg,#ffffff 0%,#eeeff0 30%,#a7aaad 49%,#e4e5e6 58%,#c3c5c7 78%,#f4f4f4 100%);
  --chrome-btn:linear-gradient(180deg,#fbfbfa 0%,#e3e4e5 46%,#c4c6c8 54%,#e9eaea 100%)}
.hero{background:radial-gradient(90% 60% at 62% 8%,#2c2d2f 0%,rgba(17,18,19,0) 62%),linear-gradient(180deg,#171819 0%,#111213 70%)}
.hero__title,
.services h2,.works h2,.reviews h2,.care h2,.booking h2,.contacts h2{
  background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero__rating b,.reviews b{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.button{background:var(--chrome-btn);border-color:#d6d7d8;color:#111213;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 0 rgba(0,0,0,.4)}
.button:hover{background:linear-gradient(180deg,#ffffff,#d9dadb);border-color:#ffffff}
.button--outline{background:transparent;color:var(--white);border-color:#77797c;box-shadow:none}
.button--outline:hover{background:var(--chrome-btn);color:#111213}
.hero__wheel img{filter:brightness(.95) saturate(.55) contrast(1.05)}