@font-face{font-family:'Geologica';font-style:normal;font-weight:200 700;font-display:swap;src:url(fonts/Geologica-normal-200_700-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Geologica';font-style:normal;font-weight:200 700;font-display:swap;src:url(fonts/Geologica-normal-200_700-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Geologica';font-style:normal;font-weight:200 700;font-display:swap;src:url(fonts/Geologica-normal-200_700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Forrest v7 — фирменный зелёный с волной, золото, гротеск Geologica.
   Принципы aura.spa: кино-сцены, крупные тонкие заголовки со сдвигом строк, коллажи с параллаксом,
   карточки-программы с характеристиками. Стекло — как у Milfboard. Фото без скруглений. */
:root{
  --bg:#222b23; --deep:#171e18; --deep-2:#1b231c; --panel:#2a342b; --panel-2:#323d33;
  --glass:rgba(28,36,29,.52); --glass-b:rgba(239,233,220,.14);
  --gold:#e6b666; --gold-2:#cfa04f; --gold-dim:rgba(230,182,102,.55);
  --ink:#efe9dc; --ink-2:rgba(239,233,220,.7); --ink-3:rgba(239,233,220,.64);
  --line:rgba(239,233,220,.13); --line-g:rgba(239,233,220,.2);
  --wrap:1400px; --gut:clamp(16px,4vw,56px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --t-h3:clamp(28px,2.4vw,38px);
  --ff:'Geologica',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;background:var(--bg)}
body{margin:0;font-family:var(--ff);font-weight:300;font-size:18px;line-height:1.55;color:var(--ink);
  background:var(--bg) url(pattern-deep.svg) repeat;background-size:250px 30px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:300;line-height:1.02;letter-spacing:-.04em}
dl,dd{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.sr{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
body.lock{overflow:hidden}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.wrap-n{width:100%;max-width:880px;margin:0 auto;padding:0 var(--gut)}
.i{width:18px;height:18px;flex:none}

/* ---------- типографика ---------- */
.d1{font-size:clamp(50px,8.2vw,140px);line-height:.95;letter-spacing:-.055em;color:var(--gold)}
.h1{font-size:clamp(46px,7vw,116px);line-height:.96;letter-spacing:-.055em;color:var(--gold)}
.h2{font-size:clamp(38px,5.2vw,88px);line-height:.98;letter-spacing:-.05em;color:var(--gold)}
.h3{font-size:var(--t-h3);letter-spacing:-.035em;color:var(--ink)}
.h4{font-size:21px;font-weight:400;letter-spacing:-.015em;color:var(--ink)}
.lead{font-size:clamp(18px,1.45vw,22px);line-height:1.5;color:var(--ink-2)}
.muted{color:var(--ink-2)}
.small{font-size:15px;color:var(--ink-3)}
.kick{display:inline-flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:400;margin:0 0 22px}
.kick::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.kick a{border-bottom:1px solid var(--line-g)}
/* заголовок со сдвигом второй строки — приём aura.spa */
.off>span{display:inline}
.off>span+span::before{content:" "}
.off-c{text-align:center}
.ink{color:inherit}
h1,h2,h3,.h1,.h2,.h3,.d1{text-wrap:balance}
p,li,dd{text-wrap:pretty}

/* ---------- кнопки ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:14px;min-height:56px;padding:6px 8px 6px 26px;border-radius:999px;
  font-size:16px;font-weight:400;letter-spacing:-.005em;white-space:nowrap;transition:background .3s,color .3s,border-color .3s,transform .35s var(--ease);will-change:transform}
.btn .bi{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;transition:transform .4s var(--ease),background .3s}
.btn:hover .bi{transform:translateX(3px)}
.btn-gold{background:var(--gold);color:var(--deep)}
.btn-gold .bi{background:var(--deep);color:var(--gold)}
.btn-gold:hover{background:#f0c77c}
.btn-glass{background:var(--glass);color:var(--ink);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
.btn-glass .bi{background:rgba(239,233,220,.1)}
.btn-glass:hover{border-color:rgba(239,233,220,.4)}
.btn-line{border:1px solid var(--line-g);color:var(--ink)}
.btn-line .bi{background:rgba(239,233,220,.1);color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}
.btn-plain{padding:6px 26px;}
.btn-sm{min-height:46px;font-size:15px;padding:4px 6px 4px 20px}
.btn-sm .bi{width:36px;height:36px}
.btn-tg{background:#2aabee;color:#fff}.btn-tg .bi{background:rgba(255,255,255,.18)}
.btn-wa{background:#25d366;color:#0f2a18}.btn-wa .bi{background:rgba(0,0,0,.12)}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:34px}
.lnk{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:400}
.lnk .i{transition:transform .3s var(--ease)}
.lnk:hover .i{transform:translateX(4px)}

/* ---------- шапка ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:16px var(--gut);pointer-events:none;transition:transform .5s var(--ease)}
.hdr>*{pointer-events:auto}
.hdr.is-hide{transform:translateY(-110%)}
.pill{display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);justify-self:start}
.pill a,.pill button{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;font-size:15px;color:var(--ink);transition:background .25s,color .25s}
.pill a:hover,.pill a[aria-current]{background:rgba(239,233,220,.1);color:var(--ink)}
.pill button{gap:10px;padding:0 14px 0 16px}
.pill button .i{width:20px;height:20px}
.hdr-logo{display:block;justify-self:center;color:var(--gold);transition:opacity .4s,transform .5s var(--ease)}
.hdr-logo .logo{width:148px;height:auto;display:block}
.hdr-home:not(.is-past) .hdr-logo{opacity:0;transform:translateY(-8px);pointer-events:none}
.hdr-r{justify-self:end;display:flex;align-items:center;gap:10px}
.hdr-tel{font-size:15px;padding:0 14px;height:46px;display:inline-flex;align-items:center;border-radius:999px;background:var(--glass);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.hdr-tel:hover{color:var(--ink)}
@media (max-width:1100px){.pill a{display:none}.hdr-tel{display:none}}
@media (max-width:620px){.hdr{padding:10px 12px;grid-template-columns:auto 1fr auto}.hdr-logo .logo{width:112px}.hdr-r .btn{padding:4px 18px}.hdr-r .btn .bi{display:none}.pill button span{display:none}}

/* полноэкранное меню */
.mnav{position:fixed;inset:0;z-index:150;background:rgba(18,24,19,.9);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);display:grid;grid-template-columns:1.1fr 1fr;opacity:0;transition:opacity .4s}
.mnav.is-open{opacity:1}
.mnav[hidden]{display:none}
.mnav-l{padding:110px var(--gut) 40px;display:flex;flex-direction:column;justify-content:space-between;overflow:auto}
.mnav-l nav{display:grid;gap:2px}
.mnav-l nav a{font-size:clamp(30px,3.6vw,54px);letter-spacing:-.045em;line-height:1.12;color:var(--ink);transition:color .25s,padding .35s var(--ease)}
.mnav-l nav a:hover{color:var(--ink);padding-left:14px}
.mnav-sub{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:30px}
.mnav-sub a{color:var(--ink-2);font-size:16px}
.mnav-sub a:hover{color:var(--ink)}
.mnav-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:40px}
.mnav-tel{font-size:22px;color:var(--ink)}
.mnav-r{position:relative;overflow:hidden}
.mnav-r img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s}
.mnav-x{position:fixed;top:16px;left:var(--gut);z-index:2;height:52px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;gap:10px;background:var(--glass);border:1px solid var(--glass-b)}
@media (max-width:820px){.mnav{grid-template-columns:1fr}.mnav-r{display:none}}

/* соцсети */
.soc{display:flex;gap:8px}
.soc a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;transition:transform .3s var(--ease)}
.soc a:hover{transform:translateY(-3px)}
.soc svg{width:22px;height:22px}
.soc-tg{background:#2aabee}.soc-wa{background:#25d366}.soc-vk{background:#0077ff}.soc-ig{background:linear-gradient(45deg,#f9a03f,#e1306c 50%,#833ab4)}

/* ---------- обложка ---------- */
.cover{position:relative;height:100svh;min-height:600px;overflow:hidden;background:var(--deep);display:grid;place-items:center}
.cover-media,.cover-media img,.cover canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover-prog{position:absolute;z-index:3;left:50%;bottom:44px;transform:translateX(-50%);display:flex;gap:6px;width:min(260px,50vw)}
.cover-prog i{flex:1;height:2px;background:rgba(239,233,220,.25);overflow:hidden;position:relative}
.cover-prog i::after{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left}
.cover-prog i.done::after{transform:scaleX(1)}
.cover-prog i.on::after{transform:scaleX(1);transition:transform var(--d,4.5s) linear}
@keyframes coverIn{to{transform:scale(1)}}
.cover canvas{opacity:0;transition:opacity 1.2s}
.cover canvas.is-on{opacity:1}
.cover::after{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse 60% 45% at 50% 48%,rgba(15,20,16,.42),rgba(15,20,16,.12) 70%),linear-gradient(180deg,rgba(15,20,16,.45),transparent 24%,transparent 62%,rgba(23,30,24,.85));pointer-events:none}
.cover-logo{position:relative;z-index:2;color:var(--gold);margin:0;pointer-events:none}
.cover-logo .logo{width:min(560px,74vw);height:auto;display:block;opacity:0;transform:translateY(16px);animation:up 1.6s .4s var(--ease) forwards}
.cover-c{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,2.4vw,30px);margin-top:-6vh}
.cover-sub{margin:0;text-align:center;font-size:clamp(15px,1.2vw,18px);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);opacity:0;animation:up 1.4s 1s var(--ease) forwards}
@keyframes up{to{opacity:1;transform:none}}
.bookbar{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;
  background:var(--glass);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);opacity:0;animation:up 1.2s 1.3s var(--ease) forwards}
@media (max-width:760px){.bookbar{left:12px;right:12px;transform:none;justify-content:space-between}.bookbar .btn{flex:1;justify-content:space-between}}

/* ---------- секции ---------- */
.sec{padding:clamp(90px,11vw,170px) 0}
.sec-t0{padding-top:0}
.deep{background:transparent}
.vh{display:grid;grid-template-columns:1.3fr 1fr;gap:40px 80px;align-items:end;margin-bottom:clamp(44px,5vw,72px)}
.vh .txt p{color:var(--ink-2);max-width:460px}
.vh .txt{padding-bottom:10px}
@media (max-width:900px){.vh{grid-template-columns:1fr}}

/* туман — сцена-заявление */
@keyframes fog{to{background-position:60% 40%,20% 70%;transform:translateX(6%)}}

/* журнальная раскладка после модуля бронирования */
.ed-lead{max-width:900px;margin:0 auto clamp(40px,5vw,70px);text-align:center;font-size:clamp(28px,3.2vw,50px);line-height:1.15;letter-spacing:-.035em}
.ed-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:auto auto;gap:14px}
.ed-grid figure{position:relative;margin:0;overflow:hidden}
.ed-grid img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.ed-grid figure:hover img{transform:scale(1.04)}
.ed-grid figcaption{position:absolute;left:16px;bottom:14px;font-size:14px;color:#fff;padding:6px 12px;border-radius:999px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ed-1{grid-row:1/3;aspect-ratio:4/5}
.ed-2,.ed-3{aspect-ratio:3/4}
.ed-4{grid-column:2/4;aspect-ratio:16/9}
@media (max-width:820px){.ed-grid{grid-template-columns:1fr 1fr}.ed-1{grid-column:1/3;grid-row:auto;aspect-ratio:4/3}.ed-4{grid-column:1/3}}
.bron{padding:clamp(40px,5vw,70px) 0 0}
.bron-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px 60px;align-items:center;padding:clamp(24px,3vw,40px);border:1px solid var(--line);background:rgba(23,30,24,.55)}
.bron-in .h2{font-size:clamp(34px,3.6vw,56px);margin-bottom:14px}
.bron-w{min-height:90px}
#znms-widget-floating-0{display:none!important}
.bron-fb a{color:var(--ink)}
.bron-fb[hidden]{display:none}
@media (max-width:900px){.bron-in{grid-template-columns:1fr}}

/* карточки домов — как «программы» aura */
.houses{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.house{position:relative;display:flex;flex-direction:column;background:var(--panel);min-height:clamp(620px,82vh,860px);overflow:hidden}
.house .slider{position:absolute;inset:0}
.house .slider img{height:100%;object-fit:cover}
.house::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,24,19,.4),rgba(18,24,19,0) 20%,rgba(18,24,19,0) 45%,rgba(18,24,19,.93) 85%);pointer-events:none;z-index:1}
.house-top{position:relative;z-index:2;padding:34px 36px 0}
.house-name{font-size:var(--t-h3);letter-spacing:-.035em;color:#fff;line-height:1.05;text-shadow:0 1px 2px rgba(0,0,0,.35),0 2px 22px rgba(0,0,0,.45)}
.house-lead{font-size:16px;color:#fff;margin:10px 0 0;max-width:420px;text-shadow:0 1px 2px rgba(0,0,0,.4),0 1px 16px rgba(0,0,0,.5)}
.house-b{position:relative;z-index:2;margin-top:auto;padding:0 36px 34px}
.house-b .spec{margin:0 0 24px;grid-template-columns:repeat(3,1fr);gap:0 24px;display:grid}
.house-b .spec div{flex-direction:column;justify-content:flex-start;gap:4px;border-bottom:0;border-top:1px solid var(--line);padding:14px 0 0}
.house-b .spec dd{text-align:left}
.house-acts{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.house-acts .lnk{margin:0!important}
.house .slider-ui{z-index:3;top:44%;bottom:auto;left:14px;right:14px;opacity:0;transition:opacity .3s}
.house:hover .slider-ui{opacity:1}
.house .slider-n{display:none}
.house .slider-btns{width:100%;justify-content:space-between}
@media (hover:none){.house .slider-ui{opacity:1}}
.spec{display:grid;gap:0;margin:0 0 20px}
.spec div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.spec dt{color:var(--ink-3)}
.spec dd{text-align:right}
.spec dd b{font-weight:400;color:var(--gold);font-size:18px}

.house .lnk{margin-top:14px;font-size:15px}
@media (max-width:620px){.house-b .spec{grid-template-columns:1fr 1fr}.house-b .spec div:last-child{grid-column:span 2}}
@media (max-width:620px){.houses{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;margin:0 calc(var(--gut)*-1);padding:0 var(--gut);gap:10px;scrollbar-width:none}.houses::-webkit-scrollbar{display:none}.house{flex:0 0 86%;scroll-snap-align:center;min-height:600px}}

/* слайдер */
.slider{position:relative;overflow:hidden;background:var(--deep)}
.slider-track{display:flex;height:100%;transition:transform .8s var(--ease)}
.slider-track>a,.slider-track>span{flex:0 0 100%;height:100%;display:block}
.slider-track img{width:100%;height:100%;object-fit:cover}
.slider-ui{position:absolute;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.slider-n{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.slider-btns{display:flex;gap:6px;pointer-events:auto}
.slider-btns button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .25s}
.slider-btns button:hover{border-color:var(--ink)}
.slider-btns .i{width:16px;height:16px}

/* сцены территории — асимметрия aura */
.scenes{display:grid;gap:clamp(70px,9vw,140px)}
.scene{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto auto;gap:16px 16px;align-items:end}
.scene .s-big{grid-column:1/8;grid-row:1/3;aspect-ratio:4/3;overflow:hidden;margin:0}
.scene .s-sm{grid-column:9/13;grid-row:2;aspect-ratio:4/3;overflow:hidden;margin:0}
.scene .s-big img,.scene .s-sm img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.scene:hover .s-big img{transform:scale(1.03)}
.scene .s-txt{grid-column:9/13;grid-row:1;align-self:start;padding-top:10px}
.scene.r .s-big{grid-column:6/13}
.scene.r .s-sm,.scene.r .s-txt{grid-column:1/5}
.s-txt .n{font-size:13px;letter-spacing:.16em;color:var(--ink-3)}
.s-txt .s-h{font-size:var(--t-h3);color:var(--ink);letter-spacing:-.035em;margin:14px 0 18px}
.s-txt p{color:var(--ink-2);max-width:380px}
@media (max-width:820px){.scene{grid-template-columns:1fr 1fr;gap:10px}.scene .s-big,.scene.r .s-big{grid-column:1/3;grid-row:auto}.scene .s-sm,.scene.r .s-sm{grid-column:2/3;grid-row:auto;margin:0}.scene .s-txt,.scene.r .s-txt{grid-row:auto;align-self:end}}

/* полноэкранный кадр со стеклянной плашкой */
.full{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}
.full-ph{position:absolute;inset:-8% 0;}
.full-ph img{width:100%;height:100%;object-fit:cover}
.full::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(18,24,19,.6),rgba(18,24,19,.15) 60%),linear-gradient(180deg,rgba(18,24,19,.3),transparent 30%,transparent 45%,rgba(18,24,19,.8))}
.full-in{position:relative;z-index:2;width:100%;padding-bottom:clamp(40px,6vw,80px);display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.glassp{background:var(--glass);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);padding:30px;max-width:460px}
.glassp .h3{color:var(--ink);margin-bottom:14px}
.glassp p{color:var(--ink-2);font-size:16px}
.glassp .spec{margin:18px 0 0}

/* сценарии отдыха */
.occ{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.occ a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:560px;padding:28px;overflow:hidden;isolation:isolate}
.occ .ph{position:absolute;inset:0;z-index:-2}
.occ .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.occ a:hover .ph img{transform:scale(1.05)}
.occ a::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(18,24,19,.92))}
.occ h3{font-size:var(--t-h3);color:#fff;letter-spacing:-.035em}
.occ p{font-size:15px;color:var(--ink-2);margin:14px 0 22px}
.occ .tag{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;height:44px;padding:0 18px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:14px;transition:border-color .25s}
.occ a:hover .tag{border-color:var(--ink)}
@media (max-width:1100px){.occ{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.occ{grid-template-columns:1fr}.occ a{min-height:440px}}

/* сезонные предложения */
.season{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}
.season-big{position:relative;min-height:640px;display:flex;align-items:flex-end;padding:clamp(24px,3vw,44px);overflow:hidden;isolation:isolate}
.season-big .ph{position:absolute;inset:0;z-index:-2}
.season-big .ph img{width:100%;height:100%;object-fit:cover}
.season-big::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(18,24,19,.9))}
.season-big .date{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.season-big h3{font-size:var(--t-h3);color:#fff;letter-spacing:-.035em;margin:14px 0 16px}
.season-big p{color:var(--ink-2);max-width:520px}
.season-list{display:grid;gap:16px}
.season-list a{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;padding:14px;background:var(--panel);transition:background .3s}
.season-list a:hover{background:var(--panel-2)}
.season-list .ph{aspect-ratio:1;overflow:hidden}
.season-list .ph img{width:100%;height:100%;object-fit:cover}
.season-list small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.season-list b{display:block;font-weight:300;font-size:24px;letter-spacing:-.03em;margin:6px 0}
.season-list span{font-size:14px;color:var(--ink-2);display:block}
@media (max-width:980px){.season{grid-template-columns:1fr}.season-big{min-height:520px}}
@media (max-width:520px){.season-list a{grid-template-columns:96px 1fr}}

/* каталог услуг */
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.svc a{display:block;position:relative}
.svc .ph{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--deep)}
.svc .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.svc a:hover .ph img{transform:scale(1.05)}
.svc .tag{position:absolute;top:14px;left:14px;padding:7px 14px;border-radius:999px;font-size:13px;background:var(--glass);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.svc .t{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:22px;letter-spacing:-.03em}
.svc .t .i{color:var(--ink);transition:transform .3s var(--ease)}
.svc a:hover .t .i{transform:translateX(4px)}
.svc .d{display:block;font-size:15px;color:var(--ink-2);margin-top:6px}
.svc .pr{display:block;margin-top:10px;font-size:16px;color:var(--gold)}
@media (max-width:1100px){.svc{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.svc{grid-template-columns:1fr 1fr;gap:10px}.svc .t{font-size:18px}}

/* фильтр сезонов */
.chipsel{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.chipsel button{height:46px;padding:0 22px;border-radius:999px;border:1px solid var(--line);font-size:15px;transition:all .25s}
.chipsel button:hover{border-color:rgba(239,233,220,.4)}
.chipsel button[aria-pressed=true]{background:var(--gold);color:var(--deep);border-color:var(--gold)}

/* детали — высокие карточки */
.details{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.details>div{position:relative;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;overflow:hidden;isolation:isolate}
.details .ph{position:absolute;inset:0;z-index:-2}
.details .ph img{width:100%;height:100%;object-fit:cover}
.details>div::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 40%,rgba(18,24,19,.92))}
.details b{font-weight:300;font-size:24px;letter-spacing:-.03em;color:var(--ink);line-height:1.1}
.details p{font-size:14px;color:var(--ink-2);margin:10px 0 0}
@media (max-width:1100px){.details{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--gut)*-1);padding:0 var(--gut)}.details::-webkit-scrollbar{display:none}.details>div{flex:0 0 min(320px,78vw);scroll-snap-align:start;min-height:460px}}

/* сплит */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:center}
.split-ph{margin:0;aspect-ratio:4/5;overflow:hidden}
.split-ph img{width:100%;height:100%;object-fit:cover}
.split.r .split-ph{order:2}
@media (max-width:900px){.split{grid-template-columns:1fr}.split.r .split-ph{order:0}.split-ph{aspect-ratio:4/3}}
.split-duo{position:relative}
.split-duo .split-ph{width:78%}
.split-duo .mini{position:absolute;right:0;bottom:-8%;width:42%;aspect-ratio:3/4;overflow:hidden;border:10px solid var(--bg);margin:0}
.split-duo .mini img{width:100%;height:100%;object-fit:cover}

/* отзывы */
.rev{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rev figure{margin:0;padding:28px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);background:rgba(23,30,24,.5)}
.rev blockquote{margin:0;font-size:18px;line-height:1.45}
.stars{color:var(--ink);letter-spacing:4px;font-size:18px}
.rev figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:28px;font-size:14px;color:var(--ink-3)}
.yrate{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px}
.yrate .ybadge{display:flex;align-items:center;gap:14px;padding:12px 20px 12px 12px;border-radius:999px;border:1px solid var(--line)}
.ybadge i{width:40px;height:40px;border-radius:50%;background:#fc3f1d;display:grid;place-items:center;font-style:normal;color:#fff;font-weight:600;font-size:20px}
.ybadge span{font-size:14px;line-height:1.3}
.ybadge b{font-weight:400;display:block;font-size:16px}
@media (max-width:1100px){.rev{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.rev{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;margin:0 calc(var(--gut)*-1);padding:0 var(--gut);scrollbar-width:none}.rev figure{flex:0 0 84%;scroll-snap-align:start}}

/* FAQ */
.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:40px 80px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-size:clamp(19px,1.5vw,23px);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--ink);font-size:28px;line-height:.8;transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--ink-2);padding:0 0 26px;margin:0;max-width:640px}
@media (max-width:900px){.faq{grid-template-columns:1fr}}

/* формы */
.fbox{display:grid;grid-template-columns:1fr 1.05fr;border:1px solid var(--line);background:rgba(23,30,24,.72);overflow:hidden}
.fbox-ph{margin:0;position:relative;min-height:420px}
.fbox-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fbox-in{padding:clamp(28px,4vw,56px)}
.fbox .fbox-h{font-size:clamp(30px,2.8vw,44px);margin-bottom:14px}
.fbox-in .form{margin-top:28px}
.fbox-in .fld textarea{min-height:110px}
.fbox-alt{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.fbox-alt .small{width:100%}
@media (max-width:900px){.fbox{grid-template-columns:1fr}.fbox-ph{aspect-ratio:16/9;min-height:0}}
.form{display:grid;gap:14px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:620px){.form-grid{grid-template-columns:1fr}}
.fld{display:grid;gap:8px;border:0;margin:0;padding:0;min-width:0}
.fld-w{grid-column:1/-1}
.fld>span,.fld legend{font-size:14px;color:var(--ink-3);padding:0}
.fld input,.fld textarea,.fld select{width:100%;font:inherit;font-size:17px;color:var(--ink);background:rgba(23,30,24,.6);border:1px solid var(--line);border-radius:28px;padding:16px 22px;outline:0;transition:border-color .25s}
.fld textarea{border-radius:22px;resize:vertical;min-height:150px;line-height:1.5}
.fld>span i,.fld legend i{font-style:normal;color:var(--gold)}
.fld select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 26px) 50%,calc(100% - 20px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.fld select option{background:var(--deep)}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--gold)}
.fld input::placeholder,.fld textarea::placeholder{color:var(--ink-3)}
.fld small{font-size:13px;color:var(--ink-3)}
.is-err,.fld input.is-err,.fld textarea.is-err{border-color:#e07a5f!important}
fieldset.is-err{outline:1px solid #e07a5f;outline-offset:8px}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--ink-2);cursor:pointer}
.chk input{width:20px;height:20px;accent-color:var(--gold);flex:none;margin-top:1px}
.chk a{color:var(--ink)}
.chk input.is-err{outline:2px solid #e07a5f}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form .btn{justify-self:start}
.form-msg{font-size:15px;margin:0;min-height:1em}
.form-msg.ok{color:#9fd3a8}.form-msg.err{color:#f0a48f}
.form-msg a{color:var(--ink)}

/* финал */
.final{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;isolation:isolate}
.final-ph{position:absolute;inset:-8% 0;z-index:-2}
.final-ph img{width:100%;height:100%;object-fit:cover}
.final::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(18,24,19,.35),rgba(18,24,19,.75))}
.final-in{padding:120px var(--gut)}
.final .d1{max-width:1100px;margin:0 auto}
.final p{color:var(--ink);font-size:20px;margin:28px 0 0}
.final .row{justify-content:center}

/* подвал */
.ft{position:relative;background:var(--deep);padding:100px 0 0;overflow:hidden}
.ft-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.ft-cta p{color:var(--ink-2);max-width:340px;margin:22px 0 0}
.ft-logo{color:var(--gold);display:inline-block}
.ft-logo .logo{width:190px;height:auto}
.ft-h{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 20px}
.ft-col a{display:block;padding:5px 0;color:var(--ink-2);transition:color .2s}
.ft-col a:hover{color:var(--ink)}
.ft-col p{color:var(--ink-2);font-size:15px;margin:10px 0}
.ft-tel{font-size:22px;color:var(--ink)!important}
.ft-seo{margin-top:80px;padding-top:40px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:40px}
.ft-seo h2{font-size:24px;color:var(--ink);letter-spacing:-.03em}
.ft-seo p{font-size:14px;color:var(--ink-3);margin:0 0 12px}
.ft-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 30px;padding:30px 0;margin-top:40px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}
.ft-legal p{margin:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.ft-legal a:hover{color:var(--ink)}
.ft-mark{color:rgba(230,182,102,.07);margin-top:20px;line-height:0}
.ft-mark .logo{width:100%;height:auto;display:block;transform:translateY(18%)}
@media (max-width:1000px){.ft-top{grid-template-columns:1fr 1fr}.ft-seo{grid-template-columns:1fr}}
@media (max-width:560px){.ft-top{grid-template-columns:1fr}}

/* плавающая кнопка */
.fab{position:fixed;right:20px;bottom:20px;z-index:90;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .4s,transform .4s var(--ease);box-shadow:0 14px 40px rgba(0,0,0,.35)}
.fab.is-on{opacity:1;transform:none;pointer-events:auto}
@media (max-width:620px){.fab{left:12px;right:12px;bottom:12px;justify-content:space-between}}

/* лайтбокс */
.lb{position:fixed;inset:0;z-index:200;background:rgba(12,16,13,.95);display:grid;place-items:center}
.lb[hidden]{display:none}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb button{position:absolute;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid var(--glass-b)}
.lb-x{top:20px;right:20px}.lb-prev{left:20px;top:50%}.lb-next{right:20px;top:50%}

.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);z-index:220;max-width:520px;width:calc(100% - 24px);padding:18px 50px 18px 22px;background:var(--panel);border:1px solid var(--line-g);font-size:15px}
.toast a{color:var(--ink)}
.toast button{position:absolute;right:12px;top:10px;font-size:22px}

/* ---------- внутренние страницы ---------- */
.ph-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.ph-hero .ph{position:absolute;inset:0;z-index:-2}
.ph-hero .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);animation:coverIn 2.4s var(--ease) forwards}
.ph-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,24,19,.45),transparent 26%,transparent 45%,rgba(18,24,19,.85))}
.ph-hero .wrap{padding-bottom:clamp(40px,7vw,90px);padding-top:140px}
.ph-hero .h1{max-width:1100px}
.ph-hero .lead{color:var(--ink);max-width:620px;margin-top:26px}
.ph-hero .meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ph-hero .meta span{padding:9px 16px;border-radius:999px;font-size:14px;background:var(--glass);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.ph-plain{padding:clamp(150px,18vh,210px) 0 clamp(50px,6vw,80px)}
.ph-plain .lead{max-width:640px;margin-top:26px}
.crumbs{font-size:14px;color:var(--ink-3);margin-bottom:22px}
.crumbs a{color:var(--ink)}

/* табы */
.tab-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:44px}
.tab{height:50px;padding:0 26px;border-radius:999px;border:1px solid var(--line);font-size:16px;transition:all .25s}
.tab:hover{border-color:rgba(239,233,220,.4)}
.tab[aria-selected=true]{background:var(--gold);color:var(--deep);border-color:var(--gold)}
.pane{display:none}
.pane.is-on{display:block;animation:fade .5s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(10px)}}
.tabs-sticky{position:sticky;top:84px;z-index:20;padding:10px 0;margin-bottom:20px}
.tabs-sticky .tab-list{margin:0;display:inline-flex;padding:5px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.tabs-sticky .tab{border:0;height:44px}
@media (max-width:620px){.tabs-sticky{top:70px}.tabs-sticky .tab-list{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tabs-sticky .tab{padding:0 16px;flex:none}}

/* меню */
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:56px 90px}
.mgroup .mg-h{color:var(--ink);font-size:var(--t-h3);letter-spacing:-.04em;margin-bottom:18px}
.mlist li{display:flex;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.mlist li span{flex:0 1 auto}
.mlist em{display:block;font-style:normal;font-size:14px;color:var(--ink-3);margin-top:3px}
.mlist i{flex:1;border-bottom:1px dotted rgba(239,233,220,.2);transform:translateY(-4px);min-width:20px}
.mlist b{font-weight:400;color:var(--gold);white-space:nowrap}
.mnote{display:flex;gap:20px;align-items:center;padding:22px 26px;margin-bottom:44px;border:1px solid var(--line-g);color:var(--ink-2)}
@media (max-width:820px){.mgrid{grid-template-columns:1fr;gap:40px}}

/* шаги */
.steps{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:12px;counter-reset:s}
.steps li{padding:30px 26px 34px;background:var(--panel);display:flex;flex-direction:column;gap:12px;min-height:220px}
.steps .n{font-size:13px;letter-spacing:.16em;color:var(--ink-3)}
.steps .h4{font-size:24px;letter-spacing:-.03em;margin-top:auto}
.steps .muted{font-size:15px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}.steps li{min-height:0}}

.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gal a{display:block;aspect-ratio:4/3;overflow:hidden}
.gal a:nth-child(5n+1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal a:hover img{transform:scale(1.04)}
@media (max-width:620px){.gal{grid-template-columns:1fr 1fr}.gal a:nth-child(5n+1){grid-column:span 2;grid-row:auto;aspect-ratio:4/3}}

.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.facts div{padding:28px 24px 28px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:14px;color:var(--ink-3);margin-bottom:10px}
.facts dd{font-size:20px;letter-spacing:-.02em}
.facts dd b{font-weight:300;color:var(--ink)}
@media (max-width:900px){.facts{grid-template-columns:1fr 1fr}}

.dots li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.dots li::before{content:"";position:absolute;left:0;top:24px;width:14px;height:1px;background:var(--ink-3)}

.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.cards3{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards3{grid-template-columns:1fr}}
.card{display:block}
.card .ph{display:block;aspect-ratio:4/3;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card:hover .ph img{transform:scale(1.04)}
.card .k{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:18px}
.card .t{display:block;font-size:24px;letter-spacing:-.03em;margin-top:8px;line-height:1.2}
.card .d{display:block;font-size:15px;color:var(--ink-2);margin-top:8px}

/* дома — страница */
.hlist{display:grid;gap:clamp(80px,10vw,150px)}
.hrow{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.hrow .slider{aspect-ratio:4/3}
.hrow.r .hrow-media{order:2}
.hrow-txt .h2{margin-bottom:22px}
@media (max-width:900px){.hrow{grid-template-columns:1fr}.hrow.r .hrow-media{order:0}}

.pano,.map{position:relative;aspect-ratio:16/8;overflow:hidden;background:var(--deep);display:grid;place-items:center}
.pano img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.pano .btn,.map .btn{position:relative;z-index:2}
.pano iframe,.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
@media (max-width:620px){.pano,.map{aspect-ratio:4/5}}

/* журнал */
.post{font-size:19px;line-height:1.65;color:var(--ink-2)}
.post h2{color:var(--ink);margin:56px 0 18px}
.post figure{margin:44px 0}
.post figcaption{font-size:14px;color:var(--ink-3);margin-top:12px}
.post ul{margin:0 0 1em}
.blog-feat{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,4vw,60px);align-items:end;margin-bottom:70px}
.blog-feat .ph{aspect-ratio:16/11;overflow:hidden;display:block}
.blog-feat .ph img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.blog-feat{grid-template-columns:1fr}}

/* блогерам */
.bh{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:center;background:var(--deep)}
.bh-strips{position:absolute;inset:0;display:flex;gap:12px;transform:rotate(-8deg) scale(1.3);opacity:.5}
.bcol{flex:1;display:flex;flex-direction:column;gap:12px;animation:bcol 50s linear infinite}
.bcol:nth-child(2n){animation-direction:reverse;animation-duration:60s}
.bcol span{display:block;aspect-ratio:3/4;overflow:hidden}
.bcol img{width:100%;height:100%;object-fit:cover}
@keyframes bcol{to{transform:translateY(-50%)}}
.bh::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(23,30,24,.92),rgba(23,30,24,.55) 70%)}
.bh-in{position:relative;z-index:2;padding-top:120px;padding-bottom:80px}
.bh-in .lead{max-width:560px;margin-top:28px;color:var(--ink)}
.give{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.breq{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:none}
.breq li{display:flex;flex-direction:column;gap:10px;padding:28px 26px 30px;border:1px solid var(--line);background:rgba(23,30,24,.5);min-height:220px}
.breq .n{font-size:13px;letter-spacing:.16em;color:var(--gold)}
.breq b{font-weight:400;font-size:22px;letter-spacing:-.025em;margin-top:auto;line-height:1.2}
.breq span:last-child{font-size:15px;color:var(--ink-2)}
@media (max-width:1000px){.breq{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.breq{grid-template-columns:1fr}.breq li{min-height:0}}
.bform{display:grid;gap:40px;max-width:980px}
.bform-h .lead{margin-top:22px;max-width:720px}
.give>div{padding:30px 26px;background:var(--panel);min-height:240px;display:flex;flex-direction:column}
.give .n{font-size:13px;letter-spacing:.16em;color:var(--ink-3)}
.give .h4{margin-top:auto;font-size:24px;letter-spacing:-.03em}
.give p{font-size:15px;color:var(--ink-2);margin:10px 0 0}
@media (max-width:1000px){.give{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.give{grid-template-columns:1fr}.give>div{min-height:0}}
.tz{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,70px);align-items:start}
.tz .ph{aspect-ratio:4/5;overflow:hidden;position:sticky;top:160px}
.tz .ph img{width:100%;height:100%;object-fit:cover}
.tz-mood{font-size:clamp(24px,2.2vw,34px);letter-spacing:-.03em;line-height:1.2;margin:0 0 34px}
.label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:34px 0 6px}
@media (max-width:900px){.tz{grid-template-columns:1fr}.tz .ph{position:relative;top:0;aspect-ratio:4/3}}
.contract{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(30px,5vw,80px);padding:clamp(30px,4vw,60px);border:1px solid var(--line-g);background:rgba(23,30,24,.55)}
.contract ol{counter-reset:c}
.contract li{counter-increment:c;display:grid;grid-template-columns:44px 1fr;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}
.contract li::before{content:counter(c,decimal-leading-zero);color:var(--ink-3);font-size:14px;padding-top:3px}
@media (max-width:900px){.contract{grid-template-columns:1fr}}
/* мастер заявки */
.wiz{padding:clamp(24px,4vw,60px);background:var(--panel)}
.wiz .form-grid{gap:18px 22px}
.wiz-bar{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:6px;margin-bottom:30px}
.wiz-bar span{height:3px;background:var(--line)}
.wiz-bar span.on{background:var(--ink)}
.wiz-step{display:none;gap:22px}
.wiz-step.is-on{display:grid;animation:fade .45s var(--ease)}
.wiz-h small{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.wiz-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:10px}
.chips{display:flex!important;flex-wrap:wrap;gap:8px}
.chips legend{width:100%;margin-bottom:10px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label span{display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);font-size:15px;transition:all .2s}
.chips input:checked+span{background:var(--gold);color:var(--deep);border-color:var(--gold)}
.chips input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.seasons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.seasons label{position:relative;cursor:pointer;aspect-ratio:3/4;overflow:hidden;display:block}
.seasons img{width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity .3s}
.seasons input{position:absolute;opacity:0}
.seasons span{position:absolute;left:12px;bottom:10px;font-size:17px}
.seasons input:checked~img{opacity:1}
.seasons label:has(input:checked){outline:2px solid var(--gold);outline-offset:-2px}
@media (max-width:560px){.seasons{grid-template-columns:1fr 1fr}.seasons label{aspect-ratio:4/3}}
.counts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.count{padding:16px;border:1px solid var(--line);display:grid;gap:10px}
.count div{display:flex;align-items:center;gap:6px}
.count button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);font-size:20px}
.count input{width:50px;text-align:center;background:none;border:0;color:var(--ink);font:inherit;font-size:22px}
@media (max-width:560px){.counts{grid-template-columns:1fr}}
.wiz-sum{padding:20px;border:1px solid var(--line-g);font-size:15px;color:var(--ink-2);line-height:1.7}
.wiz-sum b{color:var(--ink);font-weight:400}

/* появления */
.rv-on [data-rv]{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.rv-on [data-rv].is-in{opacity:1;transform:none}
.rv-on .rv-img{clip-path:inset(12% 0 0 0);transition:clip-path 1.4s var(--ease)}
.rv-on .rv-img.is-in{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.cover-logo .logo,.cover-sub,.bookbar{opacity:1;transform:none}.bookbar{transform:translateX(-50%)}}
[style*="aspect-ratio"]>.slider{height:100%}
@media (max-width:820px){
  .scene .s-txt,.scene.r .s-txt{grid-column:1/3}
  .scene .s-sm,.scene.r .s-sm{display:none}
  .full::before{background:linear-gradient(180deg,rgba(18,24,19,.35),rgba(18,24,19,.55) 40%,rgba(18,24,19,.88))}
  .full-in{flex-direction:column;align-items:stretch}
  .glassp{max-width:none}
}

/* v8: светлая сцена вместо тумана */
@media (max-width:620px){.house-top{padding:24px 22px 0}.house-b{padding:0 22px 24px}}
.ft-col .soc a,.soc a{display:grid;place-items:center;padding:0}
.soc{margin-top:18px}
@media (max-width:620px){.cover-sub{font-size:12px;letter-spacing:.1em;padding:0 16px}}
.cover-media>img{transform:scale(1.06);animation:coverIn 2.6s var(--ease) forwards}

/* ---------- сторис ---------- */
.stories{padding:clamp(28px,4vw,48px) 0 0}
.st-row{display:flex;gap:clamp(14px,2vw,28px);overflow-x:auto;scrollbar-width:none;padding:6px 2px 10px;justify-content:center}
.st-row::-webkit-scrollbar{display:none}
.st-b{flex:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.st-r{display:block;border-radius:50%;padding:3px;background:conic-gradient(from 210deg,var(--gold),#f3d9a4,var(--gold-2),var(--gold));transition:transform .35s var(--ease)}
.st-r img{object-fit:cover;border-radius:50%;border:3px solid var(--bg)}
.st-b:hover .st-r{transform:scale(1.06)}
.st-b.seen .st-r{background:rgba(239,233,220,.25)}
.st-n{font-size:13px;color:var(--ink-2);white-space:nowrap}
@media (max-width:760px){.st-row{justify-content:flex-start;margin:0 calc(var(--gut)*-1);padding-left:var(--gut);padding-right:var(--gut)}}
.sv{position:fixed;inset:0;z-index:250;background:rgba(12,16,13,.94);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;place-items:center}
.sv[hidden]{display:none}
.sv-frame{position:relative;height:min(92vh,880px);aspect-ratio:9/16;max-width:100vw;overflow:hidden;background:#000;border-radius:14px;touch-action:none}
.sv-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sv-bars{position:absolute;z-index:3;top:10px;left:10px;right:10px;display:flex;gap:4px}
.sv-bars i{flex:1;height:2px;background:rgba(255,255,255,.3);overflow:hidden;border-radius:2px}
.sv-bars i b{display:block;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.sv-bars i.done b{transform:scaleX(1)}
.sv-bars i.on b{animation:svp var(--d,5s) linear forwards}
.sv.paused .sv-bars i.on b{animation-play-state:paused}
@keyframes svp{to{transform:scaleX(1)}}
.sv-top{position:absolute;z-index:3;top:22px;left:12px;right:8px;display:flex;align-items:center;gap:10px;color:#fff;font-size:15px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.sv-top b{font-weight:400}
.sv-ava{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.6)}
.sv-x{margin-left:auto;width:40px;height:40px;display:grid;place-items:center;color:#fff}
.sv-frame::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 18%,transparent 72%,rgba(0,0,0,.55))}
.sv-prev,.sv-next{position:absolute;z-index:2;top:12%;bottom:18%;width:40%}
.sv-prev{left:0}.sv-next{right:0;width:60%}
.sv-cta{position:absolute;z-index:3;left:14px;right:14px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.sv-ig{color:#fff;font-size:14px;opacity:.85}
.sv-arr{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid var(--glass-b);color:var(--ink)}
.sv-arr-l{left:max(16px,calc(50% - min(46vh,440px)*9/16 - 90px))}.sv-arr-r{right:max(16px,calc(50% - min(46vh,440px)*9/16 - 90px))}
@media (max-width:620px){.sv-frame{height:100svh;border-radius:0}.sv-arr{display:none}}
.st-b{--s:clamp(70px,6.4vw,92px);width:calc(var(--s) + 8px)}
.st-r{width:var(--s);height:var(--s);aspect-ratio:auto;overflow:hidden}
.st-r img{display:block;width:100%;height:100%;aspect-ratio:1}


/* читаемость текста на фото */
.ph-hero .h1,.ph-hero .lead,.ph-hero .crumbs,.cover-sub{text-shadow:0 1px 2px rgba(0,0,0,.35),0 2px 24px rgba(0,0,0,.45)}
.cover-logo{filter:drop-shadow(0 2px 6px rgba(0,0,0,.35)) drop-shadow(0 8px 40px rgba(0,0,0,.45))}
@media (max-width:760px){
  .ph-hero::before{background:linear-gradient(180deg,rgba(18,24,19,.5),rgba(18,24,19,.12) 20%,rgba(18,24,19,.5) 42%,rgba(18,24,19,.86) 66%,rgba(18,24,19,.94))}
  .cover::after{background:radial-gradient(ellipse 90% 30% at 50% 46%,rgba(15,20,16,.5),rgba(15,20,16,.08) 80%),linear-gradient(180deg,rgba(15,20,16,.45),transparent 22%,transparent 70%,rgba(23,30,24,.7))}
}
@media (min-width:761px){
  .ph-hero::before{background:linear-gradient(180deg,rgba(18,24,19,.45),transparent 24%,rgba(18,24,19,.18) 45%,rgba(18,24,19,.82))}
  .cover::after{background:radial-gradient(ellipse 55% 38% at 50% 46%,rgba(15,20,16,.48),rgba(15,20,16,.1) 75%),linear-gradient(180deg,rgba(15,20,16,.45),transparent 24%,transparent 62%,rgba(23,30,24,.8))}
}

/* Без обводки фокуса после клика/тапа; для навигации с клавиатуры (Tab) остаётся :focus-visible */
:focus:not(:focus-visible){outline:none!important}
*{-webkit-tap-highlight-color:transparent}
