/* Game Taste Creators (/creators/). Loads after style.css and uses its colours,
   so the brand green is still the single --green variable at the top of style.css. */
:root{--font:"Geomanist","Outfit",system-ui,-apple-system,"Segoe UI",sans-serif}

/* header label next to the logo */
.brandmark{display:flex;align-items:center;gap:12px}
.cr-label{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);text-decoration:none;border:1px solid rgba(63,191,79,.4);border-radius:999px;padding:4px 12px}
.cr-label:hover{background:rgba(63,191,79,.12)}

/* hero */
.cr-hero{position:relative;padding:110px 0 100px;overflow:hidden}
.cr-hero::before{content:"";position:absolute;width:720px;height:720px;right:-220px;top:-200px;background:radial-gradient(circle,rgba(63,191,79,.28),transparent 65%);pointer-events:none}
.cr-hero::after{content:"";position:absolute;width:480px;height:480px;left:-200px;bottom:-240px;background:radial-gradient(circle,rgba(217,71,90,.16),transparent 65%);pointer-events:none}
.cr-hero .wrap{position:relative}
.cr h1{max-width:14ch}
.cr .lede{color:var(--muted);font-size:1.25rem;max-width:36ch;margin:24px 0 36px}
.cr .ctas{display:flex;flex-wrap:wrap;gap:14px}
@media (max-width:860px){.cr-hero{padding:64px 0 64px}}

/* sections */
.cr section{padding:96px 0;border-top:1px solid var(--line)}
.cr h2.title{max-width:18ch;margin-bottom:18px}
.cr .intro{color:var(--muted);max-width:52ch;margin-bottom:52px;font-size:1.1rem}
@media (max-width:640px){.cr section{padding:72px 0}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;list-style:none;counter-reset:s}
.steps li{counter-increment:s;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px}
.steps li::before{content:"0" counter(s);display:block;font-weight:800;font-size:2.4rem;color:var(--green);line-height:1;margin-bottom:18px}
.steps h3{margin-bottom:10px}
.steps p{color:var(--muted);font-size:.97rem}
@media (max-width:900px){.steps{grid-template-columns:1fr}}

/* example campaign card */
.example{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.cr-card{background:var(--ink-2);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.card-art{aspect-ratio:460/215;display:flex;align-items:flex-end;padding:18px;background:
  radial-gradient(circle at 22% 70%,var(--green) 0 18%,transparent 19%),
  radial-gradient(circle at 70% 35%,var(--paper) 0 12%,transparent 13%),
  radial-gradient(circle at 88% 85%,var(--tongue) 0 10%,transparent 11%),
  linear-gradient(135deg,var(--ink-3),var(--ink-2))}
.cr-tag{background:var(--paper);color:var(--ink);font-size:.8rem;font-weight:700;border-radius:999px;padding:4px 12px}
.card-body{padding:26px 28px}
.card-body h3{font-size:1.4rem;margin-bottom:4px}
.card-body .studio{color:var(--muted);font-size:.95rem;margin-bottom:20px}
.cr-terms{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin-bottom:22px}
.cr-terms dt{color:var(--muted);font-size:.85rem}
.cr-terms dd{font-weight:700;font-variant-numeric:tabular-nums}
.budget{height:10px;background:var(--ink-3);border-radius:999px;overflow:hidden;margin-bottom:8px}
.budget div{height:100%;width:62%;background:var(--green)}
.budget-label{font-size:.85rem;color:var(--muted)}
@media (max-width:900px){.example{grid-template-columns:1fr}}

/* studios: light band, like the green CTA band on the home page */
.cr .studios{background:var(--paper);color:var(--ink)}
.cr .studios .intro,.studios .points p,.studios .price p:last-child{color:#4a4a63}
.studios .eyebrow{color:var(--green-deep)}
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.points h3{margin-bottom:8px}
.points p{font-size:.97rem}
.pricing{margin-top:72px;padding-top:48px;border-top:2px solid rgba(11,11,26,.12)}
.pricing h3{font-size:1.7rem;margin-bottom:28px}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:820px}
.price .big{font-size:clamp(3rem,6vw,4.2rem);font-weight:800;letter-spacing:-.03em;line-height:1;margin-bottom:10px;color:var(--green-deep)}
.price p:last-child{font-size:.97rem;max-width:32ch}
.pricing .example-line{margin-top:32px}
.studios .btn{margin-top:44px;background:var(--ink);color:var(--paper);box-shadow:0 6px 0 #000}
.studios .btn:hover{box-shadow:0 8px 0 #000}
@media (max-width:800px){.points{grid-template-columns:1fr}}
@media (max-width:560px){.price-grid{grid-template-columns:1fr}}

/* waitlist form */
.join-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}
.cr form{display:grid;gap:18px;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:32px}
.cr .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cr form label{display:grid;gap:8px;font-size:1rem}
.cr input[type=text],.cr input[type=email],.cr select{font:inherit;font-size:1rem;color:var(--paper);background:var(--ink);border:2px solid var(--line);border-radius:12px;padding:13px 16px;width:100%}
.cr input:focus,.cr select:focus{border-color:var(--green);outline:none}
.cr fieldset{border:0;display:flex;gap:10px;flex-wrap:wrap}
.cr legend{font-size:1rem;margin-bottom:8px}
.role input{position:absolute;opacity:0}
.role span{display:inline-block;padding:10px 20px;border-radius:999px;background:var(--ink);border:2px solid var(--line);cursor:pointer}
.role input:checked+span{border-color:var(--green);color:var(--green)}
.role input:focus-visible+span{outline:3px solid var(--green);outline-offset:3px}
.cr .consent{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--muted)}
.consent input{margin-top:5px;accent-color:var(--green)}
.cr form .btn{border:0;cursor:pointer;font:inherit;font-weight:700}
.cr form .btn-primary{background:var(--green);color:var(--ink)}
.status{font-size:1rem;min-height:1.5em}
.status.ok{color:var(--green)}.status.err{color:#ff9db5}
[data-for=studio]{display:none}
form.is-studio [data-for=studio]{display:grid}
form.is-studio [data-for=creator]{display:none}
@media (max-width:900px){.join-grid{grid-template-columns:1fr}}
@media (max-width:520px){.cr .row{grid-template-columns:1fr}.cr form{padding:22px}}

/* faq */
.faq{max-width:780px}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{cursor:pointer;font-size:1.2rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--green);font-size:1.6rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--muted);margin-top:12px;max-width:62ch}

/* legal pages (privacy, terms) */
.legal-page .updated{color:var(--muted);margin-top:14px}
.legal-page .summary{background:var(--ink-2);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:14px;padding:22px 24px;margin-bottom:28px;color:var(--paper)}
.legal-page .prose .summary strong{color:var(--green)}
.toc{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px;font-size:.92rem}
.toc a{color:var(--muted);text-decoration:none}.toc a:hover{color:var(--green)}
.legal-page .prose{padding-bottom:60px}
.legal-page .prose h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin:52px 0 14px;color:var(--paper);scroll-margin-top:100px}
.legal-page .prose h3{margin:26px 0 8px;color:var(--paper)}
.legal-page .prose ul{margin:0 0 18px 22px;color:var(--muted)}
.legal-page .prose li{margin-bottom:8px}
.legal-page .prose li::marker{color:var(--green)}
.legal-page .prose strong{color:var(--paper)}
.legal-page .fine{margin-top:48px;font-size:.88rem}
.legal a.inline{color:var(--muted)}
.legal a.inline:hover{color:var(--green)}
