:root{
  --bg:#0e0c1d;--bg-card:#1a1730;--bg-m:#15132a;
  --border:rgba(124,104,241,.12);--border-s:rgba(255,255,255,.06);
  --fg:#f0eef6;--fg-m:rgba(240,238,246,.55);--fg-d:rgba(240,238,246,.35);
  --purple:#7C68F1;--purple-h:#6B56E0;--blue:#71B5F8;
  --grad:linear-gradient(135deg,#7C68F1 0%,#71B5F8 50%,#a78bfa 100%);
  --font:'Plus Jakarta Sans',system-ui,sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);--mx:1140px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);background:var(--bg);color:var(--fg);line-height:1.6;overflow-x:hidden}
img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}
ul{list-style:none}.container{max-width:var(--mx);margin:0 auto;padding:0 24px}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(14,12,29,.72);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);transition:box-shadow .3s var(--ease)}
.nav.scrolled{box-shadow:inset 0 -1px 0 0 rgba(255,255,255,.05)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:64px}
.nav__logo img{height:22px}
.nav__links{display:flex;align-items:center;gap:28px}
.nav__links a{font-size:14px;font-weight:500;color:var(--fg-m);transition:color .2s}
.nav__links a:hover{color:var(--fg)}
.nav__cta{padding:8px 18px;border-radius:10px;background:var(--purple);color:#fff;font-size:13px;font-weight:600;transition:all .2s var(--ease)}
.nav__cta:hover{background:var(--purple-h);opacity:1}
.nav__mob{display:none;flex-direction:column;gap:5px;width:24px}
.nav__mob span{height:2px;border-radius:2px;background:var(--fg)}
@media(max-width:768px){
  .nav__mob{display:flex}
  .nav__links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--bg);padding:24px;gap:16px}
  .nav__links.open{display:flex}
}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:140px 24px 120px;overflow:hidden;text-align:center}
.hero__glow{position:absolute;inset:0;pointer-events:none}
.hero__glow-in{position:absolute;inset:-200px;width:calc(100% + 400px);height:calc(100% + 400px);background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(124,104,241,.25) 0%,transparent 55%),radial-gradient(ellipse 60% 50% at 30% 70%,rgba(113,181,248,.15) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 70% 80%,rgba(167,139,250,.12) 0%,transparent 50%);filter:blur(40px)}
.hero__c{position:relative;z-index:1;max-width:680px}
.hero h1{font-size:clamp(36px,6vw,60px);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin-bottom:16px}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero__sub{font-size:clamp(16px,2vw,19px);color:var(--fg-m);line-height:1.6;max-width:520px;margin:0 auto 40px}
.hero__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
/* Hero background image (optional — removed by onerror if missing) */
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.15;z-index:0;pointer-events:none}
.btn-p{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:12px;font-size:15px;font-weight:600;background:var(--purple);color:#fff;box-shadow:0 4px 24px rgba(124,104,241,.35);transition:all .25s var(--ease)}
.btn-p:hover{background:var(--purple-h);transform:translateY(-2px);box-shadow:0 8px 32px rgba(124,104,241,.4)}
.btn-g{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:12px;font-size:15px;font-weight:600;background:transparent;color:var(--fg);border:1px solid rgba(255,255,255,.12);transition:all .25s var(--ease)}
.btn-g:hover{background:rgba(255,255,255,.06)}

/* FLOW — continuous, no borders between sections */
.flow__logos{padding:48px 0;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#fff 12%,#fff 88%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#fff 12%,#fff 88%,transparent 100%)}
.flow__logos-label{text-align:center;font-size:13px;color:var(--fg-d);margin-bottom:20px}
.flow__logos-track{display:flex;gap:64px;animation:ls 35s linear infinite;width:max-content;align-items:center}
.flow__logo{height:32px;width:auto;opacity:.45;filter:brightness(0) invert(1);transition:opacity .3s;flex-shrink:0}
/* .flow__logo{height:32px;width:auto;opacity:.7;filter:grayscale(1) brightness(1.8);mix-blend-mode:screen;transition:opacity .3s;flex-shrink:0} */
.flow__logo:hover{opacity:.8}
@keyframes ls{to{transform:translateX(-50%)}}
.sec{padding-top:72px;padding-bottom:72px}
.sec--lg{padding-top:96px;padding-bottom:96px}
.sec-label{font-size:12px;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}
.sec h2{font-size:clamp(28px,4vw,48px);font-weight:800;line-height:1.08;letter-spacing:-.025em;margin-bottom:12px}
.sec__sub{font-size:17px;color:var(--fg-m);line-height:1.6;max-width:560px}
.sec__gap{height:48px}

/* MEET */
.meet{display:flex;gap:48px;align-items:center}
.meet__vis{flex:1;min-width:0;background:var(--bg-m);border-radius:20px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border-s);position:relative}
/* Meet images — switch on step click */
.meet__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease}
.meet__img.on{opacity:1}
/* Placeholder only shows if no images loaded */
.meet__placeholder{color:var(--fg-d);opacity:.25}
.meet__vis:has(.meet__img) .meet__placeholder{display:none}
.meet__steps{flex:1;display:flex;flex-direction:column;gap:28px}
.ms{cursor:pointer;text-align:left;opacity:.4;transition:opacity .25s var(--ease)}
.ms.on{opacity:1}
.ms h3{font-size:clamp(22px,3vw,34px);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin-bottom:6px}
.ms p{font-size:15px;color:var(--fg-m);line-height:1.6}
@media(max-width:768px){.meet{flex-direction:column}.meet__vis{width:100%}}

/* ABOUT — Quem somos */
.about{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.about__img{border-radius:20px;overflow:hidden;border:1px solid var(--border-s);background:var(--bg-m);aspect-ratio:4/3}
.about__img img{width:100%;height:100%;object-fit:cover;display:block}
.about__text p{font-size:15px;color:var(--fg-m);line-height:1.7;margin-top:16px}
.about__text p:last-child{color:var(--fg);font-weight:500}
@media(max-width:768px){.about{grid-template-columns:1fr;gap:28px}.about__text{order:1}.about__img{order:2}}

/* FEATURE CARDS */
.fg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fc{padding:28px 24px;border-radius:18px;background:var(--bg-m);border:1px solid var(--border-s);transition:all .25s var(--ease)}
.fc:hover{border-color:var(--border);transform:translateY(-3px)}
.fc__ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:rgba(124,104,241,.1);color:var(--purple)}
.fc h3{font-size:16px;font-weight:700;margin-bottom:6px}
.fc p{font-size:13px;color:var(--fg-m);line-height:1.6}
.fc__tog{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--fg-d);margin-top:12px;transition:color .2s}
.fc__tog:hover{color:var(--purple)}
.fc__tog svg{transition:transform .25s var(--ease)}
.fc__tog.open svg{transform:rotate(180deg)}
.fc__det{max-height:0;overflow:hidden;transition:max-height .4s ease}
.fc__det-in{padding-top:12px;font-size:12px;color:var(--fg-m);line-height:1.65;border-top:1px solid var(--border-s);margin-top:12px}
@media(max-width:900px){.fg{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.fg{grid-template-columns:1fr}}

/* PLANS — 3 cards side by side */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pcard{background:var(--bg-m);border:1px solid var(--border-s);border-radius:20px;padding:32px 28px;display:flex;flex-direction:column;transition:all .25s var(--ease)}
.pcard:hover{border-color:var(--border);transform:translateY(-3px)}
.pcard--pop{border-color:var(--purple);box-shadow:0 0 40px rgba(124,104,241,.08)}
.pcard__tag{display:inline-block;font-size:11px;font-weight:600;color:var(--purple);background:rgba(124,104,241,.1);padding:4px 12px;border-radius:100px;margin-bottom:14px;width:fit-content}
.pcard h3{font-size:22px;font-weight:800;margin-bottom:4px}
.pcard__desc{font-size:13px;color:var(--fg-m);margin-bottom:16px;line-height:1.5}
.pcard__price{font-size:12px;color:var(--fg-d);margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border-s)}
.pcard__items{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;flex:1}
.pi{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--fg-m);line-height:1.5}
.pi img{width:16px;height:16px;flex-shrink:0;margin-top:1px;opacity:.8}
.pcard__cta{margin-top:auto}
.pcard__cta .btn-p{width:100%;justify-content:center}
@media(max-width:960px){
  .plans{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;
    padding:0 0 12px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .plans::-webkit-scrollbar{display:none}
  .pcard{min-width:260px;max-width:280px;flex-shrink:0;scroll-snap-align:start}
}

/* NR-01 */
.nr{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.nr__items{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.nr__i{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--fg-m);line-height:1.55}
.nr__ico{width:16px;height:16px;flex-shrink:0;margin-top:2px;opacity:.8}
.nr__box{background:var(--bg-m);border-radius:24px;padding:40px;border:1px solid var(--border-s);text-align:center;overflow:hidden}
.nr__box h3{font-size:22px;font-weight:700;margin:12px 0 8px}
.nr__box p{font-size:13px;color:var(--fg-d);line-height:1.6}
/* NR-01 visual — full column image */
.nr__vis{background:var(--bg-m);border-radius:20px;border:1px solid var(--border-s);overflow:hidden;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3}
.nr__img{width:100%;height:100%;object-fit:cover}
.nr__placeholder{color:var(--fg-d);opacity:.25}
.nr__vis:has(.nr__img) .nr__placeholder{display:none}
/* NR-01 promise callout (full-width) */
.nr__promise{display:flex;gap:16px;align-items:flex-start;margin-top:48px;padding:22px 26px;border-radius:16px;background:var(--bg-m);border:1px solid var(--border)}
.nr__promise-ico{width:44px;height:44px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(124,104,241,.1);color:var(--purple)}
.nr__promise-c h3{font-size:16px;font-weight:700;color:var(--fg);line-height:1.3;margin-bottom:4px}
.nr__promise-c p{font-size:13px;color:var(--fg-m);line-height:1.55;max-width:760px}
@media(max-width:768px){.nr{grid-template-columns:1fr}}

/* STATS */
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sc{display:flex;flex-direction:column;gap:72px;padding:28px;border-radius:24px;background:var(--bg-m);border:1px solid var(--border-s)}
.sc strong{font-size:clamp(40px,5vw,64px);font-weight:800;line-height:1;letter-spacing:-.03em}
.sc span{font-size:14px;color:var(--fg-m);margin-top:auto}
@media(max-width:768px){.sg{grid-template-columns:1fr}}

/* CTA FINAL + FOOTER — gradient covers both */
.cta-f{position:relative;padding:120px 0 40px;overflow:hidden}
.cta-f__glow{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cta-f__glow-in{position:absolute;left:50%;top:-20%;width:200vw;min-width:2400px;aspect-ratio:1;transform:translateX(-50%);background:radial-gradient(ellipse 60% 40% at 50% 30%,rgba(124,104,241,.22) 0%,transparent 60%),radial-gradient(ellipse 45% 35% at 35% 40%,rgba(113,181,248,.14) 0%,transparent 50%),radial-gradient(ellipse 40% 30% at 65% 35%,rgba(167,139,250,.1) 0%,transparent 50%);filter:blur(30px)}
.cta-f__c{position:relative;z-index:1;text-align:center;margin-bottom:80px}
.cta-f__l{font-size:16px;color:var(--fg-m);margin-bottom:8px}
.cta-f h2{font-size:clamp(32px,5vw,56px);font-weight:800;letter-spacing:-.03em;margin-bottom:32px}
.cta-f .btn-p{margin:0 auto}
.cta-f__ft{position:relative;z-index:1;padding:0 24px}

/* FOOTER (card inside CTA gradient) */
.ft{background:var(--bg-m);border:1px solid var(--border-s);border-radius:20px;padding:48px;max-width:var(--mx);margin:0 auto}
.ft__in{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:32px}
.ft__logo img{height:20px;margin-bottom:12px}
.ft__addr{font-size:12px;color:var(--fg-d);line-height:1.6;max-width:260px}
.ft__col h4{font-size:13px;font-weight:500;color:var(--fg-d);margin-bottom:12px}
.ft__col a{display:block;font-size:13px;color:var(--fg-m);margin-bottom:8px;transition:color .2s}
.ft__col a:hover{color:var(--fg)}

/* ═══════ MODAL ═══════ */
.mo{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px}
.mo.open{display:flex}
.ml{background:var(--bg-card);border:1px solid var(--border-s);border-radius:24px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;position:relative}
.ml__x{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);color:var(--fg-m);transition:background .2s;z-index:1}
.ml__x:hover{background:rgba(255,255,255,.12)}
.ml__bar{height:3px;background:rgba(255,255,255,.06);border-radius:24px 24px 0 0;overflow:hidden}
.ml__bar-in{height:100%;background:var(--grad);transition:width .4s ease}
.ml__body{padding:32px}
.mst{display:none}.mst.on{display:block;animation:fu .3s ease}
@keyframes fu{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.mst__l{font-size:11px;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.mst h3{font-size:20px;font-weight:700;margin-bottom:20px}
.fd{margin-bottom:14px}
.fd label{display:block;font-size:12px;font-weight:600;color:var(--fg-m);margin-bottom:5px}
.fd input{width:100%;padding:11px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,.1);font-size:13px;font-family:inherit;color:var(--fg);background:rgba(255,255,255,.04);transition:border-color .2s,box-shadow .2s}
.fd input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px rgba(124,104,241,.15)}
.fd input::placeholder{color:var(--fg-d)}
.fd input:disabled{opacity:.55;cursor:not-allowed;background:rgba(255,255,255,.02)}
.fd-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fd-r3{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.cep-msg{font-size:11px;margin-top:4px}
.cep-msg.ok{color:#25d366}.cep-msg.err{color:#e74c3c}
.cep-spin{position:relative}
.cep-spin::after{content:'';position:absolute;right:12px;top:38px;width:14px;height:14px;border:2px solid rgba(124,104,241,.3);border-top-color:var(--purple);border-radius:50%;animation:spin .5s linear infinite}
.opts{display:flex;flex-direction:column;gap:8px}
.opt{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;border:1.5px solid rgba(255,255,255,.08);cursor:pointer;transition:all .2s var(--ease);font-size:13px;font-weight:500}
.opt:hover{border-color:rgba(124,104,241,.3);background:rgba(124,104,241,.04)}
.opt.sel{border-color:var(--purple);background:rgba(124,104,241,.06);box-shadow:0 0 0 1px rgba(124,104,241,.2)}
.opt__d{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.15);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}
.opt.sel .opt__d{border-color:var(--purple)}
.opt.sel .opt__d::after{content:'';width:9px;height:9px;border-radius:50%;background:var(--purple)}
.fn{display:flex;gap:10px;margin-top:22px}
.fn button{flex:1;padding:12px;border-radius:12px;font-size:13px;font-weight:600;transition:all .2s var(--ease)}
.fb{background:rgba(255,255,255,.06);color:var(--fg-m)}.fb:hover{background:rgba(255,255,255,.1)}
.fnx{background:var(--purple);color:#fff;box-shadow:0 3px 16px rgba(124,104,241,.3)}.fnx:hover{background:var(--purple-h)}
.fwpp{background:#25d366;color:#fff;box-shadow:0 3px 16px rgba(37,211,102,.3);border:none}.fwpp:hover{background:#1fb855}
.fr{text-align:center;padding:20px 0}
.fr h3{font-size:20px;font-weight:700;margin:12px 0 8px}
.fr p{font-size:13px;color:var(--fg-m);line-height:1.6}
.spn{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .55s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.shake{animation:shake .4s ease}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}

/* REVEAL */
.rv{opacity:0;transform:translateY(28px);transition:opacity .55s ease,transform .55s ease}
.rv.vis{opacity:1;transform:translateY(0)}

/* SVG check shorthand */
.ck{width:15px;height:15px;flex-shrink:0;margin-top:2px}

/* ═══════ MOBILE OVERRIDES ═══════ */
@media(max-width:768px){
  /* Edges breathing room */
  .container{padding:0 28px}

  /* Compact section spacing */
  .sec{padding-top:40px;padding-bottom:40px}
  .sec--lg{padding-top:48px;padding-bottom:48px}
  .sec__gap{height:24px}

  /* Center section headers globally */
  .sec-label,
  .sec h2,
  .sec__sub,
  .pcard__tag,
  .flow__logos-label{text-align:center !important;margin-left:auto !important;margin-right:auto !important}

  /* Conheça / Meet — titles left, text left */
  .meet{flex-direction:column;gap:28px}
  .meet__vis{width:100%}
  .meet__steps{gap:18px}
  .ms h3{font-size:20px;text-align:left !important}
  .ms p{text-align:left !important}

  /* Feature cards */
  .fg{grid-template-columns:1fr;gap:12px}

  /* Plans — smaller cards for scroll */
  .pcard{min-width:240px;max-width:260px}
  .pcard__desc{font-size:12px}
  .pcard__cta .btn-p{font-size:13px;padding:11px 20px}

  /* NR-01 */
  .nr{grid-template-columns:1fr;gap:28px}
  .nr__items{align-items:flex-start}
  .nr__i{text-align:left}

  /* Stats */
  .sg{grid-template-columns:1fr;gap:10px}
  .sc{gap:24px;padding:24px}

  /* CTA final */
  .cta-f{padding:56px 0 32px}
  .cta-f__c{margin-bottom:40px;padding:0 28px}
  .cta-f h2{font-size:26px}

  /* Footer */
  .ft{padding:28px 20px;border-radius:16px}
  .ft__in{flex-direction:column;gap:24px}
  .cta-f__ft{padding:0 20px}

  /* Modal */
  .mo{padding:12px}
  .ml{border-radius:20px;max-height:95vh}
  .ml__body{padding:24px 20px}
  .fd-row,.fd-r3{grid-template-columns:1fr}

  /* Logos */
  .flow__logos{padding:32px 0}
}