/* Дополнительная адаптивность и форма записи */
body{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
img{max-width:100%}
button,input,select,textarea{font:inherit}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(169,111,85,.45);outline-offset:3px}
.booking{background:var(--paper)}
.booking-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);gap:70px;align-items:start}
.booking-copy p{max-width:470px;font-size:14px;line-height:1.8;color:#666b62}
.booking-phone a{color:var(--olive);font-weight:600}
.booking-form{background:var(--cream);border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.booking-form label span{display:block;margin-bottom:8px;font-size:12px;font-weight:600}
.booking-form label small{font-weight:400;color:#73776d}
.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;min-height:50px;border:1px solid rgba(51,54,47,.22);border-radius:12px;background:#fff;padding:12px 14px;color:var(--ink);font-size:16px}
.booking-form textarea{resize:vertical;min-height:112px}
.form-wide{grid-column:1/-1}
.form-consent{display:flex;gap:11px;align-items:flex-start;margin:20px 0}
.form-consent input{width:20px;height:20px;min-height:0;margin:0;flex:0 0 auto;accent-color:var(--olive)}
.form-consent span{font-size:11px!important;line-height:1.55;font-weight:400!important;margin:0!important}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-submit{width:100%;cursor:pointer}
.form-submit:disabled{opacity:.65;cursor:wait}
.form-status{min-height:20px;margin:13px 0 0;font-size:12px;line-height:1.5}
.form-status.success{color:#47613e}.form-status.error{color:#9b3d32}
@media(max-width:1100px){.menu{gap:18px}.service-card h3{font-size:25px}.booking-grid{gap:40px}}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr}.booking-copy p{max-width:650px}.booking-form{max-width:720px;width:100%}.nav{position:relative}.menu{max-height:calc(100vh - 100px);overflow:auto}.menu a{padding:8px 4px}.menu .btn{padding:0 18px}}
@media(max-width:620px){.hero{min-height:620px;height:auto;padding:110px 0 65px}.hero-content{padding-top:0}.hero h1{font-size:clamp(48px,15vw,59px)}.hero-actions .btn{flex:1;min-width:145px}.section h2{font-size:clamp(39px,12vw,52px);line-height:1}.section-head{gap:18px}.quick-grid{padding:12px 0}.quick-grid>div{padding:18px 8px}.service-img{height:180px}.service-body{padding:20px}.service-card{min-height:370px}.service-foot{align-items:flex-end}.price{font-size:25px}.book{display:inline-flex;min-height:44px;align-items:center;padding-left:8px}.booking-grid{gap:28px}.booking-form{padding:22px 16px;border-radius:20px}.form-grid{grid-template-columns:1fr;gap:16px}.form-wide{grid-column:auto}.gallery-grid img{height:230px}.contact-card{border-radius:22px}.contact-actions .btn{width:100%}}
@media(max-width:380px){.container{width:calc(100% - 20px)}.logo small{display:none}.hero h1{font-size:45px}.hero-actions{display:grid}.section{padding:60px 0}.service-card h3{font-size:24px}.contact-card{padding:24px 14px}}
@media(hover:none){.btn:hover,.service-card:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.form-consent a{color:var(--olive)}
.consent-banner[hidden]{display:none}
.consent-banner{position:fixed;z-index:100;left:0;right:0;bottom:0;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:rgba(255,253,249,.97);border-top:1px solid var(--line);box-shadow:0 -12px 40px rgba(51,54,47,.12);backdrop-filter:blur(14px)}
.consent-banner__inner{width:min(1180px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.consent-banner p{margin:0;font-size:13px;line-height:1.6}
.consent-banner a{color:var(--olive);font-weight:600}
.consent-banner .btn{min-height:44px;flex:0 0 auto;cursor:pointer}
@media(max-width:620px){.consent-banner{padding:14px 14px calc(14px + env(safe-area-inset-bottom))}.consent-banner__inner{align-items:stretch;flex-direction:column;gap:10px}.consent-banner .btn{width:100%}}
.hero-slides{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease}
.hero-slide.active{opacity:1;visibility:visible}
.hero-controls{display:flex;align-items:center;gap:14px;margin-top:34px;width:max-content}
.hero-arrow{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(51,54,47,.2);border-radius:50%;background:rgba(255,253,249,.72);color:var(--ink);font-size:18px;cursor:pointer;backdrop-filter:blur(8px)}
.hero-dots{display:flex;align-items:center;gap:9px}
.hero-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(51,54,47,.3);cursor:pointer;transition:width .25s,background .25s}
.hero-dots button.active{width:28px;border-radius:999px;background:var(--olive)}
@media(max-width:620px){.hero-controls{margin-top:26px}.hero-arrow{width:44px;height:44px}}
