:root { --black:#09090a; --red:#d91e2e; --white:#f5f3f0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:44px; }
body { margin:0; min-width:320px; overflow-x:hidden; background:var(--black); color:var(--white); font-family:Poppins,Arial,sans-serif; }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; cursor:pointer; }
a { color:inherit; text-decoration:none; }
img,video { display:block; max-width:100%; }
h1,h2,h3,p { margin:0; }
button:focus-visible,a:focus-visible,[tabindex]:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.skip { position:fixed; left:1rem; top:-5rem; z-index:1000; background:#fff; color:#111; padding:.75rem 1rem; }
.skip:focus { top:1rem; }
.page-loader { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; background:#050505; pointer-events:none; animation:loader-exit .7s .55s ease both; }
.page-loader img { width:54px; height:54px; object-fit:contain; animation:loader-pulse .6s ease alternate infinite; }
@keyframes loader-exit { to { opacity:0; visibility:hidden; } }
@keyframes loader-pulse { to { transform:scale(1.08); filter:brightness(1.4); } }
.site-header { height:44px; position:fixed; inset:0 0 auto; z-index:500; display:flex; align-items:center; justify-content:space-between; background:#0a0a0bf2; padding:0 4.2vw; }
.site-mark { width:34px; height:34px; display:grid; place-items:center; flex:none; }
.site-mark img { width:28px; height:28px; object-fit:contain; }
.site-nav { display:flex; align-items:center; gap:30px; height:100%; }
.site-nav a { font:400 18px/1 'Bebas Neue',Impact,sans-serif; letter-spacing:1.8px; text-transform:uppercase; transition:color .25s; }
.site-nav a:hover,.site-nav a[aria-current=page] { color:#ab1826; }
.site-menu-button,.mobile-menu { display:none; }
.back-top { position:fixed; right:18px; bottom:18px; z-index:400; width:36px; height:36px; border:0; background:#f4f1ee; color:#111; font:500 24px Poppins,Arial,sans-serif; opacity:0; pointer-events:none; transform:translateY(12px); transition:opacity .25s,transform .25s; }
.back-top.is-visible { opacity:1; pointer-events:auto; transform:none; }

/* The original split-city film remains the opening composition. */
.entrance { position:relative; height:100svh; min-height:580px; background:#050304; overflow:hidden; }
.entrance-film { width:100%; height:100%; object-fit:cover; }
.city-choice { position:absolute; z-index:2; bottom:6.8%; min-width:84px; padding:3px 18px; border:1px solid #d9b7b9; border-radius:999px; color:#f7eded; background:#19080a55; text-align:center; font:500 13px/1.2 Poppins,Arial,sans-serif; letter-spacing:1.9px; text-transform:uppercase; transition:background .25s,box-shadow .25s,transform .25s; }
.city-choice:hover { background:#8a1723; box-shadow:0 0 24px #a81425aa; transform:translateY(-4px); }
.city-bali { left:22%; }.city-jakarta { right:20.5%; }
.jakarta-intro { min-height:84svh; display:grid; grid-template-columns:49% 51%; align-items:center; position:relative; background:radial-gradient(circle at 34% 60%,#41070e 0,#180609 27%,#0a090a 61%); overflow:hidden; }
.intro-art { height:100%; min-height:570px; display:flex; align-items:end; justify-content:center; position:relative; }
.intro-art:after { content:""; position:absolute; inset:auto 0 0; height:20%; background:linear-gradient(transparent,#0a090a); }
.intro-art img { height:min(74svh,700px); width:auto; filter:drop-shadow(0 0 42px #b70c20a0); animation:monas-breathe 6s ease-in-out infinite alternate; }
@keyframes monas-breathe { to { filter:drop-shadow(0 0 68px #d9182cae); transform:translateY(-8px); } }
.intro-copy { padding:90px clamp(26px,8vw,135px) 90px 0; max-width:700px; }
.intro-copy h1 { font:800 clamp(27px,3.1vw,46px)/1.08 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:-.04em; margin-bottom:27px; }
.intro-copy p { font:400 clamp(13px,1.1vw,16px)/1.85 Poppins,Arial,sans-serif; color:#ece6e7; margin:0 0 20px; }

/* Centre poster with darker neighbouring posters. */
.events { height:min(780px,100svh); min-height:580px; position:relative; display:flex; align-items:center; background:radial-gradient(circle at 50% 63%,#3a0b13 0,#16080b 32%,#08080a 69%); overflow:hidden; }
.event-rail { height:100%; width:100%; display:flex; align-items:center; gap:20px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; touch-action:pan-x; padding:0 max(0px,calc((100vw - min(470px,64vw))/2)); }
.event-rail::-webkit-scrollbar { display:none; }
.event-slide { flex:0 0 min(470px,64vw); height:min(610px,82%); position:relative; scroll-snap-align:center; isolation:isolate; transform:scale(.82); opacity:.42; filter:brightness(.58); transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .65s,filter .65s; box-shadow:0 25px 55px #0009; }
.event-slide.is-active { transform:scale(1); opacity:1; filter:none; z-index:2; }
.event-slide img { height:100%; width:100%; object-fit:cover; }
.event-shade { position:absolute; inset:35% 0 0; background:linear-gradient(transparent,#0a0204cc 73%,#0a0204ec); }
.event-copy { position:absolute; z-index:2; left:8%; right:8%; bottom:7%; text-align:center; text-shadow:0 2px 14px #000; }
.event-copy p { font:600 clamp(14px,2vw,24px)/1.25 Poppins,Arial,sans-serif; }
.event-copy h3 { font:800 clamp(30px,4vw,56px)/1.08 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:-.035em; margin:5px 0 15px; }
.reserve-now { display:inline-block; background:#a41524; border-radius:999px; padding:8px 27px; font:600 12px Poppins,Arial,sans-serif; letter-spacing:2px; text-transform:uppercase; box-shadow:0 0 22px #ed1f38aa; transition:background .2s,transform .2s; }
.reserve-now:hover { background:#d12434; transform:scale(1.04); }
.stage-arrow { position:absolute; top:50%; z-index:10; transform:translateY(-50%); width:42px; height:42px; display:grid; place-items:center; border:1px solid #ffffff9c; border-radius:50%; background:#08080a9c; color:#fff; font:300 37px/1 Poppins,Arial,sans-serif; transition:background .2s; }
.stage-arrow:hover { background:#a41524; }.event-prev { left:3vw; }.event-next { right:3vw; }
.event-dots { position:absolute; left:50%; bottom:24px; z-index:3; transform:translateX(-50%); display:flex; gap:10px; }
.event-dots button,.drink-dots button { width:7px; height:7px; border:0; border-radius:50%; background:#ffffff55; padding:0; }
.event-dots button[aria-current=true],.drink-dots button[aria-current=true] { background:#d71e31; box-shadow:0 0 10px #e0263b; }
.club-transition { height:40svh; min-height:260px; background:linear-gradient(#09090a 0,#09090a00 26%,#09090a00 72%,#09090a 100%),url('assets/residents-background.png') center/cover; }

/* Resident stage with all 13 biographies and source portraits. */
.residents { background:#09090a; padding-bottom:70px; }
.residents-heading { min-height:290px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:25px; }
.residents-heading h2 { font:800 clamp(34px,4.5vw,62px)/1.06 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:-.035em; }
.residents-heading a,.inner-heading>a { display:grid; place-items:center; width:50px; height:50px; border:2px solid #fff; border-radius:50%; font:400 29px Poppins,Arial,sans-serif; transition:transform .25s,background .25s; }
.residents-heading a:hover,.inner-heading>a:hover { transform:translateY(4px); background:#a41524; }
.resident-stage { position:relative; min-height:690px; margin:0 auto; max-width:1600px; overflow:hidden; background:radial-gradient(circle at 74% 42%,#53101d 0,#260911 38%,#080809 78%); }
.resident-stage:before { content:""; position:absolute; inset:0; z-index:0; background:url('assets/residents-background.png') center/cover; opacity:.12; mix-blend-mode:screen; }
.resident-panel { position:absolute; inset:0; display:grid; grid-template-columns:49% 51%; opacity:0; visibility:hidden; transform:translateX(32px); transition:opacity .55s,transform .65s,visibility .65s; pointer-events:none; }
.resident-panel.is-active { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.resident-text { z-index:2; align-self:center; padding:55px 2vw 72px clamp(30px,9vw,145px); }
.resident-number { font:500 12px Poppins,Arial,sans-serif; letter-spacing:3px; color:#efafb5; }
.resident-text h3 { font:800 clamp(35px,4.2vw,66px)/1 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:-.045em; margin:24px 0 22px; }
.resident-bio { max-width:530px; max-height:365px; overflow-y:auto; scrollbar-color:#a62b39 transparent; scrollbar-width:thin; }
.resident-bio p { font:400 clamp(12px,1.04vw,15px)/1.7 Poppins,Arial,sans-serif; color:#efe8e9; margin:0 0 13px; }
.resident-visual { position:relative; min-height:690px; overflow:hidden; }
.resident-main { position:absolute; z-index:1; right:12%; bottom:0; width:68%; height:94%; object-fit:cover; object-position:center 22%; mask-image:linear-gradient(#000 78%,transparent 100%); }
.resident-extra { position:absolute; right:-4%; bottom:0; width:48%; height:72%; object-fit:cover; opacity:.22; filter:blur(2px) saturate(.7); mask-image:linear-gradient(#000 55%,transparent 100%); }
.resident-thumbs { position:absolute; z-index:8; right:18px; top:8%; bottom:108px; display:flex; flex-direction:column; gap:8px; overflow-y:auto; scrollbar-width:none; padding:4px; }
.resident-thumbs::-webkit-scrollbar { display:none; }
.resident-thumbs button { flex:none; width:51px; height:51px; border:2px solid transparent; border-radius:50%; overflow:hidden; padding:0; background:#160b0c; opacity:.5; transition:opacity .25s,border-color .25s,transform .25s; }
.resident-thumbs button:hover,.resident-thumbs button[aria-current=true] { opacity:1; transform:scale(1.04); border-color:#e6e2e1; }
.resident-thumbs img { width:100%; height:100%; object-fit:cover; }
.resident-controls { position:absolute; z-index:9; right:21px; bottom:25px; display:flex; align-items:center; gap:8px; }
.resident-controls button { width:43px; height:43px; border:1px solid #fff; border-radius:50%; background:#09090aa6; color:#fff; font:300 34px/1 Poppins,Arial,sans-serif; }
.resident-controls button:hover { background:#a41524; }
.resident-progress { width:42px; height:42px; border:3px solid #ffffff43; border-top-color:#df2335; border-radius:50%; animation:resident-progress 6s linear infinite; animation-play-state:paused; }
.resident-progress.is-playing { animation-play-state:running; }
@keyframes resident-progress { to { transform:rotate(360deg); } }

/* Gallery uses the original full-screen album composition. */
.inner-heading { min-height:330px; padding:80px 20px 55px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:23px; background:#080809; }
.inner-heading h1,.inner-heading h2 { font:800 clamp(32px,4.6vw,65px)/1.04 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:-.035em; }
.gallery-stage { height:calc(100svh - 44px); min-height:550px; position:relative; overflow:hidden; background:#050506; }
.gallery-card { position:absolute; left:50%; top:50%; width:min(82vw,1110px); height:91%; overflow:hidden; background:#130909; transform:translate(-50%,-50%) scale(.8); opacity:0; transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .65s; pointer-events:none; box-shadow:0 10px 45px #0009; }
.gallery-card[data-position="0"] { z-index:3; transform:translate(-50%,-50%) scale(1); opacity:1; pointer-events:auto; }
.gallery-card[data-position="-1"] { z-index:1; transform:translate(calc(-50% - 76%),-50%) scale(.88); opacity:.55; pointer-events:auto; }
.gallery-card[data-position="1"] { z-index:1; transform:translate(calc(-50% + 76%),-50%) scale(.88); opacity:.55; pointer-events:auto; }
.gallery-card>img { width:100%; height:100%; object-fit:cover; }
.gallery-shade { position:absolute; inset:0; background:linear-gradient(90deg,#0b060ac9 0,#0b060a96 45%,transparent 70%); }
.gallery-card h2 { position:absolute; left:46%; top:31%; font:800 clamp(43px,5vw,76px)/1 Poppins,Arial,sans-serif; text-transform:uppercase; writing-mode:vertical-rl; transform:rotate(180deg); letter-spacing:-.04em; max-height:60%; overflow:hidden; }
.gallery-card time { position:absolute; left:3%; bottom:12%; font-size:13px; }
.gallery-card>a { position:absolute; left:3%; bottom:4%; min-width:86px; border:1px solid #fff; text-align:center; padding:7px 16px; font:500 13px Poppins,Arial,sans-serif; }
.gallery-card>a:hover { background:#fff; color:#111; }
.gallery-prev,.gallery-next { position:absolute; z-index:8; top:50%; width:44px; height:44px; border:1px solid #fff; background:#0b0b0bae; color:#fff; border-radius:50%; font:300 34px/1 Poppins,Arial,sans-serif; }
.gallery-prev { left:1.5vw; }.gallery-next { right:1.5vw; }.gallery-prev:hover,.gallery-next:hover { background:#a41524; }
.gallery-thumbs { position:absolute; right:4vw; bottom:3%; z-index:8; display:flex; gap:8px; }
.gallery-thumbs button { width:70px; height:48px; padding:0; border:2px solid transparent; background:#111; opacity:.68; }
.gallery-thumbs button[aria-current=true] { border-color:#fff; opacity:1; }.gallery-thumbs img { width:100%; height:100%; object-fit:cover; }

/* Page turning menu and the original drinks presentation. */
.menu-viewer { padding:80px 5vw 60px; background:#09090a; }
.book-stage { min-height:74svh; display:flex; align-items:center; justify-content:center; gap:18px; }
.book { height:min(72svh,700px); aspect-ratio:1.125; display:flex; align-items:stretch; justify-content:center; perspective:1400px; filter:drop-shadow(0 15px 26px #000b); }
.book-page { height:100%; width:50%; background:#0f0f10; overflow:hidden; transform-origin:center; transition:transform .42s,filter .42s; }
.book-page img { width:100%; height:100%; object-fit:contain; }.book-page.is-empty { background:transparent; }
.book.is-turning .book-right { transform:rotateY(-18deg); filter:brightness(.7); }.book.is-turning-back .book-left { transform:rotateY(18deg); filter:brightness(.7); }
.book-prev,.book-next { flex:none; width:42px; height:42px; border:0; background:transparent; color:#fff; font:300 45px/1 Poppins,Arial,sans-serif; }
.book-prev:hover,.book-next:hover { color:#d71e31; }
.book-toolbar { display:flex; align-items:center; justify-content:center; gap:25px; margin-top:12px; font:500 12px Poppins,Arial,sans-serif; letter-spacing:1px; text-transform:uppercase; }
.book-toolbar button,.book-toolbar a { border:1px solid #ffffff70; background:transparent; color:#fff; padding:8px 12px; }.book-toolbar button:hover,.book-toolbar a:hover { background:#fff; color:#111; }
.book.is-zoomed { position:fixed; inset:0; z-index:900; width:100vw; height:100svh; aspect-ratio:auto; background:#09090a; padding:30px; align-items:center; justify-content:center; }
.book.is-zoomed .book-page { width:min(38vw,540px); height:90vh; }.book.is-zoomed .book-page.is-empty { width:min(38vw,540px); }
.book-close { display:none; position:absolute; top:15px; right:20px; z-index:5; border:0; background:transparent; color:#fff; font:400 42px/1 Poppins,Arial,sans-serif; }.book.is-zoomed .book-close { display:block; }
.favourites { background:#09090a; }.favourites>.inner-heading { min-height:280px; }
.favourites-stage { height:min(780px,100svh); min-height:580px; position:relative; overflow:hidden; background:radial-gradient(circle at 53% 55%,#361428 0,#160d1c 39%,#08080a 80%); }
.drink-card { position:absolute; inset:0; opacity:0; visibility:hidden; transform:translateX(30px); transition:opacity .55s,transform .55s,visibility .55s; }
.drink-card.is-active { opacity:1; visibility:visible; transform:none; }
.drink-card img { position:absolute; left:50%; top:46%; transform:translate(-50%,-50%); height:70%; width:auto; max-width:72%; object-fit:contain; filter:drop-shadow(0 25px 35px #000b); }
.drink-card h3 { position:absolute; left:7%; bottom:7%; font:800 clamp(40px,6.5vw,96px)/1 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:-.045em; }
.drink-prev,.drink-next { position:absolute; bottom:7%; z-index:5; width:44px; height:44px; border:1px solid #fff; border-radius:50%; background:#0a090ac9; color:#fff; font:300 34px/1 Poppins,Arial,sans-serif; }
.drink-prev { right:8%; }.drink-next { right:3%; }.drink-prev:hover,.drink-next:hover { background:#a41524; }
.drink-dots { position:absolute; left:50%; bottom:27px; z-index:7; display:flex; gap:10px; transform:translateX(-50%); }

/* Live sets and the original single-action booking screen. */
.live-heading { min-height:340px; padding:90px 20px 50px; display:grid; place-items:center; text-align:center; }
.live-heading h1 { font:800 clamp(32px,4.7vw,65px)/1.15 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:-.035em; }.live-heading h1 span { display:block; font-size:.57em; letter-spacing:.02em; margin-top:12px; }
.live-videos { padding:0 4vw 100px; text-align:center; }.live-feature,.live-playlist { aspect-ratio:16/9; margin:0 auto 100px; background:#09090a; overflow:hidden; border-radius:20px; box-shadow:0 0 32px #7b0d1f80; }
.live-feature { max-width:1150px; }.live-playlist { max-width:1280px; }.live-feature iframe,.live-playlist iframe { width:100%; height:100%; border:0; }
.video-player { position:relative; }.video-player>img { width:100%; height:100%; object-fit:cover; filter:brightness(.7); }.video-player>button { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:84px; height:84px; border:2px solid #fff; border-radius:50%; background:#9b1428c4; color:#fff; font:400 30px Poppins,Arial,sans-serif; display:grid; place-items:center; padding-left:7px; transition:background .2s,transform .2s; }.video-player>button:hover { background:#d52639; transform:translate(-50%,-50%) scale(1.06); }.video-player>a { position:absolute; right:24px; bottom:18px; z-index:2; font:500 13px Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:1px; text-shadow:0 2px 7px #000; }.video-player>a:hover { text-decoration:underline; }
.video-player.is-playing>img,.video-player.is-playing>button { display:none; }.video-player.is-playing iframe { position:absolute; inset:0; }
.all-live { display:inline-block; border:1px solid #fff; padding:12px 25px; font:500 15px Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:2px; }.all-live:hover { background:#fff; color:#111; }
.rsvp-screen { height:100svh; min-height:480px; display:grid; place-items:center; padding:44px 25px 0; background:#080809; text-align:center; }
.rsvp-screen>a { display:flex; flex-direction:column; align-items:center; gap:20px; font:800 clamp(34px,5.1vw,72px)/1.05 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:-.04em; transition:transform .25s; }.rsvp-screen>a:hover { transform:translateY(-6px); }.rsvp-screen b { font:700 68px/1 Poppins,Arial,sans-serif; }
body[data-page="menu"] .back-top { bottom:78px; }

@media(max-width:760px) {
  html { scroll-padding-top:76px; }
  .site-header { height:76px; padding:0 10% 0 7%; }.site-mark { width:38px; height:38px; }.site-mark img { width:32px; height:32px; }.site-nav { display:none; }
  .site-menu-button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:31px; height:31px; padding:0; border:0; background:transparent; color:#fff; }
  .site-menu-button span { display:block; width:21px; height:2px; background:currentColor; transition:transform .25s,opacity .25s; }
  .site-menu-button[aria-expanded=true] span:first-child { transform:translateY(6px) rotate(45deg); }.site-menu-button[aria-expanded=true] span:nth-child(2) { opacity:0; }.site-menu-button[aria-expanded=true] span:last-child { transform:translateY(-6px) rotate(-45deg); }
  .mobile-menu { display:none; position:absolute; right:9%; top:76px; width:min(290px,80vw); background:#0a0a0b; border-top:2px solid #a51b29; padding:18px 26px 27px; box-shadow:0 20px 30px #0009; }
  .mobile-menu.is-open { display:flex; flex-direction:column; gap:20px; }.mobile-menu a { font:400 18px/1 'Bebas Neue',Impact,sans-serif; text-transform:uppercase; letter-spacing:1px; }.mobile-menu a[aria-current=page] { color:#bc2432; }
  .entrance { height:400px; min-height:400px; margin-top:76px; }.entrance-film { position:absolute; left:0; top:0; width:100%; height:74%; object-fit:contain; object-position:center; }
  .city-choice { bottom:10%; font-size:8px; min-width:43px; padding:2px 7px; letter-spacing:1px; }.city-bali { left:10%; }.city-jakarta { right:10%; }
  .jakarta-intro { grid-template-columns:1fr; min-height:auto; }.intro-art { height:280px; min-height:280px; align-items:end; }.intro-art img { height:270px; }.intro-copy { padding:0 8vw 70px; text-align:left; }.intro-copy h1 { font-size:29px; }.intro-copy p { font-size:13px; line-height:1.7; }
  .events { height:620px; min-height:620px; }.event-rail { gap:12px; padding:0 calc((100vw - 72vw)/2); }.event-slide { flex-basis:72vw; height:470px; }.event-copy p { font-size:12px; }.event-copy h3 { font-size:28px; }.reserve-now { font-size:10px; padding:7px 17px; }.stage-arrow { width:34px; height:34px; font-size:29px; }.event-prev { left:1vw; }.event-next { right:1vw; }.club-transition { height:240px; min-height:240px; }
  .residents-heading { min-height:240px; }.residents-heading h2 { font-size:32px; }.resident-stage { min-height:740px; }.resident-panel { display:block; }.resident-visual { position:absolute; top:0; left:0; right:0; height:340px; min-height:0; }.resident-main { right:15%; height:340px; width:70%; object-fit:cover; }.resident-extra { width:45%; height:280px; }
  .resident-text { position:absolute; top:340px; left:0; right:0; bottom:65px; padding:20px 24px 10px; align-self:auto; }.resident-text h3 { font-size:32px; margin:8px 0; }.resident-bio { max-height:215px; }.resident-bio p { font-size:11px; line-height:1.55; }
  .resident-thumbs { top:296px; right:14px; left:14px; bottom:auto; flex-direction:row; overflow-x:auto; overflow-y:hidden; padding:4px; }.resident-thumbs button { width:44px; height:44px; }.resident-controls { bottom:17px; right:20px; }.resident-progress { width:38px; height:38px; }.resident-controls button { width:38px; height:38px; }
  .inner-heading { min-height:280px; padding-top:100px; }.inner-heading h1,.inner-heading h2 { font-size:30px; }.gallery-stage { height:65svh; min-height:500px; }.gallery-card { width:86vw; height:90%; }.gallery-card[data-position="-1"] { transform:translate(calc(-50% - 83%),-50%) scale(.9); }.gallery-card[data-position="1"] { transform:translate(calc(-50% + 83%),-50%) scale(.9); }.gallery-card h2 { left:47%; top:25%; font-size:37px; }.gallery-card time { font-size:11px; }.gallery-thumbs { right:5%; bottom:3%; }.gallery-thumbs button { width:40px; height:31px; }.gallery-prev,.gallery-next { width:30px; height:30px; font-size:24px; }.gallery-prev { left:1%; }.gallery-next { right:1%; }
  .menu-viewer { padding:95px 8px 55px; }.book-stage { min-height:66svh; gap:4px; }.book { width:80vw; height:61svh; max-height:660px; aspect-ratio:auto; }.book-page { width:100%; }.book-left { display:none; }.book-right { width:100%; }.book-prev,.book-next { width:27px; font-size:32px; }.book-toolbar { gap:7px; font-size:9px; flex-wrap:wrap; }.book-toolbar button,.book-toolbar a { padding:6px; }.book.is-zoomed { padding:12px; }.book.is-zoomed .book-right { width:95vw; height:95svh; }
  .favourites>.inner-heading { min-height:240px; }.favourites-stage { height:620px; min-height:620px; }.drink-card img { height:62%; max-width:82%; }.drink-card h3 { font-size:37px; left:6%; bottom:13%; max-width:70%; }.drink-prev,.drink-next { bottom:6%; width:37px; height:37px; font-size:28px; }.drink-prev { right:17%; }.drink-next { right:5%; }
  .live-heading { min-height:250px; padding-top:110px; }.live-heading h1 { font-size:31px; }.live-videos { padding:0 5vw 80px; }.live-feature,.live-playlist { border-radius:12px; margin-bottom:65px; }.rsvp-screen { padding-top:76px; }.rsvp-screen>a { font-size:38px; }.rsvp-screen b { font-size:56px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation-duration:.01ms!important; transition-duration:.01ms!important; } .event-rail { scroll-behavior:auto; } }

/* Native WordPress content, including existing plugin and shop pages. */
.wp-site-header{background:#111;color:#fff;min-height:72px;position:relative}
.wp-site-header .site-mark img{max-height:50px;width:auto}
.wp-site-header .site-nav{display:flex;gap:1.25rem;align-items:center}
.wp-generic{min-height:75vh;padding:clamp(120px,13vw,180px) clamp(24px,6vw,90px) 100px;max-width:1440px;margin:auto}
.wp-generic h1{font-size:clamp(2.5rem,6vw,6rem);line-height:1.05;margin:0 0 2.5rem}
.wp-generic h2{font-size:clamp(1.5rem,3vw,3rem);line-height:1.1}
.wp-generic img,.wp-generic iframe,.wp-generic video{max-width:100%;height:auto}
.wp-generic p,.wp-generic li{line-height:1.65}
.wp-generic .wp-content{max-width:1080px}
.wp-generic .wp-block-columns{display:flex;gap:2rem}
.wp-generic .wp-block-column{min-width:0;flex:1}
.wp-generic .woocommerce a.button,.wp-generic .woocommerce button.button,.wp-generic .woocommerce input.button{background:#171717;color:#fff;border-radius:0}
.wp-generic .woocommerce input.input-text{padding:.75rem;border:1px solid #aaa}
@media(max-width:780px){.wp-generic .wp-block-columns{display:block}.wp-site-header .site-nav{flex-wrap:wrap}}
.lab-form-native .gform_wrapper{max-width:940px;margin:auto}
.lab-form-native .gform_fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.lab-form-native .gfield{min-width:0}
.lab-form-native .gfield--type-section,.lab-form-native .gfield--type-html,.lab-form-native .gfield--width-full{grid-column:1/-1}
.lab-form-native .gfield_label,.lab-form-native .gform-field-label{font-family:Oxanium,sans-serif;font-weight:700;color:var(--blue)}
.lab-form-native input[type=text],.lab-form-native input[type=email],.lab-form-native input[type=tel],.lab-form-native input[type=number],.lab-form-native input[type=date],.lab-form-native select,.lab-form-native textarea{width:100%;background:#fff;border:1px solid #9eb6c8;border-radius:0;padding:.9rem;color:#122d54}
.lab-form-native .gform_button{background:var(--red);color:#fff;padding:1rem 1.5rem;border:0;border-radius:0;font-family:Oxanium,sans-serif;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
@media(max-width:760px){.lab-form-native .gform_fields{grid-template-columns:1fr}}
