:root{--g0:#0D1512;--g1:#131E1A;--g2:#1A2823;--g3:#22332D;--ln:#2A3B35;--ln2:#3D524A;--tx:#EDF0EA;--tx2:#D5DDD8;--mu:#A9B8B0;--mu2:#6F807A;--au:#E9B23C;--au2:#F5CB6A;--aul:#E9B23C;--auh:#F5CB6A;--ink:#16110A;--fr:#9FD3BE;--pop:#1A2823;--hov:rgba(237,240,234,.06);--hdr:rgba(13,21,18,.94);--mbar:rgba(19,30,26,.97);--shd:rgba(0,0,0,.55);--pbg:rgba(10,16,14,.66);--pbd:rgba(237,240,234,.18);--pgb:rgba(233,178,60,.75);--gb:#8AB4F8;--gg0:#111416;--gln:#2A2D30;--gc:#202124;--gcl:#3C4043;--gtx:#E8EAED;--gtx2:#BDC1C6;--gmu:#9AA0A6;--grp:#2A2B2E;--gtr:#3C4043;--gbd:#5F6368}
.th-light{--g0:#F4F6F3;--g1:#FFFFFF;--g2:#EBEFEA;--g3:#DFE5DF;--ln:#D5DCD5;--ln2:#9DADA4;--tx:#13201A;--tx2:#2F3D36;--mu:#56655D;--mu2:#7D8A83;--au:#E9B23C;--au2:#8A5A00;--aul:#B7820F;--auh:#F2C25A;--ink:#16110A;--fr:#23704F;--pop:#FFFFFF;--hov:rgba(19,32,26,.05);--hdr:rgba(244,246,243,.94);--mbar:rgba(255,255,255,.97);--shd:rgba(19,32,26,.18);--pbg:#FFFFFF;--pbd:#9DADA4;--pgb:#B7820F;--gb:#1A73E8;--gg0:#F4F6F3;--gln:#DADCE0;--gc:#FFFFFF;--gcl:#DADCE0;--gtx:#202124;--gtx2:#3C4043;--gmu:#5F6368;--grp:#F1F3F4;--gtr:#E8EAED;--gbd:#DADCE0;color-scheme:light}
.th-light :is(.hero,.tcard,.final,.foot,.isl){--g0:#0D1512;--g1:#131E1A;--g2:#1A2823;--g3:#22332D;--ln:#2A3B35;--ln2:#3D524A;--tx:#EDF0EA;--tx2:#D5DDD8;--mu:#A9B8B0;--mu2:#6F807A;--au:#E9B23C;--au2:#F5CB6A;--aul:#E9B23C;--auh:#F5CB6A;--ink:#16110A;--fr:#9FD3BE;--pop:#1A2823;--hov:rgba(237,240,234,.06);--hdr:rgba(13,21,18,.94);--mbar:rgba(19,30,26,.97);--shd:rgba(0,0,0,.55);--pbg:rgba(10,16,14,.66);--pbd:rgba(237,240,234,.18);--pgb:rgba(233,178,60,.75);color:var(--tx);color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;background:var(--g0)}
html:has(.th-light),body:has(.th-light){background:#F4F6F3}
body{font-family:'Archivo',ui-sans-serif,system-ui,'Segoe UI',sans-serif;color:var(--tx);-webkit-font-smoothing:antialiased;line-height:1.5}
sc-for,sc-if{display:contents}
a{color:inherit}
button{font:inherit;color:inherit}
img{display:block}
h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}
:focus-visible{outline:3px solid var(--aul);outline-offset:3px}
.wrap{max-width:1440px;margin:0 auto;padding-left:40px;padding-right:40px}
.num{font-stretch:125%;font-weight:800;letter-spacing:-0.01em;font-variant-numeric:tabular-nums}
.disp{font-stretch:120%;font-weight:800;letter-spacing:-0.02em;line-height:.98;text-wrap:balance}
.lead{font-size:18px;line-height:1.55;color:var(--mu);max-width:60ch;text-wrap:pretty}
.mu{color:var(--mu)}
.ic{display:inline-flex;align-items:center;gap:8px}
.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--au);color:var(--ink);border:0;border-radius:12px;font-weight:750;cursor:pointer;text-decoration:none;transition:background-color .15s ease,transform .12s ease}
.btn-gold:hover{background:var(--auh);color:var(--ink)}
.btn-gold:active{transform:scale(.98)}
.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ln2);background:transparent;color:var(--tx);border-radius:12px;font-weight:650;cursor:pointer;text-decoration:none;transition:border-color .15s ease,background-color .15s ease,transform .12s ease}
.btn-line:hover{border-color:var(--tx);background:var(--hov);color:var(--tx)}
.step{width:44px;height:44px;flex:0 0 44px;border-radius:50%;border:1px solid var(--ln2);background:transparent;display:grid;place-items:center;cursor:pointer;padding:0;transition:border-color .15s ease,background-color .15s ease,transform .12s ease}
.step:hover{border-color:var(--tx);background:var(--hov)}
.step:disabled{opacity:.35;cursor:not-allowed;border-color:var(--ln2);background:transparent}
.chip{min-height:44px;padding:0 16px;border-radius:22px;border:1px solid var(--ln2);background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .12s ease}
.chip:hover{border-color:var(--tx)}
.chip[aria-pressed="true"]{background:var(--tx);border-color:var(--tx);color:var(--g0)}
.chip:disabled{opacity:.4;cursor:not-allowed}
.chip .ct{font-weight:400;opacity:.8}
.nav a{text-decoration:none;font-weight:550;font-size:15px;padding:12px 0}
.nav a:hover{color:var(--au2)}
.hd-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;font-weight:600;font-size:15px}
.hd-link:hover{color:var(--au2)}
.stars{display:inline-flex;gap:1px}

.hero{position:relative;overflow:hidden;background:#0A100E;isolation:isolate}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:heroZoom 1.8s cubic-bezier(.2,.8,.2,1) both}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,16,14,.78) 0%,rgba(10,16,14,.2) 24%,rgba(10,16,14,.3) 50%,rgba(13,21,18,.94) 82%,#0D1512 100%)}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:none}}
.rise{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
.rise.d1{animation-delay:.12s}.rise.d2{animation-delay:.24s}.rise.d3{animation-delay:.36s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.glass{background:rgba(16,26,22,.76);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:1px solid rgba(237,240,234,.14);border-radius:20px}
.fld{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:10px 18px;border-radius:14px;text-decoration:none;min-height:68px;transition:background-color .15s ease}
a.fld:hover{background:var(--hov);color:var(--tx)}
.fld .k{font-size:13px;color:var(--mu);display:inline-flex;gap:6px;align-items:center}
.fld .v{font-size:18px;font-weight:700}
.pill{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:6px 16px 6px 12px;border-radius:24px;background:var(--pbg);border:1px solid var(--pbd);text-decoration:none;font-size:15px;color:var(--tx)}
a.pill:hover{border-color:var(--tx);color:var(--tx)}
.pill-gold{border-color:var(--pgb);cursor:pointer;font:inherit;font-size:15px}
.pill-gold:hover{border-color:var(--aul);background:rgba(233,178,60,.14)}
.pill-gold{text-align:left}
.fpill strong{white-space:nowrap}
.dot{width:8px;height:8px;border-radius:50%;background:var(--fr);flex:0 0 8px}
.season{display:flex;flex-direction:column;gap:6px;align-items:center;background:transparent;border:0;padding:0;cursor:pointer;font-size:13px;color:var(--tx2);min-width:76px}
.season img{width:76px;height:50px;object-fit:cover;border-radius:10px;box-shadow:0 0 0 1px rgba(237,240,234,.25);transition:box-shadow .15s ease,transform .15s ease}
.season:hover img{transform:translateY(-2px)}
.season[aria-pressed="true"]{color:var(--tx);font-weight:700}
.season[aria-pressed="true"] img{box-shadow:0 0 0 2px var(--aul)}
.fact{display:flex;gap:14px;align-items:center;padding:24px 8px}
.fact svg{flex:0 0 auto;color:var(--aul)}
.fact strong{display:block;font-size:17px}
.fact span span{display:block;font-size:14px;color:var(--mu)}

.bc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.bc-dow{font-size:13px;color:var(--mu);padding:0 4px 4px;font-weight:600}
.bc-dow .sh{display:none}
.bc{height:108px;border:1px solid var(--ln);border-radius:12px;background:var(--g1);display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:6px;padding:10px 12px 11px;text-align:left;cursor:pointer;transition:border-color .15s ease,transform .15s ease,background-color .15s ease}
.bc:hover{border-color:var(--aul);box-shadow:inset 0 0 0 1px var(--aul)}
.bc.is-wk{background:var(--g2)}
.bc-top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.bc-n{font-size:22px;line-height:1}
.bc-p{font-size:14px;color:var(--mu);line-height:1.1}
.bc-p strong{font-size:18px;color:var(--tx);font-weight:750;font-variant-numeric:tabular-nums}
.bc-bar{display:block;width:100%;height:4px;border-radius:2px;background:var(--ln);overflow:hidden}
.bc-bar i{display:block;height:100%;background:var(--fr);border-radius:2px}
.bc-c{font-size:13px;color:var(--mu);line-height:1}
.bc.is-low .bc-bar i{background:var(--au)}
.bc.is-low .bc-c{color:var(--au2)}
.bc:disabled{cursor:not-allowed;background:transparent;border-color:var(--g2);transform:none}
.bc.is-none .bc-n{color:var(--mu);font-weight:500}
.bc.is-past .bc-n{color:var(--mu2);font-weight:500}
.bc.in-stay{background:rgba(233,178,60,.12);border-color:rgba(233,178,60,.55)}
.bc.is-sel{border-color:var(--aul);box-shadow:inset 0 0 0 1px var(--aul)}
.bc.is-outd{border-color:var(--aul);border-style:dashed}
.th-light .bc:disabled{border-color:var(--ln)}
.th-light .bc.in-stay,.th-light .sd.is-stay{background:#FFF1CF;border-color:#D9A93A}
.th-light .bc.is-sel{background:#FFF1CF;border-color:#8A5A00;box-shadow:inset 0 0 0 1px #8A5A00}
.th-light .bc.is-outd{border-color:#8A5A00}
.bc-tag.is-out{background:transparent;color:var(--au2);box-shadow:inset 0 0 0 1px var(--aul)}
.bc-tag{font-size:11px;font-weight:700;color:var(--ink);background:var(--au);border-radius:6px;padding:2px 6px;line-height:1.2}
.bc-tag.is-today{background:var(--tx)}
.lg{display:inline-flex;gap:8px;align-items:center}
.wk{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:4px 14px;align-items:center;padding:13px 16px;border:1px solid var(--ln);border-radius:14px;background:var(--g1);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .12s ease}
.wk:hover{border-color:var(--aul);background:var(--g2)}
.wk:disabled{cursor:not-allowed;background:transparent;opacity:.6}
.wk:disabled svg{visibility:hidden}

.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:300px;gap:16px}
.tcard{position:relative;overflow:hidden;border-radius:18px;border:0;padding:0;cursor:pointer;text-align:left;background:var(--g2);display:block;isolation:isolate;color:var(--tx)}
.tcard.is-big{grid-column:span 2;grid-row:span 2}
.tcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.tcard:hover img{transform:scale(1.04)}
.tcard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,16,14,0) 22%,rgba(10,16,14,.66) 52%,rgba(10,16,14,.95) 100%)}
.tcard:hover{box-shadow:inset 0 0 0 2px var(--aul)}
.tc-body{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.tc-name{font-size:30px}
.tcard.is-big .tc-name{font-size:56px}
.tc-meta{display:flex;flex-wrap:wrap;gap:2px 16px;font-size:14px;color:var(--tx2)}
.tc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px}
.tc-price{font-size:16px;font-weight:700}
.tc-free{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:650;padding:6px 12px;border-radius:20px;background:rgba(10,16,14,.72);border:1px solid rgba(159,211,190,.55)}
.tc-free.is-none{border-color:rgba(237,240,234,.25)}
.tc-free.is-none .dot{background:var(--mu)}

.bs-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:6px 0;border-top:1px solid var(--ln)}
.bt{width:66px;height:52px;border-radius:10px;border:1px solid var(--ln2);background:var(--g2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:0;transition:background-color .15s ease,border-color .15s ease,transform .15s ease,opacity .15s ease}
.bt .n{font-size:16px;line-height:1}
.bt .s{font-size:11px;color:var(--mu);line-height:1}
.bt.is-on{background:var(--au);border-color:var(--aul);color:var(--ink)}
.bt.is-on .s{color:#4A3810}
.bt.is-off{background:transparent;border-color:var(--ln);color:var(--mu)}
.bt.is-off .s{color:var(--mu)}
.bt:hover{transform:translateY(-2px);border-color:var(--tx);opacity:1}
.vcard{display:flex;flex-direction:column;gap:10px}
.vcard img{width:100%;height:250px;object-fit:cover;border-radius:14px}
.vcard figcaption{font-size:14px;color:var(--mu)}

.gbar{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:10px;align-items:center;font-size:14px;color:var(--tx2)}
.gbar .tr{height:8px;border-radius:4px;background:var(--gtr);overflow:hidden}
.gbar .tr i{display:block;height:100%;background:#FBBC04;border-radius:4px}
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px;align-items:start}
.gcard{margin:0;background:var(--gc);border:1px solid var(--gcl);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;color:var(--gtx)}
.gm{color:var(--gmu);font-size:13px}
.gav{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:18px;color:#FFFFFF;flex:0 0 40px}
.gav.c0{background:#7B1FA2}.gav.c1{background:#00796B}.gav.c2{background:#5E35B1}.gav.c3{background:#C2185B}.gav.c4{background:#3949AB}.gav.c5{background:#BF360C}
.gtext{font-size:15px;line-height:1.55;white-space:pre-line}
.gtext.is-clamp{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.gmore{background:transparent;border:0;padding:0;min-height:44px;color:var(--gb);font-weight:600;cursor:pointer;align-self:flex-start;font-size:14px}
.gmore:hover{text-decoration:underline;text-underline-offset:4px}
.greply{background:var(--grp);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}
.glink{color:var(--gb);font-weight:600;text-decoration:none}
.glink:hover{text-decoration:underline;text-underline-offset:4px;color:var(--gb)}
.ps{background:var(--g1);border:1px solid var(--ln);border-radius:22px;padding:32px;display:flex;flex-wrap:wrap;gap:32px 48px;align-items:flex-start}
.score{display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:6px;font-size:15px}
.score dd{font-weight:700}
.score::after{content:"";grid-column:1/-1;height:6px;border-radius:3px;background:linear-gradient(var(--fr),var(--fr)) left center/98% 100% no-repeat,var(--ln)}
.score.s96::after{background:linear-gradient(var(--fr),var(--fr)) left center/96% 100% no-repeat,var(--ln)}
.psq{background:var(--g2);border-radius:14px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.badge10{font-size:15px;background:var(--fr);color:var(--g0);border-radius:8px;padding:5px 9px;font-stretch:125%;font-weight:800}

.route{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:0}
.rnode{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;padding:0 8px}
.rdot{width:56px;height:56px;border-radius:50%;border:1px solid var(--ln2);background:var(--g2);display:grid;place-items:center;color:var(--tx)}
.rdot.is-home{width:76px;height:76px;margin-top:-10px;background:var(--au);border-color:var(--aul);color:var(--ink)}
.rlink{position:relative;height:56px;display:flex;align-items:center;justify-content:center}
.rlink::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:repeating-linear-gradient(90deg,var(--ln2) 0 10px,transparent 10px 16px)}
.rlink span{position:relative;background:var(--g1);padding:4px 12px;border-radius:16px;border:1px solid var(--ln2);font-size:15px}
.know{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:16px;background:var(--g2)}
.know svg{flex:0 0 auto;color:var(--aul);margin-top:2px}
.faq details{border-top:1px solid var(--ln)}
.faq details:last-child{border-bottom:1px solid var(--ln)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:19px;font-weight:650;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--au2)}
.faq .plus{width:36px;height:36px;flex:0 0 36px;border-radius:50%;border:1px solid var(--ln2);display:grid;place-items:center;transition:transform .2s ease}
.faq details[open] .plus{transform:rotate(45deg)}
.faq details p{padding:0 48px 22px 0;color:var(--mu);font-size:16px;max-width:66ch}
.final{position:relative;overflow:hidden;isolation:isolate}
.final>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.final::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,16,14,.94) 0%,rgba(10,16,14,.7) 50%,rgba(10,16,14,.35) 100%)}
.foot a{color:var(--tx2);text-decoration:none}
.foot a:hover{color:var(--au2);text-decoration:underline;text-underline-offset:4px}

.t-top{position:sticky;top:0;z-index:40;background:var(--hdr);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--ln)}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 12px;border-radius:22px;border:1px solid var(--ln2);background:transparent;cursor:pointer;font-weight:600;font-size:15px}
.back:hover{border-color:var(--tx)}
.sum{display:flex;flex-wrap:wrap;align-items:stretch;gap:4px;background:var(--g2);border:1px solid var(--ln2);border-radius:18px;padding:6px}
.sfld{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 16px;border-radius:13px;min-height:60px;background:transparent;border:0;text-align:left;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}
button.sfld:hover{background:var(--hov)}
.sfld.is-on{background:rgba(233,178,60,.12);box-shadow:inset 0 0 0 2px var(--aul)}
.sfld.nohov{cursor:default;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.sfld .k{font-size:13px;color:var(--mu);display:inline-flex;gap:6px;align-items:center}
.sfld .v{font-size:17px;font-weight:700}
.strip{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px}
.sd{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border:1px solid var(--ln);border-radius:10px;background:var(--g1);cursor:pointer;min-height:78px;justify-content:center;transition:border-color .15s ease,background-color .15s ease}
.sd:hover{border-color:var(--aul)}
.sd .w{font-size:12px;color:var(--mu);line-height:1}
.sd .d{font-size:19px;line-height:1}
.sd .p{font-size:12px;color:var(--tx2);line-height:1;font-variant-numeric:tabular-nums}
.sd.is-wk{background:var(--g2)}
.sd.is-stay{background:rgba(233,178,60,.12);border-color:rgba(233,178,60,.5)}
.sd.is-in{background:var(--au);border-color:var(--aul);color:var(--ink)}
.sd.is-in .w,.sd.is-in .p{color:#4A3810}
.sd:disabled{cursor:not-allowed;opacity:.45;border-color:var(--g2);background:transparent}
.card{display:grid;grid-template-columns:248px minmax(0,1fr) auto;gap:22px;align-items:center;width:100%;padding:12px;border:1px solid var(--ln);border-radius:18px;background:var(--g1);text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
.card:hover,.card.is-hot{border-color:var(--tx);background:var(--g2)}
.card.is-open{border-color:var(--aul);box-shadow:inset 0 0 0 1px var(--aul)}
.card img{width:248px;height:172px;object-fit:cover;border-radius:12px}
.vtp{view-transition-class:photo}
.am{display:inline-flex;gap:6px;align-items:center;font-size:13px;padding:5px 10px;border-radius:8px;background:var(--g3);color:var(--tx2)}
.cprice{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-right:10px;text-align:right}
.tile{width:58px;height:58px;border-radius:9px;border:1px solid var(--ln2);background:var(--g2);color:var(--tx);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}
.tile .tn{font-size:17px;line-height:1}
.tile .tp{font-size:12px;line-height:1;color:var(--fr);font-variant-numeric:tabular-nums}
.tile:hover,.tile.is-hot{background:var(--au);border-color:var(--aul);color:var(--ink);transform:translateY(-2px)}
.tile:hover .tp,.tile.is-hot .tp{color:var(--ink)}
.tile.is-dim{background:transparent;border-color:var(--ln);color:var(--mu)}
.tile.is-dim .tp{color:var(--mu)}
.tile.is-busy{background:repeating-linear-gradient(135deg,var(--g0) 0 5px,var(--g2) 5px 10px);border-color:var(--ln);color:var(--mu)}
.tile.is-busy .tp{color:var(--mu)}
.tile.is-busy:hover,.tile.is-busy.is-hot,.tile.is-dim:hover,.tile.is-dim.is-hot{background:var(--g3);border-color:var(--mu);color:var(--tx)}
.tile.is-busy:hover .tp,.tile.is-busy.is-hot .tp,.tile.is-dim:hover .tp,.tile.is-dim.is-hot .tp{color:var(--tx2)}
.mini{min-height:44px;padding:0 14px;border-radius:10px;border:1px dashed var(--ln2);background:transparent;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.mini:hover{border-style:solid;border-color:var(--tx)}
.cal{position:absolute;top:calc(100% - 4px);left:40px;z-index:50;width:min(800px,calc(100% - 80px));background:var(--pop);border-radius:18px;box-shadow:0 30px 70px var(--shd),0 0 0 1px var(--ln2);padding:20px 24px 18px;animation:calIn .2s cubic-bezier(.2,.8,.2,1)}
@keyframes calIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.cal-dow{font-size:12px;color:var(--mu);text-align:center;padding:4px 0 6px}
.cal-day{height:52px;border:0;border-radius:8px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:0;font-variant-numeric:tabular-nums;transition:background-color .12s ease}
.cal-day .cn{font-size:15px;font-weight:600;line-height:1}
.cal-day .cp{font-size:11px;line-height:1;color:var(--mu)}
.cal-day:hover{box-shadow:inset 0 0 0 2px var(--tx)}
.cal-day.h-mid{background:rgba(233,178,60,.10)}
.cal-day.h-low{background:rgba(233,178,60,.24)}
.cal-day.h-low .cp{color:var(--au2)}
.cal-day.is-range{background:rgba(233,178,60,.18)}
.cal-day.is-end{background:var(--au);color:var(--ink)}
.cal-day.is-end .cp{color:#4A3810}
.cal-day:disabled{background:transparent;color:var(--mu2);cursor:not-allowed;box-shadow:none}
.cal-day:disabled .cn{font-weight:400;text-decoration:line-through}
.cal-day:disabled .cp{color:var(--mu2)}
.cal-day.is-end:disabled{background:var(--au);color:var(--ink)}
.cal-day.is-end:disabled .cn{text-decoration:none;font-weight:600}
.cal-day.is-end:disabled .cp{color:#4A3810}
.rate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 16px;border:1px solid var(--ln2);border-radius:12px;cursor:pointer}
.rate.is-on{border-color:var(--aul);box-shadow:inset 0 0 0 1px var(--aul)}
.rate.is-off{cursor:not-allowed;color:var(--mu)}
.rate input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--au)}
.pop{animation:popIn .3s cubic-bezier(.2,.8,.2,1)}
@keyframes popIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.seg{display:none;gap:4px;padding:4px;border-radius:14px;background:var(--g2);border:1px solid var(--ln2)}
.seg button{flex:1 1 0;min-height:44px;border:0;border-radius:10px;background:transparent;font-weight:650;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--tx);color:var(--g0)}
.mbar{display:none}
.sh-bar{position:sticky;bottom:0;z-index:2;display:flex;flex-direction:column;gap:8px;margin:0 -20px -20px;padding:14px 20px 18px;background:var(--g1);border-top:1px solid var(--ln);border-radius:0 0 22px 22px}
.sh-cta,.sh-msg{display:none!important}

::view-transition-group(*){animation-duration:460ms;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
::view-transition-group(vt-bar){animation-duration:560ms}
::view-transition-old(root),::view-transition-new(root){animation-duration:280ms}
::view-transition-old(*.photo),::view-transition-new(*.photo){width:100%;height:100%;object-fit:cover}

.pv{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;padding:18px 22px;border-radius:16px;background:var(--g2);border:1px solid var(--ln2)}
.pv-t{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 320px}
.pv-p{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.glink-b{background:transparent;border:0;padding:0;min-height:44px;color:var(--au2);font-weight:700;cursor:pointer;font-size:15px;text-align:left}
.glink-b:hover{text-decoration:underline;text-underline-offset:4px}
.ph-hint{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;font-size:15px;color:var(--tx2);padding:4px 16px;border-radius:12px;background:var(--g2);border:1px solid var(--ln)}
.filt{display:flex;flex-wrap:wrap;gap:8px}
.filt-g{display:flex;flex-wrap:wrap;gap:8px}
.sort-m,.sum-m{display:none}
@media (max-width:1100px){
.bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:280px}
.tcard.is-big{grid-column:span 2;grid-row:span 1}
.t-top .wrap{column-gap:14px!important}
}
@media (max-width:900px){
.t-top .hd-link .mu{display:none}
}
@media (max-width:760px){
.sh-bar{display:none}
.sh-cta{display:inline-flex!important}
.sh-msg{display:block!important}
.hero header a[href="#h1"]{display:flex!important;align-items:center;min-height:44px}
.lg a{display:inline-flex;align-items:center;min-height:44px}
.foot li a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.foot ul{gap:0!important}
.hero header .wrap{column-gap:10px!important}
.hero header .wrap>div:last-child{gap:8px!important}
.hero header a[href="#h1"] img{width:132px!important;height:33px!important}
.t-top .wrap{column-gap:8px!important}
.t-top img{width:118px!important;height:30px!important}
.pv{padding:14px 16px}
.pv-p{align-items:flex-start;text-align:left}
.pv .btn-gold{flex:1 1 100%}
.sum-m{display:flex;flex:1 1 100%;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:6px 6px 6px 12px;border:0;background:transparent;color:var(--tx);text-align:left;cursor:pointer}
.sum-m-b{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;background:var(--g3);font-weight:700;font-size:15px}
.sum:not(.is-open) .sfld{display:none}
.t-list h1.disp{font-size:28px!important}
.sort-d{display:none!important}
.sort-m{display:inline-flex;flex:0 0 auto;white-space:nowrap}
.filt{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 6px;scrollbar-width:none}
.filt::-webkit-scrollbar{display:none}
.filt-g{flex-wrap:nowrap;flex:0 0 auto}
.filt .chip{flex:0 0 auto;white-space:nowrap}
.wrap{padding-left:16px;padding-right:16px}
.sec{padding-top:64px!important;padding-bottom:64px!important}
.big49{font-size:96px!important}
.t-top{position:static}
.sfld.half{flex:1 1 calc(50% - 4px)!important;padding:8px 12px}
.sfld.half .v{font-size:15px}
.fpill{flex-wrap:wrap;gap:2px 10px}
.nav,.hide-m{display:none!important}
.hero-in{min-height:0!important;padding-top:24px!important}
.h1{font-size:40px!important}
.fld{flex:1 1 100%!important;min-height:58px}
.hero-cta{flex:1 1 100%!important;min-height:58px!important}
.season img{width:64px;height:42px}
.season{min-width:64px}
.bc-grid{gap:4px}
.bc{height:68px;padding:6px 5px 7px;border-radius:9px;gap:3px}
.bc-n{font-size:16px}
.bc-from,.bc-lei,.bc-c{display:none}
.bc-p strong{font-size:12px}
.bc-tag{display:none}
.bc.is-sel .bc-n,.bc.in-stay .bc-n,.bc.is-outd .bc-n{color:var(--au2)}
.bc-dow .lg2{display:none}
.bc-dow .sh{display:inline}
.bc-dow{padding:0 2px 4px;font-size:12px;text-align:center}
.bento{grid-template-columns:minmax(0,1fr);grid-auto-rows:250px}
.tcard.is-big{grid-column:auto;grid-row:span 1}
.tcard.is-big .tc-name{font-size:36px}
.bt{width:46px;height:46px}
.bt .s{display:none}
.bs-row{grid-template-columns:30px minmax(0,1fr);gap:8px}
.vcard img{height:200px}
.route{grid-template-columns:minmax(0,1fr);gap:4px;justify-items:start}
.rnode{flex-direction:row;text-align:left;gap:14px;padding:0}
.rnode>span{align-items:flex-start!important}
.rdot.is-home{margin-top:0;width:56px;height:56px}
.rlink{height:56px;width:56px;justify-content:flex-start}
.rlink::before{left:27px;right:auto;top:0;bottom:0;height:auto;width:2px;background:repeating-linear-gradient(180deg,var(--ln2) 0 8px,transparent 8px 13px)}
.rlink span{margin-left:44px;white-space:nowrap}
.faq details p{padding-right:0}
.ps{padding:20px}
.cal{left:16px;width:calc(100% - 32px);padding:16px 12px}
.sfld{flex:1 1 100%!important}
.strip{display:flex;overflow-x:auto;padding-bottom:4px}
.sd{flex:0 0 58px}
.card{grid-template-columns:minmax(0,1fr);gap:14px;padding:10px}
.card img{width:100%;height:190px}
.cprice{align-items:flex-start;text-align:left;padding:0 4px 4px}
.cmid{padding:0 4px}
.seg{display:flex}
.v-list .t-aside{display:none!important}
.v-building .t-list{display:none!important}
.t-aside{position:static!important;max-height:none!important;flex-basis:100%!important}
.tile{width:54px;height:54px}
.mbar{display:flex;position:sticky;bottom:0;z-index:45;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--mbar);border-top:1px solid var(--ln2)}
}
/* ---------- motion ---------- */
.step:active,.chip:active,.btn-line:active,.wk:active:not(:disabled),.bc:active:not(:disabled),.season:active,.pill-gold:active{transform:scale(.96)}
.bt:active,.tile:active{transform:scale(.94)}
/* a value that just changed drops in; the list and the total it changed flash back in */
.bmp-a,.bmp-b{display:inline-block}
.bmp-a{animation:bmpA .3s cubic-bezier(.22,1,.36,1)}
.bmp-b{animation:bmpB .3s cubic-bezier(.22,1,.36,1)}
@keyframes bmpA{from{opacity:0;transform:translateY(-8px)}}
@keyframes bmpB{from{opacity:0;transform:translateY(-8px)}}
.upd-a{animation:updA .35s ease-out}
.upd-b{animation:updB .35s ease-out}
@keyframes updA{from{opacity:.3}}
@keyframes updB{from{opacity:.3}}
/* another month: the days slide in from the side you went to, all together */
.bcm-0 .bc{animation:bcm0 .3s cubic-bezier(.22,1,.36,1)}
.bcm-1 .bc{animation:bcm1 .3s cubic-bezier(.22,1,.36,1)}
.bcm-2 .bc{animation:bcm2 .3s cubic-bezier(.22,1,.36,1)}
@keyframes bcm0{from{opacity:0;transform:translateX(var(--dx))}}
@keyframes bcm1{from{opacity:0;transform:translateX(var(--dx))}}
@keyframes bcm2{from{opacity:0;transform:translateX(var(--dx))}}
/* the closest free weekend is live data: its dot breathes */
.pill-gold .dot{position:relative}
.pill-gold .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:ping 2.4s cubic-bezier(0,0,.2,1) infinite}
@keyframes ping{from{transform:scale(1);opacity:.7}70%,to{transform:scale(2.8);opacity:0}}
.faq details[open] p{animation:popIn .26s ease-out}
/* scroll-linked: only where the browser supports it; elsewhere everything simply sits in place */
@supports (animation-timeline: view()){
.hero{view-timeline:--hero block}
.hero-img{animation:heroZoom 1.8s cubic-bezier(.2,.8,.2,1) both,heroPar linear both;animation-timeline:auto,--hero;animation-range:normal,exit 0% exit 100%}
@keyframes heroPar{to{translate:0 26%}}
.bento{animation:bentoIn linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
@keyframes bentoIn{from{opacity:0;transform:translateY(56px)}}
.bld{view-timeline:--bld block}
.bld>img{animation:bldOpen linear both;animation-timeline:--bld;animation-range:entry 0% cover 55%}
@keyframes bldOpen{from{transform:scale(1.16)}}
.final{view-timeline:--fin block}
.final>img{top:-14%;height:128%;animation:finPar linear both;animation-timeline:--fin;animation-range:cover 0% cover 100%}
@keyframes finPar{from{transform:translateY(-9%)}to{transform:translateY(9%)}}
}
@media (max-width:760px){
@keyframes heroPar{to{translate:0 14%}}
@keyframes bldOpen{from{transform:scale(1.08)}}
@keyframes bentoIn{from{opacity:0;transform:translateY(32px)}}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none!important;transition:none!important}
::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
