/* ============================================================
   THE KILO DROP — premium dark/gold giveaway landing
   Own brand identity (distinct from Breezy) with the same
   luxury spirit. Breezy is the quiet parent in the footer.
   ============================================================ */

:root {
  --bg:        #0b0d0c;
  --bg-2:      #10130f;
  --card:      #171a15;
  --card-line: #2b3026;
  --ink:       #f3efe4;   /* warm cream text */
  --ink-soft:  #b9b6a8;
  --ink-dim:   #8a897c;
  --gold:      #d6b25c;
  --gold-lt:   #f0d69a;
  --gold-deep: #b8923f;
  --green:     #4c7a4a;
  --green-lt:  #7fb47a;
  --danger:    #ff8a8a;
  --radius:    16px;
  --maxw:      1120px;
  --shadow:    0 24px 60px -20px rgba(0,0,0,.7);
  --font-head: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; background-color: var(--bg); }

body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--ink);
  background-color: var(--bg);
  background-image:
    radial-gradient(1200px 700px at 50% -10%, #1c2118 0%, transparent 60%),
    linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 40%);
  background-attachment: fixed;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: var(--gold-lt); text-decoration: none; }
a:hover { text-decoration: underline; }

strong { color: #fff; font-weight: 600; }

/* ---------- brand / wordmark ---------- */
.brand { display: flex; align-items: baseline; gap: 10px; }
.brand-mark { color: var(--gold); font-size: 1.05rem; transform: translateY(1px); }
.brand-name {
  font-family: var(--font-head);
  font-weight: 700;
  letter-spacing: .16em;
  font-size: 1.02rem;
  color: var(--ink);
}
.brand-by {
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: .85;
}

/* ---------- nav ---------- */
.nav {
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  padding: 16px clamp(18px, 5vw, 48px);
  background: rgba(11,13,12,.72);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.nav-links { display: flex; align-items: center; gap: clamp(14px, 3vw, 30px); }

/* nav "More" dropdown */
.nav-dd { position: relative; display: flex; align-items: center; }
.nav-dd-btn { font-family: inherit; font-size: inherit; color: var(--ink-soft); background: none; border: none; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; padding: 0; }
.nav-dd:hover .nav-dd-btn, .nav-dd:focus-within .nav-dd-btn { color: var(--ink); }
.nav-dd-caret { font-size: .66em; transition: transform .18s; }
.nav-dd:hover .nav-dd-caret, .nav-dd:focus-within .nav-dd-caret { transform: rotate(180deg); }
.nav-dd::after { content: ""; position: absolute; top: 100%; left: -12px; right: -12px; height: 16px; } /* hover bridge */
.nav-dd-menu {
  position: absolute; top: calc(100% + 12px); right: 0;
  display: flex; flex-direction: column; gap: 2px; min-width: 194px; padding: 8px;
  background: rgba(13,15,10,.98); backdrop-filter: blur(10px);
  border: 1px solid var(--card-line); border-radius: 12px;
  box-shadow: 0 22px 46px -18px rgba(0,0,0,.85);
  opacity: 0; pointer-events: none; transform: translateY(-6px);
  transition: opacity .16s ease, transform .16s ease; z-index: 60;
}
.nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.nav-dd-menu .nav-link { padding: 10px 12px; border-radius: 8px; white-space: nowrap; }
.nav-dd-menu .nav-link:hover { background: rgba(214,178,92,.1); color: var(--ink); }
.nav-link {
  color: var(--ink-soft); font-size: .92rem; font-weight: 500; letter-spacing: .01em;
}
.nav-link:hover { color: var(--ink); text-decoration: none; }
.nav-shop {
  color: var(--gold-lt);
  border: 1px solid var(--gold-deep);
  padding: 7px 14px; border-radius: 999px;
}
.nav-shop:hover { background: rgba(214,178,92,.12); text-decoration: none; }

/* ---------- hero ---------- */
.hero { position: relative; overflow: hidden; padding: clamp(48px, 9vw, 104px) clamp(18px, 5vw, 48px) clamp(40px, 7vw, 80px); }
.hero-glow {
  position: absolute; inset: -30% 0 auto 0; height: 620px; pointer-events: none;
  background: radial-gradient(60% 60% at 50% 0%, rgba(214,178,92,.16) 0%, rgba(214,178,92,0) 70%);
}
.hero-inner { position: relative; max-width: 820px; margin: 0 auto; text-align: center; }

.badge {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 7px 16px; border-radius: 999px;
  background: rgba(255,255,255,.04); border: 1px solid rgba(214,178,92,.28);
  color: var(--gold-lt); font-size: .82rem; font-weight: 500; letter-spacing: .02em;
  margin-bottom: 26px;
}
.badge-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--green-lt);
  box-shadow: 0 0 0 0 rgba(127,180,122,.7); animation: pulse 2.4s infinite;
}
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(127,180,122,.55); }
  70%  { box-shadow: 0 0 0 10px rgba(127,180,122,0); }
  100% { box-shadow: 0 0 0 0 rgba(127,180,122,0); }
}

h1 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(2.6rem, 7.2vw, 4.6rem);
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 20px;
}
h1 .hl {
  color: var(--gold);
  background: linear-gradient(180deg, var(--gold-lt), var(--gold-deep));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  font-style: italic;
  /* italic glyphs (the "o" in Kilo) dip below AND lean past the clip box; give room on
     the bottom + right so the gradient paints the whole letter, not a shaved curve/edge */
  display: inline-block;
  padding: 0 .14em .1em 0;
  margin: 0 -.14em -.1em 0;
}
.sub {
  font-size: clamp(1.02rem, 2.4vw, 1.28rem);
  color: var(--ink-soft);
  max-width: 620px; margin: 0 auto 32px;
}

/* ---------- entry form ---------- */
.entry-form { max-width: 560px; margin: 0 auto; text-align: left; }
.name-row { display: flex; gap: 10px; margin-bottom: 10px; }
.name-row input {
  flex: 1; min-width: 0;
  padding: 14px 16px; font-size: .98rem; font-family: inherit;
  color: var(--ink); background: #0e110d;
  border: 1px solid var(--card-line); border-radius: 12px;
  transition: border-color .15s, box-shadow .15s;
}
.name-row input::placeholder { color: var(--ink-dim); }
.name-row input:focus { outline: none; border-color: var(--gold-deep); box-shadow: 0 0 0 3px rgba(214,178,92,.16); }
.field-row { display: flex; gap: 10px; }
.entry-form input[type="email"] {
  flex: 1; min-width: 0;
  padding: 16px 18px; font-size: 1.02rem; font-family: inherit;
  color: var(--ink); background: #0e110d;
  border: 1px solid var(--card-line); border-radius: 12px;
  transition: border-color .15s, box-shadow .15s;
}
.entry-form input[type="email"]::placeholder { color: var(--ink-dim); }
.entry-form input[type="email"]:focus {
  outline: none; border-color: var(--gold-deep);
  box-shadow: 0 0 0 3px rgba(214,178,92,.16);
}
#submit-btn {
  flex: 0 0 auto;
  padding: 16px 24px; font-size: 1.02rem; font-weight: 700; font-family: inherit;
  color: #1a1406; cursor: pointer; white-space: nowrap;
  background: linear-gradient(180deg, var(--gold-lt), var(--gold));
  border: none; border-radius: 12px;
  box-shadow: 0 10px 24px -8px rgba(214,178,92,.6);
  transition: transform .12s, box-shadow .12s, filter .12s;
}
#submit-btn:hover { transform: translateY(-1px); filter: brightness(1.05); box-shadow: 0 14px 30px -8px rgba(214,178,92,.7); }
#submit-btn:active { transform: translateY(0); }
#submit-btn:disabled { opacity: .7; cursor: default; transform: none; }

/* honeypot */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* consent checkbox (FIX 1) */
.consent {
  display: flex; align-items: flex-start; gap: 11px;
  margin-top: 14px; cursor: pointer;
  font-size: .84rem; color: var(--ink-soft); line-height: 1.5;
}
.consent input { position: absolute; opacity: 0; width: 0; height: 0; }
.consent-box {
  flex: 0 0 auto; margin-top: 2px;
  width: 20px; height: 20px; border-radius: 6px;
  border: 1.5px solid var(--card-line); background: #0e110d;
  display: inline-flex; align-items: center; justify-content: center;
  transition: border-color .12s, background .12s;
}
.consent-box::after {
  content: "✓"; font-size: 13px; font-weight: 700; color: #1a1406;
  transform: scale(0); transition: transform .12s;
}
.consent input:checked + .consent-box { background: var(--gold); border-color: var(--gold); }
.consent input:checked + .consent-box::after { transform: scale(1); }
.consent input:focus-visible + .consent-box { box-shadow: 0 0 0 3px rgba(214,178,92,.28); }
.consent.invalid .consent-box { border-color: var(--danger); box-shadow: 0 0 0 3px rgba(255,138,138,.16); }
.consent-text strong { color: var(--ink); }

.form-note { max-width: 560px; margin: 16px auto 0; text-align: center; font-size: .82rem; color: var(--ink-dim); }

.hero-trust {
  list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 20px;
  margin: 28px 0 0; padding: 0; color: var(--green-lt); font-size: .86rem; font-weight: 500;
}

/* success state */
.success {
  max-width: 560px; margin: 8px auto 0; text-align: center;
  background: linear-gradient(180deg, rgba(76,122,74,.14), rgba(76,122,74,.05));
  border: 1px solid rgba(127,180,122,.35); border-radius: var(--radius);
  padding: 30px 24px;
}
.success .check {
  width: 52px; height: 52px; margin: 0 auto 12px; border-radius: 50%;
  background: linear-gradient(180deg, var(--green-lt), var(--green));
  color: #06210a; font-size: 1.6rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
.success h3 { font-family: var(--font-head); margin: 0 0 6px; font-size: 1.4rem; }
.success p { margin: 0; color: var(--ink-soft); }

/* ---------- sections ---------- */
.section { max-width: var(--maxw); margin: 0 auto; padding: clamp(48px, 8vw, 84px) clamp(18px, 5vw, 48px); }
.section-title {
  font-family: var(--font-head); font-weight: 600;
  font-size: clamp(1.7rem, 4vw, 2.5rem); text-align: center; letter-spacing: -.01em;
  margin: 0 0 clamp(28px, 5vw, 48px);
}

/* how it works */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.step {
  background: var(--card); border: 1px solid var(--card-line); border-radius: var(--radius);
  padding: 30px 26px; transition: transform .15s, border-color .15s;
}
.step:hover { transform: translateY(-3px); border-color: rgba(214,178,92,.4); }
.step-num {
  width: 40px; height: 40px; border-radius: 11px; margin-bottom: 16px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head); font-weight: 700; font-size: 1.15rem; color: var(--gold-lt);
  background: rgba(214,178,92,.1); border: 1px solid rgba(214,178,92,.3);
}
.step h3 { font-family: var(--font-head); font-weight: 600; font-size: 1.24rem; margin: 0 0 8px; }
.step p { margin: 0; color: var(--ink-soft); font-size: .96rem; }

/* prize */
.prize { padding-top: 0; }
.prize-card {
  position: relative; overflow: hidden;
  display: flex; align-items: center; gap: clamp(20px, 4vw, 48px);
  background:
    radial-gradient(120% 100% at 100% 0%, rgba(214,178,92,.12), transparent 55%),
    var(--card);
  border: 1px solid rgba(214,178,92,.3); border-radius: 22px;
  padding: clamp(30px, 5vw, 52px); box-shadow: var(--shadow);
}
.prize-copy { flex: 1 1 auto; min-width: 0; }
.prize-visual { flex: 0 0 auto; display: flex; justify-content: center; align-items: center; }
.prize-bag {
  height: clamp(180px, 26vw, 300px); width: auto; display: block;
  filter: drop-shadow(0 16px 34px rgba(0,0,0,.45));
}
.prize-vid {
  height: clamp(210px, 30vw, 340px); width: auto; display: block; border-radius: 16px;
  object-fit: cover; box-shadow: 0 18px 38px rgba(0,0,0,.5); border: 1px solid var(--card-line);
}
@media (max-width: 720px) {
  .prize-card { flex-direction: column; align-items: flex-start; }
  .prize-visual { align-self: center; }
  .prize-bag { height: 200px; }
  .prize-vid { height: 240px; }
}
.prize-tag {
  display: inline-block; font-size: .74rem; font-weight: 700; letter-spacing: .18em;
  color: var(--gold-lt); background: rgba(214,178,92,.1);
  border: 1px solid rgba(214,178,92,.35); border-radius: 999px; padding: 6px 14px; margin-bottom: 18px;
}
.prize-card h2 { font-family: var(--font-head); font-weight: 700; font-size: clamp(1.6rem, 4vw, 2.4rem); margin: 0 0 14px; }
.prize-card p { color: var(--ink-soft); max-width: 620px; margin: 0 0 22px; }
.prize-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.prize-list li { color: var(--green-lt); font-weight: 500; }

/* trust */
.trust { text-align: center; max-width: 760px; }
.trust-lead { font-family: var(--font-head); font-size: clamp(1.2rem, 3vw, 1.6rem); color: var(--gold-lt); margin: 0 0 14px; }
.trust-body { color: var(--ink-soft); font-size: 1.04rem; }

/* faq */
.faq { max-width: 760px; }
.faq details {
  border: 1px solid var(--card-line); border-radius: 12px; background: var(--card);
  padding: 4px 20px; margin-bottom: 12px;
}
.faq summary {
  cursor: pointer; padding: 16px 0; font-weight: 600; list-style: none;
  display: flex; justify-content: space-between; align-items: center;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--gold); font-size: 1.3rem; font-weight: 400; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 0 0 16px; color: var(--ink-soft); }

/* eligibility / banned states */
.eligibility { max-width: 820px; text-align: center; }
.elig-lead { color: var(--ink-soft); font-size: 1.04rem; margin: 0 auto 24px; max-width: 640px; }
.states {
  list-style: none; padding: 0; margin: 0 auto 22px; max-width: 640px;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
}
.states li {
  font-size: .9rem; font-weight: 600; color: var(--ink);
  background: rgba(255,138,138,.08); border: 1px solid rgba(255,138,138,.28);
  border-radius: 999px; padding: 8px 16px;
}
.elig-note { color: var(--ink-dim); font-size: .9rem; max-width: 680px; margin: 0 auto; }
.elig-note strong { color: var(--ink-soft); }

/* final cta */
.final-cta { text-align: center; }
.final-cta h2 { font-family: var(--font-head); font-weight: 700; font-size: clamp(1.7rem, 4.4vw, 2.7rem); margin: 0 0 26px; }
.cta-btn {
  display: inline-block; padding: 16px 34px; font-size: 1.05rem; font-weight: 700; color: #1a1406;
  background: linear-gradient(180deg, var(--gold-lt), var(--gold));
  border-radius: 12px; box-shadow: 0 12px 28px -8px rgba(214,178,92,.6);
  transition: transform .12s, filter .12s;
}
.cta-btn:hover { transform: translateY(-1px); filter: brightness(1.05); text-decoration: none; }
.fb-plug { margin-top: 26px; color: var(--ink-dim); font-size: .95rem; }
.fb-plug a { font-weight: 600; }

/* footer */
.footer {
  border-top: 1px solid rgba(255,255,255,.06);
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.35));
  padding: clamp(40px, 6vw, 64px) clamp(18px, 5vw, 48px) 48px;
  text-align: center;
}
.footer-brand { justify-content: center; margin-bottom: 24px; }
.legal-block { max-width: 780px; margin: 0 auto 20px; text-align: left; }
.legal { font-size: .8rem; color: var(--ink-dim); margin: 0 0 12px; line-height: 1.65; }
.legal strong { color: var(--ink-soft); }
.addr { text-align: center; max-width: 780px; margin: 0 auto 18px; }
.powered { font-size: .82rem; color: var(--ink-soft); margin: 0 0 6px; }
.powered a { font-weight: 600; }
.copyright { font-size: .76rem; color: var(--ink-dim); margin: 0; }

/* ---------- mobile hamburger menu ---------- */
.nav-toggle {
  display: none; flex-direction: column; gap: 5px; cursor: pointer;
  background: none; border: none; padding: 8px; margin: -8px -8px -8px 0;
}
.nav-toggle span { display: block; width: 24px; height: 2px; border-radius: 2px; background: var(--ink); transition: transform .22s, opacity .22s; }
.nav.open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav.open .nav-toggle span:nth-child(2) { opacity: 0; }
.nav.open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- responsive ---------- */
@media (max-width: 720px) {
  .brand-by { display: none; }
  .nav-toggle { display: flex; }
  .nav-links {
    position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0;
    padding: 6px clamp(18px, 5vw, 48px) 18px;
    background: rgba(11,13,12,.98); backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--card-line);
    box-shadow: 0 20px 40px -18px rgba(0,0,0,.8);
    max-height: 0; overflow: hidden; opacity: 0; pointer-events: none;
    transition: max-height .28s ease, opacity .2s ease;
  }
  .nav.open .nav-links { max-height: calc(100vh - 56px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; opacity: 1; pointer-events: auto; }
  .nav-link { padding: 14px 2px; font-size: 1.02rem; border-bottom: 1px solid rgba(255,255,255,.06); }
  /* on mobile the "More" dropdown dissolves — its items flow into the menu as normal tabs */
  .nav-dd, .nav-dd-menu { display: contents; }
  .nav-dd-btn, .nav-dd::after { display: none; }
  .nav-dd-menu .nav-link { padding: 14px 2px; border-radius: 0; white-space: normal; }
  .nav-shop { align-self: flex-start; margin-top: 12px; border: 1px solid var(--gold-deep); }
  .steps { grid-template-columns: 1fr; }
  .field-row { flex-direction: column; }
  #submit-btn { width: 100%; }
  .prize-list { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto; }
}

/* ============================================================
   IMAGERY, MOTION & POLISH
   ============================================================ */

/* nav intensifies once you scroll */
.nav.scrolled {
  background: rgba(11,13,12,.92);
  box-shadow: 0 12px 34px -20px rgba(0,0,0,.85);
}

/* scroll reveal (sections gently rise into view) */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; will-change: opacity, transform; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* ============================================================
   REVIEWS (auto-scrolling carousel + star form)
   ============================================================ */
.reviews { max-width: var(--maxw); }
.review-marquee {
  position: relative; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.review-track {
  display: flex; gap: 18px; width: max-content;
  cursor: grab; touch-action: pan-y; will-change: transform;
  -webkit-user-select: none; user-select: none;
}
.review-track.grabbing { cursor: grabbing; }
.review-card { -webkit-user-drag: none; }

.review-card {
  flex: 0 0 320px; max-width: 320px;
  background: var(--card); border: 1px solid var(--card-line); border-radius: 14px;
  padding: 22px 22px 20px;
}
.review-stars { color: var(--gold); letter-spacing: 3px; font-size: 1rem; margin-bottom: 10px; }
.review-stars .off { color: #3a3f33; }
.review-text { color: var(--ink); font-size: .98rem; margin: 0 0 14px; line-height: 1.55; }
.review-name { color: var(--ink-dim); font-size: .84rem; font-weight: 600; letter-spacing: .02em; }

.review-actions { text-align: center; margin-top: 32px; }
.review-open {
  font-family: inherit; font-size: .96rem; font-weight: 600; color: var(--gold-lt);
  background: rgba(214,178,92,.08); border: 1px solid var(--gold-deep);
  padding: 12px 26px; border-radius: 999px; cursor: pointer; transition: background .15s;
}
.review-open:hover { background: rgba(214,178,92,.16); }

.review-form {
  max-width: 560px; margin: 24px auto 0;
  background: var(--card); border: 1px solid var(--card-line); border-radius: var(--radius); padding: 24px;
}
.stars-input { display: flex; gap: 6px; margin-bottom: 16px; }
.stars-input .star {
  font-size: 2rem; line-height: 1; background: none; border: none; padding: 0; cursor: pointer;
  color: #3a3f33; transition: color .1s, transform .1s;
}
.stars-input .star:hover { transform: scale(1.12); }
.stars-input .star.on { color: var(--gold); }
.review-form input, .review-form textarea {
  width: 100%; padding: 13px 15px; font-family: inherit; font-size: 1rem; color: var(--ink);
  background: #0e110d; border: 1px solid var(--card-line); border-radius: 10px; margin-bottom: 12px; resize: vertical;
}
.review-form input::placeholder, .review-form textarea::placeholder { color: var(--ink-dim); }
.review-form input:focus, .review-form textarea:focus { outline: none; border-color: var(--gold-deep); box-shadow: 0 0 0 3px rgba(214,178,92,.16); }
.review-form-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.review-hint { color: var(--ink-dim); font-size: .8rem; flex: 1; min-width: 180px; }
.review-submit {
  padding: 12px 24px; font-family: inherit; font-weight: 700; color: #1a1406; cursor: pointer;
  background: linear-gradient(180deg, var(--gold-lt), var(--gold)); border: none; border-radius: 10px;
}
.review-submit:hover { filter: brightness(1.05); }
.review-msg { margin: 14px 0 0; color: var(--green-lt); font-size: .92rem; }
.review-empty { text-align: center; color: var(--ink-dim); font-size: 1rem; margin: 4px 0 0; }

/* reduced-motion: JS skips the auto-advance, but the row stays draggable (swipe to browse) */
@media (max-width: 720px) { .review-card { flex-basis: 264px; } }

/* ============================================================
   CHAT WIDGET (private one-to-one)
   ============================================================ */
.chat-widget { position: fixed; right: 20px; bottom: 20px; z-index: 60; }
.chat-toggle {
  width: 60px; height: 60px; border-radius: 50%; cursor: pointer; border: none;
  background: linear-gradient(180deg, var(--gold-lt), var(--gold)); color: #1a1406;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 30px -8px rgba(214,178,92,.6);
  transition: transform .15s, box-shadow .15s;
}
.chat-toggle:hover { transform: translateY(-2px); box-shadow: 0 16px 36px -8px rgba(214,178,92,.75); }
.chat-widget.open .chat-toggle { display: none; }

.chat-panel {
  position: absolute; right: 0; bottom: 0;
  width: min(360px, calc(100vw - 32px)); height: 480px; max-height: calc(100vh - 40px);
  background: var(--card); border: 1px solid var(--card-line); border-radius: 18px;
  box-shadow: 0 30px 70px -20px rgba(0,0,0,.8);
  display: flex; flex-direction: column; overflow: hidden; animation: chat-pop .18s ease;
}
.chat-panel[hidden] { display: none; }
@keyframes chat-pop { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.chat-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 15px 18px; background: linear-gradient(180deg, rgba(214,178,92,.12), transparent);
  border-bottom: 1px solid var(--card-line);
}
.chat-title { font-family: var(--font-head); font-weight: 600; font-size: 1.05rem; }
.chat-sub { font-size: .78rem; color: var(--ink-dim); display: flex; align-items: center; gap: 6px; margin-top: 2px; }
.chat-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green-lt); box-shadow: 0 0 8px rgba(127,180,122,.7); }
.chat-close { background: none; border: none; color: var(--ink-soft); font-size: 1.05rem; cursor: pointer; padding: 4px 6px; line-height: 1; }
.chat-close:hover { color: var(--ink); }
.chat-log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.chat-msg { max-width: 82%; padding: 10px 13px; border-radius: 14px; font-size: .92rem; line-height: 1.45; }
.chat-msg.them { align-self: flex-start; background: #23271f; color: var(--ink); border-bottom-left-radius: 4px; }
.chat-msg.me { align-self: flex-end; background: #2f3a2c; border: 1px solid #46543c; color: var(--ink); border-bottom-right-radius: 4px; }
.chat-form { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--card-line); }
.chat-form input {
  flex: 1; min-width: 0; padding: 11px 15px; font-family: inherit; font-size: .95rem; color: var(--ink);
  background: #0e110d; border: 1px solid var(--card-line); border-radius: 999px;
}
.chat-form input:focus { outline: none; border-color: var(--gold-deep); box-shadow: 0 0 0 3px rgba(214,178,92,.16); }
.chat-send {
  flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; border: none; cursor: pointer;
  background: linear-gradient(180deg, var(--gold-lt), var(--gold)); color: #1a1406;
  display: flex; align-items: center; justify-content: center;
}
.chat-send:hover { filter: brightness(1.05); }
@media (max-width: 480px) { .chat-panel { height: min(72vh, 480px); } }

/* ============================================================
   DEV BAR — only shown to an admin (logged into the Control Room
   on this device, or ?dev=1). Never renders for public visitors.
   ============================================================ */
.dev-wrap { position: fixed; left: 16px; bottom: 16px; z-index: 70; }
.dev-bar {
  display: flex; align-items: center; gap: 12px;
  padding: 8px 8px 8px 14px; border-radius: 999px;
  background: rgba(11,13,12,.94); border: 1px solid var(--gold-deep);
  box-shadow: 0 12px 28px -12px rgba(0,0,0,.75); font-size: .82rem;
}
.dev-collapse { background: none; border: none; color: var(--ink-dim); cursor: pointer; font-size: 1.35rem; line-height: 1; padding: 0 4px 2px; }
.dev-collapse:hover { color: var(--gold-lt); }
/* collapsed state: bar hides, a small bubble remains */
.dev-wrap.collapsed .dev-bar { display: none; }
.dev-bubble { display: none; }
.dev-wrap.collapsed .dev-bubble {
  display: flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 50%; cursor: pointer;
  background: rgba(11,13,12,.94); border: 1px solid var(--gold-deep);
  color: var(--gold-lt); font-size: 1.25rem;
  box-shadow: 0 12px 28px -12px rgba(0,0,0,.75);
  transition: transform .12s, background .12s;
}
.dev-bubble:hover { transform: translateY(-2px); background: rgba(214,178,92,.18); }
.dev-tag { color: var(--gold-lt); font-weight: 700; letter-spacing: .09em; }
.dev-link { color: var(--ink); font-weight: 600; padding: 6px 12px; border: 1px solid var(--card-line); border-radius: 999px; }
.dev-link:hover { color: var(--gold-lt); border-color: var(--gold-deep); text-decoration: none; }
.dev-x { background: none; border: none; color: var(--ink-dim); cursor: pointer; font-size: 1.05rem; line-height: 1; padding: 0 4px; }
.dev-x:hover { color: var(--ink); }
.dev-btn { background: rgba(214,178,92,.12); border: 1px solid var(--gold-deep); color: var(--gold-lt); font: inherit; font-size: .82rem; font-weight: 600; padding: 6px 12px; border-radius: 999px; cursor: pointer; }
.dev-btn:hover { background: rgba(214,178,92,.22); }
.dev-btn.on { background: linear-gradient(180deg, var(--gold-lt), var(--gold)); color: #1a1406; }

/* content edit mode: highlight what's editable */
body.kc-edit [data-edit] { outline: 1px dashed var(--gold-deep); outline-offset: 4px; border-radius: 3px; cursor: text; transition: background .12s; }
body.kc-edit [data-edit]:hover { outline-color: var(--gold); background: rgba(214,178,92,.06); }
body.kc-edit [data-edit]:focus { outline: 2px solid var(--gold); background: rgba(214,178,92,.08); }

/* ============================================================
   KRATOM ART — floating hand-drawn leaves + kilo bricks (identity + depth)
   ============================================================ */
.hero-inner { position: relative; z-index: 2; }
.hero-deco { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1; }
.hero-deco svg { position: absolute; will-change: transform, translate, rotate; }

.deco-leaf { color: #5f9e5b; opacity: .5; filter: drop-shadow(0 10px 18px rgba(0,0,0,.55)); animation: leafFloat var(--dur,9s) ease-in-out infinite; }
.deco-kilo { filter: drop-shadow(0 22px 34px rgba(0,0,0,.6)); animation: kiloBob var(--dur,12s) ease-in-out infinite; }

@keyframes leafFloat { 0%,100% { translate: 0 0; rotate: var(--rot,0deg); } 50% { translate: 0 -22px; rotate: calc(var(--rot,0deg) + 7deg); } }
@keyframes kiloBob  { 0%,100% { translate: 0 0; rotate: var(--rot,0deg); } 50% { translate: 0 -16px; rotate: calc(var(--rot,0deg) - 3deg); } }

/* leaf placements (width sets size; height keeps the 100:160 leaf ratio) */
.lf1 { top: 11%; left: 6%;  width: 66px; height: 106px; --rot: -18deg; --dur: 8.5s; opacity: .5; }
.lf2 { top: 60%; left: 9%;  width: 52px; height: 83px;  --rot: 24deg;  --dur: 10s;  opacity: .42; }
.lf3 { top: 18%; right: 7%; width: 74px; height: 118px; --rot: 16deg;  --dur: 9.2s; opacity: .55; }
.lf4 { top: 66%; right: 11%;width: 46px; height: 74px;  --rot: -22deg; --dur: 11s;  opacity: .4; }
.lf5 { top: 40%; left: 3%;  width: 40px; height: 64px;  --rot: 8deg;   --dur: 12s;  opacity: .3; color: #b8923f; }
.lf6 { top: 7%;  right: 22%;width: 38px; height: 61px;  --rot: -10deg; --dur: 10.5s;opacity: .32; color: #b8923f; }

/* kilo bricks anchored to the far sides (clipped by the hero, so they read as "flowing in") */
.dk1 { top: 40%; left: -22px;  width: 118px; height: 148px; --rot: -8deg; --dur: 11s; opacity: .95; }
.dk2 { top: 26%; right: -18px; width: 98px;  height: 123px; --rot: 7deg;  --dur: 13s; opacity: .9; }

/* richer hero light for depth */
.hero-glow { height: 720px; background:
  radial-gradient(52% 55% at 50% 0%, rgba(214,178,92,.20) 0%, rgba(214,178,92,0) 68%),
  radial-gradient(40% 40% at 78% 30%, rgba(76,122,74,.12) 0%, rgba(76,122,74,0) 70%); }

@media (max-width: 820px) {
  .lf5, .lf6, .lf2 { display: none; }
  .dk1 { width: 84px; height: 105px; left: -30px; }
  .dk2 { width: 72px; height: 90px; right: -26px; }
}
@media (prefers-reduced-motion: reduce) {
  .deco-leaf, .deco-kilo { animation: none !important; }
}

/* ============================================================
   WHY SECTION — asymmetric: copy left, interactive 3D kilo right
   ============================================================ */
.why-3d .why-grid { max-width: var(--maxw); margin: 0 auto; display: grid;
  grid-template-columns: 1.02fr .98fr; gap: clamp(24px, 5vw, 56px); align-items: center; }
.why-3d .section-title { text-align: left; margin: 0 0 18px; }
.why-3d .trust-lead { text-align: left; max-width: none; margin: 0 0 16px; }
.why-3d .trust-body { text-align: left; max-width: 520px; margin: 0 0 14px; }
.kilo3d { position: relative; width: 100%; max-width: 480px; margin: 0 auto; aspect-ratio: 1 / 1; }
.kilo3d canvas { width: 100%; height: 100%; display: block; cursor: grab; touch-action: none; }
.kilo3d canvas:active { cursor: grabbing; }
.kilo3d-hint { position: absolute; bottom: 4px; left: 0; right: 0; text-align: center;
  color: var(--ink-dim); font-size: .78rem; letter-spacing: .04em; pointer-events: none; opacity: .75; }
@media (max-width: 820px) {
  .why-3d .why-grid { grid-template-columns: 1fr; gap: 18px; }
  .why-3d .section-title, .why-3d .trust-lead, .why-3d .trust-body { text-align: center; margin-left: auto; margin-right: auto; }
  .kilo3d { order: -1; max-width: 300px; }
}

/* ============================================================
   PAST WINNERS WALL — asymmetric premium section (copy left, rail right)
   ============================================================ */
.winners-wall { position: relative; overflow: hidden; }
.ww-glow { position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(48% 62% at 80% 42%, rgba(214,178,92,.16), transparent 70%); }
.ww-leaf { position: absolute; width: 130px; height: 208px; left: -34px; bottom: -46px;
  color: #3f6b3c; opacity: .13; transform: rotate(16deg); pointer-events: none; }

.ww-grid { max-width: var(--maxw); margin: 0 auto; position: relative; z-index: 1;
  display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.eyebrow { color: var(--gold); font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 14px; }
.ww-copy h2 { font-family: var(--font-head); font-weight: 600; font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.08; margin: 0 0 16px; }
.ww-copy h2 .hl { color: var(--gold); background: linear-gradient(180deg, var(--gold-lt), var(--gold-deep));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-style: italic;
  display: inline-block; padding-bottom: .08em; }
.ww-copy p { color: var(--ink-soft); font-size: 1.02rem; max-width: 460px; margin: 0 0 26px; }
.ww-stat { display: flex; align-items: center; gap: 14px; }
.ww-num { font-family: var(--font-head); font-weight: 900; font-size: 3.1rem; color: var(--gold-lt); line-height: 1; }
.ww-stat-l { color: var(--ink-dim); font-size: .9rem; line-height: 1.3; }

.ww-rail { position: relative; height: 470px; overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent);
          mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent); }
.ww-track { display: flex; flex-direction: column; gap: 16px; animation: wwScroll 34s linear infinite; }
.ww-rail:hover .ww-track { animation-play-state: paused; }
@keyframes wwScroll { from { transform: translateY(0); } to { transform: translateY(-50%); } }

.winner-card { position: relative; overflow: hidden;
  background: linear-gradient(150deg, rgba(214,178,92,.12), rgba(23,26,21,.92) 42%), var(--card);
  border: 1px solid var(--gold-deep); border-radius: 16px; padding: 17px 20px;
  box-shadow: 0 18px 40px -24px rgba(0,0,0,.85), inset 0 1px 0 rgba(240,214,154,.2); }
.winner-card::after { content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.08), transparent);
  transform: skewX(-18deg); animation: wcShine 6s ease-in-out infinite; }
@keyframes wcShine { 0%, 70% { left: -60%; } 88%, 100% { left: 140%; } }
.wc-tag { color: var(--gold-lt); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.wc-name { font-family: var(--font-head); font-weight: 600; font-size: 1.18rem; margin: 5px 0 2px; }
.wc-meta { color: var(--ink-dim); font-size: .82rem; }
.wc-won { color: var(--green-lt); font-size: .86rem; font-weight: 600; margin-top: 9px; }

@media (max-width: 820px) {
  .ww-grid { grid-template-columns: 1fr; gap: 30px; }
  .ww-copy { text-align: center; }
  .ww-copy p { margin-left: auto; margin-right: auto; }
  .ww-stat { justify-content: center; }
  .ww-rail { height: 420px; }
}
@media (prefers-reduced-motion: reduce) { .ww-track { animation: none; } .winner-card::after { animation: none; display: none; } }

/* ============================================================
   ENTRY MODAL — professional blurred popup for the signup form
   ============================================================ */
body.modal-open { overflow: hidden; }

.hero-cta {
  display: inline-block; margin: 8px auto 0; cursor: pointer;
  padding: 17px 42px; font-family: inherit; font-size: 1.12rem; font-weight: 700;
  color: #1a1406; border: none; border-radius: 14px;
  background: linear-gradient(180deg, var(--gold-lt), var(--gold));
  box-shadow: 0 14px 34px -10px rgba(214,178,92,.6);
  transition: transform .12s, box-shadow .12s, filter .12s;
}
.hero-cta:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 20px 44px -10px rgba(214,178,92,.72); }
.hero-cta:active { transform: translateY(0); }
.hero-microcopy { color: var(--ink-dim); font-size: .86rem; margin: 16px 0 0; }
.drop-countdown {
  display: inline-flex; align-items: center; gap: 11px; margin: 0 auto 18px;
  padding: 6px 6px 6px 16px; border-radius: 999px;
  background: linear-gradient(180deg, rgba(214,178,92,.15), rgba(214,178,92,.04));
  border: 1px solid var(--gold-deep);
  animation: dc-glow 3.4s ease-in-out infinite;
}
.drop-countdown[hidden] { display: none; }
.dc-label { color: var(--gold-lt); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: .7rem; }
.dc-time {
  color: #fff; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .03em; font-size: .9rem;
  background: rgba(214,178,92,.2); padding: 5px 13px; border-radius: 999px; white-space: nowrap;
}
@keyframes dc-glow {
  0%, 100% { box-shadow: 0 0 18px -8px rgba(214,178,92,.4); }
  50% { box-shadow: 0 0 30px -3px rgba(214,178,92,.62); }
}

.modal { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 20px; }
.modal[hidden] { display: none; }
.modal-backdrop {
  position: absolute; inset: 0; background: rgba(6,8,6,.66);
  backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px);
  opacity: 0; transition: opacity .22s;
}
.modal.show .modal-backdrop { opacity: 1; }
.modal-card {
  position: relative; z-index: 1; width: min(460px, 100%);
  max-height: calc(100vh - 40px); overflow-y: auto;
  background: linear-gradient(180deg, #191c16, var(--card));
  border: 1px solid var(--card-line); border-radius: 20px;
  padding: 34px 30px 28px; box-shadow: var(--shadow);
  transform: translateY(16px) scale(.98); opacity: 0; transition: transform .24s, opacity .24s;
}
.modal.show .modal-card { transform: none; opacity: 1; }
.modal-close {
  position: absolute; top: 14px; right: 16px; background: none; border: none;
  color: var(--ink-dim); font-size: 1.15rem; cursor: pointer; padding: 4px 8px; line-height: 1;
}
.modal-close:hover { color: var(--ink); }
.modal-head { text-align: center; margin-bottom: 22px; }
.modal-mark { color: var(--gold); font-size: 1.3rem; }
.modal-head h2 { font-family: var(--font-head); font-weight: 600; font-size: 1.62rem; margin: 6px 0; }
.modal-sub { color: var(--ink-soft); font-size: .92rem; margin: 0; }
.modal-input {
  width: 100%; padding: 14px 16px; margin-bottom: 10px; font-size: .98rem; font-family: inherit;
  color: var(--ink); background: #0e110d; border: 1px solid var(--card-line); border-radius: 12px;
  transition: border-color .15s, box-shadow .15s;
}
.modal-input::placeholder { color: var(--ink-dim); }
.modal-input:focus { outline: none; border-color: var(--gold-deep); box-shadow: 0 0 0 3px rgba(214,178,92,.16); }
.modal-submit {
  width: 100%; margin-top: 6px; padding: 15px 24px; font-size: 1.04rem; font-weight: 700; font-family: inherit;
  color: #1a1406; cursor: pointer; border: none; border-radius: 12px;
  background: linear-gradient(180deg, var(--gold-lt), var(--gold));
  box-shadow: 0 10px 24px -8px rgba(214,178,92,.6); transition: transform .12s, filter .12s;
}
.modal-submit:hover { transform: translateY(-1px); filter: brightness(1.05); }
.modal-submit:disabled { opacity: .7; cursor: default; transform: none; }
.modal .entry-form { max-width: none; }
.modal .form-note { text-align: center; margin: 14px 0 0; }
.modal .success { margin: 0; }
.modal-alt { text-align: center; margin: 16px 0 0; color: var(--ink-dim); font-size: .88rem; }
.modal-alt[hidden] { display: none; }
.modal-alt a { color: var(--gold-lt); font-weight: 600; }

/* account links on the dashboard (log out / unsubscribe) */
.account-links { margin: 22px 0 0; display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; }
.account-links a, .account-links button {
  background: none; border: none; cursor: pointer; font: inherit;
  color: var(--ink-dim); font-size: .84rem; text-decoration: underline; text-underline-offset: 3px; padding: 4px;
}
.account-links a:hover, .account-links button:hover { color: var(--ink-soft); }
.account-links .unsub:hover { color: var(--danger); }
@media (max-width: 400px) { .name-row { flex-direction: column; } }

/* ============================================================
   REFERRAL ENGINE — "invited by a friend" banner, the post-entry
   dashboard (live entries + share link), and the live toast.
   ============================================================ */

/* invite banner (shown when someone lands via a /?ref= link) */
.invite-banner {
  display: flex; align-items: center; gap: 11px;
  max-width: 560px; margin: 0 auto 16px; text-align: left;
  padding: 12px 16px; border-radius: 12px;
  background: linear-gradient(180deg, rgba(214,178,92,.14), rgba(214,178,92,.05));
  border: 1px solid var(--gold-deep);
  color: var(--ink); font-size: .9rem; line-height: 1.45;
}
.invite-banner[hidden] { display: none; }
.invite-gift { font-size: 1.3rem; flex: 0 0 auto; }

/* the member dashboard */
.dash {
  max-width: 620px; margin: 8px auto 0; text-align: center;
  background: linear-gradient(180deg, rgba(76,122,74,.14), rgba(76,122,74,.05));
  border: 1px solid rgba(127,180,122,.35); border-radius: var(--radius);
  padding: 30px 26px 26px;
}
.dash[hidden] { display: none; }
.dash .check {
  width: 52px; height: 52px; margin: 0 auto 12px; border-radius: 50%;
  background: linear-gradient(180deg, var(--green-lt), var(--green));
  color: #06210a; font-size: 1.6rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
.dash h3 { font-family: var(--font-head); margin: 0 0 8px; font-size: 1.4rem; }
.ref-lead { margin: 0 auto 20px; max-width: 460px; color: var(--ink-soft); font-size: .96rem; }

/* countdown to the next draw */
.dash-count { margin: 0 0 4px; color: var(--ink-soft); font-size: .95rem; }
.dash-count strong { color: var(--ink); }
.draw-countdown { color: var(--gold-lt); font-variant-numeric: tabular-nums; letter-spacing: .01em; }

/* entries hero + breakdown */
.entries-hero { margin: 18px 0 4px; }
.entries-caption { margin: 8px 0 0; color: var(--ink-dim); font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; }
.entry-breakdown {
  list-style: none; margin: 16px auto 0; padding: 14px 16px; max-width: 360px;
  background: rgba(0,0,0,.18); border: 1px solid var(--card-line); border-radius: 12px;
  text-align: left; display: flex; flex-direction: column; gap: 7px;
}
.entry-breakdown li { display: flex; justify-content: space-between; font-size: .9rem; color: var(--ink-soft); }
.entry-breakdown .bd-val { color: var(--green-lt); font-weight: 700; }

/* earn-more-entries board */
.earn { margin: 26px 0 6px; text-align: left; }
.earn-head h4 { font-family: var(--font-head); font-size: 1.1rem; margin: 0 0 3px; color: var(--ink); }
.earn-head p { margin: 0 0 14px; color: var(--ink-dim); font-size: .86rem; }
.earn-list { display: flex; flex-direction: column; gap: 9px; }
.earn-row {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 12px 14px; border-radius: 12px;
  background: var(--card); border: 1px solid var(--card-line);
  transition: border-color .14s, background .14s;
}
.earn-row:hover { border-color: var(--gold-deep); }
.earn-row.done { opacity: .72; }
.earn-row.done:hover { border-color: var(--card-line); }
.earn-ic { font-size: 1.25rem; flex: 0 0 auto; width: 26px; text-align: center; }
.earn-copy { flex: 1 1 140px; min-width: 0; display: flex; flex-direction: column; }
.earn-title { color: var(--ink); font-weight: 600; font-size: .95rem; }
.earn-sub { color: var(--ink-dim); font-size: .78rem; }
.earn-val { flex: 0 0 auto; color: var(--gold-lt); font-weight: 700; font-size: .9rem; }
.earn-action { flex: 0 0 auto; }
.earn-btn {
  font-family: inherit; font-size: .84rem; font-weight: 700; cursor: pointer;
  padding: 8px 16px; border-radius: 999px; color: #1a1406;
  background: linear-gradient(180deg, var(--gold-lt), var(--gold)); border: none;
  transition: filter .12s, transform .12s;
}
.earn-btn:hover { filter: brightness(1.05); transform: translateY(-1px); }
.earn-btn:disabled { opacity: .6; cursor: default; transform: none; }
.earn-done { color: var(--green-lt); font-weight: 700; font-size: .86rem; }
.earn-soon { color: var(--ink-dim); font-size: .8rem; font-style: italic; }
.phone-form { flex: 1 1 100%; display: flex; gap: 8px; margin-top: 4px; }
.phone-form input {
  flex: 1; min-width: 0; padding: 10px 13px; font-family: inherit; font-size: .92rem; color: var(--ink);
  background: #0e110d; border: 1px solid var(--card-line); border-radius: 9px;
}
.phone-form input.bad { border-color: var(--danger); }
.phone-form input:focus { outline: none; border-color: var(--gold-deep); box-shadow: 0 0 0 3px rgba(214,178,92,.16); }
.phone-form button {
  flex: 0 0 auto; padding: 10px 16px; font-family: inherit; font-weight: 700; font-size: .86rem; cursor: pointer;
  color: #1a1406; background: linear-gradient(180deg, var(--gold-lt), var(--gold)); border: none; border-radius: 9px;
}

/* invite section + milestone */
.invite { margin-top: 26px; text-align: left; }
.ref-link-badge {
  display: inline-block; margin-left: 6px; padding: 2px 9px; border-radius: 999px;
  font-size: .68rem; font-weight: 700; letter-spacing: .02em; text-transform: none;
  color: var(--gold-lt); background: rgba(214,178,92,.12); border: 1px solid var(--gold-deep);
}
.milestone { margin-top: 16px; }
.ms-bar { height: 8px; border-radius: 999px; background: rgba(0,0,0,.3); overflow: hidden; border: 1px solid var(--card-line); }
.ms-fill { height: 100%; background: linear-gradient(90deg, var(--green), var(--green-lt)); border-radius: 999px; transition: width .5s ease; }
.ms-label { margin: 8px 0 0; font-size: .82rem; color: var(--ink-dim); }
.ms-label strong { color: var(--gold-lt); }

/* dashboard hall-of-fame teaser */
.dash-hof {
  display: flex; align-items: center; gap: 13px; margin: 24px 0 0; padding: 14px 16px;
  border-radius: 14px; text-decoration: none; text-align: left;
  background: linear-gradient(180deg, rgba(214,178,92,.08), transparent);
  border: 1px solid var(--gold-deep); transition: transform .12s, border-color .14s;
}
.dash-hof:hover { transform: translateY(-1px); border-color: var(--gold-lt); text-decoration: none; }
.dash-hof-ic { font-size: 1.4rem; flex: 0 0 auto; }
.dash-hof-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.dash-hof-title { color: var(--ink); font-weight: 700; font-size: .96rem; }
.dash-hof-sub { color: var(--ink-dim); font-size: .82rem; }
.dash-hof-go { flex: 0 0 auto; color: var(--gold-lt); font-size: 1.2rem; font-weight: 700; }

/* the big live entry counter */
.ref-entries {
  display: inline-flex; align-items: baseline; gap: 10px;
  padding: 14px 30px; margin: 0 auto 6px; border-radius: 14px;
  background: rgba(214,178,92,.08); border: 1px solid var(--gold-deep);
}
.ref-entries-num {
  font-family: var(--font-head); font-weight: 900; color: var(--gold-lt);
  font-size: clamp(2.4rem, 8vw, 3.2rem); line-height: 1;
}
.ref-entries-num.bump { animation: ref-bump .55s cubic-bezier(.2,1.4,.4,1); }
@keyframes ref-bump { 0% { transform: scale(1); } 40% { transform: scale(1.32); color: #fff; } 100% { transform: scale(1); } }
.ref-entries-label { color: var(--gold); font-size: .95rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.ref-referrals { margin: 0 0 22px; color: var(--ink-dim); font-size: .88rem; }
.ref-referrals strong { color: var(--green-lt); }

/* the share link row */
.ref-link-label { text-align: left; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-dim); margin-bottom: 7px; }
.ref-link-row { display: flex; gap: 8px; margin-bottom: 16px; }
#ref-link {
  flex: 1; min-width: 0; padding: 13px 15px; font-family: inherit; font-size: .92rem;
  color: var(--gold-lt); background: #0e110d; border: 1px solid var(--card-line); border-radius: 10px;
}
#ref-link:focus { outline: none; border-color: var(--gold-deep); box-shadow: 0 0 0 3px rgba(214,178,92,.16); }
.ref-copy {
  flex: 0 0 auto; padding: 13px 20px; font-family: inherit; font-weight: 700; font-size: .92rem; cursor: pointer;
  color: #1a1406; background: linear-gradient(180deg, var(--gold-lt), var(--gold)); border: none; border-radius: 10px;
  transition: filter .12s, transform .12s;
}
.ref-copy:hover { filter: brightness(1.05); transform: translateY(-1px); }
.ref-copy.copied { background: linear-gradient(180deg, var(--green-lt), var(--green)); color: #06210a; }

/* share buttons */
.ref-share { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; }
.ref-share-btn {
  font-family: inherit; font-size: .86rem; font-weight: 600; cursor: pointer;
  padding: 9px 15px; border-radius: 999px; color: var(--ink);
  background: #1b1f18; border: 1px solid var(--card-line); transition: background .14s, border-color .14s, transform .12s;
}
.ref-share-btn:hover { transform: translateY(-1px); border-color: var(--gold-deep); background: #22271e; text-decoration: none; }
.ref-share-btn[hidden] { display: none; }
.ref-share-btn.native { background: rgba(214,178,92,.14); border-color: var(--gold-deep); color: var(--gold-lt); }
.ref-share-btn.sms:hover { border-color: var(--green-lt); }
.ref-share-btn.wa:hover  { border-color: #25d366; }
.ref-share-btn.fb:hover  { border-color: #4267b2; }
.ref-share-btn.x:hover   { border-color: #fff; }
.ref-foot { margin: 20px 0 0; color: var(--ink-dim); font-size: .82rem; }

/* live "someone joined" toast */
.ref-toast {
  position: fixed; left: 50%; bottom: 26px; transform: translate(-50%, 20px);
  z-index: 80; max-width: calc(100vw - 32px);
  padding: 13px 20px; border-radius: 999px; font-size: .92rem; font-weight: 700; color: #06210a;
  background: linear-gradient(180deg, var(--green-lt), var(--green));
  box-shadow: 0 18px 40px -12px rgba(0,0,0,.7);
  opacity: 0; pointer-events: none; transition: opacity .3s, transform .3s;
}
.ref-toast.show { opacity: 1; transform: translate(-50%, 0); }
.ref-toast[hidden] { display: none; }

@media (max-width: 480px) {
  .ref-link-row { flex-direction: column; }
  .ref-copy { width: 100%; }
}

/* "Dashboard" nav tab — only revealed once you're a member (gold accent) */
.nav-dashboard { color: var(--gold-lt) !important; font-weight: 600; }
.nav-dashboard:hover { color: #fff !important; text-decoration: none; }
.nav-dashboard[hidden] { display: none; }

/* the dedicated /entered confirmation page */
.entered-main {
  min-height: calc(100vh - 74px);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: clamp(28px, 6vw, 60px) clamp(18px, 5vw, 48px);
}
.entered-main .dash { margin: 0 auto; width: 100%; }
.entered-home { margin: 22px 0 0; text-align: center; font-size: .92rem; }
.entered-home a { color: var(--ink-soft); font-weight: 600; }

/* "you're not in yet" state (someone hit /entered without entering) */
.entered-empty {
  max-width: 480px; margin: 0 auto; text-align: center;
  background: var(--card); border: 1px solid var(--card-line); border-radius: var(--radius);
  padding: 40px 30px;
}
.entered-empty[hidden] { display: none; }
.entered-empty .empty-mark { color: var(--gold); font-size: 2rem; margin-bottom: 10px; }
.entered-empty h3 { font-family: var(--font-head); font-size: 1.5rem; margin: 0 0 10px; }
.entered-empty p { color: var(--ink-soft); margin: 0 0 24px; }
