/* Hotel & travel kit: availability bar, rooms (cards/list/feature), packages, destinations, amenities, dining & spa, illustrated gallery, offers, location; stay/search/postcard/frame heroes. After corp.css. */
.ht .art.scn{background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 10%,var(--bg)),color-mix(in srgb,var(--ac2,var(--ac)) 14%,var(--bg)))}
.ht .art.scn>svg{width:100%;height:100%;display:block}
.ht .rmi,.ht .pkm,.ht .ds,.ht .gl,.ht .dnc,.ht .frm{position:relative;overflow:hidden}
.ht .rmi .art,.ht .pkm .art,.ht .ds .art,.ht .gl .art,.ht .frm .art{position:absolute;inset:0;width:100%;height:100%}
/* rooms: cards */
.rmc{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rm{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 14px);overflow:hidden;min-width:0;transition:transform .25s,box-shadow .25s}
.rm:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(0,0,0,.1)}
.rm .rmi{aspect-ratio:4/3}
.rmpr{position:absolute;right:12px;bottom:12px;z-index:2;background:var(--bg);color:var(--fg);font-family:var(--head);font-weight:800;font-size:18px;padding:8px 14px;border-radius:99px;box-shadow:0 8px 20px rgba(0,0,0,.14)}
.rmpr small{font-family:var(--body);font-weight:600;font-size:12px;color:var(--mu);margin-left:2px}
.rmb{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1;min-width:0}
.rmb h3{font-size:20px}.rmb p{margin:0;color:var(--mu);font-size:14.5px}
.rmm{list-style:none;margin:4px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--mu);font-size:13.5px;font-weight:600}
.rmm li{display:inline-flex;gap:6px;align-items:center}.rmm .ico{width:17px;height:17px;color:var(--ac)}
/* rooms: list */
.rml{display:flex;flex-direction:column;gap:16px}
.rmr{display:grid;grid-template-columns:300px 1fr auto;gap:24px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 14px);padding:14px;min-width:0}
.rmr .rmi{aspect-ratio:16/10;border-radius:calc(var(--r) + 8px)}.rmr .rmb{padding:0}
.rmp{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-right:12px;text-align:right}
.rmp small,.rmp span{color:var(--mu);font-size:12.5px;font-weight:600}.rmp b{font-family:var(--head);font-size:28px;line-height:1.1}.rmp .btn{margin-top:10px}
/* rooms: feature */
.rmfw{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}
.rmf{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 16px);overflow:hidden;min-width:0}
.rmf .rmi{aspect-ratio:16/9}.rmt{align-self:flex-start;font-size:12px;font-weight:800;padding:6px 12px;border-radius:99px;background:color-mix(in srgb,var(--ac) 14%,var(--bg));color:var(--ac)}
.rmp2{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:auto}.rmp2 b{font-family:var(--head);font-size:30px}.rmp2 span{color:var(--mu);font-size:13px}.rmp2 .btn{margin-left:auto}
.rmsl{display:flex;flex-direction:column;gap:14px;min-width:0}
.rms{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 12px);padding:10px;flex:1}
.rms .rmi{aspect-ratio:4/3;border-radius:calc(var(--r) + 6px)}.rms h3{font-size:17px}.rms p{margin:4px 0;color:var(--mu);font-size:13.5px}.rms b{font-family:var(--head);font-size:18px;color:var(--ac)}.rms b small{font-family:var(--body);font-size:12px;color:var(--mu);font-weight:600}
/* tours */
.pkc{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pk{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 14px);overflow:hidden;min-width:0;transition:transform .25s,box-shadow .25s}
.pk:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(0,0,0,.1)}
.pk .pkm{aspect-ratio:16/11}
.pkt{position:absolute;left:12px;top:12px;z-index:2;font-size:12px;font-weight:800;letter-spacing:.04em;padding:6px 12px;border-radius:99px;background:var(--ac);color:var(--bf)}
.pkb{display:flex;flex-direction:column;gap:8px;padding:18px 22px 22px;flex:1;min-width:0}.pkb h3{font-size:20px}
.pkd,.pkb>p{display:flex;align-items:center;gap:6px;margin:0;color:var(--mu);font-size:13.5px;font-weight:600}.pkd .ico,.pkb>p .ico{width:16px;height:16px}
.pki{list-style:none;margin:2px 0 6px;padding:0;display:flex;flex-direction:column;gap:5px;font-size:14px}
.pki li{display:flex;gap:8px;align-items:center}.pki .ico{width:16px;height:16px;color:var(--ac);flex:none}
.pkp2{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);flex-wrap:wrap}
.pkp2 span{display:flex;flex-direction:column}.pkp2 small{color:var(--mu);font-size:12px;font-weight:600}.pkp2 b{font-family:var(--head);font-size:24px;line-height:1.1}.pkp2 .lnk3{margin:0}
.pkl{display:flex;flex-direction:column;gap:16px}
.pkr{display:grid;grid-template-columns:280px 1fr auto;gap:24px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 14px);padding:14px;min-width:0}
.pkr .pkm{aspect-ratio:16/10;border-radius:calc(var(--r) + 8px)}.pkr .pkb{padding:0}.pkr .pkt{position:static;align-self:flex-start}
.pkp{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-right:12px;text-align:right}.pkp small,.pkp span{color:var(--mu);font-size:12.5px;font-weight:600}.pkp b{font-family:var(--head);font-size:28px;line-height:1.1}.pkp .btn{margin-top:10px}
/* destinations */
.dsg{display:grid;gap:16px}
.dsg.dv-bento{grid-template-columns:1.3fr 1fr 1fr;grid-auto-rows:220px}.dsg.dv-bento .d0{grid-row:span 2}.dsg.dv-bento.dn4 .d3{grid-column:span 2}.dsg.dv-grid.dn4{grid-template-columns:repeat(4,1fr)}
.dsg.dv-grid{grid-template-columns:repeat(5,1fr)}.dsg.dv-grid .ds{aspect-ratio:3/4}
.ds{display:block;border-radius:calc(var(--r) + 14px);min-width:0;min-height:200px;color:#fff;isolation:isolate}
.ds::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 45%,rgba(10,12,22,.7))}
.dsc{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:flex;flex-direction:column}
.dsc b{font-family:var(--head);font-size:21px;line-height:1.15}.dsc small{opacity:.88;font-size:13.5px;font-weight:600}
.ds .art{transition:transform .5s}.ds:hover .art{transform:scale(1.05)}
/* amenities */
.amw{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}.amw>*{min-width:0}.amw.noart{grid-template-columns:1fr}
.ama{aspect-ratio:4/3.4;border-radius:calc(var(--r)*2 + 16px);overflow:hidden;position:relative;box-shadow:0 30px 60px color-mix(in srgb,var(--fg) 14%,transparent)}.ama .art{position:absolute;inset:0;width:100%;height:100%}
.amg{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.am{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 10px);padding:12px 16px}
.am i{width:46px;height:46px;flex:none;border-radius:14px;background:var(--t);display:grid;place-items:center}.am i svg{width:26px;height:26px}.am b{font-size:15px}
.amb{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;padding:22px;border-radius:calc(var(--r) + 16px);background:var(--card);border:1px solid var(--line)}
.amb span{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.amb svg{width:34px;height:34px}.amb b{font-size:13px;line-height:1.25}
/* dining & spa */
.dng{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.dnc{display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 16px);min-width:0}
.dnc>.art{position:relative;aspect-ratio:16/9;width:100%}
.dnb{padding:24px 26px 26px}.dnb h3{font-size:24px;margin:4px 0 8px}.dnb p{margin:0;color:var(--mu)}
.dnb .dnh{display:flex;align-items:center;gap:8px;margin-top:14px;font-weight:700;font-size:14px;color:var(--fg)}.dnh .ico{width:18px;height:18px;color:var(--ac)}
/* gallery */
.glg{display:grid;gap:14px;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px}
.glg.gv-mosaic .g0{grid-column:span 2;grid-row:span 2}.glg.gv-mosaic .g3,.glg.gv-mosaic .g5{grid-column:span 2}
.gl{margin:0;border-radius:calc(var(--r) + 12px);min-width:0}
.gl figcaption{position:absolute;left:12px;bottom:12px;z-index:2;font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:99px;background:color-mix(in srgb,var(--bg) 88%,transparent);color:var(--fg)}
/* offers */
.ofg{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.of{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:calc(var(--r) + 16px);background:linear-gradient(150deg,color-mix(in srgb,var(--oc) 16%,var(--card)),var(--card));border:1px solid var(--line);min-width:0}
.of.o1{background:linear-gradient(150deg,var(--oc),color-mix(in srgb,var(--oc) 70%,#000));color:#fff;border-color:transparent}.of.o1 p{color:rgba(255,255,255,.85)}.of.o1 .lnk3{color:#fff}.of.o1 .oft{background:rgba(255,255,255,.18);color:#fff}
.ofb{position:absolute;right:-50px;top:-50px;width:160px;height:160px;border-radius:50%;border:22px solid color-mix(in srgb,var(--oc) 22%,transparent)}
.oft{align-self:flex-start;display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:800;padding:6px 12px;border-radius:99px;background:color-mix(in srgb,var(--oc) 16%,var(--bg));color:var(--oc)}.oft .ico{width:15px;height:15px}
.of h3{font-size:22px}.of p{margin:0;color:var(--mu)}
.ofp{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;flex-wrap:wrap}.ofp b{font-family:var(--head);font-size:22px}.ofp .lnk3{margin:0}
/* location */
.nrl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.nrl li{display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 8px);padding:12px 14px;font-size:13px;color:var(--mu);min-width:0}
.nrl .ico{width:20px;height:20px;color:var(--ac);margin-bottom:4px}.nrl b{color:var(--fg);font-size:14px}
/* hero: stay */
.hx-stay{padding:18px 0 0}
.stv{position:relative;border-radius:calc(var(--r)*2 + 18px);overflow:hidden;min-height:min(640px,calc(100vh - 120px));display:flex;align-items:center}
.stv>.art{position:absolute;inset:0;width:100%;height:100%}
.stv::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,22,.78),rgba(8,12,22,.45) 50%,rgba(8,12,22,.05) 85%)}
.stx{position:relative;z-index:2;padding:70px 56px 120px;max-width:700px;color:#fff}.stx h1{font-size:clamp(42px,5.6vw,84px);margin-bottom:18px}.stx .sub{color:rgba(255,255,255,.86)}
.stx h1 em{color:color-mix(in srgb,var(--ac2,var(--ac)) 70%,#fff)}.stx .b2{color:#fff;border-color:rgba(255,255,255,.6)}
.stv .isc{z-index:3}.stv .isc.c1{left:auto;right:28px;bottom:120px}.stv .isc.c2{right:28px;top:28px}
.hx-stay+.bkb.over{margin-top:-60px}
/* hero: search */
.hx-srch{position:relative;overflow:hidden;padding:40px 0 56px}
.hx-srch h1,.hx-pc h1,.hx-frm h1{font-size:clamp(40px,5.2vw,76px);margin-bottom:20px}
.srf{margin:26px 0 12px;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--r) + 16px);padding:10px;box-shadow:0 20px 50px rgba(0,0,0,.08);max-width:600px}
.srt{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.srt span{display:inline-flex;gap:6px;align-items:center;font-size:13.5px;font-weight:700;padding:8px 14px;border-radius:99px;color:var(--mu)}.srt span.on{background:var(--ac);color:var(--bf)}.srt .ico{width:16px;height:16px}
.srr{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.srr label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mu);min-width:0}
.srr select,.srr input{min-height:48px;border-radius:var(--br,var(--r));border:1.5px solid var(--line);background:var(--bg);padding:0 12px;font-size:15px;color:var(--fg);width:100%;min-width:0;font-family:var(--body);text-transform:none;letter-spacing:0}
.srr .btn{min-height:48px;display:inline-flex;gap:8px;align-items:center}.srr .btn .ico{width:18px;height:18px}
/* hero: postcard */
.hx-pc{position:relative;overflow:hidden;padding:46px 0 64px}
.pcs{position:relative;aspect-ratio:1/0.9;max-width:600px;width:100%;margin-left:auto}
.pcd{position:absolute;background:#fff;padding:10px 10px 38px;border-radius:8px;box-shadow:0 24px 50px rgba(0,0,0,.18)}
.pcd .art{position:relative;inset:auto;display:block;width:100%;aspect-ratio:4/3;height:auto;border-radius:4px;overflow:hidden}
.pcd span{position:absolute;left:14px;bottom:10px;font-family:var(--head);font-size:15px;color:#1d1a17}
.pcd.p0{width:64%;left:2%;top:4%;transform:rotate(-6deg);z-index:2}.pcd.p1{width:50%;right:0;top:0;transform:rotate(5deg);z-index:1}.pcd.p2{width:54%;right:6%;bottom:0;transform:rotate(-2deg);z-index:3}
.pcst{position:absolute;left:4%;bottom:6%;z-index:4;width:84px;height:96px;background:var(--bg);border:3px dashed var(--ac);border-radius:6px;display:grid;place-items:center;transform:rotate(8deg)}.pcst svg{width:46px;height:46px}
.kch{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.kch span{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:99px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:14px}.kch .ico{width:18px;height:18px;color:var(--ac)}
/* hero: frame */
.hx-frm{position:relative;overflow:hidden;padding:46px 0 64px}
.frg{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}.frg>*{min-width:0}
.frv{position:relative;max-width:540px;width:100%}
.frm{aspect-ratio:4/5;border-radius:999px 999px calc(var(--r) + 16px) calc(var(--r) + 16px);box-shadow:0 34px 70px color-mix(in srgb,var(--fg) 18%,transparent);border:10px solid var(--card);z-index:1}
.frb{position:absolute;inset:8% -8% -6% 10%;border-radius:999px 999px 30px 30px;background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 30%,transparent),color-mix(in srgb,var(--ac2,var(--ac)) 34%,transparent));z-index:-1}
.frv .isc.c1{left:-20px;bottom:14%}.frv .isc.c2{right:-20px;top:12%}
@media (max-width:1100px){.rmc,.pkc,.ofg{grid-template-columns:1fr 1fr}.dsg.dv-grid{grid-template-columns:repeat(3,1fr)}.dsg.dv-grid.dn4{grid-template-columns:1fr 1fr}.amb{grid-template-columns:repeat(4,1fr)}.rmr,.pkr{grid-template-columns:220px 1fr auto}}
@media (max-width:900px){.rmfw,.amw,.dng,.frg{grid-template-columns:1fr;gap:28px}.rmr,.pkr{grid-template-columns:1fr}.rmp,.pkp{align-items:flex-start;text-align:left;padding:0 4px 6px}
 .dsg.dv-bento{grid-template-columns:1fr 1fr}.dsg.dv-bento .d0{grid-row:auto;grid-column:span 2}.dsg.dv-bento.dn4 .d3{grid-column:span 2}
 .glg{grid-template-columns:1fr 1fr}.glg.gv-mosaic .g0,.glg.gv-mosaic .g3{grid-column:span 2}.glg.gv-mosaic .g0{grid-row:span 1}.glg.gv-mosaic .g5{grid-column:auto}
 .stx{padding:50px 28px 130px}.stv::after{background:linear-gradient(180deg,rgba(8,12,22,.5),rgba(8,12,22,.75))}.pcs{margin:0 auto;max-width:520px}.frv{margin:0 auto}}
@media (max-width:560px){.rmc,.pkc,.ofg,.amg,.nrl{grid-template-columns:1fr}.dsg.dv-grid,.dsg.dv-grid.dn4,.dsg.dv-bento{grid-template-columns:1fr}.dsg.dv-bento .d0,.dsg.dv-bento.dn4 .d3{grid-column:auto}.dsg.dv-grid .ds{aspect-ratio:4/3}
 .amb{grid-template-columns:repeat(2,1fr)}.rms{grid-template-columns:110px 1fr}.glg{grid-auto-rows:160px}.srr{grid-template-columns:1fr}
 .stv .isc{display:none}.stx{padding:36px 22px 110px}.frm{aspect-ratio:4/4.6}.frv .isc.c1{left:0}.frv .isc.c2{right:0}.pcst{width:64px;height:74px}.pcst svg{width:34px;height:34px}}
/* full hero: always a dark scrim so white text reads on light palettes */
.ht .hx-full .bgp::after{background:linear-gradient(90deg,rgba(8,12,22,.84) 0,rgba(8,12,22,.6) 46%,rgba(8,12,22,.1) 82%)}
.ht .hx-full h1,.ht .hx-full .sub{color:#fff}
.ht .hx-full h1 em,.ht .hx-bento .tx h1 em{color:color-mix(in srgb,var(--ac2,var(--ac)) 65%,#ffffff)}
@media (max-width:900px){.ht .hx-full .bgp::after{background:linear-gradient(180deg,rgba(8,12,22,.55),rgba(8,12,22,.82))}}
