
/* Главная tudano.pro: светлый «лёд», кобальт для действий, коралл для цен и меток; крупные скруглённые фото-панели. Макет нарочно в одном светлом виде. */
:root{--ice:#eef1f6;--ink:#11131a;--card:#ffffff;--cob:#11131a;--cobd:#000000;--cobl:#e7e9ef;--coral:#11131a;--brand:#2b45d6;--soft:#646a7a;--line:rgba(17,19,26,.1);
--disp:'Inter',system-ui,sans-serif;--tx:'Inter',system-ui,sans-serif;--logof:'Unbounded',system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}
body{background:var(--ice);color:var(--ink);font:16px/1.55 var(--tx)}
a{color:inherit;text-decoration:none}
.in{max-width:1440px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h2{font:700 clamp(26px,3.4vw,40px)/1.05 var(--disp);letter-spacing:-.03em;margin:0;text-wrap:balance}
.sec{padding-block:72px 0}
.shead{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.shead p{margin:8px 0 0;color:var(--soft);max-width:56ch}
.more{font-weight:600;color:var(--soft);white-space:nowrap}
.note{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--coral);font-weight:600}
/* шапка */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:rgba(238,241,246,.86);backdrop-filter:blur(12px)}
.hdr .in{display:flex;align-items:center;gap:28px;padding-block:16px}
.logo{font:800 26px var(--logof);letter-spacing:-.04em}.logo i{font-style:normal;color:var(--brand)}
.menu{display:flex;gap:24px;font-weight:500;flex-wrap:wrap}
.hdr .sp{flex:1}
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:11px 20px;font-weight:600;background:var(--card);border:1px solid var(--line)}
/* первый экран */
.hero{position:relative;border-radius:36px;overflow:hidden;min-height:600px;background:linear-gradient(180deg,rgba(17,19,26,.45),rgba(17,19,26,0) 40%,rgba(17,19,26,.55)),var(--p) center/cover;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:56px 48px 40px}
.hero h1{font:700 clamp(30px,3.6vw,52px)/1.05 var(--disp);letter-spacing:-.035em;margin:0;max-width:18ch}
.hero .lead{font-size:18px;max-width:44ch;margin:18px 0 0;opacity:.95}
.badge{position:absolute;right:28px;top:28px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);border-radius:999px;padding:8px 16px;font-size:13px}
.srch{background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:30px;padding:10px;box-shadow:0 24px 60px rgba(17,19,26,.25);max-width:1060px}
.srch .tog{background:rgba(255,255,255,.16)}.srch .tog b{color:#fff}.srch .tog b.on{background:#fff;color:var(--ink)}
.srch .f{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22)}.srch .f small{color:rgba(255,255,255,.75)}
.srch .sug{border-top-color:rgba(255,255,255,.25)}.srch .sug h4,.srch .sug li em{color:rgba(255,255,255,.72)}.srch .sug mark{background:rgba(255,255,255,.28);color:#fff}
.tog{display:inline-flex;background:var(--ice);border-radius:999px;padding:4px;margin:4px 0 10px 4px}
.tog b{padding:9px 18px;border-radius:999px;font-weight:600;font-size:14px}.tog b.on{background:var(--ink);color:#fff}
.row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:6px}
.f{border-radius:999px;padding:12px 22px;background:var(--ice);min-width:0}
.f small{display:block;font-size:12px;color:var(--soft)}.f span{font-weight:600}
.go{border:0;border-radius:999px;background:var(--cob);color:#fff;font:700 16px var(--disp);padding:0 36px;cursor:pointer;box-shadow:0 10px 28px rgba(17,19,26,.25)}
.go:hover{background:var(--cobd)}.go:focus-visible,.pill:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.sug{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px;padding:18px 20px;border-top:1px solid var(--line);font-size:14px}
.sug h4{margin:0 0 8px;font:500 11px var(--tx);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.sug li{list-style:none;display:flex;justify-content:space-between;gap:10px;padding:5px 0}.sug ul{margin:0;padding:0}
.sug li em{font-style:normal;color:var(--soft);font-variant-numeric:tabular-nums}
.sug mark{background:var(--cobl);color:var(--cobd);border-radius:6px;padding:0 3px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chips a{background:rgba(255,255,255,.2);backdrop-filter:blur(8px);border-radius:999px;padding:8px 16px;font-size:14px;color:#fff}
/* цифры */
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.nums div{background:var(--card);border-radius:24px;padding:22px 24px}
.nums b{display:block;font:700 30px var(--disp);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.nums span{color:var(--soft);font-size:14px}
/* типы жилья */
.types{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.ty{background:var(--card);border-radius:26px;padding:8px 8px 16px;transition:transform .2s}
.ty:hover{transform:translateY(-4px)}
.ty i{display:block;aspect-ratio:1;border-radius:20px;background:var(--p) center/cover;margin-bottom:12px}
.ty b{display:block;font:700 16px var(--disp);letter-spacing:-.02em;padding:0 8px}.ty span{font-size:13px;color:var(--soft);padding:0 8px}
/* подборки */
.coll{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:14px}
.co{position:relative;border-radius:30px;overflow:hidden;background:linear-gradient(180deg,rgba(17,19,26,0) 40%,rgba(17,19,26,.7)),var(--p) center/cover;color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:flex-end}
.co:first-child{grid-row:span 2}
.co b{font:700 24px/1.1 var(--disp);letter-spacing:-.03em}.co span{opacity:.9;font-size:14px;margin-top:4px}
.co em{position:absolute;top:18px;left:18px;font-style:normal;background:var(--card);color:var(--ink);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}
/* направления */
.regs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rg{background:var(--card);border-radius:22px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid transparent}
.rg:hover{border-color:var(--cob)}
.rg b{font-weight:600}.rg span{font:700 14px var(--disp);color:var(--cob);background:var(--cobl);border-radius:999px;padding:6px 12px;font-variant-numeric:tabular-nums}
/* отели */
.hot{display:grid;grid-template-columns:1fr 1.1fr;gap:16px;background:var(--ink);color:#fff;border-radius:36px;padding:16px}
.hot .ph{border-radius:26px;background:var(--p) center/cover;min-height:420px}
.hot .tx{padding:32px 28px;display:flex;flex-direction:column;gap:18px}
.hot h2{color:#fff}.hot p{color:#c4c8d4;margin:0;max-width:48ch}
.rooms{display:grid;gap:10px}
.rm{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;background:rgba(255,255,255,.07);border-radius:20px;padding:10px 16px 10px 10px}
.rm i{aspect-ratio:1;border-radius:14px;background:var(--p) center/cover}
.rm b{display:block;font-weight:600}.rm small{color:#a9aec0}
.rm span{font:700 15px var(--disp);color:#fff;white-space:nowrap}.rm span em{display:block;font:400 12px var(--tx);color:#a9aec0;font-style:normal;text-align:right}
/* карточки */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cd{background:var(--card);border-radius:28px;padding:8px 8px 18px}
.cd i{display:block;position:relative;aspect-ratio:4/3;border-radius:22px;background:var(--p) center/cover;margin-bottom:12px}
.cd i u{position:absolute;left:10px;top:10px;text-decoration:none;font-style:normal;background:var(--card);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600}
.cd b{display:block;font-weight:600;padding:0 10px}.cd small{display:block;color:var(--soft);padding:0 10px}
.cd span{display:block;padding:6px 10px 0;font:700 17px var(--disp);color:var(--coral);letter-spacing:-.02em}
.cd span em{font:400 13px var(--tx);color:var(--soft);font-style:normal}
/* как бронировать */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.st{background:var(--card);border-radius:28px;padding:28px}
.st b{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--cob);color:#fff;font:700 18px var(--disp);margin-bottom:16px}
.st h3{font:700 19px/1.2 var(--disp);letter-spacing:-.02em;margin:0 0 8px}.st p{margin:0;color:var(--soft)}
/* журнал */
.jr{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px}
.ja i{display:block;aspect-ratio:4/3;border-radius:26px;background:var(--p) center/cover;margin-bottom:14px}
.ja:first-child i{aspect-ratio:16/11}
.ja small{color:var(--coral);font-weight:600;font-size:13px}.ja h3{font:700 19px/1.2 var(--disp);letter-spacing:-.02em;margin:6px 0 0;text-wrap:balance}
/* seo */
.seo{display:grid;grid-template-columns:1fr 2fr;gap:40px;background:var(--card);border-radius:36px;padding:44px}
.seo p{color:var(--soft);margin:12px 0 0}
.lk{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;font-size:14px}
.lk h4{margin:0 0 10px;font:700 14px var(--disp)}.lk a{display:block;padding:3px 0;color:var(--soft)}.lk a:hover{color:var(--cob)}
.ft{margin-top:72px;background:var(--ink);color:#c4c8d4;border-radius:36px 36px 0 0}
.ft .in{padding-block:48px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;font-size:14px}
.ft .logo{color:#fff}.ft h4{color:#fff;margin:0 0 10px;font:700 14px var(--disp)}.ft a{display:block;padding:3px 0}

.types2{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.t2{position:relative;aspect-ratio:3/4.4;border-radius:28px;overflow:hidden;color:#fff;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:14px;max-width:100%}
.t2:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--p) center/cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.t2:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,14,20,.35) 0%,rgba(12,14,20,0) 28%,rgba(12,14,20,0) 45%,rgba(12,14,20,.82) 100%)}
.t2:hover:before{transform:scale(1.06)}
.t2c{align-self:flex-start;background:rgba(255,255,255,.92);color:var(--ink);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.t2b{display:flex;flex-direction:column;gap:2px}
.t2b b{font:700 22px/1.1 var(--disp);letter-spacing:-.03em}
.t2b small{font-size:13px;color:rgba(255,255,255,.82);line-height:1.35}
.t2p{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.22);font-weight:600;font-size:14px}
.t2p em{font-style:normal;font-weight:400;color:rgba(255,255,255,.75);font-size:13px}
.t2p i{margin-left:auto;font-style:normal;display:grid;place-items:center;opacity:.85;transition:transform .25s,opacity .2s}
.t2:hover .t2p i{opacity:1;transform:translate(3px,-3px)}
@media (max-width:1100px){.types2{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.types2{grid-template-columns:repeat(2,1fr)}.t2b b{font-size:18px}.t2b small{display:none}}

.co.co2{background:var(--tint);color:var(--ink);isolation:isolate}
.co.co2:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--p) center/cover;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;opacity:.22;-webkit-mask-image:linear-gradient(100deg,transparent 30%,#000 85%);mask-image:linear-gradient(100deg,transparent 30%,#000 85%);transition:opacity .4s,transform .6s cubic-bezier(.2,.7,.2,1)}
.co.co2:hover{transform:none}
.co.co2:hover:before{opacity:.36;transform:scale(1.04)}
.coll:has(.co2){grid-template-columns:repeat(3,1fr);grid-auto-rows:210px}
.coll .co.co2:first-child{grid-row:auto}
.co.co2 b{font-size:26px}
.co.co2 span{color:rgba(17,19,26,.7);opacity:1}
.co.co2 em{background:var(--ink);color:#fff}
.co.co2 .coa{position:absolute;right:20px;top:20px;font-style:normal;transition:transform .25s}
.co.co2:hover .coa{transform:translate(3px,-3px)}

/* карточки домов (шаблон для каталога) */
.lcg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lc{background:var(--card);border-radius:28px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}
.lc:hover{box-shadow:0 24px 50px rgba(17,19,26,.1);transform:translateY(-3px)}
.lcm{position:relative;aspect-ratio:4/3.1;margin:8px 8px 0;border-radius:22px;overflow:hidden;background:#dfe2e8}
.lcs{position:absolute;inset:0;background:var(--p) center/cover;opacity:0;transition:opacity .45s}
.lcs.on{opacity:1}
.lct{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.94);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600}
.lcfav{position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:transform .2s}
.lcfav:hover{transform:scale(1.08)}.lcfav.on path{fill:currentColor}
.lca{position:absolute;top:50%;margin-top:-17px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .2s}
.lcp{left:10px}.lcn{right:10px}
.lcm:hover .lca{opacity:1}
.lcd{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px}
.lcd b{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);transition:width .25s,background .25s}
.lcd b.on{width:18px;border-radius:3px;background:#fff}
.lcb{padding:14px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.lcl{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--soft)}
.lc h3{margin:0;font:700 17px/1.3 var(--disp);letter-spacing:-.02em;text-wrap:balance}
.lcpl{font-size:13px;color:var(--soft);margin-top:-4px}
.lcf{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.lcf li{font-size:12px;font-weight:500;background:var(--ice);border-radius:999px;padding:5px 10px}
.lcf li.g{display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid var(--line);padding:4px 10px}
.lcft{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}
.lcpr{display:flex;flex-direction:column;line-height:1.15}.lcpr b{font:700 19px var(--disp);letter-spacing:-.02em}.lcpr span{font-size:12px;color:var(--soft)}
.lcbtn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border-radius:16px;padding:11px 16px;font-weight:600;font-size:14px;white-space:nowrap;transition:background .2s,gap .2s}
.lcbtn:hover{background:#2a2e3a;gap:11px}
.lcy{font-size:11px;color:var(--soft);text-align:right}
@media (max-width:1200px){.lcg{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.lcg{grid-template-columns:1fr}}
/* как забронировать */
.hw{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hwl{position:absolute;left:8%;right:8%;top:118px;height:0;border-top:2px dashed rgba(17,19,26,.18);z-index:0}
.hwl i{position:absolute;top:-6px;left:0;width:10px;height:10px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 6px rgba(17,19,26,.08);animation:hwgo 5s cubic-bezier(.6,0,.4,1) infinite}
@keyframes hwgo{0%{left:0}45%{left:50%}55%{left:50%}100%{left:100%}}
.hs{position:relative;z-index:1;background:var(--card);border-radius:30px;padding:10px;display:flex;flex-direction:column}
.hm{height:216px;border-radius:22px;background:var(--ice);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;overflow:hidden}
.hm1b{display:flex;align-items:center;gap:4px;background:var(--card);border-radius:999px;padding:5px 5px 5px 14px;box-shadow:0 10px 30px rgba(17,19,26,.08);font-size:13px;font-weight:600;max-width:100%}
.hm1b span{display:flex;flex-direction:column;padding:0 8px;border-right:1px solid var(--line);white-space:nowrap}.hm1b span:nth-child(3){border:0}
.hm1b small{font-size:10px;color:var(--soft);font-weight:500}
.hm1b i{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;flex:none}
.hm1c{display:flex;gap:6px}.hm1c em{font-style:normal;font-size:12px;background:var(--card);border-radius:999px;padding:5px 11px}.hm1c em.on{background:var(--ink);color:#fff}
.hm2c{width:min(300px,100%);display:flex;align-items:center;gap:10px;background:var(--card);border-radius:16px;padding:8px 12px 8px 8px;font-size:13px;box-shadow:0 8px 20px rgba(17,19,26,.05)}
.hm2c i{width:46px;height:46px;border-radius:12px;background:var(--p) center/cover;flex:none}
.hm2c span{flex:1;display:flex;flex-direction:column;min-width:0}.hm2c small{color:var(--soft)}
.hm2c em{font-style:normal;font-weight:700}
.hm2c.on{box-shadow:0 0 0 2px var(--ink),0 14px 30px rgba(17,19,26,.12);transform:scale(1.03)}
.hm3c{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--card);border-radius:20px;padding:18px 26px;box-shadow:0 12px 30px rgba(17,19,26,.08)}
.hm3c i{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;margin-bottom:6px;animation:pop 2.6s ease-in-out infinite}
@keyframes pop{0%,70%,100%{transform:scale(1)}80%{transform:scale(1.15)}}
.hm3c b{font-size:15px}.hm3c small{font-size:12px;color:var(--soft)}
.hm3y{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.ht{padding:18px 14px 10px}
.ht span{font:700 13px var(--disp);color:var(--soft);letter-spacing:.04em}
.ht h3{margin:6px 0 6px;font:700 20px/1.2 var(--disp);letter-spacing:-.02em}
.ht p{margin:0;color:var(--soft);font-size:15px}
@media (max-width:900px){.hw{grid-template-columns:1fr}.hwl{display:none}}
@media (prefers-reduced-motion:reduce){.hwl i,.hm3c i{animation:none}}

/* отели */
.hot2{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;background:var(--card);border-radius:36px;padding:12px}
.h2ph{position:relative;border-radius:28px;background:var(--p) center/cover;min-height:560px}
.h2cap{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.92);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500}
.h2tx{padding:28px 24px 20px;display:flex;flex-direction:column;gap:16px;min-width:0}
.h2tx p{margin:0;color:var(--soft);max-width:52ch}
.rooms2{display:flex;flex-direction:column}
.rm2{display:grid;grid-template-columns:76px 1fr auto;gap:16px;align-items:center;padding:12px 8px;border-top:1px solid var(--line);border-radius:16px;transition:background .2s}
.rm2:last-child{border-bottom:1px solid var(--line)}
.rm2:hover{background:var(--ice)}
.rm2 i{width:76px;height:60px;border-radius:14px;background:var(--p) center/cover}
.rm2 span{display:flex;flex-direction:column;min-width:0}.rm2 b{font-weight:600;line-height:1.3}.rm2 small{color:var(--soft);font-size:13px}
.rm2 em{font-style:normal;font:700 16px var(--disp);text-align:right;white-space:nowrap}.rm2 em small{display:block;font:400 12px var(--tx);color:var(--soft)}
@media (max-width:1000px){.hot2{grid-template-columns:1fr}.h2ph{min-height:320px}}
/* журнал */
.jr2{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}
.jr2f{position:relative;border-radius:32px;overflow:hidden;min-height:410px;color:#fff;display:flex;align-items:flex-end;isolation:isolate}
.jr2f i{position:absolute;inset:0;z-index:-2;background:var(--p) center/cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.jr2f:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,19,26,0) 40%,rgba(17,19,26,.78))}
.jr2f:hover i{transform:scale(1.04)}
.jr2fb{display:flex;flex-direction:column;gap:10px;padding:32px;max-width:620px}
.jr2fb small{font-size:13px;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.jr2fb b{font:700 clamp(24px,2.6vw,34px)/1.12 var(--disp);letter-spacing:-.03em;text-wrap:balance}
.jr2fb>span{opacity:.88}
.jr2fb em{font-style:normal;display:inline-flex;align-items:center;gap:6px;font-weight:600;margin-top:4px}
.jr2s{display:flex;flex-direction:column;background:var(--card);border-radius:32px;padding:10px}
.jr2i{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center;padding:10px;border-radius:22px;transition:background .2s}
.jr2i+.jr2i{border-top:1px solid var(--line);border-top-left-radius:0;border-top-right-radius:0}
.jr2i:hover{background:var(--ice)}
.jr2i i{height:100px;border-radius:16px;background:var(--p) center/cover}
.jr2i span{display:flex;flex-direction:column;gap:6px}.jr2i small{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.jr2i b{font:700 17px/1.25 var(--disp);letter-spacing:-.02em}
@media (max-width:1000px){.jr2{grid-template-columns:1fr}.jr2f{min-height:380px}}
/* путеводитель */
.gd{display:grid;grid-template-columns:340px 1fr;gap:56px;background:var(--card);border-radius:36px;padding:48px}
.gdl{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:16px}
.gdn{display:flex;flex-direction:column;margin-top:8px}
.gdn a{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line);color:var(--soft);font-weight:500;transition:color .2s,padding .2s}
.gdn a:hover{color:var(--ink);padding-left:4px}.gdn b{font:700 12px var(--disp);color:var(--ink)}
.gdm{min-width:0;display:flex;flex-direction:column;gap:40px;max-width:780px}
.gdlead{font-size:21px;line-height:1.5;margin:0;letter-spacing:-.01em}
.gdb h3{font:700 24px var(--disp);letter-spacing:-.02em;margin:0 0 10px}
.gdb>p{margin:0 0 16px;color:var(--soft)}
.ptab{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.ptr{display:grid;grid-template-columns:150px 1fr 100px 90px;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.ptr em{font-style:normal;color:var(--soft);font-size:14px}.ptr b{text-align:right}
.pth{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}.pth b{font-weight:500}
.ptb{position:relative;height:8px;border-radius:4px;background:var(--ice)}
.ptb i{position:absolute;left:var(--a);width:calc(var(--b) - var(--a));top:0;bottom:0;border-radius:4px;background:linear-gradient(90deg,#c9ccd5,var(--ink))}
.ptb i:before{content:"";position:absolute;left:-4px;top:-2px;width:12px;height:12px;border-radius:50%;background:var(--card);box-shadow:0 0 0 2px #c9ccd5}
.ssn{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ssn div{background:var(--ice);border-radius:20px;padding:16px}
.ssn b{font:700 16px var(--disp)}.ssn p{margin:6px 0 0;font-size:14px;color:var(--soft)}
.chk{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chk li{position:relative;padding:16px 16px 16px 46px;border:1px solid var(--line);border-radius:20px;font-size:15px;color:var(--soft)}
.chk li b{color:var(--ink);font-weight:600}
.chk li:before{content:"";position:absolute;left:16px;top:18px;width:18px;height:18px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/12px no-repeat}
.fqs{display:flex;flex-direction:column;gap:8px}
.fq{border-radius:20px;background:var(--ice);transition:background .2s}
.fq[open]{background:var(--card);box-shadow:0 0 0 1px var(--line),0 14px 30px rgba(17,19,26,.06)}
.fq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-weight:600;font-size:16px}
.fq summary::-webkit-details-marker{display:none}
.fq summary i{position:relative;width:28px;height:28px;border-radius:50%;background:var(--card);flex:none;transition:transform .25s,background .2s}
.fq summary i:before,.fq summary i:after{content:"";position:absolute;left:8px;right:8px;top:13px;height:2px;border-radius:1px;background:var(--ink)}
.fq summary i:after{transform:rotate(90deg);transition:transform .25s}
.fq[open] summary i{background:var(--ink)}.fq[open] summary i:before{background:#fff}.fq[open] summary i:after{transform:rotate(0);background:#fff}
.fq p{margin:0;padding:0 20px 20px;color:var(--soft);max-width:68ch}
.fq summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:20px}
@media (max-width:1000px){.gd{grid-template-columns:1fr;padding:24px;gap:28px}.gdl{position:static}.ssn{grid-template-columns:1fr 1fr}.chk{grid-template-columns:1fr}.ptr{grid-template-columns:110px 1fr 80px}.ptr b{display:none}}

.gtx{border-top:1px solid var(--line);padding-top:32px}
.gtc{column-count:2;column-gap:36px;font-size:16px;line-height:1.7;color:#2c3040}
.gtc p{margin:0 0 14px;break-inside:avoid-column}
.gtc p:first-child:first-letter{float:left;font:700 54px/.9 var(--disp);margin:4px 10px 0 0;color:var(--ink)}
.gtags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.gtags span{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin-right:4px}
.gtags a{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;transition:border-color .2s,background .2s}
.gtags a:hover{border-color:var(--ink);background:var(--ice)}
@media (max-width:800px){.gtc{column-count:1}}

.ft2 .in{display:flex;flex-direction:column;gap:40px;padding-block:56px 28px}
.ftop{display:grid;grid-template-columns:330px 1fr;gap:56px}
.fbrand{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.fbrand .logo{font-size:34px}
.fslog{margin:0;font:700 24px/1.15 var(--disp);letter-spacing:-.03em;color:#fff;max-width:14ch}
.fdesc{margin:0;color:#9ca1b0;font-size:14px;max-width:34ch}
.ft .fcta{margin-top:8px;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ink)!important;border-radius:16px;padding:12px 18px!important;font-weight:600;transition:gap .2s,background .2s}
.fcta:hover{gap:11px;background:#eef0f4}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.fc2 h4{color:#fff;margin:0 0 14px;font:600 13px var(--tx);letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.fc2 a{display:block;width:max-content;max-width:100%;padding:5px 0;color:#c4c8d4;background:linear-gradient(#fff,#fff) no-repeat 0 100%/0 1px;transition:color .2s,background-size .25s}
.fc2 a:hover{color:#fff;background-size:100% 1px}
.fbot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#8c91a0}
.fbot a{color:#8c91a0;transition:color .2s}.fbot a:hover{color:#fff}
.fup{margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid!important;place-items:center;color:#fff!important;transition:background .2s,transform .2s}
.fup:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
@media (max-width:1000px){.ftop{grid-template-columns:1fr;gap:36px}.fcols{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.fcols{grid-template-columns:1fr}.fup{margin-left:0}}

.ft2 .fbrand .logo{font-size:26px;opacity:.7}
.ft2 .fslog{font:600 15px/1.3 var(--tx);letter-spacing:0;color:#e4e6ec;max-width:none}
.fpop{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:22px 0;border-top:1px solid rgba(255,255,255,.08)}
.fpop span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7d8292;margin-right:6px}
.ft .fpop a{display:inline-block;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:#c4c8d4;font-size:13px;transition:background .2s,color .2s,border-color .2s}
.ft .fpop a:hover{background:#fff;color:var(--ink);border-color:#fff}
.ft2 .in{gap:0;padding-block:56px 26px}
.ftop{padding-bottom:40px}
.fbot{justify-content:space-between;border-top:1px solid rgba(255,255,255,.08)}
.fup2{position:fixed;right:max(20px,calc(env(safe-area-inset-right,0px) + 20px));bottom:max(20px,calc(env(safe-area-inset-bottom,0px) + 20px));z-index:30;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:0 14px 34px rgba(17,19,26,.3),0 0 0 1px rgba(255,255,255,.18);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,background .2s}
.fup2.on{opacity:1;transform:none;pointer-events:auto}
.fup2:hover{background:#2a2e3a;transform:translateY(-2px)}

.jr3{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.jr3c{display:flex;flex-direction:column;background:var(--card);border-radius:32px;padding:10px;transition:box-shadow .25s,transform .25s}
.jr3c:hover{box-shadow:0 22px 46px rgba(17,19,26,.1);transform:translateY(-3px)}
.jr3c i{height:220px;flex:none;border-radius:24px;background:var(--p) center/cover}
.jr3c .jr3b{flex:1}
.jr3b{display:flex;flex-direction:column;gap:8px;padding:16px 10px 10px;min-height:132px}
.jr3b small{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.jr3b b{font:700 19px/1.25 var(--disp);letter-spacing:-.02em;text-wrap:balance}
.jr3b em{font-style:normal;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;margin-top:4px;transition:gap .2s}
.jr3c:hover .jr3b em{gap:9px}
@media (max-width:640px){.jr3{grid-template-columns:1fr}}

/* как забронировать: анимация шагов */
.hm1b i{position:relative}
.hm1b i:after,.hm3c i:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none}
.hs.act .hm1b i{animation:press .6s ease}
.hs.act .hm1b i:after{animation:rip .8s ease-out .1s}
@keyframes press{0%{transform:scale(1)}30%{transform:scale(.8)}60%{transform:scale(1.07)}100%{transform:scale(1)}}
@keyframes rip{from{box-shadow:0 0 0 0 rgba(17,19,26,.35)}to{box-shadow:0 0 0 16px rgba(17,19,26,0)}}
.hs.act .hm1c em.on{animation:chip .6s ease .35s both}
@keyframes chip{0%{background:var(--card);color:var(--ink)}100%{background:var(--ink);color:#fff}}
.hm2c{transition:box-shadow .3s,transform .3s}
.hs.act .hm2c:first-child{animation:hl1 1.5s ease both}
.hs.act .hm2c.on{animation:hl2 1.5s ease both}
@keyframes hl1{0%{box-shadow:0 8px 20px rgba(17,19,26,.05);transform:none}18%,46%{box-shadow:0 0 0 2px var(--ink),0 14px 30px rgba(17,19,26,.12);transform:scale(1.03)}62%,100%{box-shadow:0 8px 20px rgba(17,19,26,.05);transform:none}}
@keyframes hl2{0%,46%{box-shadow:0 8px 20px rgba(17,19,26,.05);transform:none}66%,100%{box-shadow:0 0 0 2px var(--ink),0 14px 30px rgba(17,19,26,.12);transform:scale(1.03)}}
.hm3c i{position:relative;animation:none}
.hs.act .hm3c i{animation:okc .9s ease both}
.hs.act .hm3c i path{stroke-dasharray:24;animation:draw .5s ease .35s both}
.hs.act .hm3c i:after{animation:ring3 1s ease-out .55s}
@keyframes okc{0%{background:var(--ink);transform:scale(.7)}55%{transform:scale(1.12)}100%{background:#2b45d6;transform:scale(1)}}
@keyframes draw{from{stroke-dashoffset:24}to{stroke-dashoffset:0}}
@keyframes ring3{from{box-shadow:0 0 0 0 rgba(43,69,214,.45)}to{box-shadow:0 0 0 18px rgba(43,69,214,0)}}
.hs.act .hm3c b{animation:fadeup .5s ease .5s both}
@keyframes fadeup{from{opacity:0;transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){.hs.act *,.hs.act *:after{animation:none!important}.hs.act .hm3c i{background:#2b45d6}}

/* отзывы гостей */
.rvnav{display:flex;gap:8px}
.rvb{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.rvb:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.rvw{display:grid;grid-template-columns:340px 1fr;gap:16px;align-items:center}
.rvr{display:flex;flex-direction:column;gap:18px;min-width:0}
.rvft{display:flex;align-items:center;gap:16px;padding:0 6px}
.rvpr{position:relative;flex:1;height:4px;border-radius:2px;background:rgba(17,19,26,.1);cursor:pointer;touch-action:none;transition:height .2s}
.rvpr:before{content:"";position:absolute;left:0;right:0;top:-12px;bottom:-12px}
.rvpr:hover,.rvpr.drag{height:8px}
.rvpr i{cursor:grab}.rvpr.drag i{cursor:grabbing;transition:none}
.rvtrack{cursor:grab;user-select:none}.rvtrack.grab{cursor:grabbing}
.rvtrack a{cursor:pointer}
.rvpr i{display:block;height:100%;width:21%;background:var(--ink);border-radius:2px;transition:margin-left .3s}
#rvcnt{font-size:13px;color:var(--soft);font-variant-numeric:tabular-nums;white-space:nowrap}
.rv{position:relative}
.rvq{position:absolute;right:18px;top:16px;color:#d9dce4}
.rvstay{align-self:flex-start;font-size:12px;color:var(--soft);background:var(--ice);border-radius:999px;padding:5px 11px}
.rvs{background:var(--ink);color:#fff;border-radius:32px;padding:28px;display:flex;flex-direction:column;gap:14px}
.rvbig{font:700 64px/1 var(--disp);letter-spacing:-.04em;display:flex;align-items:baseline;gap:10px}
.rvbig span{font:500 16px var(--tx);color:#9ca1b0;letter-spacing:0}
.rvst{display:flex;gap:3px;color:#fff}
.rvc{margin:0;color:#c4c8d4;font-size:14px}.rvc b{color:#fff}
.rvl{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.rvl li{display:grid;grid-template-columns:1fr 70px 28px;gap:10px;align-items:center;font-size:13px;color:#c4c8d4}
.rvl i{height:4px;border-radius:2px;background:linear-gradient(90deg,#fff var(--w),rgba(255,255,255,.15) var(--w))}
.rvl b{text-align:right;color:#fff;font-variant-numeric:tabular-nums}
.rvtg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}
.rvtg small{width:100%;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7d8292}
.rvtg span{font-size:12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:4px 10px}
.rvsrc{margin:auto 0 0;font-size:12px;color:#7d8292}
.rvtrack{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;min-width:0;padding-bottom:2px}
.rvtrack::-webkit-scrollbar{display:none}
.rv{scroll-snap-align:start;background:var(--card);border-radius:28px;padding:22px;display:flex;flex-direction:column;gap:14px}
.rvh{display:flex;align-items:center;gap:12px}
.rva{width:40px;height:40px;border-radius:50%;background:var(--ice);display:grid;place-items:center;font-weight:700}
.rvh span:last-child{display:flex;flex-direction:column}.rvh small{color:var(--soft);font-size:12px}
.rvt{flex:1;font-size:15px;line-height:1.55;color:#2c3040}
.rvt p{margin:0 0 8px}.rvt b{font-weight:600;color:var(--ink)}
.rvt p.neg{color:var(--soft)}
.rvo{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:18px;background:var(--ice);transition:background .2s}
.rvo:hover{background:#e3e6ec}
.rvo span{display:flex;flex-direction:column;min-width:0}.rvo b{font-size:13px;font-weight:600}.rvo small{font-size:12px;color:var(--soft)}
.rvo em{font-style:normal;display:flex;align-items:center;gap:4px;font-weight:700;white-space:nowrap}
.rvo em small{font-weight:400;margin-left:4px}
@media (max-width:1100px){.rvw{grid-template-columns:1fr}.rvtrack{grid-auto-columns:calc((100% - 16px)/2)}}
@media (max-width:640px){.rvtrack{grid-auto-columns:86%}.rvnav{display:none}}

/* регионы: мягкое наведение */
.rg{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,border-color .45s ease,background .45s ease}
.rg:hover{border-color:rgba(17,19,26,.08);transform:translateY(-2px);box-shadow:0 14px 32px rgba(17,19,26,.07)}
.rg span{transition:background .45s ease,color .45s ease}
.rg:hover span{background:var(--ink);color:#fff}

/* мобильная ширина: шаги бронирования */
.hs{min-width:0}
.hm1b{max-width:100%;overflow:hidden}
@media (max-width:480px){.hm1b{font-size:12px;padding-left:10px}.hm1b span{padding:0 6px}}

/* телефон: подборки, отели, виды жилья */
@media (max-width:700px){
 .coll:has(.co2){grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px}
 .co.co2{padding:16px;border-radius:22px}.co.co2 b{font-size:18px}.co.co2 span{font-size:12px}.co.co2 .coa{right:14px;top:14px}
 .co.co2 em{top:12px;left:12px}
 .rm2{grid-template-columns:64px 1fr;gap:12px;align-items:start}
 .rm2 i{width:64px;height:52px}
 .rm2 em{grid-column:2;text-align:left;font-size:15px}.rm2 em small{display:inline;margin-left:4px}
 .h2tx{padding:20px 12px 12px}
 .t2p{font-size:13px;flex-wrap:nowrap}.t2p em{font-size:11px}
 .t2{padding:12px;border-radius:22px}
}
@media (max-width:380px){.coll:has(.co2){grid-template-columns:1fr}}
/* пояснения к макету */
.ann{display:flex;gap:10px;align-items:center;margin:0 0 14px;font-size:13px;color:var(--cobd)}
.ann b{background:var(--cobl);border-radius:999px;padding:4px 12px;font-weight:600}
.plan{background:var(--card);border-radius:36px;padding:44px;margin-top:72px;border:2px dashed var(--cob)}
.plan h2{margin-bottom:8px}.plan>p{color:var(--soft);margin:0 0 24px;max-width:70ch}
.pg{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 40px}
.pg div{min-width:0}.pg h3{font:700 17px var(--disp);margin:0 0 6px;letter-spacing:-.02em}.pg p{margin:0;color:var(--soft);font-size:15px}
.pg code{font:500 13px ui-monospace,Consolas,monospace;background:var(--ice);border-radius:8px;padding:2px 8px;color:var(--cobd);word-break:break-all}
@media (max-width:1000px){.types{grid-template-columns:repeat(3,1fr)}.cards,.regs{grid-template-columns:repeat(2,1fr)}.hot,.seo,.jr{grid-template-columns:1fr}.ft .in{grid-template-columns:1fr 1fr}.menu{display:none}}
@media (max-width:700px){.hero{padding:28px 16px 16px;min-height:0;border-radius:26px;gap:28px}.row,.sug,.nums,.steps,.pg,.lk{grid-template-columns:1fr}.go{padding:16px}.coll{grid-template-columns:1fr;grid-auto-rows:220px}.co:first-child{grid-row:auto}.types{grid-template-columns:repeat(2,1fr)}.cards,.regs{grid-template-columns:1fr}.plan,.seo{padding:24px}.hot .ph{min-height:260px}.hdr .pill{display:none}.badge{display:none}}
@media (prefers-reduced-motion:reduce){.ty{transition:none}}
