:root{--bg:#09090b;--card:#121216;--ink:#f8f4ed;--muted:#b7b0a6;--gold:#c6a15b;--paper:#f4efe7;--dark:#171719;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;background:rgba(9,9,11,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:700}.brand-mark{width:38px;height:38px;border:1px solid var(--gold);display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:14px}.brand-text{letter-spacing:.02em}.nav{display:flex;gap:28px;align-items:center;font-size:14px}.nav a:hover{color:var(--gold)}.nav-cta{border:1px solid var(--gold);padding:10px 16px}.hero{min-height:78vh;display:grid;place-items:center;position:relative;padding:96px 5vw;background:radial-gradient(circle at 70% 30%,rgba(198,161,91,.18),transparent 30%),linear-gradient(135deg,#050506 0%,#171217 50%,#070708 100%);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.04) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(255,255,255,.03) 50%,transparent 50.2%);background-size:70px 70px;mask-image:linear-gradient(to bottom,black,transparent 80%)}.hero-content{position:relative;z-index:2;max-width:950px;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:12px;color:var(--gold);font-weight:700;margin:0 0 18px}.eyebrow.dark{color:#8d6a2c}.hero h1,.section h2{font-family:'Playfair Display',serif}.hero h1{font-size:clamp(48px,8vw,104px);line-height:.97;margin:0;letter-spacing:-.04em}.hero-copy{font-size:clamp(17px,2vw,22px);color:var(--muted);max-width:700px;margin:28px auto}.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;padding:15px 22px;border:1px solid transparent;font-weight:700;cursor:pointer;font:inherit}.btn-primary{background:var(--gold);color:#111}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.04)}.trust-row{margin-top:42px;display:flex;justify-content:center;gap:28px;flex-wrap:wrap;color:#918b83;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.section{padding:90px 5vw}.intro{background:var(--paper);color:var(--dark);display:grid;grid-template-columns:.8fr 1.7fr;gap:60px}.section h2{font-size:clamp(36px,5vw,64px);line-height:1.05;margin:0}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-grid article{border-top:1px solid rgba(0,0,0,.2);padding:22px 0}.service-grid h3{font-size:18px;margin:0 0 8px}.service-grid p,.section-heading>p{color:#66605a;line-height:1.65}.clubs-section{background:#0b0b0e}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end}.section-heading>p{max-width:520px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:34px 0}.filter{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 14px;cursor:pointer}.filter.active,.filter:hover{border-color:var(--gold);color:var(--gold)}.club-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.club-card{background:var(--card);border:1px solid var(--line);overflow:hidden;transition:.25s transform,.25s border-color}.club-card:hover{transform:translateY(-4px);border-color:rgba(198,161,91,.65)}.club-card.hidden{display:none}.club-art{aspect-ratio:16/10;display:grid;place-items:center;position:relative;font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,54px);letter-spacing:.08em;text-align:center}.club-art:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.12)}.club-art b{position:absolute;right:22px;top:22px;background:var(--gold);color:#111;padding:7px 9px;font:700 10px 'DM Sans';letter-spacing:.12em}.art-1{background:radial-gradient(circle,#2f2328,#0d090b)}.art-2{background:radial-gradient(circle at 30% 30%,#60482c,#15100a)}.art-3{background:linear-gradient(135deg,#281b36,#09080b)}.art-4{background:radial-gradient(circle,#542321,#140909)}.art-5{background:linear-gradient(135deg,#28131d,#0e080b)}.art-6{background:radial-gradient(circle,#363943,#0d0e11)}.art-7{background:linear-gradient(135deg,#4c321a,#100b07)}.art-8{background:linear-gradient(135deg,#33213f,#0c0810)}.art-9{background:radial-gradient(circle,#172d42,#070b10)}.art-10{background:linear-gradient(135deg,#423727,#0f0d09)}.art-11{background:radial-gradient(circle,#4c2428,#10090b)}.art-12{background:linear-gradient(135deg,#1c3550,#090d12)}.art-13{background:radial-gradient(circle,#313b20,#0b0e07)}.club-body{padding:22px;display:grid;gap:14px}.club-body h3{font-size:25px;margin:3px 0}.club-body p{margin:0;color:var(--muted);line-height:1.6}.club-body .location{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}.club-body a{color:var(--gold);font-weight:700;font-size:14px}.how{background:#151216;text-align:center}.how .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;text-align:left}.steps>div{padding:28px;border:1px solid var(--line)}.steps span{font-family:'Playfair Display';color:var(--gold);font-size:34px}.steps p{color:var(--muted);line-height:1.6}.enquiry{background:var(--paper);color:var(--dark);display:grid;grid-template-columns:.85fr 1.4fr;gap:60px}.enquiry-copy>p{color:#5f5952;line-height:1.65}.contact-card{display:grid;gap:8px;margin-top:24px;padding:18px;border:1px solid #cec5b8;background:#fff}.contact-card strong{margin-bottom:2px}.contact-card a{color:#6f5123;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.mini-note{font-size:12px;line-height:1.6;color:#6d665e;border-top:1px solid #cec5b8;padding-top:18px;margin-top:28px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form label{display:grid;gap:7px;font-size:13px;font-weight:700}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:14px;border:1px solid #bfb5a6;background:#fff;font:inherit;color:#171719;border-radius:0}.booking-form textarea{resize:vertical}.full{grid-column:1/-1}footer{padding:40px 5vw;display:flex;justify-content:space-between;gap:40px;color:#9f988f;font-size:13px;border-top:1px solid var(--line)}footer strong{color:#fff}footer a{color:#d2c7b8;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}footer a:hover{color:var(--gold)}.floating-cta{display:none;position:fixed;z-index:40;left:18px;right:18px;bottom:16px;background:var(--gold);color:#111;text-align:center;padding:15px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.35)}
@media(max-width:900px){.nav a:not(.nav-cta){display:none}.intro,.enquiry{grid-template-columns:1fr}.club-grid{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.how .steps{grid-template-columns:1fr}.floating-cta{display:block}footer{padding-bottom:90px}}
@media(max-width:620px){.site-header{padding:14px 18px}.brand-text{font-size:14px}.hero{min-height:72vh;padding:72px 20px}.hero h1{font-size:52px}.section{padding:68px 20px}.service-grid,.club-grid,.booking-form{grid-template-columns:1fr}.full{grid-column:auto}.club-art{font-size:38px}.nav-cta{padding:8px 10px;font-size:12px}footer{flex-direction:column;padding-left:20px;padding-right:20px}}

/* Real venue photography */
.club-art{background-size:cover!important;background-position:center!important;isolation:isolate;color:#fff;text-shadow:0 2px 18px #000}
.club-art:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.08) 70%);z-index:-1}
.art-1{background-image:url('tabu.webp')!important}
.art-2{background-image:url('itzel.jpg')!important}
.art-3{background-image:url('tape.webp')!important}
.art-4{background-image:url('cirque.jpg')!important}
.art-5{background-image:url('dear-darling.webp')!important}
.art-6{background-image:url('https://headbox-media.imgix.net/spaces/42993/photos/88fba204-6608-48f7-a4a9-1f081602156d_MaddoxVenueImages%20MR4.jpg?ar=3%3A2&auto=format&fit=crop&ixlib=react-9.5.4&q=60')!important}
.art-7{background-image:url('maya.jpg')!important}
.art-8{background-image:url('reign.jpg')!important}
.art-9{background-image:url('selene.webp')!important}
.art-10{background-image:url('rex.jpg')!important}
.art-11{background-image:url('paloma.jpg')!important}
.art-12{background-image:url('gallery.webp')!important}
.art-13{background-image:url('cuckoo.webp')!important}

/* SEO landing and venue pages */
.venue-hero{padding:110px 5vw 62px;background:#0b0b0e}.venue-wrap{max-width:1120px;margin:auto}.breadcrumbs{font-size:13px;color:#9f988f;margin-bottom:24px}.breadcrumbs a{color:#c6a15b}.venue-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.venue-hero h1{font-family:'Playfair Display',serif;font-size:clamp(42px,6vw,78px);line-height:1;margin:0 0 18px}.venue-hero p{color:#c4bdb4;line-height:1.7;font-size:18px}.venue-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(255,255,255,.12)}.seo-content{background:#f4efe7;color:#171719}.seo-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:55px;max-width:1120px;margin:auto}.seo-copy h2,.seo-copy h3{font-family:'Playfair Display',serif}.seo-copy h2{font-size:38px}.seo-copy h3{font-size:27px;margin-top:38px}.seo-copy p,.seo-copy li{line-height:1.75;color:#514b45}.seo-side{background:#fff;border:1px solid #d7cec2;padding:26px;height:max-content;position:sticky;top:92px}.seo-side h2{font-size:28px;margin-top:0}.seo-side .btn{width:100%;margin:8px 0}.related-links{display:grid;gap:8px;margin-top:16px}.related-links a{color:#6f5123;text-decoration:underline}.faq{margin-top:42px;border-top:1px solid #cfc5b8}.faq details{padding:18px 0;border-bottom:1px solid #cfc5b8}.faq summary{font-weight:700;cursor:pointer}.seo-landing{max-width:1120px;margin:auto}.seo-landing .lead{max-width:780px;font-size:19px;line-height:1.7}.seo-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.seo-card{background:#fff;border:1px solid #d7cec2;padding:24px}.seo-card h3{font-family:'Playfair Display',serif;font-size:26px;margin-top:0}.seo-card a{color:#6f5123;font-weight:700}.club-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.club-art span{position:relative;z-index:2}.club-art:before{z-index:-1}.club-art{background-image:none!important}.art-6{background-image:none!important}
@media(max-width:800px){.venue-hero-grid,.seo-grid{grid-template-columns:1fr}.seo-side{position:static}.seo-card-grid{grid-template-columns:1fr}.venue-hero{padding-top:90px}}
/* Visible venue-page navigation */
.club-image-link{display:block;color:inherit}
.club-image-link .club-art{transition:transform .25s ease,filter .25s ease}
.club-image-link:hover .club-art{filter:brightness(1.08)}
.venue-guide{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:11px 14px;border:1px solid var(--gold);color:var(--gold)!important;font-weight:800!important;letter-spacing:.01em}
.venue-guide:hover{background:var(--gold);color:#111!important}
.club-body>a[data-club]{display:inline-block;margin-top:-4px}

/* Restaurant reservations */
.restaurants-section{background:var(--paper);color:var(--dark)}
.restaurants-section .section-heading>p{color:#66605a}.restaurant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.restaurant-card{background:#fff;border:1px solid #d8cdbd;overflow:hidden;transition:.25s transform,.25s box-shadow}.restaurant-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.09)}.restaurant-art{aspect-ratio:16/10;background:#171719;overflow:hidden}.restaurant-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.restaurant-card:hover .restaurant-art img{transform:scale(1.035)}.restaurant-body{padding:22px;display:grid;gap:12px}.restaurant-body h3{font-family:'Playfair Display',serif;font-size:27px;margin:0}.restaurant-body p{margin:0;color:#66605a;line-height:1.6}.restaurant-body .location{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#8d6a2c}.restaurant-concierge{margin-top:28px;padding:28px;background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px}.restaurant-concierge h3{font-family:'Playfair Display',serif;font-size:30px;margin:0 0 8px}.restaurant-concierge p{color:#c7c0b7;margin:0;line-height:1.6}.restaurant-concierge .eyebrow{color:var(--gold);margin-bottom:8px}@media(max-width:900px){.restaurant-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.restaurant-grid{grid-template-columns:1fr}.restaurant-concierge{align-items:flex-start;flex-direction:column}}


/* V6: immediate two-page Clubs / Restaurants navigation */
.choose-section{background:var(--paper);color:var(--dark);padding-top:58px}
.choose-heading{text-align:center;max-width:760px;margin:0 auto 32px}.choose-heading h2{font-size:clamp(40px,6vw,70px);margin:4px 0 12px}.choose-heading>p:last-child{color:#625c55;line-height:1.6}
.choose-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1180px;margin:auto}.choose-card{min-height:390px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);display:flex;align-items:flex-end;color:#fff}.choose-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s ease}.choose-clubs .choose-card-bg{background-image:linear-gradient(to top,rgba(0,0,0,.84),rgba(0,0,0,.18)),url('/cirque.jpg')}.choose-restaurants .choose-card-bg{background-image:linear-gradient(to top,rgba(0,0,0,.84),rgba(0,0,0,.18)),url('https://images.unsplash.com/photo-1550966871-3ed3cdb5ed0c?auto=format&fit=crop&w=1400&q=84')}.choose-card:hover .choose-card-bg{transform:scale(1.035)}.choose-card-content{position:relative;z-index:2;padding:34px}.choose-card-content span{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700}.choose-card-content h3{font-family:'Playfair Display',serif;font-size:clamp(42px,5vw,68px);margin:4px 0 8px}.choose-card-content p{color:#ddd4ca;margin:0 0 14px}.choose-card-content b{color:var(--gold)}
.listing-main{padding-top:74px}.listing-hero{min-height:370px;padding:72px 5vw 58px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.32)),url('/cirque.jpg') center/cover}.restaurant-listing-hero{background-image:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.32)),url('https://images.unsplash.com/photo-1550966871-3ed3cdb5ed0c?auto=format&fit=crop&w=1800&q=86')}.listing-hero h1{font-family:'Playfair Display',serif;font-size:clamp(58px,9vw,112px);line-height:.9;margin:8px 0 16px}.listing-hero>p:not(.eyebrow){max-width:720px;color:#ddd4ca;font-size:19px;line-height:1.6}.standalone-listing{padding-top:58px}.standalone-listing .section-heading h2{font-size:clamp(42px,6vw,72px)}
@media(max-width:760px){.choose-grid{grid-template-columns:1fr}.choose-card{min-height:300px}.listing-main{padding-top:64px}.listing-hero{min-height:320px;padding:58px 20px 44px}.listing-hero h1{font-size:58px}}

/* V7 restaurant text-only cards: no venue photography */
.choose-restaurants .choose-card-bg{background-image:linear-gradient(135deg,#2a2116,#0b0b0e)!important}
.restaurant-listing-hero{background-image:linear-gradient(135deg,#2b2115,#0a0a0c)!important}
.restaurant-card.text-only{min-height:245px;display:flex;align-items:stretch}
.restaurant-card.text-only .restaurant-body{width:100%;padding:28px;grid-template-rows:auto auto 1fr auto}
.restaurant-card.text-only .cuisine-label{font-size:16px;color:#4f4942;line-height:1.5}
.restaurant-card.text-only h3{font-size:30px}
