:root{--cream:#f6f0e7;--ink:#252324;--plum:#652d4a;--pink:#e9bbc8;--gold:#d7b67b;--line:#d9cfc3}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #bb8641;outline-offset:5px}.preview{text-align:center;background:var(--plum);color:white;padding:7px 15px;font-size:11px;letter-spacing:1.3px}header{background:#171617;color:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:16px 5%;gap:25px}.logo{width:215px;display:block}nav{display:flex;align-items:center;gap:26px;font-size:13px}nav a:hover,nav a.active{color:var(--gold)}.nav-visit{border:1px solid #7d6b53;padding:10px 16px}#menu{display:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.07}h1{font-size:clamp(44px,6.4vw,88px);letter-spacing:-2px;margin-bottom:25px}h2{font-size:clamp(34px,4.1vw,57px);letter-spacing:-1.4px}h3{font-size:29px}p{max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:bold;margin-bottom:22px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--plum);color:var(--cream)}.hero-copy{padding:85px 10% 70px}.hero h1 em{color:var(--pink);font-weight:400}.hero p{color:#eadde3;max-width:420px}.hero-photo{position:relative;min-height:480px;overflow:hidden}.hero-photo img{height:100%;width:100%;object-fit:cover;position:absolute;object-position:center 45%}.caption{position:absolute;bottom:18px;left:20px;background:#242124d9;color:white;padding:5px 12px;font-size:10px;letter-spacing:1px}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-block;padding:13px 23px;background:var(--plum);color:white;border:1px solid var(--plum);font-size:13px;font-weight:bold}.btn.light{background:var(--cream);border-color:var(--cream);color:var(--plum)}.btn.outline{background:transparent;border-color:currentColor;color:inherit}.btn:disabled{opacity:.55;cursor:not-allowed}.ribbon{display:flex;justify-content:space-around;gap:20px;padding:22px 5%;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:1.5px;font-size:11px}.section{max-width:1320px;margin:auto;padding:80px 6%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section-head h2{margin-bottom:0}.muted{color:#71666a}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{border-bottom:1px solid #bbae9f;padding-bottom:25px}.poster{height:280px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:#60334b;color:#fae9db;overflow:hidden}.poster strong{font:bold 51px/.95 Georgia,serif;letter-spacing:-2px}.poster span{font-size:11px;letter-spacing:2px}.poster.music{background:#d8b779;color:#352b25}.poster.drag{background:#303c38;color:#e9bdc8}.tag{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;padding:4px 9px;background:#e8ddd1;margin:18px 0 12px}.card h3{margin-bottom:12px}.arrow{display:block;margin-top:22px;font-size:13px;font-weight:bold}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split img{width:100%;max-height:560px;object-fit:cover}.dark{background:#272527;color:var(--cream)}.pink{background:#e9d9dc}.note{font-size:12px;color:#74656c}.dark .note{color:#c7b8bc}.intro{padding:70px 6% 45px;max-width:1320px;margin:auto}.intro h1{font-size:clamp(44px,5vw,72px)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.filter{border:1px solid #c6b5bc;padding:8px 18px;background:transparent;border-radius:30px}.filter.active{background:var(--plum);color:white}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.steps b{font:40px Georgia;color:#ad728a;display:block;margin-bottom:18px}.panel{padding:35px;background:white;border:1px solid var(--line)}label{display:block;font-size:13px;font-weight:bold;margin-bottom:18px}input,select,textarea{display:block;background:#fffdf9;border:1px solid #bfb4b5;padding:12px;width:100%;margin-top:7px;color:var(--ink);border-radius:0}textarea{min-height:110px}input[type=checkbox]{width:auto;display:inline-block;margin-right:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.full{grid-column:1/-1}.notice{padding:15px 20px;border-left:3px solid var(--plum);background:#eee2e5;font-size:13px;margin:20px 0}.detail{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.detail .poster{height:460px}.detail .poster strong{font-size:80px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font:23px Georgia}details p{margin-top:20px}footer{background:#171617;color:#d6c9bc;padding:50px 6%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;font-size:13px}footer a{display:block;margin-bottom:12px}footer small{grid-column:1/-1;border-top:1px solid #494047;padding-top:20px;color:#a79b9d}.status{margin-top:20px}.editor-row{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.editor-row span{flex:1}.editor-row button{background:transparent;border:1px solid #baafb2;padding:6px 12px}.empty{padding:40px;border:1px solid var(--line)}@media(max-width:900px){nav{gap:14px;font-size:11px}.logo{width:170px}.hero-copy{padding:60px 9%}.grid{gap:15px}.poster strong{font-size:40px}.split{gap:30px}}@media(max-width:700px){header{flex-wrap:wrap;padding:15px 6%}#menu{display:block;color:white;background:transparent;border:1px solid #82746a;padding:8px 12px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;font-size:15px;padding:15px 0}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-photo{min-height:370px}.hero-copy{padding:48px 7%}.hero h1{font-size:57px}.ribbon{flex-wrap:wrap;font-size:10px}.section{padding:50px 6%}.grid,.split,.detail,.steps{grid-template-columns:1fr}.grid{gap:35px}.poster{height:260px}.section-head{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}footer{grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/-1}.intro{padding-top:45px}.detail .poster{height:340px}.detail .poster strong{font-size:65px}}
/* Second design direction: elegant hospitality with colourful performance photography. */
:root{--cream:#fcf7ed;--plum:#772b53;--pink:#f1c3d1;--gold:#d6ad69}.hero{background:var(--cream);color:var(--ink);grid-template-columns:47% 53%;min-height:650px}.hero-copy{padding:72px 9% 65px 12%}.hero h1{font-size:clamp(48px,5.7vw,80px)}.hero h1 em{color:var(--plum)}.hero p{color:#60525a}.hero .btn.light{background:var(--plum);color:white;border-color:var(--plum)}.hero .btn.outline{color:var(--plum)}.hero-photo.performance-hero{margin:28px 28px 28px 0;min-height:580px}.performance-hero>img{object-position:40% center}.hero-photo:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 80px #21122525;pointer-events:none}.hero-inset{position:absolute;right:22px;bottom:60px;width:35%;height:230px;border:7px solid var(--cream);box-shadow:0 10px 30px #0003;transform:rotate(4deg)}.hero-inset img{object-position:center}.hero-inset span{position:absolute;bottom:0;left:0;right:0;background:var(--cream);color:var(--plum);font:italic 17px Georgia;padding:10px;line-height:1.15}.ribbon{background:#eee0d1;color:#522c40}.photo-poster{position:relative;isolation:isolate;min-height:310px;background:#25151f!important;color:white!important}.photo-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s}.card:hover .photo-poster>img{transform:scale(1.04)}.photo-poster .photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0005,transparent 30%,#170b1cbb);z-index:-1}.photo-poster strong{font-size:45px;text-shadow:0 2px 20px #0004;margin-top:auto;margin-bottom:15px;letter-spacing:-1px}.photo-poster .stock-label{font-size:8px;letter-spacing:1px}.card h3{font-size:28px}.pink{background:#f0e3e4}.pink .split>div>img{max-height:510px;object-position:center 60%}.wit-line{text-align:center;background:var(--plum);color:var(--cream);padding:32px 8%;font:26px/1.4 Georgia}.wit-line em{color:#f2cb9c}.lounge-feature{background:#f0e3e4}.lounge-image{height:320px!important;display:block}.lounge-feature .panel{border:0}.section .panel{border-color:#ddc9cc}.btn{transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.detail .photo-poster strong{font-size:65px}@media(max-width:700px){.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7%}.hero h1{font-size:55px}.hero-photo.performance-hero{margin:0 6% 25px;min-height:420px}.hero-inset{height:180px;width:33%;bottom:55px;right:17px}.hero-inset span{font-size:13px}.photo-poster{height:330px}.wit-line{font-size:22px}.detail .photo-poster strong{font-size:50px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
.happy-hour{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:60px 10%;background:#f0e5d1;color:#432a38}.happy-hour h2{font-size:46px}.happy-hour p{margin-bottom:0}.happy-badge{border:1px solid #a57b5b;border-radius:50%;min-width:220px;height:220px;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:11px;letter-spacing:2px;transform:rotate(-8deg)}.happy-badge strong{font:italic 43px/.95 Georgia;letter-spacing:-1px;margin:7px}.happy-badge span{font-size:8px;letter-spacing:1px}body[data-theme=showtime]{--cream:#fbf4e5;--plum:#78512f;--pink:#e7c69b;--gold:#dfb369}body[data-theme=showtime] .hero{background:#272226;color:#fff5e4}body[data-theme=showtime] .hero h1 em{color:#e5bc7b}body[data-theme=showtime] .hero p{color:#eadccd}body[data-theme=showtime] .hero .btn.outline{color:#ead2ae}body[data-theme=showtime] .pink{background:#ede4d8}body[data-theme=showtime] .wit-line{background:#342a2d}@media(max-width:700px){.happy-hour{flex-direction:column;align-items:start;padding:45px 7%}.happy-hour h2{font-size:38px}.happy-badge{align-self:center;min-width:190px;height:190px}}

.literary-quote{margin:44px 0;padding:32px clamp(20px,5vw,56px);border-left:3px solid var(--gold);background:var(--cream);color:var(--plum);text-align:center}.literary-quote blockquote{margin:18px auto;max-width:820px;font:italic clamp(23px,3vw,34px)/1.45 Georgia,serif}.literary-quote figcaption{font-size:13px;line-height:1.6}.literary-quote cite{font-style:italic}

.hero-photo .illustration-label,.photo-poster .illustration-label{position:absolute;bottom:12px;left:12px;right:auto;z-index:2;margin:0;padding:4px 8px;background:rgba(20,16,20,.75);color:#fff;font:10px/1.4 Arial,sans-serif;letter-spacing:0;text-transform:none;max-width:calc(100% - 24px)}
.photo-poster strong{margin-bottom:38px}

.photo-poster.music strong{margin-bottom:8px}.photo-poster .music-types{font:14px/1.4 Arial,sans-serif;text-transform:none;letter-spacing:.3px;margin-bottom:38px}

/* Keep the full portrait performance artwork visible at every screen size. */
.card .photo-poster,.detail .photo-poster{height:auto;min-height:0;aspect-ratio:2 / 3}
.card .photo-poster.music,.detail .photo-poster.music{aspect-ratio:3 / 4}
.photo-poster>img{object-fit:contain;object-position:center}
.card:hover .photo-poster>img{transform:none}

.photo-poster>span:first-of-type{position:absolute;top:14px;left:16px;right:16px;margin:0;font-size:10px;letter-spacing:1px;text-shadow:0 1px 4px #000}

.club-nights{background:#262026;color:#fff5ea}.club-nights .section{padding-top:60px;padding-bottom:60px}.club-nights .eyebrow{color:#e1c18a}.club-invitation{border-left:1px solid #8d687d;padding-left:40px}.club-words{font:clamp(30px,4vw,52px)/1.15 Georgia,serif;margin-bottom:25px}.promoter-hire{padding-top:20px}.promoter-hire .split{align-items:start}.ribbon{flex-wrap:wrap}@media(max-width:700px){.club-invitation{border-left:0;border-top:1px solid #8d687d;padding:25px 0 0}}

.programme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.programme-grid{grid-template-columns:1fr}}

.hero.frontage-hero{display:flex;flex-direction:column;min-height:0}
.frontage{order:-1;margin:0 auto;width:min(100%,1440px)}
.frontage img{display:block;width:100%;height:auto}
.frontage figcaption{padding:.5rem 5%;font-size:.8rem}
.frontage-hero .hero-copy{padding:clamp(24px,4vw,54px) 7%}
@media(min-width:900px){.frontage-hero .hero-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:6%}.frontage-hero .eyebrow{grid-column:1/-1}.frontage-hero h1{grid-row:span 2}.frontage-hero .buttons{align-self:start}}

.club-photo{margin:0}.club-photo img{display:block;width:100%;height:auto}.club-photo figcaption{padding:.85rem 0}.club-photo strong,.club-photo small{display:block}.club-photo strong{font:clamp(24px,3vw,40px)/1.15 Georgia,serif}.club-photo small{margin-top:.35rem}

[data-occasion-access][hidden],[data-exact-guests][hidden]{display:none}

/* Mobile readability: compact type, complete artwork and consistent card rhythm. */
@media(max-width:700px){
 h1{letter-spacing:-1px}
 h2{font-size:32px;line-height:1.15;letter-spacing:-.6px;text-wrap:balance;margin-bottom:20px}
 h3,.card h3{font-size:26px;line-height:1.2;letter-spacing:-.3px;text-wrap:balance}
 .hero h1{font-size:clamp(38px,10vw,48px);line-height:1.1}
 .intro h1{font-size:38px;line-height:1.12}
 .eyebrow{font-size:10px;letter-spacing:1.7px;line-height:1.6;margin-bottom:16px}
 .section{padding:36px 6%}
 .section-head{gap:16px;margin-bottom:20px}
 .section-head>a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
 .programme-section>.muted{margin-bottom:24px}
 .ribbon{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;padding:20px 6%;text-align:center;font-size:9px;letter-spacing:1px;line-height:1.6}
 .programme-grid{gap:28px}
 .card{padding-bottom:24px;min-width:0}
 .card>a{display:block}
 .card .photo-poster{width:min(100%,270px);margin:0 auto 20px;padding:20px}
 .card .photo-poster strong{font-size:32px;line-height:1.02;letter-spacing:-.6px}
 .card .photo-poster>span:first-of-type{font-size:8px;letter-spacing:.7px;top:12px;left:12px;right:12px}
 .card .photo-poster .music-types{font-size:12px}
 .card .photo-poster .illustration-label{font-size:9px;left:10px;bottom:10px}
 .card h3{margin:0 0 12px}
 .card p{font-size:15px;line-height:1.65;margin-bottom:12px}
 .card .arrow{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-size:14px}
 .card .club-photo{margin-bottom:20px}
 .card .club-photo figcaption{padding:10px 0 0}
 .card .club-photo strong{font-size:22px;line-height:1.2}
 .card .club-photo small{font-size:10px;color:#71666a}
 .happy-hour h2{font-size:32px}
 .detail{gap:28px}
 .detail .photo-poster{width:min(100%,300px);margin-inline:auto}
 .detail .photo-poster strong{font-size:38px}
 .panel{padding:24px}
 .buttons{gap:10px;margin-top:22px}
 .buttons .btn{width:100%;text-align:center}
}
