
:root{
  --bg:#f4efe6;
  --paper:#fffdf8;
  --paper-2:#f7f1e7;
  --ink:#101010;
  --muted:#5f5b56;
  --green:#2ea24e;
  --purple:#8e46a5;
  --orange:#ef8a2d;
  --blue:#3b63b8;
  --gold:#efc35f;
  --line:rgba(16,16,16,.09);
  --line-strong:rgba(16,16,16,.15);
  --shadow:0 22px 60px rgba(0,0,0,.06);
  --radius-xl:34px;
  --radius-lg:26px;
  --radius-md:18px;
  --max:1320px;
  --headline: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  --body: Inter, system-ui, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(59,99,184,.04), transparent 18%),
    linear-gradient(180deg,#faf6ef 0%, #f3ede3 100%);
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(var(--max), calc(100% - 40px));margin:0 auto}
.site-header{
  position:sticky;
  top:0;
  z-index:90;
  backdrop-filter:blur(16px);
  background:rgba(244,239,230,.82);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.brand img{
  width:58px;height:58px;object-fit:contain;
}
.brand small{
  display:block;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7b746d;
}
.brand strong{
  display:block;
  font-family:var(--headline);
  font-weight:400;
  font-size:28px;
  line-height:.92;
  letter-spacing:.03em;
}
.menu{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.menu a{
  padding:10px 13px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.menu a.is-current{
  background:#111;
  color:#fff;
  border-color:#111;
}
.menu-toggle{
  display:none;
  width:48px;height:48px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
}
.menu-toggle span{display:block;width:18px;height:2px;background:#111}
.mobile-menu{
  display:none;
  background:rgba(244,239,230,.96);
  border-top:1px solid var(--line);
}
.mobile-menu a{
  display:block;
  padding:14px 20px;
  border-bottom:1px solid var(--line);
  font-weight:700;
}
.mobile-menu.is-open{display:block}

.hero{
  padding:30px 0 24px;
}
.hero-shell{
  position:relative;
  overflow:hidden;
  border-radius:42px;
  border:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.58)),
    linear-gradient(135deg, #f7f0ff 0%, #fff8ea 58%, #fffdf8 100%);
  box-shadow:var(--shadow);
}
.hero-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, transparent 0 48%, rgba(16,16,16,.04) 48% 49%, transparent 49% 100%),
    linear-gradient(90deg, transparent 0 68%, rgba(142,70,165,.08) 68% 100%);
  pointer-events:none;
}
.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:24px;
  padding:38px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.hero-copy h1,
.page-hero h1,
.section-head h2,
.card-title,
.price-row h2,
.prize-col h3,
.partner-card h3,
.feature-card h3,
.format-card h3,
.info-card h3,
.visibility-card h3{
  margin:0;
  font-family:var(--headline);
  font-weight:400;
  text-transform:uppercase;
  line-height:.9;
  letter-spacing:.02em;
}
.hero-copy h1{
  margin:18px 0 16px;
  font-size:clamp(74px, 9vw, 150px);
}
.hero-copy h1 span{
  display:block;
  color:var(--purple);
}
.hero-copy p,
.page-hero p,
.section-head p,
.feature-card p,
.info-card p,
.partner-card p,
.visibility-card p,
.included span,
.prize-item span,
.text-block p{
  margin:0;
  color:var(--muted);
  line-height:1.72;
}
.hero-copy p{max-width:710px;font-size:18px}
.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:24px 0;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.btn-primary{background:#111;color:#fff}
.btn-secondary{background:#fff;border:1px solid var(--line-strong)}
.stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  max-width:760px;
}
.stat,
.info-card,
.feature-card,
.format-card,
.card-large,
.included,
.mockup,
.prize-col,
.prize-item,
.partner-card,
.visibility-card,
.match,
.text-block{
  background:rgba(255,255,255,.9);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.stat{
  border-radius:22px;
  padding:18px;
}
.stat strong{
  display:block;
  font-size:32px;
  line-height:1;
  margin-bottom:8px;
}
.stat span{
  display:block;
  font-size:14px;
  color:var(--muted);
  line-height:1.45;
}
.hero-side{
  display:grid;
  gap:18px;
}
.info-card{
  border-radius:28px;
  padding:22px;
}
.info-card small,
.format-card small,
.partner-card small{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#79736d;
}
.info-card h3{font-size:40px;margin:0 0 8px}

.section{
  padding:26px 0;
}
.section-alt{
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0));
}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.section-head h2{font-size:64px}
.section-head p{max-width:660px}

.page-hero{
  padding:26px 0 18px;
}
.page-hero .hero-grid{
  grid-template-columns:1fr;
  padding:34px;
}
.page-hero h1{
  font-size:clamp(58px, 8vw, 118px);
}
.page-hero p{
  max-width:860px;
  margin-top:14px;
  font-size:18px;
}

.concept-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.feature-card{
  border-radius:26px;
  padding:22px;
}
.feature-card h3{font-size:34px;margin:0 0 8px}

.format-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:18px;
  align-items:center;
}
.format-card{
  border-radius:28px;
  padding:24px;
}
.format-card h3{font-size:40px;margin:0 0 12px}
.format-card ul,
.partner-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:8px;
}
.format-card li,
.mini-box,
.partner-list li,
.team{
  padding:10px 12px;
  border-radius:12px;
  background:var(--paper-soft);
  font-size:14px;
}
.split-marker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.phase-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}
.phase-box{
  border-radius:28px;
  padding:22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.phase-box.gold{box-shadow:inset 0 0 0 2px rgba(240,194,95,.28), var(--shadow)}
.phase-box.silver{box-shadow:inset 0 0 0 2px rgba(59,99,184,.15), var(--shadow)}
.phase-box small{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#79736d;
}
.phase-box h3{
  margin:0 0 12px;
  font-family:var(--headline);
  font-size:46px;
  font-weight:400;
  text-transform:uppercase;
  line-height:.9;
}
.mini-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.mini-box strong{
  display:block;
  margin-bottom:6px;
  font-size:22px;
  font-family:var(--headline);
  font-weight:400;
  text-transform:uppercase;
}
.mini-box span{
  color:var(--muted);
  font-size:14px;
}
.text-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}
.text-block{
  border-radius:28px;
  padding:22px;
}
.text-block h3{
  margin:0 0 8px;
  font-family:var(--headline);
  font-size:42px;
  font-weight:400;
  text-transform:uppercase;
  line-height:.92;
}
.tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.tab{
  padding:12px 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.tab.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
}
.tab-panel{display:none;margin-top:16px}
.tab-panel.is-active{display:block}
.bracket{
  display:grid;
  grid-template-columns:1.3fr .9fr .9fr;
  gap:18px;
  align-items:start;
}
.round{
  display:grid;
  gap:14px;
}
.round h4{
  margin:0 0 12px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#706b65;
}
.round.semis{padding-top:54px}
.round.final{padding-top:132px}
.match{
  border-radius:22px;
  padding:14px;
}
.match strong{
  display:block;
  margin-bottom:10px;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.team + .team{margin-top:8px}
.draw-box{
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(142,70,165,.12);
  background:linear-gradient(180deg, rgba(142,70,165,.06), rgba(59,99,184,.04));
  color:var(--muted);
  font-size:13px;
}
.final-match{
  box-shadow:inset 0 0 0 2px rgba(46,162,78,.16), var(--shadow);
}

.two-col{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:20px;
}
.card-large{
  border-radius:32px;
  padding:28px;
}
.price-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
}
.price-row h2{font-size:60px}
.price-row span{
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.included-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:20px;
}
.included{
  border-radius:22px;
  padding:18px;
}
.included strong,
.prize-item strong{
  display:block;
  margin-bottom:8px;
  font-size:19px;
}
.shirt-row{
  display:flex;
  gap:10px;
  margin-top:10px;
}
.shirt{
  width:74px;height:78px;position:relative;
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 10px 18px rgba(0,0,0,.09);
  clip-path:polygon(21% 0,36% 12%,64% 12%,79% 0,100% 20%,87% 34%,82% 100%,18% 100%,13% 34%,0 20%);
}
.shirt-a{
  background:linear-gradient(135deg, rgba(255,255,255,.24), transparent 34%), linear-gradient(90deg, var(--green) 0 34%, #fff 34% 60%, var(--purple) 60% 100%);
}
.shirt-b{
  background:linear-gradient(160deg, rgba(255,255,255,.22), transparent 34%), linear-gradient(135deg, var(--blue) 0 46%, #fff 46% 68%, var(--green) 68% 100%);
}
.shirt::after{
  content:"";
  position:absolute;
  left:50%;
  top:9px;
  transform:translateX(-50%);
  width:26px;
  height:26px;
  background:url('24dde44e-f895-4fc1-8870-c270201fd8a5.png') center/cover no-repeat;
  border-radius:8px;
}
.sub-title{
  margin:14px 0 18px;
  font-size:48px;
}
.mockups{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.mockup{
  border-radius:22px;
  padding:14px;
}
.placeholder{
  aspect-ratio:4/5;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  border:2px dashed rgba(16,16,16,.14);
  background:var(--paper-soft);
  color:#7a746d;
  font-weight:800;
}
.mockup strong{
  display:block;
  margin-top:12px;
  font-size:16px;
}

.prize-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.prize-col{
  border-radius:28px;
  padding:22px;
}
.prize-col h3{
  font-size:36px;
  margin:0 0 14px;
}
.prize-col.special{
  box-shadow:inset 0 0 0 2px rgba(142,70,165,.14), var(--shadow);
}
.prize-item{
  border-radius:22px;
  padding:18px;
  background:#fff;
  border:1px solid var(--line);
}
.prize-item + .prize-item{margin-top:12px}
.prize-item.focus{
  box-shadow:inset 0 0 0 2px rgba(59,99,184,.14);
}

.visibility-layout{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:18px;
}
.visibility-nav{
  display:grid;
  gap:12px;
}
.vis-btn{
  padding:18px;
  border-radius:20px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  text-align:left;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.vis-btn.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
}
.vis-panel{
  display:none;
}
.vis-panel.is-active{
  display:block;
}
.visibility-card{
  border-radius:30px;
  padding:28px;
}
.visibility-card h3{font-size:48px}

.partner-highlight{
  border-radius:32px;
  padding:26px;
  margin-bottom:18px;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,255,255,.84));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.partner-highlight h3{
  margin:14px 0 10px;
  font-family:var(--headline);
  font-size:56px;
  font-weight:400;
  text-transform:uppercase;
  line-height:.9;
}
.partner-layout{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.partner-card{
  border-radius:28px;
  padding:22px;
}
.partner-card h3{
  font-size:34px;
  margin:0 0 10px;
}
.footer{
  padding:30px 0 50px;
  color:var(--muted);
}
.footer-line{
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  border-top:1px solid var(--line);
  padding-top:18px;
}

@media (max-width:1100px){
  .hero-grid,
  .two-col,
  .visibility-layout,
  .partner-layout{
    grid-template-columns:1fr;
  }
  .concept-grid,
  .phase-two,
  .included-grid,
  .mockups,
  .prize-grid,
  .text-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .bracket{
    grid-template-columns:1fr;
  }
  .round.semis,
  .round.final{
    padding-top:0;
  }
}
@media (max-width:820px){
  .menu{display:none}
  .menu-toggle{display:flex}
  .hero-grid,
  .stats,
  .concept-grid,
  .phase-two,
  .two-col,
  .included-grid,
  .mockups,
  .prize-grid,
  .text-grid{
    grid-template-columns:1fr;
  }
  .format-flow{
    grid-template-columns:1fr;
  }
  .section-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .section-head h2{font-size:48px}
  .hero-copy h1{font-size:72px}
}


/* V7 home full-screen hero */
.home-hero{
  min-height:calc(100vh - 87px);
  display:flex;
  align-items:center;
}
.home-hero .hero-shell{
  min-height:calc(100vh - 140px);
}
.home-hero .hero-shell::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 16%, rgba(46,162,78,.16), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(142,70,165,.16), transparent 22%),
    radial-gradient(circle at 70% 72%, rgba(59,99,184,.14), transparent 24%),
    radial-gradient(circle at 40% 86%, rgba(239,138,45,.16), transparent 24%);
  pointer-events:none;
}
.home-hero .hero-grid{
  min-height:calc(100vh - 140px);
  align-items:center;
}
.home-hero .hero-copy h1{
  font-size:clamp(96px, 12vw, 184px);
  max-width:980px;
}
.home-hero .hero-copy p{
  font-size:20px;
  max-width:760px;
}
.home-hero .hero-side{
  align-self:center;
}
.highlight-line{
  margin-top:18px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.highlight-pill{
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid var(--line);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.home-hero .info-card{
  backdrop-filter:blur(8px);
  background:rgba(255,255,255,.84);
}
.home-hero .info-card.primary{
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.86));
  box-shadow:inset 0 0 0 2px rgba(142,70,165,.10), var(--shadow);
}
.section-slab{
  padding:10px 0 26px;
}

/* Better bracket visuals restored */
.tab-panel .bracket{
  margin-top:8px;
}
.match{
  position:relative;
  overflow:hidden;
}
.match::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:linear-gradient(180deg,var(--green), var(--purple), var(--blue));
  opacity:.9;
}
.match.final-match::before{
  background:linear-gradient(180deg,var(--gold), var(--orange));
}
.round h4{
  display:inline-flex;
  width:max-content;
  padding:8px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
}
.draw-box{
  background:linear-gradient(180deg, rgba(142,70,165,.08), rgba(59,99,184,.06));
  border:1px solid rgba(142,70,165,.16);
}
.tab-panel.is-active{
  animation:fadeUp .28s ease;
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.bracket-wrap{
  padding:18px;
  border-radius:30px;
  background:rgba(255,255,255,.58);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
@media (max-width:820px){
  .home-hero{
    min-height:auto;
  }
  .home-hero .hero-shell,
  .home-hero .hero-grid{
    min-height:auto;
  }
  .home-hero .hero-copy h1{
    font-size:86px;
  }
  .home-hero .hero-copy p{
    font-size:18px;
  }
}


/* --- Mobile optimization v8 --- */
@media (max-width: 820px){
  body{overflow-x:hidden}
  .container{width:min(var(--max), calc(100% - 24px))}
  .hero{padding:16px 0 18px}
  .hero-shell{border-radius:28px}
  .hero-grid,.page-hero .hero-grid{padding:22px 16px 18px;gap:16px}
  .eyebrow{padding:8px 11px;font-size:10px;letter-spacing:.1em}
  .hero-copy h1{font-size:54px !important;line-height:.9;margin:12px 0 12px}
  .page-hero h1{font-size:50px !important;line-height:.92}
  .hero-copy p,.page-hero p{font-size:16px !important;line-height:1.6}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:18px 0}
  .btn{width:100%;min-height:48px}
  .stats{grid-template-columns:1fr;gap:10px;max-width:none}
  .stat{padding:14px;border-radius:18px}
  .stat strong{font-size:26px}
  .info-card,.feature-card,.format-card,.phase-box,.text-block,.card-large,.prize-col,.partner-card,.visibility-card,.match{border-radius:18px}
  .info-card h3,.feature-card h3,.format-card h3,.text-block h3,.partner-card h3,.visibility-card h3{font-size:28px}
  .section{padding:18px 0}
  .section-head{gap:10px;margin-bottom:14px}
  .section-head h2{font-size:38px !important;line-height:.95}
  .section-head p{font-size:15px;line-height:1.55}
  .format-flow{gap:12px}
  .split-marker{width:max-content}
  .phase-two,.text-grid,.included-grid,.mockups,.prize-grid,.partner-layout,.visibility-layout{gap:12px}
  .mini-grid{grid-template-columns:1fr;gap:10px}
  .price-row{flex-direction:column;gap:8px}
  .price-row h2{font-size:46px}
  .sub-title{font-size:34px;margin:12px 0 14px}
  .mockup{padding:12px}
  .tab-panel{margin-top:12px}
  .bracket-wrap{
    padding:12px;border-radius:20px;overflow-x:auto;-webkit-overflow-scrolling:touch
  }
  .bracket{
    display:flex !important;gap:12px;align-items:flex-start;min-width:980px
  }
  .round{min-width:300px;flex:0 0 300px}
  .round h4{position:sticky;top:0;z-index:1}
  .round.semis,.round.final{padding-top:0 !important}
  .match{padding:12px}
  .match strong{font-size:13px}
  .team{font-size:13px;padding:9px 10px}
  .draw-box{font-size:12px;line-height:1.45}
  .tabs{gap:8px}
  .tab{flex:1 1 0;min-width:0;text-align:center;padding:11px 12px;font-size:11px}
  .prize-col h3{font-size:30px}
  .partner-highlight h3{font-size:40px}
  .footer{padding:20px 0 36px}
  .footer-line{gap:8px;font-size:14px}
}
@media (max-width: 420px){
  .hero-copy h1{font-size:46px !important}
  .page-hero h1{font-size:42px !important}
  .section-head h2{font-size:34px !important}
  .price-row h2{font-size:40px}
  .info-card h3,.feature-card h3,.format-card h3,.text-block h3,.partner-card h3,.visibility-card h3,.prize-col h3{font-size:26px}
  .partner-highlight h3{font-size:34px}
  .bracket{min-width:920px}
  .round{min-width:280px;flex-basis:280px}
}
