:root{
  --bg:#ffffff;
  --dark:#051028;
  --dark2:#02091b;
  --primary:#4862ff;
  --primary2:#5e73ff;
  --soft:#f5f7ff;
  --soft2:#eef1ff;
  --muted:#6d7488;
  --line:#e6eafb;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',sans-serif;color:#111; background:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
.topbar{height:70px;background:linear-gradient(90deg,#030b1e,#081a43 60%,#2840ff);position:sticky;top:0;z-index:50}
.navbar{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo img{display:block;width:auto;max-width:320px;height:52px;object-fit:contain;object-position:left center}
.menu{display:flex;gap:26px;align-items:center;justify-content:center;flex:1;color:rgba(255,255,255,.92);font-size:12px;font-weight:700}
.menu a{position:relative;padding-top:2px}
.menu a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#fff;border-radius:99px}
.header-btn{height:40px;padding:0 18px;border-radius:10px;background:linear-gradient(135deg,#5070ff,#4a60ff);display:inline-flex;align-items:center;gap:9px;color:#fff;font-size:12px;font-weight:800;box-shadow:0 14px 30px rgba(74,96,255,.28)}
.hero{padding:34px 0 26px;background:linear-gradient(180deg,#fff,#fcfdff)}

.hero-banner-section{padding:26px 0 18px;background:linear-gradient(180deg,#fff,#fcfdff)}
.hero-banner-picture{display:block;width:100%}
.hero-banner-img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:0 18px 40px rgba(12,20,44,.08)}
.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:40px;align-items:center}
.microtag{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#5c74ff;background:#f1f4ff;border-radius:99px;padding:8px 12px;font-weight:700;margin-bottom:14px}
.microtag::before{content:"★";font-size:10px}
.hero-copy h1{font-size:58px;line-height:.96;letter-spacing:-.055em;margin:0 0 18px;font-weight:900;color:#121212}
.hero-copy h1 span{color:var(--primary)}
.hero-copy p{max-width:430px;font-size:18px;line-height:1.6;color:var(--muted);margin:0 0 22px;font-weight:500}
.hero-actions{display:flex;gap:16px;margin-bottom:30px}
.primary-btn,.ghost-btn,.mini-outline-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;height:50px;padding:0 22px;font-size:15px;font-weight:800}
.primary-btn{background:linear-gradient(135deg,#4b63ff,#4d5dff);color:#fff;box-shadow:0 18px 35px rgba(75,99,255,.22);gap:10px}
.ghost-btn{border:2px solid #d7ddff;color:#1a2a62;background:#fff;min-width:164px}
.hero-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:720px}
.benefit{display:flex;gap:10px;align-items:flex-start;color:#4e5569;font-size:12px;line-height:1.35}
.benefit i{width:22px;height:22px;background:#edf1ff;color:#4962ff;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900;flex:none;font-size:12px}
.benefit b{display:block;font-weight:700;color:#7b8193}
.hero-visual{display:flex;align-items:center;justify-content:center}
.hero-visual img{width:100%;max-width:660px;display:block}
.section-intro{margin-bottom:30px;text-align:center}.section-intro.compact h2{margin:8px 0 0}
.section-intro.white h2,.section-intro.white .section-mini{color:#fff}.section-intro.leftish{text-align:left;margin-bottom:22px}.section-mini{font-size:11px;font-weight:800;letter-spacing:.12em;color:#5871ff}.section-mini.left{text-align:left;display:block}.blue-light{color:#7b8bff}
.section-intro h2{font-size:22px;line-height:1.1;letter-spacing:-.04em;color:#111;font-weight:800}
.services{position:relative;padding:34px 0 54px;background:linear-gradient(180deg,#fff 0%,#f7f9ff 100%)}
.services::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(82,106,255,.08),transparent 34%);pointer-events:none}
.services .container{position:relative;z-index:1}
.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.service-card{position:relative;overflow:hidden;padding:30px 20px 22px;border-radius:22px;border:1px solid #dde6ff;background:linear-gradient(180deg,#fff 0%,#f9fbff 100%);box-shadow:0 14px 32px rgba(7,17,39,.06);text-align:center;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.service-card::before{content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,#4f68ff,#00a7ff);opacity:.9}
.service-card::after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-38px;bottom:-42px;background:rgba(82,106,255,.055)}
.service-card:hover{transform:translateY(-5px);border-color:#c9d5ff;box-shadow:0 20px 42px rgba(7,17,39,.11)}
.service-icon{position:relative;width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#56a1ff;background:linear-gradient(180deg,rgba(8,22,58,.96) 0%,rgba(4,14,40,.98) 100%);border:1px solid rgba(92,142,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.08), inset 0 -10px 20px rgba(0,0,0,.28), 0 10px 30px rgba(0,25,90,.22), 0 0 0 1px rgba(32,103,255,.08);transition:transform .3s ease,box-shadow .3s ease,color .3s ease, border-color .3s ease;overflow:hidden}.service-icon::before{content:"";position:absolute;inset:1px;border-radius:18px;background:radial-gradient(circle at 30% 25%,rgba(52,123,255,.22),transparent 42%),radial-gradient(circle at 75% 78%,rgba(13,79,255,.18),transparent 38%);pointer-events:none}.service-icon::after{content:"";position:absolute;left:10px;right:10px;bottom:8px;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(88,131,255,0),rgba(88,131,255,.8),rgba(88,131,255,0));opacity:.9;pointer-events:none}
.service-card h3{font-size:16px;line-height:1.2;margin:0 0 11px;font-weight:900;color:#111827;letter-spacing:-.02em}
.service-card p{font-size:12.5px;line-height:1.65;color:#667086;min-height:66px;margin:0 0 14px}
.service-card a{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 12px;border-radius:999px;background:#f0f4ff;border:1px solid #dfe6ff;font-size:12px;color:#526cff;font-weight:800;transition:.2s}
.service-card a:hover{background:#526cff;color:#fff;border-color:#526cff}
.service-icon svg{position:relative;z-index:1;width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(57,131,255,.18))}.service-card-site .service-icon,.service-card-shop .service-icon,.service-card-landing .service-icon,.service-card-content .service-icon,.service-card-custom .service-icon{color:#56a1ff}.service-card:hover .service-icon{transform:translateY(-3px) scale(1.04);color:#79b9ff;border-color:rgba(110,165,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.09), inset 0 -10px 20px rgba(0,0,0,.32), 0 18px 36px rgba(0,25,90,.28), 0 0 22px rgba(49,114,255,.18), 0 0 0 1px rgba(49,114,255,.12)}
.why-block{padding:42px 0;background:radial-gradient(circle at 70% 10%,rgba(63,97,255,.28),transparent 25%),linear-gradient(90deg,#020818,#04163d 46%,#031229);color:#fff}
.why-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:36px;align-items:center}
.why-copy h2{font-size:56px;line-height:1;letter-spacing:-.055em;margin:12px 0 14px;font-weight:900}.why-copy h2 span{color:#5d76ff}
.why-copy p{font-size:15px;line-height:1.7;color:#bec8eb;max-width:420px;margin:0 0 20px}
.why-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.why-copy li{position:relative;padding-left:24px;font-size:13px;color:#d6defc}.why-copy li::before{content:"●";position:absolute;left:0;top:-1px;font-size:12px;color:#5d76ff}
.why-visual{position:relative}
.why-visual img{width:100%;max-width:680px;display:block;border-radius:22px;box-shadow:0 24px 55px rgba(0,0,0,.25)}
.float-card{position:absolute;background:#fff;color:#111;border-radius:18px;padding:14px 16px;min-width:126px;box-shadow:0 22px 40px rgba(4,12,30,.24)}
.float-card small{display:block;font-size:11px;color:#6b7286;margin-bottom:4px}.float-card strong{display:block;font-size:34px;line-height:1;font-weight:900;letter-spacing:-.05em}.float-card em{display:block;font-size:11px;color:#7b8090;font-style:normal}
.float-card span{display:block;width:58px;height:16px;border-bottom:3px solid #a7b6ff;border-radius:18px;margin-top:8px}
.float-left-top{left:-20px;top:-18px}.float-left-bottom{left:34px;bottom:16px}.float-right{right:-18px;top:78px}
.portfolio{padding:46px 0 38px;background:#fff}
.portfolio-filters{display:flex;gap:22px;justify-content:center;align-items:center;font-size:12px;color:#6f7590;font-weight:700;margin-bottom:20px}.portfolio-filters span{display:inline-flex;align-items:center;gap:8px}.portfolio-filters span::before{content:"◉";font-size:10px;color:#6f7dff;opacity:.5}.portfolio-filters .active{background:#5a72ff;color:#fff;padding:7px 16px;border-radius:999px}.portfolio-filters .active::before{display:none}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.portfolio-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(8,18,45,.06)}
.thumb{height:140px;background:#f3f5fb}.thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.portfolio-info{padding:12px 14px 14px}.portfolio-info h3{font-size:14px;line-height:1.2;margin:0 0 4px;font-weight:800;color:#202534}.portfolio-info p{font-size:12px;color:#838aa0;margin:0}
.portfolio-action{text-align:center;margin-top:22px}.mini-outline-btn{height:42px;padding:0 20px;border:2px solid #d8defd;color:#4f68ff;background:#fff;font-size:13px}
.testimonials{padding:42px 0;background:radial-gradient(circle at 50% 0, rgba(80,104,255,.16), transparent 30%), linear-gradient(90deg,#02102b,#031945 50%,#04132f)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.testimonial-card{background:#fff;border-radius:16px;padding:26px 24px 20px;box-shadow:0 18px 35px rgba(1,8,22,.16)}
.testimonial-card p{font-size:14px;line-height:1.7;color:#575f74;min-height:115px;margin:0 0 18px}.person-row{display:flex;align-items:center;gap:10px}.avatar{width:42px;height:42px;border-radius:50%;display:block;background:linear-gradient(135deg,#f2c3a6,#8f5c35)}.avatar.female{background:linear-gradient(135deg,#f4cccc,#a64d79)}.avatar.male{background:linear-gradient(135deg,#8db4e2,#244d8c)}.person-row h4{margin:0;font-size:13px;font-weight:800;color:#202534}.person-row small{font-size:11px;color:#848ca0}
.slider-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}.slider-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.35)}.slider-dots .active{background:#fff}
.process{padding:46px 0 42px;background:#fff}.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.step-item{text-align:center;position:relative;padding:8px 8px 0}.step-item::after{content:"";position:absolute;top:22px;left:calc(50% + 28px);width:calc(100% - 54px);height:1px;background:linear-gradient(90deg,#d9defa,#eef2ff)}.step-item:last-child::after{display:none}.step-num{position:absolute;left:calc(50% - 52px);top:0;width:22px;height:22px;border-radius:50%;background:#5d76ff;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}.step-icon{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:#f1f4ff;color:#4f69ff;display:grid;place-items:center;font-size:20px;border:1px solid #e2e7fb}.step-item h3{font-size:14px;margin:0 0 8px;font-weight:800;color:#1f2433}.step-item p{font-size:12px;line-height:1.5;color:#7b8092;max-width:150px;margin:0 auto}
.plans{padding:40px 0;background:radial-gradient(circle at 18% 50%, rgba(70,99,255,.14), transparent 25%), linear-gradient(90deg,#020918,#081a42 48%,#031329);color:#fff}
.plans-grid-wrap{display:grid;grid-template-columns:1.18fr .44fr;gap:28px;align-items:start}.plans-main{min-width:0}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.plan-card{background:#fff;color:#111;border-radius:16px;padding:22px 20px 18px;box-shadow:0 18px 35px rgba(1,8,22,.18);position:relative}.plan-card h3{font-size:28px;line-height:1;margin:0 0 8px;font-weight:800;color:#202534}.plan-desc{font-size:12px;line-height:1.4;color:#80869c;min-height:34px;margin:0 0 14px}.plan-price{font-size:52px;line-height:.95;font-weight:900;letter-spacing:-.06em;color:#121622;margin:0 0 6px}.plan-note{font-size:12px;color:#8a90a3;margin-bottom:16px}.plan-card ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}.plan-card li{font-size:13px;color:#5d667b;padding-left:18px;position:relative}.plan-card li::before{content:"✓";position:absolute;left:0;top:0;color:#6b7fff;font-weight:900}.plan-card a{display:flex;align-items:center;justify-content:center;height:42px;border-radius:10px;border:2px solid #d8defd;color:#4f68ff;font-size:13px;font-weight:800}.featured{border:2px solid #6a7fff}.plan-badge{position:absolute;left:0;right:0;top:0;height:28px;border-radius:14px 14px 0 0;background:#5068ff;color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}.featured h3{margin-top:20px}
.plans-side{padding-top:64px;display:grid;gap:24px}.side-feature{display:flex;gap:16px;align-items:flex-start;color:#fff}.side-feature i{width:26px;height:26px;border:1px solid rgba(255,255,255,.3);border-radius:8px;display:grid;place-items:center;font-style:normal;font-size:13px;color:#fff;flex:none}.side-feature h4{margin:0 0 4px;font-size:16px;font-weight:800}.side-feature p{margin:0;color:#b8c4eb;font-size:13px;line-height:1.5}
.faq{padding:42px 0 48px;background:#fff}.faq-grid{display:grid;grid-template-columns:1fr .9fr;gap:24px;align-items:stretch}.faq-list{display:grid;gap:10px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.faq-list summary{list-style:none;padding:18px 18px;font-size:14px;font-weight:700;color:#1f2433;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";font-size:18px;color:#687bff;font-weight:700}.faq-list details[open] summary::after{content:"−"}.faq-list p{margin:0;padding:0 18px 18px;font-size:13px;color:#6e7485;line-height:1.6}
.faq-card{border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:0 14px 32px rgba(7,17,39,.08);display:grid;grid-template-columns:1.1fr .9fr;align-items:end;overflow:hidden}.faq-text{padding:28px 26px}.faq-text h3{font-size:36px;line-height:1;letter-spacing:-.05em;color:#202534;margin:0 0 10px;font-weight:900}.faq-text p{font-size:14px;color:#6e7485;line-height:1.6;margin:0 0 18px;max-width:260px}.faq-text a{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 20px;border-radius:10px;background:#24bf60;color:#fff;font-size:14px;font-weight:800}.faq-card img{width:100%;height:100%;object-fit:cover;display:block}
.cta-bar{background:linear-gradient(90deg,#435cff,#4060ff 55%,#6b7dff);padding:26px 0;color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.cta-left{display:flex;align-items:center;gap:14px}.cta-icon{width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:12px;display:grid;place-items:center;font-size:18px}.cta-left h3{font-size:28px;line-height:1;margin:0 0 6px;letter-spacing:-.04em;font-weight:800}.cta-left p{margin:0;font-size:14px;color:#dbe2ff}.cta-white{height:50px;padding:0 24px;border-radius:12px;background:#fff;color:#23346e;display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:800;flex:none}
.footer{background:linear-gradient(180deg,#041022,#010612);color:#fff;padding:30px 0 12px}.footer-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr .8fr .9fr;gap:22px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}.footer-logo{display:block;width:auto;max-width:270px;height:42px;object-fit:contain;margin-bottom:14px}.footer-brand-col p{font-size:13px;line-height:1.7;color:#adb6d2;max-width:270px;margin:0 0 12px}.socials{display:flex;gap:8px}.socials span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);color:#d2daf0;font-size:12px}.footer h4{font-size:14px;margin:0 0 14px;font-weight:800}.footer a{display:block;font-size:13px;line-height:1.9;color:#adb6d2}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:#8793b8;padding-top:12px}

@media (max-width:1200px){
  .hero-copy h1,.why-copy h2{font-size:44px}
  .service-grid,.portfolio-grid,.testimonial-grid,.plans-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:repeat(3,1fr)}
  .steps-grid .step-item:nth-child(3)::after{display:none}
  .plans-grid-wrap,.why-grid,.hero-grid,.faq-grid,.footer-grid{grid-template-columns:1fr}
  .plans-side{padding-top:0;grid-template-columns:repeat(2,1fr)}
}
@media (max-width:800px){
  .hero-banner-section{padding:14px 0 10px}
  .hero-banner-img{border-radius:18px}
  .topbar{height:auto;padding:14px 0}
  .navbar{flex-wrap:wrap;justify-content:center}
  .menu{display:none}
  .container{width:min(var(--container),calc(100% - 24px))}
  .hero-copy h1,.why-copy h2,.faq-text h3,.cta-left h3{font-size:34px}
  .hero-copy p{font-size:16px}
  .hero-benefits,.service-grid,.portfolio-grid,.testimonial-grid,.steps-grid,.plans-grid,.plans-side{grid-template-columns:1fr}
  .hero-actions,.cta-inner,.cta-left,.footer-bottom{flex-direction:column;align-items:flex-start}
  .hero-actions .ghost-btn,.hero-actions .primary-btn,.cta-white{width:100%}
  .service-card p,.testimonial-card p{min-height:auto}
  .step-item::after{display:none}
  .faq-card{grid-template-columns:1fr}
}


/* Otimizações de performance */
img{max-width:100%;height:auto}
.portfolio-card,.service-card,.testimonial-card,.plan-card{content-visibility:auto;contain-intrinsic-size:260px}


/* Portfólio expandido com filtros funcionais */
.portfolio{padding:52px 0 46px;background:#fff}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;font-size:12px;color:#6f7590;font-weight:700;margin-bottom:24px}
.portfolio-filters button{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border-radius:999px;border:1px solid transparent;background:transparent;color:#6f7590;font:inherit;font-weight:800;cursor:pointer;transition:.2s}
.portfolio-filters button::before{content:"";width:7px;height:7px;border-radius:50%;background:#aeb7ff;margin-right:8px;transition:.2s}
.portfolio-filters button:hover{color:#4f68ff}
.portfolio-filters button.active{background:#5a72ff;color:#fff;box-shadow:0 12px 24px rgba(90,114,255,.18)}
.portfolio-filters button.active::before{background:#fff}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.portfolio-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(8,18,45,.06);transition:transform .2s ease, box-shadow .2s ease}
.portfolio-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(8,18,45,.10)}
.portfolio-card.is-hidden{display:none}
.thumb{height:156px;background:#f3f5fb}
.thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.portfolio-info{padding:14px 14px 15px}
.portfolio-info h3{font-size:15px;line-height:1.2;margin:0 0 4px;font-weight:800;color:#202534}
.portfolio-info p{font-size:12px;color:#838aa0;margin:0;font-weight:700}
.portfolio-action{text-align:center;margin-top:24px}
.mini-outline-btn{height:44px;padding:0 22px;border:2px solid #d8defd;color:#4f68ff;background:#fff;font-size:13px;font-weight:800;border-radius:14px;cursor:pointer}
.mini-outline-btn:hover{border-color:#5a72ff;background:#f6f8ff}
@media (max-width:1200px){.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:800px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-filters{gap:10px}}
@media (max-width:560px){.portfolio-grid{grid-template-columns:1fr}.thumb{height:180px}.portfolio-filters button{width:auto}}


/* Imagem nítida do atendente no FAQ */
.faq-card{
  position: relative;
  overflow: hidden;
}

.faq-card .faq-person-img,
.faq-card img[src*="faq-atendente-nitido"]{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  display: block;
  filter: none;
  image-rendering: auto;
}

@media (max-width: 800px){
  .faq-card .faq-person-img,
  .faq-card img[src*="faq-atendente-nitido"]{
    max-height: 360px;
    object-position: center top;
  }
}





/* Logo escolhida QueroMeuSite — imagem original aplicada no site */
.logo{
  display:flex;
  align-items:center;
  flex-shrink:0;
  overflow:visible;
}
.logo img{
  display:block;
  width:auto;
  max-width:320px;
  height:52px;
  object-fit:contain;
  object-position:left center;
}
.footer-logo{
  display:block;
  width:auto;
  max-width:270px;
  height:42px;
  object-fit:contain;
  margin-bottom:14px;
}
@media (max-width:800px){
  .logo img{
    max-width:235px;
    height:40px;
  }
  .footer-logo{
    max-width:220px;
    height:36px;
  }
}


/* Ajuste dos banners principais desktop/mobile */
.hero-banner-img{
  object-fit:cover;
}
@media (max-width:767px){
  .hero-banner-section{
    padding:18px 0 12px;
  }
  .hero-banner-img{
    border-radius:18px;
    width:100%;
  }
}


/* Banners otimizados da hero */
.hero-banner-img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
.hero-banner-section picture{
  display:block;
  width:100%;
}
@media (max-width:767px){
  .hero-banner-section{
    padding:16px 0 10px;
  }
  .hero-banner-img{
    border-radius:18px;
  }
}


/* Imagem atualizada da seção de presença digital */
.why-visual > img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}


/* Cards flutuantes removidos da seção visual */
.why-visual .float-card{
  display:none !important;
}


/* Upgrade visual premium da seção Soluções — estrutura original mantida */
.services{
  position:relative;
  overflow:hidden;
  padding:46px 0 62px;
  background:
    radial-gradient(circle at 50% 0%, rgba(82,106,255,.13), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f7f9ff 100%);
}
.services::before{
  content:"";
  position:absolute;
  left:50%;
  top:22px;
  transform:translateX(-50%);
  width:min(1180px,calc(100% - 42px));
  height:calc(100% - 44px);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(244,247,255,.58));
  border:1px solid rgba(220,228,255,.72);
  box-shadow:0 30px 80px rgba(13,28,70,.06);
  pointer-events:none;
}
.services::after{
  content:"";
  position:absolute;
  right:-120px;
  top:-140px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(45,104,255,.13),transparent 68%);
  pointer-events:none;
}
.services .container{
  position:relative;
  z-index:1;
}
.services .section-intro.compact{
  margin-bottom:32px;
}
.services .section-mini{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 13px;
  border-radius:999px;
  background:#eef3ff;
  border:1px solid #dfe7ff;
  color:#526cff;
  letter-spacing:.13em;
}
.services .section-mini::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#327cff;
  box-shadow:0 0 0 5px rgba(50,124,255,.12);
}
.services h2{
  margin-top:12px;
  letter-spacing:-.035em;
}
.service-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}
.service-card{
  position:relative;
  overflow:hidden;
  padding:30px 18px 22px;
  min-height:254px;
  border-radius:24px;
  border:1px solid rgba(214,224,255,.95);
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,255,.94));
  box-shadow:
    0 18px 42px rgba(6,18,48,.07),
    inset 0 1px 0 rgba(255,255,255,.95);
  text-align:center;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.service-card::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,rgba(54,121,255,0),#2f7cff,#6f83ff,rgba(54,121,255,0));
  opacity:.9;
}
.service-card::after{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  right:-68px;
  bottom:-70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(63,118,255,.12),transparent 70%);
  pointer-events:none;
}
.service-card:hover{
  transform:translateY(-6px);
  border-color:#bfcfff;
  box-shadow:
    0 26px 58px rgba(6,18,48,.13),
    0 0 0 1px rgba(80,112,255,.08),
    inset 0 1px 0 rgba(255,255,255,.95);
}
.service-icon{
  margin:0 auto 18px;
  width:66px;
  height:66px;
  border-radius:22px;
  color:#5ca7ff;
  background:
    radial-gradient(circle at 30% 20%,rgba(67,139,255,.28),transparent 42%),
    linear-gradient(180deg,#08183d 0%,#041026 100%);
  border:1px solid rgba(89,145,255,.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -12px 24px rgba(0,0,0,.28),
    0 16px 32px rgba(0,31,100,.18),
    0 0 0 6px rgba(74,108,255,.045);
}
.service-icon svg{
  width:31px;
  height:31px;
  stroke:currentColor;
  filter:drop-shadow(0 0 8px rgba(55,136,255,.28));
}
.service-card:hover .service-icon{
  color:#82c0ff;
  transform:translateY(-2px) scale(1.04);
  border-color:rgba(128,180,255,.48);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.1),
    inset 0 -12px 24px rgba(0,0,0,.32),
    0 18px 36px rgba(0,31,100,.25),
    0 0 26px rgba(53,122,255,.22),
    0 0 0 6px rgba(74,108,255,.055);
}
.service-card h3{
  font-size:16px;
  line-height:1.18;
  margin:0 0 11px;
  color:#121827;
  font-weight:900;
  letter-spacing:-.025em;
}
.service-card p{
  font-size:12.8px;
  line-height:1.68;
  color:#64708a;
  min-height:68px;
  margin:0 0 17px;
}
.service-card a{
  position:relative;
  z-index:1;
  height:36px;
  padding:0 14px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(238,243,255,.95);
  border:1px solid #dce6ff;
  color:#526cff;
  font-weight:900;
  font-size:12px;
  transition:.22s ease;
}
.service-card a:hover{
  background:linear-gradient(90deg,#4264ff,#247dff);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 24px rgba(49,99,255,.22);
}
@media (max-width:1200px){
  .service-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:800px){
  .services{padding:36px 0 46px}
  .services::before{width:calc(100% - 22px);border-radius:24px}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:auto}
}


/* Upgrade visual premium da seção Como Funciona — mesma estrutura de 5 etapas */
.process{
  position:relative;
  overflow:hidden;
  padding:50px 0 54px;
  background:
    radial-gradient(circle at 50% -8%, rgba(84,112,255,.14), transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f7f9ff 100%);
}
.process::before{
  content:"";
  position:absolute;
  left:50%;
  top:22px;
  transform:translateX(-50%);
  width:min(1180px,calc(100% - 42px));
  height:calc(100% - 44px);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(245,248,255,.64));
  border:1px solid rgba(220,228,255,.78);
  box-shadow:0 30px 80px rgba(13,28,70,.06);
  pointer-events:none;
}
.process::after{
  content:"";
  position:absolute;
  left:-120px;
  bottom:-120px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(50,112,255,.12),transparent 68%);
  pointer-events:none;
}
.process .container{position:relative;z-index:1}
.process .section-intro.compact{margin-bottom:34px}
.process .section-mini{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 13px;
  border-radius:999px;
  background:#eef3ff;
  border:1px solid #dfe7ff;
  color:#526cff;
  letter-spacing:.13em;
}
.process .section-mini::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#327cff;
  box-shadow:0 0 0 5px rgba(50,124,255,.12);
}
.steps-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  align-items:stretch;
}
.step-item{
  text-align:center;
  position:relative;
  padding:18px 16px 20px;
  border-radius:24px;
  border:1px solid rgba(214,224,255,.95);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,255,.94));
  box-shadow:0 18px 42px rgba(6,18,48,.07), inset 0 1px 0 rgba(255,255,255,.95);
  min-height:232px;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.step-item::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,rgba(54,121,255,0),#2f7cff,#6f83ff,rgba(54,121,255,0));
  opacity:.9;
}
.step-item::after{
  content:"";
  position:absolute;
  top:36px;
  left:calc(100% - 8px);
  width:18px;
  height:2px;
  background:linear-gradient(90deg,#90abff,#d7e3ff);
  box-shadow:0 0 0 4px rgba(84,112,255,.06);
}
.step-item:last-child::after{display:none}
.step-item:hover{
  transform:translateY(-6px);
  border-color:#bfcfff;
  box-shadow:0 26px 58px rgba(6,18,48,.13),0 0 0 1px rgba(80,112,255,.08),inset 0 1px 0 rgba(255,255,255,.95);
}
.step-num{
  position:absolute;
  left:18px;
  top:14px;
  width:30px;
  height:30px;
  border-radius:50%;
  background:linear-gradient(180deg,#6182ff,#4f69ff);
  color:#fff;
  font-size:12px;
  font-weight:900;
  display:grid;
  place-items:center;
  box-shadow:0 12px 24px rgba(54,93,255,.22);
}
.step-icon{
  width:68px;
  height:68px;
  margin:18px auto 16px;
  border-radius:22px;
  color:#66b3ff;
  background:radial-gradient(circle at 30% 20%,rgba(67,139,255,.28),transparent 42%),linear-gradient(180deg,#08183d 0%,#041026 100%);
  border:1px solid rgba(89,145,255,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), inset 0 -12px 24px rgba(0,0,0,.28), 0 16px 32px rgba(0,31,100,.18), 0 0 0 6px rgba(74,108,255,.045);
  display:grid;
  place-items:center;
}
.step-icon svg{
  width:32px;
  height:32px;
  stroke:currentColor;
  filter:drop-shadow(0 0 8px rgba(55,136,255,.28));
}
.step-item:hover .step-icon{
  color:#88c7ff;
  transform:translateY(-2px) scale(1.04);
  border-color:rgba(128,180,255,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1), inset 0 -12px 24px rgba(0,0,0,.32), 0 18px 36px rgba(0,31,100,.25), 0 0 26px rgba(53,122,255,.22), 0 0 0 6px rgba(74,108,255,.055);
}
.step-item h3{
  font-size:16px;
  line-height:1.2;
  margin:0 0 10px;
  font-weight:900;
  letter-spacing:-.025em;
  color:#121827;
}
.step-item p{
  font-size:12.8px;
  line-height:1.68;
  color:#64708a;
  max-width:170px;
  margin:0 auto;
}
@media (max-width:1200px){
  .steps-grid{grid-template-columns:repeat(3,1fr)}
  .step-item:nth-child(3)::after{display:none}
}
@media (max-width:800px){
  .process{padding:38px 0 46px}
  .process::before{width:calc(100% - 22px);border-radius:24px}
  .steps-grid{grid-template-columns:1fr;gap:14px}
  .step-item{min-height:auto;padding:18px 18px 22px}
  .step-item::after{display:none}
  .step-item p{max-width:unset}
}


/* Hero padrão visual para as seções Soluções e Como Funciona */
.services,
.process{
  position:relative;
  overflow:hidden;
  padding:56px 0 60px;
  background:
    radial-gradient(circle at 18% 12%,rgba(46,109,255,.16),transparent 24%),
    radial-gradient(circle at 86% 6%,rgba(0,153,255,.14),transparent 20%),
    radial-gradient(circle at 50% 100%,rgba(63,94,251,.08),transparent 35%),
    linear-gradient(180deg,#020816 0%,#03122e 100%);
  color:#fff;
}
.services::before,
.process::before{
  content:"";
  position:absolute;
  left:50%;
  top:22px;
  transform:translateX(-50%);
  width:min(1180px,calc(100% - 34px));
  height:calc(100% - 44px);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(7,22,54,.92),rgba(4,14,36,.88));
  border:1px solid rgba(71,117,255,.20);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 28px 70px rgba(0,10,40,.32),
    0 0 0 1px rgba(52,99,255,.06);
  pointer-events:none;
}
.services::after,
.process::after{
  content:"";
  position:absolute;
  inset:auto auto -120px -110px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(51,124,255,.18),transparent 68%);
  pointer-events:none;
}
.services .container,
.process .container{position:relative;z-index:1}
.services .section-intro.compact,
.process .section-intro.compact{margin-bottom:34px}
.services .section-mini,
.process .section-mini{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(8,25,59,.9);
  border:1px solid rgba(87,130,255,.22);
  color:#79a9ff;
  letter-spacing:.12em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 30px rgba(2,10,34,.24);
}
.services .section-mini::before,
.process .section-mini::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#3c87ff;
  box-shadow:0 0 0 5px rgba(60,135,255,.14);
}
.services .section-intro h2,
.process .section-intro h2{
  color:#fff;
}

/* Soluções */
.service-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}
.service-card{
  position:relative;
  overflow:hidden;
  min-height:252px;
  padding:24px 18px 18px;
  border-radius:24px;
  border:1px solid rgba(77,120,255,.18);
  background:
    radial-gradient(circle at 18% 14%,rgba(72,123,255,.12),transparent 26%),
    linear-gradient(180deg,rgba(9,23,56,.96),rgba(5,15,35,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 18px 40px rgba(0,8,30,.24);
  text-align:center;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.service-card::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,rgba(50,118,255,0),#2d7cff,#61b0ff,rgba(50,118,255,0));
  opacity:.95;
}
.service-card::after{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-42px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(70,121,255,.16),transparent 68%);
}
.service-card:hover{
  transform:translateY(-6px);
  border-color:rgba(104,150,255,.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 24px 48px rgba(0,10,40,.34),
    0 0 26px rgba(41,109,255,.12);
}
.service-icon{
  width:70px;
  height:70px;
  margin:2px auto 16px;
  border-radius:22px;
  display:grid;
  place-items:center;
  color:#72b8ff;
  background:
    radial-gradient(circle at 30% 20%,rgba(78,140,255,.26),transparent 42%),
    linear-gradient(180deg,#081b44 0%,#04122c 100%);
  border:1px solid rgba(92,145,255,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -10px 22px rgba(0,0,0,.30),
    0 16px 32px rgba(0,24,88,.22),
    0 0 0 6px rgba(67,112,255,.04);
}
.service-icon svg{
  width:32px;
  height:32px;
  stroke:currentColor;
  fill:none;
  stroke-width:2.05;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 8px rgba(74,150,255,.24));
}
.service-card:hover .service-icon{
  color:#9cd4ff;
  border-color:rgba(118,177,255,.44);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -12px 24px rgba(0,0,0,.32),
    0 18px 36px rgba(0,31,100,.25),
    0 0 24px rgba(53,122,255,.22),
    0 0 0 6px rgba(74,108,255,.055);
}
.service-card h3{
  color:#fff;
  font-size:18px;
  line-height:1.22;
  margin:0 0 12px;
  font-weight:900;
  letter-spacing:-.02em;
}
.service-card p{
  color:#c1d0f4;
  font-size:13px;
  line-height:1.68;
  min-height:88px;
  margin:0 0 16px;
}
.service-card a{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  height:38px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(8,22,53,.88);
  border:1px solid rgba(84,126,255,.28);
  color:#89b4ff;
  font-size:12.5px;
  font-weight:800;
  transition:.22s ease;
}
.service-card a:hover{
  background:linear-gradient(90deg,#2d71ff,#4e8dff);
  border-color:#4e8dff;
  color:#fff;
  box-shadow:0 14px 26px rgba(52,103,255,.26);
}

/* Como funciona */
.steps-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  align-items:stretch;
}
.step-item{
  position:relative;
  text-align:center;
  min-height:232px;
  padding:18px 16px 20px;
  border-radius:24px;
  border:1px solid rgba(77,120,255,.18);
  background:
    radial-gradient(circle at 18% 14%,rgba(72,123,255,.11),transparent 26%),
    linear-gradient(180deg,rgba(9,23,56,.96),rgba(5,15,35,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 18px 40px rgba(0,8,30,.24);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.step-item::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,rgba(50,118,255,0),#2d7cff,#61b0ff,rgba(50,118,255,0));
  opacity:.95;
}
.step-item::after{
  content:"";
  position:absolute;
  top:35px;
  left:calc(100% - 8px);
  width:18px;
  height:2px;
  background:linear-gradient(90deg,rgba(112,153,255,.85),rgba(84,126,255,.10));
  box-shadow:0 0 0 4px rgba(74,108,255,.05);
}
.step-item:last-child::after{display:none}
.step-item:hover{
  transform:translateY(-6px);
  border-color:rgba(104,150,255,.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 24px 48px rgba(0,10,40,.34),
    0 0 26px rgba(41,109,255,.12);
}
.step-num{
  position:absolute;
  left:18px;
  top:14px;
  width:30px;
  height:30px;
  border-radius:50%;
  background:linear-gradient(180deg,#5b82ff,#3d62ff);
  color:#fff;
  font-size:12px;
  font-weight:900;
  display:grid;
  place-items:center;
  box-shadow:0 12px 24px rgba(54,93,255,.22);
}
.step-icon{
  width:68px;
  height:68px;
  margin:18px auto 16px;
  border-radius:22px;
  color:#72b8ff;
  background:
    radial-gradient(circle at 30% 20%,rgba(78,140,255,.26),transparent 42%),
    linear-gradient(180deg,#081b44 0%,#04122c 100%);
  border:1px solid rgba(92,145,255,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -10px 22px rgba(0,0,0,.30),
    0 16px 32px rgba(0,24,88,.22),
    0 0 0 6px rgba(67,112,255,.04);
  display:grid;
  place-items:center;
}
.step-icon svg{
  width:32px;
  height:32px;
  stroke:currentColor;
  filter:drop-shadow(0 0 8px rgba(74,150,255,.24));
}
.step-item:hover .step-icon{
  color:#9cd4ff;
  border-color:rgba(118,177,255,.44);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -12px 24px rgba(0,0,0,.32),
    0 18px 36px rgba(0,31,100,.25),
    0 0 24px rgba(53,122,255,.22),
    0 0 0 6px rgba(74,108,255,.055);
}
.step-item h3{
  font-size:16px;
  line-height:1.22;
  margin:0 0 10px;
  font-weight:900;
  color:#fff;
  letter-spacing:-.02em;
}
.step-item p{
  font-size:12.8px;
  line-height:1.68;
  color:#c1d0f4;
  max-width:172px;
  margin:0 auto;
}

@media (max-width:1200px){
  .service-grid,
  .steps-grid{grid-template-columns:repeat(3,1fr)}
  .step-item:nth-child(3)::after{display:none}
}
@media (max-width:800px){
  .services,
  .process{padding:42px 0 48px}
  .services::before,
  .process::before{width:calc(100% - 20px);border-radius:24px;height:calc(100% - 36px);top:18px}
  .service-grid,
  .steps-grid{grid-template-columns:1fr;gap:14px}
  .service-card,
  .step-item{min-height:auto}
  .service-card p,
  .step-item p{min-height:auto;max-width:unset}
  .step-item::after{display:none}
}


/* Hero padrão visual para a seção Exemplos */
.portfolio{
  position:relative;
  overflow:hidden;
  padding:56px 0 60px;
  background:
    radial-gradient(circle at 18% 12%,rgba(46,109,255,.15),transparent 24%),
    radial-gradient(circle at 86% 6%,rgba(0,153,255,.13),transparent 20%),
    radial-gradient(circle at 50% 100%,rgba(63,94,251,.08),transparent 35%),
    linear-gradient(180deg,#020816 0%,#03122e 100%);
}
.portfolio::before{
  content:"";
  position:absolute;
  left:50%;
  top:22px;
  transform:translateX(-50%);
  width:min(1180px,calc(100% - 34px));
  height:calc(100% - 44px);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(7,22,54,.92),rgba(4,14,36,.88));
  border:1px solid rgba(71,117,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 28px 70px rgba(0,10,40,.32),0 0 0 1px rgba(52,99,255,.06);
  pointer-events:none;
}
.portfolio::after{
  content:"";
  position:absolute;
  right:-110px;
  bottom:-120px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(51,124,255,.18),transparent 68%);
  pointer-events:none;
}
.portfolio .container{position:relative;z-index:1}
.portfolio .section-intro.compact{margin-bottom:28px}
.portfolio .section-intro h2{color:#fff}
.portfolio .portfolio-filters{margin-bottom:26px;gap:12px}
.portfolio .portfolio-filters button{
  height:40px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(84,126,255,.20);
  background:rgba(7,20,49,.62);
  color:#aebfe6;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.portfolio .portfolio-filters button::before{
  background:#5f9eff;
  box-shadow:0 0 0 5px rgba(70,121,255,.12);
}
.portfolio .portfolio-filters button:hover{
  color:#fff;
  border-color:rgba(102,145,255,.34);
  background:rgba(10,28,68,.92);
}
.portfolio .portfolio-filters button.active{
  color:#fff;
  border-color:rgba(105,153,255,.38);
  background:linear-gradient(90deg,#2d71ff,#4f8cff);
  box-shadow:0 14px 28px rgba(52,103,255,.26), inset 0 1px 0 rgba(255,255,255,.12);
}
.portfolio .portfolio-filters button.active::before{background:#fff;box-shadow:none}
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.portfolio-card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(77,120,255,.18);
  background:
    radial-gradient(circle at 18% 14%,rgba(72,123,255,.10),transparent 26%),
    linear-gradient(180deg,rgba(9,23,56,.96),rgba(5,15,35,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 40px rgba(0,8,30,.24);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.portfolio-card::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,rgba(50,118,255,0),#2d7cff,#61b0ff,rgba(50,118,255,0));
  opacity:.95;
  z-index:2;
}
.portfolio-card::after{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-46px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(70,121,255,.15),transparent 68%);
  pointer-events:none;
}
.portfolio-card:hover{
  transform:translateY(-6px);
  border-color:rgba(104,150,255,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 48px rgba(0,10,40,.34),0 0 26px rgba(41,109,255,.12);
}
.thumb{
  position:relative;
  height:162px;
  background:#08122b;
  overflow:hidden;
}
.thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,15,35,0) 60%,rgba(5,15,35,.18) 100%);
  pointer-events:none;
}
.thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.portfolio-info{
  padding:15px 15px 16px;
}
.portfolio-info h3{
  color:#fff;
  font-size:15px;
  line-height:1.2;
  margin:0 0 6px;
  font-weight:800;
}
.portfolio-info p{
  color:#8db7ff;
  font-size:12px;
  margin:0;
  font-weight:800;
}
.portfolio-action{margin-top:26px}
.portfolio .mini-outline-btn{
  height:46px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(84,126,255,.28);
  color:#fff;
  background:rgba(8,22,53,.88);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.portfolio .mini-outline-btn:hover{
  background:linear-gradient(90deg,#2d71ff,#4e8dff);
  border-color:#4e8dff;
  color:#fff;
  box-shadow:0 14px 26px rgba(52,103,255,.26);
}
@media (max-width:800px){
  .portfolio{padding:42px 0 48px}
  .portfolio::before{width:calc(100% - 20px);border-radius:24px;height:calc(100% - 36px);top:18px}
  .portfolio .section-intro.compact{margin-bottom:22px}
}


/* =========================================================
   CONSISTÊNCIA VISUAL GLOBAL — PADRÃO HERO EM TODAS AS SEÇÕES
   ========================================================= */
.services,
.process,
.testimonials,
.plans,
.faq,
.cta-bar,
.footer{
  position:relative;
  overflow:hidden;
}
.services,
.process,
.faq{
  padding:56px 0 60px;
  background:
    radial-gradient(circle at 14% 10%,rgba(46,109,255,.16),transparent 24%),
    radial-gradient(circle at 88% 12%,rgba(0,153,255,.12),transparent 22%),
    linear-gradient(180deg,#020816 0%,#03122e 100%);
}
.services::before,
.process::before,
.faq::before{
  content:"";
  position:absolute;
  left:50%;
  top:22px;
  transform:translateX(-50%);
  width:min(1180px,calc(100% - 34px));
  height:calc(100% - 44px);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(7,22,54,.92),rgba(4,14,36,.88));
  border:1px solid rgba(71,117,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 28px 70px rgba(0,10,40,.32),0 0 0 1px rgba(52,99,255,.06);
  pointer-events:none;
}
.services::after,
.process::after,
.faq::after{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(51,124,255,.18),transparent 68%);
  pointer-events:none;
}
.services::after{right:-100px;bottom:-120px}
.process::after{left:-110px;bottom:-140px}
.faq::after{right:-120px;top:-130px}
.services .container,
.process .container,
.faq .container,
.testimonials .container,
.plans .container,
.footer .container,
.cta-bar .container{position:relative;z-index:1}
.services .section-intro.compact,
.process .section-intro.compact,
.faq .section-intro.compact,
.testimonials .section-intro.compact,
.plans .section-intro.compact{margin-bottom:30px}
.services .section-mini,
.process .section-mini,
.faq .section-mini,
.testimonials .section-mini,
.plans .section-mini{
  color:#7ea8ff;
}
.services .section-intro h2,
.process .section-intro h2,
.faq .section-intro h2,
.testimonials .section-intro h2,
.plans .section-intro h2{
  color:#fff;
}

/* Serviços */
.service-grid{gap:18px}
.service-card{
  border:1px solid rgba(77,120,255,.18);
  background:
    radial-gradient(circle at 18% 14%,rgba(72,123,255,.10),transparent 26%),
    linear-gradient(180deg,rgba(9,23,56,.96),rgba(5,15,35,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 40px rgba(0,8,30,.24);
}
.service-card:hover{
  border-color:rgba(104,150,255,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 48px rgba(0,10,40,.34),0 0 26px rgba(41,109,255,.12);
}
.service-card::before{background:linear-gradient(90deg,rgba(50,118,255,0),#2d7cff,#61b0ff,rgba(50,118,255,0))}
.service-card::after{background:radial-gradient(circle,rgba(70,121,255,.15),transparent 68%)}
.service-icon{
  background:linear-gradient(180deg,rgba(20,39,84,.96),rgba(9,21,49,.98));
  border-color:rgba(80,123,255,.24);
  box-shadow:0 16px 30px rgba(0,10,35,.28), inset 0 1px 0 rgba(255,255,255,.05);
}
.service-icon svg{stroke:#57a2ff}
.service-card h3{color:#fff}
.service-card p{color:#adc0e8}
.service-card a{
  background:rgba(10,28,68,.9);
  border:1px solid rgba(84,126,255,.28);
  color:#fff;
}
.service-card a:hover{
  background:linear-gradient(90deg,#2d71ff,#4e8dff);
  border-color:#4e8dff;
}

/* Bloco de autoridade */
.why-block{
  position:relative;
  overflow:hidden;
  padding:54px 0;
  background:
    radial-gradient(circle at 74% 10%,rgba(63,97,255,.22),transparent 22%),
    linear-gradient(90deg,#020818,#04163d 46%,#031229);
}
.why-block::before{
  content:"";
  position:absolute;
  left:50%;
  top:18px;
  transform:translateX(-50%);
  width:min(1180px,calc(100% - 34px));
  height:calc(100% - 36px);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(7,22,54,.9),rgba(4,14,36,.86));
  border:1px solid rgba(71,117,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 22px 54px rgba(0,10,40,.24);
  pointer-events:none;
}
.why-grid{position:relative;z-index:1;align-items:center}
.why-copy p,.why-copy li{color:#c3d0ea}
.why-copy ul li::before{background:linear-gradient(180deg,#2d71ff,#66afff); box-shadow:0 0 0 4px rgba(80,123,255,.12)}
.why-visual img{
  border-radius:24px;
  border:1px solid rgba(77,120,255,.18);
  box-shadow:0 22px 48px rgba(0,10,40,.28),0 0 30px rgba(41,109,255,.10);
}

/* Depoimentos */
.testimonials{
  padding:56px 0 60px;
  background:
    radial-gradient(circle at 14% 8%,rgba(46,109,255,.14),transparent 24%),
    radial-gradient(circle at 86% 0%,rgba(0,153,255,.11),transparent 18%),
    linear-gradient(180deg,#020816 0%,#03122e 100%);
}
.testimonials::before{
  content:"";
  position:absolute;
  left:50%;top:22px;transform:translateX(-50%);
  width:min(1180px,calc(100% - 34px));height:calc(100% - 44px);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(7,22,54,.92),rgba(4,14,36,.88));
  border:1px solid rgba(71,117,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 28px 70px rgba(0,10,40,.32);
  pointer-events:none;
}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.testimonial-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(77,120,255,.18);
  border-radius:22px;
  padding:24px 22px;
  background:
    radial-gradient(circle at 18% 14%,rgba(72,123,255,.10),transparent 24%),
    linear-gradient(180deg,rgba(9,23,56,.96),rgba(5,15,35,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 40px rgba(0,8,30,.24);
}
.testimonial-card::before{
  content:"";
  position:absolute;
  left:18px;right:18px;top:0;height:3px;border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,rgba(50,118,255,0),#2d7cff,#61b0ff,rgba(50,118,255,0));
}
.testimonial-card p{color:#d9e5ff}
.person-row h4{color:#fff}
.person-row small{color:#8db7ff}
.slider-dots span{background:rgba(130,154,204,.35)}
.slider-dots .active{background:#4e8dff; box-shadow:0 0 0 6px rgba(78,141,255,.14)}

/* Processo */
.steps-grid{gap:18px}
.step-item{
  overflow:hidden;
  padding:22px 16px 18px;
  border-radius:22px;
  border:1px solid rgba(77,120,255,.18);
  background:
    radial-gradient(circle at 18% 14%,rgba(72,123,255,.10),transparent 26%),
    linear-gradient(180deg,rgba(9,23,56,.96),rgba(5,15,35,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 40px rgba(0,8,30,.24);
}
.step-item::before{
  content:"";
  position:absolute;
  left:18px;right:18px;top:0;height:3px;border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,rgba(50,118,255,0),#2d7cff,#61b0ff,rgba(50,118,255,0));
}
.step-item::after{
  top:34px;
  left:calc(50% + 40px);
  width:calc(100% - 70px);
  background:linear-gradient(90deg,rgba(98,138,255,.5),rgba(98,138,255,.06));
}
.step-num{
  left:50%;transform:translateX(-50%);top:-11px;
  width:32px;height:32px;
  background:linear-gradient(180deg,#2d71ff,#4e8dff);
  box-shadow:0 12px 24px rgba(52,103,255,.22);
}
.step-icon{
  width:64px;height:64px;margin:8px auto 16px;
  background:linear-gradient(180deg,rgba(20,39,84,.96),rgba(9,21,49,.98));
  color:#57a2ff;
  border:1px solid rgba(80,123,255,.24);
  box-shadow:0 16px 30px rgba(0,10,35,.28), inset 0 1px 0 rgba(255,255,255,.05);
}
.step-item h3{color:#fff}
.step-item p{color:#adc0e8}
.step-item:hover{border-color:rgba(104,150,255,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 48px rgba(0,10,40,.34),0 0 26px rgba(41,109,255,.12)}

/* Planos */
.plans{
  padding:58px 0 64px;
  background:
    radial-gradient(circle at 14% 8%,rgba(46,109,255,.14),transparent 24%),
    radial-gradient(circle at 86% 0%,rgba(0,153,255,.11),transparent 18%),
    linear-gradient(180deg,#020816 0%,#03122e 100%);
}
.plans::before{
  content:"";
  position:absolute;
  left:50%;top:22px;transform:translateX(-50%);
  width:min(1180px,calc(100% - 34px));height:calc(100% - 44px);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(7,22,54,.92),rgba(4,14,36,.88));
  border:1px solid rgba(71,117,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 28px 70px rgba(0,10,40,.32);
  pointer-events:none;
}
.plans-grid-wrap{gap:24px}
.plan-card{
  overflow:hidden;
  border:1px solid rgba(77,120,255,.18);
  border-radius:24px;
  background:
    radial-gradient(circle at 18% 14%,rgba(72,123,255,.10),transparent 24%),
    linear-gradient(180deg,rgba(9,23,56,.96),rgba(5,15,35,.97));
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 40px rgba(0,8,30,.24);
}
.plan-card::before{
  content:"";
  position:absolute;
  left:18px;right:18px;top:0;height:3px;border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,rgba(50,118,255,0),#2d7cff,#61b0ff,rgba(50,118,255,0));
}
.plan-card h3,.plan-price{color:#fff}
.plan-desc,.plan-note,.plan-card li{color:#c3d0ea}
.plan-card li::before{color:#6cb1ff}
.plan-card a{
  border:1px solid rgba(84,126,255,.28);
  background:rgba(8,22,53,.88);
  color:#fff;
}
.plan-card a:hover{
  background:linear-gradient(90deg,#2d71ff,#4e8dff);
  border-color:#4e8dff;
}
.plan-card.featured{border-color:rgba(106,127,255,.56); box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 56px rgba(0,10,40,.36),0 0 28px rgba(41,109,255,.12)}
.plan-badge{background:linear-gradient(90deg,#2d71ff,#4e8dff)}
.plans-side{padding-top:72px;gap:16px}
.side-feature{
  padding:16px 16px;
  border-radius:18px;
  border:1px solid rgba(77,120,255,.18);
  background:rgba(8,22,53,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.side-feature i{
  width:34px;height:34px;border-radius:12px;
  border:1px solid rgba(84,126,255,.28);
  background:rgba(8,22,53,.88);
}
.side-feature p{color:#adc0e8}

/* FAQ */
.faq-grid{gap:22px;align-items:start}
.faq-list details{
  border:1px solid rgba(77,120,255,.18);
  border-radius:18px;
  background:rgba(8,22,53,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.faq-list summary{color:#fff;padding:20px 20px}
.faq-list summary::after{color:#79a6ff}
.faq-list p{color:#c3d0ea;padding:0 20px 20px}
.faq-card{
  border:1px solid rgba(77,120,255,.18);
  background:
    radial-gradient(circle at 18% 14%,rgba(72,123,255,.10),transparent 24%),
    linear-gradient(180deg,rgba(9,23,56,.96),rgba(5,15,35,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 40px rgba(0,8,30,.24);
}
.faq-card::before{
  content:"";
  position:absolute;
  left:18px;right:18px;top:0;height:3px;border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,rgba(50,118,255,0),#2d7cff,#61b0ff,rgba(50,118,255,0));
  z-index:2;
}
.faq-text h3{color:#fff}
.faq-text p{color:#c3d0ea}
.faq-text a{
  background:linear-gradient(90deg,#2d71ff,#4e8dff);
  color:#fff;
  box-shadow:0 14px 28px rgba(52,103,255,.26);
}
.faq-person-img{background:#08142f}

/* CTA final */
.cta-bar{
  padding:0 0 34px;
  background:linear-gradient(180deg,#03122e 0%,#020816 100%);
}
.cta-inner{
  padding:24px 28px;
  border-radius:28px;
  border:1px solid rgba(71,117,255,.20);
  background:
    radial-gradient(circle at 14% 10%,rgba(46,109,255,.16),transparent 24%),
    linear-gradient(90deg,rgba(7,22,54,.92),rgba(4,14,36,.88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 60px rgba(0,10,40,.28);
}
.cta-icon{border-color:rgba(84,126,255,.28); background:rgba(8,22,53,.88)}
.cta-left h3{color:#fff}
.cta-left p{color:#c3d0ea}
.cta-white{
  background:linear-gradient(90deg,#2d71ff,#4e8dff);
  color:#fff;
  box-shadow:0 14px 28px rgba(52,103,255,.26);
}

/* Footer */
.footer{
  background:
    radial-gradient(circle at 18% 8%,rgba(46,109,255,.12),transparent 22%),
    linear-gradient(180deg,#020816 0%,#01050f 100%);
  padding:32px 0 14px;
}
.footer-grid{border-bottom:1px solid rgba(84,126,255,.14)}
.footer h4{color:#fff}
.footer a,.footer-brand-col p{color:#aebfe6}
.socials span{
  border-color:rgba(84,126,255,.22);
  background:rgba(8,22,53,.72);
}
.footer-bottom{color:#8ea2cf}

/* Responsivo */
@media (max-width:1100px){
  .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .plans-grid-wrap{grid-template-columns:1fr}
  .plans-side{padding-top:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .testimonial-grid{grid-template-columns:1fr}
}
@media (max-width:800px){
  .services,.process,.faq,.testimonials,.plans{padding:42px 0 48px}
  .services::before,.process::before,.faq::before,.testimonials::before,.plans::before,.why-block::before{
    width:calc(100% - 20px);
    height:calc(100% - 36px);
    top:18px;
    border-radius:24px;
  }
  .service-grid,.steps-grid,.plans-grid{grid-template-columns:1fr}
  .plans-side{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .faq-card{grid-template-columns:1fr}
  .cta-inner{padding:20px; border-radius:22px}
}

.faq-card{position:relative}


/* =========================================================
   AJUSTES FINAIS — ESPAÇAMENTOS, MOBILE E CTA
   ========================================================= */
html{scroll-padding-top:92px}
body{line-height:1.45}
main section{scroll-margin-top:88px}
.hero-banner-section{padding:18px 0 22px}
.hero-banner-img{border-radius:26px}
.services,.why-block,.portfolio,.testimonials,.process,.plans,.faq{padding-top:58px;padding-bottom:62px}
.cta-bar{padding-top:10px;padding-bottom:42px}
.section-intro.compact{margin-bottom:30px}
.section-intro h2{letter-spacing:-.045em}
.section-mini{margin-bottom:2px}

/* Melhor organização visual */
.service-grid,.portfolio-grid,.testimonial-grid,.steps-grid,.plans-grid{gap:20px}
.service-card,.testimonial-card,.step-item,.plan-card,.faq-card,.portfolio-card{border-radius:24px}
.portfolio{background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}
.portfolio .section-intro{margin-bottom:26px}
.portfolio-filters{margin-bottom:28px}
.portfolio-card{transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease; border:1px solid #dfE7ff; box-shadow:0 14px 34px rgba(8,18,45,.06)}
.portfolio-card:hover{transform:translateY(-6px); border-color:#c6d6ff; box-shadow:0 24px 48px rgba(8,18,45,.12)}
.thumb{height:160px}
.portfolio-info{padding:16px 16px 18px}
.portfolio-info h3{font-size:16px; margin-bottom:6px}
.portfolio-info p{font-size:12.5px}
.portfolio-action{margin-top:26px}
.mini-outline-btn{border-radius:14px; min-width:220px}

.testimonial-card{padding:24px 22px}
.testimonial-card p{font-size:14px; line-height:1.72}
.person-row{margin-top:18px}

.steps-grid{margin-top:8px}
.step-item h3,.service-card h3{letter-spacing:-.025em}
.plan-card{padding:28px 22px}
.plan-card h3{margin-top:6px}
.plan-desc{min-height:60px}
.plan-price{margin-top:6px}
.plan-card ul{margin:18px 0 22px}
.plan-card a{min-height:44px; border-radius:14px}
.plans-side{gap:18px}
.side-feature{border-radius:18px}

.faq-list details{margin-bottom:12px}
.faq-card{align-items:center; gap:22px}
.faq-person-img{border-radius:22px}
.faq-text a{min-height:46px; border-radius:14px; display:inline-flex; align-items:center; justify-content:center; padding:0 18px}
.cta-inner{gap:20px}
.cta-white{min-height:50px; border-radius:14px}
.footer-grid{gap:26px; padding-bottom:24px}
.footer-bottom{padding-top:16px}
.footer a:hover{color:#ffffff}

/* CTA flutuante mobile */
.mobile-float-whatsapp{display:none}

/* Refinos mobile */
@media (max-width: 900px){
  .services,.why-block,.portfolio,.testimonials,.process,.plans,.faq{padding-top:44px;padding-bottom:48px}
  .section-intro.compact{margin-bottom:24px}
  .why-grid,.faq-grid,.plans-grid-wrap{gap:24px}
  .thumb{height:180px}
}

@media (max-width: 800px){
  html{scroll-padding-top:82px}
  main section{scroll-margin-top:76px}
  .topbar{padding:10px 0 12px}
  .navbar{justify-content:space-between;gap:12px}
  .logo img{height:42px;max-width:230px}
  .header-btn{height:42px;padding:0 14px;border-radius:12px;font-size:12px;box-shadow:0 10px 22px rgba(74,96,255,.22)}
  .hero-banner-section{padding:10px 0 14px}
  .hero-banner-img{border-radius:18px;box-shadow:0 14px 30px rgba(12,20,44,.12)}
  .services,.why-block,.portfolio,.testimonials,.process,.plans,.faq{padding-top:40px;padding-bottom:44px}
  .why-copy h2{font-size:38px;line-height:1.02}
  .section-intro h2,.faq-text h3,.cta-left h3{font-size:30px;line-height:1.08}
  .why-copy p,.faq-text p{font-size:15px;line-height:1.7}
  .service-grid,.portfolio-grid,.testimonial-grid,.steps-grid,.plans-grid,.plans-side,.faq-grid{gap:14px}
  .portfolio-filters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:4px;margin:0 -4px 20px;padding-left:4px;padding-right:4px;scrollbar-width:none}
  .portfolio-filters::-webkit-scrollbar{display:none}
  .portfolio-filters button{white-space:nowrap;flex:0 0 auto}
  .service-card,.testimonial-card,.step-item,.plan-card,.faq-card{padding:20px 16px;border-radius:20px}
  .service-card p,.step-item p,.testimonial-card p,.plan-card li,.faq-list p{font-size:13px;line-height:1.65}
  .service-card h3,.step-item h3,.plan-card h3{font-size:17px}
  .thumb{height:170px}
  .portfolio-info{padding:14px 14px 16px}
  .portfolio-card{border-radius:18px}
  .mini-outline-btn{width:100%;min-width:0}
  .plans-side{padding-top:2px}
  .side-feature{padding:14px 14px}
  .faq-list details{border-radius:16px}
  .faq-list summary{padding:17px 18px}
  .faq-list p{padding:0 18px 18px}
  .faq-card{grid-template-columns:1fr; text-align:left}
  .faq-person-img{max-width:220px;margin:0 auto}
  .cta-inner{padding:20px;border-radius:22px}
  .cta-left{gap:14px}
  .cta-white,.faq-text a{width:100%}
  .footer-brand-col,.footer-grid>div{text-align:left}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
  .mobile-float-whatsapp{
    display:inline-flex;
    position:fixed;
    right:14px;
    bottom:14px;
    z-index:80;
    align-items:center;
    justify-content:center;
    min-width:132px;
    height:48px;
    padding:0 18px;
    border-radius:999px;
    background:linear-gradient(135deg,#18a850,#25d366);
    color:#fff;
    font-size:14px;
    font-weight:800;
    box-shadow:0 18px 36px rgba(12,70,36,.32);
  }
}

@media (max-width: 560px){
  .container{width:min(var(--container),calc(100% - 18px))}
  .topbar{padding:8px 0 10px}
  .logo img{height:38px;max-width:210px}
  .header-btn{height:40px;padding:0 12px;font-size:11.5px}
  .hero-banner-img{border-radius:16px}
  .section-intro h2,.faq-text h3,.cta-left h3{font-size:26px}
  .why-copy h2{font-size:32px}
  .thumb{height:158px}
  .testimonial-card,.service-card,.step-item,.plan-card,.faq-card{padding:18px 14px}
  .plan-card ul{margin:16px 0 18px}
  .mobile-float-whatsapp{right:10px;bottom:10px;height:46px;min-width:124px;padding:0 16px}
}

/* === CLEAN PREMIUM REFINEMENT: hero dark + demais seções clean === */
:root{
  --clean-bg:#f7faff;
  --clean-bg-2:#ffffff;
  --clean-line:#dfe7fb;
  --clean-line-2:#e7eeff;
  --clean-text:#182033;
  --clean-muted:#667089;
  --clean-blue:#4462ff;
  --clean-blue-2:#6f86ff;
  --clean-shadow:0 18px 40px rgba(12,24,52,.07);
  --clean-shadow-strong:0 24px 52px rgba(12,24,52,.11);
}

/* Mantém apenas hero, bloco "por que escolher" e CTA final com visual escuro */
.services,
.portfolio,
.testimonials,
.process,
.plans,
.faq{
  position:relative;
  background:linear-gradient(180deg,#fbfcff 0%,#f5f8ff 100%) !important;
  color:var(--clean-text);
  padding-top:58px !important;
  padding-bottom:62px !important;
}

.services::before,
.services::after,
.portfolio::before,
.portfolio::after,
.testimonials::before,
.process::before,
.process::after,
.plans::before,
.faq::before,
.faq::after{
  content:none !important;
  display:none !important;
}

.services .section-intro h2,
.portfolio .section-intro h2,
.testimonials .section-intro h2,
.process .section-intro h2,
.plans .section-intro h2,
.faq .section-intro h2{
  color:#0f172b !important;
}

.services .section-mini,
.portfolio .section-mini,
.testimonials .section-mini,
.process .section-mini,
.plans .section-mini,
.faq .section-mini{
  color:#5270ff !important;
  letter-spacing:.16em;
}

.services .section-mini::before,
.process .section-mini::before{
  background:linear-gradient(90deg,#5c76ff,#8aa1ff) !important;
  box-shadow:0 0 0 6px rgba(92,118,255,.10);
}

/* serviços */
.service-grid{gap:22px !important; align-items:stretch;}
.service-card{
  background:rgba(255,255,255,.96) !important;
  border:1px solid var(--clean-line) !important;
  border-radius:24px !important;
  box-shadow:var(--clean-shadow) !important;
  padding:28px 24px !important;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.service-card:hover{
  transform:translateY(-6px);
  border-color:#c9d8ff !important;
  box-shadow:var(--clean-shadow-strong) !important;
}
.service-card h3{font-size:20px !important; color:#11192e !important; margin-bottom:10px !important;}
.service-card p{font-size:14px !important; line-height:1.7 !important; color:var(--clean-muted) !important;}
.service-card a{color:#4260ff !important; font-weight:800 !important; font-size:13px !important;}
.service-icon{
  width:72px !important;
  height:72px !important;
  border-radius:22px !important;
  background:radial-gradient(circle at 30% 30%, rgba(101,129,255,.26), rgba(68,98,255,.12) 55%, rgba(68,98,255,.06) 100%) !important;
  border:1px solid #d7e1ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 18px 30px rgba(68,98,255,.10) !important;
}
.service-icon svg{width:34px !important;height:34px !important;stroke:#2952ff !important;stroke-width:1.9 !important;fill:none !important;}

/* portfolio / exemplos */
.portfolio{background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%) !important;}
.portfolio-filters{margin-bottom:26px !important;gap:12px !important;}
.portfolio-filters button{
  height:40px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  border:1px solid #dfe6ff !important;
  background:#fff !important;
  color:#667089 !important;
  box-shadow:0 8px 18px rgba(8,18,45,.04);
}
.portfolio-filters button:hover{border-color:#cdd8ff !important;color:#4260ff !important;transform:translateY(-1px);}
.portfolio-filters button.active{
  background:linear-gradient(135deg,#5874ff,#3d5dff) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 14px 28px rgba(76,100,255,.24) !important;
}
.portfolio-filters button::before{background:#a7b5ff !important;}
.portfolio-filters button.active::before{background:#fff !important;}
.portfolio-grid{gap:22px !important;}
.portfolio-card{
  border:1px solid var(--clean-line) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:var(--clean-shadow) !important;
  overflow:hidden;
}
.portfolio-card::before,.portfolio-card::after{content:none !important;display:none !important;}
.portfolio-card:hover{transform:translateY(-6px) !important; box-shadow:var(--clean-shadow-strong) !important; border-color:#c9d8ff !important;}
.thumb{background:#f2f6ff !important;}
.portfolio-info{padding:18px 18px 20px !important;}
.portfolio-info h3{font-size:18px !important;color:#11192e !important;}
.portfolio-info p{font-size:13px !important;color:#6d7891 !important;font-weight:700 !important;}
.mini-outline-btn{
  height:46px !important;
  border-radius:14px !important;
  border:1px solid #d3ddff !important;
  color:#4462ff !important;
  background:#fff !important;
  font-weight:800 !important;
  box-shadow:0 10px 22px rgba(8,18,45,.05);
}
.mini-outline-btn:hover{border-color:#b9c9ff !important; box-shadow:0 16px 28px rgba(8,18,45,.09);}

/* depoimentos clean */
.testimonials{background:linear-gradient(180deg,#f7faff 0%,#ffffff 100%) !important;}
.testimonial-grid{gap:22px !important;}
.testimonial-card{
  background:#fff !important;
  border:1px solid var(--clean-line) !important;
  border-radius:24px !important;
  box-shadow:var(--clean-shadow) !important;
}
.testimonial-card p{color:#3a4359 !important; font-size:15px !important; line-height:1.75 !important;}
.person-row h4{color:#11192e !important;}
.person-row small{color:#72809b !important;}
.slider-dots span{background:#d8e1ff !important;}
.slider-dots .active{background:#4f68ff !important;}

/* processo clean com mesmo refinamento */
.process{background:linear-gradient(180deg,#fbfcff 0%,#f6f9ff 100%) !important;}
.steps-grid{gap:18px !important; align-items:stretch;}
.step-item{
  padding:26px 18px 24px !important;
  background:#fff !important;
  border:1px solid var(--clean-line) !important;
  border-radius:24px !important;
  box-shadow:var(--clean-shadow) !important;
}
.step-item::after{
  background:linear-gradient(90deg,#d8e3ff,#eef3ff) !important;
  top:48px !important;
  left:calc(50% + 52px) !important;
  width:calc(100% - 102px) !important;
}
.step-num{
  top:-11px !important;
  left:calc(50% - 11px) !important;
  width:26px !important;
  height:26px !important;
  border:2px solid #fff !important;
  box-shadow:0 10px 18px rgba(79,104,255,.18) !important;
}
.step-icon{
  width:74px !important;
  height:74px !important;
  border-radius:22px !important;
  background:radial-gradient(circle at 30% 30%, rgba(101,129,255,.24), rgba(68,98,255,.10) 60%, rgba(68,98,255,.06) 100%) !important;
  border:1px solid #dbe4ff !important;
  color:#3157ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 18px 30px rgba(68,98,255,.10) !important;
  margin-bottom:16px !important;
}
.step-icon svg{width:30px !important;height:30px !important;}
.step-item h3{font-size:18px !important; color:#11192e !important; margin-bottom:8px !important;}
.step-item p{font-size:13.5px !important; line-height:1.65 !important; color:#6d7891 !important; max-width:unset !important;}

/* planos clean premium */
.plans{background:linear-gradient(180deg,#f7faff 0%,#ffffff 100%) !important;color:var(--clean-text) !important;}
.plans-grid-wrap{gap:26px !important;}
.plan-card{
  background:#fff !important;
  border:1px solid var(--clean-line) !important;
  border-radius:24px !important;
  box-shadow:var(--clean-shadow) !important;
}
.plan-card h3{color:#10182c !important;}
.plan-desc,.plan-note,.plan-card li{color:#69748f !important;}
.plan-card a{
  height:46px !important;
  border-radius:14px !important;
  border:1px solid #d2dcff !important;
  background:#fff !important;
  color:#4462ff !important;
  box-shadow:0 10px 22px rgba(8,18,45,.04);
}
.plan-card a:hover{border-color:#b9c9ff !important; box-shadow:0 16px 28px rgba(8,18,45,.09);}
.plan-price{color:#10182c !important;}
.plan-card.featured{
  border:1px solid #bfcfff !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%) !important;
  box-shadow:0 24px 50px rgba(76,100,255,.14) !important;
  transform:translateY(-4px);
}
.plan-badge{background:linear-gradient(135deg,#5874ff,#3d5dff) !important;}
.plans-side{padding-top:64px !important; gap:16px !important;}
.side-feature{
  background:#fff;
  border:1px solid var(--clean-line);
  border-radius:18px;
  padding:18px 16px;
  box-shadow:var(--clean-shadow);
  color:#1a2236 !important;
}
.side-feature i{
  width:42px !important;
  height:42px !important;
  border-radius:14px !important;
  border:1px solid #d8e2ff !important;
  background:radial-gradient(circle at 30% 30%, rgba(101,129,255,.26), rgba(68,98,255,.10) 60%, rgba(68,98,255,.05) 100%) !important;
  color:#3157ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 10px 20px rgba(68,98,255,.08) !important;
}
.side-feature h4{color:#11192e !important;}
.side-feature p{color:#6d7891 !important;}

/* FAQ clean premium */
.faq{background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%) !important;}
.faq-list details{
  border:1px solid var(--clean-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(8,18,45,.04);
}
.faq-list summary{color:#11192e !important; padding:20px 20px !important;}
.faq-list summary::after{color:#5571ff !important;}
.faq-list p{color:#6d7891 !important; padding:0 20px 20px !important;}
.faq-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  border:1px solid var(--clean-line) !important;
  border-radius:26px !important;
  box-shadow:var(--clean-shadow) !important;
}
.faq-card::before{content:none !important;display:none !important;}
.faq-text h3{color:#11192e !important;}
.faq-text p{color:#69748f !important;}
.faq-text a{
  background:linear-gradient(135deg,#26c563,#1cb454) !important;
  border-radius:14px !important;
  box-shadow:0 14px 28px rgba(27,181,84,.20);
}
.faq-person-img{background:#f4f7ff !important; border-radius:22px !important;}

/* blocos escuros estratégicos mantidos */
.why-block,
.cta-bar{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

/* refinamento de espaçamentos */
.section-intro.compact{margin-bottom:34px !important;}
.section-intro.compact h2{font-size:clamp(28px,3vw,44px); line-height:1.08; letter-spacing:-.04em;}
.section-intro.compact p{color:var(--clean-muted);}

/* mobile refinado */
@media (max-width: 1100px){
  .plans-grid-wrap{grid-template-columns:1fr !important;}
  .plans-side{padding-top:6px !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width: 800px){
  .services,.portfolio,.testimonials,.process,.plans,.faq{padding-top:46px !important;padding-bottom:50px !important;}
  .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .steps-grid,.service-grid,.plans-grid,.testimonial-grid{grid-template-columns:1fr !important;}
  .plans-side{grid-template-columns:1fr !important;}
  .step-item::after{display:none !important;}
  .step-item{padding-top:28px !important;}
  .faq-grid{grid-template-columns:1fr !important;}
}
@media (max-width: 560px){
  .section-intro.compact h2{font-size:32px !important;}
  .service-card,.portfolio-card,.testimonial-card,.step-item,.plan-card,.faq-card{border-radius:22px !important;}
  .services,.portfolio,.testimonials,.process,.plans,.faq{padding-top:40px !important;padding-bottom:44px !important;}
  .service-card{padding:22px 20px !important;}
  .service-icon,.step-icon{width:66px !important;height:66px !important;border-radius:20px !important;}
  .portfolio-grid{grid-template-columns:1fr !important;}
  .portfolio-info{padding:16px 16px 18px !important;}
  .step-item{padding:24px 16px 20px !important;}
  .plan-price{font-size:44px !important;}
  .plans-side .side-feature{padding:16px 14px !important;}
  .faq-card{grid-template-columns:1fr !important;}
  .faq-text{padding:24px 20px !important;}
}

/* === AJUSTE FINO: seção soluções mais espaçada e alinhada === */
.services#servicos .container{
  max-width: 1320px;
}
.services#servicos .section-intro.compact{
  max-width: 980px;
  margin: 0 auto 38px !important;
  text-align: center;
}
.services#servicos .section-intro.compact h2{
  margin: 10px auto 0 !important;
  max-width: 1040px;
  line-height: 1.08;
}
.services#servicos .service-grid{
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.services#servicos .service-card{
  min-height: 382px;
  padding: 28px 24px 28px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.services#servicos .service-icon{
  margin-bottom: 18px !important;
}
.services#servicos .service-card h3{
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 14px !important;
}
.services#servicos .service-card p{
  flex: 1 1 auto;
  min-height: 138px;
  max-width: 220px;
  margin: 0 auto 18px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.services#servicos .service-card a{
  margin-top: auto;
  min-width: 168px;
  height: 40px !important;
  padding: 0 18px !important;
}

@media (max-width: 1200px){
  .services#servicos .service-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  .services#servicos .service-card{
    min-height: 360px;
  }
  .services#servicos .service-card p{
    min-height: 110px;
    max-width: 100%;
  }
}

@media (max-width: 900px){
  .services#servicos .section-intro.compact{
    margin-bottom: 28px !important;
  }
  .services#servicos .service-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
  .services#servicos .service-card{
    min-height: 340px;
    padding: 24px 20px !important;
  }
  .services#servicos .service-card h3{
    min-height: auto;
  }
  .services#servicos .service-card p{
    min-height: auto;
  }
}

@media (max-width: 560px){
  .services#servicos .service-grid{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .services#servicos .service-card{
    min-height: auto;
    padding: 22px 18px !important;
  }
  .services#servicos .service-card p{
    max-width: 100%;
    margin-bottom: 16px !important;
  }
  .services#servicos .service-card a{
    width: 100%;
    min-width: 0;
  }
}

/* === AJUSTE FINO: seção processo mais alinhada e espaçada === */
.process .container{
  max-width: 1320px;
}
.process .section-intro.compact{
  max-width: 980px;
  margin: 0 auto 40px !important;
  text-align: center;
}
.process .section-intro.compact h2{
  margin: 14px auto 0 !important;
  max-width: 980px;
  line-height: 1.08;
}
.process .steps-grid{
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin-top: 10px !important;
  overflow: visible !important;
}
.process .step-item{
  min-height: 276px;
  padding: 34px 22px 26px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: visible !important;
}
.process .step-item::after{
  top: 52px !important;
  left: calc(50% + 56px) !important;
  width: calc(100% - 112px) !important;
}
.process .step-num{
  top: -14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 30px !important;
  height: 30px !important;
  font-size: 12px !important;
  border: 2px solid #fff !important;
  box-shadow: 0 12px 24px rgba(79,104,255,.20) !important;
}
.process .step-icon{
  width: 76px !important;
  height: 76px !important;
  margin: 2px auto 18px !important;
}
.process .step-item h3{
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 12px !important;
  text-align: center;
}
.process .step-item p{
  max-width: 205px;
  min-height: 92px;
  margin: 0 auto !important;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
}

@media (max-width: 1200px){
  .process .steps-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  .process .step-item{
    min-height: 258px;
  }
  .process .step-item:nth-child(3)::after{
    display: none !important;
  }
}

@media (max-width: 900px){
  .process .section-intro.compact{
    margin-bottom: 30px !important;
  }
  .process .steps-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
  .process .step-item{
    min-height: 245px;
    padding: 30px 18px 22px !important;
  }
  .process .step-item::after{
    display: none !important;
  }
  .process .step-item h3{
    min-height: auto;
  }
  .process .step-item p{
    min-height: auto;
    max-width: 100%;
  }
}

@media (max-width: 560px){
  .process .steps-grid{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .process .step-item{
    min-height: auto;
    padding: 28px 18px 20px !important;
  }
  .process .step-icon{
    width: 72px !important;
    height: 72px !important;
    margin-bottom: 16px !important;
  }
}

/* === AJUSTE FINO: seção de planos mais alinhada e espaçada === */
.plans .container{
  max-width: 1320px;
}
.plans .section-intro.compact.white.leftish{
  max-width: 880px;
  margin-bottom: 34px !important;
}
.plans .section-intro.compact.white.leftish h2{
  line-height: 1.06 !important;
  letter-spacing: -0.04em !important;
}
.plans-grid-wrap{
  grid-template-columns: minmax(0,1.22fr) minmax(260px,.48fr) !important;
  gap: 28px !important;
  align-items: start !important;
}
.plans-main{
  min-width: 0;
}
.plans-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.plan-card{
  min-height: 610px;
  padding: 28px 22px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.plan-card h3{
  font-size: 28px !important;
  line-height: 1.02 !important;
  margin: 6px 0 10px !important;
}
.plan-desc{
  min-height: 64px;
  margin: 0 0 20px !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
}
.plan-price{
  font-size: clamp(52px, 4.3vw, 66px) !important;
  line-height: .92 !important;
  letter-spacing: -0.055em !important;
  margin: 0 0 8px !important;
  word-break: break-word;
}
.plan-note{
  min-height: 34px;
  margin-bottom: 18px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.plan-card ul{
  margin: 0 0 22px !important;
  gap: 12px !important;
}
.plan-card li{
  font-size: 15px !important;
  line-height: 1.5 !important;
  padding-left: 20px !important;
}
.plan-card a{
  min-height: 48px !important;
  margin-top: auto !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.plan-card.featured{
  transform: translateY(-6px) !important;
}
.plan-card.featured h3{
  margin-top: 14px !important;
}
.plan-badge{
  height: 30px !important;
  font-size: 12px !important;
  letter-spacing: .02em !important;
}

.plans-side{
  padding-top: 72px !important;
  gap: 18px !important;
}
.side-feature{
  min-height: 104px;
  padding: 20px 18px !important;
  gap: 14px !important;
  align-items: flex-start !important;
}
.side-feature i{
  width: 44px !important;
  height: 44px !important;
  font-size: 14px !important;
  flex: none !important;
}
.side-feature h4{
  margin: 0 0 6px !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
}
.side-feature p{
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

@media (max-width: 1200px){
  .plans-grid-wrap{
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .plans-side{
    padding-top: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .plan-card{
    min-height: 590px;
  }
}

@media (max-width: 900px){
  .plans .section-intro.compact.white.leftish{
    margin-bottom: 28px !important;
  }
  .plans-grid{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .plan-card{
    min-height: auto;
    padding: 24px 18px 20px !important;
  }
  .plan-desc,
  .plan-note{
    min-height: auto;
  }
  .plans-side{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .side-feature{
    min-height: auto;
    padding: 18px 16px !important;
  }
}

@media (max-width: 560px){
  .plan-price{
    font-size: 48px !important;
  }
  .plan-card h3{
    font-size: 24px !important;
  }
  .plan-card li,
  .side-feature p{
    font-size: 14px !important;
  }
}


/* === AJUSTE FINO: depoimentos mais alinhados e premium clean === */
.testimonials .container{
  max-width: 1220px;
}
.testimonials .section-intro.compact{
  max-width: 880px;
  margin: 0 auto 34px !important;
  text-align: center;
}
.testimonials .section-intro.compact h2{
  max-width: 900px;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.08 !important;
}
.testimonial-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.testimonial-card{
  min-height: 238px;
  padding: 28px 26px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}
.testimonial-card p{
  margin: 0 !important;
  min-height: 112px;
  display: flex;
  align-items: flex-start;
}
.person-row{
  margin-top: 22px !important;
}
.person-row img{
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  object-fit: cover;
  box-shadow: 0 10px 20px rgba(8,18,45,.08);
}
.slider-dots{
  margin-top: 24px !important;
}

/* === AJUSTE FINO: FAQ mais alinhada, espaçada e comercial === */
.faq .container{
  max-width: 1220px;
}
.faq .section-intro.compact{
  max-width: 900px;
  margin: 0 auto 36px !important;
  text-align: center;
}
.faq .section-intro.compact h2{
  max-width: 940px;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.08 !important;
}
.faq-grid{
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .74fr) !important;
  gap: 32px !important;
  align-items: stretch !important;
}
.faq-list{
  display: grid;
  gap: 14px;
}
.faq-list details{
  margin: 0 !important;
  overflow: hidden;
}
.faq-list summary{
  min-height: 62px;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px;
  font-size: 15px !important;
  line-height: 1.35 !important;
  cursor: pointer;
}
.faq-list summary::after{
  flex: none;
}
.faq-list p{
  font-size: 14px !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}
.faq-card{
  min-height: 100%;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 210px !important;
  align-items: center !important;
  gap: 22px !important;
  padding: 30px 26px !important;
}
.faq-text h3{
  font-size: 32px !important;
  line-height: 1.05 !important;
  margin: 0 0 12px !important;
}
.faq-text p{
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 0 20px !important;
}
.faq-text a{
  min-width: 210px;
  min-height: 48px !important;
}
.faq-person-img{
  width: 210px !important;
  height: 280px !important;
  object-fit: cover !important;
  object-position: center bottom !important;
  justify-self: end;
}

/* Mobile para depoimentos e FAQ */
@media (max-width: 1100px){
  .testimonial-grid{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .testimonial-card{
    min-height: auto;
  }
  .testimonial-card p{
    min-height: auto;
  }
  .faq-grid{
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .faq-card{
    grid-template-columns: minmax(0, 1fr) 180px !important;
  }
  .faq-person-img{
    width: 180px !important;
    height: 240px !important;
  }
}
@media (max-width: 700px){
  .testimonials .section-intro.compact,
  .faq .section-intro.compact{
    margin-bottom: 26px !important;
  }
  .testimonial-card{
    padding: 22px 18px 20px !important;
  }
  .faq-list{
    gap: 12px;
  }
  .faq-list summary{
    min-height: auto;
    padding: 18px 18px !important;
    font-size: 14px !important;
  }
  .faq-list p{
    padding: 0 18px 18px !important;
  }
  .faq-card{
    grid-template-columns: 1fr !important;
    padding: 24px 20px 22px !important;
    text-align: left !important;
  }
  .faq-text h3{
    font-size: 28px !important;
  }
  .faq-text a{
    width: 100%;
    min-width: 0;
  }
  .faq-person-img{
    width: 190px !important;
    height: 230px !important;
    justify-self: center;
    order: -1;
  }
}


/* === AJUSTE FINO: valores da seção de planos menores e mais equilibrados === */
.plan-price{
  font-size: clamp(42px, 3.25vw, 54px) !important;
  line-height: .94 !important;
  letter-spacing: -0.05em !important;
}
.plan-card:nth-child(3) .plan-price{
  font-size: clamp(34px, 2.7vw, 46px) !important;
  line-height: .96 !important;
}
@media (max-width: 900px){
  .plan-price{
    font-size: 46px !important;
  }
  .plan-card:nth-child(3) .plan-price{
    font-size: 40px !important;
  }
}
@media (max-width: 560px){
  .plan-price{
    font-size: 40px !important;
  }
  .plan-card:nth-child(3) .plan-price{
    font-size: 36px !important;
  }
}


/* === AJUSTE FINO: botões da seção de soluções sem quebra de linha === */
.services#servicos .service-card a{
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  min-width: 194px !important;
  width: fit-content;
  max-width: 100%;
  font-size: 12.5px !important;
  line-height: 1 !important;
  text-align: center !important;
}
@media (max-width: 1200px){
  .services#servicos .service-card a{
    min-width: 186px !important;
    font-size: 12px !important;
  }
}
@media (max-width: 560px){
  .services#servicos .service-card a{
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    font-size: 12px !important;
  }
}


/* Ajuste fino: mais respiro interno na seção escura 'Por que escolher' */
.why-block .container.why-grid{
  padding-left: 28px !important;
  padding-right: 28px !important;
}
.why-copy{
  padding-left: 14px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.why-copy .section-mini,
.why-copy h2,
.why-copy p,
.why-copy ul{
  max-width: 540px;
}
@media (max-width: 900px){
  .why-block .container.why-grid{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .why-copy{
    padding-left: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
@media (max-width: 560px){
  .why-block .container.why-grid{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* CTA final — ícone no padrão visual do site */
.cta-left{align-items:center}
.cta-icon{
  position:relative;
  width:64px !important;
  height:64px !important;
  min-width:64px;
  border-radius:20px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#57a2ff;
  background:linear-gradient(180deg,rgba(8,22,58,.96) 0%,rgba(4,14,40,.98) 100%) !important;
  border:1px solid rgba(92,142,255,.28) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), inset 0 -10px 20px rgba(0,0,0,.28), 0 10px 30px rgba(0,25,90,.22), 0 0 0 1px rgba(32,103,255,.08) !important;
  overflow:hidden;
}
.cta-icon::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:18px;
  background:radial-gradient(circle at 30% 25%,rgba(52,123,255,.22),transparent 42%), radial-gradient(circle at 75% 78%,rgba(13,79,255,.18),transparent 38%);
  pointer-events:none;
}
.cta-icon::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:8px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(88,131,255,0),rgba(88,131,255,.8),rgba(88,131,255,0));
  opacity:.95;
  pointer-events:none;
}
.cta-icon svg{
  position:relative;
  z-index:1;
  width:30px;
  height:30px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 6px rgba(57,131,255,.18));
}
@media (max-width:800px){
  .cta-icon{width:58px !important;height:58px !important;min-width:58px;border-radius:18px !important;}
  .cta-icon::before{border-radius:16px}
  .cta-icon svg{width:28px;height:28px}
}
/* =========================================================
   RODADA FINAL — CONVERSÃO + ESPAÇAMENTO DESKTOP/MOBILE
   Objetivo: hero escura forte, seções clean compactas e CTAs vendedores
   ========================================================= */

/* Header */
.topbar{
  box-shadow: 0 10px 26px rgba(0,8,35,.14);
}
.navbar{
  min-height: 70px;
}
.header-btn{
  white-space: nowrap;
}

/* Hero: imagem sem roubar espaço demais */
.hero-banner-section{
  padding: 16px 0 28px !important;
  background: linear-gradient(180deg,#fff 0%,#f7faff 100%) !important;
}
.hero-banner-section .container{
  max-width: 1180px !important;
}
.hero-banner-img{
  border-radius: 26px !important;
  box-shadow: 0 24px 58px rgba(3,12,38,.16) !important;
}

/* Ritmo geral das seções */
.services,
.portfolio,
.testimonials,
.process,
.plans,
.faq{
  padding-top: 58px !important;
  padding-bottom: 58px !important;
}
.section-intro.compact{
  margin-bottom: 32px !important;
}
.section-intro.compact h2{
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
}

/* Serviços: mais compacto e sem "esticado" */
.services#servicos{
  padding-top: 58px !important;
  padding-bottom: 50px !important;
}
.services#servicos .container{
  max-width: 1180px !important;
}
.services#servicos .section-intro.compact{
  margin-bottom: 30px !important;
}
.services#servicos .service-grid{
  gap: 20px !important;
}
.services#servicos .service-card{
  min-height: 318px !important;
  padding: 22px 18px 20px !important;
}
.services#servicos .service-icon{
  width: 62px !important;
  height: 62px !important;
  border-radius: 19px !important;
  margin-bottom: 16px !important;
}
.services#servicos .service-icon svg{
  width: 30px !important;
  height: 30px !important;
}
.services#servicos .service-card h3{
  font-size: 18px !important;
  min-height: 48px !important;
  margin-bottom: 8px !important;
  line-height: 1.12 !important;
}
.services#servicos .service-card p{
  min-height: 108px !important;
  max-width: 205px !important;
  font-size: 13.2px !important;
  line-height: 1.54 !important;
  margin-bottom: 14px !important;
}
.services#servicos .service-card a{
  height: 38px !important;
  min-width: 184px !important;
  font-size: 11.8px !important;
  white-space: nowrap !important;
  padding: 0 12px !important;
}

/* Bloco escuro estratégico: mais respiro e título menos colado */
.why-block{
  padding: 58px 0 !important;
  background:
    radial-gradient(circle at 78% 10%,rgba(63,97,255,.20),transparent 22%),
    linear-gradient(180deg,#061735 0%,#020916 100%) !important;
}
.why-block::before{
  width: min(1180px,calc(100% - 54px)) !important;
  top: 18px !important;
  height: calc(100% - 36px) !important;
  border-radius: 30px !important;
}
.why-block .container.why-grid{
  max-width: 1120px !important;
  padding-left: 34px !important;
  padding-right: 34px !important;
  gap: 44px !important;
}
.why-copy{
  padding-left: 18px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}
.why-copy h2{
  font-size: clamp(40px,4.4vw,60px) !important;
  line-height: .98 !important;
  margin-bottom: 20px !important;
  max-width: 520px !important;
}
.why-copy p{
  max-width: 520px !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
}
.why-copy ul{
  max-width: 520px !important;
  margin-top: 18px !important;
  gap: 9px !important;
}
.why-copy li{
  font-size: 14px !important;
}
.why-visual img{
  border-radius: 22px !important;
}

/* Portfólio: menos espaço morto antes dos depoimentos */
.portfolio{
  padding-top: 58px !important;
  padding-bottom: 42px !important;
}
.portfolio .container{
  max-width: 1180px !important;
}
.portfolio .section-intro.compact{
  margin-bottom: 24px !important;
}
.portfolio-filters{
  margin-bottom: 26px !important;
}
.portfolio-grid{
  gap: 20px !important;
}
.thumb{
  height: 156px !important;
}
.portfolio-info{
  padding: 16px 18px 18px !important;
}
.portfolio-action{
  margin-top: 28px !important;
}

/* Depoimentos: conteúdo mais forte e cards mais equilibrados */
.testimonials{
  padding-top: 46px !important;
  padding-bottom: 56px !important;
}
.testimonials .container{
  max-width: 1180px !important;
}
.testimonials .section-intro.compact{
  margin-bottom: 30px !important;
}
.testimonial-grid{
  gap: 20px !important;
}
.testimonial-card{
  min-height: 206px !important;
  padding: 24px 24px 22px !important;
}
.testimonial-card p{
  min-height: 82px !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}
.person-row{
  margin-top: 18px !important;
}
.slider-dots{
  margin-top: 20px !important;
}

/* Processo: discreto e alinhado */
.process{
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.process .container{
  max-width: 1180px !important;
}
.process .section-intro.compact{
  margin-bottom: 30px !important;
}
.process .steps-grid{
  gap: 20px !important;
}
.process .step-item{
  min-height: 246px !important;
  padding: 30px 18px 22px !important;
}
.process .step-num{
  width: 28px !important;
  height: 28px !important;
  font-size: 11px !important;
}
.process .step-icon{
  width: 66px !important;
  height: 66px !important;
  margin-bottom: 16px !important;
}
.process .step-icon svg{
  width: 28px !important;
  height: 28px !important;
}
.process .step-item h3{
  min-height: 30px !important;
  margin-bottom: 10px !important;
}
.process .step-item p{
  min-height: 72px !important;
  font-size: 13.3px !important;
  line-height: 1.55 !important;
}

/* Planos: mais vendedor, mais compacto, profissional destacado sem ficar pesado */
.plans{
  padding-top: 56px !important;
  padding-bottom: 58px !important;
}
.plans .container{
  max-width: 1180px !important;
}
.plans .section-intro.compact.white.leftish{
  margin-bottom: 28px !important;
}
.plans-grid-wrap{
  grid-template-columns: minmax(0,1fr) 320px !important;
  gap: 28px !important;
}
.plans-grid{
  gap: 18px !important;
}
.plan-card{
  min-height: 518px !important;
  padding: 24px 20px 20px !important;
}
.plan-card.featured{
  transform: translateY(-5px) !important;
  box-shadow: 0 22px 46px rgba(76,100,255,.16) !important;
}
.plan-badge{
  height: 29px !important;
}
.plan-card h3{
  font-size: 26px !important;
  line-height: 1.05 !important;
}
.plan-desc{
  min-height: 54px !important;
  font-size: 13.5px !important;
}
.plan-price{
  font-size: clamp(38px,2.8vw,48px) !important;
  margin-top: 4px !important;
}
.plan-card:nth-child(3) .plan-price{
  font-size: clamp(32px,2.35vw,40px) !important;
  line-height: .98 !important;
}
.plan-note{
  min-height: 30px !important;
  font-size: 12.8px !important;
}
.plan-card ul{
  gap: 9px !important;
  margin-bottom: 18px !important;
}
.plan-card li{
  font-size: 13.6px !important;
  line-height: 1.4 !important;
}
.plan-card a{
  min-height: 44px !important;
  font-size: 13.5px !important;
}
.plans-side{
  padding-top: 62px !important;
  gap: 14px !important;
}
.side-feature{
  min-height: 90px !important;
  padding: 16px 15px !important;
}
.side-feature i{
  width: 40px !important;
  height: 40px !important;
}
.side-feature h4{
  font-size: 16px !important;
  margin-bottom: 4px !important;
}
.side-feature p{
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* FAQ: lateral mais premium e seção compacta */
.faq{
  padding-top: 56px !important;
  padding-bottom: 54px !important;
}
.faq .container{
  max-width: 1180px !important;
}
.faq .section-intro.compact{
  margin-bottom: 30px !important;
}
.faq-grid{
  grid-template-columns: minmax(0,1fr) 450px !important;
  gap: 28px !important;
}
.faq-list{
  gap: 11px !important;
}
.faq-list summary{
  min-height: 60px !important;
  font-size: 14.5px !important;
}
.faq-list p{
  font-size: 13.8px !important;
}
.faq-card{
  grid-template-columns: minmax(0,1fr) 190px !important;
  padding: 28px 24px !important;
  background:
    radial-gradient(circle at 15% 5%,rgba(76,100,255,.10),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%) !important;
  box-shadow: 0 22px 48px rgba(8,18,45,.10) !important;
}
.faq-text h3{
  font-size: 29px !important;
  line-height: 1.06 !important;
}
.faq-text p{
  font-size: 14.5px !important;
  line-height: 1.58 !important;
}
.faq-person-img{
  width: 190px !important;
  height: 260px !important;
}

/* CTA final: direto para conversão */
.cta-bar{
  padding-top: 0 !important;
  padding-bottom: 34px !important;
}
.cta-inner{
  max-width: 1180px !important;
  padding: 22px 28px !important;
  gap: 20px !important;
}
.cta-left{
  gap: 16px !important;
}
.cta-left h3{
  font-size: 26px !important;
  line-height: 1.15 !important;
}
.cta-left p{
  font-size: 14.5px !important;
}
.cta-white{
  white-space: nowrap !important;
}

/* Rodapé um pouco mais compacto */
.footer{
  padding-top: 28px !important;
}
.footer-grid{
  padding-bottom: 22px !important;
}

/* Mobile */
@media (max-width: 1200px){
  .services#servicos .service-grid,
  .process .steps-grid{
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  .plans-grid-wrap,
  .faq-grid{
    grid-template-columns: 1fr !important;
  }
  .plans-side{
    padding-top: 0 !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width: 900px){
  .hero-banner-section{
    padding: 12px 0 20px !important;
  }
  .services#servicos .service-grid,
  .process .steps-grid,
  .portfolio-grid{
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .why-block .container.why-grid{
    grid-template-columns: 1fr !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  .why-copy{
    padding-left: 0 !important;
  }
  .why-copy h2{
    font-size: 42px !important;
  }
  .services#servicos .service-card,
  .process .step-item,
  .plan-card{
    min-height: auto !important;
  }
  .services#servicos .service-card p,
  .process .step-item p,
  .plan-desc,
  .plan-note{
    min-height: auto !important;
  }
  .plans-grid{
    grid-template-columns: 1fr !important;
  }
  .plans-side{
    grid-template-columns: 1fr !important;
  }
  .faq-card{
    grid-template-columns: 1fr !important;
  }
  .faq-person-img{
    justify-self: center !important;
  }
  .cta-inner{
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .cta-left{
    align-items: flex-start !important;
  }
}
@media (max-width: 560px){
  .navbar{
    min-height: 64px;
  }
  .logo img{
    max-width: 205px;
  }
  .header-btn{
    height: 40px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
  }
  .services#servicos,
  .portfolio,
  .testimonials,
  .process,
  .plans,
  .faq{
    padding-top: 40px !important;
    padding-bottom: 42px !important;
  }
  .services#servicos .service-grid,
  .process .steps-grid,
  .portfolio-grid{
    grid-template-columns: 1fr !important;
  }
  .section-intro.compact h2{
    font-size: 30px !important;
  }
  .why-copy h2{
    font-size: 34px !important;
  }
  .thumb{
    height: 168px !important;
  }
  .plan-price{
    font-size: 38px !important;
  }
  .plan-card:nth-child(3) .plan-price{
    font-size: 34px !important;
  }
  .faq-person-img{
    width: 180px !important;
    height: 220px !important;
  }
  .cta-inner{
    padding: 20px !important;
  }
}

/* =========================================================
   AJUSTE FINAL MOBILE — botão WhatsApp, header, hero e seções
   ========================================================= */

/* Botão flutuante: no mobile vira bolinha pequena para não cobrir conteúdo */
.mobile-float-whatsapp{
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  right: 14px !important;
  bottom: 14px !important;
  font-size: 0 !important;
  box-shadow: 0 16px 34px rgba(20,145,73,.28) !important;
}
.mobile-float-whatsapp span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size: 28px;
  line-height: 1;
  color:#fff;
  transform: rotate(-8deg);
}
.mobile-float-whatsapp::before{
  content:"";
  position:absolute;
  inset:9px;
  border:2px solid rgba(255,255,255,.92);
  border-radius:50%;
  pointer-events:none;
}
.mobile-float-whatsapp::after{
  content:"";
  position:absolute;
  width:9px;
  height:9px;
  right:10px;
  bottom:9px;
  border-radius:2px;
  background:#fff;
  transform:rotate(35deg);
  pointer-events:none;
}

/* Ajustes gerais mobile */
@media (max-width: 700px){

  body{
    overflow-x:hidden;
  }

  .container{
    width: min(var(--container), calc(100% - 24px)) !important;
  }

  /* Header mais baixo e menos invasivo */
  .topbar{
    position: sticky;
    top: 0;
    z-index: 60;
  }
  .navbar{
    min-height: 58px !important;
    padding: 8px 0 !important;
    gap: 10px !important;
  }
  .logo img{
    max-width: 192px !important;
    height: 34px !important;
    object-fit: contain !important;
  }
  .nav-menu{
    display:none !important;
  }
  .header-btn{
    height: 38px !important;
    min-width: 122px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* Hero imagem mais compacta no mobile */
  .hero-banner-section{
    padding: 10px 0 18px !important;
  }
  .hero-banner-section .container{
    width: min(100%, 375px) !important;
  }
  .hero-banner-img{
    border-radius: 18px !important;
    width: 100% !important;
    max-height: 545px !important;
    object-fit: cover !important;
    object-position: top center !important;
    box-shadow: 0 16px 34px rgba(3,12,38,.16) !important;
  }

  /* Títulos mobile menores e com melhor quebra */
  .section-mini{
    font-size: 10.5px !important;
    letter-spacing: .17em !important;
    margin-bottom: 8px !important;
  }
  .section-intro.compact{
    margin-bottom: 24px !important;
  }
  .section-intro.compact h2,
  .services#servicos .section-intro.compact h2,
  .portfolio .section-intro.compact h2,
  .testimonials .section-intro.compact h2,
  .process .section-intro.compact h2,
  .plans .section-intro.compact h2,
  .faq .section-intro.compact h2{
    font-size: 27px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
  }

  /* Seções mais compactas */
  .services#servicos,
  .portfolio,
  .testimonials,
  .process,
  .plans,
  .faq{
    padding-top: 34px !important;
    padding-bottom: 38px !important;
  }

  /* Soluções mobile: cards menos altos */
  .services#servicos .service-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .services#servicos .service-card{
    min-height: auto !important;
    padding: 20px 18px 18px !important;
    border-radius: 20px !important;
  }
  .services#servicos .service-icon{
    width: 56px !important;
    height: 56px !important;
    border-radius: 17px !important;
    margin-bottom: 14px !important;
  }
  .services#servicos .service-icon svg{
    width: 27px !important;
    height: 27px !important;
  }
  .services#servicos .service-card h3{
    min-height: auto !important;
    font-size: 18px !important;
    margin-bottom: 10px !important;
  }
  .services#servicos .service-card p{
    min-height: auto !important;
    max-width: 250px !important;
    font-size: 13.5px !important;
    line-height: 1.52 !important;
    margin-bottom: 14px !important;
  }
  .services#servicos .service-card a{
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    font-size: 12px !important;
  }

  /* Bloco escuro: título menor e mais respiro */
  .why-block{
    padding: 34px 0 38px !important;
  }
  .why-block::before{
    width: calc(100% - 20px) !important;
    height: calc(100% - 24px) !important;
    top: 12px !important;
    border-radius: 24px !important;
  }
  .why-block .container.why-grid{
    width: min(var(--container), calc(100% - 34px)) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    gap: 24px !important;
  }
  .why-copy{
    padding: 0 !important;
  }
  .why-copy h2{
    font-size: 32px !important;
    line-height: 1.02 !important;
    letter-spacing: -0.05em !important;
    margin-bottom: 16px !important;
  }
  .why-copy p{
    font-size: 14.5px !important;
    line-height: 1.58 !important;
  }
  .why-copy ul{
    gap: 8px !important;
    margin-top: 16px !important;
  }
  .why-copy li{
    font-size: 13px !important;
    line-height: 1.42 !important;
  }
  .why-visual img{
    border-radius: 18px !important;
  }

  /* Portfólio mobile */
  .portfolio{
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
  .portfolio-filters{
    margin-bottom: 20px !important;
    gap: 8px !important;
  }
  .portfolio-filters button{
    height: 38px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }
  .portfolio-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .portfolio-card{
    border-radius: 20px !important;
  }
  .thumb{
    height: 150px !important;
  }
  .portfolio-info{
    padding: 14px 16px 16px !important;
  }
  .portfolio-info h3{
    font-size: 18px !important;
  }
  .portfolio-action{
    margin-top: 22px !important;
  }

  /* Depoimentos */
  .testimonials{
    padding-top: 34px !important;
    padding-bottom: 36px !important;
  }
  .testimonial-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .testimonial-card{
    min-height: auto !important;
    padding: 20px 18px !important;
    border-radius: 20px !important;
  }
  .testimonial-card p{
    min-height: auto !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
  }
  .person-row{
    margin-top: 16px !important;
  }

  /* Processo */
  .process{
    padding-top: 34px !important;
    padding-bottom: 36px !important;
  }
  .process .steps-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .process .step-item{
    min-height: auto !important;
    padding: 22px 18px 18px !important;
    border-radius: 20px !important;
  }
  .process .step-icon{
    width: 58px !important;
    height: 58px !important;
    border-radius: 17px !important;
    margin-bottom: 14px !important;
  }
  .process .step-item h3{
    min-height: auto !important;
    font-size: 18px !important;
    margin-bottom: 8px !important;
  }
  .process .step-item p{
    min-height: auto !important;
    font-size: 13.5px !important;
    line-height: 1.52 !important;
  }

  /* Planos */
  .plans{
    padding-top: 34px !important;
    padding-bottom: 38px !important;
  }
  .plans-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .plan-card{
    min-height: auto !important;
    padding: 22px 20px 18px !important;
    border-radius: 20px !important;
  }
  .plan-card.featured{
    transform: none !important;
  }
  .plan-card h3{
    font-size: 24px !important;
  }
  .plan-desc,
  .plan-note{
    min-height: auto !important;
  }
  .plan-price{
    font-size: 36px !important;
    line-height: .98 !important;
  }
  .plan-card:nth-child(3) .plan-price{
    font-size: 32px !important;
  }
  .plan-card ul{
    gap: 8px !important;
  }
  .plan-card li{
    font-size: 13.5px !important;
  }
  .plan-card a{
    min-height: 42px !important;
  }
  .plans-side{
    gap: 12px !important;
  }
  .side-feature{
    min-height: auto !important;
    padding: 15px 14px !important;
  }

  /* FAQ */
  .faq{
    padding-top: 34px !important;
    padding-bottom: 36px !important;
  }
  .faq-grid{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .faq-list{
    gap: 10px !important;
  }
  .faq-list summary{
    min-height: auto !important;
    padding: 16px 16px !important;
    font-size: 13.8px !important;
  }
  .faq-list p{
    padding: 0 16px 16px !important;
    font-size: 13.3px !important;
  }
  .faq-card{
    grid-template-columns: 1fr !important;
    padding: 22px 18px !important;
    border-radius: 20px !important;
  }
  .faq-text h3{
    font-size: 25px !important;
  }
  .faq-text p{
    font-size: 13.8px !important;
  }
  .faq-person-img{
    width: 165px !important;
    height: 200px !important;
    justify-self: center !important;
  }

  /* CTA final e footer */
  .cta-bar{
    padding-bottom: 28px !important;
  }
  .cta-inner{
    padding: 18px !important;
    border-radius: 20px !important;
    gap: 14px !important;
  }
  .cta-left h3{
    font-size: 22px !important;
  }
  .cta-left p{
    font-size: 13.5px !important;
  }
  .cta-icon{
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
  }
  .cta-white{
    width: 100% !important;
    min-height: 44px !important;
  }
  .footer{
    padding-top: 24px !important;
    padding-bottom: 74px !important;
  }
  .footer-grid{
    gap: 22px !important;
  }
}

/* Extra para telas muito estreitas como 360–390px */
@media (max-width: 390px){
  .logo img{
    max-width: 184px !important;
  }
  .header-btn{
    min-width: 116px !important;
    font-size: 10.5px !important;
  }
  .section-intro.compact h2,
  .services#servicos .section-intro.compact h2,
  .portfolio .section-intro.compact h2,
  .testimonials .section-intro.compact h2,
  .process .section-intro.compact h2,
  .plans .section-intro.compact h2,
  .faq .section-intro.compact h2{
    font-size: 25px !important;
  }
  .mobile-float-whatsapp{
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    right: 12px !important;
    bottom: 12px !important;
  }
}



/* =========================================================
   AJUSTE GLOBAL — botões menos arredondados em todo o site
   ========================================================= */
a[class*="btn"],
button,
.header-btn,
.primary-btn,
.secondary-btn,
.mini-outline-btn,
.cta-white,
.faq-text a,
.plan-card a,
.service-card a,
.portfolio .mini-outline-btn,
.services#servicos .service-card a,
.mobile-float-whatsapp{
  border-radius: 10px !important;
}

/* Botões grandes principais */
.header-btn,
.primary-btn,
.secondary-btn,
.cta-white,
.faq-text a,
.plan-card a,
.service-card a,
.services#servicos .service-card a{
  border-radius: 10px !important;
}

/* Filtros podem ficar levemente arredondados, mas sem estilo cápsula exagerado */
.portfolio-filters button{
  border-radius: 10px !important;
}

/* Botão flutuante do WhatsApp: mantém visível, mas menos arredondado */
.mobile-float-whatsapp{
  border-radius: 16px !important;
}
.mobile-float-whatsapp::before{
  border-radius: 12px !important;
}
.mobile-float-whatsapp::after{
  border-radius: 2px !important;
}

/* Botões no mobile também menos arredondados */
@media (max-width: 700px){
  .header-btn,
  .primary-btn,
  .secondary-btn,
  .mini-outline-btn,
  .cta-white,
  .faq-text a,
  .plan-card a,
  .service-card a,
  .services#servicos .service-card a,
  .portfolio-filters button{
    border-radius: 9px !important;
  }
  .mobile-float-whatsapp{
    border-radius: 15px !important;
  }
}


/* =========================================================
   AJUSTE GLOBAL FINAL — botões com quina levemente quebrada
   ========================================================= */
button,
a[class*="btn"],
.header-btn,
.primary-btn,
.secondary-btn,
.mini-outline-btn,
.cta-white,
.faq-text a,
.plan-card a,
.service-card a,
.services#servicos .service-card a,
.portfolio .mini-outline-btn,
.portfolio-filters button,
.mobile-float-whatsapp,
.mobile-float-whatsapp::before,
.mobile-float-whatsapp::after{
  border-radius: 8px !important;
}

/* Garante que qualquer botão/CTA dentro do site fique com quina sutil */
a[href*="wa.me"],
a[href="#contato"],
a[href="#portfolio"],
a[href="#servicos"],
a[href="#planos"],
.cta-inner a,
.faq-card a,
.plan-card a,
.service-card a,
.portfolio-action a{
  border-radius: 8px !important;
}

/* Mobile também com quina discreta */
@media (max-width: 700px){
  button,
  a[class*="btn"],
  .header-btn,
  .primary-btn,
  .secondary-btn,
  .mini-outline-btn,
  .cta-white,
  .faq-text a,
  .plan-card a,
  .service-card a,
  .services#servicos .service-card a,
  .portfolio .mini-outline-btn,
  .portfolio-filters button,
  .mobile-float-whatsapp,
  .mobile-float-whatsapp::before,
  .mobile-float-whatsapp::after{
    border-radius: 8px !important;
  }
}


/* =========================================================
   AJUSTE GLOBAL FINAL — quina bem suave nos botões
   ========================================================= */
button,
a[class*="btn"],
.header-btn,
.primary-btn,
.secondary-btn,
.mini-outline-btn,
.cta-white,
.faq-text a,
.plan-card a,
.service-card a,
.services#servicos .service-card a,
.portfolio .mini-outline-btn,
.portfolio-filters button,
.mobile-float-whatsapp,
.mobile-float-whatsapp::before,
.mobile-float-whatsapp::after,
a[href*="wa.me"],
a[href="#contato"],
a[href="#portfolio"],
a[href="#servicos"],
a[href="#planos"],
.cta-inner a,
.faq-card a,
.portfolio-action a{
  border-radius: 4px !important;
}

/* Mobile também com quina bem discreta */
@media (max-width: 700px){
  button,
  a[class*="btn"],
  .header-btn,
  .primary-btn,
  .secondary-btn,
  .mini-outline-btn,
  .cta-white,
  .faq-text a,
  .plan-card a,
  .service-card a,
  .services#servicos .service-card a,
  .portfolio .mini-outline-btn,
  .portfolio-filters button,
  .mobile-float-whatsapp,
  .mobile-float-whatsapp::before,
  .mobile-float-whatsapp::after,
  a[href*="wa.me"],
  a[href="#contato"],
  a[href="#portfolio"],
  a[href="#servicos"],
  a[href="#planos"],
  .cta-inner a,
  .faq-card a,
  .portfolio-action a{
    border-radius: 4px !important;
  }
}


/* =========================================================
   CORREÇÃO FAQ — botão WhatsApp alinhado e sem ficar atrás da imagem
   ========================================================= */
.faq-card{
  grid-template-columns: minmax(0,1fr) 220px !important;
  align-items: center !important;
  column-gap: 18px !important;
}

.faq-text{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 28px 24px 28px 24px !important;
  min-width: 0 !important;
}

.faq-text h3{
  margin: 0 !important;
}

.faq-text p{
  margin: 0 !important;
  max-width: 100% !important;
}

.faq-text a{
  width: auto !important;
  min-width: 210px !important;
  align-self: flex-start !important;
  justify-content: center !important;
  margin-top: 4px !important;
  position: relative !important;
  z-index: 2 !important;
}

.faq-person-img,
.faq-card img.faq-person-img{
  width: 200px !important;
  height: 260px !important;
  justify-self: end !important;
  align-self: end !important;
  object-fit: contain !important;
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 700px){
  .faq-card{
    grid-template-columns: 1fr !important;
    row-gap: 14px !important;
  }

  .faq-text{
    padding: 22px 18px 6px 18px !important;
  }

  .faq-text a{
    width: 100% !important;
    min-width: 0 !important;
  }

  .faq-person-img,
  .faq-card img.faq-person-img{
    width: 180px !important;
    height: 220px !important;
    margin: 0 auto !important;
    justify-self: center !important;
    align-self: center !important;
  }
}


/* =========================================================
   AJUSTE VISUAL — TÍTULO DA SEÇÃO PROCESSO
   ========================================================= */
.process .section-mini{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 16px 8px 16px !important;
  min-height: auto !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #4f6cff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.process .section-mini::before{
  content: "" !important;
  width: 26px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,#8ca0ff 0%,#4f6cff 100%) !important;
  box-shadow: none !important;
}

.process .section-mini::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 86px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg,rgba(79,108,255,0) 0%,rgba(79,108,255,.95) 50%,rgba(79,108,255,0) 100%);
}

@media (max-width: 700px){
  .process .section-mini{
    font-size: 11px !important;
    letter-spacing: .14em !important;
    padding: 0 12px 7px 12px !important;
    gap: 8px !important;
  }

  .process .section-mini::before{
    width: 20px !important;
  }

  .process .section-mini::after{
    width: 68px !important;
  }
}


/* =========================================================
   AJUSTE VISUAL — TÍTULO DA SEÇÃO SERVIÇOS
   ========================================================= */
.services .section-mini{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 16px 8px 16px !important;
  min-height: auto !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #4f6cff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.services .section-mini::before{
  content: "" !important;
  width: 26px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,#8ca0ff 0%,#4f6cff 100%) !important;
  box-shadow: none !important;
}

.services .section-mini::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 86px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg,rgba(79,108,255,0) 0%,rgba(79,108,255,.95) 50%,rgba(79,108,255,0) 100%);
}

@media (max-width: 700px){
  .services .section-mini{
    font-size: 11px !important;
    letter-spacing: .14em !important;
    padding: 0 12px 7px 12px !important;
    gap: 8px !important;
  }

  .services .section-mini::before{
    width: 20px !important;
  }

  .services .section-mini::after{
    width: 68px !important;
  }
}


/* =========================================================
   BOTÕES DOS CARDS DE SOLUÇÕES — mais leves e legíveis
   ========================================================= */
.services#servicos .service-card a,
.services .service-card a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 210px !important;
  height: 44px !important;
  padding: 0 18px !important;

  background: linear-gradient(180deg, #f8faff 0%, #eef3ff 100%) !important;
  border: 1px solid #d7e1ff !important;
  color: #264fe6 !important;

  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-align: center !important;
  white-space: nowrap !important;

  border-radius: 4px !important;
  box-shadow: 0 8px 18px rgba(47, 91, 255, 0.08) !important;

  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease !important;
}

.services#servicos .service-card a:hover,
.services .service-card a:hover{
  background: linear-gradient(180deg, #edf3ff 0%, #e5ecff 100%) !important;
  border-color: #c4d2ff !important;
  color: #173fd4 !important;
  box-shadow: 0 12px 24px rgba(47, 91, 255, 0.12) !important;
  transform: translateY(-1px) !important;
}

.services#servicos .service-card a:active,
.services .service-card a:active{
  transform: translateY(0) !important;
  box-shadow: 0 5px 14px rgba(47, 91, 255, 0.08) !important;
}

/* Mobile: botão ocupa a largura do card, mas continua leve */
@media (max-width: 700px){
  .services#servicos .service-card a,
  .services .service-card a{
    max-width: 100% !important;
    height: 42px !important;
    font-size: 12.8px !important;
  }
}


/* =========================================================
   AJUSTE — espaçamento acima do CTA final
   ========================================================= */
.faq + .cta-bar,
.cta-bar#contato{
  margin-top: 28px !important;
}

@media (max-width: 700px){
  .faq + .cta-bar,
  .cta-bar#contato{
    margin-top: 22px !important;
  }
}


/* =========================================================
   ACABAMENTO FINAL PREMIUM — lapidação visual geral
   ========================================================= */

/* Base mais refinada */
html{
  scroll-behavior: smooth;
}
body{
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
section{
  position: relative;
}
.container{
  max-width: 1180px;
}

/* Header com acabamento mais sólido */
.topbar{
  background: linear-gradient(90deg,#061227 0%,#071b44 46%,#2138ff 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.navbar{
  max-width: 1180px !important;
}
.nav-menu a{
  position: relative;
  opacity: .96;
}
.nav-menu a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:2px;
  transform:scaleX(0);
  transform-origin:center;
  background:linear-gradient(90deg,#5d7cff,#9bb0ff);
  transition:transform .22s ease;
}
.nav-menu a:hover::after{
  transform:scaleX(1);
}

/* Botões: quina suave + legibilidade premium */
.header-btn,
.primary-btn,
.secondary-btn,
.cta-white,
.faq-text a,
.plan-card a,
.service-card a,
.portfolio-action a,
.mini-outline-btn,
.portfolio-filters button{
  border-radius: 4px !important;
  letter-spacing: -.01em;
}
.header-btn:hover,
.primary-btn:hover,
.cta-white:hover,
.faq-text a:hover,
.plan-card a:hover,
.portfolio-action a:hover{
  transform: translateY(-1px);
}

/* Hero com encaixe mais premium */
.hero-banner-section{
  padding-top: 18px !important;
  padding-bottom: 30px !important;
}
.hero-banner-img{
  border-radius: 24px !important;
  box-shadow:
    0 28px 70px rgba(3,12,38,.18),
    0 1px 0 rgba(255,255,255,.10) inset !important;
}

/* Títulos pequenos: estilo fino, sem pill pesado */
.services .section-mini,
.process .section-mini{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 16px 8px 16px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #4f6cff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
.services .section-mini::before,
.process .section-mini::before{
  content:"" !important;
  width: 26px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,#8ca0ff 0%,#4f6cff 100%) !important;
  box-shadow: none !important;
}
.services .section-mini::after,
.process .section-mini::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:86px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(79,108,255,0) 0%,rgba(79,108,255,.95) 50%,rgba(79,108,255,0) 100%);
}

/* Cards clean com sombra mais premium */
.service-card,
.portfolio-card,
.testimonial-card,
.step-item,
.plan-card,
.faq-list details,
.faq-card{
  box-shadow:
    0 18px 42px rgba(9,23,61,.07),
    0 1px 0 rgba(255,255,255,.82) inset !important;
  border-color: rgba(168,190,255,.42) !important;
}
.service-card:hover,
.portfolio-card:hover,
.plan-card:hover{
  transform: translateY(-3px);
  box-shadow:
    0 24px 58px rgba(9,23,61,.10),
    0 1px 0 rgba(255,255,255,.9) inset !important;
}

/* Serviços: botões leves, alinhados e legíveis */
.services#servicos .service-card a,
.services .service-card a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:210px !important;
  height:44px !important;
  padding:0 18px !important;
  background:linear-gradient(180deg,#f8faff 0%,#eef3ff 100%) !important;
  border:1px solid #d7e1ff !important;
  color:#264fe6 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-shadow:0 8px 18px rgba(47,91,255,.08) !important;
}
.services#servicos .service-card a:hover,
.services .service-card a:hover{
  background:linear-gradient(180deg,#edf3ff 0%,#e5ecff 100%) !important;
  border-color:#c4d2ff !important;
  color:#173fd4 !important;
}

/* Bloco escuro: mais refinado no desktop */
.why-block{
  background:
    radial-gradient(circle at 82% 12%,rgba(58,92,255,.20),transparent 24%),
    linear-gradient(180deg,#061735 0%,#020916 100%) !important;
}
.why-block::before{
  border-color: rgba(75,119,255,.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 24px 70px rgba(0,0,0,.18);
}
.why-copy li{
  position: relative;
  padding-left: 18px;
}
.why-copy li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:7px;
  height:7px;
  border-radius:2px;
  background:linear-gradient(180deg,#6c86ff,#287dff);
  box-shadow:0 0 0 4px rgba(65,104,255,.12);
}

/* Portfólio: imagens e botão mais consistentes */
.portfolio-card img,
.thumb img{
  transition: transform .28s ease, filter .28s ease;
}
.portfolio-card:hover img,
.portfolio-card:hover .thumb img{
  transform: scale(1.025);
  filter: saturate(1.04) contrast(1.02);
}
.portfolio-action .mini-outline-btn{
  min-height: 46px !important;
  padding: 0 26px !important;
}

/* Processo: linha e números mais discretos */
.process .step-num{
  border: 2px solid #fff !important;
  box-shadow: 0 12px 26px rgba(79,104,255,.18) !important;
}
.process .step-item::after{
  opacity: .72;
}

/* Planos: destaque profissional mais elegante */
.plan-card.featured{
  border-color: rgba(72,96,255,.72) !important;
  box-shadow:
    0 24px 60px rgba(70,95,255,.18),
    0 1px 0 rgba(255,255,255,.9) inset !important;
}
.plan-badge{
  letter-spacing: .03em !important;
}
.plan-card li::before{
  color:#4f7cff !important;
}

/* FAQ: botão em linha, sem invadir imagem */
.faq-card{
  grid-template-columns: minmax(0,1fr) 220px !important;
  align-items: center !important;
  column-gap: 18px !important;
}
.faq-text{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:10px !important;
  padding:28px 24px !important;
  min-width:0 !important;
}
.faq-text h3,
.faq-text p{
  margin:0 !important;
}
.faq-text p{
  max-width:100% !important;
}
.faq-text a{
  width:auto !important;
  min-width:210px !important;
  align-self:flex-start !important;
  justify-content:center !important;
  margin-top:4px !important;
  position:relative !important;
  z-index:2 !important;
}
.faq-person-img,
.faq-card img.faq-person-img{
  width:200px !important;
  height:260px !important;
  justify-self:end !important;
  align-self:end !important;
  object-fit:contain !important;
  position:relative !important;
  z-index:1 !important;
}

/* CTA final: espaçamento superior e acabamento */
.faq + .cta-bar,
.cta-bar#contato{
  margin-top: 36px !important;
}
.cta-bar{
  background:
    radial-gradient(circle at 15% 0%,rgba(64,100,255,.14),transparent 28%),
    linear-gradient(180deg,#020916 0%,#030b1d 100%) !important;
}
.cta-inner{
  border-color: rgba(75,119,255,.30) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 22px 60px rgba(0,0,0,.16) !important;
}
.cta-icon{
  border-radius: 18px !important;
}

/* Footer refinado */
.footer{
  background: linear-gradient(180deg,#030b1d 0%,#020713 100%) !important;
}
.footer-grid a{
  transition: color .22s ease, transform .22s ease;
}
.footer-grid a:hover{
  color:#ffffff !important;
  transform: translateX(2px);
}

/* Mobile premium */
@media (max-width: 700px){
  .container{
    width:min(var(--container),calc(100% - 26px)) !important;
  }

  .navbar{
    min-height:58px !important;
  }

  .logo img{
    max-width:190px !important;
  }

  .header-btn{
    min-width:118px !important;
    height:38px !important;
    padding:0 12px !important;
    font-size:10.8px !important;
  }

  .hero-banner-section{
    padding-top:10px !important;
    padding-bottom:18px !important;
  }

  .hero-banner-img{
    border-radius:18px !important;
    max-height:540px !important;
    object-fit:cover !important;
    object-position:top center !important;
  }

  .services .section-mini,
  .process .section-mini{
    font-size:11px !important;
    letter-spacing:.14em !important;
    padding:0 12px 7px 12px !important;
    gap:8px !important;
  }

  .services .section-mini::before,
  .process .section-mini::before{
    width:20px !important;
  }

  .services .section-mini::after,
  .process .section-mini::after{
    width:68px !important;
  }

  .section-intro.compact h2,
  .services#servicos .section-intro.compact h2,
  .portfolio .section-intro.compact h2,
  .testimonials .section-intro.compact h2,
  .process .section-intro.compact h2,
  .plans .section-intro.compact h2,
  .faq .section-intro.compact h2{
    font-size:26px !important;
    line-height:1.08 !important;
  }

  .services#servicos,
  .portfolio,
  .testimonials,
  .process,
  .plans,
  .faq{
    padding-top:34px !important;
    padding-bottom:38px !important;
  }

  .service-card,
  .portfolio-card,
  .testimonial-card,
  .step-item,
  .plan-card,
  .faq-card{
    border-radius:20px !important;
  }

  .services#servicos .service-card a,
  .services .service-card a{
    max-width:100% !important;
    height:42px !important;
    font-size:12.8px !important;
  }

  .why-block .container.why-grid{
    width:min(var(--container),calc(100% - 34px)) !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .why-copy h2{
    font-size:32px !important;
    line-height:1.02 !important;
  }

  .faq-card{
    grid-template-columns:1fr !important;
    row-gap:14px !important;
  }

  .faq-text{
    padding:22px 18px 6px 18px !important;
  }

  .faq-text a{
    width:100% !important;
    min-width:0 !important;
  }

  .faq-person-img,
  .faq-card img.faq-person-img{
    width:180px !important;
    height:220px !important;
    margin:0 auto !important;
    justify-self:center !important;
    align-self:center !important;
  }

  .faq + .cta-bar,
  .cta-bar#contato{
    margin-top:24px !important;
  }

  .mobile-float-whatsapp{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    right:12px !important;
    bottom:12px !important;
    border-radius:4px !important;
  }
}

@media (max-width: 390px){
  .logo img{
    max-width:180px !important;
  }

  .header-btn{
    min-width:112px !important;
    font-size:10px !important;
  }

  .section-intro.compact h2,
  .services#servicos .section-intro.compact h2,
  .portfolio .section-intro.compact h2,
  .testimonials .section-intro.compact h2,
  .process .section-intro.compact h2,
  .plans .section-intro.compact h2,
  .faq .section-intro.compact h2{
    font-size:24px !important;
  }
}



/* ===== Rework seção de exemplos — sem botões de filtro ===== */
.portfolio .section-intro.compact{
  max-width: 980px !important;
  margin: 0 auto 18px !important;
}
.portfolio .section-intro.compact h2{
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.portfolio-lead{
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
}
.portfolio-lead p{
  margin: 0;
  color: #6f7c98;
  font-size: 17px;
  line-height: 1.7;
  font-weight: 500;
}
.portfolio-grid{
  margin-top: 6px !important;
}

@media (max-width: 700px){
  .portfolio-lead{
    max-width: 100%;
    margin: 0 auto 22px;
    padding: 0 4px;
  }
  .portfolio-lead p{
    font-size: 14px;
    line-height: 1.65;
  }
}


/* =========================================================
   REMOÇÃO DE DEPOIMENTOS — ajuste de fluxo entre exemplos e processo
   ========================================================= */
.portfolio{
  padding-bottom: 54px !important;
}
.portfolio + .process{
  padding-top: 54px !important;
}
.portfolio-action{
  margin-bottom: 0 !important;
}

@media (max-width: 700px){
  .portfolio{
    padding-bottom: 36px !important;
  }
  .portfolio + .process{
    padding-top: 34px !important;
  }
}


/* =========================================================
   AJUSTE CTA FINAL — respiro superior do card
   ========================================================= */
.faq + .cta-bar,
.cta-bar#contato{
  margin-top: 36px !important;
}
.cta-bar{
  padding-top: 28px !important;
  padding-bottom: 34px !important;
}

@media (max-width: 700px){
  .faq + .cta-bar,
  .cta-bar#contato{
    margin-top: 24px !important;
  }
  .cta-bar{
    padding-top: 20px !important;
    padding-bottom: 26px !important;
  }
}


/* =========================================================
   AJUSTE VISUAL — botões header e CTA final mais suaves
   ========================================================= */
.header-btn,
.cta-white{
  background: linear-gradient(180deg, #6f86ff 0%, #5c78ff 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 10px 22px rgba(62, 95, 220, .18) !important;
  text-shadow: none !important;
  letter-spacing: -0.01em !important;
  font-weight: 700 !important;
  transition: background .25s ease, box-shadow .25s ease, transform .2s ease, border-color .25s ease !important;
}

.header-btn:hover,
.cta-white:hover{
  background: linear-gradient(180deg, #7890ff 0%, #6480ff 100%) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 12px 24px rgba(62, 95, 220, .22) !important;
  transform: translateY(-1px) !important;
}

.header-btn span,
.cta-white span{
  opacity: .82;
}

@media (max-width: 700px){
  .header-btn,
  .cta-white{
    box-shadow: 0 8px 18px rgba(62, 95, 220, .16) !important;
  }
}


/* =========================================================
   REVISÃO FINAL ULTRA PREMIUM — tipografia, espaçamento e contraste
   ========================================================= */

/* Base tipográfica */
:root{
  --qms-text-strong:#07142e;
  --qms-text:#1a2742;
  --qms-muted:#64708a;
  --qms-soft:#f5f8ff;
  --qms-line:#dbe5ff;
  --qms-blue:#2f6dff;
  --qms-blue-soft:#5f7dff;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:92px;
}

body{
  color:var(--qms-text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  letter-spacing:-0.006em;
}

p{
  color:var(--qms-muted);
}

/* Header mais limpo e sofisticado */
.topbar{
  background:linear-gradient(90deg,#061123 0%,#081a3d 52%,#1e37ee 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 16px 36px rgba(5,14,35,.18) !important;
}

.navbar{
  min-height:72px !important;
}

.logo img{
  filter:drop-shadow(0 3px 12px rgba(0,0,0,.12));
}

.nav-menu{
  gap:26px !important;
}

.nav-menu a{
  color:rgba(255,255,255,.94) !important;
  font-size:13px !important;
  font-weight:750 !important;
  letter-spacing:-.01em !important;
}

.nav-menu a:hover{
  color:#ffffff !important;
}

/* Botões principais mais suaves e legíveis */
.header-btn,
.cta-white{
  min-height:48px !important;
  padding:0 24px !important;
  background:linear-gradient(180deg,#6f86ff 0%,#5d78ff 100%) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:5px !important;
  box-shadow:0 12px 26px rgba(62,95,220,.18) !important;
  font-size:13px !important;
  font-weight:760 !important;
}

.header-btn:hover,
.cta-white:hover{
  background:linear-gradient(180deg,#7b91ff 0%,#6782ff 100%) !important;
  box-shadow:0 14px 30px rgba(62,95,220,.22) !important;
}

/* Ritmo vertical do site */
.hero-banner-section{
  padding-top:18px !important;
  padding-bottom:34px !important;
}

.services,
.portfolio,
.process,
.plans,
.faq{
  padding-top:64px !important;
  padding-bottom:68px !important;
}

.portfolio{
  padding-top:68px !important;
  padding-bottom:58px !important;
}

.process{
  padding-top:62px !important;
}

.plans{
  padding-top:66px !important;
}

.faq{
  padding-top:66px !important;
  padding-bottom:62px !important;
}

/* Títulos com hierarquia mais premium */
.section-intro.compact{
  margin-bottom:34px !important;
}

.section-intro.compact h2,
.section-intro h2{
  color:var(--qms-text-strong) !important;
  font-weight:900 !important;
  letter-spacing:-0.055em !important;
  line-height:1.06 !important;
  text-wrap:balance;
}

.services .section-intro.compact h2,
.portfolio .section-intro.compact h2,
.process .section-intro.compact h2,
.plans .section-intro.compact h2,
.faq .section-intro.compact h2{
  font-size:clamp(38px,3.7vw,52px) !important;
}

.section-mini{
  color:#536dff !important;
  font-size:11.5px !important;
  font-weight:850 !important;
  letter-spacing:.18em !important;
}

/* Eyebrow das seções principais mais discreto e elegante */
.services .section-mini,
.process .section-mini{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  color:#536dff !important;
  padding-bottom:9px !important;
}

/* Hero visual */
.hero-banner-img{
  border-radius:22px !important;
  box-shadow:
    0 26px 70px rgba(8,18,45,.16),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Cards gerais: mais clean, melhor contraste */
.service-card,
.portfolio-card,
.step-item,
.plan-card,
.faq-list details,
.faq-card{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  border:1px solid rgba(185,202,255,.58) !important;
  box-shadow:
    0 18px 46px rgba(9,24,61,.075),
    inset 0 1px 0 rgba(255,255,255,.88) !important;
}

.service-card:hover,
.portfolio-card:hover,
.plan-card:hover{
  box-shadow:
    0 24px 62px rgba(9,24,61,.105),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}

/* Serviços */
.services#servicos .service-grid{
  gap:22px !important;
}

.services#servicos .service-card{
  padding:30px 22px 24px !important;
}

.services#servicos .service-icon,
.process .step-icon{
  background:
    radial-gradient(circle at 30% 18%,rgba(255,255,255,.92),rgba(236,241,255,.94) 42%,rgba(220,229,255,.96) 100%) !important;
  border:1px solid rgba(179,196,255,.72) !important;
  box-shadow:
    0 16px 34px rgba(71,105,255,.13),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.services#servicos .service-card h3{
  color:var(--qms-text-strong) !important;
  font-size:20px !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}

.services#servicos .service-card p{
  color:#66728d !important;
  font-size:14px !important;
  line-height:1.62 !important;
}

.services#servicos .service-card a,
.services .service-card a{
  height:43px !important;
  max-width:200px !important;
  background:linear-gradient(180deg,#f9fbff 0%,#eef4ff 100%) !important;
  color:#2954e8 !important;
  border:1px solid #d7e1ff !important;
  box-shadow:0 8px 18px rgba(47,91,255,.075) !important;
  font-weight:800 !important;
}

.services#servicos .service-card a:hover,
.services .service-card a:hover{
  background:linear-gradient(180deg,#eef4ff 0%,#e5edff 100%) !important;
  color:#193ed1 !important;
}

/* Bloco escuro: contraste e respiro */
.why-block{
  padding-top:68px !important;
  padding-bottom:72px !important;
}

.why-block::before{
  border-color:rgba(84,126,255,.24) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 26px 72px rgba(0,0,0,.18) !important;
}

.why-copy h2{
  color:#ffffff !important;
  letter-spacing:-.06em !important;
  text-wrap:balance;
}

.why-copy p{
  color:#d5e0ff !important;
  line-height:1.72 !important;
}

.why-copy li{
  color:#e7eeff !important;
  line-height:1.52 !important;
}

/* Portfólio */
.portfolio-lead{
  max-width:720px !important;
  margin-bottom:32px !important;
}

.portfolio-lead p{
  color:#66728d !important;
  font-size:16px !important;
  line-height:1.7 !important;
}

.portfolio-grid{
  gap:22px !important;
}

.portfolio-info h3{
  color:var(--qms-text-strong) !important;
  letter-spacing:-.035em !important;
}

.portfolio-info span{
  color:#66728d !important;
  font-weight:760 !important;
}

/* Processo */
.process .steps-grid{
  gap:22px !important;
}

.process .step-item{
  padding:34px 22px 24px !important;
}

.process .step-item h3{
  color:var(--qms-text-strong) !important;
  font-size:19px !important;
  letter-spacing:-.035em !important;
}

.process .step-item p{
  color:#66728d !important;
  line-height:1.62 !important;
}

.process .step-num{
  background:linear-gradient(180deg,#4f7cff 0%,#3768f8 100%) !important;
  box-shadow:0 10px 22px rgba(59,104,248,.20) !important;
}

/* Planos */
.plans-grid-wrap{
  gap:34px !important;
}

.plan-card{
  padding:30px 24px 24px !important;
}

.plan-card h3{
  color:var(--qms-text-strong) !important;
  letter-spacing:-.045em !important;
}

.plan-desc,
.plan-note,
.plan-card li{
  color:#66728d !important;
  line-height:1.52 !important;
}

.plan-price{
  color:#10182d !important;
  letter-spacing:-.06em !important;
}

.plan-card.featured{
  border-color:rgba(79,108,255,.78) !important;
  box-shadow:
    0 24px 66px rgba(76,100,255,.16),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.plan-card a{
  background:linear-gradient(180deg,#f9fbff 0%,#eef4ff 100%) !important;
  border:1px solid #d7e1ff !important;
  color:#2954e8 !important;
  font-weight:820 !important;
}

.plan-card.featured a{
  background:linear-gradient(180deg,#6f86ff 0%,#5d78ff 100%) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.14) !important;
}

.side-feature h4{
  color:var(--qms-text-strong) !important;
}

.side-feature p{
  color:#66728d !important;
}

/* FAQ */
.faq .section-intro.compact{
  margin-bottom:32px !important;
}

.faq-list details{
  border-radius:16px !important;
}

.faq-list summary{
  color:var(--qms-text-strong) !important;
  font-size:15px !important;
  font-weight:800 !important;
}

.faq-list p{
  color:#66728d !important;
  font-size:14px !important;
  line-height:1.7 !important;
}

.faq-card{
  border-radius:22px !important;
}

.faq-text h3{
  color:var(--qms-text-strong) !important;
  letter-spacing:-.055em !important;
  text-wrap:balance;
}

.faq-text p{
  color:#66728d !important;
  line-height:1.68 !important;
}

.faq-text a{
  background:linear-gradient(180deg,#22c765 0%,#18b857 100%) !important;
  color:#ffffff !important;
  box-shadow:0 12px 28px rgba(24,184,87,.18) !important;
  font-weight:820 !important;
}

/* CTA final */
.faq + .cta-bar,
.cta-bar#contato{
  margin-top:40px !important;
}

.cta-bar{
  padding-top:34px !important;
  padding-bottom:44px !important;
}

.cta-inner{
  padding:28px 30px !important;
  border-radius:24px !important;
  border-color:rgba(83,126,255,.26) !important;
  background:
    radial-gradient(circle at 14% 15%,rgba(64,104,255,.20),transparent 28%),
    linear-gradient(90deg,rgba(8,23,57,.96),rgba(5,15,38,.94)) !important;
}

.cta-left h3{
  color:#ffffff !important;
  letter-spacing:-.045em !important;
}

.cta-left p{
  color:#d1dcf5 !important;
  line-height:1.5 !important;
}

.cta-icon{
  border-radius:18px !important;
  border-color:rgba(95,136,255,.30) !important;
}

/* Footer */
.footer{
  padding-top:36px !important;
}

.footer h4{
  color:#ffffff !important;
  letter-spacing:-.015em;
}

.footer a,
.footer-brand-col p{
  color:#aeb9d3 !important;
}

.footer a:hover{
  color:#ffffff !important;
}

/* Mobile refinado */
@media (max-width: 900px){
  .services,
  .portfolio,
  .process,
  .plans,
  .faq{
    padding-top:48px !important;
    padding-bottom:52px !important;
  }

  .why-block{
    padding-top:48px !important;
    padding-bottom:52px !important;
  }

  .portfolio{
    padding-bottom:44px !important;
  }

  .plans-grid-wrap{
    gap:20px !important;
  }
}

@media (max-width: 700px){
  html{
    scroll-padding-top:76px;
  }

  .navbar{
    min-height:58px !important;
  }

  .logo img{
    max-width:184px !important;
  }

  .header-btn{
    min-height:38px !important;
    height:38px !important;
    padding:0 12px !important;
    font-size:10.5px !important;
  }

  .hero-banner-section{
    padding-top:10px !important;
    padding-bottom:20px !important;
  }

  .hero-banner-img{
    border-radius:18px !important;
  }

  .section-intro.compact{
    margin-bottom:24px !important;
  }

  .services .section-intro.compact h2,
  .portfolio .section-intro.compact h2,
  .process .section-intro.compact h2,
  .plans .section-intro.compact h2,
  .faq .section-intro.compact h2{
    font-size:26px !important;
    line-height:1.09 !important;
    letter-spacing:-.048em !important;
  }

  .section-mini,
  .services .section-mini,
  .process .section-mini{
    font-size:10.5px !important;
    letter-spacing:.145em !important;
  }

  .services#servicos .service-card,
  .process .step-item,
  .plan-card,
  .faq-card{
    padding:22px 18px 20px !important;
  }

  .services#servicos .service-card h3,
  .process .step-item h3{
    font-size:18px !important;
  }

  .services#servicos .service-card p,
  .process .step-item p,
  .portfolio-lead p,
  .faq-list p,
  .faq-text p{
    font-size:13.5px !important;
  }

  .why-copy h2{
    font-size:31px !important;
    line-height:1.03 !important;
  }

  .why-copy p{
    font-size:14.2px !important;
  }

  .portfolio-info h3{
    font-size:18px !important;
  }

  .plan-price{
    font-size:34px !important;
  }

  .faq-card{
    border-radius:20px !important;
  }

  .faq-text{
    padding:20px 16px 6px !important;
  }

  .faq-text h3{
    font-size:25px !important;
  }

  .faq-text a{
    min-height:43px !important;
  }

  .cta-bar{
    padding-top:24px !important;
    padding-bottom:34px !important;
  }

  .cta-inner{
    padding:20px !important;
    border-radius:20px !important;
  }

  .cta-left h3{
    font-size:22px !important;
    line-height:1.16 !important;
  }

  .cta-left p{
    font-size:13.5px !important;
  }

  .cta-white{
    width:100% !important;
    min-height:44px !important;
    font-size:13px !important;
  }

  .footer{
    padding-top:30px !important;
  }
}

@media (max-width: 390px){
  .logo img{
    max-width:176px !important;
  }

  .header-btn{
    min-width:110px !important;
    font-size:10px !important;
  }

  .services .section-intro.compact h2,
  .portfolio .section-intro.compact h2,
  .process .section-intro.compact h2,
  .plans .section-intro.compact h2,
  .faq .section-intro.compact h2{
    font-size:24px !important;
  }
}

/* === HERO MOBILE — VERSÃO MAIS FORTE E MAIS LEGÍVEL === */
@media (max-width: 700px){
  .hero-banner-section{
    padding-top:14px !important;
  }

  .hero-banner-section .container{
    width:min(100%,calc(100% - 10px)) !important;
  }

  .hero-banner-picture{
    display:block !important;
    overflow:hidden !important;
    border-radius:18px !important;
    box-shadow:0 18px 42px rgba(3, 10, 30, 0.18) !important;
  }

  .hero-banner-img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    border-radius:18px !important;
    object-fit:contain !important;
    object-position:top center !important;
  }
}

@media (max-width: 390px){
  .hero-banner-section .container{
    width:min(100%,calc(100% - 6px)) !important;
  }

  .hero-banner-picture,
  .hero-banner-img{
    border-radius:16px !important;
  }
}


/* =========================================================
   HERO MOBILE — novo banner mais legível e maior
   ========================================================= */
@media (max-width: 700px){
  .hero-banner-section{
    padding-top: 12px !important;
    padding-bottom: 22px !important;
  }

  .hero-banner-section .container{
    width: min(100%, calc(100% - 10px)) !important;
  }

  .hero-banner-picture{
    display: block !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 42px rgba(3,10,30,.18) !important;
  }

  .hero-banner-img{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 18px !important;
    object-fit: contain !important;
    object-position: top center !important;
  }
}

@media (max-width: 390px){
  .hero-banner-section .container{
    width: min(100%, calc(100% - 6px)) !important;
  }

  .hero-banner-picture,
  .hero-banner-img{
    border-radius: 16px !important;
  }
}

/* Ajuste dos cards de exemplos no mobile: mostrar a parte superior da imagem */
@media (max-width:560px){
  .portfolio-card .thumb{height:200px;overflow:hidden;}
  .portfolio-card .thumb img{object-position:top center !important;}
}


/* =========================================================
   PORTFÓLIO — imagens novas otimizadas e alinhadas pelo topo
   ========================================================= */
.portfolio-card .thumb img{
  object-position: top center !important;
}

@media (max-width: 560px){
  .portfolio-card .thumb{
    height: 205px !important;
    overflow: hidden !important;
  }

  .portfolio-card .thumb img{
    object-fit: cover !important;
    object-position: top center !important;
  }
}


/* === AJUSTE FINAL — BOTÃO DO CABEÇALHO COM A MESMA COR DO CTA PRINCIPAL === */
.topbar .header-btn{
  min-height:48px !important;
  height:48px !important;
  padding:0 22px !important;
  border-radius:8px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:linear-gradient(135deg,#4b63ff,#4d5dff) !important;
  color:#ffffff !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:-0.01em !important;
  box-shadow:0 18px 35px rgba(75,99,255,.22) !important;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

.topbar .header-btn:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.02) !important;
  box-shadow:0 20px 38px rgba(75,99,255,.28) !important;
}

.topbar .header-btn span{
  opacity:.98 !important;
  font-weight:900 !important;
}

@media (max-width: 700px){
  .topbar .header-btn{
    min-height:40px !important;
    height:40px !important;
    padding:0 14px !important;
    border-radius:8px !important;
    font-size:11px !important;
    box-shadow:0 12px 24px rgba(75,99,255,.20) !important;
  }
}


/* === AJUSTE FINAL — BOTÕES PREMIUM ESTILIZADOS === */
.topbar .header-btn,
.service-card a,
.plan-card a,
.faq-card a,
.cta-white{
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(123, 150, 255, 0.22) !important;
  background: linear-gradient(135deg, #2f63ff 0%, #4d7cff 58%, #6b8fff 100%) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.10) !important;
  box-shadow:
    0 14px 30px rgba(47, 99, 255, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    inset 0 -1px 0 rgba(8, 18, 60, 0.18) !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease,
    border-color .22s ease !important;
}

.topbar .header-btn::before,
.service-card a::before,
.plan-card a::before,
.faq-card a::before,
.cta-white::before{
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 48%);
  z-index: -1;
  pointer-events: none;
}

.topbar .header-btn::after,
.service-card a::after,
.plan-card a::after,
.faq-card a::after,
.cta-white::after{
  content: "";
  position: absolute;
  top: -35%;
  left: -28%;
  width: 42%;
  height: 170%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
  transform: rotate(18deg);
  opacity: .72;
  transition: left .45s ease, opacity .25s ease;
  pointer-events: none;
}

.topbar .header-btn:hover,
.service-card a:hover,
.plan-card a:hover,
.faq-card a:hover,
.cta-white:hover{
  transform: translateY(-2px) !important;
  filter: brightness(1.03) saturate(1.03) !important;
  border-color: rgba(164, 184, 255, 0.34) !important;
  box-shadow:
    0 18px 34px rgba(47, 99, 255, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.20),
    inset 0 -1px 0 rgba(8, 18, 60, 0.14) !important;
}

.topbar .header-btn:hover::after,
.service-card a:hover::after,
.plan-card a:hover::after,
.faq-card a:hover::after,
.cta-white:hover::after{
  left: 108%;
  opacity: .95;
}

.topbar .header-btn:active,
.service-card a:active,
.plan-card a:active,
.faq-card a:active,
.cta-white:active{
  transform: translateY(0) scale(.985) !important;
  box-shadow:
    0 10px 20px rgba(47, 99, 255, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    inset 0 -1px 0 rgba(8, 18, 60, 0.12) !important;
}

.topbar .header-btn span,
.cta-white span{
  font-weight: 900 !important;
  transition: transform .22s ease, opacity .22s ease !important;
}

.topbar .header-btn:hover span,
.cta-white:hover span{
  transform: translateX(2px) !important;
}

.service-card a,
.plan-card a,
.faq-card a{
  min-height: 46px !important;
  padding: 0 18px !important;
}

.topbar .header-btn{
  min-height: 48px !important;
  padding: 0 22px !important;
}

.cta-white{
  min-height: 50px !important;
  padding: 0 24px !important;
}

@media (max-width: 700px){
  .topbar .header-btn,
  .service-card a,
  .plan-card a,
  .faq-card a,
  .cta-white{
    border-radius: 9px !important;
  }

  .topbar .header-btn{
    min-height: 42px !important;
    padding: 0 15px !important;
  }

  .service-card a,
  .plan-card a,
  .faq-card a,
  .cta-white{
    min-height: 44px !important;
    padding: 0 16px !important;
  }
}



/* === BOTÕES PREMIUM AZUL LOGO === */
:root{
  --btn-brand-1:#0a75ff;
  --btn-brand-2:#3f8fff;
  --btn-brand-3:#085fd0;
  --btn-brand-shadow:rgba(10,117,255,.22);
}

.topbar .header-btn,
.primary-btn,
.cta-white,
.plan-card a,
.service-card a,
.services#servicos .service-card a,
.services .service-card a{
  background: linear-gradient(135deg, var(--btn-brand-1) 0%, var(--btn-brand-2) 100%) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:12px !important;
  box-shadow:0 10px 24px var(--btn-brand-shadow), inset 0 1px 0 rgba(255,255,255,.18) !important;
  text-shadow:none !important;
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}

.topbar .header-btn::before,
.topbar .header-btn::after,
.primary-btn::before,
.primary-btn::after,
.cta-white::before,
.cta-white::after,
.plan-card a::before,
.plan-card a::after,
.service-card a::before,
.service-card a::after,
.services#servicos .service-card a::before,
.services#servicos .service-card a::after,
.services .service-card a::before,
.services .service-card a::after{
  display:none !important;
  content:none !important;
}

.topbar .header-btn:hover,
.primary-btn:hover,
.cta-white:hover,
.plan-card a:hover,
.service-card a:hover,
.services#servicos .service-card a:hover,
.services .service-card a:hover{
  background: linear-gradient(135deg, #0868e6 0%, #2d82ff 100%) !important;
  border-color: rgba(255,255,255,.18) !important;
  color:#ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow:0 14px 28px rgba(10,117,255,.26), inset 0 1px 0 rgba(255,255,255,.20) !important;
  filter:none !important;
}

.topbar .header-btn:active,
.primary-btn:active,
.cta-white:active,
.plan-card a:active,
.service-card a:active,
.services#servicos .service-card a:active,
.services .service-card a:active{
  transform: translateY(0) !important;
  box-shadow:0 8px 16px rgba(10,117,255,.18), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.topbar .header-btn span,
.primary-btn span,
.cta-white span{
  color:#ffffff !important;
}


/* =========================================================
   BOTÕES ESTILO NEON PREMIUM — ajuste azul mais claro/dark
   ========================================================= */
:root{
  --qms-neon-cyan:#66ddff;
  --qms-neon-blue:#4b7dff;
  --qms-neon-dark:#081633;
  --qms-neon-deep:#030d22;
}

/* Botões principais do site */
.topbar .header-btn,
.primary-btn,
.cta-white,
.plan-card a,
.service-card a,
.services#servicos .service-card a,
.services .service-card a,
.faq-text a{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;

  min-height:48px !important;
  padding:0 24px !important;

  color:#eef5ff !important;
  background:
    radial-gradient(circle at 92% 16%, rgba(115,225,255,.24), transparent 32%),
    linear-gradient(135deg, #06122a 0%, #0a2252 44%, #3f74ff 100%) !important;

  border:1px solid rgba(122,201,255,.38) !important;
  border-radius:4px !important;

  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-shadow:0 1px 0 rgba(0,0,0,.14) !important;

  box-shadow:
    0 10px 24px rgba(7,38,108,.18),
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 0 18px rgba(90,194,255,.10),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -16px 28px rgba(1,10,36,.18) !important;

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    filter .22s ease !important;
}

/* brilho interno superior */
.topbar .header-btn::before,
.primary-btn::before,
.cta-white::before,
.plan-card a::before,
.service-card a::before,
.services#servicos .service-card a::before,
.services .service-card a::before,
.faq-text a::before{
  content:"" !important;
  position:absolute !important;
  inset:2px !important;
  border-radius:2px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 42%),
    linear-gradient(90deg, rgba(102,221,255,.06), rgba(102,221,255,0) 34%) !important;
  pointer-events:none !important;
  z-index:-1 !important;
}

/* onda luminosa sutil */
.topbar .header-btn::after,
.primary-btn::after,
.cta-white::after,
.plan-card a::after,
.service-card a::after,
.services#servicos .service-card a::after,
.services .service-card a::after,
.faq-text a::after{
  content:"" !important;
  position:absolute !important;
  left:-28% !important;
  bottom:-46% !important;
  width:92% !important;
  height:86% !important;
  background:
    radial-gradient(ellipse at center, rgba(102,221,255,.18), rgba(102,221,255,0) 68%) !important;
  transform:rotate(-8deg) !important;
  pointer-events:none !important;
  z-index:-1 !important;
}

/* seta mais aparente nos botões que têm span */
.topbar .header-btn span,
.primary-btn span,
.cta-white span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#f5f9ff !important;
  font-weight:700 !important;
  font-size:17px !important;
  line-height:1 !important;
  opacity:.95 !important;
  transform:translateY(-1px) !important;
}

/* hover */
.topbar .header-btn:hover,
.primary-btn:hover,
.cta-white:hover,
.plan-card a:hover,
.service-card a:hover,
.services#servicos .service-card a:hover,
.services .service-card a:hover,
.faq-text a:hover{
  color:#ffffff !important;
  border-color:rgba(140,219,255,.54) !important;
  transform:translateY(-2px) !important;
  filter:saturate(1.02) brightness(1.03) !important;
  box-shadow:
    0 14px 28px rgba(7,38,108,.22),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 24px rgba(90,194,255,.14),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -14px 24px rgba(1,10,36,.14) !important;
}

/* click */
.topbar .header-btn:active,
.primary-btn:active,
.cta-white:active,
.plan-card a:active,
.service-card a:active,
.services#servicos .service-card a:active,
.services .service-card a:active,
.faq-text a:active{
  transform:translateY(0) !important;
  box-shadow:
    0 8px 16px rgba(7,38,108,.16),
    0 0 16px rgba(90,194,255,.08),
    inset 0 1px 0 rgba(255,255,255,.14) !important;
}

/* botão do cabeçalho com proporção mais elegante */
.topbar .header-btn{
  min-height:46px !important;
  padding:0 24px !important;
  white-space:nowrap !important;
}

/* botões pequenos dos cards */
.service-card a,
.services#servicos .service-card a,
.services .service-card a,
.plan-card a{
  min-height:44px !important;
  padding:0 18px !important;
  font-size:13px !important;
}

/* CTA final maior */
.cta-white{
  min-height:52px !important;
  padding:0 28px !important;
}

/* Mobile */
@media (max-width:700px){
  .topbar .header-btn{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:4px !important;
    font-size:11px !important;
  }

  .topbar .header-btn span{
    font-size:14px !important;
  }

  .primary-btn,
  .cta-white,
  .plan-card a,
  .service-card a,
  .services#servicos .service-card a,
  .services .service-card a,
  .faq-text a{
    min-height:44px !important;
    border-radius:4px !important;
    font-size:13px !important;
  }
}


/* =========================================================
   MENU PREMIUM CORRIGIDO NO CABEÇALHO
   ========================================================= */
.header-action-menu{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  z-index:999 !important;
}

.header-menu-btn{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:46px !important;
  padding:0 22px !important;
  color:#eef6ff !important;
  background:
    radial-gradient(circle at 92% 16%, rgba(115,225,255,.24), transparent 32%),
    linear-gradient(135deg, #06122a 0%, #0a2252 44%, #3f74ff 100%) !important;
  border:1px solid rgba(122,201,255,.38) !important;
  border-radius:4px !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:
    0 10px 24px rgba(7,38,108,.18),
    0 0 18px rgba(90,194,255,.10),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -16px 28px rgba(1,10,36,.18) !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, filter .22s ease !important;
}

.header-menu-btn::before{
  content:"" !important;
  position:absolute !important;
  inset:2px !important;
  border-radius:2px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 42%),
    linear-gradient(90deg, rgba(102,221,255,.06), rgba(102,221,255,0) 34%) !important;
  pointer-events:none !important;
  z-index:-1 !important;
}

.header-menu-btn span{
  font-size:12px !important;
  opacity:.86 !important;
}

.header-action-menu:hover .header-menu-btn,
.header-menu-btn:focus-visible{
  transform:translateY(-1px) !important;
  border-color:rgba(140,219,255,.54) !important;
  filter:saturate(1.02) brightness(1.03) !important;
  box-shadow:
    0 14px 28px rgba(7,38,108,.22),
    0 0 24px rgba(90,194,255,.14),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -14px 24px rgba(1,10,36,.14) !important;
}

.header-dropdown{
  position:absolute !important;
  top:calc(100% + 14px) !important;
  right:0 !important;
  width:330px !important;
  padding:10px !important;
  background:
    radial-gradient(circle at 96% 0%, rgba(64,116,255,.18), transparent 34%),
    linear-gradient(180deg, rgba(5,18,45,.98), rgba(3,11,28,.98)) !important;
  border:1px solid rgba(102,221,255,.22) !important;
  border-radius:10px !important;
  box-shadow:
    0 24px 60px rgba(0,0,0,.28),
    0 0 28px rgba(0,160,255,.10),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(8px) !important;
  pointer-events:none !important;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease !important;
}

.header-dropdown::before{
  content:"" !important;
  position:absolute !important;
  top:-8px !important;
  right:28px !important;
  width:14px !important;
  height:14px !important;
  background:rgba(5,18,45,.98) !important;
  border-left:1px solid rgba(102,221,255,.20) !important;
  border-top:1px solid rgba(102,221,255,.20) !important;
  transform:rotate(45deg) !important;
}

.header-action-menu:hover .header-dropdown,
.header-action-menu:focus-within .header-dropdown{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}

.header-dropdown a{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  padding:13px 14px !important;
  border-radius:7px !important;
  color:#ffffff !important;
  text-decoration:none !important;
  border:1px solid transparent !important;
  background:transparent !important;
  box-shadow:none !important;
  transition:background .2s ease, border-color .2s ease, transform .2s ease !important;
}

.header-dropdown a:hover{
  background:rgba(72,124,255,.12) !important;
  border-color:rgba(102,221,255,.20) !important;
  transform:translateX(2px) !important;
}

.header-dropdown a::before,
.header-dropdown a::after{
  display:none !important;
  content:none !important;
}

.header-dropdown a strong{
  color:#f5f9ff !important;
  font-size:14px !important;
  font-weight:760 !important;
  letter-spacing:-.015em !important;
}

.header-dropdown a small{
  color:#aebbe0 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

.header-dropdown .dropdown-whatsapp{
  margin-top:6px !important;
  background:linear-gradient(135deg,rgba(0,190,105,.18),rgba(10,117,255,.10)) !important;
  border-color:rgba(35,220,130,.18) !important;
}

.header-dropdown .dropdown-whatsapp:hover{
  background:linear-gradient(135deg,rgba(0,190,105,.24),rgba(10,117,255,.14)) !important;
  border-color:rgba(35,220,130,.28) !important;
}

@media (max-width:700px){
  .header-action-menu{
    flex:0 0 auto !important;
  }

  .header-menu-btn{
    min-height:40px !important;
    padding:0 13px !important;
    border-radius:4px !important;
    font-size:10.8px !important;
    white-space:nowrap !important;
  }

  .header-menu-btn span{
    font-size:11px !important;
  }

  .header-dropdown{
    display:none !important;
  }
}


/* =========================================================
   BOTÃO CABEÇALHO — estilo WhatsApp azul clean da referência
   ========================================================= */
.header-whatsapp-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;

  min-height:46px !important;
  padding:0 22px !important;

  background:#0b6fff !important;
  color:#ffffff !important;
  text-decoration:none !important;

  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:2px !important;

  font-size:15px !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;

  box-shadow:0 8px 20px rgba(11,111,255,.18) !important;
  text-shadow:none !important;

  transition:background .22s ease, transform .22s ease, box-shadow .22s ease !important;
}

.header-whatsapp-btn svg{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
  color:#ffffff !important;
  display:block !important;
}

.header-whatsapp-btn:hover{
  background:#075ee0 !important;
  color:#ffffff !important;
  transform:translateY(-1px) !important;
  box-shadow:0 10px 22px rgba(11,111,255,.24) !important;
}

.header-whatsapp-btn:active{
  transform:translateY(0) !important;
  box-shadow:0 6px 14px rgba(11,111,255,.18) !important;
}

.header-whatsapp-btn span{
  color:#ffffff !important;
  font-weight:500 !important;
}

/* Garante que o menu antigo não apareça caso tenha sobrado algum CSS/HTML */
.header-action-menu,
.header-dropdown,
.header-menu-btn{
  display:none !important;
}

@media (max-width:700px){
  .header-whatsapp-btn{
    min-height:40px !important;
    padding:0 13px !important;
    gap:7px !important;
    border-radius:2px !important;
    font-size:12px !important;
  }

  .header-whatsapp-btn svg{
    width:17px !important;
    height:17px !important;
    flex-basis:17px !important;
  }
}

@media (max-width:380px){
  .header-whatsapp-btn{
    padding:0 10px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   AJUSTE FINAL — botão do cabeçalho menor e minimalista
   ========================================================= */
.header-whatsapp-btn{
  min-height:38px !important;
  padding:0 16px !important;
  gap:8px !important;

  background:#0b6fff !important;
  color:#ffffff !important;

  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:2px !important;

  font-size:13px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  line-height:1 !important;

  box-shadow:0 6px 14px rgba(11,111,255,.14) !important;
}

.header-whatsapp-btn svg{
  width:17px !important;
  height:17px !important;
  flex-basis:17px !important;
}

.header-whatsapp-btn span{
  font-weight:400 !important;
  color:#ffffff !important;
}

.header-whatsapp-btn:hover{
  background:#0864e8 !important;
  transform:translateY(-1px) !important;
  box-shadow:0 8px 18px rgba(11,111,255,.18) !important;
}

.header-whatsapp-btn:active{
  transform:translateY(0) !important;
  box-shadow:0 5px 12px rgba(11,111,255,.14) !important;
}

@media (max-width:700px){
  .header-whatsapp-btn{
    min-height:36px !important;
    padding:0 11px !important;
    gap:6px !important;
    font-size:11px !important;
    font-weight:400 !important;
  }

  .header-whatsapp-btn svg{
    width:15px !important;
    height:15px !important;
    flex-basis:15px !important;
  }
}

@media (max-width:380px){
  .header-whatsapp-btn{
    padding:0 9px !important;
    font-size:10.5px !important;
  }
}


/* =========================================================
   AJUSTE FINAL — botão cabeçalho dark + texto Começar meu site
   ========================================================= */
.header-whatsapp-btn{
  min-height:38px !important;
  padding:0 16px !important;
  gap:8px !important;

  background:linear-gradient(180deg,#102f73 0%,#0a2360 100%) !important;
  color:#ffffff !important;

  border:1px solid rgba(88,143,255,.30) !important;
  border-radius:2px !important;

  font-size:13px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  line-height:1 !important;

  box-shadow:
    0 6px 14px rgba(6,20,58,.18),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.header-whatsapp-btn svg{
  width:17px !important;
  height:17px !important;
  flex-basis:17px !important;
  opacity:.95 !important;
}

.header-whatsapp-btn span{
  color:#ffffff !important;
  font-weight:400 !important;
}

.header-whatsapp-btn:hover{
  background:linear-gradient(180deg,#123782 0%,#0b286b 100%) !important;
  border-color:rgba(108,162,255,.38) !important;
  transform:translateY(-1px) !important;
  box-shadow:
    0 8px 18px rgba(6,20,58,.24),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.header-whatsapp-btn:active{
  transform:translateY(0) !important;
  box-shadow:
    0 5px 12px rgba(6,20,58,.18),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

@media (max-width:700px){
  .header-whatsapp-btn{
    min-height:36px !important;
    padding:0 11px !important;
    gap:6px !important;
    font-size:11px !important;
    font-weight:400 !important;
  }

  .header-whatsapp-btn svg{
    width:15px !important;
    height:15px !important;
    flex-basis:15px !important;
  }
}

@media (max-width:380px){
  .header-whatsapp-btn{
    padding:0 9px !important;
    font-size:10.5px !important;
  }
}


/* =========================================================
   MENU MOBILE NO LUGAR DO BOTÃO DO CABEÇALHO
   ========================================================= */
.header-action-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
}

.mobile-menu-trigger{
  display:none;
}

/* Desktop mantém o botão normal */
@media (min-width:701px){
  .header-whatsapp-btn{
    display:inline-flex !important;
  }
}

/* Mobile troca o botão por menu */
@media (max-width:700px){
  .header-action-wrap .header-whatsapp-btn{
    display:none !important;
  }

  .mobile-menu-trigger{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;

    width:42px !important;
    height:38px !important;

    background:linear-gradient(180deg,#102f73 0%,#0a2360 100%) !important;
    border:1px solid rgba(88,143,255,.30) !important;
    border-radius:2px !important;

    box-shadow:
      0 6px 14px rgba(6,20,58,.18),
      inset 0 1px 0 rgba(255,255,255,.08) !important;

    padding:0 !important;
    cursor:pointer !important;
  }

  .mobile-menu-trigger span{
    display:block !important;
    width:17px !important;
    height:2px !important;
    border-radius:1px !important;
    background:#ffffff !important;
    opacity:.92 !important;
    transition:transform .22s ease, opacity .22s ease !important;
  }

  .mobile-menu-trigger.is-open span:nth-child(1){
    transform:translateY(6px) rotate(45deg) !important;
  }

  .mobile-menu-trigger.is-open span:nth-child(2){
    opacity:0 !important;
  }

  .mobile-menu-trigger.is-open span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg) !important;
  }

  .mobile-header-menu{
    position:fixed !important;
    top:58px !important;
    left:10px !important;
    right:10px !important;
    z-index:9999 !important;

    display:grid !important;
    gap:6px !important;

    padding:12px !important;
    background:
      radial-gradient(circle at 94% 0%, rgba(63,116,255,.18), transparent 32%),
      linear-gradient(180deg, rgba(5,18,45,.98), rgba(3,11,28,.98)) !important;

    border:1px solid rgba(102,221,255,.18) !important;
    border-radius:8px !important;

    box-shadow:
      0 24px 60px rgba(0,0,0,.30),
      0 0 24px rgba(0,160,255,.08),
      inset 0 1px 0 rgba(255,255,255,.06) !important;

    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-8px) !important;
    pointer-events:none !important;
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease !important;
  }

  .mobile-header-menu.is-open{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }

  .mobile-header-menu a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    min-height:42px !important;
    padding:0 12px !important;

    color:#f4f8ff !important;
    text-decoration:none !important;
    font-size:13px !important;
    font-weight:500 !important;
    letter-spacing:-.01em !important;

    border-radius:4px !important;
    border:1px solid transparent !important;
    background:transparent !important;
    transition:background .2s ease, border-color .2s ease !important;
  }

  .mobile-header-menu a:hover{
    background:rgba(72,124,255,.12) !important;
    border-color:rgba(102,221,255,.16) !important;
  }

  .mobile-header-menu .mobile-menu-cta{
    margin-top:4px !important;
    justify-content:center !important;
    background:#0b6fff !important;
    border-color:#0b6fff !important;
    color:#ffffff !important;
    font-weight:600 !important;
  }
}

/* Fora do mobile o dropdown não aparece */
@media (min-width:701px){
  .mobile-header-menu{
    display:none !important;
  }
}


/* =========================================================
   AJUSTE FINAL — menu mobile sem fundo
   ========================================================= */
@media (max-width:700px){
  .mobile-menu-trigger{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    width:38px !important;
    height:38px !important;
    padding:0 !important;
  }

  .mobile-menu-trigger span{
    width:24px !important;
    height:2px !important;
    border-radius:2px !important;
    background:#ffffff !important;
    box-shadow:0 0 8px rgba(255,255,255,.16) !important;
  }

  .mobile-menu-trigger span:nth-child(1),
  .mobile-menu-trigger span:nth-child(3){
    background:#22c55e !important;
    box-shadow:0 0 10px rgba(34,197,94,.34) !important;
  }

  .mobile-menu-trigger.is-open span:nth-child(1),
  .mobile-menu-trigger.is-open span:nth-child(3){
    background:#ffffff !important;
    box-shadow:0 0 8px rgba(255,255,255,.20) !important;
  }
}


/* =========================================================
   AJUSTE FINAL — BOTÃO FLUTUANTE WHATSAPP PERFEITO
   Agora aparece também no desktop e com visual premium.
   ========================================================= */
.mobile-float-whatsapp{
  position:fixed !important;
  right:20px !important;
  bottom:20px !important;
  z-index:9998 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;

  min-width:188px !important;
  height:58px !important;
  padding:0 20px 0 18px !important;

  background:linear-gradient(135deg,#16a34a 0%,#22c55e 52%,#34d399 100%) !important;
  color:#ffffff !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:-0.01em !important;

  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:16px !important;
  box-shadow:0 18px 42px rgba(11,105,49,.26), 0 8px 18px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.18) !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
  overflow:visible !important;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease, background .22s ease !important;
}

.mobile-float-whatsapp:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 22px 46px rgba(11,105,49,.30), 0 10px 20px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.20) !important;
  filter:saturate(1.04) brightness(1.02) !important;
}

.mobile-float-whatsapp:active{
  transform:translateY(0) !important;
  box-shadow:0 14px 28px rgba(11,105,49,.22), 0 6px 14px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.mobile-float-whatsapp::before{
  content:"" !important;
  position:relative !important;
  flex:0 0 26px !important;
  width:26px !important;
  height:26px !important;
  border:none !important;
  inset:auto !important;
  border-radius:999px !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:26px 26px !important;
  box-shadow:none !important;
  transform:none !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='white' d='M26.6 5.4A14.8 14.8 0 0 0 3.7 23.2L2 30l7-1.8A14.8 14.8 0 1 0 26.6 5.4Zm-10.8 22a12 12 0 0 1-6.1-1.7l-.4-.2-4.2 1.1 1.1-4.1-.3-.4a12 12 0 1 1 9.9 5.3Zm6.6-8.9c-.4-.2-2.3-1.1-2.7-1.2-.4-.1-.6-.2-.9.2-.2.4-1 1.2-1.2 1.5-.2.2-.5.3-.9.1-.4-.2-1.7-.6-3.2-2-1.2-1-2-2.3-2.2-2.7-.2-.4 0-.6.2-.8.2-.2.4-.5.6-.7.2-.2.3-.4.4-.6.1-.2.1-.5 0-.7-.1-.2-.9-2.1-1.2-2.8-.3-.8-.7-.6-.9-.6h-.8c-.3 0-.7.1-1 .5-.4.4-1.4 1.4-1.4 3.3s1.4 3.8 1.6 4 .2.3.4.6c2.7 4.1 6.7 5.6 7.3 5.8.6.2 2 .8 3.8.5 1.1-.2 3.4-1.4 3.9-2.7.5-1.3.5-2.4.3-2.7-.2-.3-.4-.3-.8-.5Z'/%3E%3C/svg%3E") !important;
}

.mobile-float-whatsapp::after{
  content:"" !important;
  position:absolute !important;
  top:8px !important;
  right:10px !important;
  width:10px !important;
  height:10px !important;
  border-radius:999px !important;
  background:#dcfce7 !important;
  border:2px solid #16a34a !important;
  box-shadow:0 0 0 4px rgba(220,252,231,.18) !important;
}

@media (max-width:700px){
  .mobile-float-whatsapp{
    right:12px !important;
    bottom:12px !important;
    min-width:58px !important;
    width:58px !important;
    height:58px !important;
    padding:0 !important;
    gap:0 !important;
    font-size:0 !important;
    color:transparent !important;
    border-radius:18px !important;
    box-shadow:0 16px 34px rgba(11,105,49,.24), 0 8px 18px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.16) !important;
  }

  .mobile-float-whatsapp::before{
    flex:0 0 28px !important;
    width:28px !important;
    height:28px !important;
    background-size:28px 28px !important;
  }

  .mobile-float-whatsapp::after{
    top:auto !important;
    right:8px !important;
    bottom:8px !important;
    width:9px !important;
    height:9px !important;
    border-width:2px !important;
  }
}

@media (max-width:390px){
  .mobile-float-whatsapp{
    right:10px !important;
    bottom:10px !important;
    width:54px !important;
    min-width:54px !important;
    height:54px !important;
  }

  .mobile-float-whatsapp::before{
    width:26px !important;
    height:26px !important;
    background-size:26px 26px !important;
  }
}

/* =========================================================
   VARIAÇÃO CONVERSÃO — WHATSAPP FLUTUANTE MAIS FORTE
   ========================================================= */
.mobile-float-whatsapp{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  z-index:99999 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:13px !important;

  min-width:214px !important;
  height:62px !important;
  padding:0 24px 0 20px !important;

  background:linear-gradient(135deg,#10b981 0%,#22c55e 48%,#16a34a 100%) !important;
  color:#ffffff !important;
  text-decoration:none !important;
  white-space:nowrap !important;

  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  line-height:1 !important;

  border:1px solid rgba(255,255,255,.26) !important;
  border-radius:18px !important;

  box-shadow:
    0 22px 48px rgba(22,163,74,.34),
    0 10px 24px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -12px 26px rgba(4,120,87,.18) !important;

  transform:translateZ(0) !important;
  overflow:visible !important;
  animation:qmsFloatPulse 2.4s ease-in-out infinite !important;
}

.mobile-float-whatsapp:hover{
  transform:translateY(-3px) scale(1.015) !important;
  filter:brightness(1.04) saturate(1.06) !important;
  box-shadow:
    0 28px 58px rgba(22,163,74,.42),
    0 12px 26px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -12px 26px rgba(4,120,87,.16) !important;
}

.mobile-float-whatsapp:active{
  transform:translateY(0) scale(.985) !important;
}

.mobile-float-whatsapp::before{
  content:"" !important;
  position:relative !important;
  flex:0 0 30px !important;
  width:30px !important;
  height:30px !important;
  inset:auto !important;
  border:0 !important;
  border-radius:999px !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:30px 30px !important;
  box-shadow:none !important;
  transform:none !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='white' d='M26.6 5.4A14.8 14.8 0 0 0 3.7 23.2L2 30l7-1.8A14.8 14.8 0 1 0 26.6 5.4Zm-10.8 22a12 12 0 0 1-6.1-1.7l-.4-.2-4.2 1.1 1.1-4.1-.3-.4a12 12 0 1 1 9.9 5.3Zm6.6-8.9c-.4-.2-2.3-1.1-2.7-1.2-.4-.1-.6-.2-.9.2-.2.4-1 1.2-1.2 1.5-.2.2-.5.3-.9.1-.4-.2-1.7-.6-3.2-2-1.2-1-2-2.3-2.2-2.7-.2-.4 0-.6.2-.8.2-.2.4-.5.6-.7.2-.2.3-.4.4-.6.1-.2.1-.5 0-.7-.1-.2-.9-2.1-1.2-2.8-.3-.8-.7-.6-.9-.6h-.8c-.3 0-.7.1-1 .5-.4.4-1.4 1.4-1.4 3.3s1.4 3.8 1.6 4 .2.3.4.6c2.7 4.1 6.7 5.6 7.3 5.8.6.2 2 .8 3.8.5 1.1-.2 3.4-1.4 3.9-2.7.5-1.3.5-2.4.3-2.7-.2-.3-.4-.3-.8-.5Z'/%3E%3C/svg%3E") !important;
}

.mobile-float-whatsapp::after{
  content:"" !important;
  position:absolute !important;
  top:-6px !important;
  right:-6px !important;
  width:18px !important;
  height:18px !important;
  border-radius:999px !important;
  background:#fef08a !important;
  border:3px solid #ffffff !important;
  box-shadow:0 0 0 6px rgba(254,240,138,.20), 0 8px 18px rgba(0,0,0,.16) !important;
}

@keyframes qmsFloatPulse{
  0%,100%{box-shadow:0 22px 48px rgba(22,163,74,.34),0 10px 24px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.24),inset 0 -12px 26px rgba(4,120,87,.18)}
  50%{box-shadow:0 28px 60px rgba(22,163,74,.44),0 12px 28px rgba(0,0,0,.18),0 0 0 8px rgba(34,197,94,.10),inset 0 1px 0 rgba(255,255,255,.26),inset 0 -12px 26px rgba(4,120,87,.16)}
}

@media (max-width:700px){
  .mobile-float-whatsapp{
    right:14px !important;
    bottom:14px !important;
    min-width:64px !important;
    width:64px !important;
    height:64px !important;
    padding:0 !important;
    gap:0 !important;
    font-size:0 !important;
    color:transparent !important;
    border-radius:20px !important;
    box-shadow:0 18px 42px rgba(22,163,74,.34),0 8px 18px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.22) !important;
  }

  .mobile-float-whatsapp::before{
    flex:0 0 32px !important;
    width:32px !important;
    height:32px !important;
    background-size:32px 32px !important;
  }

  .mobile-float-whatsapp::after{
    top:-5px !important;
    right:-5px !important;
    width:17px !important;
    height:17px !important;
    border-width:3px !important;
  }
}

@media (max-width:390px){
  .mobile-float-whatsapp{
    right:12px !important;
    bottom:12px !important;
    width:60px !important;
    min-width:60px !important;
    height:60px !important;
    border-radius:18px !important;
  }
}


/* =========================================================
   AJUSTE FINAL — IMAGEM REAL NO WHATSAPP FLUTUANTE MOBILE
   Desktop mantém o CTA de conversão; mobile usa a imagem enviada.
   ========================================================= */

@media (max-width:700px){
  .mobile-float-whatsapp{
    right:10px !important;
    bottom:10px !important;

    width:70px !important;
    height:70px !important;
    min-width:70px !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    font-size:0 !important;
    color:transparent !important;
    overflow:visible !important;
    z-index:99999 !important;

    animation:qms-whatsapp-float 2.4s ease-in-out infinite !important;
  }

  .mobile-float-whatsapp::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;

    width:70px !important;
    height:70px !important;
    flex:none !important;

    background-image:url("assets/whatsapp-float-mobile.webp") !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;

    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transform:none !important;
    pointer-events:none !important;
  }

  .mobile-float-whatsapp::after{
    display:none !important;
    content:none !important;
  }

  .mobile-float-whatsapp:hover{
    transform:translateY(-2px) scale(1.03) !important;
    background:transparent !important;
    box-shadow:none !important;
    filter:brightness(1.03) saturate(1.05) !important;
  }

  .mobile-float-whatsapp:active{
    transform:scale(.96) !important;
  }

  @keyframes qms-whatsapp-float{
    0%,100%{ transform:translateY(0) scale(1); }
    50%{ transform:translateY(-3px) scale(1.025); }
  }
}

@media (max-width:390px){
  .mobile-float-whatsapp{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    right:8px !important;
    bottom:8px !important;
  }

  .mobile-float-whatsapp::before{
    width:64px !important;
    height:64px !important;
  }
}


/* =========================================================
   WHATSAPP FLUTUANTE COM IMAGEM — DESKTOP E MOBILE
   Usa a imagem enviada pelo cliente em todos os dispositivos.
   ========================================================= */
.mobile-float-whatsapp{
  display:flex !important;
  position:fixed !important;
  right:18px !important;
  bottom:18px !important;
  width:92px !important;
  height:92px !important;
  min-width:92px !important;
  min-height:92px !important;
  padding:0 !important;
  margin:0 !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  z-index:99999 !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  overflow:visible !important;
  isolation:isolate !important;
  transition:transform .22s ease, filter .22s ease !important;
  animation:qms-float-whatsapp-premium 2.8s ease-in-out infinite !important;
}

.mobile-float-whatsapp::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:url("assets/whatsapp-float-all.webp") center/contain no-repeat !important;
  pointer-events:none !important;
}

.mobile-float-whatsapp::after{
  content:"" !important;
  position:absolute !important;
  inset:10px !important;
  border-radius:50% !important;
  background:radial-gradient(circle, rgba(37,211,102,.18) 0%, rgba(37,211,102,.08) 52%, rgba(37,211,102,0) 74%) !important;
  filter:blur(12px) !important;
  z-index:-1 !important;
  pointer-events:none !important;
}

.mobile-float-whatsapp:hover{
  transform:translateY(-3px) scale(1.045) !important;
  filter:brightness(1.04) saturate(1.06) !important;
}

.mobile-float-whatsapp:active{
  transform:scale(.97) !important;
}

@keyframes qms-float-whatsapp-premium{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-3px) scale(1.02)}
}

@media (max-width:1024px){
  .mobile-float-whatsapp{
    width:84px !important;
    height:84px !important;
    min-width:84px !important;
    min-height:84px !important;
    right:14px !important;
    bottom:14px !important;
  }
}

@media (max-width:700px){
  .mobile-float-whatsapp{
    width:72px !important;
    height:72px !important;
    min-width:72px !important;
    min-height:72px !important;
    right:10px !important;
    bottom:10px !important;
  }
}

@media (max-width:390px){
  .mobile-float-whatsapp{
    width:66px !important;
    height:66px !important;
    min-width:66px !important;
    min-height:66px !important;
    right:8px !important;
    bottom:8px !important;
  }
}


/* AJUSTE FINAL — imagem do WhatsApp em tamanho equilibrado na tela */
.mobile-float-whatsapp{
  display:flex !important;
  position:fixed !important;
  right:18px !important;
  bottom:18px !important;
  width:86px !important;
  height:86px !important;
  min-width:86px !important;
  min-height:86px !important;
  padding:0 !important;
  margin:0 !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  overflow:visible !important;
  z-index:99999 !important;
}
.mobile-float-whatsapp::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:url("assets/whatsapp-float-all.webp") center/contain no-repeat !important;
  pointer-events:none !important;
}
.mobile-float-whatsapp::after{
  content:"" !important;
  position:absolute !important;
  inset:12px !important;
  border-radius:50% !important;
  background:radial-gradient(circle, rgba(37,211,102,.18) 0%, rgba(37,211,102,.07) 56%, rgba(37,211,102,0) 76%) !important;
  filter:blur(10px) !important;
  z-index:-1 !important;
  pointer-events:none !important;
}
@media (max-width:1024px){
  .mobile-float-whatsapp{width:78px !important;height:78px !important;min-width:78px !important;min-height:78px !important;right:14px !important;bottom:14px !important;}
}
@media (max-width:700px){
  .mobile-float-whatsapp{width:70px !important;height:70px !important;min-width:70px !important;min-height:70px !important;right:10px !important;bottom:10px !important;}
}
@media (max-width:390px){
  .mobile-float-whatsapp{width:64px !important;height:64px !important;min-width:64px !important;min-height:64px !important;right:8px !important;bottom:8px !important;}
}


/* =========================================================
   WHATSAPP FLUTUANTE — IMAGEM EXATA ENVIADA PELO USUÁRIO
   Aplicado no desktop e mobile.
   ========================================================= */
a.mobile-float-whatsapp.whatsapp-float-imagem-enviada{
  position:fixed !important;
  right:18px !important;
  bottom:18px !important;
  z-index:999999 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:96px !important;
  height:96px !important;
  min-width:96px !important;
  min-height:96px !important;

  padding:0 !important;
  margin:0 !important;

  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;

  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-indent:0 !important;

  overflow:visible !important;
  isolation:isolate !important;
  transition:transform .22s ease, filter .22s ease !important;
}

a.mobile-float-whatsapp.whatsapp-float-imagem-enviada::before,
a.mobile-float-whatsapp.whatsapp-float-imagem-enviada::after{
  display:none !important;
  content:none !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

.whatsapp-float-imagem-enviada__img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
}

a.mobile-float-whatsapp.whatsapp-float-imagem-enviada:hover{
  transform:translateY(-3px) scale(1.035) !important;
  filter:brightness(1.04) saturate(1.04) !important;
}

a.mobile-float-whatsapp.whatsapp-float-imagem-enviada:active{
  transform:scale(.97) !important;
}

@media (max-width:1024px){
  a.mobile-float-whatsapp.whatsapp-float-imagem-enviada{
    right:14px !important;
    bottom:14px !important;
    width:84px !important;
    height:84px !important;
    min-width:84px !important;
    min-height:84px !important;
  }
}

@media (max-width:700px){
  a.mobile-float-whatsapp.whatsapp-float-imagem-enviada{
    right:10px !important;
    bottom:10px !important;
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    min-height:76px !important;
  }
}

@media (max-width:390px){
  a.mobile-float-whatsapp.whatsapp-float-imagem-enviada{
    right:8px !important;
    bottom:8px !important;
    width:68px !important;
    height:68px !important;
    min-width:68px !important;
    min-height:68px !important;
  }
}

/* ===== FINAL OVERRIDE — WhatsApp sem borrado, só o ícone ===== */
a.mobile-float-whatsapp.whatsapp-float-imagem-enviada,
a.mobile-float-whatsapp.whatsapp-float-imagem-enviada:hover,
a.mobile-float-whatsapp.whatsapp-float-imagem-enviada:active{
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

a.mobile-float-whatsapp.whatsapp-float-imagem-enviada::before,
a.mobile-float-whatsapp.whatsapp-float-imagem-enviada::after{
  display:none !important;
  content:none !important;
  background:none !important;
  box-shadow:none !important;
  filter:none !important;
}

.whatsapp-float-imagem-enviada__img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}

/* ===== FINAL AJUSTE — WhatsApp menor e imagem inteira sem cortes ===== */
a.mobile-float-whatsapp.whatsapp-float-imagem-enviada{
  right:16px !important;
  bottom:16px !important;
  width:82px !important;
  height:82px !important;
  min-width:82px !important;
  min-height:82px !important;
}

.whatsapp-float-imagem-enviada__img{
  width:86% !important;
  height:86% !important;
  max-width:86% !important;
  max-height:86% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

@media (max-width:1024px){
  a.mobile-float-whatsapp.whatsapp-float-imagem-enviada{
    right:14px !important;
    bottom:14px !important;
    width:74px !important;
    height:74px !important;
    min-width:74px !important;
    min-height:74px !important;
  }
}

@media (max-width:700px){
  a.mobile-float-whatsapp.whatsapp-float-imagem-enviada{
    right:10px !important;
    bottom:10px !important;
    width:68px !important;
    height:68px !important;
    min-width:68px !important;
    min-height:68px !important;
  }

  .whatsapp-float-imagem-enviada__img{
    width:84% !important;
    height:84% !important;
    max-width:84% !important;
    max-height:84% !important;
  }
}

@media (max-width:390px){
  a.mobile-float-whatsapp.whatsapp-float-imagem-enviada{
    right:8px !important;
    bottom:8px !important;
    width:62px !important;
    height:62px !important;
    min-width:62px !important;
    min-height:62px !important;
  }

  .whatsapp-float-imagem-enviada__img{
    width:82% !important;
    height:82% !important;
    max-width:82% !important;
    max-height:82% !important;
  }
}


/* =========================================================
   LINK DO BANNER HERO — torna o botão visual do banner clicável
   ========================================================= */
.hero-banner-link{
  display:block !important;
  text-decoration:none !important;
  color:inherit !important;
  cursor:pointer !important;
}
.hero-banner-link .hero-banner-picture,
.hero-banner-link .hero-banner-img{
  display:block !important;
}
.hero-banner-link:focus-visible{
  outline:3px solid rgba(11,111,255,.55) !important;
  outline-offset:4px !important;
  border-radius:24px !important;
}


/* =========================================================
   CORREÇÃO FINAL — LINK DA HERO SOMENTE EM CIMA DO BOTÃO
   ========================================================= */

/* Remove clique de overlays e pseudo-elementos da hero */
.hero::before,
.hero::after,
.hero-section::before,
.hero-section::after,
.hero-banner::before,
.hero-banner::after,
.hero-visual::before,
.hero-visual::after,
.hero-media::before,
.hero-media::after{
  pointer-events:none !important;
}

/* Se algum link do WhatsApp ficou como camada dentro do banner, ele não cobre a imagem toda */
.hero a[href*="wa.me"]:not(.hero-btn):not(.hero-cta):not(.btn-primary):not(.banner-btn):not(.mobile-float-whatsapp),
.hero-section a[href*="wa.me"]:not(.hero-btn):not(.hero-cta):not(.btn-primary):not(.banner-btn):not(.mobile-float-whatsapp),
.hero-banner a[href*="wa.me"]:not(.hero-btn):not(.hero-cta):not(.btn-primary):not(.banner-btn):not(.mobile-float-whatsapp),
.hero-content a[href*="wa.me"]:not(.hero-btn):not(.hero-cta):not(.btn-primary):not(.banner-btn):not(.mobile-float-whatsapp){
  position:static !important;
  inset:auto !important;
  width:auto !important;
  height:auto !important;
}

/* Só o botão principal da hero fica clicável */
.hero-btn,
.hero-cta,
.banner-btn,
.hero .btn-primary,
.hero-section .btn-primary,
.hero-banner .btn-primary,
.hero-content .btn-primary{
  position:relative !important;
  z-index:20 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}

/* Imagens/mockups da hero não viram área clicável */
.hero img,
.hero-banner img,
.hero-section img,
.hero picture,
.hero-banner picture,
.hero-section picture,
.hero-visual,
.hero-media{
  pointer-events:none !important;
}


/* =========================================================
   LINK DO BANNER — SOMENTE SOBRE O BOTÃO "FALAR NO WHATSAPP"
   ========================================================= */
.hero-banner-wrap{
  position:relative !important;
  display:block !important;
  width:100% !important;
}

.hero-banner-wrap .hero-banner-picture,
.hero-banner-wrap .hero-banner-img{
  display:block !important;
  width:100% !important;
}

.hero-whatsapp-hotspot{
  position:absolute !important;
  display:block !important;
  z-index:50 !important;

  /* Coordenadas do botão azul dentro do banner desktop 1600x900 */
  left:3.2% !important;
  top:54.5% !important;
  width:19.2% !important;
  height:8.3% !important;

  background:rgba(0,0,0,0) !important;
  border:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  border-radius:10px !important;
}

.hero-whatsapp-hotspot:hover{
  background:rgba(255,255,255,.04) !important;
}

.hero-whatsapp-hotspot:focus-visible{
  outline:3px solid rgba(255,255,255,.78) !important;
  outline-offset:3px !important;
}

/* Imagem inteira não recebe clique. Somente o hotspot acima. */
.hero-banner-picture,
.hero-banner-img{
  pointer-events:none !important;
}

/* Coordenadas do botão azul dentro do banner mobile 920x1633 */
@media (max-width:767px){
  .hero-whatsapp-hotspot{
    left:6.8% !important;
    top:36.9% !important;
    width:44.6% !important;
    height:5.8% !important;
    border-radius:12px !important;
  }
}


/* =========================================================
   LINK DO BANNER — BOTÃO "VER EXEMPLOS" PARA A SEÇÃO EXEMPLOS
   ========================================================= */
.hero-exemplos-hotspot{
  position:absolute !important;
  display:block !important;
  z-index:51 !important;

  /* Coordenadas do botão "Ver exemplos" no banner desktop 1600x900 */
  left:23.7% !important;
  top:54.5% !important;
  width:15.7% !important;
  height:8.3% !important;

  background:rgba(0,0,0,0) !important;
  border:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  border-radius:10px !important;
}

.hero-exemplos-hotspot:hover{
  background:rgba(255,255,255,.035) !important;
}

.hero-exemplos-hotspot:focus-visible{
  outline:3px solid rgba(255,255,255,.78) !important;
  outline-offset:3px !important;
}

/* Coordenadas do botão "Ver exemplos" no banner mobile */
@media (max-width:767px){
  .hero-exemplos-hotspot{
    left:55.0% !important;
    top:36.9% !important;
    width:37.2% !important;
    height:5.8% !important;
    border-radius:12px !important;
  }
}

/* SEO/acessibilidade: título principal para leitores de tela sem alterar o layout */
.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}


/* =========================================================
   FAQ — versão sem foto de pessoa
   ========================================================= */
.faq-card{
  grid-template-columns:1fr 1fr !important;
  align-items:center !important;
}

.faq-card .faq-person-img,
.faq-card img[src*="faq-atendente"]{
  display:none !important;
}

.faq-visual-clean{
  position:relative !important;
  min-height:280px !important;
  margin:24px 24px 24px 0 !important;
  padding:30px 26px !important;
  border-radius:28px !important;
  border:1px solid rgba(24,100,255,.18) !important;
  background:
    radial-gradient(circle at 75% 18%, rgba(0,102,255,.18), transparent 34%),
    linear-gradient(145deg, #f7faff 0%, #ffffff 52%, #eef4ff 100%) !important;
  box-shadow:0 22px 48px rgba(5,28,80,.10) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:12px !important;
}

.faq-visual-clean::before{
  content:"" !important;
  position:absolute !important;
  inset:18px !important;
  border:1px solid rgba(0,102,255,.10) !important;
  border-radius:22px !important;
  pointer-events:none !important;
}

.faq-visual-glow{
  position:absolute !important;
  width:150px !important;
  height:150px !important;
  right:-44px !important;
  top:-42px !important;
  border-radius:50% !important;
  background:rgba(0,102,255,.16) !important;
  filter:blur(4px) !important;
}

.faq-visual-icon{
  width:58px !important;
  height:58px !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(135deg,#0066ff,#0f2f88) !important;
  color:#fff !important;
  font-size:30px !important;
  font-weight:900 !important;
  box-shadow:0 16px 34px rgba(0,102,255,.28) !important;
  position:relative !important;
  z-index:1 !important;
}

.faq-visual-clean strong{
  color:#081a43 !important;
  font-size:24px !important;
  line-height:1.05 !important;
  letter-spacing:-.04em !important;
  position:relative !important;
  z-index:1 !important;
}

.faq-visual-clean span{
  color:#5f6d87 !important;
  font-size:14px !important;
  line-height:1.55 !important;
  position:relative !important;
  z-index:1 !important;
}

.faq-visual-list{
  margin-top:6px !important;
  display:grid !important;
  gap:9px !important;
  position:relative !important;
  z-index:1 !important;
}

.faq-visual-list small{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  color:#243450 !important;
  font-size:13px !important;
  font-weight:800 !important;
}

.faq-visual-list small::before{
  content:"" !important;
  width:8px !important;
  height:8px !important;
  border-radius:50% !important;
  background:#0066ff !important;
  box-shadow:0 0 0 5px rgba(0,102,255,.10) !important;
  flex:0 0 auto !important;
}

@media (max-width:767px){
  .faq-card{
    grid-template-columns:1fr !important;
  }

  .faq-visual-clean{
    min-height:220px !important;
    margin:0 20px 22px !important;
    padding:26px 22px !important;
  }
}


/* =========================================================
   FAQ PREMIUM VISUAL SEM FOTO - ajuste final
========================================================= */
.faq .faq-card{
  position:relative !important;
  min-height:360px !important;
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr) !important;
  align-items:center !important;
  gap:20px !important;
  overflow:hidden !important;
  border-radius:24px !important;
  border:1px solid rgba(0,102,255,.16) !important;
  background:
    radial-gradient(circle at 82% 12%, rgba(0,102,255,.16), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 48%,#eef5ff 100%) !important;
  box-shadow:0 24px 60px rgba(8,26,67,.10) !important;
}

.faq .faq-card::before{
  content:"" !important;
  position:absolute !important;
  inset:auto -80px -120px auto !important;
  width:280px !important;
  height:280px !important;
  border-radius:50% !important;
  background:rgba(0,102,255,.14) !important;
  filter:blur(10px) !important;
  pointer-events:none !important;
}

.faq .faq-text{
  position:relative !important;
  z-index:2 !important;
  padding:44px 0 44px 42px !important;
}

.faq .faq-kicker{
  display:inline-flex !important;
  align-items:center !important;
  height:26px !important;
  padding:0 12px !important;
  margin:0 0 14px !important;
  border-radius:999px !important;
  background:rgba(0,102,255,.10) !important;
  color:#0059e8 !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
}

.faq .faq-text h3{
  max-width:260px !important;
  font-size:36px !important;
  line-height:.95 !important;
  letter-spacing:-.055em !important;
  color:#061936 !important;
  margin:0 0 14px !important;
  font-weight:950 !important;
}

.faq .faq-text p{
  max-width:265px !important;
  font-size:15px !important;
  color:#5a6882 !important;
  line-height:1.62 !important;
  margin:0 0 22px !important;
}

.faq .faq-text a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:0 22px !important;
  border-radius:12px !important;
  background:linear-gradient(135deg,#0066ff,#0b2d89) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  box-shadow:0 18px 36px rgba(0,102,255,.28) !important;
}

.faq .faq-visual-clean,
.faq .faq-card .faq-person-img,
.faq .faq-card img[src*="faq-atendente"]{
  display:none !important;
}

.faq .faq-premium-visual{
  position:relative !important;
  z-index:1 !important;
  min-height:320px !important;
  margin:28px 34px 28px 0 !important;
  display:grid !important;
  place-items:center !important;
}

.faq .premium-orbit{
  position:absolute !important;
  inset:22px 26px !important;
  border-radius:32px !important;
  border:1px solid rgba(0,102,255,.14) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(230,240,255,.72)),
    radial-gradient(circle at 50% 10%, rgba(0,102,255,.22), transparent 42%) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.78), 0 20px 50px rgba(8,26,67,.08) !important;
}

.faq .premium-phone{
  position:relative !important;
  width:210px !important;
  min-height:248px !important;
  padding:28px 24px 24px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,#091d45,#06142f) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 30px 70px rgba(8,26,67,.30) !important;
  color:#fff !important;
}

.faq .premium-phone-bar{
  position:absolute !important;
  top:14px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:54px !important;
  height:5px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.24) !important;
}

.faq .premium-check{
  width:58px !important;
  height:58px !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:16px 0 18px !important;
  background:linear-gradient(135deg,#1e83ff,#0d46d8) !important;
  color:#fff !important;
  font-size:30px !important;
  font-weight:950 !important;
  box-shadow:0 18px 36px rgba(0,102,255,.36) !important;
}

.faq .premium-phone strong{
  display:block !important;
  font-size:27px !important;
  line-height:1 !important;
  letter-spacing:-.05em !important;
  margin:0 0 10px !important;
  color:#fff !important;
}

.faq .premium-phone p{
  margin:0 !important;
  max-width:160px !important;
  color:#bdcaff !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.faq .premium-lines{
  display:grid !important;
  gap:9px !important;
  margin-top:22px !important;
}

.faq .premium-lines i{
  display:block !important;
  height:8px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, rgba(255,255,255,.32), rgba(255,255,255,.08)) !important;
}

.faq .premium-lines i:nth-child(2){width:78% !important;}
.faq .premium-lines i:nth-child(3){width:56% !important;}

.faq .premium-card-mini{
  position:absolute !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-height:54px !important;
  padding:12px 14px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(0,102,255,.14) !important;
  box-shadow:0 18px 36px rgba(8,26,67,.12) !important;
  backdrop-filter:blur(12px) !important;
}

.faq .premium-card-mini span{
  width:30px !important;
  height:30px !important;
  border-radius:10px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(0,102,255,.10) !important;
  color:#0066ff !important;
  font-weight:950 !important;
}

.faq .premium-card-mini strong{
  color:#061936 !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
}

.faq .premium-card-top{
  top:30px !important;
  right:8px !important;
}

.faq .premium-card-bottom{
  left:2px !important;
  bottom:34px !important;
}

@media (max-width:980px){
  .faq .faq-card{
    grid-template-columns:1fr !important;
  }
  .faq .faq-text{
    padding:32px 28px 6px !important;
  }
  .faq .faq-premium-visual{
    margin:0 24px 26px !important;
  }
  .faq .premium-card-bottom{left:18px !important;}
  .faq .premium-card-top{right:18px !important;}
}

@media (max-width:560px){
  .faq .faq-text h3{
    font-size:31px !important;
    max-width:240px !important;
  }
  .faq .faq-premium-visual{
    min-height:300px !important;
    margin:0 16px 22px !important;
  }
  .faq .premium-phone{
    width:190px !important;
    min-height:230px !important;
  }
  .faq .premium-card-mini{
    transform:scale(.9) !important;
  }
  .faq .premium-card-top{right:-4px !important;}
  .faq .premium-card-bottom{left:-4px !important;}
}


/* === NOVA IDEIA PREMIUM FAQ - SEM FOTO DE PESSOA === */
.faq .faq-card.faq-card-nova-ideia{
  position:relative !important;
  overflow:hidden !important;
  min-height:430px !important;
  padding:42px 46px !important;
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(310px,.95fr) !important;
  align-items:center !important;
  gap:34px !important;
  border-radius:28px !important;
  border:1px solid rgba(0,102,255,.18) !important;
  background:
    radial-gradient(circle at 84% 20%, rgba(0,102,255,.12), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 48%,#eef5ff 100%) !important;
  box-shadow:0 28px 70px rgba(8,26,67,.10) !important;
}
.faq .faq-card.faq-card-nova-ideia::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle, rgba(0,102,255,.16) 1.2px, transparent 1.4px) 76% 22%/18px 18px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.75) 42%, transparent 100%) !important;
  pointer-events:none !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-text{
  position:relative !important;
  z-index:2 !important;
  padding:0 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-kicker{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  height:32px !important;
  padding:0 14px !important;
  margin:0 0 24px !important;
  border-radius:999px !important;
  background:rgba(0,102,255,.10) !important;
  color:#326dff !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-kicker i{
  font-style:normal !important;
  color:#145dff !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-text h3{
  max-width:330px !important;
  margin:0 0 22px !important;
  color:#071733 !important;
  font-size:clamp(36px,3.1vw,52px) !important;
  line-height:.95 !important;
  letter-spacing:-.065em !important;
  font-weight:950 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-text p{
  max-width:330px !important;
  margin:0 0 28px !important;
  color:#53647f !important;
  font-size:16px !important;
  line-height:1.72 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
  width:min(100%,330px) !important;
  min-height:58px !important;
  padding:0 22px !important;
  border-radius:12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:11px !important;
  background:linear-gradient(135deg,#086cff 0%,#0649d8 52%,#08247c 100%) !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:950 !important;
  box-shadow:0 22px 45px rgba(0,86,220,.26) !important;
  text-decoration:none !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn span{
  width:28px !important;
  height:28px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  border:2px solid rgba(255,255,255,.85) !important;
  font-size:17px !important;
  line-height:1 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn b{
  font-size:24px !important;
  line-height:1 !important;
  margin-left:auto !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-secure-note{
  margin-top:22px !important;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  color:#6b7a94 !important;
  font-size:14px !important;
  font-weight:700 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-secure-note span{
  width:21px !important;
  height:21px !important;
  border-radius:8px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(0,102,255,.10) !important;
  color:#1a6dff !important;
}
.faq .faq-premium-board{
  position:relative !important;
  z-index:2 !important;
  min-height:360px !important;
  display:grid !important;
  place-items:center !important;
}
.faq .faq-board-bg{
  position:absolute !important;
  inset:20px 0 6px 24px !important;
  border-radius:34px !important;
  background:
    linear-gradient(145deg,rgba(221,235,255,.92),rgba(245,249,255,.94)),
    radial-gradient(circle at 70% 12%,rgba(0,102,255,.18),transparent 40%) !important;
  border:1px solid rgba(0,102,255,.14) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),0 28px 60px rgba(8,26,67,.10) !important;
}
.faq .faq-board-bg::before{
  content:"" !important;
  position:absolute !important;
  left:-42px !important;
  top:36px !important;
  width:136px !important;
  height:136px !important;
  border-radius:26px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(0,102,255,.10) !important;
  transform:rotate(-5deg) !important;
}
.faq .faq-main-bubble{
  position:absolute !important;
  top:46px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:126px !important;
  height:110px !important;
  border-radius:30px !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(180deg,#f9fcff,#e9f2ff) !important;
  box-shadow:0 20px 48px rgba(8,26,67,.12) !important;
}
.faq .faq-main-bubble::after{
  content:"" !important;
  position:absolute !important;
  right:10px !important;
  top:-8px !important;
  width:18px !important;
  height:18px !important;
  border-radius:50% !important;
  background:#28d26f !important;
  border:4px solid #eaf4ff !important;
}
.faq .faq-check-icon{
  width:72px !important;
  height:72px !important;
  border-radius:24px !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(135deg,#1b78ff,#0738bf) !important;
  color:#fff !important;
  font-size:42px !important;
  font-weight:950 !important;
  box-shadow:0 18px 38px rgba(0,86,220,.30) !important;
}
.faq .faq-solution-list{
  position:relative !important;
  z-index:3 !important;
  width:min(100%,300px) !important;
  margin-left:auto !important;
  margin-right:8px !important;
  padding-top:116px !important;
  display:grid !important;
  gap:13px !important;
}
.faq .faq-solution-item{
  min-height:78px !important;
  display:grid !important;
  grid-template-columns:44px 1fr !important;
  align-items:center !important;
  gap:14px !important;
  padding:15px 16px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(0,102,255,.10) !important;
  box-shadow:0 18px 34px rgba(8,26,67,.10) !important;
  backdrop-filter:blur(12px) !important;
}
.faq .faq-solution-item span{
  width:38px !important;
  height:38px !important;
  border-radius:14px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(0,102,255,.10) !important;
  color:#146dff !important;
  font-size:18px !important;
  font-weight:950 !important;
}
.faq .faq-solution-item strong{
  display:block !important;
  color:#13223a !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:950 !important;
  margin:0 0 4px !important;
}
.faq .faq-solution-item small{
  display:block !important;
  color:#60708b !important;
  font-size:12px !important;
  line-height:1.38 !important;
}
@media (max-width:1100px){
  .faq .faq-card.faq-card-nova-ideia{
    grid-template-columns:1fr !important;
    padding:34px 28px !important;
  }
  .faq .faq-premium-board{
    min-height:340px !important;
  }
  .faq .faq-solution-list{
    margin:0 auto !important;
  }
  .faq .faq-board-bg{
    inset:16px 24px 0 !important;
  }
}
@media (max-width:560px){
  .faq .faq-card.faq-card-nova-ideia{
    padding:26px 18px !important;
    border-radius:22px !important;
    gap:24px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-text h3{
    font-size:34px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-text p{
    font-size:14px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
    width:100% !important;
    min-height:54px !important;
    font-size:14px !important;
  }
  .faq .faq-premium-board{
    min-height:330px !important;
  }
  .faq .faq-board-bg{
    inset:10px 8px 0 !important;
    border-radius:26px !important;
  }
  .faq .faq-solution-list{
    width:100% !important;
    padding-top:112px !important;
  }
  .faq .faq-solution-item{
    grid-template-columns:38px 1fr !important;
    padding:13px 14px !important;
  }
}

/* === CORREÇÃO FINAL FAQ: legível, sem sobreposição === */
.faq .container{
  max-width: 1220px !important;
  width: min(100% - 32px, 1220px) !important;
}
.faq .faq-grid{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 30px !important;
  align-items: stretch !important;
}
.faq .faq-card.faq-card-nova-ideia{
  min-width: 0 !important;
  width: 100% !important;
  min-height: 500px !important;
  padding: 34px 30px !important;
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(230px, 1fr) !important;
  gap: 24px !important;
  align-items: center !important;
  overflow: hidden !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-text{
  min-width: 0 !important;
  max-width: 100% !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-kicker{
  margin-bottom: 18px !important;
  font-size: 11px !important;
  height: 30px !important;
  padding: 0 12px !important;
  white-space: nowrap !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-text h3{
  max-width: 260px !important;
  font-size: clamp(32px, 3vw, 42px) !important;
  line-height: .98 !important;
  letter-spacing: -0.055em !important;
  margin: 0 0 18px !important;
  overflow-wrap: normal !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-text p{
  max-width: 270px !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
  margin: 0 0 22px !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
  width: 100% !important;
  max-width: 270px !important;
  min-width: 0 !important;
  min-height: 52px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-secure-note{
  margin-top: 18px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-premium-board{
  min-width: 0 !important;
  width: 100% !important;
  min-height: 350px !important;
  overflow: visible !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-board-bg{
  inset: 18px 0 0 0 !important;
  border-radius: 30px !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-board-bg::before{
  left: -22px !important;
  top: 46px !important;
  width: 96px !important;
  height: 96px !important;
  border-radius: 22px !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-main-bubble{
  top: 40px !important;
  width: 110px !important;
  height: 96px !important;
  border-radius: 26px !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-check-icon{
  width: 62px !important;
  height: 62px !important;
  border-radius: 20px !important;
  font-size: 36px !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-solution-list{
  width: 100% !important;
  max-width: 270px !important;
  margin: 0 auto !important;
  padding-top: 130px !important;
  gap: 12px !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-solution-item{
  min-height: 70px !important;
  grid-template-columns: 38px minmax(0,1fr) !important;
  gap: 12px !important;
  padding: 13px 14px !important;
  border-radius: 15px !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-solution-item span{
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-solution-item strong{
  font-size: 12.5px !important;
  line-height: 1.2 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-solution-item small{
  font-size: 11.5px !important;
  line-height: 1.32 !important;
}

@media (max-width: 1180px){
  .faq .faq-grid{
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
    gap: 22px !important;
  }
  .faq .faq-card.faq-card-nova-ideia{
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    padding: 30px 26px !important;
    gap: 26px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-text h3,
  .faq .faq-card.faq-card-nova-ideia .faq-text p,
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
    max-width: 100% !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-premium-board{
    min-height: 325px !important;
  }
}

@media (max-width: 900px){
  .faq .faq-grid{
    grid-template-columns: 1fr !important;
  }
  .faq .faq-card.faq-card-nova-ideia{
    max-width: 620px !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 560px){
  .faq .container{
    width: min(100% - 24px, 1220px) !important;
  }
  .faq .faq-card.faq-card-nova-ideia{
    padding: 24px 18px !important;
    border-radius: 22px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-text h3{
    font-size: 31px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-premium-board{
    min-height: 315px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-solution-list{
    max-width: 100% !important;
    padding-top: 120px !important;
  }
}

/* Removido conforme ajuste: selo superior e nota inferior da FAQ */
.faq-kicker,.faq-secure-note{display:none!important}


/* ===== CTA extra na seção de planos ===== */
.plans-grid-wrap{
  align-items:start !important;
}
.plans-side{
  align-content:start;
}
.plans-cta-card{
  margin-top:6px;
  background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%);
  border:1px solid #cfd9ff;
  border-radius:22px;
  padding:18px 18px 16px;
  box-shadow:0 22px 42px rgba(17,32,76,.10), inset 0 1px 0 rgba(255,255,255,.9);
}
.plans-cta-head{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom:14px;
}
.plans-cta-icon{
  width:44px;
  height:44px;
  flex:none;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:22px;
  color:#386bff;
  background:linear-gradient(180deg,#ffffff 0%,#eef4ff 100%);
  border:1px solid #d7e0ff;
  box-shadow:0 10px 22px rgba(48,91,222,.10);
}
.plans-cta-head h4{
  margin:0 0 6px;
  font-size:18px;
  line-height:1.2;
  font-weight:900;
  color:#11192e;
}
.plans-cta-head p{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#6d7891;
}
.plans-cta-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px;
  border-radius:14px;
  background:linear-gradient(90deg,#1b56ff 0%,#376dff 100%);
  color:#fff !important;
  font-size:16px;
  font-weight:800;
  box-shadow:0 16px 30px rgba(31,86,255,.24);
}
.plans-cta-button:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(31,86,255,.28);
}
.plans-cta-meta{
  margin-top:12px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:space-between;
}
.plans-cta-meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:700;
  color:#6d7891;
}
.plans-cta-meta span::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:#6b86ff;
  box-shadow:0 0 0 4px rgba(107,134,255,.12);
}
@media (max-width: 980px){
  .plans-cta-card{
    margin-top:2px;
  }
}
@media (max-width: 768px){
  .plans-cta-card{
    border-radius:20px;
    padding:16px;
  }
  .plans-cta-head h4{
    font-size:17px;
  }
  .plans-cta-head p{
    font-size:13px;
  }
  .plans-cta-meta{
    justify-content:flex-start;
  }
}


/* ===== Ícones premium da seção de planos ===== */
.side-feature .side-icon,
.plans-cta-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  flex:none;
  display:grid;
  place-items:center;
  color:#2b5dff;
  background:linear-gradient(180deg,#ffffff 0%,#eef4ff 100%);
  border:1px solid #d7e1ff;
  box-shadow:0 14px 28px rgba(44,88,230,.10), inset 0 1px 0 rgba(255,255,255,.95);
}
.side-feature .side-icon svg,
.plans-cta-icon svg{
  width:28px;
  height:28px;
  display:block;
}
.side-feature .side-icon-bolt svg{width:24px;height:24px}
.side-feature .side-icon-users svg{width:26px;height:26px}
.side-feature .side-icon{
  position:relative;
}
.side-feature .side-icon::after,
.plans-cta-icon::after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:14px;
  border:1px solid rgba(86,117,255,.10);
  pointer-events:none;
}
.side-feature i{display:none !important}
.side-feature{
  gap:18px !important;
  align-items:center !important;
}
.side-feature > div{min-width:0}

.plans-cta-card{
  overflow:hidden;
}
.plans-cta-card::before{
  content:"";
  position:absolute;
  inset:-35% auto auto -8%;
  width:160px;
  height:160px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(75,120,255,.12) 0%,rgba(75,120,255,0) 68%);
  pointer-events:none;
}
.plans-cta-head{position:relative;z-index:1}
.plans-cta-button{
  position:relative;
  z-index:1;
  gap:10px;
  letter-spacing:-.01em;
}
.plans-cta-button-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  color:#fff;
  flex:none;
}
.plans-cta-button-icon svg{
  width:22px;
  height:22px;
  display:block;
}
.plans-cta-meta{
  position:relative;
  z-index:1;
}
@media (max-width: 768px){
  .side-feature .side-icon,
  .plans-cta-icon{
    width:48px;
    height:48px;
    border-radius:16px;
  }
  .side-feature .side-icon svg,
  .plans-cta-icon svg{
    width:24px;
    height:24px;
  }
}


/* Ajuste de legibilidade do ícone CTA lateral */
.plans-cta-icon{
  align-self:flex-start;
}
.plans-cta-icon svg{
  width:30px !important;
  height:30px !important;
  overflow:visible;
}
.plans-cta-head{
  align-items:flex-start;
}

.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn span svg{width:16px !important;height:16px !important;display:block !important;color:#fff !important;}

/* Ícone novo do botão FAQ/orientação rápida */
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-action-icon{
  width:28px !important;
  height:28px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  border:2px solid rgba(255,255,255,.82) !important;
  color:#fff !important;
  flex:none !important;
  background:rgba(255,255,255,.08) !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-action-icon svg{
  width:16px !important;
  height:16px !important;
  display:block !important;
}

/* Ícone foguete do botão FAQ/orientação rápida */
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-rocket-icon{
  width:28px !important;
  height:28px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  border:2px solid rgba(255,255,255,.84) !important;
  color:#fff !important;
  flex:none !important;
  background:rgba(255,255,255,.10) !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-rocket-icon svg{
  width:17px !important;
  height:17px !important;
  display:block !important;
}


/* Ícone telefone alternativo no botão FAQ */
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-phone-icon{
  width:28px !important;
  height:28px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  border:2px solid rgba(255,255,255,.84) !important;
  color:#fff !important;
  flex:none !important;
  background:rgba(255,255,255,.10) !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-phone-icon svg{
  width:17px !important;
  height:17px !important;
  display:block !important;
}


/* Ícone telefone sem círculo no botão FAQ */
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-phone-plain{
  width:20px !important;
  height:20px !important;
  display:inline-grid !important;
  place-items:center !important;
  color:#fff !important;
  flex:none !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-phone-plain svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
}


/* ===== Redesign do botão FAQ WhatsApp ===== */
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
  width:min(100%,356px) !important;
  min-height:64px !important;
  padding:12px 14px 12px 16px !important;
  border-radius:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  background:linear-gradient(135deg,#0b6dff 0%,#0a50ea 52%,#0b2f9f 100%) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 18px 38px rgba(5,76,212,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
  text-decoration:none !important;
  overflow:hidden !important;
  position:relative !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 38%);
  pointer-events:none;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn > .faq-btn-phone-redesign{
  width:22px !important;
  height:22px !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  flex:none !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  position:relative !important;
  z-index:1 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn > .faq-btn-phone-redesign svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn > .faq-btn-copy{
  min-width:0 !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  color:#fff !important;
  border:none !important;
  width:auto !important;
  height:auto !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  place-items:initial !important;
  position:relative !important;
  z-index:1 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn > .faq-btn-copy small{
  margin:0 !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:rgba(255,255,255,.72) !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn > .faq-btn-copy strong{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  color:#fff !important;
  white-space:normal !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn > b{
  width:34px !important;
  height:34px !important;
  flex:none !important;
  display:grid !important;
  place-items:center !important;
  margin-left:0 !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  font-size:18px !important;
  line-height:1 !important;
  color:#fff !important;
  position:relative !important;
  z-index:1 !important;
}
@media (max-width: 767px){
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
    width:100% !important;
    min-height:60px !important;
    padding:11px 13px 11px 14px !important;
    border-radius:16px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn > .faq-btn-copy strong{
    font-size:14px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn > b{
    width:32px !important;
    height:32px !important;
    border-radius:10px !important;
  }
}

/* ===== Botão FAQ corrigido: sem quebra de linha interna ===== */
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
  width:min(100%,360px) !important;
  min-height:56px !important;
  padding:0 16px !important;
  border-radius:16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  background:linear-gradient(135deg,#0b6dff 0%,#0753ea 54%,#082f9f 100%) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 18px 38px rgba(5,76,212,.26), inset 0 1px 0 rgba(255,255,255,.18) !important;
  color:#fff !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  line-height:1 !important;
  overflow:hidden !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-phone-clean{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-phone-clean svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn strong{
  color:#fff !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  display:block !important;
  min-width:0 !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn b{
  width:auto !important;
  height:auto !important;
  flex:0 0 auto !important;
  display:block !important;
  margin-left:2px !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  font-size:23px !important;
  line-height:.7 !important;
  color:#fff !important;
}
@media (max-width: 420px){
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
    width:100% !important;
    gap:8px !important;
    padding:0 12px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn strong{
    font-size:13.5px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-phone-clean{
    width:18px !important;
    height:18px !important;
    flex-basis:18px !important;
  }
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-phone-clean svg{
    width:18px !important;
    height:18px !important;
  }
}

/* Remove a seta final do botão FAQ */
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn b{
  display:none !important;
}

/* Ajuste final: conteúdo centralizado no botão FAQ */
.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  text-align:center !important;
  padding:0 22px !important;
  white-space:nowrap !important;
}

.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn .faq-btn-phone-clean{
  margin:0 !important;
  flex:0 0 auto !important;
}

.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn strong{
  margin:0 !important;
  flex:0 0 auto !important;
  display:inline-block !important;
  text-align:center !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn b{
  display:none !important;
}

@media (max-width: 420px){
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
    gap:8px !important;
    padding:0 14px !important;
  }
}

/* Remover a bolinha verde do card da seção FAQ */
.faq .faq-main-bubble::after{
  display:none !important;
  content:none !important;
}

/* Ícones mais coerentes na seção de orientação rápida */
.faq .faq-solution-item span svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
}
.faq .faq-card.faq-card-nova-ideia .faq-solution-item span svg{
  width:16px !important;
  height:16px !important;
}

/* Destaque maior no botão CTA final */
.cta-white{
  background: linear-gradient(135deg, #ff8a00 0%, #ff6a00 48%, #ff4d00 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 40px rgba(255,106,0,.34), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.cta-white::before{
  background: linear-gradient(180deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 55%) !important;
}
.cta-white::after{
  background: linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,0)) !important;
  opacity: .7 !important;
}
.cta-white span{
  color: #ffffff !important;
}
.cta-white:hover{
  background: linear-gradient(135deg, #ff950f 0%, #ff730f 48%, #ff5a1f 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 22px 44px rgba(255,106,0,.40), inset 0 1px 0 rgba(255,255,255,.20) !important;
}


/* CTA final com a cor azul da logo do site */
.cta-white{
  background: linear-gradient(135deg, #0a84ff 0%, #0b6dff 48%, #2457ff 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 40px rgba(11,109,255,.34), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.cta-white::before{
  background: linear-gradient(180deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 55%) !important;
}
.cta-white::after{
  background: linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,0)) !important;
  opacity: .72 !important;
}
.cta-white span{
  color: #ffffff !important;
}
.cta-white:hover{
  background: linear-gradient(135deg, #1490ff 0%, #0c74ff 48%, #2c63ff 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 22px 44px rgba(11,109,255,.40), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* Botão do cabeçalho com a mesma cor azul da CTA */
.header-whatsapp-btn{
  background: linear-gradient(135deg, #0a84ff 0%, #0b6dff 48%, #2457ff 100%) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 40px rgba(11,109,255,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
  border-radius: 8px !important;
}

.header-whatsapp-btn span{
  color:#ffffff !important;
  font-weight:700 !important;
}

.header-whatsapp-btn:hover{
  background: linear-gradient(135deg, #1490ff 0%, #0c74ff 48%, #2c63ff 100%) !important;
  color:#ffffff !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 22px 44px rgba(11,109,255,.34), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* Botão do menu mobile com a mesma cor azul da logo/CTAs */
@media (max-width:700px){
  .mobile-header-menu .mobile-menu-cta{
    background: linear-gradient(135deg, #0a84ff 0%, #0b6dff 48%, #2457ff 100%) !important;
    color:#ffffff !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow: 0 18px 40px rgba(11,109,255,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
    border-radius: 10px !important;
    font-weight:700 !important;
  }
  .mobile-header-menu .mobile-menu-cta:hover{
    background: linear-gradient(135deg, #1490ff 0%, #0c74ff 48%, #2c63ff 100%) !important;
    color:#ffffff !important;
    border-color: rgba(255,255,255,.18) !important;
    box-shadow: 0 22px 44px rgba(11,109,255,.34), inset 0 1px 0 rgba(255,255,255,.20) !important;
  }
}

/* Fonte mais fina no texto do botão CTA final */
.cta-white{
  font-weight:600 !important;
}

.cta-white span{
  font-weight:400 !important;
}

.cta-white,
.cta-white *{
  letter-spacing:0 !important;
}


/* =========================================================
   REVISÃO FINAL — SEO, RESPONSIVO, MENU FIXO E ACABAMENTO
   ========================================================= */

/* Evita que links de menu parem escondidos atrás do cabeçalho fixo */
html{
  scroll-behavior:smooth;
  scroll-padding-top:92px;
}

section[id],
#inicio,
#solucoes,
#exemplos,
#como-funciona,
#planos,
#faq,
#contato{
  scroll-margin-top:92px;
}

/* Ajuste visual do CTA final */
.cta-left h3{
  letter-spacing:-.035em !important;
}
.cta-left p{
  max-width:680px !important;
}

/* Botão CTA final usando azul da logo com texto mais fino e legível */
.cta-white{
  background:linear-gradient(135deg,#0a84ff 0%,#0b6dff 48%,#2457ff 100%) !important;
  color:#fff !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 18px 40px rgba(11,109,255,.30), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.cta-white span{
  color:#fff !important;
  font-weight:400 !important;
}
.cta-white:hover{
  background:linear-gradient(135deg,#1490ff 0%,#0c74ff 48%,#2c63ff 100%) !important;
  box-shadow:0 22px 44px rgba(11,109,255,.36), inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* Botão do cabeçalho e do menu mobile com a mesma identidade visual */
.header-whatsapp-btn,
.mobile-header-menu .mobile-menu-cta{
  background:linear-gradient(135deg,#0a84ff 0%,#0b6dff 48%,#2457ff 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 14px 30px rgba(11,109,255,.24), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.header-whatsapp-btn span,
.mobile-header-menu .mobile-menu-cta{
  color:#fff !important;
  font-weight:700 !important;
}
.header-whatsapp-btn:hover,
.mobile-header-menu .mobile-menu-cta:hover{
  background:linear-gradient(135deg,#1490ff 0%,#0c74ff 48%,#2c63ff 100%) !important;
}

/* Pequenos ajustes de leitura em cards */
.plan-card li,
.side-feature p,
.faq .faq-solution-item small,
.footer p,
.footer a{
  text-rendering:optimizeLegibility;
}

/* Mobile: respiros e tamanhos mais seguros */
@media (max-width:700px){
  html{
    scroll-padding-top:78px;
  }
  section[id],
  #inicio,
  #solucoes,
  #exemplos,
  #como-funciona,
  #planos,
  #faq,
  #contato{
    scroll-margin-top:78px;
  }

  .mobile-header-menu .mobile-menu-cta{
    border-radius:10px !important;
    min-height:46px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .section-intro h2,
  .plans-main .section-intro h2,
  .faq-text h3,
  .cta-left h3{
    max-width:100% !important;
    word-break:normal !important;
  }

  .plan-card,
  .faq-card,
  .faq-list details{
    overflow:hidden !important;
  }

  .cta-inner{
    gap:18px !important;
  }

  .cta-white{
    width:100% !important;
    justify-content:center !important;
  }
}

/* Mobile pequeno: evita botão quebrado */
@media (max-width:420px){
  .faq .faq-card.faq-card-nova-ideia .faq-whatsapp-btn{
    white-space:nowrap !important;
  }
}


/* =========================================================
   CORREÇÃO CLS PAGESPEED — reserva de espaço no carregamento
   ========================================================= */

/* Reserva altura do cabeçalho fixo para evitar salto de layout */
.topbar,
header.topbar{
  min-height:72px !important;
}

/* Garante que o conteúdo não suba por baixo do cabeçalho ao carregar */
body{
  overflow-x:hidden !important;
}

/* Estabiliza a área da hero no desktop */
.hero-banner-section,
.hero,
.hero-section,
#inicio{
  contain:layout paint;
}

/* Reserva altura da hero antes da imagem carregar */
.hero-banner-section{
  min-height:620px !important;
}

/* Estabiliza imagens e evita mudança de proporção */
img{
  max-width:100%;
  height:auto;
}

/* Mobile: altura fixa mínima para a hero antes da imagem carregar */
@media (max-width:700px){
  .topbar,
  header.topbar{
    min-height:70px !important;
  }

  .hero-banner-section{
    min-height:585px !important;
    padding-top:12px !important;
    padding-bottom:22px !important;
  }

  .hero-banner-section img,
  .hero img,
  .hero-section img{
    display:block !important;
  }

  /* Evita que o WhatsApp flutuante entre no cálculo visual causando deslocamento */
  .whatsapp-float,
  .mobile-float-whatsapp,
  a[href*="wa.me"].whatsapp-float{
    position:fixed !important;
    right:18px !important;
    bottom:18px !important;
    transform:none !important;
    will-change:auto !important;
  }
}

/* Tablet */
@media (min-width:701px) and (max-width:1024px){
  .hero-banner-section{
    min-height:560px !important;
  }
}


/* =========================================================
   BOTÃO DISCRETO — Área do Cliente
   ========================================================= */
.client-area-nav{
  color:#dce8ff !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:2px !important;
  padding:10px 12px !important;
  line-height:1 !important;
  opacity:.92 !important;
}

.client-area-nav:hover{
  color:#ffffff !important;
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(11,111,255,.42) !important;
  opacity:1 !important;
}

@media (max-width:700px){
  .client-area-nav{
    padding:0 12px !important;
    border:1px solid transparent !important;
    opacity:1 !important;
  }
}
