/* NZT-98 members — ENTRY BANNER
   ------------------------------------------------------------------
   The first thing a buyer sees after signing in: one light card
   carrying the Nexa Group beta-tester offer, deliberately set apart
   from the member's own NZT-98 account. Ported from the old members
   area (welcome.html + members.css) so the two read the same.

   Everything is scoped under .offer and every variable is declared
   locally, so this file cannot reach into the course shell - that one
   has a dark sidebar, this card is light-mode only.
   ================================================================== */

/* while the entry card is up there is no sidebar and no header: the
   offer is a doorway, not a page inside the account */
body.entry .side,
body.entry .top { display:none !important }
body.entry .shell { display:block }
body.entry #view { padding:0 }

.offer{
  --ink:#0D1B2A;
  --ink-2:#1B2E45;
  --accent:#0E7490;
  --accent-d:#0B5A70;
  --accent-soft:#E2F4F8;
  --accent-line:#B6E2EC;
  --body:#1B2E45;
  --body-2:#41566B;
  --muted:#74879A;
  --muted-2:#94A5B5;
  --line:#E2E8EF;
  --page:#F5F8FA;
  --green:#129D5F;
  --green-soft:#E8F6EF;
  --rise:#D93B2B;
  --shadow-sm:0 1px 2px rgba(13,27,42,.06), 0 2px 6px rgba(13,27,42,.05);
  --shadow-lg:0 4px 8px rgba(13,27,42,.06), 0 24px 60px rgba(13,27,42,.16);

  min-height:100dvh;
  position:relative;
  overflow:hidden;
  color:var(--body);
  background:
    radial-gradient(900px 480px at 50% -16%, #DFF3F8 0%, rgba(230,240,254,0) 68%),
    linear-gradient(180deg,#FBFDFF 0%,#EDF2F7 100%);
  display:flex;flex-direction:column;
}
.offer *{box-sizing:border-box}

.offer-inner{
  position:relative;z-index:1;
  flex:1;
  display:flex;align-items:center;justify-content:center;
  padding:40px 20px 36px;
}
.offer .screen{width:100%;max-width:560px}
.offer .screen.active{animation:entry-in .42s cubic-bezier(.2,.75,.25,1) both}
@keyframes entry-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){ .offer .screen.active{animation:none} }

/* ---- the card ---- */
.offer .promo{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow-lg);
  overflow:hidden;
  display:block;
}

/* close (x) — dismisses into the account */
.promo-x{
  position:absolute;top:12px;right:12px;z-index:3;
  appearance:none;cursor:pointer;
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.86);
  border:1px solid var(--line);
  color:var(--muted);
  transition:background .14s ease,color .14s ease,border-color .14s ease;
}
.promo-x svg{width:14px;height:14px;fill:currentColor;display:block}
.promo-x:hover{background:#fff;color:var(--ink);border-color:var(--muted-2)}
.promo-x:focus-visible{outline:3px solid rgba(14,116,144,.45);outline-offset:2px}

/* ---- illustration band ---- */
.promo-art{
  display:block;
  background:
    radial-gradient(520px 220px at 50% 120%, #CFEDF4 0%, rgba(220,234,254,0) 70%),
    linear-gradient(180deg,#F2FBFD 0%,#E4F6FA 100%);
  border-bottom:1px solid var(--line);
  padding:14px 0 0;
}
.promo-art svg{display:block;width:100%;height:auto}

/* ---- body ---- */
.promo-b{padding:24px 28px 26px;text-align:center}

.promo-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:999px;
  background:var(--accent-soft);
  border:1px solid var(--accent-line);
  color:var(--accent-d);
  font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  margin:0 0 16px;
}
.promo-pill .dot{
  width:8px;height:8px;border-radius:50%;flex:none;
  background:var(--green);
  box-shadow:0 0 0 3px rgba(18,157,95,.18);
  animation:entry-live 1.8s ease-in-out infinite;
}
@keyframes entry-live{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.promo-pill .dot{animation:none}}

.promo-h1{
  font-size:31px;line-height:1.12;letter-spacing:-.028em;font-weight:800;
  color:var(--ink);margin:0 0 12px;
}
.promo-h1 .hl{color:var(--rise)}
/* the pay line, as its own line under the headline - the number has to be in
   the headline, not only in the green row further down */
.promo-h1 .hl-pay{display:block;margin-top:6px;color:var(--green);font-size:.82em}

/* the standing line under the headline */
.lede{margin:0 0 4px;font-size:16.5px;line-height:1.5;font-weight:500;color:var(--body)}
.lede b{color:var(--accent);font-weight:800}

/* reassurance strip, directly under the headline */
.good{display:flex;gap:10px;align-items:flex-start;text-align:left;
  background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:12px;
  padding:12px 14px;margin:16px 0 0;font-size:14.5px;line-height:1.45;color:var(--body)}
.good svg{width:20px;height:20px;flex:none;fill:var(--accent);margin-top:1px}
.good b{color:var(--ink)}

/* what the partner pays testers */
.pay{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--green-soft);border:1px solid #BFE6D3;border-radius:12px;
  padding:13px 16px;margin:14px 0 18px;text-align:left}
.pay .l{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:#0C7247}
.pay .v{margin:0;font:800 30px/1 inherit;color:var(--green);
  font-variant-numeric:tabular-nums}
.pay .v small{font-size:14px;font-weight:700;color:#0C7247}

/* ---- primary CTA ---- */
.btn-cta{
  display:flex;align-items:center;justify-content:center;gap:11px;
  width:100%;
  text-align:center;text-decoration:none;
  appearance:none;border:0;cursor:pointer;
  font:inherit;font-size:19px;font-weight:800;letter-spacing:-.01em;
  color:#fff;
  background:linear-gradient(180deg,var(--accent) 0%,var(--accent-d) 100%);
  border-radius:12px;
  padding:19px 22px;
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset, 0 8px 22px rgba(14,116,144,.32);
  transition:transform .08s ease, box-shadow .16s ease, filter .16s ease;
}
.btn-cta svg{width:17px;height:17px;fill:currentColor;flex:none}
.btn-cta:hover{filter:brightness(1.06);box-shadow:0 1px 0 rgba(255,255,255,.24) inset,0 12px 30px rgba(14,116,144,.4)}
.btn-cta:active{transform:translateY(2px);box-shadow:0 3px 10px rgba(14,116,144,.3)}
.btn-cta:focus-visible{outline:3px solid rgba(13,27,42,.45);outline-offset:3px}

/* ---- step 2 ---- */
.qh{margin:0 0 4px;font-size:22px;line-height:1.2;font-weight:800;color:var(--ink)}
.qs{margin:0 0 16px;font-size:15px;color:var(--body-2)}
.reqs{display:grid;gap:8px;margin:0 0 16px;text-align:left}
.req{display:flex;align-items:center;gap:11px;border:1px solid var(--line);
  border-radius:11px;padding:12px 14px;font-size:15px;font-weight:600;color:var(--ink-2);background:#fff}
.req i{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;
  background:var(--green-soft)}
.req i svg{width:15px;height:15px;fill:var(--green)}
.allq{margin:0 0 18px;font-size:16px;font-weight:700;color:var(--ink)}
.allq span{color:var(--green)}
.qdisc{margin:14px 2px 0;font-size:12.5px;line-height:1.5;color:var(--muted)}

.promo-fine{
  margin:11px 0 0;
  font-size:12.5px;line-height:1.6;color:var(--muted);
}

.offer .promo-note{
  margin:0;padding:13px 18px;
  border-top:1px solid var(--line);
  background:var(--page);
  font-size:12px;line-height:1.6;color:var(--muted);
  text-align:center;
}

.promo-skip{
  appearance:none;border:0;background:none;cursor:pointer;
  font:inherit;font-size:12px;font-weight:700;
  color:var(--accent-d);
  padding:0;margin-left:2px;
  text-decoration:underline;text-underline-offset:2px;
}
.promo-skip:hover{color:var(--ink)}
.promo-skip:focus-visible{outline:3px solid rgba(14,116,144,.4);outline-offset:2px;border-radius:4px}

.offer-foot{
  position:relative;z-index:1;
  padding:0 20px 30px;text-align:center;
  font-size:12px;color:var(--muted);line-height:1.65;
}
.offer-foot p{max-width:620px;margin:0 auto 8px}
.offer-foot a{color:var(--body-2);text-decoration:none;margin:0 8px;font-weight:600}
.offer-foot a:hover{text-decoration:underline}

@media (max-width:560px){
  .offer-inner{padding:26px 14px 30px}
  .promo-b{padding:20px 18px 22px}
  .promo-h1{font-size:26px}
  .btn-cta{font-size:17px;padding:17px 18px}
}
