 

:root{
  --scroll-length: 500vh;           
  --ease: cubic-bezier(.22,.61,.36,1);

  --ground:  #121110;               
  --conifer: #1c1a18;
  --linen:   #eae8e4;

   
  --lime:     #ecdcbe;
  --lime-rgb: 236,220,190;
  --ink:     #141310;

  --t-hi:  #f4f2ee;                 
  --t-mid: rgba(234,232,227,.72);
  --t-low: rgba(234,232,227,.46);
  --line:  rgba(234,232,227,.14);

   
  --track-accent: .28em;

  --display: "Cormorant Garamond", Georgia, serif;    
  --sans:    "Archivo", "Helvetica Neue", Arial, system-ui, sans-serif;
  --data:    "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--ground);
  color:var(--linen);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,p,ul,ol{ margin:0; }
ul,ol{ list-style:none; padding:0; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
a{ color:inherit; text-decoration:none; }

 
.preloader{
  position:fixed; inset:0; z-index:100;
  background:var(--conifer);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .8s var(--ease), visibility .8s;
}
.preloader.is-done{ opacity:0; visibility:hidden; }
.preloader__inner{ text-align:center; width:min(320px, 74vw); }
.preloader__logo{
  font-family:var(--data); font-weight:400;
  font-size:12px; letter-spacing:.34em;
  color:var(--lime);
  margin-bottom:26px; padding-left:.34em;
}
.preloader__bar{
  height:1px; width:100%;
  background:rgba(234,232,227,.16);
  overflow:hidden;
}
.preloader__bar span{
  display:block; height:100%; width:0;
  background:var(--lime);
  transition:width .3s var(--ease);
}
.preloader__pct{
  margin-top:14px;
  font-family:var(--data); font-size:10px; letter-spacing:.2em;
  color:var(--t-low);
}

 
.hero{ position:relative; height:var(--scroll-length); }
.hero__stage{
   
  position:fixed; inset:0; height:100vh; overflow:hidden; z-index:0;
}
 
#chapters{ position:relative; z-index:5; background:var(--ground); }
.pfoot{ position:relative; z-index:5; }
 
body.hero-hidden .hero__stage{ visibility:hidden; }
.hero__canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.hero__scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(13,12,11,.55) 0%, rgba(13,12,11,0) 26%, rgba(13,12,11,0) 52%, rgba(13,12,11,.72) 100%);
}
.hero__ui{
  position:absolute; inset:0; z-index:3;
  display:flex; flex-direction:column;
  will-change:opacity, transform;
}

 
.nav{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:clamp(18px,3vh,30px) clamp(18px,3vw,40px);
}
.nav__pill{
  display:flex; align-items:center; gap:clamp(20px,3vw,44px);
  padding:12px clamp(20px,2.2vw,30px);
  border:1px solid rgba(234,232,227,.16); border-radius:100px;
  background:rgba(24,22,20,.4);
  backdrop-filter:blur(14px) saturate(120%);
}
.brand{ display:flex; flex-direction:column; align-items:center; line-height:1; }
.brand__word{
  font-family:var(--display); font-weight:600;
  font-size:19px; letter-spacing:.16em; color:var(--t-hi);
}
.brand__line{
  font-family:var(--data); font-size:8px; letter-spacing:.42em;
  color:var(--t-low); margin-top:4px;
}
 
.nav--duo{
   
  position:fixed; top:0; left:0; right:0; z-index:2;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
}
 
.nav--duo .duo{ grid-column:2; }
.nav--duo .nav__cta{ grid-column:3; justify-self:end; }

 
.nav--duo .nav__cta{ white-space:nowrap; }

.duo{
  display:flex; align-items:stretch; justify-self:center;
  border:1px solid rgba(234,232,227,.16); border-radius:100px;
  background:rgba(24,22,20,.42);
  backdrop-filter:blur(14px) saturate(120%);
  overflow:hidden;
}
.duo__half{
  position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  line-height:1; padding:12px 28px; min-width:170px;
  text-decoration:none;
  transition:opacity .25s var(--ease), background .25s var(--ease);
}
.duo__half:hover{ background:rgba(255,255,255,.05); }
.duo__half + .duo__half{ border-left:1px solid rgba(234,232,227,.16); }
.duo__half::after{
  content:""; position:absolute; left:22%; right:22%; bottom:0; height:2px;
  border-radius:2px 2px 0 0;
}
 
.duo__half--sw .duo__word{ font-family:var(--display); font-weight:600; font-size:19px; letter-spacing:.16em; color:var(--t-hi); }
.duo__half--sw .duo__sub{ font-family:var(--data); font-size:8px; letter-spacing:.42em; color:var(--t-low); margin-top:4px; }
.duo__half--sw::after{ background:var(--lime); }
 
.duo__half--ms .duo__word{ font-family:"Instrument Serif",Georgia,serif; font-weight:400; font-size:21px; letter-spacing:.04em; color:#f6f4f1; }
.duo__half--ms .duo__sub{ font-family:"Schibsted Grotesk",ui-sans-serif,-apple-system,sans-serif; font-size:9px; letter-spacing:.34em; text-transform:uppercase; color:rgba(246,244,241,.62); margin-top:4px; }
.duo__half--ms::after{ background:#a8cadb; }
 
.duo__half--away{ opacity:.45; }
.duo__half--away:hover{ opacity:.85; }
.duo__half--away .duo__sub::after{ content:"  \2192"; letter-spacing:0; }
 
.duo__half--away:not([href]){ cursor:default; }
.duo__half--away:not([href]):hover{ opacity:.45; background:none; }
.duo__half--away:not([href]) .duo__sub::after{ content:none; }

.nav__links{ display:flex; gap:clamp(14px,1.6vw,26px); }
.nav__links a{
  position:relative;
  font-family:var(--data); font-size:10.5px; letter-spacing:var(--track-accent); text-transform:uppercase;
  color:var(--t-mid);
  padding:3px 0;
  transition:color .3s var(--ease);
}
 
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:-1px;
  width:100%; height:1px;
  background:var(--lime);
  transform:scaleX(0); transform-origin:right center;
  transition:transform .38s var(--ease);
}
.nav__links a:hover{ color:var(--lime); }
.nav__links a:hover::after{ transform:scaleX(1); transform-origin:left center; }
.nav__cta{
  padding:14px 24px;
  border-radius:100px;
  background:var(--lime); color:var(--ink);
  border:1px solid var(--lime);
  font-family:var(--data); font-size:10.5px; letter-spacing:var(--track-accent); text-transform:uppercase;
  white-space:nowrap;
   
  transition:background .3s var(--ease), color .3s var(--ease),
             border-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
  box-shadow:0 10px 30px -10px rgba(0,0,0,.6);
}
.nav__cta:hover{
  background:var(--ground); color:var(--lime); border-color:var(--lime);
  transform:translateY(-1px);
  box-shadow:0 16px 40px -10px rgba(0,0,0,.55);
}
.nav__cta:active{ transform:scale(.97); }

 
.hero__signature{
  margin-top:auto;
   
  padding:0 clamp(24px,4vw,64px) clamp(150px,20vh,210px);
  text-align:center;
  animation:sigReveal 1.1s var(--ease) .3s both;
}
@keyframes sigReveal{
  from{ opacity:0; transform:translateY(22px); filter:blur(9px); }
  to  { opacity:1; transform:none; filter:blur(0); }
}
.hero__title{
  font-family:var(--display); font-weight:500;
  font-size:clamp(38px,6.4vw,88px); line-height:1;
  letter-spacing:.006em; color:#fff;
  text-shadow:0 2px 40px rgba(0,0,0,.4);
}
.hero__sub{
  display:flex; align-items:center; justify-content:center; gap:16px;
  margin-top:18px;
  font-family:var(--data); font-size:10.5px; letter-spacing:var(--track-accent); text-transform:uppercase;
  color:rgba(234,232,227,.8); padding-left:.34em;
}
.hero__sub span{ width:clamp(26px,3.4vw,48px); height:1px; }
.hero__sub span:first-child{ background:linear-gradient(90deg, transparent, rgba(234,232,227,.6)); }
.hero__sub span:last-child { background:linear-gradient(90deg, rgba(234,232,227,.6), transparent); }

 
.hero__phrases{ position:absolute; inset:0; z-index:2; pointer-events:none; }
.hero__phrase{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:clamp(18px,2.6vh,28px);
  text-align:center; padding:0 clamp(24px,6vw,80px);
  opacity:0;
  will-change:opacity, transform;
}
.phrase__kicker{
  display:flex; align-items:center; gap:18px;
  font-family:var(--data); font-size:clamp(10px,.85vw,12px);
  letter-spacing:.42em; text-transform:uppercase;
  color:rgba(var(--lime-rgb),.86); padding-left:.42em;
}
.phrase__kicker::before,.phrase__kicker::after{ content:""; width:clamp(26px,3vw,42px); height:1px; }
.phrase__kicker::before{ background:linear-gradient(90deg, transparent, rgba(var(--lime-rgb),.6)); }
.phrase__kicker::after { background:linear-gradient(90deg, rgba(var(--lime-rgb),.6), transparent); }
.phrase__text{
  font-family:var(--display); font-weight:500;
  font-size:clamp(32px,4.8vw,70px); line-height:1.14;
  color:var(--t-hi); max-width:22ch;
  text-shadow:0 2px 34px rgba(0,0,0,.55);
}
.phrase__text em{ font-style:italic; opacity:.92; }

 
.cue{
  position:absolute; left:50%; bottom:clamp(22px,4vh,40px); z-index:4;
  transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
  width:max-content; max-width:calc(100vw - 32px);
  padding:0; border:0; background:none; cursor:pointer;
  transition:opacity .6s var(--ease), transform .6s var(--ease);
  animation:cueIn 1s var(--ease) 1.1s both;
}
@keyframes cueIn{ from{ opacity:0; transform:translate(-50%,14px);} to{ opacity:1; transform:translate(-50%,0);} }
.cue.is-hidden{ opacity:0; pointer-events:none; transform:translate(-50%,14px); }
.cue__pill{
  background:var(--lime); color:var(--ink);
  font-family:var(--sans); font-size:clamp(12px,1.04vw,14.5px); font-weight:600;
  padding:10px 18px; border-radius:999px; white-space:nowrap;
  box-shadow:0 10px 30px -8px rgba(0,0,0,.6);
}
.cue__chev{
  width:21px; height:21px; margin-top:-6px;
  border-right:3px solid var(--lime); border-bottom:3px solid var(--lime);
  transform:rotate(45deg); animation:cueNudge 1.4s var(--ease) infinite;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));
  margin-bottom:8px;    
}
@keyframes cueNudge{ 0%,100%{ transform:translateY(0) rotate(45deg); opacity:1; } 50%{ transform:translateY(8px) rotate(45deg); opacity:.55; } }
.cue__hint{ font-family:var(--sans); font-size:14px; color:var(--t-hi); text-shadow:0 1px 6px rgba(0,0,0,.75); }
.cue.is-pulse .cue__pill{ animation:cuePulse 1s var(--ease) 2; }
@keyframes cuePulse{ 50%{ transform:scale(1.08); } }
.cue:focus-visible .cue__pill{ outline:2px solid var(--linen); outline-offset:3px; }
.filmbar{
  position:absolute; top:0; left:0; right:0; z-index:4; height:4px;
  background:rgba(234,232,227,.16); transition:opacity .4s ease;
}
.filmbar.is-hidden{ opacity:0; }
.filmbar span{ display:block; height:100%; width:0%; background:var(--lime); }
.skipfilm{
  position:absolute; z-index:4; right:clamp(16px,4vw,46px); bottom:clamp(22px,4vh,40px);
  border:1px solid rgba(234,232,227,.4); background:rgba(0,0,0,.45); color:var(--t-hi);
  backdrop-filter:blur(6px); border-radius:999px; padding:10px 18px; cursor:pointer;
  font-family:var(--sans); font-size:14px; font-weight:600;
  transition:opacity .4s ease, border-color .3s var(--ease);
}
.skipfilm:hover{ border-color:var(--lime); }
.skipfilm.is-hidden{ opacity:0; pointer-events:none; }
 
@media (max-width: 640px){
  .skipfilm{ top:calc(var(--nav-h, 120px) + 12px); bottom:auto; right:16px; font-size:13px; padding:8px 14px; }
  .cue{ bottom:14px; gap:6px; }
  .cue__pill{ font-size:12px; padding:8px 14px; }
  .cue__chev{ width:16px; height:16px; margin-top:-5px; margin-bottom:7px; }
  .cue__hint{ font-size:13px; }
}

 
section:not(.hero){
  position:relative; z-index:5;
  padding:clamp(84px,13vh,150px) clamp(24px,7vw,120px);
  background:var(--ground);
  overflow:hidden;
}
.sec__index{
  position:absolute; top:clamp(20px,4vh,54px); right:clamp(24px,4vw,72px);
  z-index:1; pointer-events:none;
  font-family:var(--display); font-weight:500;
  font-size:clamp(70px,11vw,168px); line-height:1;
  color:transparent;
  -webkit-text-stroke:1px rgba(var(--lime-rgb),.16);
}
.sec__index--left{ right:auto; left:clamp(24px,4vw,72px); }

.eyebrow{
  display:flex; align-items:center; gap:14px;
  font-family:var(--data); font-size:10.5px; letter-spacing:var(--track-accent); text-transform:uppercase;
  color:rgba(var(--lime-rgb),.82); padding-left:.3em;
  margin-bottom:20px;
}
.eline{ width:clamp(24px,3vw,40px); height:1px; background:linear-gradient(90deg, rgba(var(--lime-rgb),.7), transparent); }

.sec__title{
  font-family:var(--display); font-weight:500;
  font-size:clamp(30px,4.2vw,62px); line-height:1.08;
  color:var(--t-hi);
}
.sec__title em{ font-style:italic; color:var(--lime); opacity:.95; }

.vrule{
  display:block; width:1px; height:clamp(34px,5vh,56px);
  background:linear-gradient(180deg, rgba(var(--lime-rgb),.6), transparent);
  margin:26px 0;
}

 
.reveal{
  opacity:0; transform:translateY(30px); filter:blur(8px);
  transition:opacity 1.1s var(--ease), transform 1.1s var(--ease), filter 1.1s var(--ease);
  transition-delay:var(--d, 0s);
}
.reveal.in{ opacity:1; transform:none; filter:blur(0); }

[data-unverified]{
  border-left:2px solid rgba(var(--lime-rgb),.5);
  padding-left:14px;
  font-size:13.5px; color:var(--t-low);
}

 
.about__inner{
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,6vw,90px); align-items:center;
}
.about__body p{ color:var(--t-mid); font-size:clamp(15px,1.1vw,17px); line-height:1.7; margin-bottom:18px; }
.about__body strong{ color:var(--linen); font-weight:600; }
.astats{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(234,232,227,.12); border:1px solid rgba(234,232,227,.12); }
.astat{
  background:linear-gradient(165deg, rgba(34,31,28,.66), rgba(16,15,14,.6));
  backdrop-filter:blur(12px) saturate(115%);
  padding:clamp(24px,3vw,38px); text-align:center;
}
.astat__num{
  display:block;
  font-family:var(--display); font-weight:500; font-size:clamp(38px,4.6vw,64px); line-height:1;
  color:var(--lime);
}
.astat__lab{
  display:block; margin-top:10px;
  font-family:var(--data); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase;
   
  color:var(--t-mid);
}

 
.props__inner{ max-width:1180px; margin:0 auto; }
.props__lede{ color:var(--t-mid); max-width:56ch; font-size:15.5px; line-height:1.7; }
.props__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,26px); margin-top:clamp(40px,6vh,70px); }
.prop{
  position:relative; isolation:isolate; overflow:hidden;
  min-height:clamp(280px,32vh,360px);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:clamp(26px,3vw,38px);
  border:1px solid var(--line); border-radius:16px;
  background:linear-gradient(165deg, rgba(42,39,35,.42), rgba(18,17,16,.34));
  transition:border-color .5s var(--ease), transform .5s var(--ease);
}
.prop:hover{ border-color:rgba(var(--lime-rgb),.4); transform:translateY(-3px); }

 
.prop__media{
  position:absolute; inset:0; z-index:-2;
  background-size:cover; background-position:center;
  transform:scale(1.04);
  transition:transform .9s var(--ease);
}
.prop:hover .prop__media,
.prop:focus-within .prop__media{ transform:scale(1); }
 
.prop__scrim{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(18,17,16,0) 0%, rgba(18,17,16,0) 28%, rgba(18,17,16,.5) 58%, rgba(14,13,12,.86) 100%);
}

.prop__idx{ font-family:var(--data); font-size:10px; letter-spacing:.2em; color:rgba(var(--lime-rgb),.75); }
.prop__name{ font-family:var(--display); font-weight:500; font-size:clamp(21px,2vw,28px); margin:12px 0 10px; color:var(--t-hi); text-shadow:0 2px 18px rgba(0,0,0,.6); }
.prop__meta{ font-size:13.5px; color:rgba(234,232,227,.92); line-height:1.6; text-shadow:0 1px 12px rgba(0,0,0,.6); }
.prop__price{
  display:block; margin-top:20px;
  font-family:var(--display); font-size:26px; color:var(--lime);
}
.prop__price em{ font-family:var(--data); font-style:normal; font-size:10px; letter-spacing:.14em; color:var(--t-low); }
 
.prop__price i, .pick__rate i{ font-family:var(--data); font-style:normal; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--t-low); margin-right:4px; }

 
.dests__inner{
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(30px,4vw,70px);
  grid-template-areas:"head map" "list map";
  align-items:start;
}
.dests__head{ grid-area:head; }
.dests__list{ grid-area:list; }
.dests__map{ grid-area:map; }
.dests__note{ color:var(--t-low); font-size:14px; line-height:1.6; }
.dests__list{ margin-top:26px; display:flex; flex-direction:column; }
.dests__list button{
  width:100%;
  display:flex; align-items:center; gap:16px;
  padding:15px 4px;
  border-top:1px solid var(--line);
  text-align:left;
  transition:padding-left .45s var(--ease);
}
.dests__list li:last-child button{ border-bottom:1px solid var(--line); }
.dl__idx{ font-family:var(--data); font-size:9.5px; letter-spacing:.14em; color:var(--t-low); width:22px; flex:none; transition:color .45s var(--ease); }
.dl__name{ font-family:var(--display); font-size:clamp(17px,1.6vw,22px); color:var(--t-mid); flex:1; transition:color .45s var(--ease); }
.dl__arrow{ opacity:0; transform:translateX(-8px); color:var(--lime); transition:opacity .45s var(--ease), transform .45s var(--ease); }
.dests__list button.is-active{ padding-left:12px; }
.dests__list button.is-active .dl__name{ color:var(--t-hi); }
.dests__list button.is-active .dl__idx{ color:var(--lime); }
.dests__list button.is-active .dl__arrow{ opacity:1; transform:none; }
.dests__list button.is-home .dl__idx{ color:var(--lime); }

.dests__map svg{ width:100%; height:auto; display:block; overflow:visible; }
 
.map__land{
  fill:url(#mapDots); fill-opacity:0;
  stroke:rgba(var(--lime-rgb),.55); stroke-width:1.2;
  stroke-linejoin:round; stroke-linecap:round;
  stroke-dasharray:1; stroke-dashoffset:1;
  transition:stroke-dashoffset 2.6s var(--ease) .15s, fill-opacity 1.8s var(--ease) 1.5s;
}
.reveal.in .map__land, .dests__map.in .map__land{ stroke-dashoffset:0; fill-opacity:1; }
 
.map__land--isle{ transition-delay:.9s, 2.1s; }
.map__lough{
  fill:rgba(18,17,16,.9);
  stroke:rgba(var(--lime-rgb),.34); stroke-width:1;
  stroke-dasharray:1; stroke-dashoffset:1;
  transition:stroke-dashoffset 1.6s var(--ease) 1.5s;
}
.dests__map.in .map__lough{ stroke-dashoffset:0; }
.map__compass text{ font-family:var(--data); font-size:11px; fill:var(--t-low); letter-spacing:.1em; }
.map__compass line{ stroke:rgba(234,232,227,.3); stroke-width:1; }

.marker{
  cursor:pointer; opacity:0;
  transition:opacity .9s var(--ease);
  transition-delay:calc(1.4s + var(--i,0) * .14s);
}
.dests__map.in .marker{ opacity:1; }
.marker circle{ transform-box:fill-box; transform-origin:center; }
.mk__hit{ fill:transparent; }
.mk__dot{ fill:var(--lime); opacity:.5; transition:opacity .45s var(--ease), transform .45s var(--ease), filter .45s var(--ease); }
.mk__ring{ fill:none; stroke:var(--lime); stroke-width:1; opacity:0; transform:scale(.4); }
.mk__line{ stroke:rgba(var(--lime-rgb),.4); stroke-width:1; opacity:0; transition:opacity .45s var(--ease); }
 
.mk__label{
  font-family:var(--data); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  fill:var(--t-low);
  opacity:0;
  transition:fill .45s var(--ease), opacity .35s var(--ease);
}
.marker:hover .mk__dot{ opacity:.95; }
.marker:hover .mk__label{ fill:var(--t-mid); opacity:1; }
.marker.is-active .mk__dot{ opacity:1; transform:scale(1.5); filter:drop-shadow(0 0 8px rgba(var(--lime-rgb),.9)); }
.marker.is-active .mk__ring{ animation:mkPulse 2.3s var(--ease) infinite; }
.marker.is-active .mk__line{ opacity:1; }
.marker.is-active .mk__label{ fill:var(--t-hi); opacity:1; }
@keyframes mkPulse{ 0%{ transform:scale(.4); opacity:.75; } 75%,100%{ transform:scale(1.5); opacity:0; } }
 
.marker--home .mk__dot{ opacity:1; fill:var(--lime); filter:drop-shadow(0 0 10px rgba(var(--lime-rgb),.85)); }
.marker--home .mk__ring{ animation:mkPulse 2.6s var(--ease) infinite; }
.marker--home .mk__line{ opacity:1; }
 
.mk__label--home{ fill:var(--lime); font-size:11.5px; opacity:1; }

 
.xp__inner{
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(40px,6vw,90px); align-items:center;
}
.xp__body p{ color:var(--t-mid); font-size:clamp(15px,1.1vw,17px); line-height:1.7; margin-bottom:18px; }
.xp__body strong{ color:var(--linen); font-weight:600; }
.phone{
  justify-self:center;
  width:clamp(240px,20vw,292px);
  aspect-ratio:9/19.2;
  border-radius:clamp(40px,3.6vw,50px);
  background:linear-gradient(160deg,#3a3a3d,#131315 40%,#2c2c30);
  padding:10px;
  box-shadow:0 60px 110px -34px rgba(0,0,0,.85), 0 24px 46px -22px rgba(0,0,0,.7),
             inset 0 1px 1px rgba(255,255,255,.3), inset 0 -1px 1px rgba(255,255,255,.1);
  animation:phoneFloat 7s ease-in-out infinite;
}
@keyframes phoneFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
.phone__screen{
  position:relative; height:100%; width:100%;
  background:#fff; color:#1b1b1b;
  border-radius:clamp(31px,2.8vw,40px);
  overflow:hidden; display:flex; flex-direction:column;
  font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", sans-serif;
  text-align:left;
}
.phone__island{ position:absolute; top:9px; left:50%; transform:translateX(-50%); width:31%; height:20px; border-radius:20px; background:#000; z-index:6; }
.ph-status{ display:flex; justify-content:space-between; align-items:center; padding:9px 20px 4px; font-size:11.5px; font-weight:600; }
.ph-sig{ letter-spacing:-1px; font-size:10px; }
.ph-scroll{ flex:1; overflow:hidden; position:relative; }
.ph-inner{ padding:6px 14px 18px; will-change:transform; }
.ph-head{ padding:10px 2px 14px; }
.ph-kicker{ font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:#83817d; }
.ph-title{ font-size:17px; font-weight:650; margin-top:5px; color:#17150f; }
.ph-card{ border:1px solid #e9e7e3; border-radius:14px; overflow:hidden; margin-bottom:12px; background:#fff; }
.ph-card__img{ height:96px; background-size:cover; background-position:center; }
.ph-card__img[data-lodge="lakeview"]{ background-image:url("../frames/desktop/frame-0120.webp"); }
.ph-card__img[data-lodge="studio"]{ background-image:url("../frames/desktop/frame-0040.webp"); }
.ph-card__body{ padding:11px 13px 13px; }
.ph-card__name{ font-size:13.5px; font-weight:650; color:#17150f; }
.ph-card__meta{ font-size:11px; color:#757370; margin-top:3px; }
.ph-card__price{ font-size:13px; font-weight:650; margin-top:8px; color:#1c1a18; }
.ph-card__price span{ font-weight:400; font-size:10.5px; color:#918f8b; }
.ph-notifs{ padding-top:8px; }
.ph-sec{ font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:#918f8b; margin:14px 2px 10px; }
.ph-nt{ display:flex; gap:10px; align-items:flex-start; padding:11px 2px; border-top:1px solid #efedea; }
.ph-nt__dot{ width:7px; height:7px; border-radius:50%; background:#c8c5c0; margin-top:5px; flex:none; }
.ph-nt__dot.is-credit{ background:#7a5f24; box-shadow:0 0 8px rgba(122,95,36,.5); }
.ph-nt__t{ font-size:12.5px; font-weight:600; color:#17150f; }
.ph-nt__s{ font-size:11px; color:#7d7b78; margin-top:2px; }
.ph-tabs{
  display:flex; justify-content:space-around; align-items:center;
  padding:10px 6px 16px; border-top:1px solid #eceee7; background:#fbfaf8;
  font-size:8.5px; letter-spacing:.04em; color:#9d9b97;
}
.ph-tabs .is-on{ color:#1c1a18; font-weight:700; }

 
.svc__inner{
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(30px,4vw,70px); align-items:center;
}
.svc__lede{ color:var(--t-mid); font-size:15.5px; line-height:1.7; max-width:46ch; }
.svc__flag{ margin-top:18px; }
.svc__dial{ position:relative; }
.svc__dial svg{ width:100%; height:auto; display:block; overflow:visible; }
.dial__base{
  fill:none; stroke:rgba(234,232,227,.2); stroke-width:1.1;
  stroke-dasharray:1; stroke-dashoffset:1;
  transition:stroke-dashoffset 2.4s var(--ease) .2s;
}
.svc__dial.in .dial__base{ stroke-dashoffset:0; }
.dial__inner{ fill:none; stroke:rgba(234,232,227,.07); stroke-width:1; opacity:0; transition:opacity 1.4s var(--ease) 1.6s; }
.svc__dial.in .dial__inner{ opacity:1; }
 
.dial__arc{
  fill:none; stroke:rgba(var(--lime-rgb),.85); stroke-width:1.8; stroke-linecap:round;
  stroke-dasharray:0 5;
  transition:stroke-dasharray .95s var(--ease);
  filter:drop-shadow(0 0 6px rgba(var(--lime-rgb),.4));
}
.dial__arc.no-t{ transition:none; }
.dial__center{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; text-align:center; padding:0 30%;
  pointer-events:none;
}
.dial__center > *{ transition:opacity .26s var(--ease), transform .26s var(--ease); }
.dial__center.is-swap > *{ opacity:0; transform:translateY(7px); }
.dial__num{ font-family:var(--data); font-size:11px; letter-spacing:.34em; color:rgba(var(--lime-rgb),.6); padding-left:.34em; }
.dial__sep{ width:26px; height:1px; background:rgba(234,232,227,.3); }
.dial__name{
  font-family:var(--display); font-weight:500;
  font-size:clamp(18px,1.9vw,27px); line-height:1.28; color:var(--t-hi);
}
.dstep{ cursor:pointer; opacity:0; transition:opacity .8s var(--ease); transition-delay:calc(1.1s + var(--i,0) * .11s); }
.svc__dial.in .dstep{ opacity:1; }
.dstep circle{ transform-box:fill-box; transform-origin:center; }
.dstep__hit{ fill:transparent; }
.dstep__dot{ fill:var(--lime); opacity:.45; transition:opacity .45s var(--ease), transform .45s var(--ease), filter .45s var(--ease); }
.dstep__ring{ fill:none; stroke:var(--lime); stroke-width:1; opacity:0; transform:scale(.4); }
.dstep__label{
  font-family:var(--data); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  fill:var(--t-low); transition:fill .45s var(--ease);
}
.dstep:hover .dstep__dot{ opacity:.9; }
.dstep:hover .dstep__label{ fill:var(--t-mid); }
.dstep.is-active .dstep__dot{ opacity:1; transform:scale(1.45); filter:drop-shadow(0 0 8px rgba(var(--lime-rgb),.9)); }
.dstep.is-active .dstep__ring{ animation:mkPulse 2.3s var(--ease) infinite; }
.dstep.is-active .dstep__label{ fill:var(--t-hi); }

 
.bts__inner{
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,6vw,90px); align-items:center;
}
.bts__body p{ color:var(--t-mid); font-size:15.5px; line-height:1.7; margin-bottom:16px; }
.chk{
  padding:clamp(26px,3vw,38px) clamp(26px,3vw,40px);
  background:linear-gradient(165deg, rgba(42,39,35,.62), rgba(18,17,16,.55));
  border:1px solid rgba(var(--lime-rgb),.2);
  border-radius:20px;
  backdrop-filter:blur(12px) saturate(120%);
  box-shadow:0 34px 80px -30px rgba(0,0,0,.75);
}
.chk__kicker{
  font-family:var(--data); font-size:10.5px; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(var(--lime-rgb),.62); margin-bottom:clamp(18px,2vw,26px);
}
.chk__list{ display:flex; flex-direction:column; }
.chk__item{ display:flex; align-items:center; gap:16px; padding:clamp(11px,1.5vh,15px) 0; border-top:1px solid var(--line); }
.chk__box{ width:24px; height:24px; flex:none; }
.chk__box circle{
  fill:none; stroke:rgba(234,232,227,.35); stroke-width:1.2;
  stroke-dasharray:1; stroke-dashoffset:1;
  transition:stroke-dashoffset .7s var(--ease);
  transition-delay:calc(var(--i) * .75s + .3s);
}
.chk__box path{
  fill:none; stroke:var(--lime); stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:1; stroke-dashoffset:1;
  transition:stroke-dashoffset .45s var(--ease);
  transition-delay:calc(var(--i) * .75s + .9s);
}
.chk__item span{
  font-size:clamp(13.5px,.95vw,15px);
  color:var(--t-low);
  transition:color .6s var(--ease);
  transition-delay:calc(var(--i) * .75s + .9s);
}
.chk.play .chk__box circle,
.chk.play .chk__box path{ stroke-dashoffset:0; }
.chk.play .chk__item span{ color:rgba(234,232,227,.92); }
.chk__done{
  display:flex; align-items:center; gap:12px;
  margin-top:clamp(18px,2.2vw,26px);
  font-family:var(--display); font-style:italic; font-weight:500;
  font-size:clamp(18px,1.5vw,22px); color:var(--t-hi);
  opacity:0; transform:translateY(8px);
  transition:opacity .9s var(--ease) 4.9s, transform .9s var(--ease) 4.9s;
}
.chk__done i{ width:7px; height:7px; border-radius:50%; flex:none; background:var(--lime); box-shadow:0 0 10px rgba(var(--lime-rgb),.85); }
.chk.play .chk__done{ opacity:1; transform:none; }

 
.trs__inner{
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(40px,6vw,90px); align-items:center;
}
.trs__body p{ color:var(--t-mid); font-size:15.5px; line-height:1.7; margin-bottom:16px; }
.trs__body strong{ color:var(--linen); }
.cal{
  padding:clamp(24px,2.6vw,34px);
  background:linear-gradient(165deg, rgba(42,39,35,.64), rgba(18,17,16,.56));
  border:1px solid rgba(var(--lime-rgb),.2); border-radius:20px;
  backdrop-filter:blur(12px) saturate(120%);
  box-shadow:0 34px 80px -30px rgba(0,0,0,.75);
}
.cal__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:clamp(16px,1.8vw,22px); }
.cal__month{ font-family:var(--display); font-weight:500; font-size:clamp(19px,1.6vw,24px); color:var(--t-hi); }
.cal__chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 14px; border:1px solid rgba(var(--lime-rgb),.28); border-radius:100px;
  font-family:var(--data); font-size:9px; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(var(--lime-rgb),.82); white-space:nowrap;
}
.cal__chip i{ width:5px; height:5px; border-radius:50%; flex:none; background:var(--lime); box-shadow:0 0 8px rgba(var(--lime-rgb),.9); }
.cal__grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.cal__wd{ display:grid; place-items:center; padding-bottom:6px; font-family:var(--data); font-size:9.5px; letter-spacing:.12em; color:var(--t-low); }
.cal__day{
  position:relative; aspect-ratio:1; display:grid; place-items:center;
  font-family:var(--data); font-size:clamp(10.5px,.85vw,12px);
  color:rgba(234,232,227,.5); border-radius:9px;
}
.cal__day.is-b::before{
  content:""; position:absolute; inset:2px; border-radius:8px;
  background:rgba(var(--lime-rgb),.14); border:1px solid rgba(var(--lime-rgb),.3);
  opacity:0; transform:scale(.55);
  transition:opacity .45s var(--ease), transform .45s var(--ease);
  transition-delay:calc(var(--i) * .07s + .5s);
}
.cal.play .cal__day.is-b::before{ opacity:1; transform:scale(1); }
.cal.play .cal__day.is-b{ color:var(--t-hi); transition:color .45s var(--ease); transition-delay:calc(var(--i) * .07s + .55s); }
.cal__legend{
  display:flex; align-items:center; gap:clamp(14px,1.6vw,22px); margin-top:clamp(14px,1.8vw,20px);
  font-family:var(--data); font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--t-low);
}
.cal__dot{ display:inline-block; width:7px; height:7px; border-radius:3px; margin-right:7px; border:1px solid rgba(234,232,227,.3); }
.cal__dot--b{ background:rgba(var(--lime-rgb),.5); border-color:rgba(var(--lime-rgb),.6); }

 
.tml__inner{ max-width:900px; margin:0 auto; }
.tline{ position:relative; margin-top:clamp(40px,6vh,64px); padding-left:clamp(28px,4vw,54px); }
 
.tline::before{
  content:""; position:absolute; left:6px; top:6px; bottom:6px; width:1px;
  background:linear-gradient(180deg, rgba(var(--lime-rgb),.55), rgba(var(--lime-rgb),.12));
  transform:scaleY(var(--fill, 0)); transform-origin:top;
  transition:transform .25s linear;
}
.tline::after{
  content:""; position:absolute; left:5px; top:6px; bottom:6px; width:3px;
  background:rgba(234,232,227,.08);
  z-index:-1;
}
.tline__row{
  position:relative;
  padding:clamp(20px,3vh,34px) 0;
  opacity:0; transform:translateY(26px); filter:blur(7px);
  transition:opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease);
  transition-delay:calc(var(--i) * .08s);
}
.tline__row.in{ opacity:1; transform:none; filter:blur(0); }
.tline__node{
  position:absolute; left:calc(-1 * clamp(28px,4vw,54px) + 1px); top:calc(clamp(20px,3vh,34px) + 6px);
  width:11px; height:11px; border-radius:50%;
  background:var(--ground); border:1px solid rgba(var(--lime-rgb),.45);
  transition:background .5s var(--ease), box-shadow .5s var(--ease), transform .5s var(--ease);
}
.tline__row.in .tline__node{ background:var(--lime); box-shadow:0 0 12px rgba(var(--lime-rgb),.7); transform:scale(1.12); }
.tline__step{ font-family:var(--data); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(var(--lime-rgb),.6); }
.tline__t{ font-family:var(--display); font-weight:500; font-size:clamp(22px,2.4vw,32px); margin:8px 0 8px; color:var(--t-hi); }
.tline__p{ color:var(--t-mid); font-size:15px; line-height:1.65; max-width:52ch; }

 
.kpi{ text-align:center; }
.kpi__inner{ max-width:1120px; margin:0 auto; }
.kpi__eyebrow{
  display:flex; align-items:center; justify-content:center; gap:18px;
  font-family:var(--data); font-size:11px; letter-spacing:.34em; text-transform:uppercase;
  color:rgba(var(--lime-rgb),.85); margin-bottom:clamp(18px,2.4vw,30px); padding-left:.34em;
}
.kpi__eyebrow span{ width:clamp(30px,3.6vw,48px); height:1px; }
.kpi__eyebrow span:first-child{ background:linear-gradient(90deg, transparent, rgba(var(--lime-rgb),.7)); }
.kpi__eyebrow span:last-child { background:linear-gradient(90deg, rgba(var(--lime-rgb),.7), transparent); }
.kpi__title{ font-family:var(--display); font-weight:500; font-size:clamp(26px,3.4vw,50px); line-height:1.12; color:var(--t-hi); }
.kpi__title em{ font-style:italic; color:var(--lime); opacity:.95; }
.kpi__row{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(40px,6vh,72px); gap:1px; background:rgba(234,232,227,.12); border:1px solid rgba(234,232,227,.12); }
.kpi__cell{
  background:linear-gradient(165deg, rgba(34,31,28,.66), rgba(16,15,14,.6));
  backdrop-filter:blur(12px) saturate(115%);
  padding:clamp(26px,3vw,40px) 12px;
}
.kpi__num{ display:block; font-family:var(--display); font-weight:500; font-size:clamp(34px,4.4vw,62px); line-height:1; color:var(--lime); }
.kpi__num em{ font-style:normal; font-size:.5em; }
.kpi__lab{ display:block; margin-top:10px; font-family:var(--data); font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--t-mid); line-height:1.6; }

 
.ctc{ text-align:center; }
.ctc__inner{ max-width:760px; margin:0 auto; }
.ctc__title{ font-family:var(--display); font-weight:500; font-size:clamp(32px,4.4vw,64px); line-height:1.06; color:var(--t-hi); }
.ctc__title em{ font-style:italic; color:var(--lime); }
.ctc__lede{ color:var(--t-mid); font-size:16px; margin-top:20px; }
.ctc__actions{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-top:36px; }
.ctc__cta{
  padding:17px 34px; border-radius:100px; background:var(--lime); color:var(--ink);
  border:1px solid var(--lime);
  font-family:var(--data); font-size:11px; letter-spacing:var(--track-accent); text-transform:uppercase;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.ctc__cta:hover{ background:var(--ground); color:var(--lime); transform:translateY(-1px); }
.ctc__cta:active{ transform:scale(.97); }
.ctc__alt{
  padding:17px 34px; border-radius:100px; border:1px solid rgba(234,232,227,.28); color:var(--linen);
  font-family:var(--data); font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.ctc__alt:hover{ border-color:var(--lime); color:var(--lime); }
.ctc__foot{ margin-top:44px; font-family:var(--data); font-size:10px; letter-spacing:.1em; color:var(--t-low); }

 
@media (max-width: 980px){
  .about__inner, .xp__inner, .bts__inner, .trs__inner, .svc__inner{ grid-template-columns:1fr; }
  .dests__inner{ grid-template-columns:1fr; grid-template-areas:"head" "map" "list"; }
  .props__grid{ grid-template-columns:1fr; }
  .kpi__row{ grid-template-columns:1fr 1fr; }
  .nav__links{ display:none; }
  .trs__inner .cal{ order:2; }
  .xp__inner .phone{ order:2; }
  .duo__half{ min-width:0; padding:10px 20px; }
  .duo__half--sw .duo__word{ font-size:16px; }
  .duo__half--ms .duo__word{ font-size:18px; }
}
@media (max-width: 600px){
   
  .nav--duo{ grid-template-columns:1fr; grid-template-areas:"cta" "duo"; row-gap:12px; }
  .nav--duo .nav__cta{ grid-area:cta; justify-self:end; }
  .nav--duo .duo{ grid-area:duo; }
}
@media (max-width: 560px){
  .astats{ grid-template-columns:1fr 1fr; }
  .hero__title{ font-size:34px; }
  .sec__index{ font-size:clamp(56px,16vw,92px); }

   
  .nav{ gap:10px; }
  .nav__cta{
    padding:10px 14px;
    font-size:9px;
    letter-spacing:.16em;
  }
}

 
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal{ transition:opacity .4s ease; transform:none; filter:none; }
  .reveal.in{ transform:none; }
  .tline__row{ transition:opacity .4s ease; transform:none; filter:none; }
  .map__land, .map__lough, .dial__base, .chk__box circle, .chk__box path{
    stroke-dashoffset:0 !important; transition:none !important;
  }
  .map__land{ fill-opacity:1 !important; }
  .marker, .dstep{ opacity:1 !important; transition:none !important; }
  .marker.is-active .mk__ring, .dstep.is-active .dstep__ring, .marker--home .mk__ring{ animation:none; opacity:.45; transform:scale(1); }
  .phone{ animation:none; }
  .prop__media{ transform:none !important; transition:none; }
  .cue__chev{ animation:none; }
  .chk__done{ transition:opacity .4s ease; transform:none; }
}

 

.pnav{
  position:sticky; top:0; z-index:60;
  background:linear-gradient(180deg, rgba(14,13,12,.94), rgba(14,13,12,.82));
  backdrop-filter:blur(14px) saturate(120%);
  border-bottom:1px solid var(--line);
}
.pnav__inner{
  max-width:1320px; margin:0 auto;
  display:flex; align-items:center; gap:clamp(16px,3vw,40px);
  padding:14px clamp(20px,4vw,44px);
}
.pnav__links{ display:flex; gap:clamp(12px,1.8vw,28px); margin-left:auto; }
.pnav__links a{
  position:relative;
  font-family:var(--data); font-size:10.5px; letter-spacing:var(--track-accent); text-transform:uppercase;
  color:var(--t-mid); padding:6px 0;
  transition:color .3s var(--ease);
}
.pnav__links a::after{
  content:""; position:absolute; left:0; bottom:0;
  width:100%; height:1px;
  background:var(--lime);
  transform:scaleX(0); transform-origin:right center;
  transition:transform .38s var(--ease);
}
.pnav__links a:hover{ color:var(--lime); }
.pnav__links a:hover::after{ transform:scaleX(1); transform-origin:left center; }
 
.pnav__links a.is-on{ color:var(--lime); }
.pnav__links a.is-on::after{ transform:scaleX(1); transform-origin:left center; opacity:.65; }
.pnav__cta{
  padding:12px 22px; border-radius:100px;
  background:var(--lime); color:var(--ink);
  border:1px solid var(--lime);
  font-family:var(--data); font-size:10px; letter-spacing:var(--track-accent); text-transform:uppercase;
  white-space:nowrap;
  transition:background .3s var(--ease), color .3s var(--ease),
             border-color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
}
.pnav__cta:hover{
  background:var(--ground); color:var(--lime); border-color:var(--lime);
  transform:translateY(-1px);
  box-shadow:0 16px 40px -10px rgba(0,0,0,.55);
}
.pnav__cta:active{ transform:scale(.97); }
 
.pnav__burger{
  display:none; align-items:center; gap:8px; margin-left:auto; padding:8px 12px;
  border:1px solid rgba(234,232,227,.28); border-radius:999px; background:transparent; cursor:pointer;
  color:var(--t-hi); font-family:var(--sans); font-size:14px;
}
.pnav__lines{ display:flex; flex-direction:column; gap:4px; }
.pnav__lines span{ display:block; width:18px; height:1.5px; background:var(--linen); transition:transform .3s var(--ease), opacity .3s var(--ease); }
.pnav__burger[aria-expanded="true"] .pnav__lines span:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
.pnav__burger[aria-expanded="true"] .pnav__lines span:nth-child(2){ opacity:0; }
.pnav__burger[aria-expanded="true"] .pnav__lines span:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }
.pnav__mobile{ display:none; flex-direction:column; gap:4px; padding:6px clamp(20px,4vw,44px) 20px; border-top:1px solid var(--line); }
.pnav__mobile a{
  font-family:var(--data); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--t-mid); padding:13px 0; border-bottom:1px solid var(--line);
}
.pnav__mobile a.is-on{ color:var(--lime); }
.pnav__mobile .pnav__cta{ margin-top:14px; text-align:center; border-bottom:0; color:var(--ink); }

 
.pmast{ position:relative; min-height:clamp(340px,58vh,560px); display:flex; align-items:flex-end; overflow:hidden; padding:0; }
.pmast__media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pmast__scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(14,13,12,.5) 0%, rgba(14,13,12,.15) 40%, rgba(14,13,12,.9) 100%);
}
.pmast__body{
  position:relative; z-index:1;
  max-width:1320px; width:100%; margin:0 auto;
  padding:0 clamp(20px,4vw,44px) clamp(44px,7vh,80px);
}
.pmast__eyebrow{
  font-family:var(--data); font-size:10.5px; letter-spacing:var(--track-accent); text-transform:uppercase;
  color:rgba(var(--lime-rgb),.9); margin-bottom:16px; padding-left:.3em;
}
 
.pmast__eyebrow--soon{ display:flex; align-items:center; gap:12px; padding-left:0; }
.soonpill{
  display:inline-block; padding:7px 13px; border-radius:100px;
  background:var(--lime); color:var(--ink);
  font-family:var(--data); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  box-shadow:0 0 0 5px rgba(var(--lime-rgb),.18);
}
 
.navsoon{
  display:inline-block; margin-left:5px; padding:2px 6px; border-radius:100px; vertical-align:1px;
  background:rgba(var(--lime-rgb),.18); color:var(--lime);
  font-size:8px; letter-spacing:.14em; text-transform:uppercase;
}
.pmast__title{
  font-family:var(--display); font-weight:500;
  font-size:clamp(34px,5.6vw,76px); line-height:1.02; color:#fff;
  text-shadow:0 2px 40px rgba(0,0,0,.5);
}
.pmast__title em{ font-style:italic; color:var(--lime); }
.pmast__deck{ margin-top:18px; max-width:52ch; color:rgba(234,232,227,.86); font-size:clamp(15px,1.2vw,18px); line-height:1.6; }

 
.band{ position:relative; padding:clamp(70px,11vh,130px) clamp(20px,4vw,44px); background:var(--ground); overflow:hidden; }
.band--alt{ background:#0d0c0b; }
.band--center{ text-align:center; }
.band__inner{ max-width:1180px; margin:0 auto; position:relative; z-index:1; }
 
.band__inner--split{ display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(34px,5vw,84px); align-items:start; }
.band__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.band__actions--center{ justify-content:center; }
.prose{ max-width:60ch; }
.prose--center{ margin:20px auto 0; }
.prose p{ color:var(--t-mid); font-size:clamp(15px,1.1vw,17px); line-height:1.72; margin-bottom:18px; }
 
.prose a{ color:var(--lime); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; transition:color .3s var(--ease); }
.prose a:hover{ color:var(--t-hi); }
.prose p:last-child{ margin-bottom:0; }
.prose strong{ color:var(--linen); font-weight:600; }

 
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 26px; border-radius:100px;
  font-family:var(--data); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  transition:transform .18s var(--ease), background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
}
.btn:active{ transform:scale(.97); }
.btn--solid{ background:var(--lime); color:var(--ink); border:1px solid var(--lime); }
.btn--solid:hover{ background:var(--ground); color:var(--lime); transform:translateY(-1px); }
.btn--ghost{ border:1px solid rgba(234,232,227,.28); color:var(--linen); }
.btn--ghost:hover{ border-color:var(--lime); color:var(--lime); }
.btn.is-inert{ opacity:.45; cursor:default; }
.btn.is-inert:hover{ border-color:rgba(234,232,227,.28); color:var(--linen); transform:none; }
.btn--solid:disabled{ opacity:.38; cursor:not-allowed; }
.btn--solid:disabled:hover{ background:var(--lime); color:var(--ink); transform:none; }

 
.props__grid--page{ grid-template-columns:repeat(3,1fr); margin-top:0; }
.props__grid--page .prop{ min-height:clamp(340px,42vh,440px); }
.prop__link{
  margin-top:16px;
  font-family:var(--data); font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--lime); display:inline-flex; gap:8px; align-items:center;
}
.prop__link span{ transition:transform .3s var(--ease); }
 
.prop__link::after{ content:""; position:absolute; inset:0; z-index:2; }
.prop:hover{ cursor:pointer; }
.prop:hover .prop__link span{ transform:translateX(4px); }

 
.specs{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.specs > div{ background:linear-gradient(165deg, rgba(42,39,35,.42), rgba(18,17,16,.36)); padding:clamp(18px,2.2vw,26px); }
.specs dt{ font-family:var(--data); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--t-low); }
.specs dd{ margin:8px 0 0; font-family:var(--display); font-size:clamp(16px,1.5vw,20px); color:var(--t-hi); line-height:1.3; }
 
.specs > div:last-child:nth-child(odd){ grid-column:1 / -1; }

 
.amen{ margin-top:clamp(28px,4vh,44px); display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(24px,4vw,60px); }
.amen li{
  padding:16px 0 16px 26px; position:relative;
  border-top:1px solid var(--line);
  color:var(--t-mid); font-size:15px;
}
.amen li::before{
  content:""; position:absolute; left:0; top:23px;
  width:6px; height:6px; border-radius:50%; background:var(--lime);
  box-shadow:0 0 8px rgba(var(--lime-rgb),.6);
}

 
.gal{ margin-top:clamp(28px,4vh,44px); display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(10px,1.4vw,18px); }
.gal__item{ margin:0; border-radius:14px; overflow:hidden; aspect-ratio:4/3; background:#0d0c0b; }
.gal__item img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(.55) brightness(.86);
  transform:scale(1.02);
  transition:filter .6s var(--ease), transform .8s var(--ease);
}
.gal__item:hover img{ filter:saturate(1) brightness(1); transform:scale(1); }

 
.post{ padding:clamp(30px,5vh,54px) 0; border-top:1px solid var(--line); max-width:64ch; }
.post:first-of-type{ border-top:0; padding-top:0; }
.post__idx{ font-family:var(--data); font-size:10px; letter-spacing:.2em; color:rgba(var(--lime-rgb),.6); }
.post__title{ font-family:var(--display); font-weight:500; font-size:clamp(24px,2.8vw,38px); line-height:1.1; margin:12px 0 14px; color:var(--t-hi); }
.post__body{ color:var(--t-mid); font-size:15.5px; line-height:1.72; }
.post__more{ display:inline-flex; gap:8px; margin-top:18px; font-family:var(--data); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--lime); }

 
.clist{ display:flex; flex-direction:column; }
.clist a{
  display:flex; align-items:center; gap:18px;
  padding:20px 4px; border-top:1px solid var(--line);
  transition:padding-left .45s var(--ease);
}
.clist li:last-child a{ border-bottom:1px solid var(--line); }
.clist a:hover{ padding-left:12px; }
.clist__k{ font-family:var(--data); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--t-low); width:88px; flex:none; }
.clist__v{ font-family:var(--display); font-size:clamp(17px,1.6vw,22px); color:var(--t-mid); flex:1; transition:color .45s var(--ease); }
.clist a:hover .clist__v{ color:var(--t-hi); }
.clist__a{ opacity:0; transform:translateX(-8px); color:var(--lime); transition:opacity .45s var(--ease), transform .45s var(--ease); }
.clist a:hover .clist__a{ opacity:1; transform:none; }

 
.pfoot{ background:#0a0908; border-top:1px solid var(--line); padding:clamp(50px,8vh,84px) clamp(20px,4vw,44px) clamp(34px,5vh,54px); }
.pfoot__inner{ max-width:1180px; margin:0 auto; }
.pfoot__brand{ display:flex; flex-direction:column; margin-bottom:clamp(28px,4vh,44px); }
.pfoot__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,4vw,56px); }
.pfoot__h{ font-family:var(--data); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(var(--lime-rgb),.7); margin-bottom:12px; }
.pfoot__cols p{ color:var(--t-low); font-size:13.5px; line-height:1.8; }
.pfoot__cols a{ color:var(--t-mid); transition:color .3s var(--ease); }
.pfoot__cols a:hover{ color:var(--lime); }

@media (max-width: 980px){
  .pnav__links{ display:none; }
  .pnav__cta{ display:none; }
  .pnav__burger{ display:flex; }
  .pnav__mobile:not([hidden]){ display:flex; }
  .band__inner--split{ grid-template-columns:1fr; }
  .props__grid--page{ grid-template-columns:1fr; }
  .specs{ grid-template-columns:1fr; }
  .amen{ grid-template-columns:1fr; }
  .gal{ grid-template-columns:1fr 1fr; }
  .pfoot__cols{ grid-template-columns:1fr; }
}
@media (max-width: 560px){
  .gal{ grid-template-columns:1fr; }
  .clist__k{ width:70px; }
}

 

.chbg{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.chbg__img{
  position:absolute; inset:0;
  width:100%; height:100%;
  background-size:cover; background-position:center;
  transform:scale(1.14);           
  will-change:transform;
}
.chbg__scrim{ position:absolute; inset:0; }

 
.chbg__scrim{
  background:
    linear-gradient(180deg, var(--ground) 0%, rgba(18,17,16,0) 16%, rgba(18,17,16,0) 84%, var(--ground) 100%),
    linear-gradient(90deg,  rgba(16,14,12,.86) 0%, rgba(16,14,12,.58) 48%, rgba(16,14,12,.42) 100%),
    linear-gradient(180deg, rgba(16,14,12,.46) 0%, rgba(16,14,12,.16) 30%, rgba(16,14,12,.16) 70%, rgba(16,14,12,.52) 100%);
}
 
.chbg--right .chbg__scrim{
  background:
    linear-gradient(180deg, var(--ground) 0%, rgba(18,17,16,0) 16%, rgba(18,17,16,0) 84%, var(--ground) 100%),
    linear-gradient(270deg, rgba(16,14,12,.86) 0%, rgba(16,14,12,.58) 48%, rgba(16,14,12,.42) 100%),
    linear-gradient(180deg, rgba(16,14,12,.46) 0%, rgba(16,14,12,.16) 30%, rgba(16,14,12,.16) 70%, rgba(16,14,12,.52) 100%);
}
 
.chbg--center .chbg__scrim{
  background:
    linear-gradient(180deg, var(--ground) 0%, rgba(18,17,16,0) 20%, rgba(18,17,16,0) 78%, var(--ground) 97%),
    linear-gradient(rgba(16,14,12,.62), rgba(16,14,12,.62));
}
 
.chbg--wide .chbg__scrim{
  background:
    linear-gradient(180deg, var(--ground) 0%, rgba(18,17,16,0) 16%, rgba(18,17,16,0) 84%, var(--ground) 100%),
    linear-gradient(90deg,  rgba(16,14,12,.78) 0%, rgba(16,14,12,.52) 42%, rgba(16,14,12,.34) 100%),
    linear-gradient(180deg, rgba(16,14,12,.5) 0%, rgba(16,14,12,.2) 28%, rgba(16,14,12,.2) 72%, rgba(16,14,12,.56) 100%);
}

 
.about__inner, .props__inner, .dests__inner, .xp__inner, .svc__inner,
.bts__inner, .trs__inner, .tml__inner, .kpi__inner, .ctc__inner{
  position:relative; z-index:1;
}
.sec__index{ z-index:1; }

 
.chk, .cal{ background:linear-gradient(165deg, rgba(42,39,35,.52), rgba(18,17,16,.46)); }

@media (prefers-reduced-motion: reduce){
  .chbg__img{ transform:scale(1.14) !important; }
}

 

.revs__inner{ max-width:1320px; margin:0 auto; }
.revs__head{ max-width:640px; margin-bottom:clamp(30px,4.5vh,50px); }
.revs__deck{ color:var(--t-mid); font-size:15.5px; line-height:1.65; }

.review-marquee{
  --marquee-gap:20px;
  --marquee-duration:96s;
  position:relative;
  display:flex;
  gap:var(--marquee-gap);
  padding:8px 0;
  overflow-x:auto; overflow-y:hidden;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  cursor:grab;
}
.review-marquee::-webkit-scrollbar{ display:none; }
.review-marquee.is-dragging{ cursor:grabbing; user-select:none; }
@supports (mask-image: linear-gradient(90deg, #000, transparent)) or (-webkit-mask-image: linear-gradient(90deg, #000, transparent)){
  .review-marquee{
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
            mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
}
.review-marquee__group{
  display:flex; flex-shrink:0; align-items:flex-start;
  gap:var(--marquee-gap); min-width:100%; margin:0; padding:0; list-style:none;
}

.review{
  display:flex; flex-direction:column; flex-shrink:0;
  width:380px; padding:24px 26px;
  border:1px solid rgba(var(--lime-rgb),.16);
  border-radius:16px;
  background:linear-gradient(165deg, rgba(34,31,28,.66), rgba(16,15,14,.6));
  backdrop-filter:blur(10px) saturate(115%);
  transition:border-color .3s var(--ease);
}
.review:hover{ border-color:rgba(var(--lime-rgb),.36); }
.review__head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.review__mono{
  display:grid; place-items:center; flex-shrink:0;
  width:38px; height:38px; border-radius:50%;
  background:var(--ground); color:var(--lime);
  font-family:var(--data); font-size:14px; line-height:1;
}
.review__who{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.review__name{ font-family:var(--display); font-size:15px; font-weight:600; font-style:normal; letter-spacing:-.01em; line-height:1; color:var(--t-hi); }
.review__quote{ margin:0; }
.review__quote p{
  margin:0; font-size:14px; font-weight:400; line-height:1.55; color:var(--t-mid);
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:8; overflow:hidden;
}
.review.is-open .review__quote p{ -webkit-line-clamp:unset; display:block; }
.review__more{
  display:none; align-self:flex-start; margin-top:12px; padding:0;
  font-family:var(--data); font-size:10.5px; letter-spacing:var(--track-accent); text-transform:uppercase;
  color:var(--lime); text-decoration:underline; text-underline-offset:3px;
}
.review.is-long .review__more, .review.is-open .review__more{ display:inline-block; }
.review__more:hover{ color:var(--t-hi); }
.review__head{ flex-wrap:wrap; }
.review__lodge{
  margin-left:auto; align-self:flex-start;
  font-family:var(--data); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(var(--lime-rgb),.75); white-space:nowrap;
}
.review__stars{
  position:relative; display:inline-block;
  font-size:11.5px; line-height:1; letter-spacing:2px; white-space:nowrap;
  color:rgba(234,232,227,.2);
}
.review__stars::before{ content:"\2605\2605\2605\2605\2605"; }
.review__stars::after{
  content:"\2605\2605\2605\2605\2605";
  position:absolute; inset:0 auto 0 0;
  width:calc(var(--rating,0) / 5 * 100%);
  overflow:hidden;
  color:var(--lime);
}

 
.rseals-wrap{ margin-bottom:clamp(34px,5vh,52px); }
.rseals{ display:flex; flex-wrap:wrap; gap:clamp(14px,3vw,40px); }
.rseal{
  display:grid; justify-items:center; text-align:center; gap:6px;
  padding:16px clamp(14px,2vw,26px) 18px; border-radius:18px;
  background:radial-gradient(ellipse at 50% 40%, rgba(var(--lime-rgb),.10), rgba(16,15,14,0) 70%);
  transition:background .4s var(--ease);
}
.rseal:hover{ background:radial-gradient(ellipse at 50% 40%, rgba(var(--lime-rgb),.18), rgba(16,15,14,0) 72%); }
.rseal__lodge{ font-family:var(--data); font-size:10.5px; letter-spacing:var(--track-accent); text-transform:uppercase; color:rgba(var(--lime-rgb),.9); }
.rseal__row{ display:flex; align-items:center; gap:4px; color:var(--lime); }
.rseal__laurel{ width:34px; height:66px; fill:currentColor; flex-shrink:0; }
.rseal__row b{ font-family:var(--display); font-weight:500; font-size:58px; line-height:.9; color:var(--t-hi); padding:0 4px; }
.rseal__tag{ font-size:14px; font-weight:600; color:var(--t-hi); margin-top:4px; }
.rseal__count{ font-size:13px; color:var(--t-mid); }
.rsrc{ margin:12px 0 0; font-size:12px; color:var(--t-low); }
.rseals--one + .rsrc{ margin-top:6px; }
.lhero__intro .rseals--one{ margin-top:22px; }
@media (max-width: 780px){
  .rseals{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .rseals--one{ grid-template-columns:1fr; justify-items:start; }
  .rseal{ padding:12px 6px 14px; }
  .rseal__laurel{ width:26px; height:50px; }
  .rseal__row b{ font-size:44px; }
}

 
.rstars{
  position:relative; display:inline-block;
  font-size:12px; line-height:1; letter-spacing:2px; white-space:nowrap;
  color:rgba(234,232,227,.18);
}
.rstars::before{ content:"\2605\2605\2605\2605\2605"; }
.rstars::after{
  content:"\2605\2605\2605\2605\2605";
  position:absolute; inset:0 auto 0 0; overflow:hidden;
  width:calc(var(--rating,0) / 5 * 100%);
  color:var(--lime);
}

.review-marquee-ctl{ margin-top:22px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.review-marquee-ctl .rv-arrow{ width:44px; padding-left:0; padding-right:0; font-size:16px; }
.review-marquee-ctl[hidden]{ display:none; }
.review-marquee-ctl button{
  padding:10px 18px; border-radius:100px;
  border:1px solid rgba(234,232,227,.24);
  background:transparent; color:var(--t-mid);
  font-family:var(--data); font-size:10px; letter-spacing:var(--track-accent); text-transform:uppercase;
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.review-marquee-ctl button:hover{ border-color:var(--lime); color:var(--lime); }
.review-marquee-ctl button:focus-visible{ outline:1px solid var(--lime); outline-offset:3px; }

@media (max-width: 780px){
  .review{ width:300px; }
}

 

.floatcta{
  position:fixed; right:clamp(16px,3vw,34px); bottom:clamp(16px,3vh,30px);
  z-index:70;
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 26px; border-radius:100px;
  background:var(--lime); color:var(--ink);
  border:1px solid var(--lime);
  font-family:var(--data); font-size:10.5px; letter-spacing:var(--track-accent); text-transform:uppercase;
  box-shadow:0 16px 44px -12px rgba(0,0,0,.72);
  opacity:0; transform:translateY(14px); pointer-events:none;
  transition:opacity .55s var(--ease), transform .55s var(--ease),
             background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.floatcta.is-in{ opacity:1; transform:none; pointer-events:auto; }
.floatcta:hover{ background:var(--ground); color:var(--lime); border-color:var(--lime); }
.floatcta:active{ transform:scale(.97); }
.floatcta__arrow{ transition:transform .3s var(--ease); }
.floatcta:hover .floatcta__arrow{ transform:translateX(4px); }

@media (max-width: 560px){
   
  .floatcta{ left:clamp(16px,3vw,34px); right:clamp(16px,3vw,34px); bottom:64px; justify-content:center; }
}
@media (prefers-reduced-motion: reduce){
  .floatcta{ transition:opacity .3s ease; transform:none; }
  .floatcta.is-in{ transform:none; }
}

 
.ctc__dock{ margin-top:28px; display:flex; justify-content:center; }
.floatcta--dock{
  position:relative; right:auto; bottom:auto; z-index:auto;
  transform:none; visibility:hidden;
  transition:opacity .4s var(--ease), visibility .4s,
             background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.ctc__dock.is-docked .floatcta--dock{ opacity:1; visibility:visible; pointer-events:auto; }
@media (max-width: 560px){
   
  .floatcta--dock{
    left:auto; right:auto; flex:1;
    margin-inline:calc(clamp(16px,3vw,34px) - clamp(24px,7vw,120px));
  }
   
  .floatcta.is-swap, .floatcta--dock{ transition:none; }
}

 

 
.pick{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,22px); margin-top:clamp(30px,4vh,46px); }
.pick__opt{
  position:relative; isolation:isolate; overflow:hidden;
  width:100%; min-height:clamp(240px,28vh,300px);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:clamp(20px,2.4vw,28px);
  border:1px solid var(--line); border-radius:16px;
  background:linear-gradient(165deg, rgba(42,39,35,.42), rgba(18,17,16,.34));
  text-align:left; cursor:pointer;
  transition:border-color .4s var(--ease), transform .4s var(--ease);
}
.pick__opt:hover{ transform:translateY(-3px); border-color:rgba(var(--lime-rgb),.4); }
.pick__opt[aria-checked="true"]{ border-color:var(--lime); }
.pick__media{
  position:absolute; inset:0; z-index:-2;
  background-size:cover; background-position:center;
  opacity:.26; filter:saturate(.35) brightness(.8);
  transform:scale(1.04);
  transition:opacity .6s var(--ease), filter .6s var(--ease), transform .8s var(--ease);
}
.pick__opt:hover .pick__media,
.pick__opt[aria-checked="true"] .pick__media{ opacity:1; filter:saturate(1) brightness(1); transform:scale(1); }
.pick__scrim{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(15,14,13,.12) 0%, rgba(15,14,13,.46) 45%, rgba(12,11,10,.84) 100%);
  opacity:.55; transition:opacity .6s var(--ease);
}
.pick__opt:hover .pick__scrim,
.pick__opt[aria-checked="true"] .pick__scrim{ opacity:1; }
.pick__body{ display:flex; flex-direction:column; gap:6px; }
.pick__name{ font-family:var(--display); font-size:clamp(19px,1.9vw,24px); color:var(--t-hi); text-shadow:0 2px 16px rgba(0,0,0,.6); }
.pick__meta{ font-size:13px; color:rgba(234,232,227,.74); text-shadow:0 1px 12px rgba(0,0,0,.6); }
.pick__rate{ margin-top:6px; font-family:var(--display); font-size:22px; color:var(--lime); }
.pick__rate em{ font-family:var(--data); font-style:normal; font-size:10px; letter-spacing:var(--track-accent); color:var(--t-low); }
 
.pick__tick{
  position:absolute; top:16px; right:16px;
  display:grid; place-items:center;
  width:28px; height:28px; border-radius:50%;
  background:var(--lime); color:var(--ink);
  font-size:14px; font-weight:700;
  opacity:0; transform:scale(.6);
  transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.pick__opt[aria-checked="true"] .pick__tick{ opacity:1; transform:scale(1); }
.pick__opt:focus-visible{ outline:2px solid var(--lime); outline-offset:3px; }

 
.bkcal{
  padding:clamp(22px,2.6vw,30px);
  border:1px solid rgba(var(--lime-rgb),.18); border-radius:20px;
  background:linear-gradient(165deg, rgba(34,31,28,.66), rgba(16,15,14,.6));
  backdrop-filter:blur(12px) saturate(115%);
  box-shadow:0 34px 80px -30px rgba(0,0,0,.75);
}
.bkcal{ position:relative; }    

 
.bkcal__guide{
  display:flex; align-items:center; gap:12px; margin-bottom:18px;
  padding:12px 14px; border-radius:14px;
  background:rgba(234,232,227,.05); border:1px solid rgba(234,232,227,.14);
}
.bkcal__guide.is-done{ background:rgba(var(--lime-rgb),.12); border-color:rgba(var(--lime-rgb),.45); }
.bkcal__step{
  flex:none; width:30px; height:30px; border-radius:50%;
  display:grid; place-items:center; font-style:normal; font-weight:700; font-size:14px;
  background:var(--lime); color:var(--ink);
}
.bkcal__guidetext{ display:grid; gap:2px; font-size:16px; line-height:1.3; }
.bkcal__guidetext b{ color:var(--t-hi); font-weight:600; }
.bkcal__guidetext small{ color:var(--t-mid); font-size:13.5px; }
.bkcal__guide .bkcal__clear{ margin-left:auto; }

.bkcal__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; }
.bkcal__month{ font-family:var(--display); font-size:clamp(20px,1.8vw,25px); color:var(--t-hi); text-align:center; }
 
.bkcal__nav{
  min-width:34px; height:34px; padding:0 12px; border-radius:100px; white-space:nowrap;
  border:1px solid rgba(234,232,227,.22); background:transparent; color:var(--t-mid);
  font-family:var(--sans); font-size:13px; cursor:pointer;
  transition:border-color .3s var(--ease), color .3s var(--ease), opacity .3s var(--ease);
}
.bkcal__nav:hover:not(:disabled){ border-color:var(--lime); color:var(--lime); }
.bkcal__nav:disabled{ opacity:.28; cursor:default; }
.bkcal__wd{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; margin-bottom:6px; }
.bkcal__wd span{ display:grid; place-items:center; font-family:var(--sans); font-size:12px; font-weight:600; color:var(--t-mid); }
.bkcal__grid{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }

 
.bkcal__day{
  min-height:46px; display:grid; place-content:center; gap:3px; padding:0;
  border:1px solid rgba(234,232,227,.3); border-radius:10px;
  background:rgba(234,232,227,.08);
  font-family:var(--sans); font-size:clamp(14px,1.1vw,16px); font-weight:600; line-height:1;
  color:var(--t-hi); cursor:pointer;
  transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}
.bkcal__day:hover:not(:disabled){ background:rgba(var(--lime-rgb),.2); border-color:var(--lime); }
.bkcal__day--pad{ visibility:hidden; pointer-events:none; }
 
.bkcal__day:disabled{
  background:transparent; border-color:transparent; cursor:not-allowed;
  color:rgba(234,232,227,.26); font-weight:400;
  text-decoration:line-through; text-decoration-thickness:1.5px;
}
 
.bkcal__grid.is-checking .bkcal__day:disabled{
  text-decoration:none; color:rgba(234,232,227,.4); cursor:progress;
}
.bkcal__day--booked, .bkcal__day--booked:hover:not(:disabled){
  background:repeating-linear-gradient(135deg, rgba(234,232,227,.08) 0 2px, transparent 2px 7px);
  color:rgba(234,232,227,.3); text-decoration:line-through; text-decoration-thickness:1.5px; font-weight:400;
  border-color:transparent; cursor:not-allowed;
}
 
.bkcal__day--checkout-only, .bkcal__day--checkin-only{ border-style:dashed; }
.bkcal__sub{ display:block; font-size:8.5px; font-weight:700; letter-spacing:.02em; color:var(--lime); }
.bkcal__sub-long{ display:none; }
@media (min-width: 1100px){
  .bkcal__sub-long{ display:inline; }
  .bkcal__sub-short{ display:none; }
  .bkcal__day{ min-height:56px; }
  .bkcal__sub{ font-size:9.5px; }
}
 
.bkcal__day--sel, .bkcal__day--sel:hover:not(:disabled){
  background:var(--lime); border:1px solid var(--lime); color:var(--ink); text-decoration:none;
}
.bkcal__day--sel .bkcal__sub{ color:var(--ink); }
.bkcal__day--start{ box-shadow:0 0 0 3px rgba(var(--lime-rgb),.3); }
.bkcal__day:focus-visible{ outline:2px solid var(--lime); outline-offset:2px; }

.bkcal__say{ margin:12px 0 0; font-size:14px; line-height:1.5; color:var(--t-mid); }
.bkcal__say:empty{ display:none; }
.bkcal__clear{
  flex:0 0 auto; padding:7px 14px; border-radius:100px;
  border:1px solid rgba(234,232,227,.28); background:transparent; color:var(--t-hi);
  font-family:var(--sans); font-size:13px; cursor:pointer;
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.bkcal__clear:hover{ border-color:var(--lime); color:var(--lime); }
.bkcal__clear:focus-visible{ outline:2px solid var(--lime); outline-offset:3px; }

 
.bkkey{
  margin-top:18px; padding:14px; display:grid; gap:10px;
  border:1px solid rgba(234,232,227,.14); border-radius:14px; background:rgba(0,0,0,.18);
}
.bkkey__title{ margin:0; font-size:15px; font-weight:600; color:var(--t-hi); }
.bkkey__row{ display:grid; grid-template-columns:48px 1fr; gap:12px; align-items:center; font-size:14.5px; line-height:1.45; color:var(--t-mid); }
.bkkey__row b{ color:var(--t-hi); font-weight:600; }
.bkkey__tile{ min-height:40px; cursor:default; pointer-events:none; font-size:14px; }
.bkkey__tile .bkcal__sub{ font-size:8px; }
.bkkey--side{ display:none; }
@media (min-width: 981px){
  .bkkey--side{ display:grid; margin-top:28px; max-width:420px; }
  .bkkey--in{ display:none; }
}

 
.bktip{
  position:absolute; z-index:5; left:14px; right:14px;
  background:var(--t-hi); color:#16140f; border-radius:14px; padding:14px 16px 12px;
  box-shadow:0 18px 40px -10px rgba(0,0,0,.8); font-size:15px; line-height:1.45;
}
@media (min-width: 700px){ .bktip{ right:auto; width:340px; } }
.bktip b{ display:block; font-size:16px; margin-bottom:3px; }
.bktip__row{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.bktip__row button{ border:0; border-radius:999px; padding:8px 14px; font:700 14px var(--sans); cursor:pointer; background:#16140f; color:var(--t-hi); }
.bktip__row button.alt{ background:transparent; border:1.5px solid #16140f; color:#16140f; }
.bktip::before{ content:""; position:absolute; left:var(--arrow, 50%); width:14px; height:14px; background:var(--t-hi); transform:translateX(-50%) rotate(45deg); }
.bktip.is-below::before{ top:-6px; }
.bktip.is-above::before{ bottom:-6px; }

 
.bkform{ margin-top:clamp(24px,3vh,34px); display:flex; flex-direction:column; gap:20px; }
.bkform__row{ display:flex; flex-direction:column; gap:8px; }
.bkform__check{ display:flex; gap:12px; align-items:flex-start; font-size:13.5px; line-height:1.5; color:var(--t-mid); cursor:pointer; }
.bkform__check input{ flex:none; margin-top:4px; width:16px; height:16px; accent-color:var(--lime); }
.bkform__check strong{ color:var(--t-hi); font-weight:500; }
 
.bkform__label{ font-family:var(--sans); font-size:15px; font-weight:600; color:var(--t-hi); }
.bkform__label em{ font-style:normal; color:var(--t-low); font-weight:400; font-size:13px; }
.bkform__input{
  width:100%; padding:14px 16px;
  border:1px solid rgba(234,232,227,.2); border-radius:10px;
  background:rgba(18,17,16,.55); color:var(--linen);
  font-family:var(--sans); font-size:15px;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.bkform__input::placeholder{ color:rgba(234,232,227,.34); }
.bkform__input:focus{ outline:none; border-color:var(--lime); background:rgba(18,17,16,.75); }
.bkform__input--area{ resize:vertical; min-height:110px; line-height:1.55; }
.bkform__err{ font-size:14px; font-weight:600; color:#e8a49a; }

 
.bksum{
  position:sticky; top:calc(var(--pnav-h, 68px) + var(--steps-h, 0px) + 20px);
  padding:clamp(24px,2.8vw,32px);
  border:1px solid rgba(var(--lime-rgb),.2); border-radius:20px;
  background:linear-gradient(165deg, rgba(34,31,28,.7), rgba(16,15,14,.64));
  backdrop-filter:blur(12px) saturate(115%);
  box-shadow:0 34px 80px -30px rgba(0,0,0,.75);
}
.bksum__kicker{ font-family:var(--sans); font-size:17px; font-weight:600; color:var(--t-hi); margin-bottom:16px; }
.bksum__list{ margin:0 0 18px; }
 
.bksum__breakdown{ margin:-10px 0 18px; font-size:12.5px; line-height:1.5; color:var(--t-low); }
.bksum__list > div{ display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-top:1px solid var(--line); }
.bksum__list dt{ font-family:var(--sans); font-size:14px; color:var(--t-mid); }
.bksum__list dd{ margin:0; font-size:14px; color:var(--t-hi); text-align:right; }
.bksum__total{
  display:flex; align-items:baseline; justify-content:space-between;
  padding:16px 0; border-top:1px solid rgba(var(--lime-rgb),.3);
}
.bksum__total span{ font-family:var(--sans); font-size:15px; font-weight:600; color:var(--t-mid); }
.bksum__total strong{ font-family:var(--display); font-weight:500; font-size:clamp(28px,3vw,38px); color:var(--lime); }
.bksum__note{ font-size:13px; line-height:1.55; color:var(--t-low); margin-bottom:16px; }
.bksum__go{ width:100%; justify-content:center; }
.bksum__go:disabled{ opacity:.38; cursor:not-allowed; }
.bksum__go:disabled:hover{ background:var(--lime); color:var(--ink); transform:none; }
.bksum__fine{ margin-top:14px; font-size:12px; line-height:1.6; color:var(--t-low); }
.bksum__back{ margin-top:14px; font-family:var(--data); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.bksum__back a{ color:var(--t-mid); }
.bksum__back a:hover{ color:var(--lime); }

 
.paycard{
  margin-top:clamp(26px,3.4vh,38px);
  padding:clamp(22px,2.6vw,30px);
  border:1px solid rgba(234,232,227,.16); border-radius:18px;
  background:linear-gradient(165deg, rgba(34,31,28,.6), rgba(16,15,14,.56));
}
.paycard__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.paycard__kicker{ font-family:var(--sans); font-size:16px; font-weight:600; color:var(--t-hi); }
.paycard__badge{
  font-family:var(--data); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
  padding:5px 11px; border-radius:100px; border:1px solid rgba(var(--lime-rgb),.34); color:rgba(var(--lime-rgb),.85);
}
.paycard__mock{ display:flex; flex-direction:column; gap:14px; }
.paycard__pair{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.paycard__field{ display:flex; flex-direction:column; gap:7px; }
.paycard__lab{ font-family:var(--sans); font-size:15px; font-weight:600; color:var(--t-hi); }
.paycard__box{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:14px 15px; min-height:48px;
  border:1px solid rgba(234,232,227,.18); border-radius:10px;
  background:rgba(18,17,16,.5);
}
.paycard__ghost{ font-family:var(--data); font-size:14px; color:rgba(234,232,227,.3); letter-spacing:.04em; }
.paycard__brands{ display:flex; gap:5px; }
.paycard__brands i{ width:26px; height:17px; border-radius:3px; background:rgba(234,232,227,.16); }
.paycard__name{ margin-bottom:16px; }
.paycard__lab em{ font-style:normal; font-weight:400; font-size:13px; color:var(--t-low); margin-left:6px; }
.paycard__input{
  width:100%; box-sizing:border-box; padding:13px 15px; min-height:48px;
  border:1px solid rgba(234,232,227,.18); border-radius:10px;
  background:rgba(18,17,16,.5); color:var(--t-hi); font:inherit; font-size:15px;
}
.paycard__input:focus-visible{ outline:2px solid var(--lime); outline-offset:1px; }
.paycard__element{ min-height:48px; }
.paycard__offline{ margin-top:16px; font-size:13px; line-height:1.55; color:var(--t-mid); }
.paycard__offline a{ color:var(--lime); }
.paycard__err{ margin:16px 0 0; padding:12px 14px; border-radius:10px; font-size:13px; line-height:1.5;
  color:#f0c9bf; background:rgba(214,96,74,.12); border:1px solid rgba(214,96,74,.35); }
.booked__ref{ margin-top:14px; font-family:var(--data); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--t-mid); }

 
.booked{ max-width:620px; margin:0 auto; text-align:center; }
.booked__tick{ display:inline-block; width:64px; height:64px; margin-bottom:22px; }
.booked__tick svg{ width:100%; height:100%; }
.booked__tick circle{
  fill:none; stroke:rgba(var(--lime-rgb),.4); stroke-width:1.4;
  stroke-dasharray:1; stroke-dashoffset:1;
  transition:stroke-dashoffset .9s var(--ease) .1s;
}
.booked__tick path{
  fill:none; stroke:var(--lime); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:1; stroke-dashoffset:1;
  transition:stroke-dashoffset .6s var(--ease) .7s;
}
.booked.is-in .booked__tick circle,
.booked.is-in .booked__tick path{ stroke-dashoffset:0; }
.booked__lede{ margin-top:16px; font-size:16px; }
.booked__demo{ margin-top:28px; font-size:12.5px; color:var(--t-low); border-left:2px solid rgba(var(--lime-rgb),.5); padding-left:14px; text-align:left; }

@media (max-width: 980px){
  .pick{ grid-template-columns:1fr; }
  .bksum{ position:static; }
}
@media (max-width: 560px){
  .paycard__pair{ grid-template-columns:1fr; }
}

 

 
.xgal{ margin-top:clamp(28px,4vh,44px); }
.xgal__row{
  display:flex; align-items:stretch; gap:4px;
  height:clamp(220px,26vw,340px);
  margin:0; padding:0;
}
 
.xgal__item{
  position:relative; flex:0 0 5.5%; min-width:0;
  border-radius:14px; overflow:hidden;
  transition:flex-basis 480ms var(--ease);
}
 
.xgal__item.is-active{ flex-basis:48%; }
.xgal__item button{
  display:block; width:100%; height:100%;
  padding:0; border:0; background:none; cursor:zoom-in;
}
.xgal__item img{
  display:block; width:100%; height:100%; object-fit:cover;
  background:rgba(234,232,227,.05);
  filter:saturate(.55) brightness(.82);
  transition:filter .5s var(--ease);
}
.xgal__item.is-active img{ filter:saturate(1) brightness(1); }
.xgal__item::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(12,11,10,0) 55%, rgba(12,11,10,.78) 100%);
  opacity:0; transition:opacity .45s var(--ease);
}
.xgal__item.is-active::after{ opacity:1; }
.xgal__tag{
  position:absolute; left:14px; bottom:12px; z-index:1;
  font-family:var(--data); font-size:10px; letter-spacing:.14em;
  color:var(--lime);
  opacity:0; transform:translateY(6px);
  transition:opacity .45s var(--ease), transform .45s var(--ease);
}
.xgal__item.is-active .xgal__tag{ opacity:1; transform:none; }
.xgal__item:focus-within{ outline:2px solid var(--lime); outline-offset:3px; }

 
.lbox{
  position:fixed; inset:0; z-index:120;
  display:flex; flex-direction:column;
  background:rgba(10,9,8,.97);
  backdrop-filter:blur(8px);
  opacity:0; transition:opacity .32s var(--ease);
}
.lbox.is-open{ opacity:1; }
.lbox[hidden]{ display:none; }
body.lbox-open{ overflow:hidden; }
.lbox__bar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px clamp(18px,4vw,40px);
  border-bottom:1px solid var(--line);
}
.lbox__label{ font-family:var(--data); font-size:10px; letter-spacing:var(--track-accent); text-transform:uppercase; color:var(--t-mid); }
.lbox__close, .lbox__back{
  padding:9px 16px; border-radius:100px;
  border:1px solid rgba(234,232,227,.24); background:transparent; color:var(--t-mid);
  font-family:var(--data); font-size:10px; letter-spacing:.12em; text-transform:uppercase; cursor:pointer;
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.lbox__close:hover, .lbox__back:hover{ border-color:var(--lime); color:var(--lime); }
.lbox__grid{
  flex:1; overflow-y:auto;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:8px; padding:clamp(14px,2.4vw,26px);
  align-content:start;
   
  grid-auto-rows:max-content;
}
.lbox__tile{
  padding:0; border:0; background:none; cursor:zoom-in;
  border-radius:10px; overflow:hidden; aspect-ratio:3/2;
}
.lbox__tile img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(.6) brightness(.85);
  transition:filter .4s var(--ease), transform .5s var(--ease);
}
.lbox__tile:hover img{ filter:saturate(1) brightness(1); transform:scale(1.03); }
.lbox__tile:focus-visible{ outline:2px solid var(--lime); outline-offset:2px; }

.lbox__viewer{
  flex:1; position:relative;
  display:flex; align-items:center; justify-content:center;
  padding:clamp(14px,3vw,40px);
}
.lbox__viewer[hidden]{ display:none; }
 
.lbox__grid[hidden]{ display:none; }
.lbox__full{ max-width:100%; max-height:100%; object-fit:contain; border-radius:8px; }
.lbox__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:46px; height:46px; border-radius:50%;
  border:1px solid rgba(234,232,227,.24); background:rgba(18,17,16,.7); color:var(--linen);
  font-size:15px; cursor:pointer; z-index:2;
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.lbox__nav:hover{ border-color:var(--lime); color:var(--lime); }
.lbox__nav--prev{ left:clamp(10px,2vw,26px); }
.lbox__nav--next{ right:clamp(10px,2vw,26px); }
.lbox__foot{
  position:absolute; left:0; right:0; bottom:clamp(12px,2.4vh,24px);
  display:flex; align-items:center; justify-content:center; gap:18px;
}
.lbox__counter{ font-family:var(--data); font-size:10px; letter-spacing:.14em; color:var(--t-low); }
 
.lbox__shut{
  position:absolute; top:clamp(10px,2vw,22px); right:clamp(10px,2vw,26px); z-index:3;
  width:50px; height:50px; border-radius:50%;
  border:1px solid rgba(234,232,227,.4); background:rgba(18,17,16,.82); color:var(--t-hi);
  font-size:28px; line-height:1; cursor:pointer;
  display:grid; place-items:center;
  transition:border-color .3s var(--ease), color .3s var(--ease), background .3s var(--ease);
}
.lbox__shut:hover{ border-color:var(--lime); color:var(--lime); }
.lbox__shut:focus-visible{ outline:2px solid var(--lime); outline-offset:3px; }
.lbox__foot .lbox__back{
  background:rgba(18,17,16,.82); border-color:rgba(234,232,227,.45); color:var(--t-hi);
  font-size:12px; padding:11px 20px;
}

@media (max-width: 780px){
   
  .xgal__row{ height:210px; overflow-x:auto; scroll-snap-type:x mandatory; }
  .xgal__item{ flex:0 0 78%; scroll-snap-align:center; }
  .xgal__item.is-active{ flex-basis:78%; }
  .xgal__item img{ filter:none; }
  .xgal__item::after{ opacity:1; }
  .xgal__tag{ opacity:1; transform:none; }
}
@media (prefers-reduced-motion: reduce){
  .xgal__item{ transition:none; }
  .lbox{ transition:none; }
}

 

.qr{ display:flex; flex-direction:column; align-items:center; gap:16px; }
.qr__frame{
  padding:clamp(18px,2.2vw,26px);
  border-radius:24px;
  background:var(--lime);
  box-shadow:0 30px 70px -24px rgba(0,0,0,.7);
}
.qr__img{ display:block; width:clamp(200px,22vw,300px); height:auto; border-radius:10px; }
.qr__cap{ font-family:var(--data); font-size:10px; letter-spacing:var(--track-accent); text-transform:uppercase; color:var(--t-low); }

.stores{ display:flex; flex-wrap:wrap; gap:14px; margin-top:clamp(22px,3vh,32px); }
 
.store{
  display:flex; flex-direction:column; gap:3px;
  padding:12px 22px;
  border:1px solid rgba(234,232,227,.24); border-radius:12px;
  background:rgba(24,22,20,.42);
}
.store.is-soon{ opacity:.62; }
.store__k{ font-family:var(--data); font-size:8.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--t-low); }
.store__v{ font-family:var(--display); font-size:17px; color:var(--t-hi); }

.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.4vw,30px); margin-top:clamp(30px,4vh,46px); padding:0; }
.steps__item{
  padding:clamp(22px,2.6vw,30px);
  border:1px solid var(--line); border-radius:16px;
  background:linear-gradient(165deg, rgba(42,39,35,.42), rgba(18,17,16,.34));
}
.steps__n{ font-family:var(--data); font-size:10px; letter-spacing:.2em; color:rgba(var(--lime-rgb),.75); }
.steps__t{ font-family:var(--display); font-weight:500; font-size:clamp(19px,1.9vw,24px); margin:12px 0 10px; color:var(--t-hi); }
.steps__p{ font-size:14px; line-height:1.6; color:var(--t-mid); }

@media (max-width: 980px){
  .steps{ grid-template-columns:1fr; }
}

 

.legal{ max-width:46rem; }
.legal__meta{
  font-family:var(--data); font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--t-low); margin-bottom:clamp(26px,3.4vh,38px);
}
.legal__h{
  font-family:var(--display); font-weight:500;
  font-size:clamp(21px,2.2vw,29px); line-height:1.2;
  color:var(--t-hi);
  margin:clamp(34px,4.4vh,52px) 0 14px;
}
.legal__h:first-of-type{ margin-top:0; }
.legal p{ color:var(--t-mid); font-size:15.5px; line-height:1.72; margin-bottom:16px; }
.legal p:last-child{ margin-bottom:0; }
.legal strong{ color:var(--linen); font-weight:600; }
.legal a:not(.btn){ color:var(--lime); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
 

.legal__list{ margin:0 0 18px; padding-left:1.3em; list-style:disc; }
.legal__list--num{ list-style:decimal; }
.legal__list li{ color:var(--t-mid); font-size:15px; line-height:1.7; margin-bottom:9px; }
.legal__list li::marker{ color:rgba(var(--lime-rgb),.6); }

.legal__table{
  width:100%; margin:0 0 22px; border-collapse:collapse; font-size:14px;
  display:block; overflow-x:auto;           
}
.legal__table th, .legal__table td{
  text-align:left; vertical-align:top;
  padding:12px 16px 12px 0;
  border-bottom:1px solid var(--line);
  color:var(--t-mid); line-height:1.6;
}
.legal__table th{
  font-family:var(--data); font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--t-low); font-weight:400; white-space:nowrap;
}

 
.legal-flag{
  margin:0 0 20px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-left:3px solid var(--lime);
  border-radius:12px;
  background:rgba(var(--lime-rgb),.05);
  font-size:14px; line-height:1.65; color:var(--t-mid);
}
.legal-flag strong{
  display:block; margin-bottom:5px;
  font-family:var(--data); font-size:10px; letter-spacing:var(--track-accent); text-transform:uppercase;
  color:var(--lime);
}

.pfoot__legal{ margin-top:12px; }
.pfoot__legal a{ color:var(--t-low); }
.pfoot__legal a:hover{ color:var(--lime); }

 
.prop__media--none,
.pick__media--none{
  position:absolute; inset:0; z-index:-2;
  background:
    repeating-linear-gradient(135deg,
      rgba(234,232,227,.028) 0 2px,
      transparent 2px 9px),
    linear-gradient(180deg, #1a1917 0%, #121110 100%);
  display:flex; align-items:center; justify-content:center;
   
  opacity:1; filter:none; transform:none; transition:none;
}
.prop__media--none em,
.pick__media--none em{
  font-family:var(--sans); font-style:normal;
  font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--t-low);
   
  position:absolute; top:16%; left:0; right:0;
  text-align:center;
}

 
 
 
.bksum__col{ display:flex; flex-direction:column; gap:16px; align-self:start; position:sticky; top:96px; }
.bksum__col .bksum{ position:static; }
@media (max-width:900px){ .bksum__col{ position:static; } }
.dogask{
  margin:0; padding:18px 18px 16px;
  border:1px solid rgba(var(--lime-rgb),.55); border-radius:14px;
  background:linear-gradient(160deg, rgba(var(--lime-rgb),.1), rgba(18,17,16,.55));
  box-shadow:0 0 0 4px rgba(var(--lime-rgb),.06);
}
.dogask__head{ display:flex; gap:14px; align-items:flex-start; }
.dogask__paw{ flex:0 0 auto; width:38px; height:38px; border-radius:50%; background:var(--lime); display:grid; place-items:center; }
.dogask__paw svg{ width:22px; height:22px; fill:var(--ink); }
.dogask__title{ margin:0; font-family:var(--display); font-size:20px; color:var(--t-hi); }
.dogask__sub{ margin:4px 0 0; font-size:13px; line-height:1.5; color:var(--t-mid); }
.dogask__opts{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.dogask__opt{ position:relative; cursor:pointer; }
.dogask__opt input{ position:absolute; opacity:0; width:1px; height:1px; }
.dogask__optbody{
  display:flex; flex-direction:column; gap:3px; padding:13px 14px;
  border:1px solid rgba(234,232,227,.2); border-radius:10px; background:rgba(18,17,16,.55);
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.dogask__optbody strong{ font-size:14px; color:var(--t-hi); font-weight:600; }
.dogask__optbody em{ font-style:normal; font-family:var(--data); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--t-low); }
.dogask__opt:hover .dogask__optbody{ border-color:rgba(var(--lime-rgb),.5); }
.dogask__opt input:checked + .dogask__optbody{ border-color:var(--lime); background:rgba(var(--lime-rgb),.16); }
.dogask__opt input:checked + .dogask__optbody em{ color:rgba(var(--lime-rgb),.9); }
.dogask__opt input:focus-visible + .dogask__optbody{ outline:2px solid var(--lime); outline-offset:2px; }
.dogask.is-missing{ border-color:#d6604a; box-shadow:0 0 0 4px rgba(214,96,74,.14); }
@media (max-width:520px){ .dogask__opts{ grid-template-columns:1fr; } }
.xtras{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.xtra__label{
  display:flex; align-items:flex-start; gap:14px;
  padding:16px 18px;
  border:1px solid rgba(234,232,227,.16); border-radius:12px;
  background:rgba(18,17,16,.5);
  cursor:pointer;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.xtra__label:hover{ border-color:rgba(var(--lime-rgb),.4); background:rgba(18,17,16,.72); }

 
.xtra__box{ position:absolute; opacity:0; width:1px; height:1px; }
.xtra__tick{
  flex:0 0 auto; width:20px; height:20px; margin-top:2px;
  border:1px solid rgba(234,232,227,.34); border-radius:6px;
  position:relative;
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.xtra__tick::after{
  content:""; position:absolute; left:6px; top:2px;
  width:5px; height:10px;
  border:solid #14130f; border-width:0 2px 2px 0;
  transform:rotate(45deg) scale(.4); opacity:0;
  transition:opacity .2s var(--ease), transform .2s var(--ease);
}
 
.xtra__box[type="radio"] + .xtra__tick{ border-radius:50%; }
.xtra__box[type="radio"] + .xtra__tick::after{
  left:5px; top:5px; width:8px; height:8px;
  border:none; border-radius:50%; background:#14130f;
  transform:scale(.3);
}
 
.xtra__box[type="radio"]:checked + .xtra__tick::after{ transform:scale(1); }
.xtra__box:checked + .xtra__tick{ background:var(--lime); border-color:var(--lime); }
.xtra__box:checked + .xtra__tick::after{ opacity:1; transform:rotate(45deg) scale(1); }
 
.xtra__box:focus-visible + .xtra__tick{ outline:2px solid var(--lime); outline-offset:3px; }
.xtra__box:checked ~ .xtra__body .xtra__name{ color:var(--t-hi); }

.xtra__body{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.xtra__name{ font-family:var(--display); font-size:18px; color:var(--t-hi); }
.xtra__detail{ font-size:13px; line-height:1.5; color:var(--t-low); }
.xtra__price{
  margin-left:auto; align-self:center;
  font-family:var(--display); font-size:20px; color:var(--lime); white-space:nowrap;
}

 
.xtra__label:has(.xtra__box:disabled){ cursor:default; opacity:.6; }
.xtra__label:has(.xtra__box:disabled):hover{ border-color:rgba(234,232,227,.16); background:rgba(18,17,16,.5); }
.xtra__label.is-included .xtra__price{ color:var(--t-low); font-size:15px; font-family:var(--sans); font-weight:600; }

 
.bksum__list--extras{ margin-top:-18px; }
.bksum__list--extras dt{ text-transform:none; letter-spacing:.04em; font-family:var(--sans); font-size:12px; }
.bksum__list--extras dd{ font-size:13px; color:var(--t-mid); }

@media (max-width:560px){
  .xtra__label{ padding:14px; gap:11px; }
  .xtra__name{ font-size:16px; }
  .xtra__price{ font-size:17px; }
}

 
.xtra--static{
  display:flex; align-items:flex-start; gap:14px;
  padding:16px 18px;
  border:1px solid rgba(234,232,227,.16); border-radius:12px;
  background:rgba(18,17,16,.5);
}
.xtras--static{ max-width:620px; }

 
:root{ --ok: var(--lime); }

.ctadlg{
  position:fixed; inset:0; z-index:130;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
   
  background:rgba(8,7,6,.88);
  opacity:0; transition:opacity .32s var(--ease);
}
.ctadlg.is-open{ opacity:1; }
.ctadlg[hidden]{ display:none; }

.ctadlg__card{
  position:relative; width:100%; max-width:440px;
  background:var(--ground); border:1px solid rgba(var(--lime-rgb),.22); border-radius:22px;
  padding:clamp(28px,4vw,40px);
  max-height:calc(100vh - 48px); overflow-y:auto;
  transform:translateY(10px) scale(.98); transition:transform .36s var(--ease);
}
.ctadlg.is-open .ctadlg__card{ transform:none; }

.ctadlg__close{
  position:absolute; top:16px; right:16px;
  width:34px; height:34px; border-radius:50%;
  border:1px solid rgba(234,232,227,.2); background:transparent; color:var(--t-mid);
  font-size:16px; line-height:1; cursor:pointer;
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.ctadlg__close:hover{ border-color:var(--lime); color:var(--lime); }

.ctadlg__eyebrow{
  font-family:var(--data); font-size:10px; letter-spacing:var(--track-accent); text-transform:uppercase;
  color:var(--lime); margin-bottom:12px;
}
.ctadlg__title{
  font-family:var(--display); font-weight:600; font-size:clamp(24px,3.4vw,28px);
  color:var(--t-hi); line-height:1.15; margin-bottom:12px;
  text-wrap:balance;
   
  margin-top:26px;
}
 
.ctadlg__accent{ color:var(--lime); font-weight:700; }
.ctadlg__body{ font-size:14.5px; line-height:1.6; color:var(--t-mid); margin-bottom:22px; }

.ctadlg__row{ display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.ctadlg__check{
  display:flex; align-items:flex-start; gap:11px; margin:20px 0 22px; cursor:pointer;
}
.ctadlg__check input{ position:absolute; opacity:0; width:1px; height:1px; }
.ctadlg__check span.tick{
  flex:0 0 auto; width:19px; height:19px; margin-top:1px; border-radius:6px;
  border:1px solid rgba(234,232,227,.34); position:relative;
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.ctadlg__check span.tick::after{
  content:""; position:absolute; left:5px; top:1px; width:5px; height:10px;
  border:solid var(--ink); border-width:0 2px 2px 0; transform:rotate(45deg) scale(.4); opacity:0;
  transition:opacity .18s var(--ease), transform .18s var(--ease);
}
.ctadlg__check input:checked + .tick{ background:var(--lime); border-color:var(--lime); }
.ctadlg__check input:checked + .tick::after{ opacity:1; transform:rotate(45deg) scale(1); }
.ctadlg__check input:focus-visible + .tick{ outline:2px solid var(--lime); outline-offset:3px; }
.ctadlg__check p{ font-size:13px; line-height:1.5; color:var(--t-low); }

.ctadlg__err{ font-size:12.5px; color:#e8a49a; margin:-8px 0 14px; min-height:1em; }
.ctadlg__small{ font-size:11.5px; color:var(--t-low); text-align:center; margin-top:14px; }

 
.bksum__promo{
  display:flex; align-items:center; gap:8px;
  font-family:var(--data); font-size:11px; letter-spacing:.06em; color:var(--ok);
  border:1px dashed rgba(var(--lime-rgb),.45); border-radius:10px;
  padding:9px 12px; margin:-6px 0 16px;
}
.promo__row{ display:flex; gap:10px; }
.promo__row .bkform__input{ flex:1; }
.promo__apply{
  flex:0 0 auto; padding:0 20px; border-radius:10px;
  border:1px solid rgba(var(--lime-rgb),.4); background:transparent; color:var(--lime);
  font-family:var(--sans); font-size:14px; font-weight:600; cursor:pointer;
  transition:background .3s var(--ease), color .3s var(--ease);
}
.promo__apply:hover{ background:var(--lime); color:var(--ink); }
.promo__msg{ font-size:14px; min-height:1.4em; }
.promo__msg.is-ok{ color:var(--ok); }
.promo__msg.is-err{ color:#e8a49a; }

@media (max-width:560px){
  .ctadlg{ padding:16px; align-items:flex-end; }
  .ctadlg__card{ border-radius:20px 20px 0 0; max-height:calc(100vh - 32px); }
}


 
 
.waitlist{
  margin-top:18px; border-radius:14px; overflow:hidden;
  border:1px solid rgba(var(--lime-rgb),.35); background:rgba(18,17,16,.55);
  transition:border-color .5s var(--ease), background .5s var(--ease);
}
.waitlist.is-open{ border-color:rgba(var(--lime-rgb),.6); background:rgba(18,17,16,.7); }
.waitlist__toggle{
  display:flex; align-items:center; gap:14px; width:100%; margin:0; padding:15px 18px;
  border:0; background:none; color:var(--t-mid); font:inherit; font-size:13.5px; line-height:1.45;
  text-align:left; cursor:pointer; transition:color .3s var(--ease), background .3s var(--ease);
}
.waitlist__toggle:hover{ color:var(--t-hi); background:rgba(var(--lime-rgb),.05); }
.waitlist__toggle:focus-visible{ outline:2px solid var(--lime); outline-offset:-2px; border-radius:14px; }
.waitlist__prompt{ flex:1; }
.waitlist__prompt strong{ color:var(--t-hi); font-weight:500; }
.waitlist__chev{
  flex:none; width:9px; height:9px; margin-right:3px;
  border-right:1.5px solid var(--lime); border-bottom:1.5px solid var(--lime);
  transform:rotate(45deg) translateY(-2px); transition:transform .5s var(--ease);
}
.waitlist.is-open .waitlist__chev{ transform:rotate(-135deg) translateY(-2px); }
.waitlist__body{
  display:grid; grid-template-rows:0fr; transition:grid-template-rows .6s var(--ease);
}
.waitlist.is-open .waitlist__body{ grid-template-rows:1fr; }
.waitlist__form{
  min-height:0; overflow:hidden; padding:0 18px;
  opacity:0; transform:translateY(14px); filter:blur(6px); visibility:hidden;
  transition:opacity .6s var(--ease), transform .6s var(--ease), filter .6s var(--ease), visibility 0s .6s, padding .6s var(--ease);
}
.waitlist.is-open .waitlist__form{
  padding:4px 18px 18px; opacity:1; transform:none; filter:blur(0); visibility:visible;
  transition:opacity .7s var(--ease) .15s, transform .7s var(--ease) .15s, filter .7s var(--ease) .15s, visibility 0s, padding .6s var(--ease);
}
.waitlist__title{ margin:0; font-family:var(--display); font-size:19px; color:var(--t-hi); }
.waitlist__sub{ margin:6px 0 14px; font-size:13px; line-height:1.5; color:var(--t-mid); }
.waitlist__grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; }
.waitlist__field{ display:flex; flex-direction:column; gap:5px; }
.waitlist__field span{ font-family:var(--sans); font-size:14px; font-weight:600; color:var(--t-hi); }
.waitlist__field span em{ font-style:normal; font-weight:400; font-size:12.5px; color:var(--t-low); }
.waitlist__field input, .waitlist__field select{
  padding:10px 12px; border:1px solid rgba(234,232,227,.18); border-radius:9px;
  background:rgba(18,17,16,.6); color:var(--t-hi); font:inherit; font-size:14px; color-scheme:dark;
}
.waitlist__field input:focus-visible, .waitlist__field select:focus-visible{ outline:2px solid var(--lime); outline-offset:1px; }
.waitlist__nights{ margin:10px 0 0; font-family:var(--data); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--t-mid); }
.waitlist__check{ display:flex; gap:10px; align-items:flex-start; margin-top:12px; font-size:13px; line-height:1.45; color:var(--t-mid); }
.waitlist__check input{ margin-top:3px; accent-color:var(--lime); }
.waitlist__check--offers strong{ color:var(--t-hi); font-weight:500; }
.waitlist__fine{ margin:14px 0 0; font-size:12px; line-height:1.5; color:var(--t-low); }
.waitlist__fine a{ color:var(--t-mid); text-decoration:underline; text-underline-offset:2px; }
.waitlist__actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.waitlist__msg{ margin:12px 0 0; font-size:13px; color:var(--lime); }
.waitlist__msg.is-err{ color:#e8a598; }
@media (max-width:520px){ .waitlist__grid{ grid-template-columns:1fr; } .waitlist__toggle{ padding:14px 16px; } }
@media (prefers-reduced-motion: reduce){
  .waitlist__body{ transition:none; }
  .waitlist__form, .waitlist.is-open .waitlist__form{ transition:opacity .3s ease; transform:none; filter:none; }
  .waitlist__chev{ transition:none; }
}

 
.bksteps{
  position:sticky; top:var(--pnav-h, 68px); z-index:55;
  padding:12px clamp(20px,4vw,44px) 10px;
  background:rgba(14,13,12,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.bksteps ol{ list-style:none; margin:0 auto; padding:0; max-width:960px; display:flex; align-items:center; gap:10px; }
.bksteps li{ display:flex; align-items:center; gap:8px; font-family:var(--sans); font-size:14px; font-weight:600; color:var(--t-low); white-space:nowrap; }
.bksteps li i{
  width:28px; height:28px; border-radius:50%; display:grid; place-items:center;
  border:1.5px solid rgba(234,232,227,.3); font-style:normal; font-size:13px;
}
.bksteps li.is-now{ color:var(--t-hi); }
.bksteps li.is-now i{ background:var(--lime); border-color:var(--lime); color:var(--ink); }
.bksteps li.is-done{ color:var(--t-mid); }
.bksteps li.is-done i{ border-color:rgba(var(--lime-rgb),.7); color:var(--lime); }
.bksteps .bksteps__line{ flex:1; min-width:10px; height:2px; background:var(--line); }
.bksteps .bksteps__line.is-done{ background:rgba(var(--lime-rgb),.6); }
.bksteps__say{ margin:8px auto 0; max-width:960px; font-family:var(--sans); font-size:14px; color:var(--t-mid); }
@media (max-width: 720px){
  .bksteps ol{ gap:6px; }
  .bksteps li span{ display:none; }
  .bksteps li.is-now span{ display:inline; }
}
#dates, #extras, #details{ scroll-margin-top:calc(var(--pnav-h, 68px) + var(--steps-h, 90px) + 12px); }

.bksum__go, .bkcont .btn, #payGo{
  font-family:var(--sans); font-size:15px; letter-spacing:0; text-transform:none; font-weight:600;
}
.bksum__sentence, .paysentence{
  margin:0 0 18px; padding:14px 16px; border-radius:14px;
  background:rgba(var(--lime-rgb),.1); border:1px solid rgba(var(--lime-rgb),.35);
  font-size:15px; line-height:1.55; color:var(--t-hi);
}
.bksum__sentence b, .paysentence b{ font-weight:600; }
.paysentence{ margin:clamp(22px,3vh,30px) 0 0; max-width:58ch; }

.bkcont{
  position:fixed; left:50%; bottom:18px; z-index:70;
  width:min(660px, calc(100% - 24px)); transform:translateX(-50%);
  display:flex; align-items:center; gap:14px;
  padding:12px 12px 12px 20px; border-radius:20px;
  background:rgba(30,28,25,.96); border:1px solid rgba(var(--lime-rgb),.5);
  box-shadow:0 -10px 40px -10px rgba(0,0,0,.8); backdrop-filter:blur(10px);
  transition:transform .45s var(--ease), opacity .3s var(--ease);
}
.bkcont.is-gone{ transform:translate(-50%,150%); opacity:0; pointer-events:none; }
.bkcont div{ font-size:14px; line-height:1.35; color:var(--t-mid); }
.bkcont b{ display:block; font-size:16px; font-weight:600; color:var(--t-hi); }
.bkcont .btn{ margin-left:auto; white-space:nowrap; padding:13px 18px; }
@media (max-width: 480px){ .bkcont .btn{ padding:12px 14px; font-size:14px; } }
 
@media (max-width: 400px){
  .bkcont{ flex-wrap:wrap; gap:10px; }
  .bkcont div{ flex:1 1 100%; }
  .bkcont b{ display:inline; font-size:15px; }
  .bkcont b::after{ content:"\00b7"; margin:0 7px; font-weight:400; color:var(--t-mid); }
  .bkcont .btn{ flex:1 1 100%; margin-left:0; justify-content:center; }
}

 
 
section.lhero{ position:relative; z-index:auto; overflow:visible; background:var(--ground); padding:18px clamp(20px,4vw,44px) clamp(48px,7vh,80px); }
.lhero__gal{ max-width:1320px; margin:0 auto; position:relative; }
.xgal--top{ margin-top:0; position:relative; }
.xgal--top .xgal__row{ height:clamp(300px,46vh,480px); }
.lhero__all{
  position:absolute; right:16px; bottom:14px; z-index:2;
  border:0; border-radius:999px; background:var(--t-hi); color:var(--ink); cursor:pointer;
  font-family:var(--sans); font-size:14px; font-weight:700; padding:10px 18px;
  box-shadow:0 8px 24px -8px rgba(0,0,0,.7);
}
.lhero__all:focus-visible{ outline:2px solid var(--lime); outline-offset:3px; }
.lhero__none{
  margin:0; padding:clamp(60px,12vh,120px) 24px; text-align:center; border-radius:16px;
  border:1px dashed rgba(234,232,227,.25); color:var(--t-mid); font-size:16px;
}

 
.lswipe, .lswipe__thumbs{ display:none; }
.lswipe__track{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.lswipe__track::-webkit-scrollbar{ display:none; }
.lswipe__track.is-peek{ animation:lswipePeek 1.3s var(--ease); }
@keyframes lswipePeek{ 35%,55%{ transform:translateX(-54px); } }
.lswipe__slide{ flex:0 0 100%; scroll-snap-align:start; padding:0; border:0; background:none; cursor:zoom-in; }
.lswipe__slide img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:rgba(234,232,227,.05); user-select:none; }
.lswipe__arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:40px; height:40px; border-radius:50%; border:0; cursor:pointer;
  display:grid; place-items:center; padding:0 0 3px;
  background:rgba(14,13,12,.62); color:var(--t-hi); font-size:26px; line-height:1;
  backdrop-filter:blur(6px); transition:opacity .25s var(--ease);
}
.lswipe__arrow:disabled{ opacity:0; pointer-events:none; }
.lswipe__arrow--prev{ left:10px; } .lswipe__arrow--next{ right:10px; }
.lswipe .lhero__all{ left:12px; right:auto; bottom:12px; font-size:13px; padding:8px 13px; }
.lswipe__count{
  position:absolute; right:12px; bottom:12px; z-index:2;
  background:rgba(14,13,12,.75); color:var(--t-hi); border-radius:999px; padding:6px 11px;
  font-family:var(--sans); font-size:13px; font-weight:600;
}
.lswipe__thumbs{ position:relative; gap:6px; overflow-x:auto; padding:8px 16px 2px; scrollbar-width:none; }
.lswipe__thumbs::-webkit-scrollbar{ display:none; }
.lswipe__thumbs button{
  flex:0 0 58px; height:44px; padding:0; border:2px solid transparent; border-radius:8px;
  overflow:hidden; background:none; cursor:pointer; opacity:.5; transition:opacity .25s, border-color .25s;
}
.lswipe__thumbs button.is-on{ border-color:var(--lime); opacity:1; }
.lswipe__thumbs img{ display:block; width:100%; height:100%; object-fit:cover; }
@media (max-width: 780px){
  section.lhero{ padding:0 0 clamp(36px,6vh,56px); }
  .xgal--top{ display:none; }
  .lswipe{ display:block; position:relative; }
  .lswipe__thumbs{ display:flex; }
}

 
.lhero__body{
  max-width:1180px; margin:clamp(28px,4vh,44px) auto 0;
  display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:clamp(34px,5vw,72px); align-items:start;
}
@media (max-width: 900px){ .lhero__body{ grid-template-columns:1fr; } }
@media (max-width: 780px){ .lhero__body{ padding:0 20px; margin-top:18px; gap:24px; } }
.lhero__eyebrow{
  margin:0 0 14px; font-family:var(--data); font-size:10.5px; letter-spacing:var(--track-accent);
  text-transform:uppercase; color:rgba(var(--lime-rgb),.9);
}
.lhero__eyebrow a{ color:inherit; }
.lhero__eyebrow a:hover{ color:var(--t-hi); }
.lhero__title{ margin:0; font-family:var(--display); font-weight:500; font-size:clamp(38px,5vw,68px); line-height:1.02; color:var(--t-hi); }
.lhero__deck{ margin:16px 0 0; font-size:clamp(16px,1.3vw,19px); line-height:1.55; color:var(--t-mid); max-width:44ch; }
.lchips{ list-style:none; padding:0; margin:22px 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.lchips li{ border:1px solid rgba(234,232,227,.18); border-radius:999px; padding:7px 13px; font-size:14px; color:var(--t-mid); }
.lchips b{ color:var(--t-hi); font-weight:600; }

 
.lcard{
  position:relative; display:grid; gap:12px; padding:22px;
  border:1px solid rgba(var(--lime-rgb),.28); border-radius:20px;
  background:linear-gradient(165deg, #221f1c, #121110);
  box-shadow:0 34px 80px -30px rgba(0,0,0,.75);
}
.lcard__price{ margin:0; font-size:14px; color:var(--t-mid); }
.lcard__price b{ font-family:var(--display); font-weight:500; font-size:34px; line-height:1; color:var(--t-hi); margin-right:8px; }
.lcard__fields{ display:grid; grid-template-columns:1fr 1fr; border:1.5px solid rgba(234,232,227,.3); border-radius:12px; overflow:hidden; }
.lcard__field{
  display:grid; gap:3px; padding:10px 14px 11px; text-align:left; cursor:pointer;
  border:0; background:transparent; color:var(--t-hi); font-family:var(--sans);
  transition:background .2s var(--ease), box-shadow .2s var(--ease);
}
.lcard__field + .lcard__field{ border-left:1.5px solid rgba(234,232,227,.3); }
.lcard__field span{ font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--t-low); }
.lcard__field b{ font-size:16px; font-weight:600; }
.lcard__field b.is-empty{ color:rgba(234,232,227,.42); font-weight:500; }
.lcard__field:hover{ background:rgba(var(--lime-rgb),.06); }
.lcard__field.is-active{ background:rgba(var(--lime-rgb),.12); box-shadow:inset 0 0 0 2px var(--lime); }
.lcard__field:focus-visible{ outline:2px solid var(--lime); outline-offset:-2px; }
.lcard__times{ margin:0; font-size:13.5px; color:var(--t-low); }
.lcard__ok{
  margin:0; padding:10px 12px; border-radius:10px; font-size:15px; line-height:1.45; color:var(--t-hi);
  background:rgba(var(--lime-rgb),.1); border:1px solid rgba(var(--lime-rgb),.4);
}
.lcard__ok::before{ content:"\2713  "; color:var(--lime); font-weight:700; }
.lcard__go{
  width:100%; justify-content:center; padding:16px;
  font-family:var(--sans); font-size:16px; letter-spacing:0; text-transform:none; font-weight:600;
}
.lcard__go.is-book{ animation:lcardPop .55s var(--ease); }
@keyframes lcardPop{ 40%{ transform:scale(1.04); } }
.lcard__change{
  justify-self:center; padding:0; border:0; background:none; cursor:pointer;
  font-family:var(--sans); font-size:14px; color:var(--t-mid); text-decoration:underline; text-underline-offset:3px;
}
.lcard__change:hover{ color:var(--t-hi); }
.lcard__free{ margin:0; text-align:center; font-size:13px; color:var(--t-low); }

 
.lcal{
  position:absolute; right:0; z-index:40; width:min(780px, calc(100vw - 48px));
  padding:18px 22px 20px; border:1px solid rgba(234,232,227,.3); border-radius:20px;
  background:#151412; box-shadow:0 30px 70px -20px rgba(0,0,0,.95);
}
.lcal:focus{ outline:none; }
.lcal__head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.lcal__head b{ display:block; font-family:var(--display); font-weight:500; font-size:26px; line-height:1.1; color:var(--t-hi); }
.lcal__head span{ display:block; font-size:13px; color:var(--t-low); }
.lcal__close{
  margin-left:auto; flex:none; width:38px; height:38px; border-radius:50%; cursor:pointer;
  border:1px solid rgba(234,232,227,.3); background:none; color:var(--t-hi); font-size:20px; line-height:1;
}
.lcal__close:hover{ border-color:var(--lime); color:var(--lime); }
.lcal .bkcal__guide{ margin-bottom:14px; }
.lcal__months{ display:grid; gap:20px; }
.lcal__months--2{ grid-template-columns:1fr 1fr; gap:28px; }
.lcal__m{ min-width:0; }
.lcal .bkcal__head{ margin-bottom:10px; }
.lcal__spacer{ min-width:34px; }
.lcal .bkcal__day{ min-height:42px; }
.lcal .bkcal__sub-long{ display:none; }
.lcal .bkcal__sub-short{ display:inline; }
.lcal__key{ display:flex; flex-wrap:wrap; gap:6px 16px; margin:14px 0 0; font-size:13px; color:var(--t-mid); }
.lcal__key span{ display:inline-flex; align-items:center; gap:7px; }
.lcal__key i.bkcal__day{ display:inline-block; width:22px; min-height:0; height:16px; border-radius:4px; pointer-events:none; }
.lcal__scrim{ position:fixed; inset:0; z-index:94; background:rgba(0,0,0,.55); }

 
@media (max-width: 899px){
  .lcal{
    position:fixed; left:0; right:0; bottom:0; top:auto !important; z-index:95;
    width:auto; max-height:90vh; overflow-y:auto; overscroll-behavior:contain;
    padding:14px 16px calc(22px + env(safe-area-inset-bottom, 0px));
    border-radius:22px 22px 0 0; border-bottom:0;
    transform:translateY(100%); transition:transform .4s var(--ease);
  }
  .lcal.is-open{ transform:none; }
  body.lcal-open{ overflow:hidden; }
}
@media (prefers-reduced-motion: reduce){
  .lcal{ transition:none; }
  .lswipe__track.is-peek, .lcard__go.is-book{ animation:none; }
}

 
.lbar .btn{ font-family:var(--sans); font-size:15px; letter-spacing:0; text-transform:none; font-weight:600; }

