/* The Founders Cup: the homepage's kingdom system (homepage.css tokens), one campaign page. */
.cup ::selection{background:#cfe2db;color:var(--ink)}
.cup{caret-color:var(--teal);scrollbar-color:#a99c7c var(--paper)}
.cup h1 em{color:var(--teal)}

/* Hero: copy beside the player's-eye film, as on the homepage */
.cup-hero{width:min(var(--measure),calc(100% - 96px));margin:0 auto;padding-top:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:56px;align-items:center}
.cup-hero h1{font-size:clamp(56px,5.6vw,88px);margin-bottom:24px}
.cup-lede{font-size:19px;line-height:1.6;max-width:30ch;margin:0 0 36px}
.cup-next{border-top:1px solid var(--gold);padding-top:16px;margin-bottom:36px}
.cup-next-label{font-size:15px;font-weight:600;margin:0}
.cup-count{font-family:'Newsreader',Georgia,serif;font-size:44px;line-height:1.1;letter-spacing:-.02em;color:var(--teal);font-variant-numeric:tabular-nums;margin:6px 0 0;min-height:1.1em}
.cup-invited{margin:-12px 0 28px;padding-left:14px;border-left:2px solid var(--gold);font-size:16px;font-weight:600;line-height:1.5;max-width:44ch;overflow-wrap:anywhere}
.cup-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}
.cup-film{margin:0}
.cup-film .loop-frame video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.cup-film figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:12px;max-width:52ch}

/* Sections */
.cup-section{padding-top:var(--space-section)}
.cup-section h2{margin-bottom:40px}

/* How to enter: a real sequence, so the steps are numbered */
.cup-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;counter-reset:step}
.cup-steps li{counter-increment:step;border-top:1px solid var(--line);padding-top:20px}
.cup-steps li::before{content:counter(step);display:block;font-family:'Newsreader',Georgia,serif;font-size:48px;line-height:1;color:var(--teal);margin-bottom:14px}
.cup-steps h3{font-size:26px;margin:0 0 10px}
.cup-steps p{margin:0;color:var(--muted);font-size:16px}

/* Schedule: divided rows with a date column, like the release notes */
.cup-schedule{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.cup-schedule li{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;padding:26px 0;border-top:1px solid var(--line)}
.cup-when{margin:0;display:flex;flex-direction:column;font-size:15px;font-weight:600;line-height:1.5}
.cup-when span{font-weight:400;color:var(--muted)}
.cup-schedule h3{font-size:30px;margin:0 0 6px}
.cup-schedule p{margin:0;color:var(--muted);max-width:62ch}

/* Prizes */
.cup-prizes{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
.cup-prizes div{border-top:1px solid var(--line);padding-top:18px}
.cup-prizes dt{font-family:'Newsreader',Georgia,serif;font-size:clamp(48px,4.6vw,64px);line-height:1;letter-spacing:-.02em;color:var(--teal)}
.cup-prizes dd{margin:10px 0 0;color:var(--muted);font-size:16px}
.cup-note{margin:36px 0 0;max-width:62ch}
.cup-referral{margin-top:40px;padding-top:20px;border-top:1px solid var(--gold);font-size:19px;line-height:1.6;color:var(--ink)}
.cup-referral+.cup-note{margin-top:20px}

/* Clip track: text beside a real vertical clip */
.cup-clip{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px;align-items:start}
.cup-clip-copy p{max-width:58ch}
.cup-clip-film{margin:0}
.cup-clip-film video{display:block;width:100%;aspect-ratio:9/16;background:var(--ink);border-top:2px solid var(--gold)}
.cup-clip-film figcaption{font-size:13px;color:var(--muted);margin-top:10px}

/* Official rules: native disclosure */
.cup-rules{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cup-rules summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;font-size:17px;font-weight:600;color:var(--ink)}
.cup-rules summary::-webkit-details-marker{display:none}
.cup-rules summary::after{content:'';width:10px;height:10px;border-right:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:translateY(-3px) rotate(45deg);transition:transform .2s ease}
.cup-rules[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.cup-rules summary:hover{color:var(--teal)}
.cup-rules-body{padding:4px 0 32px;max-width:72ch}
.cup-rules-body h3{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;letter-spacing:0;margin:24px 0 4px}
.cup-rules-body p{margin:0;font-size:15px;line-height:1.7;color:var(--muted)}

/* Closing: the Forest Court behind a cream wash, as the homepage closes */
.cup-close{margin-top:var(--space-section);padding:112px 0;text-align:center;background:linear-gradient(rgba(250,246,232,.84),rgba(250,246,232,.84)),url(/cup/media/forest-court.jpg) center/cover;border-top:1px solid var(--gold)}
.cup-close h2{font-size:clamp(44px,5vw,68px);margin-bottom:16px}
.cup-close p{margin:0 auto 32px;max-width:46ch}
.cup-close .cup-actions{justify-content:center}
.cup .button-large{min-height:56px;padding:15px 30px;font-size:16px}
.cup-footer{display:flex;gap:24px;padding:28px 0 40px;font-size:14px;color:var(--muted)}
.cup-footer a{text-decoration:none}
.cup-footer a:hover{color:var(--teal);text-decoration:underline}

@media (max-width:1100px){
  .cup-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px}
  .cup-prizes{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
}
@media (max-width:860px){
  .cup-hero{grid-template-columns:1fr;gap:40px}
  .cup-lede{max-width:40ch}
  .cup-steps{grid-template-columns:1fr;gap:28px}
  .cup-clip{grid-template-columns:1fr;gap:32px}
  .cup-clip-film{max-width:300px}
}
@media (max-width:700px){
  .cup-hero{width:calc(100% - 40px);padding-top:8px}
  .cup-hero h1{font-size:52px}
  .cup-count{font-size:36px}
  .cup-film{margin-inline:-20px}
  .cup-film figcaption{padding-inline:20px}
  .cup-schedule li{grid-template-columns:1fr;gap:6px;padding:22px 0}
  .cup-schedule h3{font-size:26px}
  .cup-section h2{margin-bottom:28px}
  .cup-close{padding:80px 0}
}
@media (prefers-reduced-motion:reduce){.cup-rules summary::after{transition:none}}
