/* =====================================================================
   GT GOLF v2 - night-mode broadcast theme
   ===================================================================== */
:root {
  --bg: #040706;
  --bg-2: #07100c;
  --panel: rgba(14, 28, 21, .72);
  --panel-solid: #0c1812;
  --line: rgba(245, 197, 66, .16);
  --line-2: rgba(255, 255, 255, .08);
  --green: #0b3d2e;
  --green-2: #0f5a40;
  --neon: #2bff9a;
  --gold: #f5c542;
  --gold-2: #ffd96a;
  --gold-glow: rgba(245, 197, 66, .55);
  --text: #eef5f0;
  --muted: #93a89c;
  --red: #ff4d5e;
  --race: #d20b18;
  --race-2: #e3243f;
  --race-glow: rgba(210, 11, 24, .5);
  --radius: 16px;
  --display: 'Barlow Condensed', 'Oswald', Impact, 'Arial Narrow', sans-serif;
  --body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --hero-img: url("images/bay-hero.jpg");
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; font-family: var(--body); color: var(--text); line-height: 1.55;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(15, 90, 64, .35), transparent 60%),
    radial-gradient(900px 500px at -10% 30%, rgba(245, 197, 66, .06), transparent 60%),
    var(--bg);
  min-height: 100vh; display: flex; flex-direction: column;
  -webkit-font-smoothing: antialiased;
}
main { flex: 1; }
a { color: var(--gold); }
img { max-width: 100%; display: block; }
.container { width: min(1180px, 100% - 40px); margin-inline: auto; }
.narrow { width: min(680px, 100% - 40px); margin-inline: auto; }
h1, h2, h3, .display { font-family: var(--display); text-transform: uppercase; letter-spacing: .02em; line-height: .95; margin: 0; }
h2 { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 800; }
h3 { font-size: 1.4rem; font-weight: 700; }
.eyebrow { font-family: var(--display); font-weight: 700; text-transform: uppercase; letter-spacing: .22em; font-size: .85rem; color: var(--gold); }
.muted { color: var(--muted); }
.gold { color: var(--gold); }
.glow-text { text-shadow: 0 0 24px var(--gold-glow); }
.section { padding: clamp(56px, 8vw, 96px) 0; position: relative; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.section-head p { margin: 10px 0 0; max-width: 60ch; }
.hidden { display: none !important; }
[hidden] { display: none !important; }

/* ---------- Header / nav ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(4, 7, 6, .72); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid var(--line-2);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 66px; gap: 16px; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text); font-family: var(--display); font-weight: 800; font-size: 1.6rem; letter-spacing: .06em; }
.logo-img { display: block; height: 42px; width: auto; filter: drop-shadow(0 0 8px rgba(210, 11, 24, .28)); }
.site-footer .logo-img { height: 48px; width: auto; filter: none; opacity: .92; }
.logo-mark { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: linear-gradient(135deg, var(--gold), #c8931c); color: #0b1a12; font-size: 1rem; font-weight: 900; box-shadow: 0 0 18px var(--gold-glow); }
.logo b { color: var(--gold); font-weight: 800; }
.site-nav { display: flex; align-items: center; gap: 2px; }
.site-nav a { color: #cfe0d6; text-decoration: none; font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 1.02rem; padding: 8px 12px; border-radius: 8px; position: relative; }
.site-nav a:hover { color: #fff; }
.site-nav a.active { color: var(--gold); }
.site-nav a.active::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 2px; background: var(--gold); box-shadow: 0 0 10px var(--gold); border-radius: 2px; }
.site-nav a.nav-live::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--red); margin-right: 7px; vertical-align: 2px; box-shadow: 0 0 8px var(--red); animation: pulse 1.6s infinite; }
.site-nav a.nav-cta { background: linear-gradient(135deg, var(--gold), #e0a92a); color: #0b1a12; margin-left: 8px; padding: 9px 18px; box-shadow: 0 0 20px rgba(245, 197, 66, .35); }
.site-nav a.nav-cta.active::after { display: none; }
.nav-toggle { display: none; background: transparent; border: 1px solid var(--line); color: var(--text); border-radius: 10px; width: 44px; height: 44px; cursor: pointer; font-size: 1.3rem; }

/* ---------- Buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-family: var(--display); font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: 1.15rem; text-decoration: none; padding: 15px 30px; border-radius: 12px; border: 0; cursor: pointer; transition: transform .15s ease, box-shadow .2s ease, background .2s; }
.btn-gold { background: linear-gradient(135deg, var(--gold-2), var(--gold) 45%, #d99a1e); color: #0b1a12; box-shadow: 0 10px 30px rgba(245, 197, 66, .28), 0 0 0 1px rgba(255, 255, 255, .25) inset; }
.btn-gold:hover { transform: translateY(-2px); box-shadow: 0 14px 40px rgba(245, 197, 66, .45); }
.btn-ghost { background: rgba(255, 255, 255, .04); color: var(--text); border: 1px solid var(--line); }
.btn-ghost:hover { border-color: var(--gold); color: var(--gold); }
.btn-sm { padding: 10px 16px; font-size: 1rem; }

/* ---------- Badges ---------- */
.badge { display: inline-flex; align-items: center; gap: 6px; font-family: var(--display); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: .78rem; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--gold); background: rgba(245, 197, 66, .08); }
.badge-sample { color: #0b1a12; background: repeating-linear-gradient(135deg, var(--gold) 0 10px, #e3b232 10px 20px); border: 0; box-shadow: 0 0 16px rgba(245, 197, 66, .35); }
.badge-live { color: #fff; background: rgba(255, 90, 90, .15); border-color: rgba(255, 90, 90, .5); }
.badge-live::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 8px var(--red); animation: pulse 1.6s infinite; }

/* ---------- Cards ---------- */
.card { background: linear-gradient(180deg, rgba(20, 40, 30, .7), rgba(9, 18, 13, .8)); border: 1px solid var(--line-2); border-radius: var(--radius); padding: 22px; position: relative; overflow: hidden; box-shadow: 0 20px 50px rgba(0, 0, 0, .35); }
.card::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 2px; background: linear-gradient(90deg, transparent, var(--race) 20%, rgba(245, 197, 66, .7) 50%, rgba(43, 255, 154, .5) 80%, transparent); opacity: .8; }
.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }

/* ---------- HERO: Don's bay photo ---------- */
.hero-photo { position: relative; min-height: calc(100svh - 66px); display: grid; align-items: center; overflow: hidden; background: #000; padding: 48px 0 64px; isolation: isolate; }
.hero-bg { position: absolute; inset: 0; z-index: -2; background: var(--hero-img) 34% center / cover no-repeat; transform: scale(1.04); animation: drift 26s ease-in-out infinite alternate; }
.hero-photo::before { content: ''; position: absolute; inset: 0; z-index: -1; background:
    radial-gradient(42% 22% at 36% 74%, rgba(43, 255, 154, .22), transparent 70%),
    radial-gradient(40% 46% at 30% 42%, rgba(245, 197, 66, .06), transparent 70%),
    linear-gradient(90deg, rgba(4, 7, 6, .25) 0%, rgba(4, 7, 6, .40) 38%, rgba(4, 7, 6, .88) 62%, rgba(4, 7, 6, .97) 78%),
    linear-gradient(180deg, rgba(4, 7, 6, .35) 0%, transparent 25%, transparent 70%, var(--bg) 100%); }
.hero-photo::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .018) 0 1px, transparent 1px 3px); }
.hero-content { display: flex; justify-content: flex-end; }
.hero-copy { width: min(580px, 100%); display: grid; gap: 16px; justify-items: start; }
.hero-title { font-size: clamp(4.2rem, 12vw, 9rem); font-weight: 900; letter-spacing: .03em; line-height: .82; text-shadow: 0 6px 40px rgba(0, 0, 0, .8), 0 0 60px rgba(245, 197, 66, .2); }
.hero-title b { color: var(--gold); text-shadow: 0 0 40px var(--gold-glow); }
.hero-tag { margin: 0; font-family: var(--display); font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: #e8f2ec; font-size: clamp(.9rem, 2vw, 1.2rem); }
.hud-strip { display: flex; gap: 8px; flex-wrap: wrap; }
.hud-chip { font-family: var(--display); text-transform: uppercase; background: rgba(0, 0, 0, .55); border: 1px solid rgba(255, 255, 255, .14); border-radius: 8px; padding: 6px 10px; font-weight: 700; letter-spacing: .12em; font-size: .85rem; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.hud-chip b { color: var(--gold); }
.hero-eyebrow { margin-top: 8px; }
.hero-photo .countdown { justify-content: flex-start; }
.bay-photo { position: relative; margin: 0; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); box-shadow: 0 0 60px rgba(43, 255, 154, .10), 0 30px 60px rgba(0, 0, 0, .5); }
.bay-photo img { width: 100%; height: auto; }
.bay-tag { position: absolute; left: 14px; bottom: 14px; font-family: var(--display); font-weight: 800; letter-spacing: .16em; text-transform: uppercase; font-size: .85rem; background: rgba(0, 0, 0, .65); border: 1px solid var(--line); color: var(--gold); padding: 6px 12px; border-radius: 8px; }
@keyframes drift { from { transform: scale(1.04) translate3d(0, 0, 0); } to { transform: scale(1.1) translate3d(-1.5%, -1%, 0); } }
@media (max-width: 760px) {
  .hero-bg { --hero-img: url("images/bay-hero-1200.jpg"); bottom: auto; height: 62%; background-position: 32% 45%; }
  .hero-photo { min-height: auto; align-items: end; padding: 46vw 0 44px; }
  .hero-photo::before { background: linear-gradient(180deg, rgba(4, 7, 6, .15) 0%, rgba(4, 7, 6, .55) 30%, rgba(4, 7, 6, .94) 52%, var(--bg) 64%); }
  .hero-content { justify-content: stretch; }
  .hero-copy { justify-items: stretch; text-align: left; }
  .hero-photo .countdown { justify-content: space-between; }
  .hero-photo .cd-cell { min-width: 0; flex: 1; }
}
.countdown { display: flex; gap: clamp(8px, 2vw, 16px); justify-content: center; }
.cd-cell { min-width: clamp(68px, 18vw, 110px); padding: 12px 8px 10px; border-radius: 14px; background: linear-gradient(180deg, rgba(20, 40, 30, .9), rgba(5, 10, 7, .9)); border: 1px solid var(--line); box-shadow: 0 0 30px rgba(245, 197, 66, .08) inset; }
.cd-num { display: block; font-family: var(--display); font-weight: 800; font-size: clamp(2.2rem, 7vw, 3.8rem); line-height: 1; color: #fff; font-variant-numeric: tabular-nums; text-shadow: 0 0 22px rgba(245, 197, 66, .35); }
.cd-lbl { display: block; margin-top: 4px; font-family: var(--display); font-weight: 600; font-size: .78rem; letter-spacing: .25em; color: var(--muted); text-transform: uppercase; }
.next-meta { font-family: var(--display); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #dbe9e1; font-size: clamp(1rem, 2.6vw, 1.3rem); }
.next-meta b { color: var(--gold); }
.hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

/* ---------- Prize pot ---------- */
.pot { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pot-cell { text-align: center; padding: 26px 14px; }
.pot-cell .place { font-family: var(--display); letter-spacing: .25em; font-weight: 700; color: var(--muted); text-transform: uppercase; font-size: .9rem; }
.pot-cell .amt { font-family: var(--display); font-weight: 900; font-size: clamp(2.6rem, 6vw, 4.2rem); line-height: 1; margin-top: 6px; }
.pot-cell.first { border-color: rgba(245, 197, 66, .55); box-shadow: 0 0 40px rgba(245, 197, 66, .18), 0 20px 50px rgba(0, 0, 0, .35); }
.pot-cell.first .amt { color: var(--gold); text-shadow: 0 0 28px var(--gold-glow); }
.pot-cell.entry .amt { color: var(--neon); text-shadow: 0 0 22px rgba(43, 255, 154, .35); }

/* Highlights */
.hl-icon { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 1.4rem; background: rgba(245, 197, 66, .1); border: 1px solid var(--line); margin-bottom: 14px; }
.card h3 + p { margin: 8px 0 0; color: var(--muted); }
.card .big { font-family: var(--display); font-weight: 800; font-size: 1.8rem; text-transform: uppercase; color: #fff; margin-top: 6px; line-height: 1; }

/* Schedule list */
.events { display: grid; gap: 12px; }
.event { display: grid; grid-template-columns: 76px 1fr auto; align-items: center; gap: 18px; padding: 16px 18px; }
.event-date { text-align: center; border-radius: 12px; padding: 8px 4px; background: rgba(0, 0, 0, .35); border: 1px solid var(--line); line-height: 1.05; font-family: var(--display); text-transform: uppercase; }
.event-date .m { display: block; color: var(--gold); letter-spacing: .2em; font-weight: 700; font-size: .8rem; }
.event-date .d { display: block; font-size: 2rem; font-weight: 800; }
.event-date .w { display: block; color: var(--muted); font-size: .72rem; letter-spacing: .2em; }
.event h3 { font-size: 1.45rem; }
.event p { margin: 2px 0 0; color: var(--muted); font-size: .92rem; }
.event .fee { font-family: var(--display); font-weight: 800; font-size: 1.3rem; color: var(--gold); padding: 6px 14px; border: 1px solid var(--line); border-radius: 999px; }
.event.next { border-color: rgba(245, 197, 66, .45); box-shadow: 0 0 36px rgba(245, 197, 66, .12); }

/* Page header band */
.page-hero { position: relative; padding: clamp(64px, 10vw, 120px) 0 clamp(40px, 6vw, 64px); overflow: hidden; border-bottom: 1px solid var(--line-2); }
.page-hero::before { content: ''; position: absolute; inset: 0; background: var(--band-img, none) center / cover no-repeat; opacity: .32; filter: saturate(1.1); }
.page-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4, 7, 6, .55), rgba(4, 7, 6, .92) 85%), radial-gradient(60% 80% at 20% 30%, rgba(245, 197, 66, .12), transparent 70%); }
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { font-size: clamp(3rem, 9vw, 6.2rem); font-weight: 900; margin-top: 10px; }
.page-hero h1 b { color: var(--gold); text-shadow: 0 0 30px var(--gold-glow); }
.page-hero p { max-width: 62ch; color: #cfe0d6; font-size: 1.08rem; margin: 14px 0 0; }
.bg-bay { --band-img: url("images/bay.jpg"); }
.bg-courses { --band-img: url("images/augusta-leaderboard.jpg"); }
.bg-live { --band-img: url("images/augusta-home.jpg"); }
.bg-bracket { --band-img: url("images/augusta-schedule.jpg"); }
.bg-players { --band-img: url("images/augusta-leaderboard.jpg"); }
.bg-register { --band-img: url("images/augusta-home.jpg"); }

/* ---------- The Bay ---------- */
.spec { display: flex; gap: 16px; align-items: flex-start; }
.spec-num { font-family: var(--display); font-weight: 900; font-size: 3rem; line-height: .9; color: var(--gold); min-width: 2.2ch; text-shadow: 0 0 20px var(--gold-glow); }
.spec h3 { font-size: 1.6rem; }
.spec p { margin: 6px 0 0; color: var(--muted); }
.bay-diagram { position: relative; aspect-ratio: 19 / 9; border-radius: 10px; overflow: hidden; background: #000 var(--screen-img) center / cover; box-shadow: 0 0 60px rgba(245, 197, 66, .18); }
.bay-diagram::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .65)); }
.dim { position: absolute; font-family: var(--display); font-weight: 800; letter-spacing: .14em; color: var(--gold); text-shadow: 0 2px 8px #000; z-index: 1; font-size: clamp(.8rem, 2vw, 1.2rem); }
.dim-w { left: 0; right: 0; bottom: 10px; text-align: center; }
.dim-w::before { content: ''; position: absolute; left: 4%; right: 4%; top: -8px; border-top: 2px dashed rgba(245, 197, 66, .7); }
.dim-h { top: 0; bottom: 0; right: 12px; display: flex; align-items: center; writing-mode: vertical-rl; }
.future { border-color: rgba(43, 255, 154, .35); box-shadow: 0 0 50px rgba(43, 255, 154, .08), 0 20px 50px rgba(0, 0, 0, .35); }
.future .eyebrow { color: var(--neon); }
.checks { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 10px; }
.checks li { padding-left: 30px; position: relative; }
.checks li::before { content: '✓'; position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; font-size: .8rem; font-weight: 900; color: #04150c; background: var(--neon); }
.compare { width: 100%; border-collapse: collapse; }
.compare th, .compare td { padding: 12px 10px; border-bottom: 1px solid var(--line-2); text-align: left; vertical-align: top; }
.compare th { font-family: var(--display); text-transform: uppercase; letter-spacing: .12em; color: var(--muted); font-size: .9rem; }
.compare td:first-child { color: var(--muted); font-weight: 600; white-space: nowrap; }

/* ---------- Courses ---------- */
.courses { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.course { padding: 0; display: flex; flex-direction: column; transition: transform .2s ease, border-color .2s; }
.course:hover { transform: translateY(-4px); border-color: rgba(245, 197, 66, .35); }
.course-art { position: relative; aspect-ratio: 16 / 9; background-size: cover; background-position: center; display: flex; align-items: flex-end; padding: 14px; }
.course-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(4, 7, 6, .9)); }
.course-art .initials { position: absolute; right: 12px; top: 4px; font-family: var(--display); font-weight: 900; font-size: 4.6rem; line-height: 1; color: rgba(255, 255, 255, .09); letter-spacing: .02em; }
.course-art .loc { position: relative; z-index: 1; font-family: var(--display); letter-spacing: .16em; text-transform: uppercase; font-weight: 600; font-size: .82rem; color: #e1ece6; }
.course-body { padding: 16px 18px 18px; display: grid; gap: 10px; flex: 1; }
.course-body h3 { font-size: 1.55rem; }
.course-body .vibe { margin: 0; color: var(--muted); font-size: .92rem; }
.stats { display: flex; gap: 18px; align-items: center; font-family: var(--display); text-transform: uppercase; letter-spacing: .1em; font-size: .85rem; color: var(--muted); }
.stats b { color: #fff; font-size: 1.25rem; letter-spacing: .02em; margin-left: 4px; }
.diff { display: inline-flex; gap: 3px; vertical-align: middle; margin-left: 6px; }
.diff i { width: 14px; height: 6px; border-radius: 2px; background: rgba(255, 255, 255, .12); }
.diff i.on { background: var(--gold); box-shadow: 0 0 8px rgba(245, 197, 66, .6); }
.votebar { height: 10px; border-radius: 999px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.votebar span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--green-2), var(--neon)); box-shadow: 0 0 14px rgba(43, 255, 154, .5); transition: width .8s cubic-bezier(.2, .8, .2, 1); }
.vote-row { display: flex; justify-content: space-between; font-size: .85rem; color: var(--muted); }
.vote-row b { color: #fff; }
.course .btn { width: 100%; }
.course.mine { border-color: rgba(43, 255, 154, .5); }
.course.locked { border-color: var(--gold); box-shadow: 0 0 50px rgba(245, 197, 66, .25); }
.course.locked .course-art::before { content: 'Course of the Night'; position: absolute; z-index: 2; left: 12px; top: 12px; font-family: var(--display); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; font-size: .8rem; background: var(--gold); color: #0b1a12; padding: 5px 10px; border-radius: 6px; box-shadow: 0 0 18px var(--gold-glow); }
.g1 { background-image: linear-gradient(135deg, #0f5a40, #04150c 60%, #2a2208); }
.g2 { background-image: linear-gradient(135deg, #0c3f5a, #04110c 60%, #0f5a40); }
.g3 { background-image: linear-gradient(135deg, #3d3a17, #070b08 60%, #0f5a40); }
.g4 { background-image: linear-gradient(135deg, #0a4d3a, #030806 55%, #1d4f6b); }
.g5 { background-image: linear-gradient(135deg, #4b3a0d, #050906 60%, #10402e); }
.notice { border: 1px dashed var(--line); border-radius: 12px; padding: 12px 16px; color: var(--muted); font-size: .92rem; background: rgba(0, 0, 0, .25); }
.locked-banner { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; justify-content: space-between; border-color: rgba(245, 197, 66, .5); }

/* ---------- Live leaderboard ---------- */
.board-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--radius); border: 1px solid var(--line-2); background: rgba(5, 10, 7, .85); }
.board { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 780px; font-variant-numeric: tabular-nums; }
.board th, .board td { padding: 12px 8px; text-align: center; border-bottom: 1px solid var(--line-2); white-space: nowrap; }
.board thead th { position: sticky; top: 0; background: #08130e; font-family: var(--display); text-transform: uppercase; letter-spacing: .12em; font-size: .82rem; color: var(--muted); }
.board thead tr.par th { color: var(--gold); font-size: .78rem; background: #060f0b; }
.board th.l, .board td.l { text-align: left; }
.board td.pos { font-family: var(--display); font-weight: 800; font-size: 1.3rem; width: 46px; color: #cfe0d6; }
.board td.name { font-weight: 700; font-size: 1.02rem; position: sticky; left: 0; background: inherit; }
.board td.name small { display: block; font-weight: 500; color: var(--muted); font-size: .76rem; letter-spacing: .02em; }
.board tbody tr { background: #070f0b; transition: background .3s; }
.board tbody tr:nth-child(even) { background: #091510; }
.board td.h { font-weight: 700; width: 40px; }
.board td.h span { display: inline-grid; place-items: center; width: 30px; height: 30px; }
.sc-birdie span { border-radius: 50%; border: 2px solid var(--neon); color: var(--neon); }
.sc-eagle span { border-radius: 50%; border: 2px solid var(--gold); color: var(--gold); box-shadow: 0 0 0 3px rgba(245, 197, 66, .3); }
.sc-bogey span { border: 2px solid rgba(255, 255, 255, .25); border-radius: 4px; }
.sc-double span { border: 2px solid rgba(255, 90, 90, .7); border-radius: 4px; color: #ffb3b3; }
.sc-empty { color: rgba(255, 255, 255, .18); }
.board td.tot { font-family: var(--display); font-weight: 800; font-size: 1.3rem; }
.board td.net { font-family: var(--display); font-weight: 900; font-size: 1.45rem; color: var(--gold); }
.board td.topar { font-family: var(--display); font-weight: 800; font-size: 1.3rem; }
.under { color: var(--neon); } .over { color: #ffb3b3; }
.board tr.leader { background: linear-gradient(90deg, rgba(245, 197, 66, .22), rgba(245, 197, 66, .04)) !important; }
.board tr.leader td.pos { color: var(--gold); }
.board tr.leader td:first-child { box-shadow: inset 4px 0 0 var(--gold); }
.board tr.flash { animation: flash 1.2s ease; }
.team-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; vertical-align: 1px; }
.team-gold { background: var(--gold); box-shadow: 0 0 6px var(--gold); }
.team-green { background: var(--neon); box-shadow: 0 0 6px var(--neon); }
.live-meta { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 16px; color: var(--muted); font-size: .9rem; }
.legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: .82rem; color: var(--muted); margin-top: 12px; }
.legend span { display: inline-flex; align-items: center; gap: 6px; }
.legend i { display: inline-block; width: 16px; height: 16px; }

/* ---------- Bracket ---------- */
.teams-score { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; text-align: center; }
.team-total { font-family: var(--display); font-weight: 900; font-size: clamp(3.4rem, 10vw, 6rem); line-height: .9; }
.team-total.gold { color: var(--gold); text-shadow: 0 0 30px var(--gold-glow); }
.team-total.green { color: var(--neon); text-shadow: 0 0 30px rgba(43, 255, 154, .4); }
.team-name { font-family: var(--display); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; font-size: 1.2rem; }
.vs { font-family: var(--display); font-weight: 800; color: var(--muted); letter-spacing: .2em; }
.proj { color: var(--muted); font-size: .9rem; margin-top: 6px; }
.matches { display: grid; gap: 10px; margin-top: 20px; }
.match { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; background: rgba(0, 0, 0, .3); border: 1px solid var(--line-2); }
.match .p { font-weight: 700; }
.match .p small { display: block; color: var(--muted); font-weight: 500; font-size: .78rem; }
.match .p.right { text-align: right; }
.match .res { font-family: var(--display); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; font-size: .9rem; padding: 6px 10px; border-radius: 8px; background: rgba(255, 255, 255, .05); text-align: center; min-width: 120px; }
.match .win-gold { box-shadow: inset 4px 0 0 var(--gold); }
.match .win-green { box-shadow: inset -4px 0 0 var(--neon); }
.res.gold { color: var(--gold); } .res.green { color: var(--neon); }
.skins { display: grid; grid-template-columns: repeat(9, 1fr); gap: 8px; }
.skin { text-align: center; padding: 12px 4px; border-radius: 12px; background: rgba(0, 0, 0, .3); border: 1px solid var(--line-2); min-width: 0; }
.skin .hn { font-family: var(--display); font-weight: 700; letter-spacing: .14em; color: var(--muted); font-size: .78rem; }
.skin .who { font-weight: 800; margin-top: 6px; font-size: .86rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.skin .val { font-family: var(--display); font-weight: 800; color: var(--gold); font-size: 1.2rem; }
.skin.won { border-color: rgba(245, 197, 66, .5); background: rgba(245, 197, 66, .08); }
.skin.carry .who { color: var(--muted); font-weight: 600; }
.skin.pending { opacity: .55; }
.list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.list li { display: flex; justify-content: space-between; gap: 10px; padding: 12px 14px; border-radius: 12px; background: rgba(0, 0, 0, .3); border: 1px solid var(--line-2); }
.list li b { font-family: var(--display); font-size: 1.15rem; letter-spacing: .04em; }
.list .k { color: var(--muted); font-family: var(--display); letter-spacing: .14em; text-transform: uppercase; font-size: .85rem; }
.standings td, .standings th { padding: 10px 8px; }

/* ---------- Players ---------- */
.player-group h3 { margin-bottom: 12px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.chips li { padding: 8px 16px; border-radius: 999px; background: rgba(245, 197, 66, .08); border: 1px solid var(--line); font-weight: 700; }

/* ---------- Forms ---------- */
.form { display: grid; gap: 18px; }
.form label { display: grid; gap: 8px; font-family: var(--display); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; font-size: .95rem; color: #dbe9e1; }
.form .req { color: var(--gold); }
.form .opt { color: var(--muted); font-weight: 600; letter-spacing: .06em; font-size: .82rem; }
.form input, .form select, .form textarea { font: inherit; font-family: var(--body); text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 1rem; color: var(--text); background: rgba(0, 0, 0, .45); border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px; padding: 14px 16px; width: 100%; }
.form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(135deg, var(--gold) 50%, transparent 50%); background-position: calc(100% - 22px) 52%, calc(100% - 16px) 52%; background-size: 6px 6px; background-repeat: no-repeat; }
.form select option { background: #0c1812; color: var(--text); }
.form input:focus, .form select:focus, .form textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(245, 197, 66, .18); }
.form small { font-family: var(--body); text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--muted); font-size: .85rem; }
.form button { width: 100%; }
.fee-note { display: flex; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; background: rgba(245, 197, 66, .06); }
.fee-note b { font-family: var(--display); font-size: 1.5rem; color: var(--gold); }
.hp { position: absolute; left: -9999px; }

/* ---------- Admin ---------- */
.tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.tabs button { font-family: var(--display); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: 1rem; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--line); background: rgba(0, 0, 0, .3); color: var(--text); cursor: pointer; }
.tabs button.active { background: var(--gold); color: #0b1a12; border-color: var(--gold); box-shadow: 0 0 20px rgba(245, 197, 66, .35); }
.subtabs button { font-size: .9rem; padding: 9px 14px; }
.admin-card { margin-bottom: 14px; }
.admin-card p { margin: 3px 0; word-break: break-word; }
.actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.actions button, .bigbtn { flex: 1 1 140px; font-family: var(--display); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; font-size: 1.15rem; padding: 16px; border-radius: 12px; border: 0; cursor: pointer; color: #fff; }
.approve { background: #1c9c55; } .reject { background: #c43434; } .remove { background: #4b5450; flex: 0 1 auto !important; }
.actions button:disabled, .bigbtn:disabled { opacity: .5; }
.picker { display: flex; flex-wrap: wrap; gap: 8px; }
.picker button { font-family: var(--body); font-weight: 700; font-size: 1rem; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line-2); background: rgba(0, 0, 0, .35); color: var(--text); cursor: pointer; min-height: 48px; }
.picker button.sel { border-color: var(--gold); background: rgba(245, 197, 66, .15); color: var(--gold); box-shadow: 0 0 14px rgba(245, 197, 66, .25); }
.holes { display: grid; grid-template-columns: repeat(9, 1fr); gap: 6px; }
.holes button { min-height: 64px; padding: 6px 2px; display: grid; gap: 2px; justify-items: center; }
.holes button small { font-size: .7rem; color: var(--muted); font-weight: 600; }
.holes button b { font-family: var(--display); font-size: 1.5rem; }
.keypad { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.keypad button { min-height: 62px; font-family: var(--display); font-weight: 800; font-size: 1.7rem; border-radius: 14px; border: 1px solid var(--line); background: rgba(255, 255, 255, .05); color: #fff; cursor: pointer; }
.keypad button.par { border-color: rgba(43, 255, 154, .5); }
.keypad button.clear { font-size: 1rem; letter-spacing: .1em; text-transform: uppercase; background: rgba(255, 90, 90, .12); }
.toast { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%) translateY(120px); background: var(--gold); color: #0b1a12; font-family: var(--display); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 12px 20px; border-radius: 12px; box-shadow: 0 10px 40px rgba(0, 0, 0, .5); transition: transform .3s ease, visibility 0s .3s; z-index: 100; visibility: hidden; }
.toast:empty { display: none; }
.toast.show { transform: translateX(-50%) translateY(0); visibility: visible; transition: transform .3s ease; }
.row { display: flex; gap: 10px; flex-wrap: wrap; align-items: end; }
.row > * { flex: 1 1 140px; }
.stack { display: grid; gap: 18px; }

/* ---------- Footer ---------- */
.site-footer { border-top: 1px solid var(--line-2); padding: 40px 0 34px; background: #020403; color: var(--muted); font-size: .92rem; }
.footer-inner { display: grid; gap: 12px; text-align: center; }
.footer-inner .logo { justify-content: center; }
.site-footer a { color: #dbe9e1; }
.credit { font-size: .78rem; opacity: .8; }

/* ---------- Motion ---------- */
@keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.8); } }
@keyframes screenGlow { 0%, 100% { box-shadow: 0 0 0 2px rgba(255, 255, 255, .06), 0 0 60px rgba(245, 197, 66, .22), 0 0 140px rgba(43, 255, 154, .12), 0 40px 80px rgba(0, 0, 0, .7); } 50% { box-shadow: 0 0 0 2px rgba(255, 255, 255, .08), 0 0 80px rgba(245, 197, 66, .32), 0 0 180px rgba(43, 255, 154, .2), 0 40px 80px rgba(0, 0, 0, .7); } }
@keyframes flash { 0% { background: rgba(43, 255, 154, .35); } 100% { } }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.reveal { animation: rise .7s cubic-bezier(.2, .8, .2, 1) both; }
.reveal.d1 { animation-delay: .08s; } .reveal.d2 { animation-delay: .16s; } .reveal.d3 { animation-delay: .24s; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .nav-toggle { display: grid; place-items: center; }
  .site-nav { position: fixed; inset: 66px 0 auto 0; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 20px 20px; background: rgba(4, 7, 6, .97); border-bottom: 1px solid var(--line); transform: translateY(-120%); transition: transform .3s ease; max-height: calc(100vh - 66px); overflow-y: auto; }
  .site-nav.open { transform: none; }
  .site-nav a { padding: 14px 6px; font-size: 1.3rem; border-bottom: 1px solid var(--line-2); border-radius: 0; }
  .site-nav a.active::after { display: none; }
  .site-nav a.nav-cta { margin: 14px 0 0; text-align: center; border-radius: 12px; border: 0; }
  .pot { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .hero { min-height: auto; padding: 22px 0 48px; }
  .screen-wrap { width: calc(100vw - 24px); }
  .screen-frame { display: none; }
  .hud-top .hud-chip:nth-child(2) { display: none; }
  .event { grid-template-columns: 62px 1fr; }
  .event .fee { grid-column: 2; justify-self: start; font-size: 1.05rem; padding: 4px 12px; }
  .skins { grid-template-columns: repeat(3, 1fr); }
  .teams-score { grid-template-columns: 1fr auto 1fr; gap: 6px; }
  .match { grid-template-columns: 1fr; text-align: center; }
  .match .p.right { text-align: center; }
  .holes { grid-template-columns: repeat(5, 1fr); }
  .btn { width: 100%; }
  .hero-ctas { width: 100%; }
  .compare td:first-child { white-space: normal; }
}
.bay-photo.square img { aspect-ratio: 1 / 1; object-fit: cover; }

/* Gallery strip */
.gallery { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 14px; }
.gallery a { position: relative; display: block; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line-2); aspect-ratio: 4 / 3; }
.gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.gallery a:hover img { transform: scale(1.05); }
.gallery a::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(4, 7, 6, .85)); }
.gallery span { position: absolute; left: 14px; bottom: 12px; z-index: 1; font-family: var(--display); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; font-size: .9rem; }
.screen-led { box-shadow: 0 0 0 1px rgba(43, 255, 154, .25), 0 0 40px rgba(43, 255, 154, .18); }
@media (max-width: 760px) { .gallery { grid-template-columns: 1fr 1fr; } .gallery a:first-child { grid-column: 1 / -1; } }

/* Racing-red accent (from the GT Golf logo) */
.eyebrow::before { content: ''; display: inline-block; width: 22px; height: 3px; margin-right: 10px; vertical-align: middle; border-radius: 2px; background: var(--race); box-shadow: 0 0 10px var(--race-glow); }
.hero-tag .eyebrow::before, .hud-chip .eyebrow::before { display: none; }
.hero-brand { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; }
.hero-brand picture { flex: 0 0 auto; }
.hero-brand .badge { white-space: nowrap; }
.hero-logo { display: block; width: clamp(240px, 30vw, 420px); height: auto; filter: drop-shadow(0 10px 30px rgba(0, 0, 0, .7)) drop-shadow(0 0 26px rgba(200, 16, 46, .35)); }
.badge-live { background: rgba(200, 16, 46, .18); border-color: rgba(227, 36, 63, .6); }
.site-nav a.nav-live::before, .badge-live::before { background: var(--race-2); box-shadow: 0 0 10px var(--race-2); }
.site-header { border-bottom: 1px solid transparent; border-image: linear-gradient(90deg, transparent, rgba(200, 16, 46, .6), rgba(245, 197, 66, .5), rgba(43, 255, 154, .4), transparent) 1; }
.hero-title { color: #fff; }
.pot-cell.first { border-color: rgba(200, 16, 46, .55); }
.match .res.race, .race { color: var(--race-2); }
.hero-photo::before { background:
    radial-gradient(42% 22% at 36% 74%, rgba(43, 255, 154, .22), transparent 70%),
    radial-gradient(30% 40% at 85% 20%, rgba(200, 16, 46, .14), transparent 70%),
    linear-gradient(90deg, rgba(4, 7, 6, .25) 0%, rgba(4, 7, 6, .40) 38%, rgba(4, 7, 6, .88) 62%, rgba(4, 7, 6, .97) 78%),
    linear-gradient(180deg, rgba(4, 7, 6, .35) 0%, transparent 25%, transparent 70%, var(--bg) 100%); }
@media (max-width: 760px) {
  .hero-photo::before { background:
    radial-gradient(60% 20% at 40% 50%, rgba(43, 255, 154, .18), transparent 70%),
    linear-gradient(180deg, rgba(4, 7, 6, .15) 0%, rgba(4, 7, 6, .50) 30%, rgba(4, 7, 6, .94) 52%, var(--bg) 64%); }
  .hero-logo { width: min(260px, 66vw); }
  .logo-img { height: 36px; width: auto; }
}

/* ===== ProTee VX switch (data.js vxInstalled) + Launch Night ===== */
html:not([data-vx="on"]) [data-vx-show="on"] { display: none !important; }
html[data-vx="on"] [data-vx-show="soon"] { display: none !important; }
html:not([data-launch="past"]) [data-launch-show="past"] { display: none !important; }
html[data-launch="past"] [data-launch-show="soon"] { display: none !important; }

/* faster images: WebP where supported */
@supports (background-image: image-set(url("x.webp") type("image/webp"))) {
  :root { --hero-img: image-set(url("images/bay-hero.webp") type("image/webp"), url("images/bay-hero.jpg") type("image/jpeg")); }
  @media (max-width: 760px) { .hero-bg { --hero-img: image-set(url("images/bay-hero-1200.webp") type("image/webp"), url("images/bay-hero-1200.jpg") type("image/jpeg")); } }
  .bg-bay { --band-img: image-set(url("images/bay.webp") type("image/webp"), url("images/bay.jpg") type("image/jpeg")); }
  .bg-courses, .bg-players { --band-img: image-set(url("images/augusta-leaderboard.webp") type("image/webp"), url("images/augusta-leaderboard.jpg") type("image/jpeg")); }
  .bg-live, .bg-register { --band-img: image-set(url("images/augusta-home.webp") type("image/webp"), url("images/augusta-home.jpg") type("image/jpeg")); }
  .bg-bracket { --band-img: image-set(url("images/augusta-schedule.webp") type("image/webp"), url("images/augusta-schedule.jpg") type("image/jpeg")); }
}

.neon { color: var(--neon); text-shadow: 0 0 24px rgba(43, 255, 154, .35); }
.vx-flag { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px 7px 12px; border-radius: 999px; border: 1px solid rgba(43, 255, 154, .45); background: rgba(6, 30, 18, .7); font-family: var(--display); font-weight: 700; font-size: .92rem; letter-spacing: .16em; text-transform: uppercase; color: #dff7ea; box-shadow: 0 0 24px rgba(43, 255, 154, .12); backdrop-filter: blur(6px); }
.vx-flag b { color: var(--neon); }
.vx-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--neon); box-shadow: 0 0 10px var(--neon); animation: pulse 1.8s infinite; }

/* Launch Night card */
.launch-sec { padding-bottom: 0; }
.launch-card { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: center; padding: clamp(22px, 4vw, 40px); border-color: rgba(200, 16, 46, .55);
  background: radial-gradient(80% 120% at 0% 0%, rgba(200, 16, 46, .16), transparent 60%), radial-gradient(70% 100% at 100% 100%, rgba(245, 197, 66, .10), transparent 60%), var(--card, rgba(10, 20, 15, .9));
  box-shadow: 0 0 60px rgba(200, 16, 46, .12), 0 20px 60px rgba(0, 0, 0, .4); }
.launch-title { font-size: clamp(2.4rem, 6vw, 4rem); margin: 6px 0 4px; line-height: .95; }
.launch-when { font-family: var(--display); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); font-size: clamp(1rem, 2.4vw, 1.25rem); margin-bottom: 10px; }
.launch-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; counter-reset: st; }
.launch-steps li { counter-increment: st; display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 14px; padding: 14px 16px; border-radius: 14px; background: rgba(0, 0, 0, .35); border: 1px solid var(--line); }
.launch-steps li::before { content: counter(st, decimal-leading-zero); grid-row: 1 / 3; align-self: center; font-family: var(--display); font-weight: 900; font-size: 1.8rem; color: var(--race-2); text-shadow: 0 0 18px var(--race-glow); }
.launch-steps b { font-family: var(--display); text-transform: uppercase; letter-spacing: .12em; font-size: 1.05rem; }
.launch-steps span { color: var(--muted); font-size: .92rem; }
.launch-strip { margin-top: 16px; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 12px; background: rgba(0, 0, 0, .45); border: 1px solid rgba(200, 16, 46, .45); font-family: var(--display); letter-spacing: .1em; text-transform: uppercase; font-weight: 600; }
.launch-strip b { color: var(--gold); }
.event .launch-tag { display: inline-block; margin-left: 8px; vertical-align: middle; font-size: .7rem; letter-spacing: .14em; padding: 3px 8px; border-radius: 999px; color: #fff; background: var(--race); box-shadow: 0 0 14px var(--race-glow); font-family: var(--display); }

/* VX teaser (home) */
.vx-teaser { display: grid; grid-template-columns: 1.2fr 1fr auto; gap: 22px; align-items: center; }
.vx-showcase { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 6px; }
.vx-shot { margin: 0; border-radius: 14px; overflow: hidden; border: 1px solid rgba(43, 255, 154, .25); background: #fff; }
.vx-shot img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #fff; }
.vx-shot:last-of-type img { object-fit: cover; background: #0b1220; }
.vx-shot figcaption { padding: 10px 14px; background: rgba(0, 0, 0, .75); color: #fff; font-size: .9rem; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.vx-credit { opacity: .6; font-size: .75rem; }
.vx-feat-head { grid-column: 1 / -1; margin: 6px 0 0; }
.vx-features { grid-column: 1 / -1; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.vx-features li { padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(43, 255, 154, .25); background: rgba(43, 255, 154, .04); display: flex; flex-direction: column; gap: 6px; }
.vx-features b { font-family: var(--display); letter-spacing: .04em; }
.vx-features span { font-size: .92rem; opacity: .85; }
@media (max-width: 900px) { .vx-showcase { grid-template-columns: 1fr; } .vx-features { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .vx-features { grid-template-columns: 1fr; } }
.vx-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.vx-chips li { padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(43, 255, 154, .35); background: rgba(43, 255, 154, .06); font-family: var(--display); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .85rem; }

/* VX feature (bay) */
.vx-feature { padding: clamp(22px, 4vw, 44px); }
.vx-head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; align-items: center; }
.vx-title { font-size: clamp(2.6rem, 7vw, 5rem); line-height: .92; margin: 8px 0 12px; }
.lead { font-size: clamp(1rem, 2vw, 1.15rem); color: #cfe0d7; margin: 0; }
.vx-art { width: 100%; max-width: 420px; justify-self: center; filter: drop-shadow(0 0 30px rgba(43, 255, 154, .12)); }
.vx-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 26px; }
.vx-item { padding: 16px; border-radius: 14px; background: rgba(0, 0, 0, .35); border: 1px solid rgba(43, 255, 154, .18); display: grid; gap: 6px; }
.vx-item b { font-family: var(--display); text-transform: uppercase; letter-spacing: .1em; font-size: 1.1rem; color: #fff; }
.vx-item span { color: var(--muted); font-size: .93rem; }
.prev-rig { margin-top: 18px; padding: 12px 16px; border-left: 3px solid var(--line-2, #24332c); background: rgba(0, 0, 0, .25); border-radius: 0 10px 10px 0; font-size: .92rem; }

@media (max-width: 860px) {
  .launch-card, .vx-head, .vx-teaser { grid-template-columns: 1fr; }
  .vx-grid { grid-template-columns: 1fr 1fr; }
  .vx-art { max-width: 320px; }
}
@media (max-width: 520px) {
  .vx-grid { grid-template-columns: 1fr; }
  .vx-flag { font-size: .8rem; letter-spacing: .12em; }
}

/* ===== Bay rentals ===== */
.bg-rent { --band-img: url("images/bay-1400.jpg"); }
@supports (background-image: image-set(url("x.webp") type("image/webp"))) {
  .bg-rent { --band-img: image-set(url("images/bay-1400.webp") type("image/webp"), url("images/bay-1400.jpg") type("image/jpeg")); }
}
.rent-top { align-items: stretch; }
.rate-big { font-family: var(--display); font-weight: 900; font-size: clamp(4rem, 11vw, 6.5rem); line-height: .9; color: var(--gold); text-shadow: 0 0 40px var(--gold-glow, rgba(245, 197, 66, .35)); margin: 10px 0 8px; }
.rate-big small { font-size: .3em; color: var(--muted); letter-spacing: .14em; text-transform: uppercase; margin-left: 8px; text-shadow: none; }
.rent-incl { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 10px; }
.rent-incl li { display: grid; gap: 2px; padding: 12px 14px; border-radius: 12px; background: rgba(0, 0, 0, .3); border: 1px solid rgba(43, 255, 154, .16); border-left: 3px solid var(--neon); }
.rent-incl b { font-family: var(--display); text-transform: uppercase; letter-spacing: .1em; font-size: 1.05rem; }
.rent-incl span { color: var(--muted); font-size: .92rem; }
.notice-card { margin-top: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; border-color: rgba(200, 16, 46, .45); }
.notice-card > div { font-size: .95rem; color: #cfe0d7; }
.notice-card b { display: block; color: #fff; font-family: var(--display); text-transform: uppercase; letter-spacing: .08em; font-size: 1.05rem; margin-bottom: 4px; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; }
.rent-est { margin: 4px 0 0; color: var(--muted); font-family: var(--display); letter-spacing: .1em; text-transform: uppercase; }
.rent-est b { color: var(--gold); font-size: 1.3rem; }
.rent-card { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; border-color: rgba(245, 197, 66, .35);
  background: radial-gradient(70% 140% at 100% 50%, rgba(245, 197, 66, .10), transparent 60%), linear-gradient(180deg, rgba(20, 40, 30, .7), rgba(9, 18, 13, .8)); }
input[type="date"], input[type="time"] { color-scheme: dark; min-height: 48px; }
@media (min-width: 961px) and (max-width: 1220px) {
  .site-nav a { padding: 8px 8px; letter-spacing: .05em; font-size: .96rem; }
  .site-nav a.nav-cta { padding: 9px 14px; margin-left: 4px; }
  .site-nav a.active::after { left: 8px; right: 8px; }
}
@media (max-width: 860px) { .notice-card { grid-template-columns: 1fr; } .rent-card { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .row2 { grid-template-columns: 1fr; } }

.discount-note{margin:10px 0 0;font-size:.9rem;font-weight:700;color:#D4A72C;letter-spacing:.02em}
.discount-banner{background:#D20B18;color:#fff;text-align:center;font-weight:800;letter-spacing:.04em;padding:8px 12px;font-size:1rem;text-transform:uppercase;position:relative;z-index:60}
.discount-note{font-size:1rem}
.discount-banner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.tbl-flag{flex:none;border:1px solid rgba(255,255,255,.6);border-radius:2px}
.discount-banner{background:#0B1F4D}

/* ---------- Members page ---------- */
.m-table { width: 100%; border-collapse: collapse; margin-top: 14px; font-size: .98rem; }
.m-table th { font-family: var(--display); text-transform: uppercase; letter-spacing: .1em; color: var(--gold); text-align: left; font-size: .9rem; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.m-table td { padding: 10px; border-bottom: 1px solid var(--line-2); vertical-align: top; }
.m-wrap { overflow-x: auto; }
.m-night { margin: 18px 0 8px; font-family: var(--display); text-transform: uppercase; letter-spacing: .1em; color: #fff; font-size: 1.2rem; }
.m-gallery { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.m-gallery a, .m-gallery figure { margin: 0; display: block; border-radius: 12px; overflow: hidden; border: 1px solid var(--line-2); background: rgba(0,0,0,.3); }
.m-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.m-gallery figcaption { font-size: .82rem; padding: 6px 8px; color: var(--muted); }
.m-admin textarea { font-family: ui-monospace, monospace; font-size: .9rem; min-height: 140px; }
