:root {
  --giveaway-navy: #101c34;
  --giveaway-blue: #17324d;
  --giveaway-teal: #0d6267;
  --giveaway-mint: #72c0b2;
  --giveaway-gold: #e3ad4d;
  --giveaway-paper: #fffaf0;
  --giveaway-line: rgba(16, 28, 52, 0.15);
}

.giveaway-hero {
  position: relative;
  overflow: hidden;
  padding: 112px 0 82px;
  color: #fff;
  background:
    radial-gradient(circle at 84% 14%, rgba(114, 192, 178, 0.3), transparent 28%),
    linear-gradient(145deg, var(--giveaway-navy), var(--giveaway-blue) 62%, var(--giveaway-teal));
}

.giveaway-hero::after {
  position: absolute;
  width: 620px;
  height: 620px;
  right: -250px;
  top: -280px;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(255, 255, 255, 0.025), 0 0 0 160px rgba(255, 255, 255, 0.018);
}

.giveaway-hero .container { position: relative; z-index: 1; }
.giveaway-hero .eyebrow { color: #f4dcae; }
.giveaway-hero h1 {
  max-width: 1040px;
  margin: 0.16em 0 0;
  color: #fff;
  font-size: clamp(3.7rem, 7.3vw, 7.5rem);
  line-height: 0.92;
  letter-spacing: -0.045em;
}

.giveaway-hero .lede { max-width: 850px; color: #d5e0e2; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.giveaway-proof { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 38px; }
.giveaway-proof > div { min-height: 128px; padding: 20px; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 17px; background: rgba(255, 255, 255, 0.055); }
.giveaway-proof strong { display: block; color: #fff; font-family: Iowan Old Style, Palatino Linotype, Book Antiqua, Georgia, serif; font-size: 2.2rem; }
.giveaway-proof span { display: block; margin-top: 8px; color: #b8c8ce; font-size: 0.82rem; line-height: 1.4; }

.giveaway-section { padding: 88px 0; background: linear-gradient(160deg, #f7f0e2, #fffaf0 60%, #edf4f1); }
.giveaway-section.white { background: #fffdf8; }
.giveaway-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(350px, 0.9fr); gap: 54px; align-items: end; }
.giveaway-intro h2 { margin: 0.16em 0 0; color: var(--giveaway-navy); font-size: clamp(2.8rem, 5vw, 5.2rem); line-height: 0.98; }
.giveaway-intro p { color: #5d6b67; line-height: 1.65; }

.points-howto { margin-top: 28px; padding: 26px 28px; border: 1px solid #d9cba9; border-radius: 24px; background: #fffaf0; }
.points-howto h3 { margin: 0.2em 0 18px; color: var(--giveaway-navy); font-size: clamp(1.55rem, 2.6vw, 2.25rem); }
.points-howto ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: points-step; }
.points-howto li { position: relative; min-height: 150px; padding: 48px 18px 18px; border: 1px solid #e1d8c2; border-radius: 18px; background: #fff; counter-increment: points-step; }
.points-howto li::before { position: absolute; top: 15px; left: 18px; content: counter(points-step); display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #fff; background: var(--giveaway-teal); font-size: 0.78rem; font-weight: 900; }
.points-howto li strong, .points-howto li span { display: block; }
.points-howto li strong { margin-bottom: 7px; color: var(--giveaway-navy); }
.points-howto li span { color: #596862; line-height: 1.48; }
.points-howto a { color: var(--giveaway-teal); font-weight: 800; }
.points-start { margin: 18px 0 0; color: #596862; line-height: 1.55; }

.score-board { margin-top: 34px; padding: 28px; border-radius: 27px; color: #fff; background: linear-gradient(145deg, var(--giveaway-navy), var(--giveaway-blue) 62%, var(--giveaway-teal)); box-shadow: 0 30px 80px rgba(16, 28, 52, 0.18); }
.score-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: end; padding-bottom: 23px; border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
.score-head span { color: var(--giveaway-gold); font-size: 0.7rem; font-weight: 900; letter-spacing: 0.12em; }
.score-demo-note { margin: 20px 0 0; padding: 14px 16px; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 14px; color: #e8f1f0; background: rgba(255, 255, 255, 0.08); line-height: 1.55; }
.score-head h3 { margin: 8px 0 0; color: #fff; font-size: clamp(1.5rem, 2.6vw, 2.4rem); }
.score-total { text-align: right; }
.score-total strong { display: block; color: #fff; font-family: Iowan Old Style, Palatino Linotype, Book Antiqua, Georgia, serif; font-size: 3.4rem; line-height: 0.95; }
.score-total small { color: #bdcbd0; }
.score-track { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 22px; }
.score-item { position: relative; min-height: 165px; padding: 17px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 14px; background: rgba(255, 255, 255, 0.055); }
.score-item.base { border-color: rgba(227, 173, 77, 0.55); background: rgba(227, 173, 77, 0.1); }
.score-item b { display: block; color: var(--giveaway-mint); font-size: 0.7rem; }
.score-item.base b { color: var(--giveaway-gold); }
.score-item strong { display: block; margin: 20px 0 8px; color: #fff; }
.score-item small { display: block; color: #b8c6cc; font-size: 0.76rem; line-height: 1.45; }
.score-item button { margin-top: 14px; padding: 7px 10px; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 999px; color: #fff; background: transparent; font: inherit; font-size: 0.72rem; font-weight: 800; cursor: pointer; }
.score-item button[aria-pressed="true"] { color: #10243a; background: var(--giveaway-mint); border-color: var(--giveaway-mint); }
.score-rule { margin: 18px 0 0; padding: 16px 18px; border-left: 3px solid var(--giveaway-gold); color: #c5d1d5; background: rgba(227, 173, 77, 0.08); font-size: 0.84rem; line-height: 1.55; }
.score-rule strong { color: #f4dfb4; }

.giveaway-signup-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(440px, 1.1fr); gap: 54px; align-items: start; }
.giveaway-signup-copy h2 { color: var(--giveaway-navy); font-size: clamp(2.7rem, 4.6vw, 4.9rem); line-height: 0.98; }
.giveaway-signup-copy p { color: #596862; line-height: 1.65; }
.giveaway-form { padding: 30px; border: 1px solid #d6c9b4; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(16, 28, 52, 0.09); }
.giveaway-form label > span { display: block; margin-bottom: 7px; color: var(--giveaway-navy); font-size: 0.84rem; font-weight: 850; }
.giveaway-form input[type="email"] { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #bbb8ae; border-radius: 11px; background: #fffdfa; font: inherit; }
.giveaway-consents { display: grid; gap: 12px; margin: 20px 0; }
.giveaway-consent { display: grid; grid-template-columns: 20px 1fr; gap: 11px; align-items: start; color: #4f5f59; font-size: 0.84rem; line-height: 1.48; }
.giveaway-consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--giveaway-teal); }
.giveaway-form .btn { width: 100%; }
.giveaway-form-status { min-height: 1.5em; margin: 13px 0 0; color: #43564f; font-size: 0.82rem; }
.giveaway-form-status.good { color: #126b55; }
.giveaway-form-status.bad { color: #9f362f; }
.giveaway-form small { display: block; margin-top: 13px; color: #6c7772; line-height: 1.5; }
.giveaway-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.assurance-chain { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 32px; }
.assurance-chain article { position: relative; min-height: 220px; padding: 24px; border: 1px solid #d7cbb8; border-radius: 18px; background: #fff; }
.assurance-chain article:not(:last-child)::after { position: absolute; right: -10px; top: 50%; z-index: 2; content: "→"; color: var(--giveaway-gold); font-weight: 900; }
.assurance-chain span { color: var(--giveaway-teal); font-size: 0.68rem; font-weight: 900; letter-spacing: 0.1em; }
.assurance-chain h3 { margin: 22px 0 10px; color: var(--giveaway-navy); }
.assurance-chain p { margin: 0; color: #5a6963; font-size: 0.86rem; line-height: 1.55; }

.pilot-terms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 28px; }
.pilot-terms article { padding: 24px; border-top: 4px solid var(--giveaway-teal); border-radius: 14px; background: #fff; }
.pilot-terms article:nth-child(2) { border-color: var(--giveaway-gold); }
.pilot-terms article:nth-child(3) { border-color: var(--giveaway-mint); }
.pilot-terms h3 { color: var(--giveaway-navy); }
.pilot-terms p { color: #596862; line-height: 1.55; }

.giveaway-teaser { padding: 58px 0; color: #fff; background: linear-gradient(120deg, var(--giveaway-navy), var(--giveaway-blue) 58%, var(--giveaway-teal)); }
.giveaway-teaser-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(310px, 0.85fr); gap: 38px; align-items: center; }
.giveaway-teaser h2 { margin: 0.18em 0 12px; color: #fff; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1; }
.giveaway-teaser p { max-width: 760px; color: #c8d5d8; }
.giveaway-teaser .hero-actions { justify-content: flex-end; }
.giveaway-teaser .btn.primary { background: #f3d89f; color: var(--giveaway-navy); }
.points-mini { max-width: 760px; margin-top: 20px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.08); }
.points-mini > strong { color: #f3d89f; font-size: 1.02rem; }
.points-mini ol { margin: 10px 0 8px; padding-left: 1.25rem; color: #e4eeee; line-height: 1.5; }
.points-mini small { color: #b9c9cb; }

.checkpoint-panel { position: fixed; right: 18px; bottom: 18px; z-index: 1000; max-width: 340px; padding: 18px; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; color: #fff; background: linear-gradient(145deg, var(--giveaway-navy), var(--giveaway-teal)); box-shadow: 0 20px 60px rgba(16,28,52,.25); }
.checkpoint-panel span { color: #f2d89f; font-size: .67rem; font-weight: 900; letter-spacing: .1em; }
.checkpoint-panel strong { display: block; margin: 8px 0; }
.checkpoint-panel p { margin: 0 0 12px; color: #d2dddf; font-size: .78rem; line-height: 1.45; }
.checkpoint-panel button { width: 100%; }
.checkpoint-panel[data-state="done"] { background: linear-gradient(145deg,#114737,#0d6267); }

.giveaway-audit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.audit-draw, .audit-empty { margin: 0; padding: 20px; border: 1px solid rgba(20,59,55,.18); border-radius: 14px; background: #fffdf8; }
.audit-draw > span, .audit-draw > strong { display: block; }
.audit-draw > span { color: #6a756f; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.audit-draw > strong { margin: 5px 0 10px; color: #143b37; font-family: Georgia, serif; font-size: 1.25rem; }
.audit-draw p { overflow-wrap: anywhere; }
.audit-draw details code { display: block; max-width: 100%; overflow: auto; font-size: .68rem; color: #52605a; }

.weekly-public { display: grid; gap: 18px; margin-top: 34px; }
.weekly-issue { padding: clamp(24px, 4vw, 46px); border: 1px solid #d7cbb8; border-radius: 22px; background: #fffdf8; box-shadow: 0 18px 55px rgba(16,28,52,.06); }
.weekly-issue:first-child { border-top: 5px solid var(--giveaway-teal); }
.weekly-issue-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; color: var(--giveaway-teal); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.weekly-issue h3 { max-width: 900px; margin: 0 0 18px; color: var(--giveaway-navy); font: 700 clamp(1.8rem, 4vw, 3.2rem)/1.04 Georgia, serif; }
.weekly-issue-body { max-width: 780px; color: #40534c; font-size: 1.02rem; line-height: 1.72; white-space: pre-line; }
.weekly-issue-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
.weekly-issue-grid aside { padding: 18px; border-radius: 14px; background: #f2ecdf; }
.weekly-issue-grid aside:last-child { background: #edf5f2; }
.weekly-issue-grid strong { display: block; margin-bottom: 7px; color: var(--giveaway-navy); }
.weekly-issue-grid p { margin: 0; color: #50625b; font-size: .86rem; line-height: 1.58; }
.weekly-sources-public { margin: 24px 0 0; padding-top: 18px; border-top: 1px solid #ded5c7; }
.weekly-sources-public strong { color: var(--giveaway-navy); }
.weekly-sources-public ul { display: grid; gap: 7px; margin: 10px 0 0; padding-left: 1.1rem; }
.weekly-sources-public a { color: var(--giveaway-teal); font-weight: 750; }
.weekly-sources-public span { color: #68756f; font-size: .78rem; }
.weekly-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #ded5c7; }
.weekly-share > strong { flex: 1 0 100%; margin: 0; color: var(--giveaway-navy); font-size: .82rem; letter-spacing: .04em; }
.weekly-share-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.weekly-share-link, .weekly-share-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; margin: 0; padding: 8px 13px; border: 1px solid rgba(17, 75, 70, .28); border-radius: 999px; background: #fffdf8; color: var(--giveaway-teal); font: inherit; font-size: .76rem; font-weight: 800; line-height: 1; text-decoration: none; cursor: pointer; transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease; }
.weekly-share-link:hover, .weekly-share-button:hover { border-color: var(--giveaway-teal); background: #edf5f2; color: #0d4e4b; transform: translateY(-1px); }
.weekly-share-link:focus-visible, .weekly-share-button:focus-visible { outline: 3px solid rgba(20, 126, 133, .28); outline-offset: 2px; }
.weekly-share-button.weekly-share-primary { border-color: var(--giveaway-teal); background: var(--giveaway-teal); color: #fff; }
.weekly-share-button.weekly-share-primary:hover { background: #0d4e4b; color: #fff; }
.weekly-share-status { min-height: 1.2em; color: #5e6d66; font-size: .75rem; }
.weekly-issue:target { outline: 3px solid rgba(20, 126, 133, .22); outline-offset: 4px; scroll-margin-top: 110px; }
.weekly-empty { padding: 22px; border: 1px dashed #c7bba7; border-radius: 14px; color: #62706a; background: #fffdf8; }

@media (max-width: 980px) {
  .giveaway-proof, .assurance-chain { grid-template-columns: 1fr 1fr; }
  .score-track { grid-template-columns: repeat(3, 1fr); }
  .giveaway-intro, .giveaway-signup-grid, .giveaway-teaser-grid { grid-template-columns: 1fr; }
  .points-howto ol { grid-template-columns: 1fr 1fr; }
  .giveaway-teaser .hero-actions { justify-content: flex-start; }
  .pilot-terms, .weekly-issue-grid { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .giveaway-hero { padding: 78px 0 58px; }
  .giveaway-hero h1 { font-size: 3.75rem; }
  .giveaway-proof, .assurance-chain, .score-track { grid-template-columns: 1fr; }
  .points-howto ol { grid-template-columns: 1fr; }
  .giveaway-section { padding: 62px 0; }
  .score-head { grid-template-columns: 1fr; }
  .score-total { text-align: left; }
  .giveaway-form { padding: 22px; }
  .assurance-chain article { min-height: 0; }
  .assurance-chain article:not(:last-child)::after { content: "↓"; right: auto; left: 50%; top: auto; bottom: -15px; }
  .checkpoint-panel { left: 12px; right: 12px; bottom: 12px; max-width: none; }
  .giveaway-audit { grid-template-columns: 1fr; }
  .weekly-share-actions { width: 100%; }
  .weekly-share-link, .weekly-share-button { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .score-item button, .checkpoint-panel { transition: none; }
}
