/* ============================================================
   JV PARTNERS PAGE — components that exist only on /jvz/partners/.
   Everything else comes from style.css (identical to the live FE
   page), so the tokens, type and section grammar stay shared.
   ============================================================ */

/* ---------- Top bar (JV) ---------- */
.topbar .jv-meta { display:inline-flex; gap:14px; flex-wrap:wrap; align-items:center; }
.topbar .jv-meta b { color:#fff; }

/* ---------- Hero ---------- */
.hero .pre-head {
  font-family: "Bubblegum Sans", sans-serif;
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  color: var(--gold);
  margin: 0 auto 14px;
  max-width: 820px;
}
.hero h1.jv-h1 { font-size: clamp(1.9rem, 4.3vw, 3.05rem); line-height: 1.12; max-width: 1040px; margin: 0 auto; }
.hero h1.jv-h1 .hl { color: var(--orange-2); }
.hero .jv-offer {
  display:inline-block; margin-top:18px; font-weight:700; color:#fff;
  background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  border-radius:14px; padding:10px 18px; font-size:1.02rem;
}
.hero .jv-offer .hl { color: var(--gold); }
.launch-strip {
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px;
  margin: 26px auto 0; max-width: 980px;
}
.launch-strip > span {
  display:inline-flex; align-items:center; gap:8px;
  background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14);
  color:#fff; font-weight:700; font-size:.92rem; border-radius:100px; padding:9px 16px;
}
.launch-strip > span i { color: var(--orange-2); }

/* ---------- Get on board (JV list + link) ---------- */
.board {
  max-width: 900px; margin: 52px auto 0; background:#fff; border-radius:30px;
  border:3px solid var(--orange); padding: 34px 36px; text-align:left;
  display:grid; grid-template-columns: 1.05fr 1fr; gap:30px; align-items:center;
}
@media (max-width: 820px){ .board{ grid-template-columns:1fr; padding:26px 22px; } }
.board h3 { font-size: clamp(1.4rem,2.6vw,1.9rem); margin-bottom:6px; }
.board h3 .grad-text { font-weight:800; }
.board p { font-size:1rem; color:var(--slate); margin-bottom:0; }
.board .or { font-size:.9rem; color:var(--muted); margin-top:14px; }
.jv-form { display:flex; flex-direction:column; gap:10px; }
.jv-form input {
  width:100%; border:1.5px solid var(--border); border-radius:12px; padding:13px 15px;
  font:inherit; font-size:1rem; color:var(--text); background:var(--bg);
}
.jv-form input:focus { outline:none; border-color: var(--orange); box-shadow:0 0 0 4px rgba(245,123,24,.14); }
.jv-form .btn-cta { width:100%; font-size:1.12rem; padding:14px 22px; border:0; }
.jv-form .fine { font-size:.78rem; color:var(--muted); margin:0; text-align:center; }
.jv-form .ok { display:none; font-weight:700; color: var(--viridian); text-align:center; font-size:.95rem; }
.jv-form.sent .ok { display:block; }
.btn-jvz {
  display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%;
  background: var(--ink); color:#fff; font-weight:800; font-size:1.08rem;
  border-radius:100px; padding:14px 22px; text-decoration:none; transition:.2s;
}
.btn-jvz:hover { background: var(--ink-3); color:#fff; transform: translateY(-2px); }
.btn-jvz img { height:22px; }

/* ---------- Glimpse (9 capability cards) ---------- */
.glimpse { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width: 900px){ .glimpse{ grid-template-columns:repeat(2,1fr);} }
@media (max-width: 580px){ .glimpse{ grid-template-columns:1fr;} }
.gcard {
  background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg);
  padding: 26px 24px; box-shadow: var(--shadow-rest); transition:.25s; position:relative;
}
.gcard:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: rgba(245,123,24,.35); }
.gcard .gi {
  width:52px; height:52px; border-radius:15px; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.25rem; margin-bottom:16px; background: var(--grad-cta); box-shadow: var(--glow-orange);
}
.gcard .gi.t { background: linear-gradient(135deg,var(--pine),var(--teal)); box-shadow:0 4px 14px rgba(21,122,116,.25); }
.gcard .gi.m { background: linear-gradient(135deg,var(--viridian),var(--mantis)); box-shadow:0 4px 14px rgba(96,193,77,.25); }
.gcard h3 { font-size:1.18rem; margin-bottom:8px; }
.gcard p { font-size:.98rem; margin:0; color: var(--slate); }
.gcard.money { background: linear-gradient(160deg,#fff7ef,#fff); border-color: rgba(245,123,24,.4); }
.fable-note {
  display:inline-flex; align-items:center; gap:8px; margin-top:12px; font-weight:700; font-size:.92rem;
  color: var(--pine); background: rgba(21,122,116,.08); border:1px solid rgba(21,122,116,.2);
  border-radius:100px; padding:7px 15px;
}

/* ---------- Hook callout ---------- */
.hook-box {
  max-width: 940px; margin: 0 auto; border-radius: 28px; padding: 44px 40px; text-align:center;
  background: radial-gradient(circle at 20% 0%, rgba(245,123,24,.22), transparent 55%), var(--ink);
  border: 1px solid rgba(245,123,24,.35); position: relative; overflow:hidden;
}
.hook-box .tag { font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:.74rem; color: var(--orange-2); }
.hook-box h2 { color:#fff; margin: 10px 0 8px; }
.hook-box .sub3 { color:#aeb6c2; font-size:1.05rem; margin-bottom:24px; }
.hook-box blockquote {
  margin:0 auto; max-width: 760px; font-family:"Outfit",sans-serif; font-weight:800; font-style:italic;
  font-size: clamp(1.35rem, 3vw, 2.05rem); line-height:1.25; color:#fff;
  border-top:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); padding: 22px 0;
}
.hook-box blockquote .q { color: var(--gold); }

/* ---------- Top 3 reasons ---------- */
.reasons { display:flex; flex-direction:column; gap:22px; max-width: 1000px; margin: 0 auto; }
.reason {
  display:grid; grid-template-columns: 110px 1fr; gap:26px; align-items:start;
  background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg); padding: 30px;
  box-shadow: var(--shadow-rest);
}
.reason:nth-child(2) { margin-left: 60px; }
@media (max-width: 700px){ .reason{ grid-template-columns:1fr; } .reason:nth-child(2){ margin-left:0; } }
.reason .num {
  font-family:"Outfit",sans-serif; font-weight:900; font-size: 4rem; line-height:1;
  background: var(--grad-sweep); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.reason h3 { margin-bottom: 10px; }
.reason ul { margin:0; padding-left: 0; list-style:none; }
.reason li { position:relative; padding-left: 28px; margin-bottom: 8px; font-size: 1.02rem; color: var(--slate); }
.reason li::before { content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; left:0; top:2px; color: var(--mantis); }

/* ---------- Welcome (dark reveal) ---------- */
.welcome-hi { font-family:"Bubblegum Sans",sans-serif; font-size: clamp(1.25rem,2.4vw,1.6rem); color: var(--gold); margin-bottom: 4px; }
.tagline-six { font-size: 1.12rem; color:#d7dce3; max-width: 760px; margin: 10px auto 0; }
.tagline-six b { color:#fff; }

/* ---------- Narrative / differentiator ---------- */
.mech-card {
  background: linear-gradient(160deg,#fff7ef,#fff); border:1px solid rgba(245,123,24,.3);
  border-radius: var(--radius-lg); padding: 30px 32px; margin-top: 26px;
}
.mech-card h3 { margin-bottom: 12px; }
.not-this { display:flex; flex-wrap:wrap; gap:10px; margin: 14px 0 0; }
.not-this span { font-weight:700; font-size:.9rem; border-radius:100px; padding:7px 14px; background:#fff; border:1px solid var(--border); color: var(--slate); }
.not-this span.yes { background: var(--grad-cta); color:#fff; border:0; }
.why-cards { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
@media (max-width: 900px){ .why-cards{ grid-template-columns:1fr; } }
.why-card { background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg); padding: 26px; border-top: 4px solid var(--orange); }
.why-card:nth-child(2){ border-top-color: var(--pine); }
.why-card:nth-child(3){ border-top-color: var(--mantis); }
.why-card h3 { font-size:1.2rem; margin-bottom:8px; }
.why-card p { font-size:1rem; margin:0; color: var(--slate); }

/* ---------- Lever band ---------- */
.lever { text-align:center; max-width: 880px; margin: 0 auto; }
.lever p.big { font-size: clamp(1.2rem,2.3vw,1.5rem); color:#fff; font-weight:700; }
.lever .question {
  margin: 28px auto 0; font-family:"Outfit",sans-serif; font-weight:900; text-transform:uppercase;
  font-size: clamp(1.15rem,2.4vw,1.6rem); line-height:1.25; color:#fff; letter-spacing:-.01em;
}

/* ---------- Comparison (7 cols) ---------- */
.cmp.cmp7 { min-width: 980px; font-size:.9rem; }
.cmp.cmp7 thead th { font-size: .95rem; line-height:1.25; }
.cmp.cmp7 thead th small { display:block; font-weight:600; color: var(--muted); font-size:.74rem; margin-top:3px; }
.cmp.cmp7 thead .vd small { color: rgba(255,255,255,.85); }
.cmp.cmp7 td.word { color: var(--muted); font-weight:600; font-size:.85rem; }
.cmp.cmp7 tr.cost td { font-weight:800; color: var(--ink); background: var(--bg); }
.cmp.cmp7 tr.cost td.vd { color: var(--orange); }
.cmp.cmp7 td.vd.inc { color: var(--viridian); font-weight:800; }

/* ---------- Proof: success stories ---------- */
.stories { display:grid; grid-template-columns: repeat(2,1fr); gap:20px; }
@media (max-width: 800px){ .stories{ grid-template-columns:1fr; } }
.story-card {
  display:grid; grid-template-columns: 96px 1fr; gap:18px; align-items:center;
  background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg); padding: 20px 22px; box-shadow: var(--shadow-rest);
}
.story-card .ph {
  width:96px; height:96px; border-radius:20px; display:flex; align-items:center; justify-content:center;
  font-family:"Outfit",sans-serif; font-weight:800; font-size:1.7rem; color:#fff; background: var(--grad-cta); overflow:hidden;
}
.story-card .ph img { width:100%; height:100%; object-fit:cover; }
.story-card:nth-child(4n+2) .ph { background: linear-gradient(135deg,var(--pine),var(--teal)); }
.story-card:nth-child(4n+3) .ph { background: linear-gradient(135deg,var(--viridian),var(--mantis)); }
.story-card:nth-child(4n) .ph { background: linear-gradient(135deg,#7a5cf5,#f57b18); }
.story-card p { font-size:1rem; margin:0; color: var(--slate); }
.story-card p b { color: var(--orange); }

/* ---------- Market stats ---------- */
.market { display:grid; grid-template-columns: repeat(2,1fr); gap:20px; }
@media (max-width: 800px){ .market{ grid-template-columns:1fr; } }
.mstat { background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius: var(--radius-lg); padding: 26px; display:flex; gap:18px; align-items:flex-start; }
.mstat .mi { flex:0 0 58px; height:58px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:#fff; background: var(--grad-cta); }
.mstat:nth-child(2) .mi { background: linear-gradient(135deg,var(--pine),var(--teal)); }
.mstat:nth-child(3) .mi { background: linear-gradient(135deg,var(--viridian),var(--mantis)); }
.mstat:nth-child(4) .mi { background: linear-gradient(135deg,#7a5cf5,#f57b18); }
.mstat p { margin:0; font-size:1.02rem; color:#c9d0da; }
.mstat p b { color:#fff; }
.gary {
  margin: 44px auto 0; max-width: 820px; text-align:center; padding: 32px 30px; border-radius: 26px;
  background: linear-gradient(135deg, rgba(245,123,24,.14), rgba(96,193,77,.08)); border:1px solid rgba(245,123,24,.3);
}
.gary .qm { font-family: Georgia, serif; font-size: 4rem; line-height: .6; color: var(--orange-2); display:block; }
.gary p.q { font-family:"Outfit",sans-serif; font-style:italic; font-weight:700; font-size: clamp(1.15rem,2.3vw,1.5rem); color:#fff; margin: 10px 0 12px; }
.gary .by { font-weight:700; color: var(--gold); font-size:.95rem; letter-spacing:.06em; text-transform:uppercase; }

/* ---------- Recurring income duo ---------- */
.duo { display:grid; grid-template-columns: repeat(2,1fr); gap:22px; max-width: 980px; margin: 0 auto; }
@media (max-width: 760px){ .duo{ grid-template-columns:1fr; } }
.duo-card { background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-rest); }
.duo-card .top { height: 150px; display:flex; align-items:center; justify-content:center; background: linear-gradient(135deg,#fff3e6,#ffe0bf); }
.duo-card:nth-child(2) .top { background: linear-gradient(135deg,#e7f7f2,#d2efe6); }
.duo-card .top .fig { font-family:"Outfit",sans-serif; font-weight:900; font-size: 2.6rem; color: var(--orange); }
.duo-card:nth-child(2) .top .fig { color: var(--pine); }
.duo-card .top small { display:block; font-weight:700; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color: var(--muted); text-align:center; }
.duo-card .body { padding: 20px 22px; }
.duo-card .body p { margin:0; font-size:1.02rem; color: var(--slate); }

/* ---------- Audience looking-for cards ---------- */
.looking { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
@media (max-width: 900px){ .looking{ grid-template-columns:1fr 1fr; } }
@media (max-width: 580px){ .looking{ grid-template-columns:1fr; } }
.look { background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg); padding: 24px; }
.look .cap { display:inline-block; font-weight:800; font-size:.74rem; letter-spacing:.14em; color: var(--orange); background: rgba(245,123,24,.08); border-radius: 100px; padding: 5px 12px; margin-bottom: 12px; }
.look h3 { font-size:1.15rem; margin-bottom:6px; }
.look p { margin:0; font-size:.98rem; color: var(--slate); }
.look.more { display:flex; align-items:center; justify-content:center; text-align:center; background: var(--grad-cta); border:0; }
.look.more h3 { color:#fff; font-size:1.5rem; margin:0; }

/* ---------- Problems ---------- */
.probs { display:flex; flex-direction:column; gap:22px; max-width: 1000px; margin: 0 auto; }
.prob {
  display:grid; grid-template-columns: 1fr 1.1fr; gap: 28px; align-items:center;
  background:#fff; border:1px solid var(--border); border-radius: 26px; padding: 26px; box-shadow: var(--shadow-rest);
}
.prob:nth-child(even) .pimg { order: 2; }
@media (max-width: 760px){ .prob{ grid-template-columns:1fr; } .prob:nth-child(even) .pimg{ order:0; } }
.prob .pimg img { border-radius: 18px; width:100%; }
.prob .tag { display:inline-block; font-weight:800; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:#e5484d; border-radius:100px; padding:5px 12px; margin-bottom:10px; }
.prob h3 { margin-bottom:10px; }
.prob ul { list-style:none; padding:0; margin:0 0 10px; }
.prob li { position:relative; padding-left: 26px; margin-bottom: 6px; color: var(--slate); font-size:1rem; }
.prob li::before { content:"\f00d"; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; left:2px; top:1px; color:#e5484d; }
.prob p { font-size:1rem; margin:0; }
.better {
  max-width: 900px; margin: 44px auto 0; background: linear-gradient(160deg,#effaf2,#fff);
  border:1px solid rgba(96,193,77,.35); border-radius: 26px; padding: 30px 32px;
}
.better h3 { text-align:center; margin-bottom: 18px; }
.better ul { list-style:none; padding:0; margin:0; }
.better li { display:flex; gap:12px; align-items:flex-start; margin-bottom: 12px; font-size:1.04rem; color: var(--slate); }
.better li img { width: 26px; flex:0 0 26px; margin-top: 2px; }

/* ---------- Introducing chips ---------- */
.no-more { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top: 28px; }
.no-more span { font-weight:700; background: rgba(229,72,77,.12); color:#ff9a9d; border:1px solid rgba(229,72,77,.35); border-radius:100px; padding:10px 18px; font-size:.98rem; }

/* ---------- 4 steps (image variant) ---------- */
.steps4 { display:grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
@media (max-width: 800px){ .steps4{ grid-template-columns:1fr; } }
.step4 { background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-rest); display:flex; flex-direction:column; }
.step4 .fig { background: linear-gradient(160deg,#fff3e6,#fff); padding: 18px 18px 0; }
.step4 .fig img { border-radius: 14px 14px 0 0; display:block; width:100%; box-shadow: 0 -2px 20px rgba(0,0,0,.06); }
.step4 .body { padding: 22px 24px 26px; }
.step4 .sn { font-weight:800; font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color: var(--orange); }
.step4 h3 { margin: 6px 0 8px; font-size: 1.3rem; }
.step4 p { margin:0; font-size:1rem; color: var(--slate); }

/* ---------- Core tool + upgrades ---------- */
.sold { display:inline-block; font-weight:700; font-size:.82rem; color: var(--muted); background: var(--bg); border:1px dashed var(--border); border-radius: 100px; padding: 5px 13px; margin: 6px 0 12px; }
.sold b { color: var(--ink); }
.feature .jv-list { list-style:none; padding:0; margin: 14px 0 0; }
.feature .jv-list li { display:flex; gap:10px; align-items:flex-start; margin-bottom: 8px; font-size: .98rem; color: var(--slate); }
.feature .jv-list li img { width: 20px; margin-top: 3px; }
/* masonry flow: short cards no longer stretch to match the tall ones */
.incl-grid { columns: 2; column-gap: 20px; margin-top: 30px; }
@media (max-width: 800px){ .incl-grid{ columns: 1; } }
.incl-grid > .incl { break-inside: avoid; margin-bottom: 20px; }
.incl { background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg); padding: 24px; box-shadow: var(--shadow-rest); }
.incl .ih { display:flex; align-items:center; gap: 12px; margin-bottom: 10px; }
.incl .ih .gi { width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center; color:#fff; background: var(--grad-cta); font-size:1.05rem; flex:0 0 44px; }
.incl:nth-child(3n+2) .ih .gi { background: linear-gradient(135deg,var(--pine),var(--teal)); }
.incl:nth-child(3n) .ih .gi { background: linear-gradient(135deg,var(--viridian),var(--mantis)); }
.incl h3 { font-size: 1.15rem; margin:0; }
.incl p { font-size: .98rem; margin: 0 0 6px; color: var(--slate); }
.incl ul { list-style:none; padding:0; margin: 6px 0 0; }
.incl li { position:relative; padding-left: 22px; margin-bottom: 5px; font-size: .95rem; color: var(--slate); }
.incl li::before { content:""; position:absolute; left:4px; top:9px; width:8px; height:8px; border-radius:50%; background: var(--grad-cta); }
.incl img.shot { border-radius: 12px; border:1px solid var(--border); margin-top: 12px; width:100%; }
.incl.wide { column-span: all; background: linear-gradient(160deg,#fff7ef,#fff); border-color: rgba(245,123,24,.35); }

.upgrades { display:grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
@media (max-width: 800px){ .upgrades{ grid-template-columns:1fr; } }
.upg { background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg); padding: 28px; position:relative; box-shadow: var(--shadow-rest); }
.upg .ulabel { font-weight:800; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color: var(--orange); }
.upg h3 { margin: 6px 0 2px; }
.upg .lead { font-style: italic; color: var(--muted); font-size: .98rem; margin: 6px 0 12px; }
.upg ul { list-style:none; padding:0; margin: 0 0 12px; }
.upg li { display:flex; gap:10px; align-items:flex-start; margin-bottom: 7px; font-size:.98rem; color: var(--slate); }
.upg li img { width: 20px; margin-top: 3px; }
.upg .why { font-size:.96rem; margin:0; color: var(--slate); border-top: 1px dashed var(--border); padding-top: 12px; }
.upg.bonus-up { grid-column: 1/-1; background: linear-gradient(135deg,#1d2128,#2d333c); border:0; }
.upg.bonus-up h3, .upg.bonus-up .why { color:#fff; }
.upg.bonus-up .lead { color:#aeb6c2; }
.upg.bonus-up .sold { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.2); color:#aeb6c2; }
.upg.bonus-up .sold b { color:#fff; }

.small-fee {
  max-width: 900px; margin: 44px auto 0; text-align:center; border-radius: 26px; padding: 34px 32px;
  background: var(--ink); border: 1px solid rgba(245,123,24,.35);
}
.small-fee h3 { color:#fff; font-size: clamp(1.4rem,2.8vw,2rem); margin-bottom: 12px; }
.small-fee p { color:#aeb6c2; font-size: 1.04rem; }
.small-fee p strong { color: var(--gold); }

/* ---------- Why affiliates love ---------- */
.love { display:grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
@media (max-width: 900px){ .love{ grid-template-columns:1fr 1fr; } }
@media (max-width: 580px){ .love{ grid-template-columns:1fr; } }
.love-card { background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius: var(--radius-lg); padding: 24px; }
.love-card .gi { width:48px; height:48px; border-radius: 14px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.15rem; background: var(--grad-cta); margin-bottom: 14px; }
.love-card:nth-child(3n+2) .gi { background: linear-gradient(135deg,var(--pine),var(--teal)); }
.love-card:nth-child(3n) .gi { background: linear-gradient(135deg,var(--viridian),var(--mantis)); }
.love-card h3 { font-size: 1.12rem; margin-bottom: 8px; }
.love-card p { margin:0; font-size: .98rem; }
.bonus-note { max-width: 860px; margin: 40px auto 0; text-align:center; font-size: 1.1rem; color:#d7dce3; }
.bonus-note b { color: var(--gold); }

/* ---------- Funnel ladder ---------- */
.ladder { max-width: 1000px; margin: 0 auto; display:flex; flex-direction:column; gap: 16px; }
.rung {
  display:grid; grid-template-columns: 150px 1fr 190px; gap: 22px; align-items:center;
  background:#fff; border:1px solid var(--border); border-radius: 22px; padding: 22px 24px; box-shadow: var(--shadow-rest); position:relative;
}
.rung::after {
  content:""; position:absolute; left: 96px; bottom:-17px; width: 2px; height: 16px; background: var(--border);
}
.rung:last-child::after { display:none; }
@media (max-width: 820px){ .rung{ grid-template-columns:1fr; text-align:left; } .rung::after{ left: 40px; } }
.rung .step { font-weight:800; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:#fff; background: var(--ink-3); border-radius: 100px; padding: 7px 12px; text-align:center; }
.rung.fe .step { background: var(--grad-cta); }
.rung.oto .step { background: linear-gradient(135deg,var(--pine),var(--teal)); }
.rung.rec .step { background: linear-gradient(135deg,var(--viridian),var(--mantis)); }
.rung h3 { font-size: 1.2rem; margin: 0 0 6px; }
.rung h3 .p { color: var(--orange); }
.rung p { margin:0; font-size: .97rem; color: var(--slate); }
.rung .comm { text-align:center; background: linear-gradient(160deg,#fff7ef,#fff); border:1px solid rgba(245,123,24,.35); border-radius: 16px; padding: 12px 10px; }
.rung .comm .v { display:block; font-family:"Outfit",sans-serif; font-weight:900; font-size: 1.7rem; color: var(--orange); font-variant-numeric: tabular-nums; line-height:1.1; }
.rung .comm .l { font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color: var(--muted); }
.rung .comm .l2 { display:block; font-size:.8rem; font-weight:700; color: var(--viridian); margin-top: 3px; }
.rung.fe { border: 2px solid var(--orange); }
.ladder-foot { text-align:center; margin-top: 22px; font-size: .92rem; color: var(--muted); }

/* ---------- Prizes / reciprocation / resources ---------- */
.prize-pool { text-align:center; }
.prize-pool .pool {
  display:inline-block; font-family:"Outfit",sans-serif; font-weight:900; font-size: clamp(3.2rem,9vw,6rem); line-height:1;
  background: var(--grad-sweep); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.prizes { display:grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 34px; }
@media (max-width: 800px){ .prizes{ grid-template-columns:1fr; } }
.prize { border-radius: var(--radius-lg); padding: 28px 22px; text-align:center; background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); }
.prize .medal-i { font-size: 2.2rem; }
.prize h3 { font-size: 1.15rem; margin: 10px 0 6px; }
.prize p { margin:0; font-size: .95rem; }
.prize.gold { border-color: rgba(254,214,41,.5); background: linear-gradient(160deg, rgba(254,214,41,.12), rgba(255,255,255,.03)); }
.recip { text-align:center; }
.recip .yeah { font-family:"Bubblegum Sans",sans-serif; font-size: clamp(2.2rem,5vw,3.4rem); color: var(--orange); line-height:1; margin: 6px 0 24px; display:block; }
.proof-slots { display:grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
@media (max-width: 800px){ .proof-slots{ grid-template-columns:1fr; } }
.proof-slot { aspect-ratio: 4/3; border-radius: 20px; border: 2px dashed rgba(245,123,24,.4); background: linear-gradient(160deg,#fff7ef,#fff); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color: var(--muted); font-weight:700; font-size:.92rem; }
.proof-slot i { font-size: 1.8rem; color: var(--orange); }
.proof-slot img { width:100%; height:100%; object-fit:cover; border-radius: 18px; }

.tools { display:grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
@media (max-width: 900px){ .tools{ grid-template-columns:1fr 1fr; } }
@media (max-width: 580px){ .tools{ grid-template-columns:1fr; } }
.tool-card { background:#fff; border:1px solid var(--border); border-radius: var(--radius-lg); padding: 24px; display:flex; flex-direction:column; gap: 10px; box-shadow: var(--shadow-rest); }
.tool-card .gi { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.15rem; background: var(--grad-cta); }
.tool-card:nth-child(3n+2) .gi { background: linear-gradient(135deg,var(--pine),var(--teal)); }
.tool-card:nth-child(3n) .gi { background: linear-gradient(135deg,var(--viridian),var(--mantis)); }
.tool-card h3 { font-size: 1.12rem; margin: 0; }
.tool-card p { margin: 0; font-size: .96rem; color: var(--slate); flex:1; }
.tool-card a { align-self:flex-start; font-weight:800; color: var(--orange); text-decoration:none; border:1.5px solid rgba(245,123,24,.4); border-radius:100px; padding: 8px 16px; font-size:.92rem; transition:.2s; }
.tool-card a:hover { background: var(--orange); color:#fff; }

/* ---------- Contact / final box ---------- */
.contact-row { display:flex; gap: 26px; align-items:center; justify-content:center; flex-wrap:wrap; margin-top: 10px; }
.contact-row .faces { display:flex; }
.contact-row .faces img, .contact-row .faces span { width: 86px; height: 86px; border-radius: 50%; border: 4px solid #fff; box-shadow: var(--shadow-lift); object-fit: cover; }
.contact-row .faces span { margin-left: -18px; display:flex; align-items:center; justify-content:center; background: var(--grad-cta); color:#fff; font-family:"Outfit",sans-serif; font-weight:800; font-size: 1.6rem; }
.contact-row .names .sig { font-family:"Bubblegum Sans",sans-serif; font-size: 1.8rem; color: var(--ink); margin:0; line-height:1.1; }
.contact-row .names .role { margin:0; font-size:.92rem; color: var(--muted); }
.contact-links { display:flex; gap: 12px; flex-wrap:wrap; justify-content:center; margin-top: 22px; }
.contact-links a { display:inline-flex; align-items:center; gap:8px; font-weight:700; text-decoration:none; color: var(--ink); background:#fff; border:1px solid var(--border); border-radius:100px; padding: 10px 18px; transition:.2s; }
.contact-links a:hover { border-color: var(--orange); color: var(--orange); }

.terms { max-width: 900px; margin: 0 auto; }
.terms ol { padding-left: 20px; margin: 0; }
.terms li { color:#aeb6c2; font-size: .95rem; margin-bottom: 8px; }
.terms li b { color:#fff; }
.date-chip { display:inline-flex; align-items:center; gap:10px; font-weight:800; color:#fff; background: var(--grad-cta); border-radius: 100px; padding: 10px 20px; font-size: 1.02rem; box-shadow: var(--glow-orange); }

/* placeholder token (anything still waiting on real content) */
.ph-token { border-bottom: 2px dashed var(--orange); }

/* ---------- Top-bar countdown label ---------- */
.topbar .timer-lbl { font-weight: 800; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: #fff; opacity: .9; }
.topbar .timer-lbl:empty { display: none; }

/* ---------- Two contests ---------- */
.contests { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; margin-top: 34px; }
@media (max-width: 800px){ .contests{ grid-template-columns:1fr; } }
.contest { border-radius: var(--radius-lg); padding: 24px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); }
.contest:first-child { border-color: rgba(254,214,41,.45); background: linear-gradient(160deg, rgba(254,214,41,.1), rgba(255,255,255,.03)); }
.contest .ch { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
.contest .cn { font-family: "Outfit", sans-serif; font-weight: 800; font-size: 1.35rem; color: #fff; }
.contest .cw { font-size: .85rem; color: var(--gold); font-weight: 700; }
.contest .places { list-style: none; padding: 0; margin: 0; }
.contest .places li { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-radius: 12px; margin-bottom: 6px; background: rgba(255,255,255,.04); color: #d7dce3; font-weight: 600; }
.contest .places li b { font-family: "Outfit", sans-serif; font-size: 1.2rem; color: #fff; font-variant-numeric: tabular-nums; }
.contest .places li.p1 b { color: var(--gold); font-size: 1.45rem; }
.contest .ctot { text-align: right; margin-top: 10px; color: #aeb6c2; font-weight: 700; }
.contest .ctot b { color: var(--orange-2); font-size: 1.2rem; }
.contest-rules { max-width: 900px; margin: 30px auto 0; background: rgba(255,255,255,.03); border: 1px dashed rgba(255,255,255,.18); border-radius: 20px; padding: 22px 26px; }
.contest-rules h3 { font-size: 1.1rem; margin-bottom: 10px; }
.contest-rules ul { margin: 0; padding-left: 20px; }
.contest-rules li { color: #aeb6c2; font-size: .94rem; margin-bottom: 6px; }
.contest-rules li b { color: #fff; }

/* ---------- Contact note ---------- */
.contact-note { font-family: var(--font-body) !important; font-size: .95rem !important; color: var(--slate); max-width: 620px; margin: 18px auto 0; }

/* ============================================================
   LAUNCH AT A GLANCE — pre-launch + launch-day cards, launch-week calendar
   ============================================================ */
.sched-sec {
  background:
    radial-gradient(900px 420px at 85% -10%, rgba(245,123,24,.12), transparent 60%),
    radial-gradient(700px 380px at 0% 110%, rgba(96,193,77,.12), transparent 60%),
    linear-gradient(180deg, #fffaf4 0%, #f6fbf7 100%);
}
.sched-sec::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: linear-gradient(rgba(29,33,40,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(29,33,40,.04) 1px, transparent 1px);
  background-size: 44px 44px;
}
.sched-top { display: grid; grid-template-columns: 1fr 1.6fr; gap: 22px; align-items: stretch; }
@media (max-width: 900px){ .sched-top { grid-template-columns: 1fr; } }
.sc-card { position: relative; border-radius: 28px; padding: 28px; overflow: hidden; }
.sc-tag { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pine); background: rgba(21,122,116,.1); border: 1px solid rgba(21,122,116,.25); border-radius: 100px; padding: 7px 14px; }
.sc-tag.hot { color: #fff; background: rgba(245,123,24,.18); border-color: rgba(245,123,24,.45); }
.sc-tag.hot i { color: var(--orange-2); }

/* pre-launch */
.sc-pre { background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-lift); display: flex; flex-direction: column; }
.sc-pre::after { content: ""; position: absolute; right: -60px; top: -60px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(48,196,183,.18), transparent 70%); pointer-events: none; }
.sc-dates { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 18px 0 6px; font-family: "Outfit", sans-serif; }
.sc-dates b { font-size: 2.3rem; font-weight: 900; color: var(--ink); line-height: 1; }
.sc-dates span { font-size: 1.6rem; color: var(--teal); font-weight: 800; }
.sc-dates small { width: 100%; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; color: var(--muted); }
.sc-pre h3 { font-size: 1.3rem; margin: 8px 0 6px; }
.sc-pre p { font-size: 1rem; color: var(--slate); }
.sc-mini { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.sc-mini span { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; font-weight: 700; color: var(--ink); background: var(--bg); border: 1px solid var(--border); border-radius: 100px; padding: 6px 12px; }
.sc-mini i { color: var(--mantis); }

/* launch day */
.sc-day { background: radial-gradient(700px 300px at 100% 0%, rgba(245,123,24,.35), transparent 60%), linear-gradient(160deg, #1d2128 0%, #262c35 100%); color: #fff; box-shadow: 0 30px 70px rgba(29,33,40,.35); border: 1px solid rgba(245,123,24,.35); }
.sc-day::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .06; background-image: radial-gradient(circle, #fff 1px, transparent 1px); background-size: 22px 22px; }
.sc-day-head { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; flex-wrap: wrap; }
.sc-bigdate { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-top: 14px; font-family: "Outfit", sans-serif; }
.sc-bigdate .dow { font-size: 1.15rem; font-weight: 700; color: #aeb6c2; }
.sc-bigdate .dnum { font-size: 4.6rem; font-weight: 900; line-height: .9; background: var(--grad-cta); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sc-bigdate .mon { font-size: 1.15rem; font-weight: 800; color: #fff; }
.sc-count { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; padding: 12px 14px; text-align: center; }
.sc-count-lbl { display: block; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--orange-2); margin-bottom: 6px; }
.sc-count-row { display: flex; gap: 8px; }
.sc-count-row span { min-width: 52px; background: rgba(0,0,0,.25); border-radius: 12px; padding: 6px 4px; display: flex; flex-direction: column; }
.sc-count-row b { font-family: "Outfit", sans-serif; font-size: 1.5rem; font-weight: 900; color: #fff; font-variant-numeric: tabular-nums; line-height: 1.1; }
.sc-count-row i { font-style: normal; font-size: .64rem; color: #aeb6c2; text-transform: uppercase; letter-spacing: .08em; }
.sc-slots { position: relative; list-style: none; padding: 0; margin: 22px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 700px){ .sc-slots { grid-template-columns: 1fr; } }
.sc-slots li { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 16px; }
.sc-slots li .t { display: inline-block; font-family: "Outfit", sans-serif; font-weight: 900; font-size: 1.15rem; color: #fff; background: rgba(255,255,255,.08); border-radius: 10px; padding: 4px 10px; margin-bottom: 10px; }
.sc-slots li.go { background: linear-gradient(160deg, rgba(245,123,24,.28), rgba(245,123,24,.08)); border-color: rgba(245,123,24,.55); }
.sc-slots li.go .t { background: var(--grad-cta); }
.sc-slots li.peak .t { background: linear-gradient(135deg, var(--viridian), var(--mantis)); }
.sc-slots h4 { color: #fff; font-size: 1.05rem; margin: 0 0 4px; }
.sc-slots p { color: #c9d0da; font-size: .9rem; margin: 0; }

/* launch week calendar */
.sc-week { margin-top: 22px; background: #fff; border: 1px solid var(--border); border-radius: 28px; padding: 24px 24px 26px; box-shadow: var(--shadow-lift); }
.sc-week-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.sc-week-head h3 { font-size: 1.3rem; margin: 0; }
.sc-week-head span { font-size: .95rem; color: var(--slate); font-weight: 600; }
.sc-week-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
.sc-grid { display: grid; grid-template-columns: repeat(7, minmax(84px, 1fr)); gap: 10px; min-width: 660px; }
.sc-dayc { text-align: center; background: var(--bg); border: 1px solid var(--border); border-radius: 16px; padding: 10px 6px; }
.sc-dayc .d { display: block; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.sc-dayc .n { display: block; font-family: "Outfit", sans-serif; font-size: 1.7rem; font-weight: 900; color: var(--ink); line-height: 1.1; }
.sc-dayc.first { background: linear-gradient(160deg, #fff3e6, #fff); border-color: rgba(245,123,24,.5); }
.sc-dayc.first .n { color: var(--orange); }
.sc-dayc.last { background: linear-gradient(160deg, #fdecec, #fff); border-color: rgba(229,72,77,.45); }
.sc-dayc.last .n { color: #d6453b; }
.sc-bar { border-radius: 14px; padding: 12px 16px; color: #fff; display: flex; flex-direction: column; gap: 2px; box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.sc-bar b { font-family: "Outfit", sans-serif; font-weight: 800; font-size: 1.02rem; }
.sc-bar span { font-size: .8rem; opacity: .9; }
.sc-bar.open { grid-column: 1 / 4; grid-row: 2; background: linear-gradient(135deg, #f57b18, #fbb422); }
.sc-bar.close { grid-column: 4 / 8; grid-row: 2; background: linear-gradient(135deg, #1b8363, #60c14d); }
.sc-bar.final { grid-column: 6 / 8; grid-row: 3; background: linear-gradient(135deg, #e5484d, #f57b18); }
.sc-flag { grid-column: 1 / 8; grid-row: 4; justify-content: center; display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; background: var(--ink); color: #fff; border-radius: 14px; padding: 10px 16px; }
.sc-flag i { color: var(--gold); font-size: 1.1rem; }
.sc-flag b { font-family: "Outfit", sans-serif; font-weight: 800; }
.sc-flag span { font-size: .82rem; color: #c9d0da; }
.sc-tip { grid-column: 1 / 6; grid-row: 3; display: flex; align-items: center; gap: 12px; background: linear-gradient(135deg, #fffaf0, #fff); border: 1px dashed rgba(245,123,24,.45); border-radius: 14px; padding: 12px 16px; font-size: .92rem; color: var(--slate); }
.sc-tip i { color: var(--honey); font-size: 1.2rem; }
.sc-tip b { color: var(--ink); }
/* reciprocation proof collage */
.recip-img { max-width: 1040px; margin: 0 auto; }
.recip-img img { display: block; width: 100%; height: auto; filter: drop-shadow(0 30px 50px rgba(29,33,40,.18)); }

/* ---------- JV resources menu (hero, under the logo) ---------- */
.jv-nav { display: flex; width: fit-content; max-width: 100%; flex-wrap: wrap; justify-content: center; gap: 4px; margin: -10px auto 28px; padding: 6px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 100px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); position: relative; z-index: 2; }
.jv-nav a { display: inline-flex; align-items: center; gap: 8px; font-family: "Outfit", sans-serif; font-weight: 700; font-size: 1.05rem; color: var(--honey); text-decoration: none; padding: 9px 20px; border-radius: 100px; transition: background .2s, color .2s, transform .2s; }
.jv-nav a i { font-size: .9rem; opacity: .85; }
.jv-nav a:hover, .jv-nav a:focus-visible { background: rgba(251,180,34,.16); color: #fff; transform: translateY(-1px); outline: none; }
@media (max-width: 520px){ .jv-nav { border-radius: 22px; } .jv-nav a { padding: 8px 14px; font-size: .98rem; } }

/* in-page anchors (#funnel, #get-link, #schedule, #demo…) land below the sticky top bar */
html { scroll-padding-top: 76px; }
