/* Wind Houses — моушен и «10% на следующую поездку».
 * Подключается подстановкой nginx (sub_filter '</head>') на все страницы:
 * страницы перевыгружаются из конструктора целиком, правки в HTML не живут.
 * Всё прячется ТОЛЬКО под html.whm-on (его ставит скрипт) — без JS сайт как был.
 */
:root{--whm-forest:#354035;--whm-hvoya:#3d5d3d;--whm-green:#4d7a4d;--whm-sand:#f5f3ee;--whm-gold:#e3c27a;--whm-gold2:#f6e3b0;--whm-ink:#2b2b2b;--whm-ease:cubic-bezier(.22,1,.36,1);--whm-spring:cubic-bezier(.34,1.56,.64,1)}

/* ---------- прогресс чтения ---------- */
.whm-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:100000;pointer-events:none;background:linear-gradient(90deg,var(--whm-green),var(--whm-gold));transform:scaleX(var(--p,0));transform-origin:0 50%}

/* ---------- первый экран: медленный наезд камеры + текст по словам ---------- */
.whm-kb{overflow:hidden}
.whm-on .whm-kb>.tn-atom,.whm-on .lp-hero>img{animation:whm-kb 16s var(--whm-ease) both;transform-origin:60% 40%}
@keyframes whm-kb{from{transform:scale(1.16) translate3d(-1.5%,1%,0)}to{transform:none}}
.lp-hero{overflow:hidden}
.whm-w{display:inline-block;white-space:pre}
.whm-on .whm-split .whm-w{opacity:0;transform:translateY(.5em) rotate(2deg);filter:blur(6px)}
.whm-on .whm-split.is-in .whm-w{animation:whm-word .9s var(--whm-ease) both;animation-delay:calc(var(--i)*55ms + var(--d0,0ms))}
@keyframes whm-word{to{opacity:1;transform:none;filter:none}}
.whm-on .whm-hero-in{animation:whm-up 1s var(--whm-ease) both;animation-delay:var(--d0,0ms)}
@keyframes whm-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ---------- появление при прокрутке ---------- */
.whm-on .whm-r{transition:opacity .9s var(--whm-ease),transform 1s var(--whm-ease),filter .9s var(--whm-ease),clip-path 1.2s var(--whm-ease);transition-delay:var(--d,0ms)}
.whm-on .whm-r:not(.is-in){opacity:0;transform:translateY(34px);filter:blur(3px)}
.whm-on .whm-r.whm-img{transition-duration:1.3s}
.whm-on .whm-r.whm-img:not(.is-in){opacity:.001;transform:scale(1.12);clip-path:inset(14% 0 14% 0 round 18px);filter:none}
.whm-on .whm-r.whm-img.is-in{clip-path:inset(0 0 0 0 round 0)}

/* параллакс крупных фото: картинка чуть больше рамки и едет медленнее страницы */
.whm-px{overflow:hidden}
.whm-px>.tn-atom{transform:translate3d(0,var(--py,0px),0) scale(1.1);will-change:transform}

/* ---------- кнопки: подъём, блик, стрелка ---------- */
.t396__elem[data-elem-type=button] .tn-atom,.wh-btn{position:relative;overflow:hidden;transition:transform .35s var(--whm-spring),box-shadow .35s var(--whm-ease),background-color .3s!important}
.t396__elem[data-elem-type=button] .tn-atom::after,.wh-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);pointer-events:none}
.t396__elem[data-elem-type=button] .tn-atom:hover,.wh-btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(53,64,53,.28)}
.t396__elem[data-elem-type=button] .tn-atom:hover::after,.wh-btn:hover::after{transform:translateX(120%);transition:transform .8s var(--whm-ease)}
.t396__elem[data-elem-type=button] .tn-atom:active,.wh-btn:active{transform:translateY(0) scale(.97)}

/* ссылки-карточки посадочных и журнала */
.links a,.card{transition:transform .4s var(--whm-spring),box-shadow .4s var(--whm-ease)!important}
.links a:hover,.card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(53,64,53,.14)}
.gal img{transition:transform .8s var(--whm-ease),filter .5s}
.gal a:hover img,.gal figure:hover img,.gal img:hover{transform:scale(1.04)}
.faq2 details{transition:background .3s}
.faq2 details[open] .ans{animation:whm-up .5s var(--whm-ease) both}

/* ---------- 10% на следующую поездку ---------- */
.whm-gift-ico{width:18px;height:18px;flex-shrink:0}
.whm-sticker{position:absolute;z-index:6;left:18px;top:-19px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border:0;border-radius:999px;cursor:pointer;
 font:600 14px/1.1 Mulish,-apple-system,Segoe UI,Roboto,sans-serif;color:#fff;background:var(--whm-forest);box-shadow:0 10px 26px rgba(20,28,20,.35),inset 0 0 0 1px rgba(227,194,122,.45);overflow:hidden;white-space:nowrap;
 animation:whm-pop .8s var(--whm-spring) 1.4s both}
.whm-sticker b{font:700 17px/1 Mulish,sans-serif;color:var(--whm-gold)}
.whm-sticker .whm-gift-ico{color:var(--whm-gold);animation:whm-wiggle 4s ease-in-out 3s infinite}
.whm-sticker .whm-more{opacity:.7;font-weight:500}
.whm-sticker::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(246,227,176,.45) 50%,transparent 65%);transform:translateX(-130%);animation:whm-shine 5s var(--whm-ease) 2.4s infinite}
.whm-sticker:hover{transform:translateY(-2px)}
@keyframes whm-pop{from{opacity:0;transform:translateY(10px) scale(.7)}to{opacity:1;transform:none}}
@keyframes whm-shine{0%,60%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes whm-wiggle{0%,86%,100%{transform:none}89%{transform:rotate(-14deg) scale(1.15)}92%{transform:rotate(12deg) scale(1.15)}95%{transform:rotate(-6deg)}}
@media(max-width:980px){.whm-sticker{left:50%;top:-17px;font-size:13px;padding:7px 12px 7px 9px;animation-name:whm-pop-c}.whm-sticker b{font-size:15px}.whm-sticker .whm-more{display:none}}
@keyframes whm-pop-c{from{opacity:0;transform:translate(-50%,10px) scale(.7)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:980px){.whm-sticker:hover{transform:translate(-50%,-2px)}}

.whm-cb{position:relative;display:flex;align-items:center;gap:22px;margin:0 auto 18px;max-width:1100px;padding:20px 24px;border-radius:18px;text-align:left;
 background:linear-gradient(120deg,#fbf7ec,#f5efe0);color:var(--whm-ink);box-shadow:0 14px 40px rgba(53,64,53,.12),inset 0 0 0 1px rgba(227,194,122,.55);overflow:hidden;font-family:Mulish,-apple-system,Segoe UI,Roboto,sans-serif}
.whm-cb::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(227,194,122,.35),transparent 70%);animation:whm-float 7s ease-in-out infinite}
.whm-cb-num{position:relative;flex-shrink:0;width:92px;height:92px;border-radius:24px;display:grid;place-items:center;background:var(--whm-forest);color:var(--whm-gold);font:400 34px/1 Vetrino,'Playfair Display',Georgia,serif;box-shadow:0 12px 26px rgba(53,64,53,.3)}
.whm-cb-num small{position:absolute;bottom:10px;font:600 10px/1 Mulish,sans-serif;letter-spacing:.8px;color:#cfd6cc;text-transform:uppercase}
.whm-cb-num .whm-gift-ico{position:absolute;top:-8px;right:-8px;width:30px;height:30px;padding:6px;border-radius:50%;background:var(--whm-gold);color:var(--whm-forest);animation:whm-wiggle 4s ease-in-out 2s infinite}
.whm-cb-txt{flex:1;min-width:0}
.whm-cb-txt strong{display:block;font:400 21px/1.25 Vetrino,'Playfair Display',Georgia,serif;color:var(--whm-forest);margin-bottom:6px}
.whm-cb-txt p{margin:0;font-size:14.5px;line-height:1.55;color:#555}
.whm-cb-ex{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.whm-cb-ex span{font-size:13px;background:#fff;border-radius:999px;padding:5px 11px;box-shadow:inset 0 0 0 1px #eadfc4;color:#444}
.whm-cb-ex span b{color:var(--whm-green)}
.whm-cb-btn{flex-shrink:0;border:0;cursor:pointer;border-radius:10px;padding:12px 16px;font:700 14px Mulish,sans-serif;color:var(--whm-forest);background:#fff;box-shadow:inset 0 0 0 1px #dccfae;transition:transform .3s var(--whm-spring),background .2s}
.whm-cb-btn:hover{background:var(--whm-gold2);transform:translateY(-2px)}
.whm-cb.is-in .whm-cb-num{animation:whm-pop .8s var(--whm-spring) .15s both}
@keyframes whm-float{50%{transform:translate(-18px,14px) scale(1.08)}}
.book .whm-cb{margin-bottom:20px}
@media(max-width:700px){.whm-cb{flex-wrap:wrap;gap:14px;padding:18px}.whm-cb-num{width:68px;height:68px;border-radius:18px;font-size:26px}.whm-cb-num small{display:none}.whm-cb-txt{flex-basis:calc(100% - 90px)}.whm-cb-txt strong{font-size:18px}.whm-cb-btn{width:100%}}

.whm-chip{display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:5px 10px;border-radius:999px;background:rgba(227,194,122,.95);color:var(--whm-forest);font:700 13px Mulish,sans-serif;border:0;cursor:pointer;animation:whm-pop .7s var(--whm-spring) 1.2s both}
.whm-chip .whm-gift-ico{width:15px;height:15px}
.whm-sticky-note{display:block;font-size:12px;color:var(--whm-green);font-weight:700;margin-top:2px}

/* окно с подробностями и калькулятором */
.whm-sheet{position:fixed;inset:0;z-index:100001;display:grid;place-items:center;padding:16px;background:rgba(20,26,20,.5);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .35s}
.whm-sheet.open{opacity:1;pointer-events:auto}
.whm-panel{position:relative;width:100%;max-width:560px;max-height:calc(100dvh - 32px);overflow:auto;background:#fffdf8;border-radius:24px;padding:30px 28px 24px;box-shadow:0 30px 80px rgba(0,0,0,.3);font-family:Mulish,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--whm-ink);transform:translateY(30px) scale(.96);transition:transform .5s var(--whm-spring)}
.whm-sheet.open .whm-panel{transform:none}
.whm-x{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;border:0;background:#f1ede2;cursor:pointer;font-size:20px;line-height:1;color:#555}
.whm-panel h3{font:400 26px/1.2 Vetrino,'Playfair Display',Georgia,serif;color:var(--whm-forest);margin:0 36px 8px 0}
.whm-panel h3 b{color:var(--whm-green);font-weight:400}
.whm-lead{margin:0 0 18px;color:#555;line-height:1.55}
.whm-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
.whm-steps li{display:flex;gap:12px;align-items:flex-start;line-height:1.45;font-size:15px;opacity:0;transform:translateX(-10px);transition:opacity .5s,transform .5s var(--whm-ease)}
.whm-sheet.open .whm-steps li{opacity:1;transform:none}
.whm-sheet.open .whm-steps li:nth-child(2){transition-delay:.08s}.whm-sheet.open .whm-steps li:nth-child(3){transition-delay:.16s}.whm-sheet.open .whm-steps li:nth-child(4){transition-delay:.24s}
.whm-steps i{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--whm-forest);color:var(--whm-gold);font:700 13px Mulish,sans-serif;font-style:normal}
.whm-calc{background:var(--whm-sand);border-radius:18px;padding:16px}
.whm-calc-t{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#7a7a70;margin-bottom:10px}
.whm-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.whm-seg button{border:0;cursor:pointer;border-radius:12px;padding:10px 6px;background:#fff;font:600 13px/1.3 Mulish,sans-serif;color:#555;box-shadow:inset 0 0 0 1px #e5e0d2;transition:all .25s}
.whm-seg button small{display:block;font-weight:400;color:#888;margin-top:2px}
.whm-seg button[aria-pressed=true]{background:var(--whm-forest);color:#fff;box-shadow:none}
.whm-seg button[aria-pressed=true] small{color:#cfd6cc}
.whm-nights{display:flex;align-items:center;justify-content:space-between;margin:12px 0 4px;font-size:14px}
.whm-nights div{display:flex;align-items:center;gap:10px}
.whm-nights button{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;background:#fff;box-shadow:inset 0 0 0 1px #e5e0d2;font-size:18px;color:var(--whm-forest)}
.whm-nights b{min-width:18px;text-align:center}
.whm-res{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:12px;border-top:1px dashed #d9d2bf}
.whm-res span{font-size:14px;color:#666;line-height:1.35}
.whm-res strong{font:400 30px/1 Vetrino,'Playfair Display',Georgia,serif;color:var(--whm-green);white-space:nowrap}
.whm-res.bump strong{animation:whm-bump .45s var(--whm-spring)}
@keyframes whm-bump{40%{transform:scale(1.12)}}
.whm-next{margin-top:8px;font-size:13.5px;color:#555}
.whm-next s{color:#999}
.whm-next b{color:var(--whm-forest)}
.whm-fine{font-size:12px;line-height:1.55;color:#888;margin:14px 0 16px}
.whm-go{display:block;width:100%;border:0;cursor:pointer;border-radius:12px;padding:15px;background:var(--whm-forest);color:#fff;font:700 15px Mulish,sans-serif;text-align:center;transition:background .2s,transform .3s var(--whm-spring)}
.whm-go:hover{background:var(--whm-hvoya);transform:translateY(-2px)}
@media(max-width:560px){.whm-sheet{place-items:end center;padding:0}.whm-panel{border-radius:24px 24px 0 0;max-height:92dvh;padding:26px 18px 20px;transform:translateY(100%)}.whm-panel h3{font-size:22px}.whm-seg button{font-size:12px}}

@media(prefers-reduced-motion:reduce){
 [class*="whm-"],[class*="whm-"]::before,[class*="whm-"]::after,.whm-kb>.tn-atom,.lp-hero>img,.whm-w{animation:none!important;transition:none!important}
 .whm-on .whm-r,.whm-on .whm-split .whm-w{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
 .whm-progress{display:none}
 .whm-px>.tn-atom{transform:none}
}

/* Tilda не задаёт border-box глобально — без этого окно на телефоне шире экрана */
.whm-sheet,.whm-sheet *,.whm-cb,.whm-cb *,.whm-sticker,.whm-chip{box-sizing:border-box}
.whm-next b,.whm-next s{white-space:nowrap}

/* ---------- «живые» фото: в доме зажигается свет ---------- */
.whm-dusk{transition:filter 1.2s var(--whm-ease)}
.whm-dusk{filter:brightness(.8) saturate(.85)}
.whm-lit .whm-dusk{filter:brightness(1.02) saturate(1.05)}
.whm-lights{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.whm-lights i{position:absolute;display:block}
/* окно: «выключено» — тёмное стекло, «включено» — тёплый свет с ореолом */
.whm-pane::before,.whm-pane::after{content:"";position:absolute;inset:0;border-radius:2px}
.whm-pane::before{background:linear-gradient(180deg,rgba(14,18,30,.78),rgba(22,24,34,.62));mix-blend-mode:multiply;transition:opacity .5s ease calc(var(--k)*260ms + 250ms)}
.whm-pane::after{background:radial-gradient(ellipse at 50% 65%,rgba(255,214,150,.95),rgba(255,170,85,.55) 55%,rgba(255,140,60,.18));box-shadow:0 0 28px 6px rgba(255,170,80,.45);mix-blend-mode:screen;opacity:0}
.whm-lit .whm-pane::before{opacity:0}
.whm-lit .whm-pane::after{animation:whm-switch .75s steps(1,end) calc(var(--k)*260ms + 250ms) forwards}
@keyframes whm-switch{0%{opacity:.85}12%{opacity:.15}24%{opacity:.9}34%{opacity:.35}46%,100%{opacity:.72}}
.whm-lamp{border-radius:50%;background:radial-gradient(circle,rgba(255,236,190,1),rgba(255,190,100,.6) 30%,rgba(255,160,70,0) 70%);mix-blend-mode:screen;opacity:0;transform:scale(.4);transition:opacity .25s,transform .5s var(--whm-spring)}
.whm-lit .whm-lamp{opacity:1;transform:scale(1.6)}
.whm-spill{border-radius:50%;filter:blur(6px);background:radial-gradient(ellipse at 50% 0%,rgba(255,180,90,.42),rgba(255,160,70,.12) 45%,rgba(255,160,70,0) 70%);mix-blend-mode:screen;opacity:0;transition:opacity 1.2s ease 1s}
.whm-lit .whm-spill{opacity:1}

@media(prefers-reduced-motion:reduce){.whm-dusk{filter:none}.whm-lights{display:none}}

/* Рейтинг Яндекс Карт над H1 главной */
.whm-rate{position:absolute;z-index:6;left:0;bottom:100%;margin-bottom:18px;display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 12px;border-radius:999px;
 font:600 14px/1.1 Mulish,-apple-system,Segoe UI,Roboto,sans-serif;color:#fff;text-decoration:none;white-space:nowrap;
 background:rgba(20,17,13,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);animation:whm-pop .8s var(--whm-ease) 1s both}
.whm-rate b{font:800 16px/1 Mulish,sans-serif}
.whm-rate .whm-stars{color:#f2c94c;letter-spacing:1px;font-size:13px}
.whm-rate:hover{background:rgba(20,17,13,.6)}
@media(max-width:980px){.whm-rate{left:50%;transform:translateX(-50%);margin-bottom:14px;font-size:13px;animation:none}}
@media(prefers-reduced-motion:reduce){.whm-rate{animation:none}}
