:root {
  --ink: #070706;
  --panel: #11110f;
  --panel-2: #171612;
  --cream: #f2ead7;
  --muted: #a9a293;
  --gold: #c89b45;
  --gold-light: #ecd28c;
  --line: rgba(236, 210, 140, 0.18);
}

.page-shell {
  min-height: calc(100vh - 76px);
  padding: 90px 24px 120px;
}

.page-narrow {
  max-width: 820px;
  margin: auto;
}

.back-link {
  display: inline-block;
  margin-bottom: 42px;
  color: var(--gold-light);
  font-size: 14px;
}

.form-card {
  padding: clamp(28px, 5vw, 56px);
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--panel);
}

.form-card h1,
.calendar-page h1 {
  margin-bottom: 18px;
  font-size: clamp(44px, 7vw, 72px);
}

.form-intro {
  margin-bottom: 38px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 20px;
}

.field {
  display: grid;
  gap: 9px;
}

.field.full {
  grid-column: 1 / -1;
}

.field label {
  font-size: 13px;
  font-weight: 750;
}

.optional {
  color: var(--muted);
  font-size: 11px;
  font-weight: 500;
}

input,
textarea {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 11px;
  outline: none;
  background: #0b0b09;
  color: var(--cream);
  font: inherit;
}

input {
  height: 50px;
  padding: 0 15px;
}

textarea {
  min-height: 126px;
  padding: 14px 15px;
  resize: vertical;
}

input:focus,
textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(200, 155, 69, 0.12);
}

.form-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 28px;
}

.form-actions .button {
  border: 0;
  cursor: pointer;
}

.privacy-note {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.hp-field {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.calendar-page .calendar-lead {
  max-width: 650px;
  margin-bottom: 32px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.calendar-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 52px;
}

.status-card {
  max-width: 680px;
  margin: 12vh auto;
  padding: clamp(32px, 6vw, 64px);
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--panel);
  text-align: center;
}

.status-card img {
  width: min(250px, 65vw);
  margin-bottom: 18px;
}

.status-card p {
  color: var(--muted);
  line-height: 1.65;
}

.status-card .button {
  margin-top: 14px;
}

@media (max-width: 620px) {
  .page-shell {
    padding: 50px 15px 80px;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .field.full {
    grid-column: auto;
  }

  .form-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 20% 6%, rgba(115, 67, 25, 0.13), transparent 26rem),
    var(--ink);
  color: var(--cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 12px clamp(20px, 5vw, 76px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(7, 7, 6, 0.88);
  backdrop-filter: blur(18px);
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  letter-spacing: 0.04em;
}

.brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 40px);
  color: #cfc8ba;
  font-size: 14px;
}

nav a:hover,
.text-link:hover {
  color: var(--gold-light);
}

.nav-cta {
  padding: 11px 18px;
  border: 1px solid var(--gold);
  border-radius: 999px;
  color: var(--cream);
}

.hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(320px, 0.92fr) minmax(360px, 0.8fr);
  align-items: center;
  gap: clamp(36px, 7vw, 110px);
  max-width: 1260px;
  min-height: calc(100vh - 76px);
  margin: auto;
  padding: 50px clamp(24px, 5vw, 70px) 80px;
  overflow: hidden;
}

.hero-glow {
  position: absolute;
  z-index: -1;
  left: -180px;
  top: 25%;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: rgba(115, 65, 22, 0.14);
  filter: blur(60px);
}

.hero-logo-wrap {
  position: relative;
}

.hero-logo-wrap::after {
  position: absolute;
  z-index: -1;
  inset: 16% 8% 6%;
  border-radius: 50%;
  background: rgba(210, 157, 68, 0.15);
  content: "";
  filter: blur(45px);
}

.hero-logo {
  display: block;
  width: min(100%, 610px);
  height: auto;
  filter: drop-shadow(0 22px 34px rgba(0, 0, 0, 0.56));
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--gold-light);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3 {
  font-family: Georgia, "Times New Roman", serif;
}

h1 {
  margin-bottom: 24px;
  font-size: clamp(54px, 6.5vw, 98px);
  font-weight: 500;
  letter-spacing: -0.055em;
  line-height: 0.92;
}

h2 {
  margin-bottom: 18px;
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1;
}

.intro,
.split-section > div > p,
.join-section > p {
  max-width: 620px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 34px;
}

.button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: 0.025em;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button.primary,
.button.gold {
  background: linear-gradient(135deg, #e2bd6d, #b8822d);
  color: #12100b;
}

.button.ghost {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.03);
}

.meeting-card {
  display: grid;
  grid-template-columns: 1.15fr 1fr auto;
  align-items: center;
  gap: 35px;
  max-width: 1160px;
  margin: 0 auto;
  padding: 40px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background:
    linear-gradient(130deg, rgba(105, 63, 28, 0.17), transparent 45%),
    var(--panel);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.25);
}

.meeting-card h2 {
  margin-bottom: 5px;
  font-size: clamp(30px, 3.8vw, 48px);
}

.meeting-time {
  margin: 0;
  color: var(--gold-light);
}

.venue {
  display: flex;
  gap: 17px;
  color: #d8d0c1;
  line-height: 1.55;
}

.venue strong,
.venue span {
  display: block;
}

.venue span {
  color: var(--muted);
}

.pin {
  color: var(--gold) !important;
}

.section {
  max-width: 1160px;
  margin: auto;
  padding: 145px 0;
}

.split-section {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  align-items: center;
  gap: 70px;
}

.prize-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.prize {
  min-height: 260px;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  background: var(--panel);
}

.prize-icon {
  display: inline-flex;
  width: 68px;
  height: 68px;
  align-items: center;
  justify-content: center;
  margin-bottom: 46px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.prize h3 {
  margin-bottom: 10px;
  font-size: 25px;
}

.prize p {
  color: var(--muted);
  line-height: 1.5;
}

.calendar-section {
  border-top: 1px solid var(--line);
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 45px;
}

.section-heading h2 {
  margin-bottom: 0;
}

.text-link {
  color: var(--gold-light);
  font-size: 14px;
}

.dates {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.date-row {
  display: grid;
  grid-template-columns: 84px 1fr auto;
  align-items: center;
  gap: 24px;
  min-height: 95px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.date-number {
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 33px;
}

.date-row strong,
.date-row span {
  display: block;
}

.date-row strong {
  margin-bottom: 7px;
  font-size: 17px;
}

.date-row div span {
  color: var(--muted);
  font-size: 14px;
}

.date-row em {
  padding: 7px 12px;
  border-radius: 99px;
  background: rgba(200, 155, 69, 0.14);
  color: var(--gold-light);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.join-section {
  max-width: 1040px;
  margin: 0 auto 120px;
  padding: 95px 30px;
  border: 1px solid var(--line);
  border-radius: 30px;
  background:
    radial-gradient(circle at 50% 0%, rgba(154, 97, 38, 0.22), transparent 50%),
    var(--panel);
  text-align: center;
}

.join-section > p {
  margin-right: auto;
  margin-bottom: 30px;
  margin-left: auto;
}

.join-section .button {
  min-width: 180px;
}

.fine-print {
  display: block;
  margin-top: 19px;
  color: #777164;
  font-size: 12px;
}

footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 22px clamp(20px, 5vw, 76px);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: #777164;
  font-size: 12px;
}

footer img {
  width: 52px;
}

footer p {
  margin: 0;
}

footer a {
  justify-self: end;
}

@media (max-width: 980px) {
  .site-header {
    gap: 18px;
  }

  nav {
    gap: clamp(12px, 2.4vw, 24px);
  }

  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 44px;
    text-align: center;
  }

  .hero-logo {
    width: min(78vw, 510px);
    margin: auto;
  }

  .hero-copy {
    max-width: 700px;
    margin: auto;
  }

  .intro {
    margin-right: auto;
    margin-left: auto;
  }

  .hero-actions {
    justify-content: center;
  }

  .meeting-card {
    grid-template-columns: 1fr 1fr;
    margin: 0 24px;
  }

  .meeting-card .button {
    grid-column: 1 / -1;
  }

  .section {
    padding: 110px 24px;
  }

  .split-section {
    grid-template-columns: 1fr;
  }

  .join-section {
    margin-right: 24px;
    margin-left: 24px;
  }
}

@media (max-width: 620px) {
  .site-header {
    min-height: 64px;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 10px;
  }

  .site-header nav {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }

  .brand span {
    display: none;
  }

  .brand img {
    width: 42px;
    height: 42px;
  }

  nav {
    gap: 14px;
    font-size: 12px;
  }

  .hero {
    padding: 30px 20px 65px;
  }

  .hero-logo {
    width: min(92vw, 430px);
  }

  h1 {
    font-size: 52px;
  }

  .intro {
    font-size: 16px;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .button {
    padding: 0 16px;
  }

  .meeting-card {
    grid-template-columns: 1fr;
    gap: 28px;
    margin: 0 15px;
    padding: 28px 24px;
  }

  .meeting-card .button {
    grid-column: auto;
  }

  .section {
    padding: 90px 20px;
  }

  .prize-grid {
    grid-template-columns: 1fr;
  }

  .prize {
    min-height: 210px;
  }

  .prize-icon {
    margin-bottom: 25px;
  }

  .section-heading {
    align-items: start;
    flex-direction: column;
  }

  .date-row {
    grid-template-columns: 58px 1fr auto;
    gap: 12px;
  }

  .date-number {
    font-size: 26px;
  }

  .join-section {
    margin: 0 15px 80px;
    padding: 70px 24px;
  }

  footer {
    grid-template-columns: auto 1fr;
  }

  footer p {
    justify-self: end;
  }

  footer a {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .button {
    transition: none;
  }
}

.rankings-teaser{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rankings-teaser p{color:var(--muted);max-width:700px}.rankings-page{min-height:100vh}.rankings-shell{width:min(1200px,94vw);margin:0 auto;padding:70px 0 100px}.rankings-heading{text-align:center;margin-bottom:24px}.rankings-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,7vw,88px);margin:8px 0 14px}.rankings-heading p{color:var(--muted);font-size:18px}.sponsor-banner{display:flex;align-items:center;justify-content:center;gap:28px;margin:24px auto 30px;padding:18px 28px;max-width:1080px;border:2px solid var(--gold);border-radius:22px;background:linear-gradient(90deg,#11110f,#221a12,#11110f);box-shadow:0 12px 30px #0008}.sponsor-banner img{max-width:240px;max-height:120px;object-fit:contain}.sponsor-copy{display:flex;flex-direction:column;text-align:center;gap:5px}.sponsor-copy span,.sponsor-empty span{text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-size:13px}.sponsor-copy strong,.sponsor-empty strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,4vw,52px);color:var(--cream)}.rankings-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--panel)}.public-rank-table{width:100%;border-collapse:collapse;font-size:clamp(18px,2.2vw,30px)}.public-rank-table th,.public-rank-table td{padding:16px 22px;border-bottom:1px solid var(--line);text-align:left}.public-rank-table th{color:var(--gold);font-size:.72em;text-transform:uppercase;letter-spacing:1px}.public-rank-table th:nth-child(n+3),.public-rank-table td:nth-child(n+3){text-align:center}.public-rank-table tbody tr:first-child{background:rgba(200,155,69,.12)}.public-rank-table tbody tr:first-child td:nth-child(2){color:var(--gold-light);font-weight:800}.rankings-updated{text-align:center;color:var(--muted);font-size:13px;margin-top:18px}@media(max-width:700px){.rankings-teaser{align-items:flex-start;flex-direction:column}.sponsor-banner{flex-direction:column;gap:12px}.sponsor-banner img{max-width:190px;max-height:90px}.rankings-shell{padding-top:40px}.public-rank-table th,.public-rank-table td{padding:12px 8px}.public-rank-table{font-size:16px}}


/* Current Monday format */
.format-card{margin:42px 0 48px;padding:clamp(24px,4vw,44px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(200,155,69,.08),rgba(17,17,15,.96) 38%);box-shadow:0 22px 60px rgba(0,0,0,.22)}
.format-heading{max-width:760px;margin-bottom:30px}.format-heading h2{margin:6px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4.5vw,50px)}.format-heading>p:last-child{color:var(--muted);font-size:17px;line-height:1.65}
.schedule-timeline{display:grid;gap:14px}.schedule-stop{display:grid;grid-template-columns:minmax(130px,180px) 1fr;align-items:start;gap:24px;padding:20px 22px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#0d0d0b}.schedule-stop time{font-weight:850;color:var(--gold-light);font-size:19px;letter-spacing:.02em}.schedule-stop h3{margin:0 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:25px}.schedule-stop p{margin:0;color:var(--muted);line-height:1.55}.ranked-stop{border-left:4px solid var(--gold)}.casual-stop{border-left:4px solid #d0c7b7}.winner-stop{border:1px solid rgba(236,210,140,.35);border-left:4px solid var(--gold-light);background:linear-gradient(90deg,rgba(200,155,69,.12),#0d0d0b)}.winner-stop h3{color:var(--gold-light)}.schedule-note{margin:20px 4px 0;color:var(--muted);font-size:14px;line-height:1.6}
@media(max-width:680px){.format-card{padding:24px 16px}.schedule-stop{grid-template-columns:1fr;gap:7px;padding:18px}.schedule-stop time{font-size:17px}.schedule-stop h3{font-size:23px}}

.sponsor-logo-placeholder{width:220px;height:100px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(236,210,140,.42);border-radius:14px;background:rgba(255,255,255,.025);color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;font-size:12px;flex:0 0 auto}.tv-sponsor .sponsor-logo-placeholder{width:250px;height:112px}


/* Sponsor artwork inside prize cards */
.prize-logo{display:block!important;width:112px!important;height:112px!important;max-width:112px!important;max-height:112px!important;object-fit:contain;margin:0 0 22px;border-radius:50%;background:#0b0907;box-shadow:0 8px 22px rgba(0,0,0,.32);flex:0 0 112px}

/* Dedicated Fire TV / cast-friendly rankings page */
.rankings-tv-page{height:100vh;min-height:100vh;overflow:hidden;background:#070604}
.rankings-tv-shell{height:100vh;width:100vw;display:grid;grid-template-rows:auto 1fr auto;gap:min(1vh,10px);padding:clamp(8px,1.4vh,16px) clamp(12px,2vw,34px)}
.rankings-tv-top{display:grid;grid-template-columns:auto 1fr minmax(360px,46vw);align-items:center;gap:clamp(12px,2vw,30px);min-height:0}
.rankings-tv-club-logo{width:clamp(74px,8.2vw,145px);height:clamp(74px,11vh,130px);object-fit:contain}
.rankings-tv-title{text-align:left}.rankings-tv-title .eyebrow{margin:0 0 2px}.rankings-tv-title h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,4.2vh,58px);line-height:.95;margin:0;color:var(--cream)}
.rankings-tv-title p{margin:5px 0 0;color:var(--muted);font-size:clamp(12px,1.55vh,20px)}
.rankings-tv-top .sponsor-banner{margin:0;padding:clamp(7px,1vh,12px) clamp(10px,1vw,18px);gap:clamp(8px,1vw,16px);border-radius:14px;min-height:0}
.rankings-tv-top .sponsor-banner img{width:clamp(70px,8vw,120px);height:clamp(70px,9.5vh,110px);object-fit:contain}
.rankings-tv-top .sponsor-copy span{font-size:clamp(9px,1vh,13px);letter-spacing:1.2px}.rankings-tv-top .sponsor-copy strong{font-size:clamp(20px,2.7vh,36px)}
.rankings-tv-card{min-height:0;overflow:hidden;border:2px solid var(--line);border-radius:16px;background:#100d0a}
.rankings-tv-table{width:100%;height:100%;table-layout:fixed;border-collapse:collapse;font-size:clamp(15px,2.05vh,27px)}
.rankings-tv-table th,.rankings-tv-table td{padding:clamp(2px,.45vh,6px) clamp(8px,1vw,18px);border-bottom:1px solid rgba(255,255,255,.09);line-height:1.05}
.rankings-tv-table th{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:.68em}.rankings-tv-table th:nth-child(1),.rankings-tv-table td:nth-child(1){width:7%;text-align:center}.rankings-tv-table th:nth-child(2),.rankings-tv-table td:nth-child(2){width:53%;text-align:left}.rankings-tv-table th:nth-child(n+3),.rankings-tv-table td:nth-child(n+3){width:13.33%;text-align:center}
.rankings-tv-table tbody tr:first-child{background:rgba(200,155,69,.18)}.rankings-tv-table tbody tr:first-child td:nth-child(2){color:var(--gold-light);font-weight:900}.rankings-tv-table strong{font-size:1.12em}
.rankings-tv-footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:clamp(10px,1.25vh,15px);white-space:nowrap}
@media(max-width:900px){.rankings-tv-top{grid-template-columns:auto 1fr}.rankings-tv-top .sponsor-banner{grid-column:1/-1}.rankings-tv-page{overflow:auto}.rankings-tv-shell{height:auto;min-height:100vh}.rankings-tv-card{overflow:visible}.rankings-tv-table{font-size:16px}}

/* Homepage club reveal video */
.reveal-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);align-items:center;gap:clamp(32px,6vw,88px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reveal-copy h2{margin-top:8px}.reveal-copy p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:clamp(17px,1.6vw,21px);line-height:1.6}
.reveal-video-wrap{justify-self:center;width:min(100%,430px);text-align:center}
.reveal-video{display:block;width:100%;aspect-ratio:9/16;max-height:72vh;object-fit:cover;border-radius:24px;border:1px solid var(--line);background:#000;box-shadow:0 20px 60px rgba(0,0,0,.42)}
.reveal-video-note{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:820px){.reveal-section{grid-template-columns:1fr;text-align:center}.reveal-copy p:not(.eyebrow){margin-left:auto;margin-right:auto}.reveal-video-wrap{width:min(86vw,390px)}}


/* Signup welcome page */
.welcome-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 50% 0%,rgba(200,155,69,.16),transparent 32rem),
    radial-gradient(circle at 15% 28%,rgba(115,67,25,.14),transparent 28rem),
    var(--ink)
}
.welcome-shell{width:min(1160px,94vw);margin:0 auto;padding:0 0 110px}
.welcome-hero{position:relative;isolation:isolate;text-align:center;padding:72px 24px 54px;overflow:hidden}
.welcome-glow{position:absolute;z-index:-1;left:50%;top:20px;width:min(720px,90vw);height:330px;transform:translateX(-50%);border-radius:50%;background:rgba(200,155,69,.13);filter:blur(58px)}
.welcome-logo{display:block;width:min(300px,62vw);height:auto;margin:0 auto 28px;filter:drop-shadow(0 24px 34px rgba(0,0,0,.55))}
.welcome-hero h1{max-width:900px;margin:0 auto 22px;font-size:clamp(54px,8vw,96px)}
.welcome-lead{max-width:760px;margin:0 auto;color:var(--muted);font-size:clamp(17px,2vw,22px);line-height:1.7}
.welcome-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.welcome-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:12px 0 42px}
.welcome-quick-card{padding:26px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(200,155,69,.07),var(--panel))}
.welcome-quick-card>span{display:block;margin-bottom:8px;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.18em}
.welcome-quick-card strong{display:block;margin-bottom:10px;font-family:Georgia,"Times New Roman",serif;font-size:26px;color:var(--cream)}
.welcome-quick-card p{margin:0;color:var(--muted);line-height:1.6}
.welcome-letter{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:46px;margin:0 0 42px;padding:clamp(28px,5vw,54px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,rgba(105,63,28,.16),transparent 34%),var(--panel);box-shadow:0 26px 70px rgba(0,0,0,.28)}
.welcome-letter-heading h2{font-size:clamp(38px,5vw,62px)}
.welcome-letter-heading>p:last-child{color:var(--muted);line-height:1.6}
.welcome-copy{font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.85;color:#ddd3c0}
.welcome-copy p{margin:0 0 24px}
.welcome-greeting{font-size:23px;color:var(--gold-light)}
.welcome-signature{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);white-space:normal;color:var(--gold-light);line-height:1.65}
.welcome-prize-strip{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center;margin:0 0 42px;padding:clamp(28px,5vw,52px);border:1px solid rgba(236,210,140,.28);border-radius:28px;background:linear-gradient(125deg,#17120c,#0e0d0a)}
.welcome-prize-strip h2{font-size:clamp(34px,4.5vw,54px)}
.welcome-prize-strip>div>p:last-child{color:var(--muted);line-height:1.65}
.welcome-prize-items{display:grid;gap:14px}
.welcome-prize-items div{padding:20px 22px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.025)}
.welcome-prize-items strong,.welcome-prize-items span{display:block}
.welcome-prize-items strong{margin-bottom:6px;color:var(--gold-light);font-size:20px}
.welcome-prize-items span{color:var(--muted);font-size:14px}
.welcome-final{text-align:center;padding:68px 24px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 50% 0%,rgba(200,155,69,.15),transparent 65%),var(--panel)}
.welcome-final h2{margin-bottom:14px}
.welcome-final>p:not(.eyebrow){max-width:650px;margin:0 auto 24px;color:var(--muted);font-size:18px;line-height:1.65}
@media(max-width:820px){
  .welcome-shell{width:min(94vw,760px)}
  .welcome-quick-grid{grid-template-columns:1fr}
  .welcome-letter,.welcome-prize-strip{grid-template-columns:1fr}
  .welcome-letter{gap:24px}
}
@media(max-width:620px){
  .welcome-shell{width:100%;padding:0 15px 70px}
  .welcome-hero{padding:48px 10px 38px}
  .welcome-hero h1{font-size:52px}
  .welcome-actions{display:grid;grid-template-columns:1fr}
  .welcome-actions .button{width:100%}
  .welcome-letter,.welcome-prize-strip{padding:24px 20px}
  .welcome-copy{font-size:17px}
}


/* Public session rankings */
.rankings-actions,.session-heading-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.session-rankings-shell{max-width:1160px}
.meeting-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}
.meeting-result-card{display:flex;flex-direction:column;gap:14px;min-height:250px;padding:26px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(200,155,69,.07),var(--panel));box-shadow:0 14px 34px rgba(0,0,0,.24);transition:transform 160ms ease,border-color 160ms ease}
.meeting-result-card:hover{transform:translateY(-3px);border-color:var(--gold)}
.meeting-result-top{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:13px}
.meeting-result-top>span{color:var(--gold-light);font-weight:850;letter-spacing:.12em}
.meeting-result-date{font-family:Georgia,"Times New Roman",serif;font-size:clamp(27px,3vw,38px);line-height:1.08}
.meeting-result-stats{display:flex;gap:10px;flex-wrap:wrap}
.meeting-result-stats span{padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:13px}
.meeting-result-winner{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.meeting-result-winner span,.meeting-result-winner strong,.meeting-result-winner small{display:block}
.meeting-result-winner span{margin-bottom:5px;color:var(--gold);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.meeting-result-winner strong{font-family:Georgia,"Times New Roman",serif;font-size:25px;color:var(--cream)}
.meeting-result-winner small{margin-top:4px;color:var(--muted)}
.meeting-result-open{margin-top:6px;color:var(--gold-light);font-weight:750;font-size:14px}
.session-detail-head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;margin:30px 0;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}
.session-detail-head h2{margin:5px 0 8px;font-size:clamp(34px,4.7vw,58px)}
.session-detail-head p:last-child{margin:0;color:var(--muted)}
.session-winner{min-width:250px;padding:20px;border:1px solid rgba(236,210,140,.28);border-radius:18px;background:rgba(200,155,69,.08);text-align:center}
.session-winner span,.session-winner strong,.session-winner small{display:block}
.session-winner span{color:var(--gold);font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.session-winner strong{margin:7px 0;font-family:Georgia,"Times New Roman",serif;font-size:30px}
.session-winner small{color:var(--muted)}
.session-empty{padding:44px;text-align:center;color:var(--muted)}
@media(max-width:760px){
  .meeting-results-grid{grid-template-columns:1fr}
  .session-detail-head{grid-template-columns:1fr}
  .session-winner{min-width:0}
}
