:root {
  --navy-950: #071224;
  --navy-900: #0b1830;
  --navy-850: #10203d;
  --navy-800: #152949;
  --navy-700: #20385e;
  --teal-500: #16c7b7;
  --teal-400: #2dd8c7;
  --teal-300: #62e4d7;
  --blue-500: #3b82f6;
  --white: #ffffff;
  --ink: #182438;
  --muted: #627089;
  --soft: #f5f7fb;
  --soft-2: #eef2f7;
  --line: #dfe5ee;
  --danger: #c53c4d;
  --success: #16875f;
  --shadow: 0 24px 70px rgba(7, 18, 36, 0.13);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --font: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

/* Respect the native hidden attribute even when component styles define display. */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 3%, rgba(45, 216, 199, .12), transparent 26rem),
    radial-gradient(circle at 95% 10%, rgba(59, 130, 246, .09), transparent 30rem),
    #f8fafc;
  font-family: var(--font);
  line-height: 1.5;
  overflow-x: hidden;
}
button, input, textarea, select { font: inherit; }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .6; }
input, textarea, select { color: var(--ink); }
textarea { resize: vertical; min-height: 94px; }

.ambient { position: fixed; border-radius: 50%; filter: blur(20px); pointer-events: none; z-index: -1; }
.ambient-one { width: 420px; height: 420px; background: rgba(22, 199, 183, .05); top: 22%; left: -220px; }
.ambient-two { width: 520px; height: 520px; background: rgba(59, 130, 246, .04); right: -250px; bottom: 5%; }

.site-header {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 28px 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--navy-900); text-decoration: none; }
.brand--official { line-height: 0; }
.brand-logo { display: block; width: 172px; height: auto; }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--navy-900); color: var(--teal-400); font-weight: 800; }
.brand-word { font-size: 18px; letter-spacing: .18em; font-weight: 800; }
.header-meta { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--teal-500); box-shadow: 0 0 0 5px rgba(22, 199, 183, .12); }

.page-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr); gap: 52px; align-items: center; padding: 70px 0 56px; }
.hero-copy { max-width: 780px; }
.eyebrow, .mini-label { margin: 0; color: #0f8f83; font-weight: 800; font-size: 12px; letter-spacing: .13em; text-transform: uppercase; }
.hero h1 { margin: 14px 0 20px; color: var(--navy-950); font-size: clamp(40px, 5vw, 68px); line-height: 1.03; letter-spacing: -.045em; }
.hero h1 span { color: #54627a; font-weight: 650; }
.hero-copy > p { max-width: 720px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.hero-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.hero-chips span { padding: 9px 13px; border: 1px solid rgba(11, 24, 48, .1); border-radius: 999px; background: rgba(255,255,255,.7); color: var(--navy-700); font-size: 12px; font-weight: 700; }

.hero-card { position: relative; overflow: hidden; border-radius: 26px; background: linear-gradient(145deg, var(--navy-950), #102b4f); color: white; padding: 30px; box-shadow: 0 28px 80px rgba(7, 18, 36, .2); }
.hero-card::after { content: ""; position: absolute; width: 240px; height: 240px; border-radius: 50%; background: rgba(45,216,199,.12); top: -130px; right: -80px; }
.hero-card-kicker { display: block; color: var(--teal-300); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 20px; }
.hero-card ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.hero-card li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; position: relative; z-index: 1; }
.hero-card li > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.08); color: var(--teal-300); font-size: 11px; font-weight: 800; }
.hero-card strong { display: block; font-size: 14px; margin-bottom: 4px; }
.hero-card small { color: #aebbd0; font-size: 12px; line-height: 1.55; }

.form-card { margin: 14px 0 24px; border: 1px solid rgba(11,24,48,.08); border-radius: var(--radius-xl); background: rgba(255,255,255,.94); box-shadow: var(--shadow); overflow: hidden; backdrop-filter: blur(18px); }
.form-topbar { padding: 30px 34px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.form-topbar h2 { margin: 4px 0 0; color: var(--navy-950); font-size: 24px; letter-spacing: -.02em; }
.ghost-button, .secondary-button { border: 1px solid var(--line); background: white; color: var(--navy-700); border-radius: 12px; padding: 11px 16px; font-weight: 700; font-size: 13px; transition: .2s ease; }
.ghost-button:hover, .secondary-button:hover { border-color: #bac6d6; background: var(--soft); }

.progress-wrap { padding: 18px 34px 0; }
.progress-track { height: 5px; background: var(--soft-2); border-radius: 999px; overflow: hidden; }
.progress-bar { height: 100%; width: 20%; border-radius: 999px; background: linear-gradient(90deg, var(--teal-500), #30b7ee); transition: width .35s ease; }
.progress-meta { display: flex; justify-content: space-between; padding-top: 9px; color: #7a8799; font-size: 11px; font-weight: 700; }
.form-alert { margin: 18px 34px 0; padding: 13px 15px; border-radius: 12px; font-size: 13px; font-weight: 650; }
.form-alert.error { background: #fff1f3; color: #9b2536; border: 1px solid #ffd1d8; }
.form-alert.success { background: #ebfbf4; color: #11704f; border: 1px solid #c9f2e1; }

.form-step { display: none; padding: 34px; animation: fadeIn .28s ease; }
.form-step.active { display: block; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.section-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.section-number { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; background: var(--navy-900); color: var(--teal-300); font-size: 12px; font-weight: 800; }
.section-heading p { margin: 0 0 2px; color: #8a95a6; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.section-heading h3 { margin: 0; color: var(--navy-950); font-size: 22px; letter-spacing: -.02em; }

.field-grid { display: grid; gap: 20px; }
.field-grid.two-col { grid-template-columns: repeat(2, minmax(0,1fr)); }
.field.full { grid-column: 1 / -1; }
.field { display: grid; gap: 8px; }
.field > span, fieldset legend { color: var(--navy-800); font-size: 13px; font-weight: 800; }
em { color: #c73c51; font-style: normal; }
.field input, .field textarea, .field select {
  width: 100%; border: 1px solid #d8e0ea; background: #fff; border-radius: 12px; padding: 13px 14px; outline: none; transition: .2s ease; font-size: 14px;
}
.field input::placeholder, .field textarea::placeholder { color: #a2adbc; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--teal-500); box-shadow: 0 0 0 4px rgba(22,199,183,.1); }
.field input.invalid, .field textarea.invalid, .field select.invalid { border-color: #e25b6e; box-shadow: 0 0 0 3px rgba(226,91,110,.09); }
.field small { color: #8793a5; font-size: 11px; }
.standalone-field { margin-top: 26px; }


/* Premium category × division selector */
.category-division-field { display: block; }
.matrix-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.matrix-title { display: block; color: var(--navy-800); font-size: 13px; font-weight: 800; }
.matrix-help { margin: 4px 0 0; color: #8a95a6; font-size: 12px; }
.selection-count { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 28px; padding: 5px 10px; border: 1px solid #dce5ee; border-radius: 999px; background: #f8fafc; color: #6f7e92; font-size: 10px; font-weight: 800; letter-spacing: .03em; }
.category-matrix { overflow: hidden; border: 1px solid #dce4ed; border-radius: 18px; background: #fff; box-shadow: 0 8px 28px rgba(11,24,48,.055); transition: .2s ease; }
.category-division-field.invalid .category-matrix { border-color: #e25b6e; box-shadow: 0 0 0 3px rgba(226,91,110,.08); }
.matrix-superhead { display: grid; grid-template-columns: minmax(190px,1.45fr) repeat(3,minmax(90px,1fr)); grid-template-rows: 34px 42px; background: linear-gradient(135deg, #0b1830, #142f51); color: #fff; }
.matrix-category-head { grid-column: 1; grid-row: 1 / 3; display: flex; align-items: center; padding: 0 20px; color: #c7d3e3; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.matrix-division-head { grid-column: 2 / 5; grid-row: 1; display: grid; place-items: center; border-left: 1px solid rgba(255,255,255,.09); border-bottom: 1px solid rgba(255,255,255,.09); color: var(--teal-300); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.matrix-column-head { grid-row: 2; display: grid; place-items: center; border-left: 1px solid rgba(255,255,255,.09); color: #f4f8fd; font-size: 11px; font-weight: 800; }
.matrix-row { display: grid; grid-template-columns: minmax(190px,1.45fr) repeat(3,minmax(90px,1fr)); min-height: 64px; border-top: 1px solid #edf1f5; }
.matrix-superhead + .matrix-row { border-top: 0; }
.matrix-row:hover { background: #fbfdfd; }
.matrix-category { display: flex; align-items: center; padding: 14px 20px; color: var(--navy-800); font-size: 12px; }
.matrix-category strong { font-weight: 800; }
.matrix-option { position: relative; display: grid; place-items: center; min-height: 64px; border-left: 1px solid #edf1f5; cursor: pointer; transition: background .18s ease, box-shadow .18s ease; }
.matrix-option:hover { background: rgba(22,199,183,.045); }
.matrix-option input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.matrix-option span { position: relative; width: 30px; height: 30px; border: 1.5px solid #b9c5d3; border-radius: 9px; background: #fff; box-shadow: 0 1px 3px rgba(7,18,36,.04); transition: .18s ease; }
.matrix-option span::before { content: ""; position: absolute; left: 9px; top: 5px; width: 7px; height: 13px; border: solid #fff; border-width: 0 2.2px 2.2px 0; transform: rotate(45deg) scale(.55); opacity: 0; transition: .16s ease; }
.matrix-option:has(input:checked) { background: linear-gradient(135deg, rgba(22,199,183,.08), rgba(59,130,246,.035)); box-shadow: inset 0 0 0 1px rgba(22,199,183,.08); }
.matrix-option:has(input:checked) span { border-color: var(--teal-500); background: linear-gradient(135deg, #0aa99a, #19c9b8); box-shadow: 0 6px 16px rgba(22,199,183,.22); }
.matrix-option:has(input:checked) span::before { opacity: 1; transform: rotate(45deg) scale(1); }
.matrix-option input:focus-visible + span { outline: 3px solid rgba(59,130,246,.24); outline-offset: 3px; }
.no-category-option { display: flex; align-items: center; gap: 12px; margin-top: 10px; padding: 12px 14px; border: 1px solid #e0e6ee; border-radius: 14px; background: #fbfcfe; color: #516077; cursor: pointer; transition: .18s ease; }
.no-category-option:hover { border-color: #cbd5e1; background: #f8fafc; }
.no-category-option input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.no-category-check { position: relative; width: 22px; height: 22px; flex: 0 0 auto; border: 1.5px solid #b8c4d2; border-radius: 7px; background: #fff; transition: .18s ease; }
.no-category-check::before { content: ""; position: absolute; left: 6px; top: 3px; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) scale(.6); opacity: 0; transition: .16s ease; }
.no-category-option > span:last-child { display: grid; gap: 1px; }
.no-category-option strong { color: var(--navy-800); font-size: 11px; }
.no-category-option small { color: #8592a4; font-size: 10px; }
.no-category-option:has(input:checked) { border-color: rgba(22,199,183,.5); background: rgba(22,199,183,.05); }
.no-category-option:has(input:checked) .no-category-check { border-color: var(--teal-500); background: var(--teal-500); }
.no-category-option:has(input:checked) .no-category-check::before { opacity: 1; transform: rotate(45deg) scale(1); }
.no-category-option input:focus-visible + .no-category-check { outline: 3px solid rgba(59,130,246,.24); outline-offset: 3px; }

.choice-group, .check-group { margin: 28px 0 0; padding: 0; border: 0; }
.choice-group legend, .check-group legend { padding: 0; margin-bottom: 3px; }
.help-text { margin: 0 0 14px; color: #8a95a6; font-size: 12px; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.choice-grid.two-choice { grid-template-columns: repeat(2,minmax(0,1fr)); }
.choice-card { position: relative; min-height: 92px; display: flex; align-items: flex-start; border: 1px solid #dce3ec; border-radius: 14px; background: white; padding: 16px; cursor: pointer; transition: .2s ease; }
.choice-card:hover { border-color: #b9c7d8; background: #fbfcfe; }
.choice-card input { position: absolute; opacity: 0; pointer-events: none; }
.choice-card span { display: block; padding-left: 28px; position: relative; }
.choice-card span::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid #aab6c7; background: white; }
.choice-card:has(input:checked) { border-color: var(--teal-500); background: rgba(22,199,183,.055); box-shadow: inset 0 0 0 1px rgba(22,199,183,.25); }
.choice-card:has(input:checked) span::before { border-color: var(--teal-500); box-shadow: inset 0 0 0 4px white; background: var(--teal-500); }
.choice-card strong { display: block; color: var(--navy-900); font-size: 13px; margin-bottom: 5px; }
.choice-card small { display: block; color: #8491a3; font-size: 11px; line-height: 1.45; }
.compact-group { margin-bottom: 0; }

.check-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.check-grid label { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 11px 12px; border: 1px solid #e1e6ee; border-radius: 12px; background: #fbfcfd; color: #46546a; font-size: 12px; font-weight: 700; cursor: pointer; }
.check-grid input { width: 16px; height: 16px; accent-color: var(--teal-500); }
.check-grid label:has(input:checked) { border-color: rgba(22,199,183,.55); background: rgba(22,199,183,.05); color: var(--navy-800); }

.review-box { display: grid; grid-template-columns: 42px 1fr; gap: 14px; margin-top: 26px; padding: 17px; border: 1px solid #d8e7e4; border-radius: 15px; background: #f5fcfa; }
.review-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--teal-500); color: white; font-weight: 800; }
.review-box strong { color: var(--navy-900); font-size: 13px; }
.review-box p { margin: 4px 0 0; color: #66768b; font-size: 11px; line-height: 1.6; }
.consent-row { display: flex; gap: 11px; align-items: flex-start; margin-top: 20px; color: #57667b; font-size: 11px; line-height: 1.55; }
.consent-row input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--teal-500); flex: 0 0 auto; }

.form-actions { display: flex; align-items: center; gap: 12px; padding: 22px 34px 30px; border-top: 1px solid var(--line); background: #fbfcfe; }
.action-spacer { flex: 1; }
.primary-button { border: 0; border-radius: 12px; background: linear-gradient(135deg, var(--navy-900), #17365c); color: white; padding: 12px 18px; font-weight: 800; font-size: 13px; box-shadow: 0 10px 25px rgba(11,24,48,.15); transition: transform .2s ease, box-shadow .2s ease; }
.primary-button:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(11,24,48,.2); }
.primary-button span { margin-left: 6px; color: var(--teal-300); }
.submit-button { background: linear-gradient(135deg, #0b6f68, #13a99c); }

.privacy-note { display: flex; gap: 12px; align-items: center; justify-content: center; max-width: 760px; margin: 22px auto 70px; color: #718095; text-align: left; }
.lock-icon { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: white; border: 1px solid var(--line); color: #2a9b91; font-weight: 800; }
.privacy-note strong { display: block; color: #46566d; font-size: 12px; }
.privacy-note p { margin: 1px 0 0; font-size: 11px; }

.site-footer { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 24px 0 36px; border-top: 1px solid rgba(11,24,48,.08); display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #8b96a6; font-size: 11px; }
.site-footer > div { display: flex; gap: 12px; align-items: center; }
.footer-brand { color: var(--navy-900); font-weight: 800; letter-spacing: .15em; }

.success-overlay { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px; background: rgba(5,15,30,.68); backdrop-filter: blur(10px); }
.success-card { width: min(520px, 100%); border-radius: 26px; background: white; padding: 34px; box-shadow: 0 30px 90px rgba(0,0,0,.28); text-align: center; }
.success-check { width: 64px; height: 64px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 50%; background: #e8fbf5; color: #119171; font-size: 28px; font-weight: 800; }
.success-card h2 { color: var(--navy-950); font-size: 26px; line-height: 1.2; letter-spacing: -.025em; margin: 9px 0 12px; }
.success-card > p { color: #68778c; font-size: 13px; line-height: 1.65; margin: 0; }
.submission-ref { margin: 22px 0; padding: 13px 15px; border-radius: 12px; background: var(--soft); display: flex; justify-content: space-between; gap: 12px; color: #7a8799; font-size: 11px; }
.submission-ref strong { color: var(--navy-800); letter-spacing: .05em; }
.success-card .primary-button { width: 100%; }

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; gap: 28px; padding-top: 46px; }
  .hero-card { max-width: 640px; }
}
@media (max-width: 680px) {
  .site-header, .page-shell, .site-footer { width: min(100% - 24px, 1180px); }
  .site-header { padding-top: 18px; }
  .header-meta { display: none; }
  .hero { padding: 38px 0 34px; }
  .hero h1 { font-size: 39px; }
  .hero-copy > p { font-size: 14px; }
  .hero-card { padding: 24px; border-radius: 20px; }
  .form-card { border-radius: 20px; }
  .form-topbar, .form-step, .form-actions { padding-left: 20px; padding-right: 20px; }
  .progress-wrap { padding-left: 20px; padding-right: 20px; }
  .form-alert { margin-left: 20px; margin-right: 20px; }
  .form-topbar { align-items: flex-start; }
  .form-topbar h2 { font-size: 20px; }
  .ghost-button { padding: 9px 11px; }
  .field-grid.two-col, .choice-grid, .choice-grid.two-choice, .check-grid { grid-template-columns: 1fr; }
  .matrix-title-row { align-items: center; }
  .matrix-help { max-width: 240px; }
  .matrix-superhead { display: none; }
  .category-matrix { border-radius: 16px; background: #f7f9fc; border-color: #e1e7ef; box-shadow: none; }
  .matrix-row { grid-template-columns: repeat(3,minmax(0,1fr)); min-height: 0; padding: 0 10px 12px; background: #fff; }
  .matrix-row + .matrix-row { border-top: 6px solid #f4f7fa; }
  .matrix-row:hover { background: #fff; }
  .matrix-category { grid-column: 1 / -1; padding: 13px 4px 9px; font-size: 11px; }
  .matrix-option { min-height: 48px; border: 1px solid #e3e8ef; margin-left: -1px; background: #fbfcfe; }
  .matrix-option:first-of-type { border-radius: 10px 0 0 10px; margin-left: 0; }
  .matrix-option:last-of-type { border-radius: 0 10px 10px 0; }
  .matrix-option span { width: auto; height: auto; min-width: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #78869a; font-size: 10px; font-weight: 800; }
  .matrix-option span::after { content: attr(data-division); }
  .matrix-option span::before { display: none; }
  .matrix-option:has(input:checked) { z-index: 1; border-color: rgba(22,199,183,.58); background: linear-gradient(135deg, rgba(22,199,183,.11), rgba(59,130,246,.055)); }
  .matrix-option:has(input:checked) span { border: 0; background: transparent; box-shadow: none; color: #087d72; }
  .matrix-option:has(input:checked) span::after { content: "✓  " attr(data-division); }
  .no-category-option { align-items: flex-start; }
  .section-heading { align-items: flex-start; }
  .section-heading h3 { font-size: 19px; }
  .form-actions { position: sticky; bottom: 0; z-index: 5; box-shadow: 0 -10px 30px rgba(7,18,36,.06); }
  .privacy-note { align-items: flex-start; margin-bottom: 48px; padding: 0 10px; }
  .site-footer { flex-direction: column; align-items: flex-start; }
  .site-footer > div { flex-direction: column; align-items: flex-start; gap: 4px; }
  .success-card { padding: 28px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* v1.0.4 — Premium tournament format selector */
.choice-heading-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.choice-heading-row legend { margin-bottom: 4px; }
.choice-heading-row .help-text { margin-bottom: 0; max-width: 760px; }
.single-select-badge { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 6px 10px; border: 1px solid #dfe6ef; border-radius: 999px; background: #f7f9fc; color: #728096; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tournament-format-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.format-card { min-height: 126px; padding: 17px 16px; overflow: hidden; }
.format-card::after { content: ""; position: absolute; right: -30px; bottom: -42px; width: 92px; height: 92px; border-radius: 50%; background: radial-gradient(circle, rgba(22,199,183,.09), rgba(22,199,183,0) 68%); pointer-events: none; }
.choice-card > .choice-content { display: block; padding-left: 28px; position: relative; width: 100%; }
.choice-card > .choice-content::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid #aab6c7; background: white; transition: .18s ease; }
.choice-card:has(input:checked) > .choice-content::before { border-color: var(--teal-500); box-shadow: inset 0 0 0 4px white; background: var(--teal-500); }
.format-type { display: inline-flex !important; width: auto !important; padding: 4px 7px !important; margin: 0 0 9px !important; border-radius: 999px; background: #f1f5f9; color: #718096; font-size: 8px !important; line-height: 1 !important; font-weight: 800 !important; letter-spacing: .09em; text-transform: uppercase; position: static !important; }
.format-type::before { display: none !important; }
.format-card strong { font-size: 13px; margin-bottom: 6px; }
.format-card small { max-width: 280px; }
.format-card:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(15,34,62,.06); }
.format-card:has(input:checked) .format-type { background: rgba(22,199,183,.12); color: #087d72; }
.recommended-card { background: linear-gradient(180deg, #ffffff 0%, #fbfefd 100%); }
.recommended-card .format-type { background: rgba(22,199,183,.09); color: #198d83; }

@media (max-width: 980px) {
  .tournament-format-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .choice-heading-row { display: block; }
  .single-select-badge { margin-top: 10px; }
  .tournament-format-grid { grid-template-columns: 1fr; }
  .format-card { min-height: 102px; }
}

.qourts-home-link{position:fixed;top:14px;right:16px;z-index:90;padding:8px 12px;border:1px solid #dbe5ec;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(7,26,51,.08);color:#17324d;text-decoration:none;font:700 12px/1.2 Inter,system-ui,sans-serif;backdrop-filter:blur(10px)}@media(max-width:700px){.qourts-home-link{top:10px;right:10px;padding:7px 10px;font-size:11px}}

@media(max-width:700px){.brand-logo{width:148px}}


/* v1.2.8 — Unified premium Qourts footer, matching landing page */
.site-footer{width:100%;margin:72px 0 0;padding:68px 0 24px;border-top:1px solid rgba(151,231,210,.12);background:#061412;color:#f3f8f7;font-size:inherit;display:block}
.site-footer .footer-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-footer .footer-grid{display:grid;grid-template-columns:1.55fr repeat(3,minmax(0,1fr));gap:58px;align-items:start}
.site-footer .footer-brand-block{display:block;max-width:350px}
.site-footer .footer-logo{display:block;width:150px;height:auto;margin:0 0 18px}
.site-footer .footer-copy,.site-footer .footer-location{color:#b6cbc6;font-size:13px;line-height:1.65;margin:0;max-width:330px}
.site-footer .footer-column{display:grid;align-content:start;gap:10px}
.site-footer .footer-column h2{font-size:12px;line-height:1.2;color:#f6fbfa;font-weight:800;text-transform:none;letter-spacing:0;margin:2px 0 8px}
.site-footer .footer-column a{color:#c8dad6;text-decoration:none;font-size:13px;transition:color .18s ease}
.site-footer .footer-column a:hover{color:#69e7cb}
.site-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;margin-top:34px;border-top:1px solid rgba(151,231,210,.14);color:#aabfba;font-size:11px}
@media(max-width:1020px){.site-footer .footer-grid{grid-template-columns:1.35fr 1fr 1fr;gap:38px}.site-footer .footer-grid>.footer-column:last-child{grid-column:2/4}}
@media(max-width:820px){.site-footer{padding:54px 0 34px}.site-footer .footer-shell{width:min(100% - 28px,1180px)}.site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:34px}.site-footer .footer-grid>.footer-brand-block{grid-column:1/-1}.site-footer .footer-grid>.footer-column:last-child{grid-column:auto}}
@media(max-width:620px){.site-footer{margin-top:54px;padding-top:46px}.site-footer .footer-shell{width:min(100% - 22px,1180px)}.site-footer .footer-grid{grid-template-columns:1fr;gap:28px}.site-footer .footer-grid>.footer-brand-block,.site-footer .footer-grid>.footer-column:last-child{grid-column:auto}.site-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:7px}.site-footer .footer-logo{width:142px}}
