/* ============================================================
   C-MOVA — sections.css · hero, bento, products, tables, rede,
   carreira, rewards, video, statement, cta, modal
   ============================================================ */

/* ─── HERO ───────────────────────────────────────────────────── */
@media (prefers-reduced-motion:no-preference){
  html.js #heroPill,
  html.js .hero__title .ln > span,
  html.js #heroSub,
  html.js #heroCta > *,
  html.js #heroTrust,
  html.js #heroStats .hero__stat { opacity:0; }
}

/* full-bleed background hero */
.hero {
  position:relative;
  min-height:100svh; min-height:100vh;
  display:flex; align-items:center;
  padding:calc(1rem + 60px + clamp(1.5rem,4vw,3rem)) 0 clamp(2.5rem,5vw,4rem);
  overflow:hidden; background:var(--bg);
}
.hero__bg {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:right center;
  z-index:0; pointer-events:none; user-select:none;
}
.hero__bg--desk { display:block; }
.hero__bg--mob  { display:none; }
.hero__overlay {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(95deg,
    rgba(6,5,9,.97) 0%,
    rgba(6,5,9,.90) 26%,
    rgba(6,5,9,.58) 48%,
    rgba(6,5,9,.20) 64%,
    transparent 78%
  );
}
/* mobile: portrait image, copy at bottom */
@media (max-width:767px){
  .hero { align-items:flex-end; --hero-copy-offset:30vh; padding-bottom:clamp(2rem,6vw,3.5rem); overflow:visible; }
  .hero__bg--desk { display:none; }
  .hero__bg--mob  { display:block; object-position:center 28%; }
  .hero__overlay {
    background:linear-gradient(to bottom,
      rgba(6,5,9,.55) 0%,
      transparent 18%,
      rgba(6,5,9,.55) 52%,
      rgba(6,5,9,.92) 70%,
      rgba(6,5,9,.99) 86%
    );
  }
  .hero__copy { max-width:100% !important; }
    /* Empurra o bloco de texto para baixo no mobile para não sobrepor o rosto.
      Usamos uma variável para que o deslocamento afete o fluxo (margin-top)
      e aumente o padding-bottom do hero, assim elementos abaixo sobem/descem. */
    .hero__copy { margin-top:var(--hero-copy-offset); transition:margin-top .35s var(--ease); position:relative; z-index:3; }
    /* add spacing after hero to push following content without resizing the background image */
    .hero::after { content:''; display:block; height:var(--hero-copy-offset); }
    /* telas muito pequenas precisam de deslocamento levemente maior, mas não exagerado */
    @media (max-width:360px){ .hero { --hero-copy-offset:14vh; } }

  /* Forçar quebra de palavras para evitar que títulos transbordem em telas estreitas */
  .hero__title, .hero__title .ln > span, .hero__sub { overflow-wrap:break-word; word-break:break-word; }
  /* permitir que os spans do título quebrem linha em mobile */
  .hero__title .ln > span { display:inline !important; white-space:normal !important; }
  .hero__stats { grid-template-columns:repeat(2,1fr) !important; }
  .hero__sig { display:none !important; }
  /* manter os CTAs inline no mobile (Fazer parte + Ver apresentação) */
  .hero__cta { flex-wrap:nowrap; gap:.6rem; }
  .hero__cta .btn { flex:1 1 0; min-width:0; padding:.72rem .95rem; font-size:.98rem; }
  .hero__cta .btn svg { margin-left:.5rem; }
}

/* CEO signature chip – bottom-right over the image */
.hero__sig {
  position:absolute; bottom:1.75rem; right:clamp(1rem,3vw,2.5rem);
  z-index:3; display:flex; align-items:center; gap:.65rem;
  padding:.65rem 1rem; border-radius:var(--r-md);
  background:color-mix(in oklab, var(--bg-1) 50%, transparent);
  border:1px solid var(--line-2);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:var(--sh-md);
}
.hero__sig-dot {
  width:8px; height:8px; border-radius:50%; flex-shrink:0;
  background:var(--accent); box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 25%,transparent);
  animation:pulse 2s ease-in-out infinite;
}
.hero__sig b   { display:block; font-size:.88rem; font-weight:600; color:#fff; }
.hero__sig span{ display:block; font-size:.7rem; color:var(--accent-hi); letter-spacing:.03em; }
.hero__halo {
  position:absolute; z-index:0; pointer-events:none;
  width:900px; height:900px; top:-360px; left:50%; transform:translateX(-50%);
  background:radial-gradient(circle, color-mix(in oklab, var(--accent) 26%, transparent) 0%, transparent 62%);
  filter:blur(30px);
  animation:halo-breathe 9s var(--ease) infinite alternate;
}
@keyframes halo-breathe { to { transform:translateX(-50%) scale(1.12); opacity:.8; } }
@media (prefers-reduced-motion:reduce){ .hero__halo{ animation:none; } }

.hero__mark {
  position:absolute; z-index:0; pointer-events:none;
  right:-120px; bottom:-80px; width:520px; opacity:.05;
  filter:grayscale(.2);
}

.hero__inner { position:relative; z-index:2; }
.hero__copy {
  display:flex; flex-direction:column; align-items:flex-start; gap:1.6rem;
  position:relative; z-index:2;
  max-width:560px;
}

.hero__title { font-family:var(--font-display); font-weight:600; font-size:clamp(2.6rem,6.6vw,5.2rem); line-height:.97; letter-spacing:-.034em; }
.hero__title .ln { display:block; overflow:hidden; }
.hero__title .ln > span { display:inline-block; }

.hero__sub { font-size:clamp(1.02rem,1.3vw,1.18rem); color:var(--text-2); max-width:540px; line-height:1.62; }
.hero__sub strong { color:var(--text); font-weight:600; }

.hero__cta { display:flex; flex-wrap:wrap; gap:.85rem; }

/* trust row */
.hero__trust { display:flex; flex-wrap:wrap; align-items:center; gap:1.1rem 1.5rem; margin-top:.4rem; }
.hero__avatars { display:flex; }
.hero__avatars span {
  width:34px; height:34px; border-radius:50%; margin-left:-10px;
  border:2px solid var(--bg); background:linear-gradient(135deg, var(--accent), var(--accent-2));
  display:grid; place-items:center; font-size:.72rem; font-weight:700; color:#fff;
}
.hero__avatars span:first-child { margin-left:0; }
.hero__trust p { font-size:.86rem; color:var(--text-3); }
.hero__trust strong { color:var(--text); font-weight:600; }
.hero__stars { color:var(--accent-hi); letter-spacing:.1em; font-size:.8rem; }

/* stat bar */
.hero__stats {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  width:100%; max-width:500px; margin-top:.6rem; overflow:hidden;
  background:var(--line); border:1px solid var(--line); border-radius:var(--r-md);
}
.hero__stat { background:var(--bg-1); padding:1.05rem 1.2rem; }
.hero__stat b { display:block; font-family:var(--font-display); font-weight:600; font-size:1.55rem; letter-spacing:-.02em; color:var(--text); }
.hero__stat span { font-size:.76rem; color:var(--text-3); }

/* portrait */
.hero__visual { position:relative; justify-self:center; width:100%; max-width:440px; }
.hero__frame {
  position:relative; border-radius:var(--r-xl); overflow:hidden; aspect-ratio:4/5;
  border:1px solid var(--line-2);
  box-shadow:var(--sh-lg), 0 0 90px -30px var(--accent-glow);
  background:var(--bg-2);
}
.hero__frame img { width:100%; height:100%; object-fit:cover; object-position:50% 18%; }
.hero__frame::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(to top, var(--bg) 2%, transparent 38%),
    linear-gradient(115deg, transparent 55%, color-mix(in oklab, var(--accent) 30%, transparent) 130%);
}
.hero__namecard {
  position:absolute; left:1.1rem; bottom:1.1rem; right:1.1rem;
  display:flex; align-items:center; gap:.8rem;
  padding:.85rem 1rem; border-radius:var(--r-md);
  background:color-mix(in oklab, var(--bg) 55%, transparent);
  border:1px solid var(--line-2);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
.hero__namecard .av { width:42px; height:42px; border-radius:50%; object-fit:cover; flex-shrink:0; border:1px solid var(--accent-border); }
.hero__namecard b { display:block; font-size:.95rem; font-weight:600; color:#fff; }
.hero__namecard span { display:block; font-size:.76rem; color:var(--accent-hi); letter-spacing:.02em; }

/* floating glass badge */
.float-badge {
  position:absolute; z-index:3; display:flex; align-items:center; gap:.7rem;
  padding:.7rem .95rem; border-radius:var(--r-md);
  background:color-mix(in oklab, var(--bg-2) 70%, transparent);
  border:1px solid var(--line-2);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:var(--sh-md);
}
.float-badge .ic { width:34px; height:34px; border-radius:9px; display:grid; place-items:center; background:var(--accent-dim); border:1px solid var(--accent-border); color:var(--accent-hi); flex-shrink:0; }
.float-badge b { display:block; font-family:var(--font-display); font-size:1.05rem; font-weight:600; color:#fff; line-height:1; }
.float-badge span { display:block; font-size:.7rem; color:var(--text-3); margin-top:.2rem; }
.float-badge--a { top:8%; left:-22px; animation:fl 5s var(--ease) infinite alternate; }
.float-badge--b { bottom:24%; right:-26px; animation:fl 6s var(--ease) infinite alternate-reverse; }
@keyframes fl { to { transform:translateY(-12px); } }
@media (prefers-reduced-motion:reduce){ .float-badge{ animation:none; } }

/* ─── BENTO (MERCADO) ───────────────────────────────────────── */
.bento { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.bento .cell {
  position:relative; overflow:hidden;
  padding:1.7rem; display:flex; flex-direction:column; gap:.55rem; justify-content:flex-end;
  min-height:172px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg);
  transition:transform .4s var(--ease), border-color .4s, background .4s;
}
.bento .cell:hover { transform:translateY(-4px); border-color:var(--line-2); background:var(--surface-2); }
.bento .cell .k { font-family:var(--font-display); font-weight:600; font-size:clamp(1.8rem,3.4vw,2.6rem); letter-spacing:-.03em; line-height:1; }
.bento .cell .v { font-size:.88rem; color:var(--text-2); line-height:1.5; }
.bento .cell--feature {
  grid-column:1 / -1; justify-content:center; gap:1.25rem;
  background:
    radial-gradient(120% 140% at 100% 0%, color-mix(in oklab, var(--accent) 16%, transparent), transparent 55%),
    var(--surface);
  border-color:var(--accent-border);
}
.bento .cell--feature .badge {
  align-self:flex-start; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--accent-hi); padding:.35rem .8rem; border-radius:999px;
  background:var(--accent-dim); border:1px solid var(--accent-border);
}
.bento .cell--feature .k { font-size:clamp(2.6rem,6vw,4.2rem); }
.bento .cell--feature .feat-main { display:flex; flex-direction:column; gap:.7rem; }
@media (min-width:560px){
  .bento .cell--feature { flex-direction:row; align-items:center; justify-content:space-between; gap:2.5rem; }
  .bento .cell--feature .v { max-width:44ch; font-size:.95rem; }
}

/* ─── PURPOSE ───────────────────────────────────────────────── */
.purpose { display:grid; grid-template-columns:1fr; gap:clamp(2.5rem,5vw,4rem); align-items:center; }
.purpose__visual { position:relative; display:grid; place-items:center; }
.purpose__mark { width:clamp(120px,18vw,180px); filter:drop-shadow(0 20px 50px var(--accent-glow)); animation:fl 6s var(--ease) infinite alternate; }
.purpose__rings { position:absolute; inset:0; display:grid; place-items:center; pointer-events:none; }
.purpose__rings i { position:absolute; border:1px solid var(--line); border-radius:50%; }
.purpose__rings i:nth-child(1){ width:240px; height:240px; }
.purpose__rings i:nth-child(2){ width:360px; height:360px; border-color:color-mix(in oklab,var(--accent) 14%, transparent); }
.purpose__rings i:nth-child(3){ width:480px; height:480px; border-color:rgba(255,255,255,.03); }
.mv-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.8rem; }
.mv-card { padding:1.2rem 1.3rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); }
.mv-card h5 { font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-hi); margin-bottom:.5rem; font-weight:700; }
.mv-card p { font-size:.92rem; color:var(--text-2); line-height:1.5; }
.sig { margin-top:1.6rem; font-size:.92rem; color:var(--text-2); }
.sig b { color:var(--accent-hi); font-weight:600; }

/* ─── VIDEO ─────────────────────────────────────────────────── */
.video-shell {
  position:relative; border-radius:var(--r-xl); overflow:hidden; aspect-ratio:16/9;
  border:1px solid var(--line-2); box-shadow:var(--sh-lg), 0 0 100px -40px var(--accent-glow);
}
.video-shell video { width:100%; height:100%; object-fit:cover; }

/* ─── PILLS ROW (oportunidade) ──────────────────────────────── */
.pill-row { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; }

/* ─── STEPS ─────────────────────────────────────────────────── */
.steps { display:grid; grid-template-columns:1fr; gap:1rem; margin-bottom:clamp(2.5rem,5vw,3.5rem); }
.step { position:relative; padding:1.7rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); transition:transform .4s var(--ease), border-color .4s; }
.step:hover { transform:translateY(-4px); border-color:var(--line-2); }
.step .n { font-family:var(--font-display); font-weight:600; font-size:1rem; color:var(--accent-hi); display:inline-grid; place-items:center; width:38px; height:38px; border-radius:10px; background:var(--accent-dim); border:1px solid var(--accent-border); margin-bottom:1rem; }
.step h4 { font-family:var(--font-display); font-weight:600; font-size:1.2rem; margin-bottom:.5rem; }
.step p { font-size:.92rem; color:var(--text-2); line-height:1.6; }

/* ─── PRODUCTS ──────────────────────────────────────────────── */
.products { display:grid; grid-template-columns:1fr; gap:1rem; }
.product {
  position:relative; overflow:hidden;
  padding:1.7rem; display:flex; flex-direction:column; gap:1rem;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg);
  transition:transform .4s var(--ease), border-color .4s, background .4s;
}
.product:hover { transform:translateY(-5px); border-color:var(--line-2); background:var(--surface-2); }
.product__ic { width:50px; height:50px; border-radius:13px; display:grid; place-items:center; color:var(--accent-hi); background:var(--accent-dim); border:1px solid var(--accent-border); }
.product__name { font-family:var(--font-display); font-weight:600; font-size:1.2rem; }
.product__desc { font-size:.9rem; color:var(--text-2); line-height:1.6; flex:1; }
.product__foot { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.product__price { display:flex; align-items:baseline; gap:.5rem; }
.product__price .from { font-size:.82rem; color:var(--text-4); text-decoration:line-through; }
.product__price .to { font-family:var(--font-display); font-weight:600; font-size:1.25rem; color:#fff; }
.profit { display:inline-flex; align-items:center; gap:.35rem; font-size:.82rem; font-weight:700; color:var(--pos); padding:.32rem .7rem; border-radius:999px; background:var(--pos-dim); border:1px solid var(--pos-border); white-space:nowrap; }

.product--featured {
  background:
    radial-gradient(120% 130% at 100% 0%, color-mix(in oklab, var(--accent) 18%, transparent), transparent 55%),
    var(--surface-2);
  border-color:var(--accent-border);
  box-shadow:0 30px 80px -40px var(--accent-glow);
}
.product__tag { position:absolute; top:1.3rem; right:1.3rem; font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fff; padding:.32rem .7rem; border-radius:999px; background:var(--grad-soft); }
.product--featured .profit { color:var(--accent-hi); background:var(--accent-dim); border-color:var(--accent-border); }

/* ─── STATEMENT ─────────────────────────────────────────────── */
.statement { position:relative; overflow:hidden; padding:clamp(5rem,9vw,8rem) 0; text-align:center; }
.statement__bg {
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(60% 60% at 50% 50%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 70%),
    repeating-linear-gradient(0deg, transparent 0 59px, var(--line) 59px 60px),
    repeating-linear-gradient(90deg, transparent 0 59px, var(--line) 59px 60px);
  mask-image:radial-gradient(ellipse 75% 75% at 50% 50%, #000 30%, transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 75% 75% at 50% 50%, #000 30%, transparent 80%);
}
.statement .container { position:relative; z-index:2; }

/* ─── PRICE TABLE ───────────────────────────────────────────── */
.ptable { overflow:hidden; }
.ptable__head, .ptable__row { display:grid; grid-template-columns:1.8fr 1fr 1fr 1.1fr; gap:1rem; align-items:center; padding:1.05rem 1.5rem; }
.ptable__head { font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-4); border-bottom:1px solid var(--line); }
.ptable__row { border-bottom:1px solid var(--line); transition:background .25s; }
.ptable__row:last-child { border-bottom:none; }
.ptable__row:hover { background:var(--surface-2); }
.ptable .name { display:flex; align-items:center; gap:.7rem; font-weight:600; color:#fff; font-size:.96rem; }
.ptable .name svg { color:var(--accent-hi); flex-shrink:0; }
.ptable .name small { display:block; color:var(--text-4); font-weight:400; font-size:.74rem; }
.ptable .cost { color:var(--text-3); font-size:.92rem; }
.ptable .sell { color:var(--text); font-weight:600; font-size:.92rem; }
.ptable .gain { justify-self:start; }

/* ─── QUOTES ────────────────────────────────────────────────── */
.quotes { display:grid; grid-template-columns:1fr; gap:1.25rem; }
.quote { position:relative; padding:2rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); }
.quote__mk { font-family:var(--font-display); font-size:3.4rem; line-height:.6; color:var(--accent); opacity:.45; }
.quote p { font-size:1.05rem; color:var(--text); line-height:1.6; margin:1rem 0 1.2rem; font-weight:500; }
.quote cite { font-size:.84rem; font-style:normal; font-weight:600; color:var(--accent-hi); letter-spacing:.03em; }

/* ─── COMMISSION TABLE ──────────────────────────────────────── */
.tbl-wrap { overflow:auto; border-radius:var(--r-lg); }
.tbl { width:100%; border-collapse:collapse; font-size:.92rem; }
.tbl thead th { padding:1rem 1.25rem; text-align:center; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-4); border-bottom:1px solid var(--line); white-space:nowrap; }
.tbl tbody td { padding:.9rem 1.25rem; text-align:center; color:var(--text-2); border-bottom:1px solid var(--line); white-space:nowrap; }
.tbl tbody tr:last-child td { border-bottom:none; }
.tbl tbody tr:hover td { background:var(--surface-2); }
.tbl tr.hot td { background:color-mix(in oklab, var(--accent) 8%, transparent); }
.tbl tr.hot strong { color:var(--accent-hi); font-family:var(--font-display); }
.lvl { display:inline-grid; place-items:center; min-width:34px; padding:.28rem .65rem; border-radius:999px; font-size:.78rem; font-weight:700; color:var(--accent-hi); background:var(--accent-dim); border:1px solid var(--accent-border); }
.lvl.gold { color:#fff; background:var(--grad-soft); border-color:transparent; }

.residual { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1.6rem 2rem; margin-top:1.25rem; border-radius:var(--r-lg); border:1px solid var(--accent-border); background:radial-gradient(120% 200% at 0% 50%, color-mix(in oklab,var(--accent) 14%, transparent), transparent 60%), var(--surface); }
.residual span { color:var(--text-2); font-size:.95rem; }
.residual b { font-family:var(--font-display); font-weight:600; font-size:clamp(1.9rem,4vw,2.6rem); letter-spacing:-.03em; }
.residual b em { font-style:normal; font-size:.55em; color:var(--text-3); }

/* indication */
.indication { display:grid; grid-template-columns:1fr; gap:2rem; padding:2rem; margin-top:2rem; align-items:center; border-radius:var(--r-lg); border:1px solid var(--line); background:var(--surface); }
.indication__flow { display:flex; align-items:center; justify-content:center; gap:.6rem; flex-wrap:wrap; }
.node { padding:.7rem 1.1rem; border-radius:var(--r-sm); font-size:.86rem; font-weight:600; text-align:center; border:1px solid var(--line-2); background:var(--bg-1); }
.node.you { color:var(--accent-hi); border-color:var(--accent-border); background:var(--accent-dim); }
.flow-link { display:flex; flex-direction:column; align-items:center; gap:.3rem; min-width:84px; }
.flow-link svg { color:var(--accent); }
.flow-link span { font-size:.72rem; font-weight:700; color:var(--accent-hi); }
.indication__win { padding:1.2rem 1.4rem; border-radius:var(--r-md); background:var(--bg-1); border:1px solid var(--line); }
.indication__win small { color:var(--text-3); font-size:.82rem; }
.indication__win b { display:block; margin-top:.3rem; font-family:var(--font-display); font-weight:600; font-size:1.4rem; color:var(--accent-hi); }

/* ─── CAREER ────────────────────────────────────────────────── */
.career-pins { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:clamp(2.5rem,5vw,3.5rem); }
.pin-card { display:flex; flex-direction:column; align-items:center; gap:.7rem; padding:1.5rem 1rem; text-align:center; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); transition:transform .4s var(--ease), border-color .4s, background .4s; }
.pin-card:hover { transform:translateY(-6px); border-color:var(--accent-border); background:var(--surface-2); }
.pin-card img { width:84px; height:84px; object-fit:contain; filter:drop-shadow(0 10px 24px rgba(0,0,0,.5)); }
.pin-card .lname { font-family:var(--font-display); font-weight:600; font-size:1rem; color:#fff; }
.pin-card .lvol { font-size:.8rem; color:var(--text-3); }
.pin-card .lvol b { color:var(--accent-hi); font-weight:600; }

.career-pin-head { display:flex; align-items:center; gap:.6rem; justify-content:center; }
.career-pin-head img { width:26px; height:26px; object-fit:contain; }
.tbl .disc { color:var(--accent-hi); font-weight:600; }

.activation { display:grid; grid-template-columns:1fr; gap:1.5rem; padding:2rem; margin-top:2rem; align-items:center; border-radius:var(--r-lg); border:1px solid var(--line); background:var(--surface); }
.voucher { display:flex; align-items:center; justify-content:center; gap:1.3rem; flex-wrap:wrap; padding:1.6rem; border-radius:var(--r-md); border:1px dashed var(--accent-border); background:var(--accent-dim); }
.voucher .amt { font-family:var(--font-display); font-weight:600; font-size:1.9rem; color:#fff; }
.voucher .eq { font-size:1.6rem; color:var(--text-4); font-weight:300; }
.voucher .vc small { display:block; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-hi); font-weight:700; }
.voucher .vc b { font-family:var(--font-display); font-weight:600; font-size:1.3rem; color:var(--accent-hi); }

/* ─── REWARDS ───────────────────────────────────────────────── */
.rewards { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.reward { position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; gap:.5rem; text-align:center; padding:1.9rem 1.3rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); transition:transform .4s var(--ease), border-color .4s, background .4s; }
.reward:hover { transform:translateY(-6px); border-color:var(--line-2); background:var(--surface-2); }
.reward .lv { font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-hi); padding:.3rem .75rem; border-radius:999px; background:var(--accent-dim); border:1px solid var(--accent-border); }
.reward .amt { font-family:var(--font-display); font-weight:600; font-size:clamp(2rem,4.5vw,2.7rem); letter-spacing:-.03em; line-height:1; }
.reward .lab { font-size:.78rem; color:var(--text-4); }
.reward .prize { margin-top:.4rem; font-family:var(--font-display); font-weight:600; font-size:1.3rem; color:#fff; }
.reward .prize span { font-size:.65em; color:var(--text-3); }
.reward--top { background:radial-gradient(130% 120% at 50% 0%, color-mix(in oklab,var(--accent) 18%, transparent), transparent 60%), var(--surface-2); border-color:var(--accent-border); box-shadow:0 30px 80px -40px var(--accent-glow); }

/* ─── CTA ───────────────────────────────────────────────────── */
.cta { position:relative; overflow:hidden; text-align:center; padding:clamp(5rem,9vw,8rem) 0; }
.cta__bg { position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(60% 70% at 50% 40%, color-mix(in oklab, var(--accent) 20%, transparent), transparent 70%); }
.cta__mark { width:64px; margin:0 auto 1.5rem; filter:drop-shadow(0 14px 36px var(--accent-glow)); }
.cta .container { position:relative; z-index:2; }
.cta__actions { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-top:2.4rem; }

/* ─── PDF MODAL ─────────────────────────────────────────────── */
.modal { position:fixed; inset:0; z-index:9000; display:none; align-items:center; justify-content:center; padding:1.25rem; }
.modal.open { display:flex; }
.modal__bd { position:absolute; inset:0; background:rgba(2,1,5,.8); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); animation:fade .3s var(--ease); }
.modal__box { position:relative; z-index:1; width:100%; max-width:940px; height:min(86vh,780px); display:flex; flex-direction:column; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line-2); background:var(--bg-1); animation:pop .35s var(--ease-spring); }
@keyframes fade { from{opacity:0;} to{opacity:1;} }
@keyframes pop { from{opacity:0; transform:scale(.94);} to{opacity:1; transform:scale(1);} }
.modal__head { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid var(--line); }
.modal__x { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:var(--text-2); background:var(--surface-2); border:1px solid var(--line); transition:color .2s, background .2s; }
.modal__x:hover { color:#fff; background:var(--accent-dim); border-color:var(--accent-border); }
.modal__body { flex:1; overflow:hidden; }
.modal__body object { width:100%; height:100%; border:none; }
.modal__fb { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.6rem; padding:2rem; }
.modal__fb .fb-ic { color:var(--accent-hi); margin-bottom:.5rem; }

/* ─── RESPONSIVE ────────────────────────────────────────────── */
@media (min-width:600px){
  .steps { grid-template-columns:repeat(3,1fr); }
  .products { grid-template-columns:repeat(2,1fr); }
  .quotes { grid-template-columns:1fr 1fr; }
  .rewards { grid-template-columns:repeat(3,1fr); }
  .mv-grid { grid-template-columns:1fr 1fr; }
}
@media (min-width:900px){
  .hero__inner { grid-template-columns:1.05fr .85fr; gap:clamp(2.5rem,4vw,4rem); }
  .hero__stats { grid-template-columns:repeat(4,1fr); }
  .bento { grid-template-columns:repeat(4,1fr); }
  .bento .cell--feature { grid-column:1 / -1; }
  .purpose { grid-template-columns:.9fr 1.1fr; }
  .products { grid-template-columns:repeat(3,1fr); }
  .career-pins { grid-template-columns:repeat(6,1fr); }
  .rewards { grid-template-columns:repeat(5,1fr); }
  .indication { grid-template-columns:1.2fr .8fr; }
  .activation { grid-template-columns:1.2fr .8fr; }
}
@media (max-width:1024px){
  .float-badge { display:none; }
}
@media (max-width:520px){
  .ptable__head, .ptable__row { grid-template-columns:1.5fr 1fr 1.1fr; }
  .ptable__head span:nth-child(3), .ptable__row .sell { display:none; }
  .float-badge { display:none; }
}
