/* Общее для концепций: сброс, шапка, меню, окно заявки. Цвета и шрифты задаёт страница. */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.is-lock{overflow:hidden}
body{margin:0;font-family:var(--ui);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
img,svg{display:block}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* шапка */
.hd{display:flex;align-items:center;gap:clamp(16px,3vw,48px);height:var(--hd-h,88px);padding:0 var(--pad)}
.logo{display:flex;align-items:center;gap:14px;flex:0 1 auto;min-width:0}
.logo>span{min-width:0}
.logo__m{display:block;height:44px}
.logo__m svg{height:100%;width:auto}
.logo__t{display:block;padding-left:14px;border-left:1px solid var(--line);font-size:14px;line-height:1.3;color:var(--ink)}
.nav{display:flex;gap:clamp(18px,2.2vw,34px);margin:0 auto;font-size:15px}
.nav a{position:relative;padding:12px 0;color:var(--ink-2);transition:color .2s}
.nav a:hover{color:var(--ink)}
.hd__r{display:flex;align-items:center;gap:10px;margin-left:auto}
.call{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 18px 0 14px;border:1px solid var(--line);border-radius:999px;font-size:15px;font-weight:500;transition:border-color .2s,background .2s}
.call:hover{border-color:var(--ink-2)}
.call svg{width:20px;height:20px}
.burger{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:none;transition:border-color .2s}
.burger:hover{border-color:var(--ink-2)}
.burger i{display:block;width:18px;height:1.5px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}

/* меню */
.menu{position:fixed;inset:0;z-index:50;display:grid;grid-template-columns:1fr min(440px,100%);visibility:hidden;transition:visibility 0s .35s}
.menu.is-open{visibility:visible;transition:none}
.menu__bg{background:rgba(20,18,16,.38);opacity:0;transition:opacity .35s}
.menu.is-open .menu__bg{opacity:1}
.menu__in{display:flex;flex-direction:column;gap:28px;padding:28px 32px 32px;background:var(--menu-bg,#F7F3EE);color:var(--menu-ink,#1E1D1B);transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);overflow:auto}
.menu.is-open .menu__in{transform:none}
.menu__top{display:flex;justify-content:flex-end}
.menu__x{width:48px;height:48px;border:1px solid rgba(0,0,0,.14);border-radius:50%;background:none;font-size:24px;line-height:1}
.menu nav{display:flex;flex-direction:column}
.menu nav a{padding:14px 0;border-bottom:1px solid rgba(0,0,0,.1);font-size:22px}
.menu__c{display:flex;flex-direction:column;gap:6px;font-size:15px;color:#5E564E}
.menu__c a{font-size:22px;color:#1E1D1B;font-weight:500}
.menu__go{margin-top:auto;display:flex;align-items:center;justify-content:center;height:56px;border-radius:999px;background:#A4523A;color:#fff;font-weight:500;border:0}

/* окно заявки */
.ask{width:min(460px,calc(100% - 32px));padding:0;border:0;border-radius:18px;background:#FBF8F4;color:#1E1D1B;box-shadow:0 40px 80px -30px rgba(0,0,0,.5)}
.ask::backdrop{background:rgba(20,18,16,.5);backdrop-filter:blur(3px)}
.ask__in{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px 28px 26px}
.ask__x{position:absolute;top:14px;right:14px;width:44px;height:44px;border:0;border-radius:50%;background:none;font-size:26px;line-height:1;color:#5E564E}
.ask__k{margin:0;font-size:15px;font-weight:500;color:#A4523A}
.ask h2{margin:0;font-family:var(--ui);font-weight:500;font-size:26px;letter-spacing:-.01em;line-height:1.2}
.ask__p{margin:0;color:#5E564E}
.ask__p a{color:#A4523A;font-weight:500}
.ask__rooms{display:flex;gap:8px}
.ask__rooms label{flex:1}
.ask__rooms input{position:absolute;opacity:0}
.ask__rooms span{display:grid;place-items:center;height:48px;border:1px solid #D9CFC4;border-radius:12px;font-weight:500;cursor:pointer}
.ask__rooms input:checked+span{border-color:#A4523A;background:#A4523A;color:#fff}
.ask__f{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#5E564E}
.ask__f input{height:50px;padding:0 14px;border:1px solid #D9CFC4;border-radius:12px;background:#fff;font:inherit;font-size:16px;color:#1E1D1B}
.ask__c{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:#5E564E}
.ask__c input{margin-top:2px;width:18px;height:18px;accent-color:#A4523A}
.ask__c a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.ask__go{height:54px;border:0;border-radius:999px;background:#A4523A;color:#fff;font-weight:500;font-size:16px}
.ask__l{margin:0 0 -8px;font-size:13.5px;color:#5E564E}
.ask__n{margin:0;font-size:13px;color:#8A8077}
.ask__e{margin:0;font-size:14px;line-height:1.4;color:#B03A2E}

@media (max-width:1100px){.nav{display:none}}
@media (max-width:640px){
  .hd{--hd-h:72px;gap:12px}
  .logo__m{height:36px}
  .logo__t{font-size:13px;padding-left:12px}
  .hd__r{gap:8px;flex:none}
  .call{width:48px;padding:0;justify-content:center}
  .call span{display:none}
}
@media (max-width:380px){.logo{gap:10px}.logo__m{height:32px}.logo__t{font-size:12.5px;padding-left:10px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* поля по бокам рендера (SK.fit): картинка 2×256 из цветов левого и правого края,
   растянутая на весь слайд, — по высоте небо, лес, трава, по ширине плавный переход */
.bgf{position:absolute;inset:0;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none}
