/* FFTT public landing page — inherits the approved Bracket Manager charcoal/pastel visual language.
   Source: app/app.css and docs/DESIGN_SYSTEM.md. Standalone; no tournament state or script. */
:root{
  color-scheme:light;
  --canvas:#f2f3f5;--sidebar:#fbfcfd;--surface:#fff;--surface-soft:#f9fafb;
  --ink:#29313c;--muted:#63707a;--line:#e4e7ec;--line-strong:#cfd6dd;
  --accent:#29313c;--accent-dark:#475461;--focus:#538da1;
  --ice:#d1eff5;--lavender:#e9d7f3;--lime:#bbd98f;--butter:#f7e99b;
  --positive:#216b54;--positive-soft:#e3f2e0;--teal-soft:#e6f3f7;
  --shadow:0 7px 22px rgba(41,49,60,.055),0 2px 4px rgba(41,49,60,.035);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;background:var(--canvas)}
body{margin:0;background:var(--canvas);color:var(--ink);line-height:1.5;font-size:16px;-webkit-text-size-adjust:100%}
a{color:inherit}
a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.025em;line-height:1.22}
.skip-link{position:absolute;top:-80px;left:12px;z-index:99;border-radius:999px;padding:10px 16px;color:#fff;background:var(--ink);font-weight:700;text-decoration:none}
.skip-link:focus{top:12px}
/* Static public-site header; administrative sidebar stays in the Bracket Manager only. */
.site{min-height:100vh;display:flex;flex-direction:column}
.site-header{position:static;background:var(--sidebar);border-bottom:1px solid var(--line)}
.header-inner{max-width:1280px;width:100%;margin:auto;padding:14px clamp(20px,3vw,38px);min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap}
.brand{display:inline-flex;gap:11px;align-items:center;text-decoration:none;min-width:0}
.brand-logo{flex:none;width:52px;height:52px;object-fit:contain;border-radius:50%}
.brand-label{min-width:0;display:flex;flex-direction:column;line-height:1.13}
.brand-kicker{font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:750;margin-bottom:4px}
.brand strong{font-size:20px;font-weight:800;letter-spacing:-.035em}
.site-nav{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap}
.nav-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;text-decoration:none;color:#53606b;font-size:13px;font-weight:650;white-space:nowrap}
.nav-link:not(.staff-link){transition:color .15s ease}
.nav-link:hover:not(.staff-link),.nav-link:focus-visible:not(.staff-link){color:#206a7a;text-decoration:none}
/* Staff sign-in is the cyan pill itself; hover/focus changes its fill, never adds an underline. */
.staff-link{justify-content:center;min-height:32px;padding:5px 12px;border:1px solid #d5e8ec;border-radius:999px;background:var(--teal-soft);color:#2f6674;font-size:11px;font-weight:750;line-height:1.2;letter-spacing:.065em;white-space:nowrap;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.staff-link:hover,.staff-link:focus-visible{background:#c9e9ef;border-color:#a1d2dc;color:#205764;text-decoration:none}
.header-register{min-height:42px;white-space:nowrap;flex:0 0 auto}
.workspace{display:flex;flex-direction:column;min-width:0;min-height:calc(100vh - 81px);flex:1}
.pill{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 11px;border-radius:999px;background:#eef0f3;border:1px solid #e0e4e9;color:var(--ink);font-size:12px;font-weight:650;line-height:1.3}
.pill-good{background:var(--positive-soft);color:var(--positive);border-color:#cde5c9}
.pill-blue{background:var(--teal-soft);color:#2f6674;border-color:#d5e8ec}
.pill-neutral{background:#f0f3f5}
.content{width:100%;max-width:1170px;margin:0 auto;padding:clamp(27px,3.8vw,48px) clamp(20px,3vw,38px) 64px;flex:1}
.hero{padding:6px 0 30px;max-width:none}
.hero-media{display:block;margin:28px 0 4px;width:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}
.hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.section-label,.card-eyebrow{font-size:11px;letter-spacing:.11em;color:var(--muted);font-weight:800;margin:0 0 12px}
h1{font-size:clamp(28px,3.25vw,45px);font-weight:800;letter-spacing:-.046em;margin:0 0 15px;text-wrap:balance}
.intro{max-width:71ch;color:#596875;font-size:clamp(15px,1.45vw,17px);line-height:1.65;margin:0}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 20px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);text-decoration:none;font-size:13px;font-weight:750;line-height:1.35;transition:background .12s ease,border-color .12s ease}
.button-primary{background:var(--ink);border-color:var(--ink);color:#fff}
.button-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.button-secondary:hover{border-color:#9daab6;background:#f8fafb}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0 16px}
h2{font-size:20px;letter-spacing:-.035em;margin:0;font-weight:800}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:136px;border:1px solid rgba(41,49,60,.06);border-radius:6px;padding:17px 19px}
.stat-ice{background:var(--ice)}
.stat-lavender{background:var(--lavender)}
.stat-lime{background:var(--lime)}
.stat-butter{background:var(--butter)}
.stat-label{color:#45515a;font-size:10px;font-weight:800;letter-spacing:.12em}
.stat strong{font-size:clamp(20px,2.3vw,27px);line-height:1.15;font-weight:800;letter-spacing:-.04em}
.stat-detail{font-size:12px;color:#3d4a55;line-height:1.4}
.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:22px}
.venue-card{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.venue-card h3{font-size:19px;margin:0 0 6px;font-weight:800}
.venue-card .muted{font-size:13px;margin:0;color:var(--muted)}
.venue-card .card-eyebrow{margin-bottom:7px}
.join-section{padding-top:38px}
.join-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.join-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:21px}
.join-card .step{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;font-size:12px;font-weight:800;margin-bottom:15px;color:var(--ink)}
.step-ice{background:var(--ice)}.step-lavender{background:var(--lavender)}.step-lime{background:var(--lime)}
.join-card h3{font-size:17px;margin:0 0 8px;font-weight:800}
.join-card p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}
.cta-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:22px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.cta-card h3{font-size:18px;margin:0 0 5px}
.cta-card p{font-size:13px;color:var(--muted);margin:0}
.footer{padding:20px 25px 30px;text-align:center;font-size:12px;color:var(--muted)}
.footer p{margin:0}
.developer-credit{margin-top:6px!important}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Tablet/zoomed browser: place the brand above one compact, left-aligned nav row. */
@media(max-width:980px){
  .header-inner{flex-direction:column;align-items:stretch;gap:10px}
  .site-nav{width:100%;justify-content:flex-start;gap:8px 18px}
}
@media(max-width:840px){
  .header-inner{gap:10px}
  .brand-logo{width:44px;height:44px}
  .brand strong{font-size:17px}
  .brand-kicker{font-size:9px}
  .site-nav{gap:8px 15px}
}
@media(max-width:600px){
  .stats-grid,.join-grid{grid-template-columns:1fr}
  .stat{min-height:105px;padding:15px 18px}
  .hero{padding-bottom:23px}
  .hero-media{margin-top:22px;border-radius:7px}
  .actions{display:grid}
  .actions .button{width:100%}
  .venue-card,.cta-card{align-items:flex-start}
  .cta-card .button{width:100%}
  .content{padding-bottom:35px}
  .header-inner{padding:13px 20px;gap:10px}
  /* Allow natural wrapping: no oversized two-column grid or full-width header CTA. */
  .site-nav{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;width:100%;gap:8px 14px}
  .nav-link{min-width:0;min-height:40px;white-space:nowrap;font-size:12px}
  .staff-link{min-height:32px;padding:5px 11px;font-size:10.5px}
  .header-register{width:auto;min-height:40px;padding:9px 14px;font-size:12px;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .nav-link,.button,.staff-link{transition:none}
}
