/* Dream Hospitality — Luxury Cinematic Web System (original work; style principles only) */
:root{
  --lc-bg:#060504;
  --lc-bg-elev:#0c0a08;
  --lc-ink:#f4f0e8;
  --lc-ink-soft:rgba(244,240,232,.62);
  --lc-ink-dim:rgba(244,240,232,.38);
  --lc-gold:#c9a962;
  --lc-gold-soft:rgba(201,169,98,.45);
  --lc-line:rgba(201,169,98,.18);
  --lc-glass:rgba(12,10,8,.55);
  --lc-serif:'Playfair Display',Georgia,serif;
  --lc-sans:'DM Sans',-apple-system,system-ui,sans-serif;
  --lc-nav-h:56px;
  --lc-radius:14px;
  --lc-ease:cubic-bezier(.22,1,.36,1);
  --lc-shadow:0 24px 80px rgba(0,0,0,.55);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{
  font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;
  overflow-x:clip;width:100%;max-width:100%;
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .lc-float,.lc-orb,.lc-reveal{animation:none!important;transition:none!important;}
  .lc-hero-panel--cinema,.lc-hero-seq{animation:none!important;}
  #scene-hero .lc-hero-seq{opacity:1!important;transform:none!important;}
  #scene-hero .lc-hero-panel--cinema{opacity:1!important;transform:perspective(1200px) rotateX(2deg)!important;}
  .lc-hero-cta-glow{opacity:0!important;}
  .lc-hero-poster{transition:none!important;}
  .lc-hero-surface-img{transition:none!important;}
  #scene-hero .lc-hero-media{animation:none!important;transform:none!important;}
  #scene-hero .lc-hero-tilt{perspective:none!important;}
  #scene-hero .lc-hero-tilt::after{opacity:0!important;}
  #scene-hero .lc-hero-video{display:none!important;}
}

body{
  background:var(--lc-bg);
  color:var(--lc-ink);
  font-family:var(--lc-sans);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;max-width:100%;
}
html.nav-open,body.nav-open{overflow:hidden;touch-action:none;}

/* --- Nav (glass, minimal) — z above hero 3D layers (Safari compositing) --- */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:10050;height:var(--lc-nav-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 max(clamp(16px,4vw,48px),env(safe-area-inset-right)) 0 max(clamp(16px,4vw,48px),env(safe-area-inset-left));
  border-bottom:1px solid transparent;
  background:transparent;
  isolation:isolate;
  transition:background .5s var(--lc-ease),border-color .5s,backdrop-filter .5s;
}
#nav.scrolled{
  background:rgba(6,5,4,.72);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom-color:var(--lc-line);
}
.n-logo{
  font-family:var(--lc-serif);
  font-size:17px;font-weight:500;letter-spacing:.04em;
  color:var(--lc-ink);text-decoration:none;
}
.n-logo span{color:var(--lc-gold);}
.n-links{display:flex;gap:clamp(20px,3vw,36px);align-items:center;}
.n-links a{
  font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:var(--lc-ink-dim);text-decoration:none;transition:color .25s;
}
.n-links a:hover{color:var(--lc-ink);}
.n-links .n-link-disabled{color:rgba(244,240,232,.22);cursor:not-allowed;}
.n-cta{
  font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lc-bg);background:var(--lc-gold);
  padding:10px 22px;border-radius:999px;text-decoration:none;
  border:1px solid var(--lc-line);transition:transform .35s var(--lc-ease),opacity .25s;
}
.n-cta:hover{opacity:.92;transform:translateY(-1px);}
.n-menu-btn{
  display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:44px;height:44px;padding:0;border:none;border-radius:999px;
  cursor:pointer;touch-action:manipulation;
  position:relative;
  z-index:2;
  -webkit-tap-highlight-color:transparent;
  background:rgba(5,4,3,.62);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(201,169,98,.38);
  box-shadow:0 0 0 1px rgba(255,252,245,.08) inset,0 8px 28px rgba(0,0,0,.45);
  transition:background .35s var(--lc-ease),border-color .35s var(--lc-ease),box-shadow .35s var(--lc-ease);
}
.n-menu-bar{
  display:block;width:18px;height:2px;border-radius:2px;
  background:rgba(8,7,6,.92);
  box-shadow:0 0 0 1px rgba(255,252,245,.42),0 2px 4px rgba(0,0,0,.45);
  transition:transform .28s var(--lc-ease),opacity .28s var(--lc-ease),background .28s var(--lc-ease),box-shadow .28s var(--lc-ease);
}
#nav.scrolled .n-menu-btn{
  background:rgba(10,9,8,.58);
  border-color:rgba(201,169,98,.32);
  box-shadow:0 0 0 1px rgba(255,252,245,.07) inset,0 10px 32px rgba(0,0,0,.35);
}
#nav.scrolled .n-menu-bar{
  background:rgba(244,240,232,.95);
  box-shadow:0 0 0 1px rgba(0,0,0,.22),0 1px 3px rgba(0,0,0,.4);
}
nav.nav-open .n-menu-btn{
  background:rgba(10,9,8,.62);
  border-color:rgba(201,169,98,.38);
}
nav.nav-open .n-menu-btn .n-menu-bar{
  background:var(--lc-gold);
  box-shadow:0 0 12px rgba(201,169,98,.25);
}
nav.nav-open .n-menu-btn .n-menu-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
nav.nav-open .n-menu-btn .n-menu-bar:nth-child(2){opacity:0;}
nav.nav-open .n-menu-btn .n-menu-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.n-backdrop{
  display:none;position:fixed;inset:var(--lc-nav-h) 0 0;z-index:9990;
  background:rgba(0,0,0,.52);border:0;cursor:pointer;pointer-events:none;
  -webkit-tap-highlight-color:transparent;
}
nav.nav-open .n-backdrop{display:block;pointer-events:auto;}

/* --- Scenes --- */
.lc-scene{
  position:relative;
  padding:clamp(72px,14vh,120px) max(clamp(20px,5vw,64px),env(safe-area-inset-right)) clamp(72px,14vh,120px) max(clamp(20px,5vw,64px),env(safe-area-inset-left));
  isolation:isolate;
}
.lc-scene--tight{padding-block:clamp(56px,10vh,88px);}
#scene-hero,#scene-manifesto,#scene-capabilities,#scene-work,#scene-story,#reserve,.lc-footer-wrap{
  scroll-margin-top:calc(var(--lc-nav-h) + 12px);
}
#nights,#experience{scroll-margin-top:calc(var(--lc-nav-h) + 12px);}

.lc-orb{
  position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;pointer-events:none;
  will-change:transform;
}
.lc-orb--a{width:min(55vw,420px);height:min(55vw,420px);background:radial-gradient(circle at 30% 30%,var(--lc-gold-soft),transparent 70%);top:-8%;right:-10%;}
.lc-orb--b{width:min(45vw,360px);height:min(45vw,360px);background:radial-gradient(circle,rgba(80,60,40,.5),transparent 70%);bottom:5%;left:-15%;}

.lc-kicker{
  font-size:10px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--lc-gold);
  margin-bottom:clamp(18px,3vh,28px);
}
.lc-h1{
  font-family:var(--lc-serif);
  font-weight:500;
  font-size:clamp(2.75rem,8vw,5.75rem);
  line-height:.95;letter-spacing:-.03em;color:var(--lc-ink);
}
.lc-h1 em{font-style:italic;font-weight:400;color:var(--lc-gold);}
.lc-lead{
  margin-top:clamp(20px,4vh,32px);
  max-width:34rem;font-size:clamp(15px,1.35vw,18px);font-weight:300;line-height:1.65;color:var(--lc-ink-soft);
}
.lc-rule{width:48px;height:1px;background:linear-gradient(90deg,var(--lc-gold),transparent);margin:clamp(24px,4vh,40px) 0;}

/* Hero */
.lc-hero{min-height:100svh;display:flex;align-items:flex-end;padding-bottom:clamp(48px,10vh,100px);}
/* z hero: tilt stage → poster → video → surface → scrim+… → 10 content (CSS 3D, not stereo video) */
.lc-hero-bg{
  position:absolute;inset:0;z-index:1;overflow:hidden;
  contain:paint;
}
.lc-hero-tilt{
  position:absolute;inset:-4%;
  z-index:0;
  pointer-events:none;
  perspective:min(1680px,220vw);
  perspective-origin:50% 36%;
  transform-style:preserve-3d;
}
.lc-hero-tilt::after{
  content:"";
  position:absolute;inset:0;z-index:8;
  pointer-events:none;
  box-shadow:
    inset 0 0 72px rgba(0,0,0,.26),
    inset 0 0 160px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,252,245,.06);
  border-radius:3px;
}
.lc-hero-media{
  position:absolute;inset:0;z-index:1;
  isolation:isolate;
  will-change:transform;
  transform-origin:center 36%;
  transform:rotateX(5.15deg) translateZ(-28px) scale(1.048);
  animation:lcHeroKenburns3d 96s ease-in-out infinite alternate;
}
.lc-hero-poster,.lc-hero-video{
  position:absolute;inset:0;
  width:100%;height:100%;
  max-width:none;
  object-fit:cover;object-position:center 35%;
  display:block;
}
.lc-hero-poster{
  z-index:1;
  transition:opacity 1.1s var(--lc-ease);
}
.lc-hero-media:has(.lc-hero-video.lc-hero-video--ready) .lc-hero-poster{
  opacity:0;
}
.lc-hero-media:has(.lc-hero-video.lc-hero-video--ready) .lc-hero-surface-img{
  opacity:.32;
}
.lc-hero-video{
  z-index:2;
  filter:brightness(.9) contrast(1.04) saturate(.96);
}
/* Full-bleed key art over poster/video; opacity keeps motion visible underneath */
.lc-hero-surface-img{
  position:absolute;inset:0;z-index:3;
  pointer-events:none;
  opacity:.5;
  transition:opacity 1s var(--lc-ease);
}
.lc-hero-surface-img-el{
  width:100%;height:100%;
  object-fit:cover;object-position:center 36%;
  display:block;
  filter:brightness(.9) contrast(1.04) saturate(.92);
}
.lc-hero-video.lc-hero-video--fail{display:none!important;}
@keyframes lcHeroKenburns3d{
  from{transform:rotateX(5.15deg) translateZ(-28px) scale(1.03);}
  to{transform:rotateX(4.4deg) translateZ(-14px) scale(1.095);}
}
.lc-hero-cinematic-scrim{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  opacity:.38;
  background:
    linear-gradient(198deg,rgba(5,7,12,.1) 0%,transparent 56%),
    linear-gradient(0deg,rgba(2,3,8,.16) 0%,transparent 58%),
    radial-gradient(ellipse 96% 52% at 50% -6%,rgba(201,169,98,.07),transparent 62%);
  mix-blend-mode:multiply;
}
.lc-hero-cinematic-noise{
  position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.038;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:220px 220px;
}
.lc-hero-vignette{
  position:absolute;inset:0;z-index:5;pointer-events:none;
  background:
    radial-gradient(ellipse 125% 100% at 50% 52%,transparent 48%,transparent 62%,rgba(4,3,2,.38) 86%,rgba(0,0,0,.78) 100%),
    radial-gradient(ellipse 72% 88% at 0% 50%,rgba(0,0,0,.48),transparent 54%),
    radial-gradient(ellipse 72% 88% at 100% 50%,rgba(0,0,0,.48),transparent 54%),
    radial-gradient(ellipse 92% 42% at 50% 0%,rgba(6,5,4,.16),transparent 52%),
    linear-gradient(180deg,rgba(6,5,4,.14) 0%,transparent 24%,transparent 72%,rgba(6,5,4,.28) 100%);
}
.lc-hero-cta-glow{
  position:absolute;inset:auto 0 0;left:50%;transform:translate3d(-50%,0,0);
  width:min(96vw,720px);height:min(52vh,460px);bottom:clamp(64px,11vh,132px);
  z-index:8;pointer-events:none;
  background:radial-gradient(ellipse 78% 70% at 50% 100%,rgba(201,169,98,.24),rgba(201,169,98,.07) 38%,transparent 72%);
  filter:blur(3px);
  opacity:.92;
}
#scene-hero .lc-orb{z-index:6;}
.lc-hero-grid{position:relative;z-index:10;width:100%;max-width:1200px;margin:0 auto;}
#scene-hero .lc-h1{
  text-shadow:0 2px 3px rgba(0,0,0,.92),0 10px 44px rgba(0,0,0,.68),0 28px 88px rgba(0,0,0,.48);
}
#scene-hero .lc-lead{
  text-shadow:0 1px 2px rgba(0,0,0,.9),0 6px 28px rgba(0,0,0,.55);
}
#scene-hero .lc-kicker{
  text-shadow:0 1px 14px rgba(0,0,0,.6);
}
.lc-hero-panel{
  max-width:min(100%,920px);
  padding:clamp(20px,3vw,32px) clamp(20px,3vw,28px);
  border:1px solid var(--lc-line);
  border-radius:var(--lc-radius);
  background:linear-gradient(135deg,rgba(12,10,8,.52),rgba(6,5,4,.38));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:var(--lc-shadow),0 0 0 1px rgba(255,252,245,.04) inset;
  transform:perspective(1200px) rotateX(2deg);
  transform-style:preserve-3d;
}
.lc-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,5vh,40px);}
.lc-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:14px 28px;border-radius:999px;text-decoration:none;transition:transform .4s var(--lc-ease),opacity .25s;
  border:1px solid transparent;
}
.lc-btn--primary{background:var(--lc-gold);color:var(--lc-bg);border-color:rgba(201,169,98,.4);}
.lc-btn--ghost{color:var(--lc-ink);border-color:var(--lc-line);background:rgba(244,240,232,.04);}
.lc-btn:hover{transform:translateY(-3px);}
.lc-count{display:flex;align-items:baseline;gap:14px;margin-top:clamp(28px,5vh,44px);}
.lc-count-num{font-family:var(--lc-serif);font-size:clamp(2.5rem,7vw,4rem);font-weight:600;color:var(--lc-ink);}
.lc-count-lbl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--lc-ink-dim);}

@keyframes lcHeroSeqIn{
  from{opacity:0;transform:translate3d(0,14px,0);}
  to{opacity:1;transform:translate3d(0,0,0);}
}
@keyframes lcHeroPanelIn{
  from{opacity:0;transform:perspective(1200px) rotateX(5.2deg) translate3d(0,20px,0);}
  to{opacity:1;transform:perspective(1200px) rotateX(2deg) translate3d(0,0,0);}
}
@media (prefers-reduced-motion:no-preference){
  /* Glass panel first, then kicker → headline → lead → actions → count */
  #scene-hero .lc-hero-panel--cinema{animation:lcHeroPanelIn 1.28s var(--lc-ease) .06s both;}
  #scene-hero .lc-hero-seq--1{animation:lcHeroSeqIn .92s var(--lc-ease) .26s both;}
  #scene-hero .lc-hero-seq--2{animation:lcHeroSeqIn 1s var(--lc-ease) .48s both;}
  #scene-hero .lc-hero-seq--3{animation:lcHeroSeqIn .92s var(--lc-ease) .72s both;}
  #scene-hero .lc-hero-seq--4{animation:lcHeroSeqIn .9s var(--lc-ease) .96s both;}
  #scene-hero .lc-hero-seq--5{animation:lcHeroSeqIn .84s var(--lc-ease) 1.18s both;}
}
@media (max-width:767px){
  /* Video + poster: lighter 3D (below); sources no longer gated to desktop */
  #scene-hero.lc-scene{
    padding-left:max(16px,env(safe-area-inset-left));
    padding-right:max(16px,env(safe-area-inset-right));
    padding-bottom:max(clamp(40px,10vh,88px),env(safe-area-inset-bottom));
    padding-top:max(clamp(48px,8vh,72px),calc(var(--lc-nav-h) + 4px));
  }
  .lc-hero-tilt{perspective:none;}
  .lc-hero-tilt::after{opacity:.42;}
  .lc-hero-media{animation:none!important;transform:scale(1.04)!important;}
  .lc-hero-panel{transform:none;}
  .lc-hero-surface-img{opacity:.44;}
  .lc-hero-cta-glow{opacity:.42;height:min(36vh,280px);bottom:max(clamp(52px,9vh,100px),env(safe-area-inset-bottom));}
  #scene-hero .lc-hero-actions{flex-direction:column;align-items:stretch;gap:10px;}
  #scene-hero .lc-hero-actions .lc-btn{width:100%;min-height:48px;padding-top:14px;padding-bottom:14px;}
  #scene-hero .lc-lead{font-size:clamp(16px,4.2vw,18px);line-height:1.62;}
  #scene-hero .lc-h1{font-size:clamp(2.35rem,9vw,3.75rem);}
}

/* Film strip line */
.lc-film-line{
  border-block:1px solid var(--lc-line);
  background:rgba(8,7,6,.85);
  padding:14px 0;overflow:hidden;
}
.lc-film-line-inner{
  display:flex;gap:clamp(24px,4vw,48px);white-space:nowrap;
  animation:lcMarquee 42s linear infinite;
}
@media(prefers-reduced-motion:reduce){.lc-film-line-inner{animation:none;}}
@keyframes lcMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.lc-film-item{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lc-ink-dim);}
.lc-film-item strong{color:var(--lc-gold);font-weight:600;margin-right:8px;}

/* Manifesto */
.lc-manifesto-inner{max-width:720px;margin:0 auto;text-align:center;}
.lc-h2{
  font-family:var(--lc-serif);
  font-size:clamp(2rem,4.5vw,3.25rem);
  font-weight:400;line-height:1.12;letter-spacing:-.02em;
}
.lc-h2 strong{font-weight:600;}
.lc-body{margin-top:1.5rem;font-size:clamp(15px,1.2vw,17px);font-weight:300;line-height:1.75;color:var(--lc-ink-soft);}

/* Capabilities */
.lc-stat-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  max-width:960px;margin:clamp(40px,8vh,72px) auto 0;
  border:1px solid var(--lc-line);border-radius:var(--lc-radius);overflow:hidden;
  background:var(--lc-line);
}
.lc-stat{background:rgba(10,9,8,.75);backdrop-filter:blur(10px);padding:clamp(22px,3vw,32px) 16px;text-align:center;}
.lc-stat-n{font-family:var(--lc-serif);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:600;}
.lc-stat-l{font-size:11px;font-weight:300;color:var(--lc-ink-dim);line-height:1.45;margin-top:6px;}
.lc-cap-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  max-width:1000px;margin:clamp(40px,6vh,64px) auto 0;
  border:1px solid var(--lc-line);border-radius:var(--lc-radius);overflow:hidden;
  background:var(--lc-line);
}
.lc-cap-cell{
  background:rgba(10,9,8,.72);backdrop-filter:blur(12px);
  padding:clamp(28px,4vw,40px);
  transition:background .35s var(--lc-ease),transform .35s var(--lc-ease);
}
.lc-cap-cell:hover{background:rgba(16,14,12,.88);transform:translateY(-4px);}
.lc-cap-n{font-family:var(--lc-serif);font-size:clamp(2.5rem,5vw,3.5rem);color:rgba(201,169,98,.25);line-height:1;margin-bottom:12px;}
.lc-cap-t{font-family:var(--lc-serif);font-size:clamp(1.15rem,2vw,1.35rem);margin-bottom:10px;}
.lc-cap-d{font-size:14px;font-weight:300;color:var(--lc-ink-soft);line-height:1.65;}

/* Featured — project panels */
.lc-work-head{max-width:900px;margin:0 auto clamp(32px,6vh,48px);text-align:center;}
.lc-projects{display:grid;gap:clamp(18px,3vw,24px);max-width:1100px;margin:0 auto;}
@media(min-width:900px){.lc-projects{grid-template-columns:repeat(3,1fr);}}
.lc-project{
  position:relative;border:1px solid var(--lc-line);border-radius:var(--lc-radius);
  padding:clamp(22px,3vw,28px);
  background:linear-gradient(160deg,rgba(18,16,14,.75),rgba(6,5,4,.5));
  backdrop-filter:blur(14px);
  box-shadow:0 16px 48px rgba(0,0,0,.35);
  transition:transform .45s var(--lc-ease),border-color .35s;
  transform-style:preserve-3d;
  transform:perspective(900px) rotateX(0deg);
}
.lc-project:hover{
  transform:perspective(900px) rotateX(-2deg) translateY(-6px);
  border-color:rgba(201,169,98,.35);
}
.lc-project-name{font-family:var(--lc-serif);font-size:1.35rem;margin-bottom:4px;}
.lc-project-result{font-size:12px;color:var(--lc-gold);letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;}
.lc-project-row{font-size:12px;color:var(--lc-ink-soft);line-height:1.55;margin-bottom:10px;}
.lc-project-row strong{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--lc-ink-dim);margin-bottom:4px;font-weight:600;}
.lc-project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--lc-line);}
.lc-pill{font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid var(--lc-line);color:var(--lc-ink-dim);}
.lc-project-link{
  display:inline-flex;margin-top:18px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--lc-gold);text-decoration:none;border-bottom:1px solid rgba(201,169,98,.35);padding-bottom:2px;
}
.lc-project-link:hover{color:var(--lc-ink);border-color:var(--lc-ink);}

.lc-venue-strip{
  margin-top:clamp(48px,8vh,72px);
  border:1px solid var(--lc-line);
  border-radius:var(--lc-radius);
  padding:clamp(18px,2.8vw,26px) clamp(18px,3.5vw,36px);
  background:linear-gradient(165deg,rgba(16,14,12,.88),rgba(7,6,5,.72));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 56px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,252,245,.04);
}
.lc-venue-strip .vs-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(14px,3vw,28px);
}
.vs-kicker{
  flex-shrink:0;
  font-size:10px;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--lc-gold);
}
.vs-carousel-wrap{
  flex:1;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:2.75rem;
}
.vs-name{
  font-family:var(--lc-serif);
  font-size:clamp(1.35rem,3.2vw,2rem);
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.15;
  color:var(--lc-ink);
  text-shadow:0 1px 2px rgba(0,0,0,.9),0 6px 28px rgba(0,0,0,.45);
  transition:opacity .28s ease;
}
.vs-cta{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--lc-gold);
  border:1px solid rgba(201,169,98,.38);
  padding:10px 22px;
  border-radius:999px;
  transition:color .25s,border-color .25s,background .25s,transform .25s var(--lc-ease);
}
.vs-cta:hover{
  color:var(--lc-ink);
  border-color:rgba(244,240,232,.28);
  background:rgba(244,240,232,.07);
  transform:translateY(-1px);
}
@media(max-width:700px){
  .lc-venue-strip .vs-inner{
    flex-direction:column;
    align-items:stretch;
    text-align:center;
    gap:14px;
  }
  .vs-kicker{letter-spacing:.2em;}
  .vs-carousel-wrap{min-height:2.25rem;}
  .vs-cta{width:100%;max-width:280px;margin:0 auto;}
}

/* Story */
.lc-story-grid{max-width:960px;margin:0 auto;display:grid;gap:clamp(28px,5vw,48px);}
@media(min-width:860px){.lc-story-grid{grid-template-columns:1fr 1.1fr;align-items:start;}}

/* Nights */
.lc-nights-wrap{border-top:1px solid var(--lc-line);}
.nights{background:transparent;padding:clamp(72px,12vh,100px) clamp(20px,5vw,64px);}
.nights-hd{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);margin-bottom:clamp(28px,5vh,40px);}
@media(max-width:860px){.nights-hd{grid-template-columns:1fr;}}
.nights-note{font-size:14px;font-weight:300;color:var(--lc-ink-soft);line-height:1.7;text-align:right;}
@media(max-width:860px){.nights-note{text-align:left;}}
.sec-lbl{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--lc-gold);margin-bottom:12px;}
.sec-h{font-family:var(--lc-serif);font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.05;font-weight:500;}
.sec-h em{font-style:italic;font-weight:400;color:var(--lc-gold);}
.nlist{border:1px solid var(--lc-line);border-radius:var(--lc-radius);overflow:hidden;background:rgba(8,7,6,.4);}
.nrow{display:grid;grid-template-columns:52px 155px minmax(0,1fr) 130px;align-items:center;border-bottom:1px solid var(--lc-line);text-decoration:none;color:inherit;transition:background .25s;}
.nrow:last-child{border-bottom:none;}
.nrow:hover{background:rgba(201,169,98,.06);}
.nrow.fin{background:rgba(201,169,98,.08);}
.nr-n,.nr-d,.nr-m,.nr-p{padding:18px 16px;}
.nd1{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--lc-gold);}
.nd2{font-size:11px;color:var(--lc-ink-dim);}
.nr-m{font-family:var(--lc-serif);font-size:1.05rem;min-width:0;overflow-wrap:anywhere;}
.pill{font-size:8px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid var(--lc-line);}
.pg{color:var(--lc-gold);border-color:rgba(201,169,98,.35);}
.pk{color:var(--lc-ink-soft);}
.pf{color:var(--lc-bg);background:var(--lc-gold);border-color:var(--lc-gold);}

/* Form / reserve */
.form-sec{border-top:1px solid var(--lc-line);background:radial-gradient(ellipse 100% 80% at 50% 0%,rgba(201,169,98,.08),transparent 55%),var(--lc-bg);}
.form-split{display:grid;grid-template-columns:1fr 1fr;}
@media(max-width:900px){.form-split{grid-template-columns:1fr;}}
.fl,.fr{
  padding:max(clamp(56px,10vh,96px),env(safe-area-inset-top)) max(clamp(24px,5vw,64px),env(safe-area-inset-right)) max(clamp(56px,10vh,96px),env(safe-area-inset-bottom)) max(clamp(24px,5vw,64px),env(safe-area-inset-left));
}
.fl{
  background:linear-gradient(180deg,rgba(12,10,8,.9),rgba(6,5,4,.95));
  border-right:1px solid var(--lc-line);
  display:flex;align-items:center;justify-content:center;
}
@media(max-width:900px){.fl{border-right:none;border-bottom:1px solid var(--lc-line);}}
.fl-inner{max-width:400px;}
.fl-tag{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--lc-gold-soft);margin-bottom:20px;}
.fl-h{font-family:var(--lc-serif);font-size:clamp(2.2rem,4vw,3.2rem);line-height:.95;font-weight:500;}
.fl-h em{font-style:italic;color:var(--lc-gold);font-weight:400;}
.fl-rule{width:40px;height:1px;background:var(--lc-gold);opacity:.5;margin:24px 0;}
.fl-p{font-size:15px;font-weight:300;color:var(--lc-ink-soft);line-height:1.75;}
.fl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:28px 0;border:1px solid var(--lc-line);border-radius:10px;overflow:hidden;}
.fl-stat{background:rgba(8,7,6,.6);padding:16px 12px;text-align:center;}
.fl-sn{font-family:var(--lc-serif);font-size:1.75rem;color:var(--lc-gold);}
.fl-sl{font-size:9px;color:var(--lc-ink-dim);line-height:1.35;margin-top:4px;}
.fl-offer{border-top:1px solid var(--lc-line);padding-top:20px;}
.fl-ot{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--lc-gold-soft);margin-bottom:8px;}
.fl-ol{font-size:12px;color:var(--lc-ink-dim);line-height:1.65;}
.fr{background:rgba(8,7,6,.35);}
.fr-inner{max-width:460px;margin:0 auto;}
.fr-tag{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--lc-gold);margin-bottom:12px;}
.fr-h{font-family:var(--lc-serif);font-size:clamp(1.6rem,3vw,2.1rem);}
.fr-h em{color:var(--lc-gold);font-style:italic;font-weight:400;}
.fr-p{font-size:14px;color:var(--lc-ink-soft);line-height:1.7;margin-bottom:24px;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
@media(max-width:600px){.f-row{grid-template-columns:1fr;}}
.f-field{display:flex;flex-direction:column;gap:6px;}
.f-lbl{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lc-ink-soft);}
.f-req{color:var(--lc-gold);}
.f-in,.f-sel,.f-ta{
  background:rgba(6,5,4,.6);border:1px solid var(--lc-line);color:var(--lc-ink);
  font-family:var(--lc-sans);font-size:14px;font-weight:300;padding:12px 14px;width:100%;outline:none;border-radius:10px;
}
.f-in:focus,.f-sel:focus,.f-ta:focus{border-color:rgba(201,169,98,.45);background:rgba(10,9,8,.75);}
.f-sel{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a962' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer;
}
.f-ta{min-height:88px;resize:vertical;}
.f-sub{
  width:100%;margin-top:18px;padding:15px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--lc-bg);background:var(--lc-gold);border:none;border-radius:999px;cursor:pointer;font-family:var(--lc-sans);
  transition:opacity .25s;
}
.f-sub:disabled{opacity:.45;cursor:not-allowed;}
.f-note{font-size:11px;color:var(--lc-ink-dim);text-align:center;margin-top:12px;}
.f-ok{display:none;border:1px solid var(--lc-line);border-radius:var(--lc-radius);padding:40px 24px;background:rgba(10,9,8,.7);text-align:center;}
.f-ok.show{display:block;}
.f-ok-h{font-family:var(--lc-serif);font-size:1.5rem;margin:12px 0 8px;}
.f-ok-p{font-size:14px;color:var(--lc-ink-soft);line-height:1.6;}

/* Footer */
footer,.lc-footer-wrap{
  padding:clamp(32px,6vh,48px) max(clamp(20px,4vw,48px),env(safe-area-inset-right)) max(clamp(32px,6vh,48px),env(safe-area-inset-bottom)) max(clamp(20px,4vw,48px),env(safe-area-inset-left));
  border-top:1px solid var(--lc-line);
  background:#040303;
  display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;
}
.foot-logo{font-family:var(--lc-serif);font-size:15px;color:var(--lc-ink-dim);text-decoration:none;}
.foot-logo span{color:var(--lc-gold);}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 24px;}
.foot-links a{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--lc-ink-dim);text-decoration:none;}
.foot-links a:hover{color:var(--lc-ink);}
.foot-disclaimer{max-width:560px;font-size:10px;line-height:1.55;color:rgba(244,240,232,.28);}

/* Reveal */
.lc-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--lc-ease),transform .9s var(--lc-ease);}
.lc-reveal.lc-in{opacity:1;transform:translateY(0);}

/* Wide nav: logo | links (center) | CTA — drawer lives in-flow (Safari-safe) */
@media(min-width:861px){
  #nav{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:clamp(16px,2.5vw,36px);
  }
  .n-logo{grid-column:1;}
  .n-menu-btn{display:none!important;}
  .n-links{
    grid-column:2;
    position:static!important;
    width:auto!important;
    min-width:0;
    height:auto!important;
    max-height:none!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    transform:none!important;
    visibility:visible!important;
    pointer-events:auto!important;
    overflow:visible!important;
    padding:0!important;
    border:none!important;
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .n-cta{grid-column:3;justify-self:end;}
  .n-backdrop{display:none!important;}
}

/* Mobile nav drawer */
@media(max-width:860px){
  #nav{display:flex;justify-content:flex-start;gap:10px;}
  .n-logo{margin-right:auto;}
  .n-menu-btn{display:flex;}
  .n-cta{flex-shrink:0;}
  .n-links{
    display:flex;flex-direction:column;align-items:flex-start;gap:6px;
    position:fixed;left:0;right:0;top:var(--lc-nav-h);bottom:0;z-index:9995;
    width:100%!important;
    min-width:100%!important;
    max-width:none;
    height:calc(100dvh - var(--lc-nav-h));max-height:calc(100dvh - var(--lc-nav-h));
    padding:24px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
    background:rgba(6,5,4,.96);backdrop-filter:blur(18px);
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    transform:translateX(100%);visibility:hidden;pointer-events:none;
    transition:transform .3s var(--lc-ease),visibility .3s;
    border-top:1px solid var(--lc-line);
  }
  nav.nav-open .n-links{transform:translateX(0);visibility:visible;pointer-events:auto;}
  .n-links a{font-size:14px;padding:12px 4px;width:100%;}
  .n-cta{font-size:9px;padding:10px 14px;min-height:40px;display:inline-flex;align-items:center;}
  .lc-stat-row{grid-template-columns:repeat(2,1fr);}
  .lc-cap-grid{grid-template-columns:1fr;}
  .nrow{grid-template-columns:44px 1fr auto;}
  .nr-d{display:none;}
  .lc-stat:nth-child(3),.lc-stat:nth-child(4){border-top:1px solid var(--lc-line);}
}

:focus-visible{outline:2px solid var(--lc-gold);outline-offset:3px;}

/* --- Narrow viewports: single-column stats, no horizontal bleed, compact nav --- */
@media (max-width: 520px) {
  .lc-stat-row {
    grid-template-columns: 1fr;
  }
  .fl-stats {
    grid-template-columns: 1fr;
  }
  .lc-scene,
  .lc-scene--tight {
    padding-left: max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
  }
  .nights {
    padding-left: max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
  }
  .lc-cap-d {
    font-size: clamp(13px, 3.8vw, 14px);
  }
  .nrow {
    grid-template-columns: 40px minmax(0, 1fr) auto;
  }
  .nr-n,
  .nr-d,
  .nr-m,
  .nr-p {
    padding: 14px 10px;
  }
  .nr-m {
    font-size: clamp(0.94rem, 4vw, 1.05rem);
  }
}

@media (max-width: 380px) {
  #nav {
    padding-left: max(10px, env(safe-area-inset-left));
    padding-right: max(10px, env(safe-area-inset-right));
    gap: 6px;
  }
  .n-logo {
    font-size: 15px;
    letter-spacing: 0.02em;
  }
  .n-cta {
    padding: 9px 12px;
    font-size: 8px;
    letter-spacing: 0.1em;
  }
  .lc-h1 {
    font-size: clamp(2.25rem, 11vw, 3.25rem);
  }
  .lc-h2 {
    font-size: clamp(1.65rem, 8vw, 2.35rem);
  }
}

.f-full{grid-template-columns:1fr!important;}
.f-div{height:1px;background:var(--lc-line);margin:18px 0;}
.f-nlbl{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lc-ink-dim);margin-bottom:10px;}
.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;}
@media(max-width:600px){.who-grid{grid-template-columns:repeat(2,1fr);}}
.wc-lbl{display:flex;align-items:center;gap:7px;font-size:12px;padding:10px 12px;border:1px solid var(--lc-line);border-radius:8px;cursor:pointer;background:rgba(6,5,4,.5);transition:border-color .2s,background .2s;}
.wc-lbl:hover{border-color:rgba(201,169,98,.4);}
.wc-lbl input{accent-color:var(--lc-gold);width:14px;height:14px;flex-shrink:0;cursor:pointer;}
.wc-lbl:has(input:checked){border-color:rgba(201,169,98,.55);background:rgba(201,169,98,.08);color:var(--lc-ink);}
.np-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px;}
@media(max-width:700px){.np-grid{grid-template-columns:repeat(3,1fr);}}
.np-check{display:none;}
.np-lbl{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border:1px solid var(--lc-line);border-radius:8px;cursor:pointer;text-align:center;background:rgba(6,5,4,.45);transition:border-color .2s,background .2s;}
.np-lbl:hover{border-color:rgba(201,169,98,.35);}
.np-check:checked + .np-lbl{border-color:rgba(201,169,98,.5);background:rgba(201,169,98,.1);}
.np-d{font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lc-gold);margin-bottom:2px;}
.np-m{font-size:10px;font-weight:400;color:var(--lc-ink-soft);line-height:1.3;}
.np-check:checked + .np-lbl .np-m{color:var(--lc-gold);}
.f-ok-icon{font-size:28px;color:var(--lc-gold);margin-bottom:8px;}

