.future-mode { background: #0d0709; }
.future-shell { min-height: calc(100vh - 82px); }
.future-header {
  position: sticky;
  top: 82px;
  z-index: 70;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  min-height: 78px;
  padding: .75rem clamp(1rem,4vw,4rem);
  background: rgba(13,7,9,.94);
  border-bottom: 1px solid rgba(242,231,208,.14);
  backdrop-filter: blur(16px);
}
.future-logo { width: 58px; display:block; }
.future-logo img { width:100%; height:auto; }
.future-nav { display:flex; justify-content:center; gap:.15rem; flex-wrap:wrap; }
.future-nav button,.future-reserve,.show-row,.text-link,.tonight-copy button,.future-cta {
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
}
.future-nav button { min-height:44px; padding:.6rem .75rem; color:#c7b7a7; font-size:.77rem; }
.future-nav button:hover { color:var(--cream); }
.future-reserve { min-height:44px; padding:.65rem 1rem; background:var(--cream); color:var(--ink); font-weight:700; }
.future-page[hidden] { display:none !important; }
.future-page { min-height:70vh; }

.future-hero { min-height:calc(100vh - 160px); position:relative; display:flex; align-items:flex-end; overflow:hidden; }
.future-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.08) brightness(.72); }
.future-hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,7,9,.94),rgba(13,7,9,.58) 52%,rgba(13,7,9,.08)),linear-gradient(0deg,rgba(13,7,9,.82),transparent 45%); }
.future-hero__copy { position:relative; z-index:2; width:min(1000px,86vw); padding:clamp(3rem,8vw,7rem) clamp(1rem,7vw,7rem); }
.future-kicker { color:var(--brass); font-size:.67rem; font-weight:700; letter-spacing:.16em; }
.future-hero h1,.future-page-head h1,.show-detail h1,.uvita-page h1,.events-page h1 { font-size:clamp(3rem,9vw,8rem); line-height:.86; }
.future-hero__copy > p:not(.future-kicker) { max-width:40rem; color:#dfd2bf; font-size:clamp(1rem,2vw,1.2rem); }
.future-actions { display:flex; gap:.65rem; margin-top:2rem; flex-wrap:wrap; }
.future-cta { min-height:46px; padding:.8rem 1.1rem; border:1px solid rgba(242,231,208,.35); font-weight:700; }
.future-cta--cream { background:var(--cream); color:var(--ink); border-color:var(--cream); }
.future-hero__stamp { position:absolute; z-index:3; right:5vw; bottom:5vw; width:128px; aspect-ratio:1; border:1px solid rgba(242,231,208,.55); border-radius:50%; display:grid; place-content:center; text-align:center; transform:rotate(7deg); }
.future-hero__stamp span { font-size:.56rem; letter-spacing:.15em; }
.future-hero__stamp strong { color:var(--brass); font-family:var(--serif); font-size:2rem; }

.future-block { max-width:1450px; margin:0 auto; padding:clamp(5rem,10vw,10rem) clamp(1rem,6vw,6rem); }
.future-block-heading { margin-bottom:3rem; }
.future-block-heading > p { color:var(--brass); font-size:.65rem; letter-spacing:.16em; font-weight:700; }
.future-block-heading h2,.home-story h2,.uvita-band h2 { font-size:clamp(2.5rem,6vw,5.5rem); }
.tonight-card { display:grid; grid-template-columns:120px 1fr .8fr; min-height:430px; border-top:1px solid rgba(242,231,208,.18); border-bottom:1px solid rgba(242,231,208,.18); }
.tonight-date { display:flex; flex-direction:column; justify-content:center; align-items:center; border-right:1px solid rgba(242,231,208,.18); }
.tonight-date span,.tonight-date small { font-size:.65rem; letter-spacing:.14em; }
.tonight-date strong { font-family:var(--serif); font-size:4rem; color:var(--brass); }
.tonight-card img { width:100%; height:100%; object-fit:cover; min-height:430px; }
.tonight-copy { padding:clamp(2rem,5vw,4rem); display:flex; flex-direction:column; justify-content:center; }
.tonight-copy > p { color:var(--brass); font-size:.64rem; letter-spacing:.14em; }
.tonight-copy h3 { font-size:clamp(2.4rem,5vw,4.8rem); line-height:.9; }
.tonight-copy span { color:#b8a898; font-size:.88rem; }
.tonight-copy button,.text-link { width:max-content; margin-top:2rem; padding:0 0 .3rem; border-bottom:1px solid currentColor; font-weight:700; }

.home-story { display:grid; grid-template-columns:1.15fr .85fr; gap:0; align-items:stretch; background:var(--cream); color:var(--ink); max-width:none; }
.home-story figure { margin:0; min-height:560px; }
.home-story img { width:100%; height:100%; object-fit:cover; }
.home-story > div { padding:clamp(3rem,8vw,8rem); align-self:center; }
.home-story .future-kicker,.home-story .text-link { color:var(--uvita); }
.uvita-band { display:grid; grid-template-columns:1fr auto; gap:4rem; align-items:center; min-height:560px; }
.uvita-band > div:first-child { max-width:680px; }
.uvita-orbit { width:min(300px,28vw); aspect-ratio:1; border:1px solid rgba(242,231,208,.45); border-radius:50%; display:grid; place-content:center; text-align:center; position:relative; }
.uvita-orbit::before,.uvita-orbit::after { content:""; position:absolute; inset:12%; border:1px solid rgba(192,57,76,.5); border-radius:50%; }
.uvita-orbit::after { inset:27%; }
.uvita-orbit strong { font-family:var(--serif); font-size:6rem; color:var(--uvita-vivid); line-height:1; }
.uvita-orbit span,.uvita-orbit small { font-size:.6rem; letter-spacing:.15em; }

.future-page-head { max-width:1450px; margin:0 auto; padding:clamp(6rem,12vw,11rem) clamp(1rem,7vw,7rem) clamp(3rem,6vw,5rem); }
.future-page-head > p:last-child { max-width:44rem; color:#b9aa9d; }
.show-list { max-width:1450px; margin:0 auto; padding:0 clamp(1rem,7vw,7rem) 8rem; }
.show-row { width:100%; min-height:120px; display:grid; grid-template-columns:160px 1fr auto; align-items:center; gap:2rem; text-align:left; border-top:1px solid rgba(242,231,208,.16); }
.show-row:last-child { border-bottom:1px solid rgba(242,231,208,.16); }
.show-row span { color:var(--brass); font-size:.68rem; letter-spacing:.12em; }
.show-row strong { font-family:var(--serif); font-size:clamp(1.6rem,3vw,2.7rem); }
.show-row em { font-style:normal; color:#b9aa9d; }

.show-detail { min-height:calc(100vh - 160px); display:grid; grid-template-columns:1.1fr .9fr; }
.show-detail > img { width:100%; height:100%; min-height:680px; object-fit:cover; filter:brightness(.7) saturate(.8); }
.show-detail__copy { padding:clamp(3rem,7vw,7rem); align-self:center; }
.show-detail__copy > p:not(.future-kicker) { max-width:40rem; color:#c5b6a7; }
.show-detail dl { margin:3rem 0; border-top:1px solid rgba(242,231,208,.18); }
.show-detail dl div { display:grid; grid-template-columns:120px 1fr; padding:1rem 0; border-bottom:1px solid rgba(242,231,208,.18); }
.show-detail dt { color:var(--brass); font-size:.65rem; text-transform:uppercase; letter-spacing:.12em; }
.show-detail dd { margin:0; }

.reservation-prototype { max-width:1250px; margin:0 auto; padding:0 clamp(1rem,6vw,6rem) 9rem; display:grid; grid-template-columns:1fr .7fr; gap:1rem; }
.reservation-form-wrap,.reservation-state { padding:clamp(1.5rem,4vw,3rem); border:1px solid rgba(242,231,208,.16); }
.reservation-form-wrap { background:var(--surface); }
.prototype-note { display:inline-block; padding:.45rem .65rem; background:rgba(216,176,74,.12); color:var(--brass); font-size:.7rem; }
.reservation-form { display:grid; gap:1rem; margin-top:2rem; }
.reservation-form label { display:grid; gap:.45rem; color:#c6b7a8; font-size:.78rem; }
.reservation-form input,.reservation-form select { width:100%; min-height:50px; border:1px solid rgba(242,231,208,.18); background:#160c10; color:var(--cream); padding:.75rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.reservation-state { display:grid; grid-template-columns:auto 1fr; column-gap:1rem; align-content:start; background:var(--cream); color:var(--ink); }
.reservation-state span { grid-column:1; color:var(--uvita); font-size:.7rem; font-weight:800; }
.reservation-state strong { grid-column:2; font-family:var(--serif); font-size:1.4rem; }
.reservation-state p { grid-column:2; padding-bottom:1.5rem; border-bottom:1px solid rgba(20,9,11,.15); color:#5f5048; }

.story-grid { max-width:1450px; margin:0 auto; padding:0 clamp(1rem,7vw,7rem) 9rem; display:grid; grid-template-columns:1.1fr .9fr; }
.story-grid img { width:100%; height:100%; min-height:620px; object-fit:cover; }
.story-grid div { padding:clamp(2rem,6vw,6rem); background:var(--cream); color:var(--ink); display:flex; flex-direction:column; justify-content:flex-end; }
.story-grid span { color:var(--uvita); font-size:.68rem; font-weight:700; letter-spacing:.14em; }
.story-grid h2 { font-size:clamp(2.4rem,5vw,5rem); }
.archive-public-grid { max-width:1450px; margin:0 auto; padding:0 clamp(1rem,7vw,7rem) 9rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.archive-public-grid article { border:1px solid rgba(242,231,208,.16); padding:1rem; }
.archive-public-grid span { color:var(--brass); font-family:var(--serif); font-size:2.5rem; }
.archive-public-grid img { width:100%; aspect-ratio:1; object-fit:cover; margin:1rem 0; }
.archive-public-grid h3 { font-size:1.7rem; }

.uvita-page { min-height:calc(100vh - 160px); display:grid; grid-template-columns:1fr .8fr; background:var(--uvita); overflow:hidden; }
.uvita-page__copy { padding:clamp(4rem,10vw,10rem); align-self:center; }
.uvita-page__copy p:not(.future-kicker) { max-width:42rem; color:#f0dcd8; }
.uvita-letter { align-self:stretch; display:grid; place-content:center; font-family:var(--serif); font-size:min(52vw,44rem); line-height:.65; color:rgba(20,9,11,.24); transform:rotate(-7deg); }
.menu-preview { max-width:1200px; margin:0 auto; padding:0 clamp(1rem,6vw,6rem) 9rem; display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.menu-preview > div { padding:clamp(2rem,5vw,4rem); background:var(--cream); color:var(--ink); }
.menu-preview h2 { font-size:3rem; }
.menu-preview p { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 0; border-bottom:1px solid rgba(20,9,11,.16); }

.events-page { min-height:calc(100vh - 160px); display:grid; grid-template-columns:1.1fr .9fr; }
.events-page img { width:100%; height:100%; min-height:680px; object-fit:cover; filter:brightness(.72); }
.events-page > div { padding:clamp(3rem,7vw,7rem); align-self:center; }
.events-page p:not(.future-kicker) { max-width:38rem; color:#b9aa9d; }
.contact-grid { max-width:1200px; margin:0 auto; padding:0 clamp(1rem,6vw,6rem) 9rem; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(242,231,208,.16); }
.contact-grid > div { min-height:200px; padding:2rem; border-right:1px solid rgba(242,231,208,.16); border-bottom:1px solid rgba(242,231,208,.16); }
.contact-grid span { display:block; color:var(--brass); font-size:.65rem; letter-spacing:.13em; margin-bottom:1rem; }
.contact-grid strong { font-family:var(--serif); font-size:clamp(1.2rem,2.4vw,2.1rem); font-weight:600; }

@media (max-width:1050px) {
  .future-header { grid-template-columns:auto 1fr; }
  .future-nav { grid-column:1/-1; order:3; overflow:auto; justify-content:flex-start; flex-wrap:nowrap; }
  .future-reserve { justify-self:end; }
  .tonight-card { grid-template-columns:90px 1fr; }
  .tonight-copy { grid-column:1/-1; }
  .home-story,.show-detail,.story-grid,.uvita-page,.events-page { grid-template-columns:1fr; }
  .archive-public-grid { grid-template-columns:1fr 1fr; }
  .reservation-prototype { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .future-header { top:68px; }
  .future-logo { width:48px; }
  .future-hero { min-height:calc(100vh - 146px); }
  .future-hero__stamp { display:none; }
  .uvita-band { grid-template-columns:1fr; }
  .uvita-orbit { width:220px; }
  .show-row { grid-template-columns:1fr auto; gap:.5rem; padding:1rem 0; }
  .show-row span { grid-column:1/-1; }
  .show-detail > img,.story-grid img,.events-page img { min-height:420px; }
  .archive-public-grid,.menu-preview,.contact-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
}

@media (max-width: 1050px) {
  .future-nav { scrollbar-width: none; overscroll-behavior-inline: contain; }
  .future-nav::-webkit-scrollbar { display: none; }
}
