/* components.css — AvaliaUp section + widget styles */

/* ===================== NAV ===================== */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60;
  transition: background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
  border-bottom: 1px solid transparent;
}
.nav.scrolled {
  background: rgba(6,8,7,0.78);
  backdrop-filter: blur(14px);
  border-bottom-color: var(--line);
}
.nav-inner { display: flex; align-items: center; gap: 28px; height: 74px; }
.brand { display: inline-flex; align-items: center; gap: 9px; font-family: var(--fh); font-weight: 800; font-size: 21px; letter-spacing: -0.04em; color: var(--tx); }
.brand-mark {
  width: 30px; height: 30px; border-radius: 9px;
  display: grid; place-items: center; color: #042713;
  background: linear-gradient(180deg, var(--acc-bright), var(--acc));
  box-shadow: 0 4px 16px -4px rgba(var(--acc-glow),0.7), inset 0 1px 0 rgba(255,255,255,0.4);
}
.brand-mark svg { display: block; }
.brand i { font-style: normal; color: var(--acc); }
.brand-logo { height: 30px; width: auto; display: block; }
.nav-links { display: flex; gap: 30px; margin-left: clamp(40px, 6vw, 100px); }
.nav-links a { font-size: 15px; color: var(--tx-soft); font-weight: 600; transition: color .18s; }
.nav-links a:hover { color: var(--tx); }
.nav-spacer { flex: 1; }
/* desktop: center the nav links evenly between the logo and the CTA button */
@media (min-width: 861px) {
  .nav-links { margin-left: auto; margin-right: auto; }
  .nav-spacer { display: none; }
}
@media (max-width: 860px) { .nav-links { display: none; } }

/* ===================== HERO ===================== */
.hero { position: relative; padding-top: clamp(120px, 13vw, 150px); padding-bottom: 0; text-align: center; overflow: hidden; }
.hero-bg-grid {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: radial-gradient(ellipse 70% 55% at 50% 28%, #000 30%, transparent 75%);
}
.hero-glow { width: 760px; height: 540px; top: -120px; left: 50%; transform: translateX(-50%); }
.hero h1 { font-size: clamp(40px, 7.4vw, 86px); font-weight: 800; letter-spacing: -0.045em; }
.hero h1 em { font-style: normal; color: var(--acc); }
.hero-sub { margin: 26px auto 0; max-width: 56ch; color: var(--tx-soft); font-size: clamp(16px,1.9vw,20px); }
.hero-cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 36px; }
.hero-trust { margin-top: 22px; display: inline-flex; align-items: center; gap: 12px; color: var(--tx-dim); font-size: 13.5px; }

/* hero stage with card */
.hero-stage { position: relative; margin-top: 60px; height: clamp(380px, 46vw, 560px); }
.hero-stage .floor-glow {
  position: absolute; bottom: 6%; left: 50%; transform: translateX(-50%);
  width: 620px; height: 220px; border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--acc-glow),0.42), transparent 68%);
  filter: blur(46px);
}
.hero-card-pos { position: absolute; left: 50%; top: 48%; transform: translate(-50%,-50%); z-index: 2; }
.notif-a { position: absolute; z-index: 3; right: max(4%, calc(50% - 430px)); top: 16%; animation: floaty 5.5s ease-in-out infinite; }
.notif-b { position: absolute; z-index: 1; left: max(3%, calc(50% - 470px)); top: 46%; animation: floaty 6.5s ease-in-out infinite reverse; }
.notif-c { position: absolute; z-index: 3; right: max(8%, calc(50% - 380px)); bottom: 10%; animation: floaty 6s ease-in-out infinite; }
@media (max-width: 760px) { .notif-a, .notif-b, .notif-c { display: none; } .hero-stage { height: 360px; } }

@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }

/* ===================== NFC CARD ===================== */
.nfc-card { position: relative; width: 340px; height: 214px; }
@media (max-width: 480px) { .nfc-card { width: 280px; height: 176px; } }
.nfc-tilt { perspective: 1200px; }
.nfc-tilt .nfc-face { transform: rotateX(16deg) rotateY(-14deg) rotateZ(2deg); }
.nfc-float { animation: cardfloat 7s ease-in-out infinite; }
@keyframes cardfloat { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-16px);} }
.nfc-underglow {
  position: absolute; inset: auto 8% -18% 8%; height: 60%;
  background: radial-gradient(ellipse at center, rgba(var(--acc-glow),0.55), transparent 70%);
  filter: blur(34px); z-index: 0;
}
.nfc-face {
  position: relative; z-index: 1; width: 100%; height: 100%;
  border-radius: 20px; padding: 22px 24px;
  background:
    radial-gradient(120% 120% at 80% -10%, rgba(var(--acc-glow),0.16), transparent 45%),
    linear-gradient(155deg, #1a1f1d 0%, #0c0f0e 55%, #060807 100%);
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 30px 70px -20px rgba(0,0,0,0.8), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 0 0 1px rgba(var(--acc-glow),0.06);
  display: flex; flex-direction: column; justify-content: space-between;
  transform-style: preserve-3d; transition: transform .4s ease;
  overflow: hidden;
}
.nfc-sheen {
  position: absolute; inset: 0;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,0.07) 46%, transparent 60%);
  pointer-events: none;
}
.nfc-top { display: flex; align-items: flex-start; justify-content: space-between; }
.nfc-chip {
  width: 46px; height: 36px; border-radius: 8px;
  background: linear-gradient(135deg, var(--acc-bright), var(--acc-deep));
  display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 3px; padding: 5px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.25), 0 0 16px -2px rgba(var(--acc-glow),0.6);
}
.nfc-chip span { background: rgba(4,39,19,0.4); border-radius: 2px; }
.nfc-mid { margin-top: -6px; }
.nfc-bot { }
.nfc-brand { font-family: var(--fh); font-weight: 800; font-size: 23px; letter-spacing: -0.04em; color: #fff; }
.nfc-brand .nfc-dot { color: var(--acc); }
.nfc-sub { font-family: var(--fm); font-size: 9.5px; letter-spacing: 0.18em; color: var(--tx-dim); margin-top: 3px; }

/* card face holding the real brand artwork */
.nfc-face--img { padding: 0; background: #000; }
.nfc-art {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; border-radius: inherit; display: block;
}

/* ===================== REVIEW NOTIF ===================== */
.review-notif {
  display: flex; gap: 12px; align-items: flex-start;
  width: 270px; padding: 14px 15px; border-radius: 16px;
  background: linear-gradient(180deg, rgba(22,27,25,0.96), rgba(12,15,14,0.96));
  border: 1px solid var(--line-2);
  box-shadow: 0 24px 50px -18px rgba(0,0,0,0.8);
  backdrop-filter: blur(8px);
}
.review-notif--c { width: 232px; padding: 12px 13px; }
.rn-avatar {
  width: 38px; height: 38px; border-radius: 50%; flex: none;
  display: grid; place-items: center; font-family: var(--fh); font-weight: 800; font-size: 16px; color: #042713;
  background: linear-gradient(180deg, var(--acc-bright), var(--acc));
}
.rn-body { min-width: 0; }
.rn-head { display: flex; align-items: center; gap: 8px; justify-content: space-between; }
.rn-name { font-weight: 700; font-size: 14px; color: var(--tx); }
.rn-text { margin-top: 5px; font-size: 12.5px; color: var(--tx-soft); line-height: 1.45; }

/* ===================== LOGO STRIP ===================== */
.logos { display: flex; align-items: center; justify-content: center; gap: clamp(24px,5vw,64px); flex-wrap: wrap; opacity: 0.5; }
.logos .lg { font-family: var(--fh); font-weight: 800; font-size: 19px; color: var(--tx-soft); letter-spacing: -0.02em; white-space: nowrap; }
.logos .lg.script { font-family: Georgia, serif; font-style: italic; font-weight: 600; }

/* ===================== SECTION HEADERS ===================== */
.sec-head { max-width: 720px; }
.sec-head h2 { font-size: clamp(32px, 5vw, 56px); margin-top: 18px; }
.two-col { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 5vw, 60px); align-items: end; }
@media (max-width: 820px){ .two-col { grid-template-columns: 1fr; align-items: start; gap: 22px; } }

/* ===================== ABERTURA ===================== */
.abertura { font-family: var(--fh); font-weight: 800; letter-spacing: -0.03em; line-height: 1.12; font-size: clamp(26px, 4vw, 44px); max-width: 18ch; }
.abertura .muted { color: var(--tx-dim); }
.abertura .accent { color: var(--acc); }

/* ===================== DOR (pain) ===================== */
.pain-grid { display: grid; gap: 14px; }
.pain-item { display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line); transition: border-color .2s, background .2s; }
.pain-item:hover { border-color: var(--line-2); background: var(--card-2); }
.pain-x { width: 26px; height: 26px; flex: none; border-radius: 8px; display: grid; place-items: center; color: #ff6b6b; background: rgba(255,107,107,0.1); }
.pain-item p { color: var(--tx-soft); font-size: 16px; }

/* ===================== SOLUÇÃO DEMO ===================== */
.solu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px,5vw,64px); align-items: center; }
@media (max-width: 880px){ .solu-grid { grid-template-columns: 1fr; } }
.demo-stage {
  position: relative; height: 620px; border-radius: var(--r-lg);
  background: radial-gradient(ellipse 80% 60% at 50% 34%, rgba(var(--acc-glow),0.1), transparent 70%), var(--bg-1);
  border: 1px solid var(--line);
  display: grid; place-items: start center; padding-top: 58px; overflow: hidden;
}
/* phone — clean minimal dark frame with notch */
.demo-phone {
  position: relative; width: 194px; height: 394px; border-radius: 40px;
  background: #0a0c0b;
  padding: 8px;
  box-shadow:
    0 30px 70px -22px #000,
    0 0 0 1px #1c211f,
    inset 0 0 0 1px rgba(255,255,255,0.05);
  z-index: 2; overflow: visible; transition: transform .5s cubic-bezier(.2,.8,.2,1);
}
.demo-phone .screen { position: absolute; inset: 8px; border-radius: 35px; background: #fff; display: flex; flex-direction: column; overflow: hidden; }
/* notch */
.demo-phone .screen::before {
  content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 96px; height: 20px; border-radius: 0 0 15px 15px; background: #0a0c0b; z-index: 8;
}
.demo-step { position: absolute; inset: 0; opacity: 0; transition: opacity .4s; display: flex; flex-direction: column; }
.demo-step.on { opacity: 1; }

/* ---- card approaching the bottom of the phone ---- */
.demo-hand {
  position: absolute; left: 50%; top: 0; z-index: 4;
  transform: translate(-50%, 470px);
  transition: transform .75s cubic-bezier(.3,.85,.25,1);
  pointer-events: none;
}
.demo-hand.up   { transform: translate(-50%, 406px); }
.demo-hand.away { transform: translate(-50%, 700px); }
.dh-scale { position: relative; width: 340px; height: 220px; transform: scale(0.6); transform-origin: top center; }

/* card */
.dh-card { position: absolute; top: 0; left: 0; z-index: 2; filter: drop-shadow(0 18px 30px rgba(0,0,0,0.55)); }

.demo-tapwave {
  position: absolute; left: 50%; margin-left: -45px; bottom: 168px; width: 90px; height: 90px; z-index: 3;
  border-radius: 50%; border: 2px solid var(--acc); opacity: 0;
}
.demo-stage.tapping .demo-tapwave { animation: tapwave 1s ease-out; }
@keyframes tapwave { 0%{ transform: scale(.3); opacity:.8;} 100%{ transform: scale(2.4); opacity:0;} }
.demo-stage .demo-btn { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); z-index: 7; }
.demo-caption { position: absolute; top: 18px; left: 0; right: 0; text-align: center; font-family: var(--fm); font-size: 11px; letter-spacing: 0.1em; color: var(--tx-dim); text-transform: uppercase; }

/* google review screen (inside phone) */
.gscreen { padding: 40px 14px 16px; color: #202124; font-family: var(--fb); height: 100%; }
.gscreen .gtop { display: flex; align-items: center; gap: 7px; font-size: 11px; color: #5f6368; }
.gscreen .gbiz { margin-top: 14px; font-weight: 800; font-size: 15px; color: #202124; font-family: var(--fh); letter-spacing: -0.02em; }
.gscreen .gloc { font-size: 11px; color: #5f6368; }
.gscreen .grate { margin: 18px 0 6px; text-align: center; font-size: 12px; color: #5f6368; }
.gscreen .gstars { display: flex; justify-content: center; gap: 6px; }
.gstar { color: #dadce0; cursor: pointer; transition: transform .15s; }
.gstar.lit { color: #fbbc04; }
.gscreen .gsubmit { margin-top: auto; }

/* ===================== SOLUÇÃO (premium) ===================== */
.solucao { position: relative; overflow: hidden; }
.solu-glow {
  position: absolute; z-index: 0; top: 8%; left: -8%; width: 520px; height: 520px;
  border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(var(--acc-glow),0.16), transparent 68%);
  filter: blur(70px);
}
.solu-grid > * { position: relative; z-index: 1; }
.solu-title { font-size: clamp(30px,4.6vw,52px); margin-top: 16px; }

/* numbered step cards with a connecting rail */
.solu-steps { display: grid; gap: 0; margin-top: 30px; position: relative; }
.solu-step {
  display: flex; gap: 18px; align-items: flex-start;
  padding: 18px 0; position: relative;
}
.solu-step + .solu-step { border-top: 1px solid var(--line); }
.solu-num {
  flex: none; width: 44px; height: 44px; display: grid; place-items: center;
  font-family: var(--fh); font-weight: 800; font-size: 17px; letter-spacing: -0.02em;
  color: var(--acc); border-radius: 13px;
  background: rgba(var(--acc-glow),0.09); border: 1px solid rgba(var(--acc-glow),0.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 8px 20px -12px rgba(var(--acc-glow),0.6);
  transition: transform .25s ease, background .25s ease;
}
.solu-step:hover .solu-num { transform: translateY(-2px); background: rgba(var(--acc-glow),0.16); }
.solu-tx { padding-top: 2px; }
.solu-tx b { display: block; color: var(--tx); font-family: var(--fh); font-weight: 700; font-size: clamp(16px,1.9vw,19px); letter-spacing: -0.01em; margin-bottom: 4px; }
.solu-tx span { color: var(--tx-soft); line-height: 1.55; }

/* reinforcement chips */
.solu-chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.solu-chip {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--fm); font-size: 12px; letter-spacing: 0.02em; color: var(--tx-soft);
  padding: 8px 14px; border-radius: 999px;
  background: rgba(255,255,255,0.03); border: 1px solid var(--line-2);
}
.solu-chip .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--acc); box-shadow: 0 0 8px 1px rgba(var(--acc-glow),0.8); }

/* ===================== BENEFITS ===================== */
/* ===================== BENEFITS (premium) ===================== */
.beneficios { position: relative; overflow: hidden; }
.ben-glow {
  position: absolute; z-index: 0; top: 12%; right: -6%; width: 480px; height: 480px;
  border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(var(--acc-glow),0.13), transparent 68%);
  filter: blur(72px);
}
.ben-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; position: relative; z-index: 1; }
@media (max-width: 880px){ .ben-grid { grid-template-columns: 1fr; } }
.ben {
  position: relative; padding: 28px; border-radius: var(--r-lg);
  background: linear-gradient(180deg,var(--card-2),var(--card)); border: 1px solid var(--line);
  overflow: hidden; transition: transform .25s, border-color .25s, box-shadow .25s;
}
.ben::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--acc-bright), var(--acc-deep));
  transform: scaleX(0); transform-origin: left; transition: transform .35s ease;
}
.ben:hover { transform: translateY(-4px); border-color: rgba(var(--acc-glow),0.3); box-shadow: 0 24px 50px -28px rgba(var(--acc-glow),0.5); }
.ben:hover::before { transform: scaleX(1); }
.ben-ic {
  width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center;
  color: var(--acc); background: rgba(var(--acc-glow),0.1); border: 1px solid rgba(var(--acc-glow),0.2);
  margin-bottom: 18px; transition: transform .25s ease, background .25s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}
.ben:hover .ben-ic { transform: translateY(-2px) scale(1.04); background: rgba(var(--acc-glow),0.16); }
.ben h4 { font-size: 19px; margin-bottom: 9px; line-height: 1.18; letter-spacing: -0.01em; }
.ben p { color: var(--tx-soft); font-size: 15px; line-height: 1.55; }

/* ===================== STATS ===================== */
.stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; text-align: center; }
@media (max-width: 720px){ .stats { grid-template-columns: 1fr; gap: 28px; } }
.stat .num, .stat .num > span { font-family: var(--fh); font-weight: 800; font-size: clamp(44px,7vw,76px); letter-spacing: -0.04em; line-height: 1; background: linear-gradient(180deg,#fff 35%,var(--acc)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.stat .num > span { font-size: inherit; }
.stat .num.num--word { font-size: clamp(40px,5.2vw,62px); }
.stat .num .u { font-size: 0.42em; font-weight: 700; letter-spacing: -0.01em; margin-left: 4px; -webkit-text-fill-color: var(--acc); }
.stat .lbl { color: var(--tx-soft); margin-top: 12px; font-size: 15px; max-width: 26ch; margin-left: auto; margin-right: auto; }

/* testimonial cards */
.testi-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
@media (max-width: 760px){ .testi-grid { grid-template-columns: 1fr; } }
.testi { padding: 28px; border-radius: var(--r-lg); background: var(--card); border: 1px solid var(--line); position: relative; }
.testi .quote { font-size: 16.5px; color: var(--tx); line-height: 1.55; }
.testi .who { margin-top: 18px; display: flex; align-items: center; gap: 12px; }
.testi .who .av { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(180deg,#2a302d,#171a19); border: 1px solid var(--line-2); display: grid; place-items: center; font-family: var(--fh); font-weight: 800; color: var(--tx-soft); }
.testi .who .meta b { display: block; font-size: 14.5px; }
.testi .who .meta span { font-size: 12.5px; color: var(--tx-dim); }
.testi .gtag { position: absolute; top: 24px; right: 24px; }

/* ===================== OFFER / PRICING ===================== */
.kits { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; align-items: stretch; }
@media (max-width: 820px){ .kits { grid-template-columns: 1fr; } }
.kit { padding: 26px 24px; border-radius: var(--r-lg); background: var(--card); border: 1px solid var(--line); display: flex; flex-direction: column; position: relative; transition: border-color .25s, transform .25s, box-shadow .25s; }
.kit:hover { transform: translateY(-4px); border-color: rgba(var(--acc-glow),0.3); box-shadow: 0 24px 48px -28px rgba(0,0,0,0.8); }
.kit.pop { border-color: rgba(var(--acc-glow),0.45); padding-top: 40px; background: radial-gradient(120% 90% at 50% 0%, rgba(var(--acc-glow),0.1), var(--card) 58%); box-shadow: 0 0 0 1px rgba(var(--acc-glow),0.22), 0 34px 70px -34px rgba(var(--acc-glow),0.5); }
@media (min-width: 821px){ .kit.pop { transform: scale(1.035); } .kit.pop:hover { transform: scale(1.035) translateY(-4px); } }

.kit-ribbon { position: absolute; top: 0; left: 0; right: 0; border-radius: var(--r-lg) var(--r-lg) 0 0; font-family: var(--fm); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; padding: 8px 0; text-align: center; background: linear-gradient(180deg,var(--acc-bright),var(--acc)); color: #042713; font-weight: 700; }

.kit-top { display: flex; align-items: center; gap: 14px; }
.kit-count { flex: none; width: 58px; height: 58px; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; font-family: var(--fh); font-weight: 800; font-size: 24px; letter-spacing: -0.03em; color: var(--acc); background: rgba(var(--acc-glow),0.1); border: 1px solid rgba(var(--acc-glow),0.2); }
.kit-count small { font-family: var(--fm); font-weight: 500; font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tx-dim); margin-top: 3px; }
.kit-id h4 { font-family: var(--fh); font-weight: 800; font-size: 19px; letter-spacing: -0.02em; }
.kit-id .kit-sub { display: block; color: var(--tx-soft); font-size: 13px; margin-top: 3px; line-height: 1.35; }

.kit-pricing { margin: 22px 0 4px; display: flex; flex-direction: column; align-items: flex-start; }
.kit-anchor { font-family: var(--fm); font-size: 15px; color: var(--tx-dim); text-decoration: line-through; margin-bottom: -2px; }
.kit .price { font-family: var(--fh); font-weight: 800; font-size: 42px; letter-spacing: -0.03em; line-height: 1; }
.kit .price small { font-size: 18px; color: var(--tx-dim); font-weight: 600; margin-right: 3px; }
.kit-percard { font-family: var(--fm); font-size: 12.5px; color: var(--tx-soft); margin-top: 8px; }
.kit-save { margin-top: 10px; display: inline-block; font-size: 12.5px; font-weight: 700; color: var(--acc); background: rgba(var(--acc-glow),0.12); border: 1px solid rgba(var(--acc-glow),0.25); padding: 5px 11px; border-radius: 999px; }

.kit .feats { list-style: none; padding: 0; margin: 20px 0 24px; display: grid; gap: 10px; border-top: 1px solid var(--line); padding-top: 20px; }
.kit .feats li { display: flex; gap: 10px; font-size: 14px; color: var(--tx-soft); }
.kit .feats li svg { color: var(--acc); flex: none; margin-top: 2px; }
.kit .btn { margin-top: auto; }

/* trust strip under kits */
.kit-trust { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 22px; color: var(--tx-soft); font-size: 13.5px; }
.kit-trust span { display: inline-flex; align-items: center; gap: 7px; }
.kit-trust span svg { color: var(--acc); }
.kit-trust .kt-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--line-2); padding: 0; }
@media (max-width: 560px){ .kit-trust { flex-direction: column; gap: 10px; } .kit-trust .kt-dot { display: none; } }

/* section glow + offer labels */
.oferta { position: relative; overflow: hidden; }
.oferta-glow {
  position: absolute; z-index: 0; bottom: 6%; left: 50%; transform: translateX(-50%);
  width: 760px; height: 520px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(var(--acc-glow),0.12), transparent 68%);
  filter: blur(80px);
}
.offer-label {
  display: flex; align-items: center; gap: 12px; margin-bottom: 18px;
  font-family: var(--fm); font-size: 12.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--acc);
}
.offer-label .ol-line { width: 26px; height: 1px; background: var(--acc); opacity: 0.6; flex: none; }

/* ===================== PREMIUM (no-price, WhatsApp) ===================== */
.premium2 {
  margin-top: 4px; border-radius: var(--r-xl); overflow: hidden;
  border: 1px solid rgba(var(--acc-glow),0.28);
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(var(--acc-glow),0.1), transparent 52%),
    linear-gradient(180deg,var(--card-2),var(--card));
}
.premium2-head { padding: clamp(26px,4vw,42px) clamp(26px,4vw,42px) 6px; max-width: 760px; }
.premium2-head h3 { font-family: var(--fh); font-weight: 800; font-size: clamp(24px,3.4vw,38px); letter-spacing: -0.025em; line-height: 1.06; margin-top: 16px; }
.premium2-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
@media (max-width: 820px){ .premium2-cols { grid-template-columns: 1fr; } }
.p2-col { padding: clamp(24px,3.4vw,40px); }
.p2-col:first-child { border-right: 1px solid var(--line); }
@media (max-width: 820px){ .p2-col:first-child { border-right: 0; border-bottom: 1px solid var(--line); } }
.p2-col--mensal { background: rgba(var(--acc-glow),0.035); }
.p2-col-head { margin-bottom: 18px; }
.p2-tag { font-family: var(--fm); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--acc); }
.p2-col-head h4 { font-family: var(--fh); font-weight: 800; font-size: clamp(19px,2.2vw,23px); letter-spacing: -0.02em; margin: 8px 0 4px; }
.p2-once { font-size: 13px; color: var(--tx-dim); }
.p2-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.p2-list li { display: flex; gap: 14px; align-items: flex-start; padding: 13px 0; border-bottom: 1px solid var(--line); }
.p2-list li:last-child { border-bottom: 0; }
.p2-ic {
  width: 40px; height: 40px; flex: none; border-radius: 11px; display: grid; place-items: center;
  color: var(--acc); background: rgba(var(--acc-glow),0.1); border: 1px solid rgba(var(--acc-glow),0.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}
.p2-tx b { display: block; font-family: var(--fh); font-weight: 700; font-size: 15.5px; color: var(--tx); letter-spacing: -0.01em; margin-bottom: 3px; }
.p2-tx span { color: var(--tx-soft); font-size: 13.5px; line-height: 1.5; }

/* CTA band */
.premium2-cta {
  display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap;
  padding: clamp(24px,3.4vw,38px); border-top: 1px solid rgba(var(--acc-glow),0.2);
  background: linear-gradient(180deg, rgba(var(--acc-glow),0.06), transparent);
}
.p2-cta-tx { flex: 1 1 320px; }
.p2-cta-tx b { display: block; font-family: var(--fh); font-weight: 800; font-size: clamp(19px,2.4vw,26px); letter-spacing: -0.02em; }
.p2-cta-tx span { display: block; color: var(--tx-soft); font-size: 15px; line-height: 1.55; margin-top: 8px; max-width: 52ch; }
.p2-cta-action { flex: none; display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.p2-cta-micro { font-family: var(--fm); font-size: 11.5px; color: var(--tx-dim); text-align: center; letter-spacing: 0.02em; }
@media (max-width: 560px){ .premium2-cta { flex-direction: column; align-items: stretch; gap: 16px; } .p2-cta-tx span { margin-top: 6px; } .p2-cta-action .btn { width: 100%; } }
.btn-whats svg { transform: none; }
.btn-whats:hover svg { transform: scale(1.08); }

/* ===================== OBJECTIONS / FAQ accordion ===================== */
.acc { border-top: 1px solid var(--line); }
.acc-item { border-bottom: 1px solid var(--line); }
.acc-q { width: 100%; text-align: left; background: none; border: 0; cursor: pointer; color: var(--tx); padding: 24px 0; display: flex; align-items: center; gap: 18px; font-family: var(--fb); }
.acc-q .q { flex: 1; font-weight: 700; font-size: clamp(16px,2vw,19px); letter-spacing: -0.01em; }
.acc-q .ic { width: 30px; height: 30px; flex: none; border-radius: 50%; border: 1px solid var(--line-2); display: grid; place-items: center; color: var(--acc); transition: transform .3s, background .2s; }
.acc-item.open .acc-q .ic { transform: rotate(45deg); background: rgba(var(--acc-glow),0.1); }
.acc-a { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.acc-a-inner { padding-bottom: 24px; color: var(--tx-soft); font-size: 15.5px; line-height: 1.65; max-width: 70ch; }

/* ===================== GUARANTEE ===================== */
.guarantee { text-align: center; max-width: 700px; margin: 0 auto; }
.guarantee-badge { width: 92px; height: 92px; border-radius: 26px; margin: 0 auto 28px; display: grid; place-items: center; color: var(--acc); background: radial-gradient(circle at 50% 30%, rgba(var(--acc-glow),0.2), transparent), var(--card); border: 1px solid rgba(var(--acc-glow),0.3); box-shadow: 0 0 50px -16px rgba(var(--acc-glow),0.6); }

/* ===================== URGENCY ===================== */
.urgency { border-radius: var(--r-xl); padding: clamp(30px,5vw,52px); text-align: center; position: relative; overflow: hidden;
  background: radial-gradient(120% 140% at 50% 0%, rgba(var(--acc-glow),0.16), transparent 60%), linear-gradient(180deg,var(--card-2),var(--card));
  border: 1px solid rgba(var(--acc-glow),0.25); }
.countdown { display: flex; gap: 12px; justify-content: center; margin: 26px 0; }
.cd-cell { min-width: 78px; padding: 14px 10px; border-radius: var(--r); background: rgba(0,0,0,0.4); border: 1px solid var(--line-2); }
.cd-cell .n { font-family: var(--fh); font-weight: 800; font-size: 34px; letter-spacing: -0.03em; color: var(--tx); }
.cd-cell .u { font-family: var(--fm); font-size: 10.5px; letter-spacing: 0.14em; color: var(--tx-dim); text-transform: uppercase; margin-top: 4px; }
.seats { font-family: var(--fm); font-size: 13px; color: var(--acc); }
.seatbar { height: 7px; border-radius: 999px; background: rgba(255,255,255,0.08); overflow: hidden; max-width: 340px; margin: 12px auto 0; }
.seatbar > i { display: block; height: 100%; background: linear-gradient(90deg,var(--acc),var(--acc-bright)); }

/* ===================== FINAL CTA ===================== */
.final { text-align: center; position: relative; }
.final h2 { font-size: clamp(28px,4.2vw,48px); line-height: 1.1; text-wrap: balance; }
.final .floor-glow { position: absolute; bottom: -40%; left: 50%; transform: translateX(-50%); width: 700px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(var(--acc-glow),0.3), transparent 68%); filter: blur(60px); }

/* ===================== PS ===================== */
.ps-block { display: grid; gap: 18px; max-width: 760px; }
.ps { padding: 24px 26px; border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line); }
.ps b { color: var(--acc); font-family: var(--fh); font-weight: 800; letter-spacing: 0.02em; margin-right: 8px; }
.ps p { color: var(--tx-soft); font-size: 15.5px; display: inline; }

/* ===================== FOOTER ===================== */
.footer { position: relative; border-top: 1px solid var(--line); overflow: hidden; }
.footer .fglow { position: absolute; bottom: -160px; left: -80px; width: 460px; height: 360px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 40px; position: relative; z-index: 1; }
@media (max-width: 720px){ .footer-grid { grid-template-columns: 1fr; gap: 30px; } }
.footer h5 { font-family: var(--fm); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tx-dim); margin: 0 0 16px; }
.footer .fcol a { display: block; color: var(--tx-soft); font-size: 14.5px; padding: 7px 0; transition: color .15s; }
.footer .fcol a:hover { color: var(--acc); }
.footer .legal { margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; color: var(--tx-dim); font-size: 13px; }
.footer .foot-legal-links { margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 10px 24px; }
.footer .foot-legal-links a { color: var(--tx-soft); font-size: 13.5px; transition: color .15s; }
.footer .foot-legal-links a:hover { color: var(--acc); }
.footer .foot-legal-links + .legal { margin-top: 18px; padding-top: 18px; }

/* lgpd checkbox */
.lgpd { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; color: var(--tx-dim); margin-top: 14px; }
.lgpd input { margin-top: 3px; accent-color: var(--acc); }
.note { font-family: var(--fm); font-size: 11.5px; color: var(--tx-faint); margin-top: 10px; }
