
:root { --ease: cubic-bezier(0.23, 1, 0.32, 1); --bg: #0C0A09; --surf: #171310; --line: rgba(240,220,190,.12); --text: #FAF6F0; --dim: #A2938A; --acc: #C9A227; --bone: #E9E3D6; --ink: #14100C; --on-acc: #1A1305; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; background: var(--bg); color: var(--text); font-family: Manrope, system-ui, sans-serif; }
body { overflow-x: clip; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
[hidden] { display: none !important; }
.wr-nav { position: absolute; left: 50%; top: 0; z-index: 8; transform: translateX(-50%); display: flex; flex-wrap: nowrap; gap: 44px; padding: 20px 44px 22px; border-radius: 0 0 26px 26px; background: rgba(10,8,7,.92); font-size: 16px; letter-spacing: .02em; color: rgba(233,227,214,.78); white-space: nowrap; }
.wr-nav a:first-child { color: var(--bone); }
.wr-hero { position: relative; min-height: 100svh; display: grid; align-items: end; overflow: hidden; }
.wr-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; animation: wr-ken 18s var(--ease) infinite alternate; }
@keyframes wr-ken { from { transform: scale(1.04); } to { transform: scale(1.1); } }
.wr-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,10,9,.55) 0%, rgba(12,10,9,.18) 38%, rgba(12,10,9,.92) 100%); }
.wr-hero__row { position: relative; z-index: 2; display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: end; max-width: 1240px; width: min(1240px, calc(100% - 48px)); margin: 0 auto; padding: 0 0 54px; }
.wr-hero__row > div > p { margin: 0 0 22px; font-size: 15px; letter-spacing: .4em; text-transform: uppercase; color: rgba(233,227,214,.62); animation: wr-up 700ms var(--ease) both; }
.wr-hero h1 { margin: 0; font-family: Oranienbaum, serif; font-size: clamp(56px, 10vw, 132px); font-weight: 400; line-height: .85; letter-spacing: -4px; color: var(--bone); animation: wr-up 800ms var(--ease) 40ms both; }
.wr-hero__copy { padding-bottom: 10px; animation: wr-up 800ms var(--ease) 90ms both; }
.wr-hero__copy p { margin: 0 0 26px; max-width: 36ch; font-size: 18px; line-height: 1.55; color: rgba(233,227,214,.74); }
@keyframes wr-up { from { opacity: 0; transform: translateY(20px); } }
.wr-cta { display: inline-flex; align-items: center; gap: 14px; padding: 5px 5px 5px 26px; border-radius: 999px; background: var(--bone); color: var(--ink); font-size: 17px; font-weight: 600; }
.wr-cta span { width: 44px; height: 44px; border-radius: 50%; background: var(--ink); display: grid; place-items: center; }
.wr-menu { max-width: 1240px; margin: 0 auto; padding: 108px 24px 72px; }
.wr-menu__head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 56px; }
.wr-menu__head p:first-child, .wr-hall__grid p:first-child { margin: 0 0 18px; font-size: 14px; letter-spacing: .36em; text-transform: uppercase; color: var(--acc); }
.wr-menu h2, .wr-hall h2, .wr-book h2 { margin: 0; font-family: Oranienbaum, serif; font-size: clamp(40px, 5vw, 66px); font-weight: 400; letter-spacing: -2px; line-height: 1.05; }
.wr-menu__head > p { margin: 0; max-width: 32ch; color: var(--dim); text-align: right; }
.wr-row { display: grid; grid-template-columns: 172px 44px 1fr; gap: 38px; align-items: center; padding: 26px 0; border-top: 1px solid var(--line); }
.wr-row img { width: 172px; height: 172px; object-fit: cover; border-radius: 14px; display: block; }
.wr-row b { font-family: "JetBrains Mono", monospace; font-size: 15px; color: var(--acc); }
.wr-row h3 { margin: 0 0 8px; font-family: Oranienbaum, serif; font-size: 36px; font-weight: 400; }
.wr-row p { margin: 0; font-size: 16.5px; color: var(--dim); }
.wr-hall { background: var(--surf); padding: 88px 0 80px; }
.wr-hall__grid { max-width: 1240px; margin: 0 auto 40px; padding: 0 24px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; }
.wr-hall__grid > img { width: 100%; height: 420px; object-fit: cover; object-position: 50% 55%; border-radius: 16px; display: block; }
.wr-hall p { margin: 14px 0 0; color: var(--dim); line-height: 1.55; }
.wr-addr { color: var(--text) !important; font-size: 18px; }
.wr-gallery { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.wr-shot { margin: 0; overflow: hidden; border-radius: 14px; }
.wr-shot img { width: 100%; height: 220px; object-fit: cover; display: block; }
.wr-night { padding: 28px 0 88px; }
.wr-marquee { overflow: hidden; margin-bottom: 48px; }
.wr-marquee__track { display: flex; gap: 58px; width: max-content; font-family: Oranienbaum, serif; font-size: clamp(40px, 5vw, 62px); color: rgba(250,246,240,.09); animation: wr-tick 28s linear infinite; }
.wr-marquee__track span { white-space: nowrap; }
@keyframes wr-tick { to { transform: translateX(-50%); } }
.wr-night blockquote { max-width: 820px; margin: 0 auto; padding: 0 24px; text-align: center; }
.wr-night blockquote p { margin: 0; font-family: Oranienbaum, serif; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.4; letter-spacing: -.8px; }
.wr-book { position: relative; max-width: 1240px; margin: 0 auto; min-height: 90svh; padding: 110px 24px 48px; text-align: center; overflow: hidden; }
.wr-book > h2 { font-size: clamp(48px, 6vw, 72px); letter-spacing: -2.4px; }
.wr-book > p { margin: 18px 0 44px; color: var(--dim); font-size: 18px; }
.wr-slots { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-bottom: 40px; }
.wr-slot { min-width: 128px; padding: 20px 0; border-radius: 12px; border: 1px solid var(--line); background: var(--surf); color: var(--text); font-size: 20px; font-weight: 600; transition: background 240ms var(--ease), border-color 240ms var(--ease), transform 240ms var(--ease), color 240ms var(--ease); }
.wr-slot.on { background: var(--acc); color: var(--on-acc); border-color: var(--acc); transform: scale(1.045); }
.wr-form { position: relative; z-index: 1; display: grid; gap: 12px; max-width: 440px; margin: 0 auto 56px; text-align: left; }
.wr-form label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; color: var(--dim); }
.wr-form input { height: 52px; border: 0; border-radius: 12px; background: var(--surf); color: var(--text); padding: 0 16px; font: inherit; }
.wr-form button { height: 56px; border: 0; border-radius: 999px; background: var(--bone); color: var(--ink); font-weight: 700; }
.wr-meta { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-top: 44px; border-top: 1px solid var(--line); text-align: left; }
.wr-meta b { display: block; margin-bottom: 10px; font-size: 14px; letter-spacing: .17em; text-transform: uppercase; color: var(--acc); }
.wr-meta span, .wr-meta a { font-size: 19px; }
.wr-mark { position: absolute; left: 24px; right: 24px; bottom: 8px; margin: 0; font-family: Oranienbaum, serif; font-size: clamp(56px, 10vw, 128px); letter-spacing: -6px; line-height: 1; color: rgba(250,246,240,.05); pointer-events: none; text-align: left; }
.wr-foot { max-width: 1240px; margin: 0 auto; padding: 12px 24px 36px; display: flex; flex-wrap: wrap; gap: 12px 28px; color: var(--dim); font-size: 13px; }
.fp-note, .form-note { margin: 0; }
@media (hover: hover) and (pointer: fine) {
  .wr-cta:hover { filter: brightness(1.06); }
  .wr-slot:hover:not(.on) { border-color: var(--acc); }
  .wr-row img, .wr-shot img, .wr-hall__grid > img { transition: transform 700ms var(--ease); }
  .wr-row:hover img, .wr-shot:hover img, .wr-hall__grid:hover > img { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .wr-hero > img, .wr-marquee__track, .wr-hero h1, .wr-hero__copy, .wr-hero__row > div > p { animation: none !important; }
}
@media (max-width: 900px) {
  .wr-nav { left: 12px; right: 12px; transform: none; width: auto; justify-content: space-between; gap: 10px; padding: 14px 18px 16px; font-size: 13px; }
  .wr-hero__row, .wr-hall__grid, .wr-meta, .wr-gallery { grid-template-columns: 1fr; }
  .wr-menu__head { flex-direction: column; align-items: start; }
  .wr-menu__head > p { text-align: left; }
  .wr-row { grid-template-columns: 96px 36px 1fr; gap: 14px; }
  .wr-row img { width: 96px; height: 96px; }
  .wr-row h3 { font-size: 24px; }
  .wr-hall__grid > img, .wr-shot img { height: 220px; }
  .wr-book { min-height: auto; padding-top: 72px; }
}

button, a[href] { transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1); cursor: pointer; } button:active, a[href]:active { transform: scale(0.97); }
i[class^="ph"], .ti, .material-symbols-outlined, .material-symbols-rounded { font-size: 1.15em; vertical-align: -0.14em; } @media (prefers-reduced-motion: reduce) { .v-in, .v-pop, .v-ken, .v-draw, .v-dock, .v-pulse, [data-stagger] { animation: none !important; transform: none !important; opacity: 1 !important; } }