@import url("/fonts/fonts.css");

/* Palette taken from the hall itself:
   night  #0B1F17  the room with the canopies on    baize  #1FAE48  table cloth under LED
   mauve  #BFA3A3  panelled walls                   brass  #D4A63A  timers, trophies
   ivory  #F2EEE7  text on dark                     navy   #27345F  carpet                 */
:root{
  --night:#0B1F17; --night2:#10291F; --night3:#163528; --baize:#1FAE48; --mauve:#BFA3A3; --brass:#D4A63A; --brass2:#F0C75E;
  --ivory:#F2EEE7; --muted:#A9B8AF; --line:#ffffff1c; --navy:#27345F;
  --font:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --cond:"IBM Plex Sans Condensed","IBM Plex Sans",system-ui,sans-serif;
  --title:"Cinzel","Trajan Pro",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--ivory);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--brass2);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.num{font-variant-numeric:tabular-nums}

/* nav over the hall */
.nav{position:fixed;inset:0 0 auto;z-index:20;transition:background .25s}
.nav.solid{background:#0B1F17ee;backdrop-filter:blur(10px);box-shadow:inset 0 -1px 0 var(--line)}
.nav .wrap{display:flex;align-items:center;gap:26px;height:68px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font:600 16px var(--title);letter-spacing:.08em}
.logo .mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(145deg,var(--brass2),var(--brass));display:grid;place-items:center}
.logo .mark svg{width:18px;height:18px;fill:var(--night)}
.nav .links{display:flex;gap:22px;margin-left:auto;font-size:15px}
.nav .links a{text-decoration:none;color:#E3E8E4;opacity:.85}
.nav .links a:hover{opacity:1}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:9px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.btn.brass{background:var(--brass);color:var(--night)}
.btn.brass:hover{background:var(--brass2)}
.btn.ghost{border-color:#ffffff40;color:var(--ivory);background:#0B1F1766;backdrop-filter:blur(6px)}
.btn.ghost:hover{border-color:#ffffff80}
.btn svg{width:18px;height:18px;fill:currentColor}

/* hero: real photos of the hall with live pins on the tables */
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;background:#15130f}
.media,.stage{position:absolute;inset:0}
.shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;will-change:opacity,transform}
.shot.on{opacity:1;animation:drift 22s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.045)}}
.hero .shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,10,8,.62) 0%,transparent 14%,transparent 58%,rgba(8,16,12,.78) 86%,#0B1F17 100%),linear-gradient(90deg,rgba(6,10,8,.55) 0%,rgba(6,10,8,.15) 38%,transparent 55%)}
.hero .copy{position:absolute;left:0;right:0;bottom:0;pointer-events:none;z-index:6}
.hero .copy .wrap{display:flex;align-items:flex-end;gap:24px;padding-bottom:44px;flex-wrap:wrap}
.hero .copy .lead{pointer-events:auto;flex:1;min-width:300px}
.status{display:inline-flex;align-items:center;gap:9px;font-size:14px;color:#E3E8E4;background:#0B1F1799;border:1px solid var(--line);padding:6px 12px;border-radius:99px;backdrop-filter:blur(6px)}
.status .d{width:8px;height:8px;border-radius:50%;background:var(--baize);box-shadow:0 0 0 4px #1FAE4833;animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 7px #1FAE4800}}
h1{font:700 clamp(32px,4.4vw,60px)/1.08 var(--title);letter-spacing:.04em;margin:16px 0 12px;max-width:16ch;text-shadow:0 2px 30px #000c,0 0 60px rgba(240,199,94,.18);background:linear-gradient(180deg,#FFF6DD 0%,#F0D58A 55%,#C9973A 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.tag{font-size:clamp(16px,1.6vw,19px);color:#E6EBE7;max-width:46ch;margin:0 0 22px;text-shadow:0 1px 12px #0009}
.hero .ctas{display:flex;gap:10px;flex-wrap:wrap}
.views{pointer-events:auto;display:flex;gap:4px;background:#0B1F17b3;border:1px solid var(--line);padding:4px;border-radius:10px;backdrop-filter:blur(8px)}
.views button{background:none;border:0;color:#C6D2CB;font:500 14px var(--font);padding:8px 12px;border-radius:7px;cursor:pointer;white-space:nowrap}
.views button.on{background:var(--ivory);color:var(--night)}

/* live pins on the tables */
#pins{position:absolute;inset:0;pointer-events:none;z-index:5}
.pin{position:absolute;left:0;top:0;transition:opacity .4s}
.pin .dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--baize);box-shadow:0 0 0 3px #ffffffcc,0 0 0 9px #1FAE4833}
.pin.live .dot{background:var(--brass2);box-shadow:0 0 0 3px #ffffffcc,0 0 0 9px #F0C75E40;animation:ring 2s infinite}
@keyframes ring{50%{box-shadow:0 0 0 3px #ffffffcc,0 0 0 15px #F0C75E00}}
.pin .stem{position:absolute;background:#ffffffb0}
.pin .card{position:absolute;background:#0B1F17eb;border:1px solid #ffffff30;border-radius:10px;padding:9px 13px 10px;min-width:220px;max-width:280px;backdrop-filter:blur(8px);box-shadow:0 12px 30px #0009;white-space:nowrap}
.pin .top{display:flex;align-items:center;gap:8px;font:600 12.5px var(--cond);letter-spacing:.05em;color:var(--muted)}
.pin .names{font-weight:600;font-size:15px;margin-top:3px;line-height:1.3;white-space:normal}
.pin .vs{color:var(--muted);font-weight:400;margin:0 5px}
.pin .time{font:600 21px var(--cond);color:var(--brass2);font-variant-numeric:tabular-nums}

/* photo-backed sections */
.photo-band{position:relative;isolation:isolate}
.photo-band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--night) 0%,#0B1F17d9 30%,#0B1F17e6 100%),var(--bg) center/cover}

/* sections */
section{padding:96px 0}
.eyebrowless h2,section h2{font:600 clamp(26px,3.4vw,40px)/1.15 var(--title);letter-spacing:.05em;margin:0 0 14px;padding-bottom:14px;position:relative;color:#F6EEDC}
section h2::after{content:"";position:absolute;left:0;bottom:0;width:72px;height:1px;background:linear-gradient(90deg,var(--brass2),transparent)}
.sub{color:var(--muted);max-width:56ch;margin:0 0 36px}

/* live tables: the real table photo, lights follow the game */
.livegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.tcard{position:relative;border-radius:16px;overflow:hidden;background:var(--night2);border:1px solid var(--line);transition:border-color .9s,box-shadow .9s}
.tcard .felt{position:relative;isolation:isolate;overflow:hidden;padding:24px 24px 22px;min-height:270px;display:flex;flex-direction:column}
.tcard .felt::before{content:"";position:absolute;inset:-2%;z-index:-2;background:var(--photo) var(--pos)/var(--size,cover);filter:brightness(.22) saturate(.3);transform:scale(1.02);transition:filter .9s ease,transform 6s ease}
.tcard .felt::after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .9s ease;
  background:radial-gradient(70% 55% at 50% 38%,rgba(235,244,255,.22),transparent 70%),linear-gradient(180deg,rgba(6,18,13,.6) 0%,rgba(6,18,13,.1) 40%,rgba(6,18,13,.88) 100%)}
.tcard .felt .shadeoff{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,12,9,.5),rgba(4,12,9,.25) 45%,rgba(4,12,9,.9));transition:opacity .9s}
.tcard.lit .felt::before{filter:brightness(1.02) saturate(1.08);transform:scale(1.06)}
.tcard.lit .felt::after{opacity:1}.tcard.lit .felt .shadeoff{opacity:0}
.tcard.dim .felt::before{filter:brightness(.62) saturate(.75)}
.tcard.dim .felt .shadeoff{opacity:.45}.tcard.dim .felt::after{opacity:.5}
.tcard.lit{border-color:rgba(240,199,94,.4);box-shadow:0 0 70px rgba(31,174,72,.14)}
.tcard.poweron .felt::before{animation:tubes 1.3s ease-out both}.tcard.poweron .felt::after{animation:tubesGlow 1.3s ease-out both}
.tcard.poweroff .felt::before{animation:off .9s ease-in both}
@keyframes tubes{0%{filter:brightness(.22) saturate(.3)}10%{filter:brightness(.95)}16%{filter:brightness(.3)}26%{filter:brightness(1.05)}31%{filter:brightness(.5)}45%,100%{filter:brightness(1.02) saturate(1.08)}}
@keyframes tubesGlow{0%{opacity:0}10%{opacity:1}16%{opacity:.2}26%{opacity:1}31%{opacity:.4}45%,100%{opacity:1}}
@keyframes off{from{filter:brightness(1.02) saturate(1.08)}to{filter:brightness(.22) saturate(.3)}}
.tcard .row{display:flex;align-items:center;gap:10px}
.tcard .name{font:700 21px var(--title);letter-spacing:.06em;text-shadow:0 2px 10px #000a}
.tcard .model{color:#C9D6CE;font-size:14px}
.pill{margin-left:auto;font-size:13px;font-weight:500;padding:3px 10px;border-radius:99px;background:rgba(0,0,0,.45);color:#D7E0DA}
.pill.live{background:var(--brass);color:var(--night)}
.tcard .players{font:600 clamp(22px,2.6vw,28px)/1.2 var(--font);margin:auto 0 4px;padding-top:40px;text-shadow:0 2px 12px #000c}
.tcard .players .vs{color:#C9D6CE;font-weight:400;font-size:.7em;margin:0 6px}
.tcard .clock{font:700 46px/1 var(--cond);color:var(--brass2);font-variant-numeric:tabular-nums;margin-top:10px;text-shadow:0 2px 16px #000a}
.tcard.dark .clock{color:rgba(255,255,255,.3);text-shadow:none}
.tcard .foot{display:flex;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}

/* leaderboard */
.lbwrap{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}
.seg{display:inline-flex;background:var(--night2);border:1px solid var(--line);border-radius:9px;padding:3px;margin-bottom:14px}
.seg button{background:none;border:0;color:var(--muted);font:500 14px var(--font);padding:7px 14px;border-radius:7px;cursor:pointer}
.seg button.on{background:var(--ivory);color:var(--night)}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{font-weight:500;font-size:13px;color:var(--muted);text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}
td{padding:13px 14px;border-bottom:1px solid #ffffff10}
td.n,th.n{text-align:right}
tr.top1 td{color:var(--brass2)}
.board{background:var(--night2);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.podium{background:var(--night2);border:1px solid var(--line);border-radius:14px;padding:26px}
.podium .champ{font:700 32px/1.15 var(--title);letter-spacing:.03em;margin:8px 0 4px;color:#F6EEDC}
.podium .stat{display:flex;gap:28px;margin-top:20px}
.podium .stat b{display:block;font:600 30px var(--cond);color:var(--brass2)}
.podium .stat span{font-size:13px;color:var(--muted)}

/* visit */
.visit{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.info{background:var(--night2);border:1px solid var(--line);border-radius:14px;padding:22px}
.info .k{color:var(--muted);font-size:14px}
.info .v{font:600 26px/1.25 var(--cond);margin-top:4px}
.info .s{color:var(--muted);font-size:14px;margin-top:6px}

/* club owners */
.owners{border-top:1px solid var(--line)}
.owners .grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.feat div{background:#ffffff08;border:1px solid var(--line);border-radius:12px;padding:16px}
.feat b{display:block;font-weight:600;margin-bottom:2px}
.feat span{color:var(--muted);font-size:14px}

footer{padding:40px 0 60px;color:var(--muted);font-size:14px}
footer .wrap{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
footer a{color:var(--ivory)}


@media (max-width:860px){
  .nav .links{display:none}
  .lbwrap,.owners .grid{grid-template-columns:1fr}
  section{padding:72px 0}
  .hero .copy .wrap{padding-bottom:28px}
  .feat{grid-template-columns:1fr}
  .pin .card{min-width:170px;padding:7px 10px}
  .hero{height:auto;min-height:0;background:var(--night)}
  .media{position:relative;height:62svh;min-height:380px}
  .hero .shade{background:linear-gradient(180deg,#0B1F17b3 0%,transparent 22%,transparent 70%,var(--night) 100%)}
  .hero .copy{position:relative}
  .hero .copy .wrap{padding-top:4px;padding-bottom:36px}
  .pin .names{font-size:13.5px}.pin .time{font-size:17px}
  .views{order:-1}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* ── rank tags (monthly ranking) ── */
.rk{display:inline-block;font:700 12px/1 var(--cond);letter-spacing:.02em;padding:3px 6px;border-radius:5px;background:rgba(255,255,255,.12);color:#E3EAE5;vertical-align:2px;margin-left:4px}
.rk.top{background:var(--brass);color:var(--night)}
.pl{white-space:nowrap}

/* ── club page ── */
body.club::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,24,18,.62),rgba(8,24,18,.9)),url(/site/img/bg-hall-blur.jpg) center/cover}
body.club{background:transparent}
html:has(body.club){background:var(--night)}
.clubmain{padding-top:68px;min-height:80vh}
.glasscard{background:rgba(10,28,21,.72);border:1px solid var(--line);border-radius:16px;padding:22px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.lockcard{max-width:560px;margin:12vh auto 0}
.lockcard h1{margin-top:0}
.clubhero{padding:44px 0 10px}
.clubhero h1{margin:4px 0 22px}
.k{color:var(--muted);font-size:14px}
.tiergrid{display:grid;grid-template-columns:.8fr 1.6fr;gap:16px}
.bigrank{font:700 66px/1 var(--title);color:var(--brass2);margin:10px 0 6px;text-shadow:0 0 40px rgba(240,199,94,.3)}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 10px}
.tier{border:1px solid var(--line);border-radius:12px;padding:12px;background:rgba(255,255,255,.04)}
.tier b{display:block;font:700 28px/1 var(--cond)}
.tier span{font-size:13px;color:var(--muted)}
.tier.on{border-color:var(--brass);background:rgba(212,166,58,.16)}
.tier.on b{color:var(--brass2)}
.offer{display:flex;gap:22px;align-items:center;margin-top:16px;border-color:rgba(212,166,58,.45);background:linear-gradient(135deg,rgba(212,166,58,.2),rgba(10,28,21,.78) 60%)}
.offer .otext{flex:1}
.obig{font:700 32px/1.15 var(--cond);letter-spacing:0;color:var(--brass2);margin:6px 0 8px}
.offer p{margin:0 0 6px;color:#E3EAE5}
.offer .btn{margin-top:12px}
.oqr{width:170px;background:#fff;border-radius:12px;padding:8px;flex:none}
.you{font-size:11.5px;font-weight:600;padding:1px 6px;border-radius:5px;background:rgba(31,174,72,.25);color:#9BE8B6;margin-left:6px}
tr.meRow td{background:rgba(31,174,72,.1)}
.rw{font-size:13px;color:var(--muted)}
.rw.top{color:var(--brass2);font-weight:600}
.lastrow{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.lastrow:last-child{border-bottom:0}
.lastrow .muted{margin-left:auto}
.lock{padding:26px;border-radius:14px;border:1px dashed rgba(255,255,255,.2);background:rgba(255,255,255,.03)}
.lock h3{margin:0 0 8px;font:600 22px var(--title);letter-spacing:.04em}
.lock p{color:var(--muted);margin:0 0 16px}
.ghostlink{font-size:14px;color:var(--brass2)}
@media (max-width:860px){
  .tiergrid{grid-template-columns:1fr}
  .tiers{grid-template-columns:repeat(2,1fr)}
  .offer{flex-direction:column;align-items:stretch}
  .oqr{align-self:center}
  .clubhero{padding-top:28px}
}

/* ── club: photos, booking, wallet ── */
.pav{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(240,199,94,.18) center/cover;border:1px solid rgba(240,199,94,.4);color:var(--brass2);font:700 12px var(--cond);vertical-align:middle;margin-right:8px;flex:none}
.pav.sm{width:26px;height:26px;font-size:11px}
.pav.xl{width:72px;height:72px;font-size:24px;margin:0;border-width:2px}
.tcard .players .pav{width:34px;height:34px;border:2px solid rgba(255,255,255,.7)}
.hello{display:flex;align-items:center;gap:18px}
.me-photo{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}
.me-photo small{font-size:11.5px;color:var(--muted)}
.me-photo:hover small{color:var(--brass2)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.frow label,.bookform label,#wallet label{font-size:13.5px;color:var(--muted);display:block}
.club select,.club input:not([type=file]){display:block;width:100%;margin-top:6px;background:rgba(4,14,10,.55);border:1px solid var(--line);border-radius:10px;padding:11px 12px;color:var(--ivory);font:inherit;color-scheme:dark}
.club select:focus,.club input:focus{outline:none;border-color:var(--brass)}
.bookform .frow+.frow{margin-top:12px}
.estimate{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.estimate>div{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.03)}
.estimate>div.on{border-color:var(--brass);background:rgba(212,166,58,.14)}
.estimate b{display:block;font:700 22px var(--cond)}
.estimate>div.on b{color:var(--brass2)}
.estimate span{font-size:12.5px;color:var(--muted)}
.formmsg{margin-top:10px;font-size:14px}
.formmsg.ok{color:#9BE8B6}.formmsg.err{color:#FF9D94}
.wqr{display:flex;gap:16px;align-items:center;margin-top:12px}
.wqr img{width:130px;background:#fff;border-radius:10px;padding:6px;flex:none}
.wqr .btn{margin-bottom:8px}
@media (max-width:860px){.frow{grid-template-columns:1fr}.wqr{flex-direction:column;align-items:stretch}.wqr img{align-self:center}}


/* ───────── cinema ambience ───────── */
/* fine film grain over everything, very faint */
body::after{content:"";position:fixed;inset:-50%;z-index:100;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
/* hero: cinema vignette + one slow light sweep across the hall */
.hero .media::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background:radial-gradient(120% 90% at 50% 45%,transparent 62%,rgba(0,0,0,.4) 100%)}
.hero .media::before{content:"";position:absolute;top:-20%;bottom:-20%;width:35%;left:-40%;z-index:3;pointer-events:none;
  background:linear-gradient(100deg,transparent 0%,rgba(255,240,205,.10) 45%,rgba(255,240,205,.16) 50%,rgba(255,240,205,.10) 55%,transparent 100%);transform:skewX(-14deg);animation:sweep 9s ease-in-out 1.2s 1 both}
@keyframes sweep{to{left:120%}}
.hero .status{font-family:var(--title);letter-spacing:.06em;font-size:13px}
.hero p.tag{font-style:italic;letter-spacing:.01em}
/* warm stage light behind each section title */
section{position:relative}
section>.wrap{position:relative}
section>.wrap>h2::before{content:"";position:absolute;left:-60px;top:-50px;width:380px;height:200px;pointer-events:none;z-index:-1;
  background:radial-gradient(closest-side,rgba(240,199,94,.10),transparent)}
/* gold hairline frames on cards */
.tcard,.board,.podium,.info,.glasscard{box-shadow:0 20px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,236,190,.06)}
.tcard.lit{box-shadow:0 0 0 1px rgba(240,199,94,.35),0 30px 80px rgba(0,0,0,.45),0 0 90px rgba(31,174,72,.16)}
.btn.brass{background:linear-gradient(180deg,#F3CF6E,#C9973A);box-shadow:0 6px 20px rgba(212,166,58,.25),inset 0 1px 0 rgba(255,255,255,.35);letter-spacing:.02em}
.btn.brass:hover{background:linear-gradient(180deg,#F8DA86,#D4A63A)}
.nav.solid{background:rgba(7,20,14,.86)}
.nav .links a{font-family:var(--title);font-size:13.5px;letter-spacing:.08em}
footer{border-top:1px solid rgba(240,199,94,.12)}
@media (prefers-reduced-motion:reduce){body::after,.hero .media::before{animation:none}.hero .media::before{display:none}}

/* ───────── brand: logo, backlit sign, watermark ───────── */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.navlogo{height:42px;width:auto;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
/* the hall sign: logo lit from behind, like a backlit acrylic sign on the wall */
h1.sign{background:none;-webkit-background-clip:initial;background-clip:initial;color:inherit;max-width:none;margin:18px 0 10px;position:relative;display:block;width:fit-content}
h1.sign::before{content:"";position:absolute;inset:-18% -10%;z-index:-1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,244,220,.30),rgba(255,214,150,.10) 55%,transparent 75%);filter:blur(6px);animation:signon 1.6s ease-out .3s both}
h1.sign img{display:block;width:min(430px,74vw);height:auto;
  filter:drop-shadow(0 0 1px rgba(255,248,230,.9)) drop-shadow(0 0 14px rgba(255,236,200,.45)) drop-shadow(0 0 40px rgba(255,90,70,.22)) drop-shadow(0 6px 18px rgba(0,0,0,.6));
  animation:signon 1.6s ease-out .3s both}
@keyframes signon{0%{opacity:0}12%{opacity:.85}18%{opacity:.25}30%{opacity:1}36%{opacity:.6}50%,100%{opacity:1}}
/* faint logo on the table cloth of each live table card */
.tcard .felt .wm{position:absolute;left:50%;top:58%;width:44%;transform:translate(-50%,-50%) perspective(500px) rotateX(38deg);
  opacity:.0;z-index:-1;pointer-events:none;mix-blend-mode:screen;transition:opacity .9s ease}
.tcard.lit .felt .wm{opacity:.16}
.tcard.dim .felt .wm{opacity:.09}
.tcard.dark .felt .wm{opacity:.05}

/* quiet facts strip under the hero */
.facts{border-top:1px solid rgba(240,199,94,.14);border-bottom:1px solid rgba(240,199,94,.14);background:rgba(4,12,9,.55)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.facts .wrap>div{padding:18px 16px;display:flex;align-items:baseline;gap:10px}
.facts .wrap>div+div{border-left:1px solid rgba(255,255,255,.07)}
.facts b{font:700 20px var(--title);color:var(--brass2);letter-spacing:.04em}
.facts span{font-size:14px;color:var(--muted)}

/* players of the month */
.potm{display:grid;grid-template-columns:1.15fr 1fr 1fr .9fr;gap:14px;align-items:stretch}
.pcard{position:relative;background:rgba(10,28,21,.7);border:1px solid var(--line);border-radius:16px;padding:22px;text-decoration:none;color:inherit;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.pcard.p1{border-color:rgba(240,199,94,.5);background:linear-gradient(160deg,rgba(212,166,58,.18),rgba(10,28,21,.8) 60%)}
.pcard .face{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:rgba(240,199,94,.16) center/cover;border:2px solid rgba(240,199,94,.55);font:700 24px var(--title);color:var(--brass2);margin-bottom:14px}
.pcard.p1 .face{width:76px;height:76px;box-shadow:0 0 30px rgba(240,199,94,.35)}
.pcard .place{font:600 12px var(--title);letter-spacing:.1em;color:var(--brass2);text-transform:uppercase}
.pcard .pname{font:700 22px/1.2 var(--title);letter-spacing:.03em;margin:6px 0 4px;color:#F6EEDC}
.pcard.more{display:flex;flex-direction:column;justify-content:flex-end;border-style:dashed;box-shadow:none;background:rgba(255,255,255,.02)}
.pcard.more:hover{border-color:rgba(240,199,94,.5)}
.monthstats{display:flex;gap:40px;margin-top:22px;flex-wrap:wrap}
.monthstats b{display:block;font:700 30px var(--title);color:#F6EEDC}
.monthstats span{font-size:13.5px;color:var(--muted)}

/* club owners */
.owners{background:linear-gradient(180deg,rgba(4,12,9,.4),rgba(4,12,9,.8))}
.owners .grid{align-items:start}
.flist{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.flist li{padding-left:22px;position:relative;color:#DCE3DE}
.flist li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:1px;background:var(--brass2)}
.flist b{color:#F6EEDC;font-weight:600}
.enquiry label{display:block;font-size:13.5px;color:var(--muted);margin-top:12px}
.enquiry .frow label{margin-top:0}
.enquiry .frow{margin-top:12px}
.enquiry input,.enquiry textarea{display:block;width:100%;margin-top:6px;background:rgba(4,14,10,.55);border:1px solid var(--line);border-radius:10px;padding:11px 12px;color:var(--ivory);font:inherit}
.enquiry input:focus,.enquiry textarea:focus{outline:none;border-color:var(--brass)}
.enquiry .hp{position:absolute;left:-9999px}

footer .wrap{gap:18px}
.footlogo{height:46px;width:auto;opacity:.9}
.footinfo{display:flex;flex-direction:column;gap:2px}

@media (max-width:860px){
  .navlogo{height:34px}
  .facts .wrap{grid-template-columns:1fr 1fr}
  .facts .wrap>div:nth-child(3){border-left:0}
  .facts .wrap>div{border-top:1px solid rgba(255,255,255,.06)}
  .potm{grid-template-columns:1fr 1fr}
  .pcard.p1{grid-column:1/-1}
  h1.sign img{width:min(420px,86vw)}
}
@media (prefers-reduced-motion:reduce){h1.sign img,h1.sign::before{animation:none}}

/* ───────── ranking, winners, owners band, FAQ ───────── */
.pav.lg{width:52px;height:52px;font-size:20px;border-width:2px}
.winrow{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.winrow:last-child{border-bottom:0}
.winrow b{font:700 18px var(--title);letter-spacing:.03em;color:#F6EEDC}
.wplace{font:600 11.5px var(--title);letter-spacing:.1em;text-transform:uppercase;color:var(--brass2)}
.winrow.champ1 .pav{box-shadow:0 0 24px rgba(240,199,94,.4)}
.ownerband{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.ownerband>div:first-child{flex:1;min-width:280px}
.ownerbtns{display:flex;gap:10px;flex-wrap:wrap}
.owners{padding:64px 0}
.faqwrap{max-width:860px;padding-top:40px;padding-bottom:40px}
.faqtitle{background:none!important;-webkit-background-clip:initial!important;color:#F6EEDC!important}
.faqsec{padding:26px 0 10px}
.faqsec h2{margin-bottom:18px}
.faqpage details{background:rgba(10,28,21,.72);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.faqpage summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:600;font-size:16.5px;display:flex;justify-content:space-between;gap:12px}
.faqpage summary::-webkit-details-marker{display:none}
.faqpage summary::after{content:"+";color:var(--brass2);font:400 22px/1 var(--font)}
.faqpage details[open] summary::after{content:"–"}
.faqpage details[open]{border-color:rgba(240,199,94,.3)}
.faqpage details p,.faqpage details ul{margin:0;padding:0 20px 18px;color:#D6DED9;line-height:1.65}
.faqpage details ul{padding-left:38px}
.faqpage details li{margin-bottom:6px}
.faqpage details b{color:var(--brass2);font-weight:600}
.faqcta{margin-top:18px}

/* ───────── higher contrast everywhere ───────── */
:root{--muted:#BCC8C1}
.sub{color:#C9D3CD}
.info .ic{display:none}
.menubtn,.msheet,.mbar{display:none}

/* ───────── phones: premium layout ───────── */
@media (max-width:860px){
  body{font-size:15.5px}
  .wrap{padding:0 18px}

  /* header: logo, menu */
  .nav{background:linear-gradient(180deg,rgba(4,10,7,.85),rgba(4,10,7,0));padding-top:env(safe-area-inset-top)}
  .nav.solid{background:rgba(5,14,10,.92);box-shadow:inset 0 -1px 0 rgba(240,199,94,.22)}
  .nav .wrap{height:60px;gap:10px}
  .navbook{display:none}
  .navlogo{height:36px}
  .menubtn{display:grid;place-content:center;gap:6px;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1px solid rgba(240,199,94,.45);background:rgba(5,14,10,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;position:relative;z-index:32}
  .menubtn span{display:block;width:20px;height:1.5px;background:var(--brass2);transition:transform .3s}
  .menuopen .menubtn span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .menuopen .menubtn span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .msheet{display:flex;flex-direction:column;position:fixed;inset:0;z-index:19;padding:calc(96px + env(safe-area-inset-top)) 26px calc(26px + env(safe-area-inset-bottom));
    background:radial-gradient(120% 60% at 50% 0%,rgba(212,166,58,.16),transparent 60%),#050D09f5;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .menuopen .msheet{opacity:1;visibility:visible}
  .menuopen{overflow:hidden}
  .menuopen .nav{background:transparent;box-shadow:none}
  .msheet nav{display:flex;flex-direction:column}
  .msheet nav a{display:flex;align-items:baseline;gap:16px;padding:17px 0;border-bottom:1px solid rgba(240,199,94,.16);text-decoration:none;font:600 25px var(--title);letter-spacing:.05em;color:#FBF4E2;
    transform:translateY(10px);opacity:0;transition:transform .45s,opacity .45s}
  .msheet nav a small{font:600 12px var(--cond);color:var(--brass2);letter-spacing:.1em}
  .menuopen .msheet nav a{transform:none;opacity:1}
  .menuopen .msheet nav a:nth-child(2){transition-delay:.04s}.menuopen .msheet nav a:nth-child(3){transition-delay:.08s}
  .menuopen .msheet nav a:nth-child(4){transition-delay:.12s}.menuopen .msheet nav a:nth-child(5){transition-delay:.16s}
  .mfoot{margin-top:auto;display:grid;gap:10px}
  .mfoot .btn{justify-content:center;padding:15px}

  /* hero: full-bleed photo, title sits on the photo */
  .hero{height:auto;min-height:0;background:#050D09}
  .hero .media{position:relative;height:74svh;min-height:470px;max-height:680px}
  .shot{object-position:58% 50%}
  .hero .shade{background:linear-gradient(180deg,rgba(4,10,7,.75) 0%,transparent 20%,transparent 34%,rgba(5,13,9,.55) 52%,rgba(5,13,9,.93) 70%,#050D09 88%)}
  .hero .media::after{background:radial-gradient(140% 80% at 50% 35%,transparent 55%,rgba(0,0,0,.5) 100%)}
  .hero .copy,.hero .copy .wrap{position:static}
  .hero .copy .wrap{display:block;padding-top:0;padding-bottom:34px}
  .hero .copy .lead{position:relative;z-index:7;margin-top:-210px;min-width:0}
  .hero h1{font-size:clamp(31px,9vw,40px);max-width:12ch;margin:14px 0 10px;line-height:1.06}
  .hero p.tag{font-size:16px;color:#EEF2EF;margin-bottom:22px}
  .hero .status{font-size:11.5px;padding:6px 12px;background:rgba(4,10,7,.7);border-color:rgba(240,199,94,.35);color:#F4EEDF}
  .hero .ctas{display:grid;gap:10px}
  .hero .ctas .btn{justify-content:center;padding:15px 18px;font-size:15.5px;border-radius:12px}
  .hero .ctas .btn.ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.35)}
  /* view switcher: overlaid segmented control under the header */
  .views{position:absolute;z-index:7;top:calc(70px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);order:0;
    background:rgba(4,10,7,.72);border:1px solid rgba(240,199,94,.3);border-radius:99px;padding:3px;gap:2px;max-width:calc(100% - 28px)}
  .views button{font-size:12px;padding:7px 11px;border-radius:99px;color:#E3E8E4}
  .views button.on{background:linear-gradient(180deg,#F3CF6E,#C9973A);color:#0B1F17;font-weight:600}

  /* compact live chips on the photo */
  #pins.compact .card{min-width:0;max-width:200px;padding:6px 10px 6px;border-radius:99px;background:rgba(4,10,7,.82);border-color:rgba(240,199,94,.4);box-shadow:0 6px 18px rgba(0,0,0,.5)}
  #pins.compact .top{font-size:11px;color:#F6EEDC;letter-spacing:.06em}
  #pins.compact .names{display:none}
  #pins.compact .pin.live .card{border-radius:12px}
  #pins.compact .pin.live .time{font-size:15px;line-height:1.1}
  #pins.compact .dot{width:10px;height:10px;margin:-5px 0 0 -5px}
  #pins.compact .stem{background:rgba(255,255,255,.55)}

  /* facts strip */
  .facts{background:#050D09;border-color:rgba(240,199,94,.22)}
  .facts .wrap{padding:0}
  .facts .wrap>div{flex-direction:column;gap:2px;padding:16px 18px;border-top:1px solid rgba(240,199,94,.12)}
  .facts .wrap>div:nth-child(-n+2){border-top:0}
  .facts .wrap>div:nth-child(even){border-left:1px solid rgba(240,199,94,.12)}
  .facts b{font-size:22px}
  .facts span{font-size:13px;color:#D3DBD6;line-height:1.35}

  /* sections */
  section{padding:58px 0}
  section h2{font-size:clamp(25px,7.4vw,31px);line-height:1.18;color:#FBF4E2;text-wrap:balance}
  section>.wrap>h2::before{left:-30px;width:260px}
  .sub{font-size:15px;margin-bottom:26px}
  .livegrid{grid-template-columns:1fr;gap:14px}
  .tcard .felt{min-height:230px;padding:20px}
  .tcard .clock{font-size:40px}
  .tcard .foot{padding:13px 20px;color:#CCD6D0}

  /* ranking table fits a phone */
  .board{border-color:rgba(240,199,94,.2)}
  .board th,.board td{padding:12px 10px}
  .board th:nth-child(4),.board td:nth-child(4){display:none}
  .board td{font-size:15px}
  .podium{padding:20px;border-color:rgba(240,199,94,.28);background:linear-gradient(160deg,rgba(212,166,58,.14),var(--night2) 55%)}

  /* rates and hours: icon cards */
  .visit{grid-template-columns:1fr;gap:10px}
  .info{display:grid;grid-template-columns:46px 1fr;column-gap:14px;padding:16px;background:rgba(5,14,10,.82);border-color:rgba(240,199,94,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .info .ic{display:grid;place-items:center;grid-row:1/4;width:46px;height:46px;border-radius:12px;background:linear-gradient(160deg,rgba(240,199,94,.24),rgba(212,166,58,.06));border:1px solid rgba(240,199,94,.4)}
  .info .ic svg{width:22px;height:22px;fill:none;stroke:var(--brass2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .info .k{font:600 11.5px var(--title);letter-spacing:.12em;text-transform:uppercase;color:var(--brass2)}
  .info .v{font-size:20px;color:#FBF4E2;margin-top:3px}
  .info .s{font-size:13.5px;color:#C9D3CD}
  .info .s a{color:var(--brass2)}

  /* owners band */
  .owners{padding:50px 0;background:linear-gradient(180deg,#050D09,#0A1A13)}
  .ownerband{display:block}
  .ownerband>div:first-child{min-width:0}
  .ownerbtns{display:grid;gap:10px;margin-top:22px}
  .ownerbtns .btn{justify-content:center;padding:14px}

  /* footer */
  footer{padding:34px 0 calc(110px + env(safe-area-inset-bottom));background:#050D09}
  footer .wrap{flex-direction:column;align-items:flex-start;gap:14px}
  footer .wrap>a{margin-left:0!important}
  .footlogo{height:52px}
  .footinfo{color:#C9D3CD}

  /* bottom action bar once the hero has scrolled away */
  .mbar{display:flex;align-items:center;gap:10px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:18;
    padding:8px 8px 8px 16px;border-radius:16px;background:rgba(5,14,10,.9);border:1px solid rgba(240,199,94,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    box-shadow:0 14px 40px rgba(0,0,0,.6);font-size:13.5px;color:#F4EEDF;transform:translateY(140%);transition:transform .35s ease}
  .mbar.show{transform:none}
  .menuopen .mbar{transform:translateY(140%)}
  .mbar #mbarStatus{flex:1;line-height:1.3}
  .mbar .mdot{width:8px;height:8px;border-radius:50%;background:var(--baize);box-shadow:0 0 0 4px #1FAE4833;flex:none}
  .mbar .btn{padding:11px 20px;border-radius:11px}
}

/* ───────── shared helpers ───────── */
.muted{color:var(--muted)}
.small{font-size:13.5px}
.hidden{display:none!important}
.grow{flex:1;min-width:0}
.offerline{padding:11px 14px;border-radius:10px;background:rgba(212,166,58,.14);border:1px solid rgba(212,166,58,.4);color:var(--brass2);font-size:14px}
.backbtn{display:none}
.subpage .nav .links a[aria-current]{color:var(--brass2);opacity:1}

/* break value badge: gold for a century, brass outline for 50+ */
.bk{display:inline-block;min-width:44px;text-align:center;font:700 16px/1 var(--cond);padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.08);color:#F6EEDC;font-variant-numeric:tabular-nums}
.bk.f{background:rgba(212,166,58,.16);color:var(--brass2);box-shadow:inset 0 0 0 1px rgba(240,199,94,.45)}
.bk.c{background:linear-gradient(180deg,#F3CF6E,#C9973A);color:#0B1F17;box-shadow:0 0 18px rgba(240,199,94,.35)}
.plink{display:inline-flex;align-items:center;text-decoration:none;color:inherit}
a.plink:hover{color:var(--brass2)}
a.plink::after{content:"›";margin-left:6px;color:var(--brass2);opacity:.8}

/* ranking page */
.rankpage{padding-top:34px;padding-bottom:60px}
.rankhead .sub{margin-bottom:24px}
.rtabs{display:flex;gap:4px;background:rgba(5,14,10,.72);border:1px solid rgba(240,199,94,.3);padding:4px;border-radius:14px;width:fit-content;margin-bottom:16px}
.rtabs button{background:none;border:0;color:#DCE3DE;font:600 15px var(--title);letter-spacing:.06em;padding:11px 20px;border-radius:10px;cursor:pointer}
.rtabs button.on{background:linear-gradient(180deg,#F3CF6E,#C9973A);color:#0B1F17}
.rfilters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chips button,.chips select{background:rgba(5,14,10,.6);border:1px solid var(--line);color:#E3E8E4;font:500 14px var(--font);padding:8px 14px;border-radius:99px;cursor:pointer}
.chips select{color-scheme:dark;appearance:none;-webkit-appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--brass2) 50%),linear-gradient(135deg,var(--brass2) 50%,transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.chips button.on,.chips select.on{background:rgba(212,166,58,.2);border-color:var(--brass);color:var(--brass2)}
.rtools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rtools .seg{margin:0}
.rtools input{background:rgba(5,14,10,.6);border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:var(--ivory);font:inherit;min-width:200px}
.rtools input:focus{outline:none;border-color:var(--brass)}
.rstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.rstats>div{background:rgba(5,14,10,.72);border:1px solid rgba(240,199,94,.2);border-radius:14px;padding:14px 16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.rstats b{display:block;font:700 26px var(--title);color:var(--brass2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rstats span{font-size:13px;color:#C9D3CD}
.rankpage .board{background:rgba(5,14,10,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.rnote{margin-top:12px}

/* player profile */
.profpage{padding-top:34px;padding-bottom:60px;max-width:980px}
.profhero{display:flex;align-items:center;gap:22px;border-color:rgba(240,199,94,.35);background:linear-gradient(140deg,rgba(212,166,58,.16),rgba(10,28,21,.8) 55%)}
.profhero .pav.xl{width:96px;height:96px;font-size:34px;box-shadow:0 0 34px rgba(240,199,94,.3)}
.profname{font:700 clamp(28px,5vw,42px)/1.1 var(--title);letter-spacing:.04em;margin:6px 0 8px;color:#FBF4E2;background:none;-webkit-text-fill-color:initial}
.profrank{color:#E3EAE5}
.profstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.profstats>div{background:rgba(5,14,10,.75);border:1px solid rgba(240,199,94,.2);border-radius:14px;padding:16px;text-align:center}
.profstats b{display:block;font:700 32px var(--title);color:var(--brass2)}
.profstats span{font-size:13px;color:#C9D3CD}
.profgrid{display:grid;grid-template-columns:1fr 1.3fr;gap:14px}
.ph{font:600 20px var(--title);letter-spacing:.05em;margin:0 0 8px;padding:0;color:#F6EEDC}
.ph::after{display:none}
.res{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;font:700 13px var(--cond);background:rgba(255,255,255,.08);flex:none}
.res.win{background:rgba(31,174,72,.25);color:#9BE8B6}
.res.loss{background:rgba(255,120,110,.15);color:#FFB1A9}
.lastrow .grow{margin-left:2px}

/* homepage: highest break card + link to the full ranking */
.topbreak{margin-top:14px;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;background:rgba(5,14,10,.75);border:1px solid rgba(240,199,94,.3);text-decoration:none;color:inherit}
.topbreak .bk{font-size:24px;padding:10px 12px}
.morelink{display:inline-flex;margin-top:16px}

@media (max-width:860px){
  .backbtn{display:inline-flex;margin-left:auto;padding:9px 14px}
  .subpage .nav .wrap{height:60px}
  .rankpage,.profpage{padding-top:22px}
  .rtabs{width:100%}.rtabs button{flex:1;padding:12px 8px;font-size:14px}
  .rfilters{flex-direction:column;align-items:stretch}
  .chips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
  .chips button{padding:9px 4px;font-size:13px}
  .chips select{grid-column:1/-1;padding:10px 14px}
  .rtools{flex-direction:column;align-items:stretch}
  .rtools .seg{display:flex}.rtools .seg button{flex:1}
  .rtools input{min-width:0}
  .rstats{gap:8px}.rstats>div{padding:12px}.rstats b{font-size:20px}.rstats span{font-size:11.5px;line-height:1.3;display:block}
  .hm{display:none}
  .rankpage .board th,.rankpage .board td{padding:11px 8px}
  .bk{min-width:38px;font-size:15px;padding:5px 7px}
  .profhero{flex-direction:column;text-align:center}
  .profhero .btn{width:100%;justify-content:center}
  .profstats{grid-template-columns:1fr 1fr}
  .profstats b{font-size:26px}
  .profgrid{grid-template-columns:1fr}
}
.pubcard{display:flex;align-items:center;gap:18px;margin-top:16px}
.pubcard b{font:600 18px var(--title);letter-spacing:.04em;color:#F6EEDC}
.pubcard .muted{margin:4px 0 8px;max-width:62ch}
.switch{position:relative;width:54px;height:30px;flex:none;cursor:pointer}
.switch input{position:absolute;opacity:0;inset:0}
.switch span{position:absolute;inset:0;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid var(--line);transition:background .25s}
.switch span::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#F2EEE7;transition:transform .25s}
.switch input:checked+span{background:linear-gradient(180deg,#F3CF6E,#C9973A)}
.switch input:checked+span::after{transform:translateX(24px);background:#0B1F17}
.switch input:focus-visible+span{outline:2px solid var(--brass2);outline-offset:3px}
/* WhatsApp button for club owners */
.btn.wabtn{background:#25D366;color:#06210F;font-weight:700;box-shadow:0 6px 20px rgba(37,211,102,.25)}
.btn.wabtn:hover{background:#3BE07A}
.btn.wabtn svg{width:20px;height:20px;fill:currentColor}
.signsteps{margin:0 0 20px;padding-left:20px;color:#DCE3DE;display:grid;gap:6px}
.signsteps b{color:var(--brass2)}
.lockcard .ctas .btn{justify-content:center;padding:14px}

/* location line under the title, about the club, footer details */
.hero p.loc{display:flex;align-items:center;gap:7px;margin:-12px 0 20px;font-size:14.5px;color:#E9DFC4;text-shadow:0 1px 10px #000a}
.hero p.loc svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--brass2);stroke-width:1.8}
.aboutclub{padding:70px 0;border-top:1px solid rgba(240,199,94,.14)}
.aboutgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}
.aboutgrid p{color:#D6DED9;max-width:62ch}
.aboutfacts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.aboutfacts li{display:grid;gap:2px;padding:14px 16px;border-radius:12px;background:rgba(5,14,10,.6);border:1px solid rgba(240,199,94,.22)}
.aboutfacts span{font:600 11px var(--title);letter-spacing:.14em;text-transform:uppercase;color:var(--brass2)}
.aboutfacts b{font-weight:600;color:#F6EEDC}
.aboutfacts a{color:#F6EEDC;text-decoration:none}
.footinfo{gap:3px!important}
.footinfo .fname{font:700 16px var(--title);letter-spacing:.06em;color:#F6EEDC}
.footinfo a{color:var(--brass2);text-decoration:none}
.footinfo .credit{font-size:12.5px;opacity:.75;margin-top:4px}
@media (max-width:860px){
  .aboutgrid{grid-template-columns:1fr;gap:22px}
  .aboutclub{padding:52px 0}
  .hero p.loc{font-size:13.5px;margin-top:-10px}
}

/* break videos */
.vplay{border:1px solid rgba(240,199,94,.5);background:rgba(212,166,58,.14);color:var(--brass2);border-radius:8px;padding:4px 8px;margin-right:6px;font:600 12px var(--font);cursor:pointer}
.vplay:hover{background:rgba(212,166,58,.28)}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.vcard{position:relative;display:block;padding:0;border:1px solid rgba(240,199,94,.25);border-radius:14px;overflow:hidden;background:#000;cursor:pointer;text-align:left;color:inherit;font:inherit}
.vcard video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.85;pointer-events:none}
.vplaybig{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(240,199,94,.92);color:#0B1F17;font-size:22px;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.vinfo{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(180deg,rgba(5,14,10,.9),#050D09)}
.vinfo b{color:#F6EEDC;font-weight:600}
.vinfo small{margin-left:auto;color:var(--muted)}
.vmodal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.85);display:grid;place-items:center;padding:16px}
.vbox{width:min(960px,100%);background:#050D09;border:1px solid rgba(240,199,94,.35);border-radius:14px;overflow:hidden}
.vhead{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;color:#F6EEDC}
.vhead b{font:600 15px var(--title);letter-spacing:.04em}
.vhead button{background:none;border:0;color:#F6EEDC;font-size:18px;cursor:pointer}
.vbox video{display:block;width:100%;max-height:78vh;background:#000}
.vcard img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;opacity:.9}
.vshare{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px}
.vshare .btn{flex:1 1 auto;justify-content:center}
.brkpage{padding-top:30px;padding-bottom:60px;max-width:980px}
.brkhead{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.bk.bkbig{font-size:30px;padding:12px 14px;min-width:70px}
.brkvideo{border-radius:14px;overflow:hidden;border:1px solid rgba(240,199,94,.3);background:#000}
.brkvideo video{display:block;width:100%;max-height:75vh;background:#000}
.sharerow{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
@media (max-width:860px){.sharerow .btn{flex:1 1 100%;justify-content:center}.brkpage{padding-top:20px}}
