.elementor-kit-8{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#000000;--e-global-color-text:#F0F0F0;--e-global-color-accent:#BFBFBF;--e-global-color-f061045:#1E1E1E;--e-global-color-b4dfc57:#6BC259;--e-global-color-fd5e30a:#26441F;--e-global-color-06ba169:#88C7FC;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:#141414;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */:root{
  /* ---- Base ---- */
  --bg:        #000000;
  --text:      #DADADA;
  --accent:    #0094FF;
  --accent-2:  #66C2FF;          /* variação sutil p/ gradiente de texto */

  /* dark cards */
  --card:      #0b0c0e;
  --card-2:    #121418;
  --line:      rgba(255,255,255,.09);
  --line-2:    rgba(255,255,255,.05);
  --muted:     #868b94;
  --text-dim:  rgba(218,218,218,.60);
  --accent-12: rgba(0,148,255,.12);
  --accent-20: rgba(0,148,255,.22);
  --accent-glow:rgba(0,148,255,.40);

  /* green action gradient */
  --green:     linear-gradient(135deg,#00C853,#B2FF59);
  --green-ink: #062611;
  --green-glow:rgba(0,200,83,.42);

  /* light contrast section */
  --lt-bg:     #ECEEF2;
  --lt-card:   #ffffff;
  --lt-ink:    #14171B;
  --lt-soft:   #3c4149;
  --lt-muted:  #6a7079;
  --lt-line:   rgba(20,23,27,.12);
  --lt-line-2: rgba(20,23,27,.07);

  --maxw: 1140px;
  --pad: clamp(20px, 5vw, 44px);
  --rcard: 30px;
  --r: 16px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; background:#060708; }
body{
  background:#060708;
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.6; font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden; letter-spacing:-0.004em;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--accent); color:#000; }

/* ===========================================================
   AURORA GRADIENT — fundo animado (névoas grafite + azul)
   =========================================================== */
.aurora{
  position:fixed; inset:-22%; z-index:0; pointer-events:none;
  filter:blur(96px); opacity:.95; will-change:transform;
  background:
    radial-gradient(38% 42% at 22% 24%, rgba(0,148,255,.12), transparent 70%),
    radial-gradient(34% 38% at 80% 18%, rgba(74,84,99,.34), transparent 70%),
    radial-gradient(44% 46% at 72% 74%, rgba(0,148,255,.10), transparent 70%),
    radial-gradient(42% 44% at 24% 82%, rgba(42,48,60,.40), transparent 70%),
    radial-gradient(30% 32% at 52% 50%, rgba(0,148,255,.07), transparent 72%);
  animation:auroraDrift 19s ease-in-out infinite alternate;
}
.aurora::after{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(36% 40% at 65% 30%, rgba(56,64,78,.30), transparent 72%),
    radial-gradient(40% 42% at 30% 60%, rgba(0,148,255,.09), transparent 72%);
  animation:auroraDrift2 23s ease-in-out infinite alternate;
}
@keyframes auroraDrift{
  0%{ transform:translate3d(-3%,-2%,0) scale(1.05) rotate(0deg); }
  50%{ transform:translate3d(3%,2%,0) scale(1.13) rotate(2deg); }
  100%{ transform:translate3d(-2%,3%,0) scale(1.07) rotate(-1deg); }
}
@keyframes auroraDrift2{
  0%{ transform:translate3d(2%,3%,0) scale(1.08); }
  100%{ transform:translate3d(-3%,-2%,0) scale(1.15); }
}
@media (prefers-reduced-motion: reduce){
  .aurora, .aurora::after{ animation:none; }
}

h1,h2,h3{ margin:0; font-weight:700; line-height:1.08; letter-spacing:-0.02em; }
h1{ font-size:clamp(2.3rem, 7.5vw, 4.4rem); font-weight:700; }
h2{ font-size:clamp(1.8rem, 5vw, 2.8rem); }
h3{ font-size:clamp(1.1rem, 3vw, 1.4rem); font-weight:600; }
p{ margin:0; text-wrap:pretty; }

.kicker{
  font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--accent); display:inline-flex; align-items:center; gap:.6em;
}
.accent{ color:var(--accent); }

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }
.section-head{ max-width:660px; margin-bottom:clamp(32px,5vw,52px); }
.section-head h2{ margin-top:16px; }
.section-head p{ margin-top:14px; color:var(--text-dim); font-size:1.05rem; }

/* ===========================================================
   STAGGERED REVEAL (fade-in-up)
   =========================================================== */
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .75s var(--ease), transform .75s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-delay="1"]{ transition-delay:.07s; }
.reveal[data-delay="2"]{ transition-delay:.14s; }
.reveal[data-delay="3"]{ transition-delay:.21s; }
.reveal[data-delay="4"]{ transition-delay:.28s; }
.reveal[data-delay="5"]{ transition-delay:.35s; }
.reveal[data-delay="6"]{ transition-delay:.42s; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

/* ===========================================================
   TOP BAR (minimal, adapta no claro)
   =========================================================== */
.topbar{
  position:fixed; inset:0 0 auto 0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px var(--pad);
  transition:background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
  border-bottom:1px solid transparent;
}
.topbar.scrolled{ background:rgba(0,0,0,.72); backdrop-filter:blur(14px); border-bottom-color:var(--line-2); }
.topbar .brand img{ width:104px; height:auto; display:block; transition:filter .35s ease; }
.topbar.on-light{ background:rgba(236,238,242,.82); backdrop-filter:blur(14px); border-bottom-color:var(--lt-line-2); }
.topbar.on-light .brand img{ filter:invert(1); }
.topbar .tb-cta{
  font-size:.82rem; font-weight:600; color:var(--green-ink);
  background:var(--green); padding:9px 18px; border-radius:999px;
  transition:transform .2s var(--ease), box-shadow .3s; box-shadow:0 6px 20px -8px var(--green-glow);
}
.topbar .tb-cta:hover{ transform:scale(1.05); }
@media (max-width:540px){ .topbar .tb-cta{ display:none; } }

/* ===========================================================
   BUTTONS
   =========================================================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:inherit; font-size:1rem; font-weight:600; cursor:pointer;
  border-radius:999px; padding:15px 28px; border:1px solid transparent;
  transition:transform .22s var(--ease), box-shadow .3s var(--ease), background .25s, color .25s, border-color .25s;
}
.btn svg{ width:18px; height:18px; }
.btn-primary{ background:var(--green); color:var(--green-ink); box-shadow:0 10px 30px -10px var(--green-glow); }
.btn-primary:hover{ transform:scale(1.04); box-shadow:0 16px 40px -10px var(--green-glow); }
.btn-ghost{ background:transparent; color:var(--text); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--accent); color:#fff; }

/* ===========================================================
   1 · HERO  (limpo, sem ícone solto)
   =========================================================== */
.hero{ position:relative; z-index:1; min-height:100svh; display:flex; align-items:center; padding:140px 0 90px; overflow:hidden; }
.hero .wrap{ position:relative; z-index:2; text-align:center; display:flex; flex-direction:column; align-items:center; }
.hero-glow{ position:absolute; z-index:1; border-radius:50%; filter:blur(90px); pointer-events:none; }
.hero-glow.g1{ width:560px; height:560px; background:radial-gradient(circle,var(--accent-glow),transparent 70%); top:-120px; right:-140px; opacity:.30; }
.hero-glow.g2{ width:380px; height:380px; background:radial-gradient(circle,rgba(0,200,83,.30),transparent 70%); bottom:-140px; left:-120px; opacity:.18; }

/* client row */
.client-row{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom:30px; }
.client-row .c-label{ font-size:.82rem; letter-spacing:.04em; color:var(--text-dim); }
.client-avatar{
  width:42px; height:42px; border-radius:50%; flex:none; overflow:hidden;
  border:2px solid var(--accent); box-shadow:0 0 0 4px var(--accent-12);
  background:repeating-linear-gradient(135deg,var(--card-2) 0 7px,var(--card) 7px 14px);
  display:grid; place-items:center;
}
.client-avatar span{ font-size:.86rem; font-weight:700; color:var(--accent); }
.client-name{ font-size:1rem; font-weight:600; color:#fff; }
.client-sep{ width:4px; height:4px; border-radius:50%; background:var(--muted); }
.client-date{ font-size:.86rem; color:var(--text-dim); }

.hero h1{ max-width:15ch; font-weight:700; }
.hero h1 .grad{
  background:linear-gradient(100deg,var(--accent),var(--accent-2));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.hero-sub{ margin-top:24px; max-width:48ch; font-size:clamp(1.05rem,2.4vw,1.26rem); color:var(--text-dim); font-weight:400; }
.hero-actions{ margin-top:38px; display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.hero-scroll{ margin-top:50px; display:flex; align-items:center; gap:12px; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.hero-scroll .mouse{ width:22px; height:34px; border:1.5px solid var(--line); border-radius:14px; position:relative; }
.hero-scroll .mouse::after{ content:""; position:absolute; left:50%; top:7px; width:3px; height:7px; border-radius:2px; background:var(--accent); transform:translateX(-50%); animation:scrollDot 1.7s var(--ease) infinite; }
@keyframes scrollDot{ 0%{opacity:0;transform:translate(-50%,0)} 30%{opacity:1} 70%{opacity:1;transform:translate(-50%,9px)} 100%{opacity:0;transform:translate(-50%,12px)} }

/* entrance (fade-in-up on load) */
.hero [data-enter]{ opacity:0; transform:translateY(22px); animation:fadeUp .85s var(--ease) forwards; }
.hero [data-enter="1"]{ animation-delay:.04s; } .hero [data-enter="2"]{ animation-delay:.14s; }
.hero [data-enter="3"]{ animation-delay:.26s; } .hero [data-enter="4"]{ animation-delay:.38s; }
.hero [data-enter="5"]{ animation-delay:.50s; }
@keyframes fadeUp{ to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .hero [data-enter]{ opacity:1; transform:none; animation:none; } }

/* ===========================================================
   SCROLL STACK — cartões flutuantes
   =========================================================== */
.stack{ position:relative; z-index:3; }
.panel{ position:relative; }
.panel-card{
  position:relative; border-radius:var(--rcard) var(--rcard) 0 0;
  background:var(--bg); margin-top:-1px;
}
/* dark floating card */
.panel-dark > .panel-inner{
  border:1px solid var(--line); border-bottom:none;
  border-radius:var(--rcard) var(--rcard) 0 0;
  background:linear-gradient(180deg, rgba(12,13,16,.90) 0%, rgba(6,7,9,.74) 60%);
  backdrop-filter:blur(2px);
  padding-block:clamp(56px,9vw,108px);
  box-shadow:0 -30px 60px -40px rgba(0,148,255,.18);
}
.panel + .panel{ margin-top:-26px; }       /* leve sobreposição = empilhamento */

/* ===========================================================
   2 · SOBRE
   =========================================================== */
.about-grid{ display:grid; gap:clamp(28px,5vw,56px); align-items:center; grid-template-columns:1fr; }
@media (min-width:820px){ .about-grid{ grid-template-columns:.85fr 1fr; } }
.about-photo{
  position:relative; aspect-ratio:4/5; border-radius:var(--r); overflow:hidden; border:1px solid var(--line);
  background:repeating-linear-gradient(135deg,var(--card-2) 0 14px,var(--card) 14px 28px);
  display:flex; align-items:center; justify-content:center;
}
.about-photo .ph-label{ font-family:ui-monospace,Menlo,monospace; font-size:.72rem; color:var(--muted); text-align:center; padding:14px; line-height:1.6; }
.about-photo::after{ content:""; position:absolute; inset:0; box-shadow:inset 0 -80px 80px -40px rgba(0,0,0,.7); }
.about-role{ color:var(--accent); font-weight:600; margin-top:6px; font-size:.96rem; }
.about-body p.lead{ margin-top:22px; font-size:1.1rem; color:var(--text); font-weight:400; }
.about-body p.sub{ margin-top:14px; color:var(--text-dim); }
.proof{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.proof-card{
  flex:1 1 160px; min-width:148px; border:1px solid var(--line); border-radius:14px; padding:20px 22px;
  background:var(--card); transition:border-color .3s var(--ease), transform .3s var(--ease);
}
.proof-card:hover{ border-color:var(--accent-20); transform:translateY(-3px); }
.proof-num{ font-size:2.3rem; font-weight:700; letter-spacing:-.03em; color:#fff; line-height:1; }
.proof-num .accent{ color:var(--accent); }
.proof-label{ margin-top:8px; font-size:.85rem; color:var(--text-dim); }
.stars{ color:var(--accent); font-size:1rem; }

/* ===========================================================
   3 · PORTFÓLIO
   =========================================================== */
.port-track{
  display:grid; grid-auto-flow:column; grid-auto-columns:80%; gap:16px; overflow-x:auto;
  scroll-snap-type:x mandatory; padding:4px 0 18px; margin:0 calc(var(--pad)*-1); padding-inline:var(--pad);
  -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.port-track::-webkit-scrollbar{ display:none; }
.port-card{
  scroll-snap-align:center; position:relative; border-radius:var(--r); overflow:hidden;
  border:1px solid var(--line); aspect-ratio:4/3; cursor:pointer;
  background:repeating-linear-gradient(135deg,var(--card-2) 0 16px,var(--card) 16px 32px);
}
.port-card .ph{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:ui-monospace,Menlo,monospace; font-size:.72rem; color:var(--muted); text-align:center;
  padding:20px; line-height:1.6; transition:transform .65s var(--ease); transform:scale(1);
}
.port-card:hover .ph{ transform:scale(1.09); }
.port-card .meta{
  position:absolute; left:0; right:0; bottom:0; padding:18px;
  background:linear-gradient(0deg,rgba(0,0,0,.82),transparent);
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
}
.port-card .meta .title{ font-weight:600; color:#fff; font-size:1rem; }
.port-card .meta .client{ font-size:.8rem; color:var(--text-dim); }
.port-card .tag{
  font-size:.68rem; font-weight:600; color:var(--accent); border:1px solid var(--accent-20);
  background:rgba(0,0,0,.4); backdrop-filter:blur(4px); padding:5px 11px; border-radius:999px; white-space:nowrap;
  opacity:0; transform:translateY(8px); transition:.4s var(--ease);
}
.port-card:hover .tag{ opacity:1; transform:none; }
.port-card.featured{ outline:1px solid var(--accent-20); }
.port-card .ribbon{
  position:absolute; top:14px; left:14px; z-index:2; font-size:.64rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:#000; background:var(--accent); padding:5px 10px; border-radius:6px;
}
.port-dots{ display:flex; gap:7px; justify-content:center; margin-top:18px; }
.port-dots button{ width:7px; height:7px; border-radius:50%; border:none; padding:0; background:var(--line); cursor:pointer; transition:.3s; }
.port-dots button.active{ background:var(--accent); width:22px; border-radius:4px; }
@media (min-width:760px){
  .port-track{ grid-auto-flow:row; grid-template-columns:repeat(3,1fr); grid-auto-columns:auto; overflow:visible; margin:0; padding-inline:0; }
  .port-card.featured{ grid-column:span 2; aspect-ratio:8/5; }
  .port-dots{ display:none; }
}

/* ===========================================================
   4 · PROCESSO / TIMELINE (acende em azul) + variantes
   =========================================================== */
.timeline{ position:relative; margin-top:8px; }
.tl-line{ position:absolute; left:19px; top:8px; bottom:8px; width:2px; background:var(--line); border-radius:2px; overflow:hidden; }
.tl-line .fill{ position:absolute; left:0; top:0; width:100%; height:0; background:var(--accent); box-shadow:0 0 14px var(--accent-glow); transition:height .15s linear; }
.tl-step{ position:relative; padding:0 0 clamp(28px,4.5vw,44px) 56px; }
.tl-step:last-child{ padding-bottom:0; }
.tl-node{
  position:absolute; left:8px; top:2px; width:24px; height:24px; border-radius:50%; background:var(--bg);
  border:2px solid var(--line); display:grid; place-items:center; transition:.5s var(--ease); z-index:2;
}
.tl-node::after{ content:""; width:7px; height:7px; border-radius:50%; background:var(--muted); transition:.5s var(--ease); }
.tl-step.active .tl-node{ border-color:var(--accent); box-shadow:0 0 0 6px var(--accent-12),0 0 22px var(--accent-glow); transform:scale(1.12); }
.tl-step.active .tl-node::after{ background:var(--accent); }
.tl-num{ font-size:.72rem; font-weight:600; letter-spacing:.16em; color:var(--accent); }
.tl-step h3{ margin-top:4px; color:#fff; }
.tl-step p{ margin-top:8px; color:var(--text-dim); max-width:52ch; font-size:.98rem; }

@media (min-width:780px){
  [data-timeline="b"] .tl-line{ left:50%; transform:translateX(-50%); }
  [data-timeline="b"] .timeline{ display:flex; flex-direction:column; }
  [data-timeline="b"] .tl-step{ width:50%; padding-left:0; padding-right:48px; text-align:right; align-self:flex-start; }
  [data-timeline="b"] .tl-step:nth-child(even){ align-self:flex-end; padding-right:0; padding-left:48px; text-align:left; }
  [data-timeline="b"] .tl-node{ left:auto; right:-12px; top:2px; }
  [data-timeline="b"] .tl-step:nth-child(even) .tl-node{ right:auto; left:-12px; }
  [data-timeline="b"] .tl-step p{ margin-left:auto; }
  [data-timeline="b"] .tl-step:nth-child(even) p{ margin-left:0; }
}
[data-timeline="c"] .tl-line{ display:none; }
[data-timeline="c"] .timeline{ display:grid; gap:14px; }
[data-timeline="c"] .tl-step{ padding:22px 22px 22px 78px; border:1px solid var(--line); border-radius:14px; background:var(--card); transition:border-color .4s var(--ease), transform .4s var(--ease); }
[data-timeline="c"] .tl-step.active{ border-color:var(--accent-20); transform:translateX(4px); }
[data-timeline="c"] .tl-node{ left:22px; top:22px; width:38px; height:38px; font-size:1rem; font-weight:700; color:var(--muted); }
[data-timeline="c"] .tl-node::after{ display:none; }
[data-timeline="c"] .tl-step.active .tl-node{ color:var(--accent); }
@media (min-width:780px){ [data-timeline="c"] .timeline{ grid-template-columns:1fr 1fr; } }

/* ===========================================================
   5 · DOBRA DE CONTRASTE (CLARO) — Entregáveis + Investimento
   =========================================================== */
.light-section{
  position:relative; z-index:4; background:var(--lt-bg); color:var(--lt-soft);
  border-radius:var(--rcard) var(--rcard) 0 0; margin-top:-26px;
  padding-block:clamp(60px,9vw,118px); box-shadow:0 -40px 80px -50px rgba(0,0,0,.9);
}
.light-section .kicker{ color:var(--accent); }
.light-section h2{ color:var(--lt-ink); }
.light-section .section-head p{ color:var(--lt-muted); }
.light-divider{ height:1px; background:var(--lt-line-2); margin-block:clamp(48px,7vw,80px); }

.deliver-grid{ display:grid; gap:18px; grid-template-columns:1fr; }
@media (min-width:720px){ .deliver-grid{ grid-template-columns:1fr 1fr; } }
.deliver-card{
  background:var(--lt-card); border:1px solid var(--lt-line); border-radius:var(--r);
  padding:clamp(26px,4vw,38px); transition:border-color .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease);
}
.deliver-card:hover, .deliver-card:focus-within{ border-color:var(--accent); transform:translateY(-4px); box-shadow:0 24px 50px -28px var(--accent-glow); }
.deliver-card .idx{ font-size:.72rem; font-weight:600; letter-spacing:.16em; color:var(--accent); }
.deliver-card h3{ margin-top:10px; color:var(--lt-ink); }
.deliver-card .d-desc{ margin-top:12px; color:var(--lt-muted); font-size:.98rem; }
.deliver-list{ list-style:none; margin:22px 0 0; padding:0; display:grid; gap:12px; }
.deliver-list li{ display:flex; align-items:flex-start; gap:12px; font-size:.96rem; color:var(--lt-soft); }
.deliver-list li svg{ flex:none; width:20px; height:20px; margin-top:1px; color:var(--accent); }

.schedule{
  margin-top:18px; border:1px solid var(--accent-20); border-radius:var(--r); padding:clamp(24px,4vw,34px);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px;
  background:linear-gradient(120deg,var(--accent-12),transparent 60%), var(--lt-card);
}
.schedule .s-days{ font-size:clamp(2.6rem,8vw,3.4rem); font-weight:700; color:var(--accent); line-height:.9; letter-spacing:-.04em; }
.schedule .s-days small{ display:block; font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--lt-muted); margin-top:6px; }
.schedule .s-note{ max-width:42ch; color:var(--lt-muted); font-size:.92rem; }
.schedule .s-note b{ color:var(--lt-ink); }

/* investimento (no claro) */
.invest-grid{ display:grid; gap:18px; grid-template-columns:1fr; align-items:stretch; }
@media (min-width:720px){ .invest-grid{ grid-template-columns:1fr 1fr; } }
.plan{
  background:var(--lt-card); border:1px solid var(--lt-line); border-radius:var(--r); padding:clamp(28px,4vw,40px);
  display:flex; flex-direction:column; position:relative; transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.plan:hover{ transform:translateY(-3px); }
.plan .plan-tag{ font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--lt-muted); }
.plan .plan-title{ margin-top:8px; font-size:1.2rem; font-weight:600; color:var(--lt-ink); }
.plan .price{ margin-top:20px; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.plan .price .cur{ font-size:1.05rem; font-weight:600; color:var(--lt-muted); }
.plan .price .val{ font-size:clamp(2.5rem,8vw,3.2rem); font-weight:700; letter-spacing:-.03em; color:var(--lt-ink); line-height:1; }
.plan .price-strike{ margin-top:6px; font-size:.9rem; color:var(--lt-muted); text-decoration:line-through; }
.plan .plan-detail{ margin-top:16px; color:var(--lt-muted); font-size:.95rem; }
.plan .plan-detail b{ color:var(--lt-ink); }
.plan .plan-list{ list-style:none; margin:20px 0 0; padding:0; display:grid; gap:11px; }
.plan .plan-list li{ display:flex; gap:11px; align-items:flex-start; font-size:.95rem; color:var(--lt-soft); }
.plan .plan-list li svg{ flex:none; width:18px; height:18px; color:var(--accent); margin-top:2px; }
.plan .plan-foot{ margin-top:auto; padding-top:24px; }

.plan.featured{
  border-color:var(--accent);
  box-shadow:0 0 0 1px var(--accent-20), 0 30px 70px -34px var(--accent-glow);
}
.plan.featured::before{
  content:""; position:absolute; inset:-1px; border-radius:var(--r); padding:1px;
  background:linear-gradient(140deg,var(--accent),transparent 55%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude;
  pointer-events:none; animation:plansheen 5s linear infinite; opacity:.7;
}
@keyframes plansheen{ 0%,100%{opacity:.4} 50%{opacity:.85} }
.plan .best-badge{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--accent); color:#fff;
  font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:7px 16px; border-radius:999px;
  white-space:nowrap; box-shadow:0 8px 24px -6px var(--accent-glow);
}
.plan .btn-ghost{ color:var(--lt-ink); border-color:var(--lt-line); }
.plan .btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }

/* ===========================================================
   6 · CTA + FOOTER (volta ao preto)
   =========================================================== */
.closing{ position:relative; z-index:5; text-align:center; padding-block:clamp(72px,12vw,150px); background:transparent; overflow:hidden; }
.closing h2{ font-size:clamp(2.1rem,7vw,3.6rem); }
.closing p{ margin:18px auto 0; max-width:42ch; color:var(--text-dim); font-size:1.08rem; }
.cta-pulse{
  margin-top:38px; display:inline-flex; align-items:center; gap:12px; font-size:1.12rem; font-weight:700;
  color:var(--green-ink); background:var(--green); padding:20px 44px; border-radius:999px; position:relative;
  box-shadow:0 12px 40px -10px var(--green-glow); animation:pulse 2.4s var(--ease) infinite; transition:transform .2s var(--ease);
}
.cta-pulse:hover{ transform:scale(1.05); }
.cta-pulse svg{ width:24px; height:24px; }
@keyframes pulse{
  0%{ box-shadow:0 12px 40px -10px var(--green-glow),0 0 0 0 var(--green-glow); }
  70%{ box-shadow:0 12px 40px -10px var(--green-glow),0 0 0 22px rgba(0,200,83,0); }
  100%{ box-shadow:0 12px 40px -10px var(--green-glow),0 0 0 0 rgba(0,200,83,0); }
}
@media (prefers-reduced-motion: reduce){ .cta-pulse{ animation:none; } }
.closing .glow{ position:absolute; left:50%; top:42%; transform:translate(-50%,-50%); width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(0,200,83,.18),transparent 70%); filter:blur(70px); z-index:1; pointer-events:none; }
.closing .wrap{ position:relative; z-index:2; }

.footer{ position:relative; z-index:1; background:transparent; border-top:1px solid var(--line-2); padding:34px var(--pad); }
.footer .wrap{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; padding-inline:0; }
.footer img{ width:90px; opacity:.7; }
.footer p{ font-size:.84rem; color:var(--muted); }
.footer .f-links{ display:flex; gap:20px; font-size:.84rem; color:var(--text-dim); }

/* sticky mobile CTA */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:45;
  padding:12px var(--pad) calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(0deg,rgba(0,0,0,.95) 60%,transparent);
  transform:translateY(120%); transition:transform .4s var(--ease); pointer-events:none;
}
.sticky-cta.show{ transform:none; pointer-events:auto; }
.sticky-cta a{
  display:flex; align-items:center; justify-content:center; gap:10px; background:var(--green); color:var(--green-ink);
  font-weight:700; font-size:1.02rem; padding:15px; border-radius:14px; box-shadow:0 -4px 30px -10px var(--green-glow);
}
.sticky-cta a svg{ width:20px; height:20px; }
@media (min-width:760px){ .sticky-cta{ display:none; } }/* End custom CSS */