/* giveaway page — extends /assets/style.css, same palette and rules */

.gv{
  max-width:720px;
  margin:0 auto;
  padding:clamp(34px,7vh,68px) var(--pad) clamp(40px,8vh,80px);
}

.gv__flag{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--blush);
  border:2px solid var(--ink);
  border-radius:999px;
  padding:5px 14px;
  font-family:var(--mono);font-size:11.5px;
  letter-spacing:.1em;text-transform:lowercase;
  margin-bottom:clamp(14px,2.4vw,20px);
}
.gv__flag--off{background:var(--stone)}

.gv__dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--coral);
  border:1.5px solid var(--ink);
  animation:gvPing 2.4s ease-out infinite;
}
@keyframes gvPing{
  0%{box-shadow:0 0 0 0 rgba(217,105,103,.7)}
  70%,100%{box-shadow:0 0 0 8px rgba(217,105,103,0)}
}

.gv__title{
  font-size:clamp(38px,7.5vw,68px);
  letter-spacing:-.035em;
  line-height:.98;
  margin-bottom:8px;
  text-wrap:balance;
}

.gv__detail{
  font-family:var(--mono);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink2);
  margin-bottom:clamp(20px,3.5vw,28px);
}

.gv__closes{
  display:inline-block;
  background:var(--peri);
  border:var(--line) solid var(--ink);
  border-radius:14px;
  padding:11px 17px;
  font-family:var(--disp,"Gabarito",sans-serif);
  font-weight:700;
  font-size:clamp(16px,2.2vw,20px);
  letter-spacing:-.01em;
  margin-bottom:clamp(24px,4vw,32px);
}

.gv__steps{
  list-style:none;
  counter-reset:gv;
  display:grid;
  gap:10px;
  margin-bottom:clamp(24px,4vw,32px);
}
.gv__steps li{
  counter-increment:gv;
  display:flex;align-items:center;gap:14px;
  background:var(--mint-2);
  border:var(--line) solid var(--ink);
  border-radius:14px;
  padding:14px 17px;
  font-size:clamp(15px,1.9vw,17px);
}
.gv__steps li::before{
  content:counter(gv);
  flex:none;
  width:30px;height:30px;
  display:grid;place-items:center;
  background:var(--blush);
  border:2px solid var(--ink);
  border-radius:50%;
  font-family:var(--mono);
  font-size:13px;font-weight:700;
}

.gv__cta{
  display:flex;align-items:center;justify-content:center;gap:11px;
  background:var(--coral);
  color:#fff;
  border:var(--line) solid var(--ink);
  border-radius:16px;
  padding:17px 22px;
  font-family:var(--disp,"Gabarito",sans-serif);
  font-weight:800;
  font-size:clamp(16px,2.2vw,19px);
  letter-spacing:-.01em;
  transition:transform .16s var(--pop),box-shadow .16s var(--pop);
}
.gv__cta svg{width:19px;height:19px;fill:currentColor;flex:none}
.gv__cta b{font-weight:800}
.gv__cta:hover{transform:translateY(-3px);box-shadow:0 6px 0 -1px var(--ink)}
.gv__cta:active{transform:translateY(0);box-shadow:none}

.gv__warn{
  margin-top:20px;
  font-family:var(--mono);
  font-size:11.5px;
  line-height:1.75;
  color:var(--ink2);
  border-left:var(--line) solid var(--coral);
  padding-left:12px;
  max-width:50ch;
}

.gv__off{
  font-size:clamp(16px,2.2vw,19px);
  color:var(--ink2);
  max-width:46ch;
  margin-bottom:clamp(22px,3.5vw,28px);
}

.gv__row{display:flex;flex-wrap:wrap;gap:10px}
.gv__chip{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--mint-2);
  border:var(--line) solid var(--ink);
  border-radius:999px;
  padding:11px 18px;
  font-family:var(--mono);
  font-size:13px;font-weight:700;
  transition:background .16s var(--pop),transform .16s var(--pop),box-shadow .16s var(--pop);
}
.gv__chip svg{width:17px;height:17px;fill:var(--ink);flex:none}
.gv__chip:hover{background:var(--blush);transform:translateY(-2px);box-shadow:0 5px 0 -1px var(--ink)}

@media (prefers-reduced-motion:reduce){
  .gv__dot{animation:none}
  .gv__cta:hover,.gv__chip:hover{transform:none}
}

/* steps that link out */
.gv__steps li.is-link{padding:0;transition:background .16s var(--pop),transform .16s var(--pop),box-shadow .16s var(--pop)}
.gv__steps li.is-link:hover{background:var(--blush);transform:translateY(-2px);box-shadow:0 5px 0 -1px var(--ink)}
.gv__steps li.is-link::before{margin:14px 0 14px 17px}
.gv__step-link{
  display:flex;align-items:center;gap:10px;flex:1;
  padding:14px 17px 14px 0;
  text-decoration:none;
}
.gv__step-go{margin-left:auto;font-size:15px;font-weight:700;opacity:.35;transition:opacity .16s var(--pop),transform .16s var(--pop)}
.gv__steps li.is-link:hover .gv__step-go{opacity:1;transform:translate(2px,-2px)}
.gv__steps li.is-link:focus-within{outline:3px solid var(--ink);outline-offset:3px}
.gv__step-link:focus-visible{outline:none}

@media (prefers-reduced-motion:reduce){
  .gv__steps li.is-link:hover{transform:none}
}

/* ─── Twitch follower goal ─────────────────────────────────────── */

/* sits inside main.gv, so no max-width or side padding of its own */
.goal{
  margin-top:clamp(34px,6vh,56px);
  padding-top:clamp(26px,4vh,36px);
  border-top:var(--line) solid var(--ink);
}

.goal__top{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;
  margin-bottom:14px;
}
.goal__k{
  font-family:var(--mono);
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;
}
.goal__state{
  font-family:var(--mono);
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink2);
  border:2px solid var(--ink);
  border-radius:999px;
  padding:2px 10px;
  background:var(--mint-2);
}
.goal__state.is-live{background:#7fd6a0}
.goal__state.is-done{background:var(--coral);color:#fff}

.goal__nums{
  font-family:var(--disp,"Gabarito",sans-serif);
  font-weight:900;
  font-size:clamp(38px,8vw,62px);
  line-height:1;
  letter-spacing:-.035em;
  margin-bottom:14px;
  display:flex;align-items:baseline;gap:2px;
}
.goal__nums b{font-weight:900}
.goal__slash{opacity:.3;margin:0 .12em}
#goalTarget{opacity:.35}

.goal__track{
  position:relative;
  height:22px;
  background:#fff;
  border:var(--line) solid var(--ink);
  border-radius:999px;
  overflow:hidden;
  margin-bottom:14px;
}
.goal__fill{
  display:block;
  height:100%;
  width:0;
  background:var(--peri);
  border-right:var(--line) solid var(--ink);
  border-radius:0 999px 999px 0;
  transition:width 1.1s var(--pop);
}
.goal__fill.is-full{background:var(--coral);border-right:0}
.goal__fill.is-zero{border-right:0}

.goal__why{
  font-size:clamp(15px,2vw,17px);
  color:var(--ink2);
  max-width:46ch;
  margin-bottom:18px;
}
.goal__why b{color:var(--ink);font-weight:600}

.goal__cta{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--peri);
  border:var(--line) solid var(--ink);
  border-radius:999px;
  padding:11px 19px;
  font-family:var(--mono);
  font-size:13px;font-weight:700;
  transition:background .16s var(--pop),transform .16s var(--pop),box-shadow .16s var(--pop);
}
.goal__cta svg{width:17px;height:17px;fill:var(--ink);flex:none}
.goal__cta:hover{background:var(--blush);transform:translateY(-2px);box-shadow:0 5px 0 -1px var(--ink)}

@media (prefers-reduced-motion:reduce){
  .goal__fill{transition:none}
  .goal__cta:hover{transform:none}
}
