:root {
  --teal-900: #061e1c;
  --teal-800: #0a2d2a;
  --teal-700: #0d3a36;
  --teal-600: #115248;
  --teal-500: #1a9076;
  --teal-400: #22b996;
  --teal-300: #40d4b0;
  --teal-200: #7de9d0;
  --lime: #b8f53c;
  --lime-dark: #9dd42e;
  --white: #f0faf7;
  --gray-100: #d4eee7;
  --gray-400: #8ab8ae;
  --gray-600: #4a7a6f;
  --glass-bg: rgba(10,45,42,0.6);
  --glass-border: rgba(64,212,176,0.15);
  --font-display: 'Roboto', sans-serif;
  --font-heading: 'Lato', sans-serif;
  --font-body: 'Open Sans', sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--teal-900);color:var(--white);overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:.28}

/* cursor (desktop / ponteiro fino — oculto no mobile) */
#cursor-dot{position:fixed;width:6px;height:6px;background:var(--lime);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}
#cursor-ring{position:fixed;width:32px;height:32px;border:1.5px solid rgba(64,212,176,.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .22s,height .22s,border-color .22s}
@media (max-width:991.98px),(pointer:coarse){
  #cursor-dot,#cursor-ring{display:none!important}
}

/* Ondas “pedra na água” — toque/clique na landing */
.water-ripples-layer{position:fixed;inset:0;pointer-events:none;z-index:4;overflow:hidden}
.water-ripple{
  position:fixed;
  left:0;top:0;
  width:28px;height:28px;
  margin-left:-14px;margin-top:-14px;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(26,144,118,.42) 0%,rgba(64,212,176,.22) 38%,rgba(125,233,208,.08) 62%,transparent 72%);
  box-shadow:0 0 0 1px rgba(64,212,176,.28),0 0 24px rgba(64,212,176,.15);
  animation:waterRippleOut var(--wr-dur,1.15s) cubic-bezier(.25,.5,.35,1) forwards;
  animation-delay:var(--wr-delay,0s);
  will-change:transform,opacity,filter;
}
.water-ripple.wr-2{
  background:radial-gradient(circle,rgba(64,212,176,.28) 0%,rgba(125,233,208,.12) 45%,transparent 70%);
  box-shadow:0 0 0 1px rgba(125,233,208,.2);
  --wr-delay:.07s;
  --wr-dur:1.35s;
}
.water-ripple.wr-3{
  background:radial-gradient(circle,transparent 35%,rgba(184,245,60,.06) 55%,transparent 75%);
  --wr-delay:.14s;
  --wr-dur:1.55s;
}
@keyframes waterRippleOut{
  0%{transform:scale(.2);opacity:.55;filter:blur(0)}
  35%{opacity:.32;filter:blur(.5px)}
  100%{transform:scale(6.5);opacity:0;filter:blur(4px)}
}

/* NAVBAR */
.navbar{background:rgba(6,30,28,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--glass-border);padding:.9rem 0;position:sticky;top:0;z-index:1000;transition:background .35s,box-shadow .35s}
.navbar.scrolled{background:rgba(4,18,17,.77);box-shadow:0 4px 32px rgba(0,0,0,.38)}
.navbar-brand{font-family:var(--font-heading);font-weight:900;font-size:1.5rem;color:var(--teal-300)!important;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}
.brand-dot{width:9px;height:9px;background:var(--lime);border-radius:50%;flex-shrink:0;animation:pd 2s infinite}
@keyframes pd{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.65}}
.nav-link{color:var(--gray-100)!important;font-family:var(--font-body);font-size:.88rem;font-weight:400;transition:color .2s;position:relative}
.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--teal-300);transform:scaleX(0);transition:transform .25s;transform-origin:left}
.nav-link:hover{color:var(--teal-300)!important}
.nav-link:hover::after{transform:scaleX(1)}
.btn-nav-cta{background:var(--lime);color:var(--teal-900)!important;font-family:var(--font-body);font-weight:700;font-size:.85rem;padding:.44rem 1.25rem;border-radius:50px;border:none;transition:all .25s;text-decoration:none}
.btn-nav-cta:hover{background:var(--lime-dark);transform:translateY(-1px);box-shadow:0 4px 18px rgba(184,245,60,.35)}
/* Mobile top: ícone login + Experimentar */
.btn-mobile-login{
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;
  color:#fff;font-size:2.1rem;line-height:1;
  text-decoration:none;transition:color .2s,background .2s,opacity .2s;
  border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);
}
.btn-mobile-login:hover,.btn-mobile-login:focus{color:#fff;background:rgba(255,255,255,.14);opacity:.95}
.btn-nav-cta-mobile{
  font-size:.8rem!important;padding:.42rem 1rem!important;white-space:nowrap;
}

/* HERO */
.hero{position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden;padding:5rem 0 5rem}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 40%,rgba(26,144,118,.26) 0%,transparent 65%),radial-gradient(ellipse 50% 50% at 10% 80%,rgba(13,58,54,.55) 0%,transparent 70%),linear-gradient(160deg,var(--teal-900) 0%,var(--teal-800) 50%,#051414 100%);z-index:-1}
.hero-orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}
.orb1{width:520px;height:520px;background:rgba(26,144,118,.2);top:-120px;right:-60px}
.orb2{width:320px;height:320px;background:rgba(184,245,60,.07);bottom:40px;left:4%}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(64,212,176,.033) 1px,transparent 1px),linear-gradient(90deg,rgba(64,212,176,.033) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 80%)}
#particles{position:absolute;top:0;left:0;width:100%!important;height:100%!important;z-index:0;pointer-events:none;display:block}
.hero>.container{position:relative;z-index:2}

.hero-tag{display:inline-flex;align-items:center;gap:.5rem;background:rgba(64,212,176,.09);border:1px solid rgba(64,212,176,.22);color:var(--teal-300);font-family:var(--font-body);font-size:.74rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;padding:.32rem .9rem;border-radius:50px;margin-bottom:1.4rem;opacity:0}
.hero h1{font-family:var(--font-heading);font-size:clamp(2.3rem,5.5vw,4rem);font-weight:900;line-height:1.08;letter-spacing:-.02em;margin-bottom:1.4rem;opacity:0}
.hero h1 .accent{color:var(--lime)}
.hero-sub{font-family:var(--font-body);font-size:1.04rem;color:var(--gray-100);line-height:1.7;max-width:510px;margin-bottom:2rem;font-weight:300;opacity:0}
.hero-cta-group{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:2.4rem;opacity:0}
.btn-primary-cta{background:var(--lime);color:var(--teal-900);font-family:var(--font-body);font-weight:700;font-size:1rem;padding:.85rem 2rem;border-radius:50px;border:none;cursor:pointer;transition:all .28s;display:inline-flex;align-items:center;gap:.5rem;position:relative;overflow:hidden}
.btn-primary-cta::after{content:'';position:absolute;inset:0;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.28) 50%,transparent 60%);transform:translateX(-100%);transition:transform .55s}
.btn-primary-cta:hover::after{transform:translateX(100%)}
.btn-primary-cta:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(184,245,60,.4);background:#c4ff45}
.btn-secondary-cta{background:transparent;color:var(--white);font-family:var(--font-body);font-size:1rem;padding:.85rem 1.8rem;border-radius:50px;border:1px solid var(--glass-border);cursor:pointer;transition:all .28s;display:inline-flex;align-items:center;gap:.5rem;backdrop-filter:blur(8px)}
.btn-secondary-cta:hover{border-color:var(--teal-300);color:var(--teal-300);background:rgba(64,212,176,.06)}
.hero-cred{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--gray-400);font-family:var(--font-body);font-size:.81rem;opacity:0}
.hero-cred i{color:var(--teal-300)}
.hero-visual{opacity:0}

/* dashboard mock */
.hero-main-img{width:100%;border-radius:20px;border:1px solid var(--glass-border);background:var(--glass-bg);overflow:hidden;backdrop-filter:blur(20px)}
.hero-dashboard-preview{padding:1.4rem}
.dash-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}
.dash-title{font-family:var(--font-body);font-size:.82rem;font-weight:600;color:var(--teal-300)}
.dash-dots{display:flex;gap:.3rem}
.dash-dot{width:8px;height:8px;border-radius:50%}
.dash-dot:nth-child(1){background:#ff5f57}.dash-dot:nth-child(2){background:#febc2e}.dash-dot:nth-child(3){background:#28c840}
.dash-row{display:flex;justify-content:space-between;align-items:center;padding:.48rem .7rem;border-radius:8px;margin-bottom:.38rem;background:rgba(64,212,176,.05);border:1px solid rgba(64,212,176,.09);font-family:var(--font-body);font-size:.79rem;transition:background .25s}
.dash-row:hover{background:rgba(64,212,176,.1)}
.dash-name{color:var(--gray-100)}
.dash-status{font-size:.68rem;padding:.13rem .48rem;border-radius:50px;font-weight:700}
.dash-status.ok{background:rgba(184,245,60,.15);color:var(--lime)}
.dash-status.ia{background:rgba(64,212,176,.15);color:var(--teal-300)}
.ai-typing{margin-top:1rem;padding:.6rem .8rem;background:rgba(64,212,176,.07);border-radius:8px;border-left:3px solid var(--teal-400);font-family:var(--font-body);font-size:.77rem;color:var(--gray-100)}
.ai-typing::before{content:'✦ Protocolo Inteligente';display:block;font-size:.64rem;color:var(--teal-300);font-weight:700;margin-bottom:.28rem;letter-spacing:.06em}
.typing-cursor{display:inline-block;width:2px;height:11px;background:var(--teal-300);margin-left:2px;animation:blink .7s infinite;vertical-align:middle}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.stat-card{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(20px);border-radius:14px;padding:.9rem 1.3rem;display:flex;align-items:center;gap:.85rem;box-shadow:0 8px 28px rgba(0,0,0,.28)}
.stat-icon{width:42px;height:42px;background:rgba(64,212,176,.14);border-radius:11px;display:flex;align-items:center;justify-content:center;color:var(--teal-300);font-size:1.15rem;flex-shrink:0}
.stat-label{font-family:var(--font-body);font-size:.73rem;color:var(--gray-400);margin-bottom:.08rem}
.stat-value{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--white)}
.stat-badge{font-size:.68rem;background:rgba(184,245,60,.14);color:var(--lime);border-radius:50px;padding:.08rem .42rem;font-weight:600}

/* SECTIONS */
section{position:relative;z-index:1}
.section-tag{display:inline-block;font-family:var(--font-body);font-size:.73rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-300);margin-bottom:.7rem}
.section-title{font-family:var(--font-heading);font-size:clamp(1.7rem,4vw,2.7rem);font-weight:900;line-height:1.1;letter-spacing:-.018em;margin-bottom:1rem}

/* LOGOS */
.logos-bar{padding:2.4rem 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);background:rgba(10,45,42,.4);overflow:hidden}
.logos-label{font-family:var(--font-body);font-size:.76rem;color:var(--gray-400);text-transform:uppercase;letter-spacing:.11em;text-align:center;margin-bottom:1.4rem}
.logos-scroll{display:flex;gap:4rem;white-space:nowrap;animation:scroll-logos 22s linear infinite}
@keyframes scroll-logos{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logo-item{font-family:var(--font-heading);font-weight:700;font-size:1rem;color:var(--gray-600);opacity:.6;transition:opacity .2s,color .2s;flex-shrink:0}
.logo-item:hover{opacity:1;color:var(--teal-300)}

/* DOR */
.dor-section{padding:7rem 0;background:linear-gradient(180deg,transparent,rgba(8,28,26,.65) 30%,rgba(8,28,26,.65) 70%,transparent)}
.pain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1rem;margin:2.5rem 0}
.pain-item{display:flex;align-items:flex-start;gap:.8rem;padding:1rem 1.1rem;background:rgba(255,80,60,.03);border:1px solid rgba(255,100,80,.1);border-radius:14px;transition:all .3s;opacity:0;transform:translateY(18px)}
.pain-item.in{opacity:1;transform:translateY(0)}
.pain-item:hover{border-color:rgba(255,120,100,.28);background:rgba(255,80,60,.06)}
.pain-icon{width:34px;height:34px;background:rgba(255,80,60,.11);border-radius:9px;display:flex;align-items:center;justify-content:center;color:#ff7060;font-size:.95rem;flex-shrink:0}
.pain-text{font-family:var(--font-body);font-size:.87rem;color:var(--gray-100);line-height:1.45}
.dor-closing{font-family:var(--font-body);font-size:1.05rem;color:var(--gray-400);font-style:italic;text-align:center;margin-top:2rem;padding:1.4rem 2rem;border-top:1px solid var(--glass-border)}
.dor-closing strong{color:var(--white);font-style:normal}

/* FEATURES */
.features-section{padding:7rem 0}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.15rem;margin-top:3rem}
.feat-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;padding:1.75rem;transition:border-color .35s,transform .35s,box-shadow .35s;position:relative;overflow:hidden;opacity:0;transform:translateY(22px);perspective:800px}
.feat-card.in{opacity:1;transform:translateY(0)}
.feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--teal-400),transparent);transform:scaleX(0);transition:transform .4s}
.feat-card:hover::before{transform:scaleX(1)}
.feat-card:hover{border-color:rgba(64,212,176,.32);box-shadow:0 20px 48px rgba(0,0,0,.38)}
.feat-card.highlight{background:linear-gradient(135deg,rgba(26,144,118,.28),rgba(10,45,42,.85));border-color:rgba(64,212,176,.28);grid-column:span 2}
@media(max-width:768px){.feat-card.highlight{grid-column:span 1}}
.feat-icon{width:50px;height:50px;background:rgba(64,212,176,.11);border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:var(--teal-300);margin-bottom:1.15rem}
.feat-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;margin-bottom:.45rem;color:var(--white)}
.feat-desc{font-family:var(--font-body);font-size:.87rem;color:var(--gray-400);line-height:1.55;margin-bottom:.75rem}
.feat-benefit{font-family:var(--font-body);font-size:.8rem;color:var(--lime);font-weight:600;display:flex;align-items:center;gap:.35rem}

/* IA */
.ia-section{padding:7rem 0;background:linear-gradient(180deg,transparent,rgba(13,58,54,.38) 20%,rgba(13,58,54,.38) 80%,transparent);overflow:hidden}
.ia-steps{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.8rem}
.ia-step{display:flex;align-items:flex-start;gap:.95rem;padding:1.2rem 1.4rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:15px;transition:all .3s;opacity:0;transform:translateX(-22px)}
.ia-step.in{opacity:1;transform:translateX(0)}
.ia-step:hover{border-color:var(--teal-400);box-shadow:0 8px 22px rgba(0,0,0,.2)}
.ia-step-num{width:34px;height:34px;background:var(--teal-600);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:900;font-size:.88rem;flex-shrink:0}
.ia-step h5{font-family:var(--font-heading);font-size:.98rem;font-weight:700;margin-bottom:.18rem}
.ia-step p{font-family:var(--font-body);font-size:.85rem;color:var(--gray-400);margin:0}
.ia-visual-box{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:22px;padding:2rem;backdrop-filter:blur(20px);opacity:0;transform:translateY(22px)}
.ia-visual-box.in{opacity:1;transform:translateY(0)}
.ia-visual-title{font-family:var(--font-heading);font-size:.84rem;color:var(--teal-300);font-weight:700;margin-bottom:1.4rem;display:flex;align-items:center;gap:.5rem}
.ia-visual-title::after{content:'';flex:1;height:1px;background:var(--glass-border)}
.protocol-block{background:rgba(64,212,176,.05);border:1px solid rgba(64,212,176,.1);border-radius:9px;padding:.75rem .95rem;margin-bottom:.65rem;font-family:var(--font-body);font-size:.81rem;color:var(--gray-100);display:flex;align-items:center;gap:.65rem;transition:background .25s;opacity:0;transform:translateX(-14px)}
.protocol-block:hover{background:rgba(64,212,176,.09)}
.protocol-block i{color:var(--teal-400);font-size:.88rem;flex-shrink:0}
.generating-bar{height:3px;background:rgba(64,212,176,.12);border-radius:10px;margin-top:1.4rem;overflow:hidden}
.generating-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal-400),var(--lime));border-radius:10px;animation:gp 2.5s ease-in-out infinite alternate}
@keyframes gp{from{width:15%}to{width:97%}}
.ia-time-box{margin-top:1.4rem;padding:1.4rem;background:linear-gradient(135deg,rgba(26,144,118,.22),rgba(10,45,42,.8));border:1px solid rgba(64,212,176,.25);border-radius:16px}
.ia-time-before{font-family:var(--font-heading);font-size:2.5rem;font-weight:900;color:var(--gray-600);text-decoration:line-through;line-height:1}
.ia-time-after{font-family:var(--font-heading);font-size:3rem;font-weight:900;color:var(--lime);line-height:1}
.ia-time-label{font-family:var(--font-body);font-size:.76rem;margin-top:.3rem;line-height:1.25}
.ia-time-label-before{color:var(--gray-600)}
.ia-time-label-after{color:var(--lime)}
.ia-time-arrow{font-size:1.5rem;color:var(--teal-400);line-height:1}
@media(max-width:575.98px){
  .ia-time-before{font-size:1.45rem!important}
  .ia-time-after{font-size:1.65rem!important}
  .ia-time-label{font-size:.62rem!important;margin-top:.22rem}
  .ia-time-arrow{font-size:1.1rem!important}
  .ia-time-box{padding:1rem!important}
}

/* PARA QUEM */
.para-quem-section{padding:7rem 0}
.para-quem-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}
@media(max-width:768px){.para-quem-grid{grid-template-columns:1fr}}
.pq-card{border-radius:20px;padding:2rem}
.pq-card.yes{background:linear-gradient(135deg,rgba(26,144,118,.18),rgba(10,45,42,.55));border:1px solid rgba(64,212,176,.22)}
.pq-card.no{background:rgba(255,80,60,.04);border:1px solid rgba(255,100,80,.1)}
.pq-card-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;margin-bottom:1.4rem;display:flex;align-items:center;gap:.6rem}
.pq-card.yes .pq-card-title{color:var(--teal-300)}.pq-card.no .pq-card-title{color:#ff8070}
.pq-item{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.75rem;font-family:var(--font-body);font-size:.88rem;color:var(--gray-100)}
.pq-item i{margin-top:.15rem;flex-shrink:0}
.pq-card.yes .pq-item i{color:var(--lime)}.pq-card.no .pq-item i{color:#ff8070}

/* PLANOS — hover now goes DARKER */
.planos-section{padding:7rem 0}
.plano-card{
  background: rgba(5,16,15,.9);
  border:1.5px solid var(--glass-border);
  border-radius:28px;padding:2.5rem;
  position:relative;overflow:hidden;
  transition:border-color .4s,box-shadow .4s,transform .4s,background .4s;
}
.plano-card:hover{
  background: rgba(3,10,9,.97);
  border-color:rgba(64,212,176,.42);
  box-shadow:0 0 0 1px rgba(64,212,176,.18), 0 28px 70px rgba(0,0,0,.72);
  transform:translateY(-5px) scale(1.01);
}
.plano-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal-400),var(--lime),var(--teal-300));opacity:0;transition:opacity .4s}
.plano-card:hover::after{opacity:1}
.plano-badge{display:inline-flex;align-items:center;gap:.38rem;background:var(--lime);color:var(--teal-900);font-family:var(--font-body);font-size:.73rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.28rem .8rem;border-radius:50px;margin-bottom:1.4rem}
.plano-name{font-family:var(--font-heading);font-size:2rem;font-weight:900;color:var(--white);margin-bottom:.3rem}
.plano-price{font-family:var(--font-body);font-size:1rem;color:var(--gray-400);margin-bottom:2rem}
.plano-price span{font-family:var(--font-heading);font-size:3rem;color:var(--white);font-weight:900}
.plano-card .plano-badge{display:flex;justify-content:center;margin-left:auto;margin-right:auto}
.plano-card .plano-name,.plano-card .plano-price{text-align:center}
.plano-features-list{list-style:none;margin-bottom:2rem}
.plano-features-list li{display:flex;align-items:center;gap:.65rem;padding:.52rem 0;border-bottom:1px solid rgba(64,212,176,.06);font-family:var(--font-body);font-size:.88rem;color:var(--gray-100)}
.plano-features-list li i{color:var(--lime)}
.extras-table{background:rgba(64,212,176,.03);border:1px solid var(--glass-border);border-radius:16px;overflow:hidden;margin-top:3rem}
.extras-table-header{background:rgba(64,212,176,.07);padding:.95rem 1.5rem;font-family:var(--font-body);font-weight:600;font-size:.83rem;color:var(--teal-300);display:flex;justify-content:space-between}
.extras-row{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;border-top:1px solid rgba(64,212,176,.06);font-size:.87rem;transition:background .2s}
.extras-row:hover{background:rgba(64,212,176,.04)}
.extras-row-name{font-family:var(--font-body);color:var(--gray-100)}
.extras-row-desc{font-family:var(--font-body);color:var(--gray-600);font-size:.78rem}
.extras-row-price{font-family:var(--font-heading);color:var(--lime);font-weight:700}
.guarantee-strip{margin-top:2.2rem;padding:1.3rem 1.8rem;background:rgba(184,245,60,.06);border:1px solid rgba(184,245,60,.18);border-radius:14px;display:flex;align-items:center;gap:.95rem;font-family:var(--font-body);font-size:.88rem;color:var(--gray-100)}
.guarantee-icon{font-size:1.9rem;color:var(--lime);flex-shrink:0}

/* TESTIMONIALS */
.testimonials-section{padding:7rem 0}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.15rem;margin-top:3rem}
.testimonial-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;padding:1.7rem;transition:all .3s;position:relative;opacity:0;transform:translateY(20px)}
.testimonial-card.in{opacity:1;transform:translateY(0)}
.testimonial-card:hover{border-color:rgba(64,212,176,.3);transform:translateY(-4px)}
.testimonial-card::before{content:'"';position:absolute;top:-.2rem;left:1.4rem;font-size:5rem;font-family:var(--font-heading);color:rgba(64,212,176,.12);line-height:1}
.testimonial-text{font-family:var(--font-body);font-size:.9rem;color:var(--gray-100);line-height:1.62;margin-bottom:1.1rem;font-style:italic}
.testimonial-author{display:flex;align-items:center;gap:.65rem}
.testimonial-avatar{width:38px;height:38px;border-radius:50%;background:var(--teal-600);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:900;font-size:.95rem;color:var(--white);flex-shrink:0}
.testimonial-name{font-family:var(--font-body);font-weight:600;font-size:.86rem;color:var(--white)}
.testimonial-role{font-family:var(--font-body);font-size:.73rem;color:var(--gray-400)}
.stars{color:var(--lime);font-size:.79rem;margin-bottom:.75rem}

/* HOW */
.how-section{padding:7rem 0}
.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem;position:relative}
@media(max-width:768px){.how-steps{grid-template-columns:1fr}}
.how-steps::before{opacity:0;content:'';position:absolute;top:36px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--teal-600),transparent)}
@media(max-width:768px){.how-steps::before{display:none;opacity:0;}}
.how-step{text-align:center;padding:2rem 1.4rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;transition:all .3s;opacity:0;transform:translateY(20px)}
.how-step.in{opacity:1;transform:translateY(0)}
.how-step:hover{border-color:var(--teal-400);transform:translateY(-4px)}
.how-step-num{width:54px;height:54px;background:linear-gradient(135deg,var(--teal-600),var(--teal-500));border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:900;font-size:1.35rem;color:var(--white);margin:0 auto 1.15rem;box-shadow:0 0 0 8px rgba(26,144,118,.14)}
.how-step h5{font-family:var(--font-heading);font-size:.98rem;font-weight:700;margin-bottom:.45rem}
.how-step p{font-family:var(--font-body);font-size:.86rem;color:var(--gray-400)}

/* FAQ */
.faq-section{padding:7rem 0;background:linear-gradient(180deg,transparent,rgba(7,24,22,.6) 20%,rgba(7,24,22,.6) 80%,transparent)}
.faq-item{border:1px solid var(--glass-border);border-radius:13px;margin-bottom:.65rem;overflow:hidden;transition:border-color .25s}
.faq-item:hover:not(.open){border-color:rgba(64,212,176,.25)}
.faq-item.open{border-color:#9DD42E}
.faq-q{padding:1.15rem 1.4rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-heading);font-weight:700;font-size:.93rem;color:var(--white);background:rgba(10,45,42,.42);user-select:none;transition:color .3s}
.faq-q i{color:var(--teal-300);font-size:1rem;transition:transform .3s,color .3s;flex-shrink:0}
.faq-item.open .faq-q{
  background:rgba(10,45,42,.42);
  color:#9DD42E;
}
.faq-item.open .faq-q i{color:#9DD42E;transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease,padding .45s;padding:0 1.4rem;background:rgba(10,45,42,.2);font-family:var(--font-body);font-size:.88rem;color:var(--gray-400);line-height:1.65}
.faq-item.open .faq-a{
  max-height:min(85vh,920px);
  padding:.95rem 1.4rem 1.15rem;
  background:rgba(10,45,42,.2);
  color:var(--gray-400);
}

/* CTA FINAL */
.cta-final{padding:8rem 0;text-align:center;position:relative;overflow:hidden}
.cta-final::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(26,144,118,.22) 0%,transparent 68%);pointer-events:none}
.cta-final-title{font-family:var(--font-heading);font-size:clamp(1.9rem,5vw,3.3rem);font-weight:900;letter-spacing:-.02em;line-height:1.1;margin:0 auto 1rem;max-width:600px}
.cta-final-sub{font-family:var(--font-body);font-size:1.05rem;color:var(--gray-400);margin:0 auto 2.4rem;max-width:460px;line-height:1.65}

/* FOOTER */
footer{border-top:1px solid var(--glass-border);padding:2.4rem 0;background:rgba(4,14,13,.88)}
.footer-brand{font-family:var(--font-heading);font-weight:900;font-size:1.25rem;color:var(--teal-300)}
.footer-tagline{font-family:var(--font-body);font-size:.8rem;color:var(--gray-600);margin-top:.28rem}
.footer-copy{font-family:var(--font-body);font-size:.78rem;color:var(--gray-600);text-align:right}
.footer-legal-links{font-size:.73rem;display:inline-block;margin-top:.15rem}
.footer-legal-links a{color:var(--teal-400);text-decoration:none;border-bottom:1px solid rgba(64,212,176,.35);transition:color .2s,border-color .2s}
.footer-legal-links a:hover{color:var(--lime);border-bottom-color:rgba(184,245,60,.5)}
.footer-legal-sep{margin:0 .35rem;color:var(--gray-600);opacity:.85}
@media(max-width:576px){.footer-copy{text-align:left;margin-top:.5rem}}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}

::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  border-radius: 6px;
  border: 3px solid transparent;
  background-clip: padding-box;

  /* Degradê via background-image */
  background-color: var(--teal-600); /* fallback */
  background-image: linear-gradient(to bottom, var(--teal-400), #b8f53c94);
}

@media(max-width:991px){.hero{padding:6rem 0 4rem}}

/* ── Mobile: tipografia mais legível e expressiva ── */
@media(max-width:991.98px){
  body{font-size:1.05rem}
  .hero-sub{font-size:1.12rem!important;line-height:1.72!important;font-weight:400}
  .hero h1{font-size:clamp(1.85rem,7.2vw,2.6rem)!important;line-height:1.12!important}
  .hero-tag{font-size:.78rem!important}
  .hero-cred{font-size:.88rem!important}
  .section-title{font-size:clamp(1.55rem,6vw,2.1rem)!important}
  .section-tag{font-size:.78rem!important}
  .pain-text,.feat-desc,.ia-step p,.pq-item,.plano-features-list li{font-size:.95rem!important;line-height:1.58}
  .feat-title,.ia-step h5,.how-step h5{font-size:1.05rem!important}
  .testimonial-text{font-size:.96rem!important}
  .faq-q{font-size:1rem!important}
  .faq-item.open .faq-a{font-size:.94rem!important;line-height:1.68}
  .cta-final-sub{font-size:1.1rem!important}
  .btn-primary-cta,.btn-secondary-cta{font-size:1.05rem!important}
}

/* =============================================
   MODAL CADASTRO — Registraçao 2 colunas
   ============================================= */
.modal-cadastro-content {
  border: none;
  border-radius: 24px;
  overflow: hidden;
  background: transparent;
  box-shadow: 0 40px 120px rgba(0,0,0,.75);
}

.btn-close-modal {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  color: var(--gray-100);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .92rem;
  cursor: pointer;
  transition: all .2s;
  z-index: 10;
}
.btn-close-modal:hover {
  background: rgba(255,255,255,.18);
  color: var(--white);
}

/* Coluna esquerda (plano) */
.modal-left-col {
  background: linear-gradient(160deg, var(--teal-800) 0%, var(--teal-900) 100%);
  border-right: 1px solid var(--glass-border);
}
.modal-left-inner {
  padding: 2.8rem 2.2rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.modal-plan-badge {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  background: rgba(184,245,60,.14);
  color: var(--lime);
  border: 1px solid rgba(184,245,60,.28);
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .26rem .8rem;
  border-radius: 50px;
  margin-bottom: 1.4rem;
}
.modal-plan-name {
  font-family: var(--font-heading);
  font-size: 2.4rem;
  font-weight: 900;
  color: var(--white);
  line-height: 1;
  margin-bottom: .3rem;
}
.modal-plan-price {
  font-family: var(--font-body);
  font-size: .88rem;
  color: var(--gray-400);
  margin-bottom: .3rem;
}
.modal-plan-price span {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 900;
  color: var(--white);
}
.modal-plan-note {
  font-family: var(--font-body);
  font-size: .78rem;
  color: var(--teal-300);
  margin-bottom: 2rem;
}
.modal-plan-features {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  flex: 1;
}
.modal-plan-features li {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--font-body);
  font-size: .87rem;
  color: var(--gray-100);
  padding: .5rem 0;
  border-bottom: 1px solid rgba(64,212,176,.06);
}
.modal-plan-features li i {
  color: var(--lime);
  font-size: .9rem;
  flex-shrink: 0;
}
.modal-trust-strip {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem 1.1rem;
  background: rgba(64,212,176,.06);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  font-family: var(--font-body);
  font-size: .82rem;
  color: var(--gray-400);
}
.modal-trust-strip i {
  font-size: 1.5rem;
  color: var(--teal-300);
  flex-shrink: 0;
}
.modal-trust-strip small {
  font-size: .73rem;
  color: var(--gray-600);
}

/* Coluna direita (formulário) */
.modal-right-col {
  background: #0f2a27;
}
.modal-right-inner {
  padding: 2.4rem 2.4rem 2rem;
  height: 100%;
  overflow-y: auto;
}
.modal-form-title {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--white);
  margin-bottom: .3rem;
}
.modal-form-sub {
  font-family: var(--font-body);
  font-size: .88rem;
  color: var(--gray-400);
  margin-bottom: 1.6rem;
}

/* Botão Google */
.btn-google-cadastro {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  width: 100%;
  padding: .85rem 1.4rem;
  background: #fff;
  color: #333;
  border: 1.5px solid #ddd;
  border-radius: 12px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: .95rem;
  text-decoration: none;
  transition: all .25s;
  cursor: pointer;
  margin-bottom: 1.4rem;
}
.btn-google-cadastro:hover {
  border-color: #4285F4;
  box-shadow: 0 4px 20px rgba(66,133,244,.22);
  transform: translateY(-1px);
  color: #333;
}

/* Divisor */
.modal-divider {
  text-align: center;
  margin: 0 0 1.4rem;
  position: relative;
}
.modal-divider::before,
.modal-divider::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 42%;
  height: 1px;
  background: rgba(64,212,176,.15);
}
.modal-divider::before { left: 0; }
.modal-divider::after  { right: 0; }
.modal-divider span {
  font-family: var(--font-body);
  font-size: .78rem;
  color: var(--gray-600);
  background: #0f2a27;
  padding: 0 .75rem;
  position: relative;
}

/*
 * Modal cadastro: aparência anterior (vidro/teal escuro) + form-floating nativo BS5.
 * Não alterar padding/min-height dos .form-control/.form-select — o BS5 posiciona o label com isso.
 */
#formCadastroModal {
  --bs-border-color: rgba(64, 212, 176, 0.22);
  --bs-secondary-color: var(--gray-400);
}
/* Ritmo vertical entre blocos do form (rows + e-mail full width) */
#formCadastroModal > .row {
  --bs-gutter-x: 1.25rem;
  --bs-gutter-y: 1.1rem;
  margin-bottom: 1.15rem;
}
#formCadastroModal > .row:last-of-type {
  margin-bottom: 1.15rem;
}
/* E-mail em linha única (único .form-floating filho direto do form) */
#formCadastroModal > .form-floating {
  margin-bottom: 1.15rem;
}
.modal-right-col .form-floating > .form-control,
.modal-right-col .form-floating > .form-select {
  background-color: rgba(64, 212, 176, 0.05);
  border: 1.5px solid rgba(64, 212, 176, 0.15);
  border-radius: 10px;
  color: var(--white);
  font-family: var(--font-body);
  transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}
.modal-right-col .form-floating > .form-control:focus,
.modal-right-col .form-floating > .form-select:focus {
  border-color: var(--teal-400);
  box-shadow: 0 0 0 3px rgba(64, 212, 176, 0.12);
  background-color: rgba(64, 212, 176, 0.08);
  color: var(--white);
}
.modal-right-col .form-floating > .form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238ab8ae' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.95rem center;
  cursor: pointer;
}
.modal-right-col .form-floating > .form-select option {
  background-color: #0a2d2a;
  color: var(--white);
}
/* Labels: cores do tema; posição/animação ficam com o BS5 */
.modal-right-col .form-floating > label {
  font-family: var(--font-body);
  color: var(--gray-400);
  background-color: transparent;
}
/* Faixa do BS5 atrás do texto do label — transparente (sem “caixa” sólida) */
.modal-right-col .form-floating > label::after {
  background-color: transparent !important;
}
.modal-right-col .form-floating > .form-control:focus ~ label,
.modal-right-col .form-floating > .form-control:not(:placeholder-shown) ~ label {
  color: var(--teal-300);
}
.modal-right-col .form-floating > .form-select:focus ~ label,
.modal-right-col .form-floating.is-filled > .form-select ~ label {
  color: var(--teal-300);
}
.modal-right-col .form-floating > .form-control.is-invalid,
.modal-right-col .form-floating > .form-control.is-error {
  border-color: #ff6055;
  box-shadow: 0 0 0 3px rgba(255, 96, 85, 0.12);
}

/* Grid 2 colunas no form (variantes legadas / outras páginas) */
.form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem;
  margin-bottom: .85rem;
}
@media(max-width:576px) {
  .form-row-2 { grid-template-columns: 1fr; }
}

/* Botão submit */
.btn-cadastro-submit {
  width: 100%;
  background: var(--lime);
  color: var(--teal-900);
  border: none;
  border-radius: 12px;
  padding: .95rem 1.5rem;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  margin-top: .5rem;
  margin-bottom: .85rem;
  transition: all .28s;
  position: relative;
  overflow: hidden;
}
.btn-cadastro-submit:hover:not(:disabled) {
  background: #c4ff45;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(184,245,60,.4);
}
.btn-cadastro-submit:disabled {
  opacity: .65;
  cursor: not-allowed;
  transform: none;
}
@keyframes spin { to { transform: rotate(360deg); } }
.spin-anim { animation: spin .7s linear infinite; display: inline-block; }

/* Termos */
.modal-terms-note {
  font-family: var(--font-body);
  font-size: .74rem;
  color: var(--gray-600);
  text-align: center;
}
.modal-terms-note a {
  color: var(--teal-300);
  text-decoration: none;
}
.modal-terms-note a:hover {
  text-decoration: underline;
}

/* Modais legais (Termos, Privacidade, LGPD) */
.modal-legal-dialog {
  max-width: 640px;
}
.modal-legal-content {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(180deg, #0f2a27 0%, #081816 100%);
  border: 1px solid rgba(64, 212, 176, 0.18);
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.72);
}
.modal-legal-header {
  padding: 2.35rem 1.5rem 0.35rem 1.5rem;
}
.modal-legal-header .modal-title {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1.25;
  padding-right: 2.5rem;
}
.modal-legal-body {
  font-family: var(--font-body);
  font-size: 0.82rem;
  line-height: 1.68;
  color: var(--gray-500);
  padding: 0.5rem 1.5rem 1.75rem;
}
.modal-legal-body h3 {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--teal-300);
  margin: 1.35rem 0 0.5rem;
}
.modal-legal-body h3:first-of-type {
  margin-top: 0.75rem;
}
.modal-legal-body p {
  margin-bottom: 0.65rem;
}
.modal-legal-body ul {
  padding-left: 1.2rem;
  margin-bottom: 0.65rem;
}
.modal-legal-body li {
  margin-bottom: 0.35rem;
}
.modal-legal-update {
  font-size: 0.72rem;
  color: var(--gray-600);
  margin-bottom: 0.85rem;
}
.modal-legal-inline-link {
  color: var(--teal-400);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.modal-legal-inline-link:hover {
  color: var(--lime);
}
.modal-legal-body em {
  font-size: 0.78rem;
  color: var(--gray-600);
}

/* Responsivo — mobile empilha coluna esquerda em cima */
@media(max-width: 991px) {
  .modal-left-col { border-right: none; border-bottom: 1px solid var(--glass-border); }
  .modal-left-inner { padding: 2rem 1.6rem; }
  .modal-right-inner { padding: 1.8rem 1.6rem; }
  .modal-plan-features { display: none; } /* esconde lista de features no mobile */
}