*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:    #ffffff;
  --bg2:   #f6f6f6;
  --bg3:   #ebebeb;
  --black: #111111;
  --dark:  #222222;
  --mid:   #888888;
  --light: #bbbbbb;
  --bord:  #e4e4e4;
}
html { overflow-x:hidden; width:100%; }
html.lenis, html.lenis body { height:auto; }
.lenis.lenis-smooth { scroll-behavior:auto; }
body { background:var(--bg); color:var(--black); font-family:'Plus Jakarta Sans',sans-serif; overflow-x:hidden; width:100%; }

/* ── FADE-UP SCROLL ANIMATION ── */
.fade-up {
  opacity:0;
  transform:translateY(32px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
  will-change:opacity, transform;
}
.fade-up.visible {
  opacity:1;
  transform:translateY(0);
}

/* ── NAV ── */
nav {
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 60px;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(16px);
  border-bottom:1px solid transparent;
  transition:border-color .3s;
}
nav.on { border-color:var(--bord); }
.logo {
  display:flex;align-items:center;gap:10px;
  text-decoration:none;color:var(--black);
}
.logo-icon { flex-shrink:0;color:var(--black); }
.logo-text { line-height:1; }
.logo-name { display:block;font-size:15px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase; }
.logo-sub  { display:block;font-size:9px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--mid);margin-top:2px; }
nav ul { display:flex;gap:36px;list-style:none; }
nav a { color:var(--mid);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.3px;transition:color .2s; }
nav a:hover { color:var(--black); }
/* hamburguer mobile */
.nav-hamburger { display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px; }
.nav-hamburger span { width:22px;height:2px;background:var(--black);display:block;transition:all .3s; }
.nav-mobile { display:none;position:fixed;inset:0;top:60px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:32px; }
.nav-mobile.open { display:flex; }
.nav-mobile a { font-size:20px;font-weight:700;color:var(--black);text-decoration:none;letter-spacing:-.3px; }
@media(max-width:960px){
  nav ul { display:none !important; }
  .btn-nav { display:none !important; }
  .nav-hamburger { display:flex !important; }
}
.btn-nav {
  background:var(--black);color:#fff;padding:11px 22px;
  font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  border:none;font-family:'Plus Jakarta Sans',sans-serif;
  cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s;
}
.btn-nav:hover { background:var(--dark); }

/* ── HERO ── */
.hero {
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg);
  position:relative;overflow:hidden;
  padding:120px 60px 80px;
  text-align:center;
}
.hero-inner { position:relative;z-index:2;max-width:860px;width:100%; }
.hero-badge {
  display:inline-flex;align-items:center;gap:8px;
  background:var(--bg2);border:1px solid var(--bord);
  padding:8px 18px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--mid);margin-bottom:32px;
}
h1 {
  font-size:clamp(40px,6vw,80px);
  font-weight:800;line-height:1.04;letter-spacing:-2.5px;
  color:var(--black);margin-bottom:32px;
}
h1 em { font-style:italic;font-weight:300;color:var(--mid); }
.hero-sub { font-size:17px;color:var(--mid);line-height:1.7;max-width:520px;margin:0 auto 40px; }
.hero-btns { display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:56px; }
.btn-primary { background:var(--black);color:#fff;padding:16px 40px;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;gap:10px;font-family:'Plus Jakarta Sans',sans-serif;transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1); }
.btn-primary:hover { opacity:.85;transform:translateY(-2px); }
.btn-ghost { color:var(--black);font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--black);padding-bottom:2px;transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1); }
.btn-ghost:hover { opacity:.5;transform:translateY(-1px); }
/* logos prova social */
.hero-proof { margin-bottom:52px; }
.hero-proof-label { font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--light);margin-bottom:20px;display:block; }
.hero-logos-track { overflow:hidden;max-width:100%;width:100%; }
.hero-logos-strip { display:flex;align-items:center;gap:44px;width:max-content;animation:marquee 35s linear infinite; }
.hero-logos-strip .marquee-item { color:var(--mid); font-size:12px; font-weight:700; letter-spacing:3px; text-transform:uppercase; white-space:nowrap; padding:0 28px; }
.hero-logos-strip .marquee-item.w { color:var(--black); }
.hero-logos-strip .marquee-sep { color:var(--light); padding:0 10px; font-size:11px; align-self:center; }
.hero-logo-item { height:32px;width:auto;object-fit:contain;opacity:.35;filter:grayscale(1);transition:opacity .3s; }
.hero-logo-item:hover { opacity:.7; }
/* stats */
.hero-stats { display:flex;gap:40px;justify-content:center;align-items:center;padding-top:40px;border-top:1px solid var(--bord); }
.hs-n { font-size:26px;font-weight:800;letter-spacing:-1px;display:block;color:var(--black); }
.hs-l { font-size:10px;color:var(--mid);font-weight:600;margin-top:4px;display:block;letter-spacing:1px;text-transform:uppercase; }
.hs-div { width:1px;height:32px;background:var(--bord); }

@media(max-width:760px){
  .hero { padding:100px 24px 60px; }
  .hero-stats { gap:16px; }
  .hs-n { font-size:22px; }
}
.hero-tag {
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--bord);background:var(--bg2);
  padding:7px 16px;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--mid);margin-bottom:28px;
}
h1 {
  font-size:clamp(40px,5vw,68px);
  font-weight:800;line-height:1.06;letter-spacing:-2px;
  margin-bottom:24px;color:var(--black);
}
h1 em { font-style:italic;font-weight:300;color:var(--mid); }
.hero-sub { font-size:16px;color:var(--mid);line-height:1.75;max-width:420px;margin-bottom:40px; }
.hero-btns { display:flex;align-items:center;gap:20px;margin-bottom:56px; }
.btn-primary {
  background:var(--black);color:#fff;
  padding:16px 36px;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  text-decoration:none;display:inline-flex;align-items:center;gap:10px;
  font-family:'Plus Jakarta Sans',sans-serif;transition:background .3s,transform .3s cubic-bezier(.16,1,.3,1);
}
.btn-primary:hover { background:var(--dark);transform:translateY(-2px); }
.btn-ghost {
  color:var(--black);font-size:13px;font-weight:600;text-decoration:none;
  border-bottom:1px solid var(--black);padding-bottom:2px;transition:opacity .2s;
}
.btn-ghost:hover { opacity:.5; }
.hero-stats { display:flex;gap:36px;padding-top:36px;border-top:1px solid var(--bord); }
.hs-n { font-size:30px;font-weight:800;letter-spacing:-1px;display:block;color:var(--black); }
.hs-l { font-size:10px;color:var(--mid);font-weight:600;margin-top:4px;display:block;letter-spacing:.5px;text-transform:uppercase; }

/* ── PHONES HERO ── */
.hero-phones {
  position:relative;height:580px;
}
.hph {
  position:absolute;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 32px 64px rgba(0,0,0,.7);
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  animation-direction:alternate;
}
/* phone frame */
.hph-frame {
  background:#0d0d0d;
  width:100%;height:100%;
  border-radius:28px;
  padding:10px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.hph-screen {
  width:100%;height:100%;
  border-radius:20px;
  overflow:hidden;
  display:flex;flex-direction:column;
}
/* cabeçalho da loja */
.hph-header { padding:12px 14px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0; }
.hph-logo { width:48px;height:6px;border-radius:3px; }
.hph-nav { display:flex;gap:6px; }
.hph-nav span { width:24px;height:4px;border-radius:2px;opacity:.4; }
/* hero da loja */
.hph-banner { height:120px;flex-shrink:0;position:relative;display:flex;align-items:flex-end;padding:12px; }
.hph-banner-text { width:60%;height:8px;border-radius:3px;background:rgba(255,255,255,.7); }
/* produtos */
.hph-products { display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;flex:1; }
.hph-product { border-radius:10px;overflow:hidden;display:flex;flex-direction:column; }
.hph-prod-img { flex:1;min-height:60px; }
.hph-prod-info { padding:6px 8px;background:#fff; }
.hph-prod-name { height:5px;border-radius:2px;background:#e0e0e0;margin-bottom:4px;width:70%; }
.hph-prod-price { height:5px;border-radius:2px;background:#111;width:40%; }

/* posições dos 4 phones */
.hph:nth-child(1) {
  width:170px;top:40px;left:0;
  transform:rotate(-6deg);
  animation:hph1 3.5s 0s infinite alternate ease-in-out;
}
.hph:nth-child(2) {
  width:190px;top:0;left:140px;
  transform:rotate(3deg);
  z-index:2;
  animation:hph2 4s .3s infinite alternate ease-in-out;
}
.hph:nth-child(3) {
  width:170px;top:180px;right:0;
  transform:rotate(7deg);
  animation:hph3 3.8s .6s infinite alternate ease-in-out;
}
.hph:nth-child(4) {
  width:160px;bottom:20px;left:60px;
  transform:rotate(-4deg);
  animation:hph4 3.2s .4s infinite alternate ease-in-out;
}
@keyframes hph1 { from{transform:rotate(-6deg) translateY(0)} to{transform:rotate(-6deg) translateY(-16px)} }
@keyframes hph2 { from{transform:rotate(3deg) translateY(0)} to{transform:rotate(3deg) translateY(-20px)} }
@keyframes hph3 { from{transform:rotate(7deg) translateY(0)} to{transform:rotate(7deg) translateY(-14px)} }
@keyframes hph4 { from{transform:rotate(-4deg) translateY(0)} to{transform:rotate(-4deg) translateY(-18px)} }

/* ── MARQUEE ── */
.marquee-wrap { overflow:hidden;padding:22px 0;background:var(--black);border-top:1px solid #1e1e1e;border-bottom:1px solid #1e1e1e;max-width:100vw; }
.marquee-track { display:flex;width:max-content;animation:marquee 26s linear infinite; }
.marquee-track.rev { animation-direction:reverse; }
.marquee-item { font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;white-space:nowrap;padding:0 28px;color:rgba(255,255,255,.3); }
.marquee-item.w { color:#fff; }
.marquee-sep { color:rgba(255,255,255,.15);padding:0 10px;font-size:11px;align-self:center; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── SECTION BASE ── */
.sec { padding:100px 60px;position:relative; }
.sec-tag { display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mid);margin-bottom:18px; }
.sec-tag::before { content:'';width:20px;height:1px;background:var(--light); }
.h2 { font-size:clamp(32px,3.5vw,52px);font-weight:800;line-height:1.1;letter-spacing:-1px;margin-bottom:16px; }
.h2 em { font-style:italic;font-weight:300;color:var(--mid); }
.sec-p { font-size:15px;color:var(--mid);line-height:1.8;max-width:500px; }

/* reveal */
.rv { opacity:0;transform:translateY(32px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1); }
.rv.in { opacity:1;transform:translateY(0); }
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.4s}

/* ── SOBRE ── */
.sobre { background:var(--bg2); }
.sobre-grid { display:grid;grid-template-columns:340px 1fr;gap:72px;align-items:center; }
.sobre-foto { aspect-ratio:3/4;background:var(--bg3);border:1px solid var(--bord);position:relative;overflow:hidden;border-radius:16px; }
.sobre-foto-track { display:flex;width:200%;height:100%;transition:transform .45s cubic-bezier(.16,1,.3,1); }
.sobre-foto-track img { width:50%;height:100%;object-fit:cover;object-position:center top;display:block;flex-shrink:0; }
.sobre-dots { position:absolute;bottom:56px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:5; }
.sobre-dot { width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:background .2s;border:none;padding:0; }
.sobre-dot.active { background:#fff;width:18px;border-radius:3px; }
.sobre-badge {
  position:absolute;bottom:20px;left:20px;right:20px;
  background:var(--black);color:#fff;padding:14px 18px;
  font-size:11px;font-weight:700;letter-spacing:.5px;
}
.sobre-badge span { display:block;font-weight:400;font-size:10px;color:rgba(255,255,255,.5);margin-top:3px; }
.cert-btns { display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;margin-bottom:28px; }
.cert-btn { display:inline-flex;align-items:center;gap:8px;border:1px solid var(--bord);background:var(--bg2);padding:10px 18px;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--mid);font-family:'Plus Jakarta Sans',sans-serif;cursor:pointer;border-radius:4px;transition:all .2s; }
.cert-btn:hover { border-color:var(--black);color:var(--black);background:var(--bg); }
/* modal certificado */
.cert-modal { position:fixed;inset:0;z-index:600;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.88);backdrop-filter:blur(12px);padding:32px; }
.cert-modal.open { display:flex; }
.cert-modal-inner { position:relative;max-width:560px;width:100%;margin:auto; }
.cert-modal-inner img { width:100%;display:block;border-radius:14px;box-shadow:0 40px 80px rgba(0,0,0,.6); }
.cert-modal-close { position:absolute;top:-14px;right:-14px;width:36px;height:36px;background:#fff;border:none;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;box-shadow:0 2px 12px rgba(0,0,0,.25); }
/* carimbo platinum */
.selo-stamp {
  position:absolute;
  top:-8px;right:0;
  width:52px;height:auto;
  border-radius:8px;
  transform:rotate(12deg) scale(0);
  opacity:0;
  transform-origin:center;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.2));
  z-index:10;
  cursor:pointer;
}
.selo-stamp.stamped {
  animation:stamp .45s cubic-bezier(.17,.67,.35,1.5) forwards;
}
@keyframes stamp {
  0%   { transform:rotate(12deg) scale(2) translateY(-16px); opacity:0; }
  65%  { transform:rotate(12deg) scale(0.92); opacity:1; }
  80%  { transform:rotate(12deg) scale(1.04); }
  100% { transform:rotate(12deg) scale(1); opacity:1; }
}
.stats-row { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;padding-top:44px;border-top:1px solid var(--bord); }
.stat-n { font-size:40px;font-weight:800;letter-spacing:-1.5px;display:block; }
.stat-l { font-size:10px;color:var(--mid);font-weight:600;letter-spacing:.5px;text-transform:uppercase;display:block;margin-top:6px; }

/* missão valores */
.mvv { background:var(--bg); }
.mvv-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bord);margin-top:56px;border:1px solid var(--bord); }
.mvv-item { background:var(--bg);padding:40px 36px; }
.mvv-label { font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--mid);margin-bottom:16px;display:block; }
.mvv-title { font-size:22px;font-weight:800;letter-spacing:-.5px;margin-bottom:12px; }
.mvv-text { font-size:14px;color:var(--mid);line-height:1.75; }

/* ── VIDEO ── */
.video-sec { background:var(--black);padding:100px 60px; }
.video-inner { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1100px;margin:0 auto; }
.video-text .sec-tag { color:rgba(255,255,255,.35); }
.video-text .h2 { color:#fff; }
.video-text .h2 em { color:rgba(255,255,255,.35); }
.video-text .sec-p { color:rgba(255,255,255,.45);margin-bottom:36px; }
.results-phone {
  position:relative;width:280px;height:560px;margin:0 auto;
  background:#111;border-radius:40px;
  padding:12px;
  box-shadow:0 40px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);
  overflow:hidden;
  border:4px solid #222;
}
.results-phone::before {
  content:'';position:absolute;top:18px;left:50%;transform:translateX(-50%);
  width:60px;height:4px;background:rgba(255,255,255,.15);border-radius:2px;
  z-index:10;
}
.phone-screen-track {
  width:100%;height:100%;
  position:relative;
  border-radius:32px;
  overflow:hidden;
}
.phone-slide {
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity .6s ease-in-out;
}
.phone-slide.active {
  opacity:1;
}
.phone-dots {
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  display:flex;gap:6px;z-index:10;
}
.phone-dot {
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.4);
  transition:background .2s, width .2s;
}
.phone-dot.active {
  background:#fff;
  width:16px;
  border-radius:3px;
}
@media(max-width:960px){
  .video-inner { grid-template-columns:1fr;gap:24px; }
  .video-sec { padding:40px 24px 40px; }
  .results-phone { width:220px; height:440px; }
  .video-text { text-align:center; }
  .video-text .sec-p { max-width:100%;font-size:14px; }
  .video-text .h2 { font-size:clamp(24px,6vw,36px); }
}

/* ── GMV ── */
.gmv-sec { background:var(--black);color:#fff;padding:100px 60px; }
.gmv-inner { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.gmv-sec .sec-tag { color:rgba(255,255,255,.35); }
.gmv-sec .h2 { color:#fff; }
.gmv-sec .h2 em { color:rgba(255,255,255,.35); }
.gmv-sec .sec-p { color:rgba(255,255,255,.45); }
.gmv-card {
  background:linear-gradient(135deg,#7aa600 0%,#E2FE68 50%,#557300 100%);
  border-radius:16px;overflow:hidden;
  box-shadow:0 32px 64px rgba(122,166,0,.35);
  position:relative;
  animation:gmv-float 4s ease-in-out infinite;
}
.gmv-card::after {
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(105deg, transparent 40%, rgba(255,255,255,.18) 50%, transparent 60%);
  transform:translateX(-100%);
  animation:gmv-shine 4s ease-in-out infinite;
  border-radius:16px;
  pointer-events:none;
}
@keyframes gmv-float {
  0%,100% { transform:translateY(0); box-shadow:0 32px 64px rgba(122,166,0,.35); }
  50% { transform:translateY(-10px); box-shadow:0 48px 80px rgba(122,166,0,.45); }
}
@keyframes gmv-shine {
  0% { transform:translateX(-100%); }
  30%,100% { transform:translateX(200%); }
}
.gmv-card-header {
  padding:20px 28px;display:flex;align-items:center;gap:10px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.gmv-ns-logo { display:flex;align-items:center;gap:8px; }
.gmv-ns-logo span { font-size:13px;font-weight:700;color:#fff;letter-spacing:.3px; }
.gmv-divider { width:1px;height:16px;background:rgba(255,255,255,.25);margin:0 4px; }
.gmv-partners-text { font-size:12px;font-weight:500;color:rgba(255,255,255,.7); }
.gmv-card-body { padding:32px 28px;text-align:center; }
.gmv-label { font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.5);display:block;margin-bottom:16px; }
.gmv-value { font-size:clamp(48px,6vw,80px);font-weight:800;letter-spacing:-3px;line-height:1;color:#fff; }
.gmv-period { font-size:12px;color:rgba(255,255,255,.5);display:block;margin-top:8px;margin-bottom:24px; }
.gmv-card-footer {
  padding:16px 28px;
  background:rgba(0,0,0,.2);
  display:flex;align-items:center;justify-content:space-between;
}
.gmv-platinum { display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#fff; }
.gmv-platinum-dot { width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.6); }
.gmv-source { font-size:10px;color:rgba(255,255,255,.4);font-weight:500; }
@media(max-width:960px){ .gmv-inner { grid-template-columns:1fr; } .gmv-sec { padding:72px 24px; } }

/* ── NUVEMSHOP ── */
.nuvem { background:var(--black);color:#fff;padding:80px 60px; }
.nuvem-inner { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.nuvem-badge {
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(255,255,255,.15);padding:8px 16px;
  font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.5);
  margin-bottom:24px;
}
.nuvem .h2 { color:#fff; }
.nuvem .h2 em { color:rgba(255,255,255,.35); }
.nuvem .sec-p { color:rgba(255,255,255,.5); }
.nuvem-stat { margin-top:36px;padding:28px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08); }
.nuvem-stat strong { font-size:28px;font-weight:800;display:block;margin-bottom:4px; }
.nuvem-stat span { font-size:12px;color:rgba(255,255,255,.4);font-weight:500; }

/* ── SERVIÇOS ── */
.servicos { background:var(--bg); }
.plans { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bord);margin-top:56px;border:1px solid var(--bord); }
.plan { background:var(--bg);padding:36px 26px;transition:background .25s,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;position:relative;display:flex;flex-direction:column; }
.plan:hover { background:var(--bg2);transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08); }
.plan.hot { background:var(--black);color:#fff; }
.plan.hot:hover { background:#1a1a1a; }
.plan-badge { position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--black);color:#fff;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 14px;white-space:nowrap; }
.plan.hot .plan-badge { background:#fff;color:var(--black); }
.plan-name { font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--mid);margin-bottom:8px;display:block; }
.plan.hot .plan-name { color:rgba(255,255,255,.45); }
.plan-tagline { font-size:12px;font-style:italic;color:var(--mid);margin-bottom:16px;display:block; }
.plan.hot .plan-tagline { color:rgba(255,255,255,.45); }
.plan-price { font-size:42px;font-weight:800;letter-spacing:-1.5px;line-height:1; }
.plan-old { font-size:11px;color:var(--mid);display:block;margin:5px 0 26px; }
.plan.hot .plan-old { color:rgba(255,255,255,.5); }
.plan-line { height:1px;background:var(--bord);margin-bottom:22px; }
.plan.hot .plan-line { background:rgba(255,255,255,.1); }
.plan-item { font-size:12px;color:var(--mid);padding:6px 0;border-bottom:1px solid var(--bord);line-height:1.55; }
.plan.hot .plan-item { color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.08); }
.plan-prazo { font-size:11px;color:var(--mid);margin-top:12px;padding-top:12px;border-top:1px dashed var(--bord);font-style:italic; }
.plan.hot .plan-prazo { color:rgba(255,255,255,.35);border-color:rgba(255,255,255,.1); }
.btn-plan {
  display:block;width:100%;margin-top:auto;padding:13px;text-align:center;
  font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  font-family:'Plus Jakarta Sans',sans-serif;text-decoration:none;
  background:var(--black);color:#fff;border:1px solid var(--black);transition:all .2s;
}
.btn-plan:hover { background:transparent;color:var(--black); }
.plan.hot .btn-plan { background:#fff;color:var(--black);border-color:#fff; }
.plan.hot .btn-plan:hover { background:transparent;color:#fff;border-color:rgba(255,255,255,.4); }
.plans-3 { grid-template-columns:repeat(3,1fr); }
.plans-2 { grid-template-columns:repeat(2,1fr); }
/* tabs serviços */
.tabs-helper {
  font-size:13px;color:var(--mid);margin-top:32px;margin-bottom:20px;text-align:center;
}
.tabs-nav {
  display:flex;gap:12px;margin-top:0;justify-content:center;flex-wrap:wrap;
}
.tab-btn {
  padding:14px 28px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--mid);background:var(--bg2);border:1px solid var(--bord);
  border-radius:10px;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  transition:all .3s cubic-bezier(.16,1,.3,1);
  font-family:'Plus Jakarta Sans',sans-serif;
}
.tab-btn i { font-size:14px; }
.tab-btn:hover {
  color:var(--black);background:var(--bg3);border-color:var(--light);
  transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.06);
}
.tab-btn.active {
  background:var(--black);color:#fff;border-color:var(--black);
  box-shadow:0 8px 24px rgba(0,0,0,.15);
}
.tab-btn.active:hover { background:var(--dark);transform:translateY(-2px); }
.tab-panel { display:none; }
.tab-panel.active { display:block; }

/* addons */
.addons-wrap { margin-top:28px; }
.addons-title { font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--mid);margin-bottom:14px; }
.addons { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bord);border:1px solid var(--bord); }
.addon { background:var(--bg2);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px; }
.addon-name { font-size:13px;color:var(--dark); }
.addon-price { font-size:15px;font-weight:800;white-space:nowrap; }

/* prazos */
.prazos-box { margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bord);border:1px solid var(--bord); }
.prazo-item { background:var(--bg2);padding:28px 32px; }
.prazo-label { font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mid);margin-bottom:10px;display:block; }
.prazo-val { font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px; }
.prazo-desc { font-size:13px;color:var(--mid);line-height:1.65; }

/* ── PROCESSO ── */
.processo { background:var(--bg2); }
.process-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bord);margin-top:56px;border:1px solid var(--bord); }
.process-step { background:var(--bg);padding:32px 28px;position:relative; }
.step-num { font-size:48px;font-weight:800;letter-spacing:-2px;color:var(--bord);line-height:1;margin-bottom:16px;display:block; }
.step-title { font-size:15px;font-weight:700;margin-bottom:8px; }
.step-text { font-size:13px;color:var(--mid);line-height:1.7; }
.process-grid-2 { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bord);border:1px solid var(--bord);border-top:none; }

/* ── PORTFOLIO ── */
.portfolio { background:var(--bg2); }
.port-carousel-wrap { display:flex;align-items:center;gap:16px;margin-top:56px; }
.port-carousel { display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1; }
.port-carousel::-webkit-scrollbar { display:none; }
.port-card { position:relative;overflow:hidden;cursor:pointer;flex-shrink:0;width:320px;aspect-ratio:2/3;background:var(--black);scroll-snap-align:start;border-radius:20px; }
.port-card-img { width:100%;height:100%;object-fit:cover;object-position:top center;display:block;filter:brightness(.9);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s; }
.port-card:hover .port-card-img { transform:scale(1.04);filter:brightness(1); }
.port-card-overlay { position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.75) 0%, transparent 45%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:28px;transition:background .3s; }
.port-card-logo { height:36px;width:auto;object-fit:contain;display:block;filter:brightness(0) invert(1);max-width:140px; }
/* setas do carousel */
.port-arrow { flex-shrink:0;width:44px;height:44px;background:#fff;border:1px solid #ccc;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 16px rgba(0,0,0,.18);transition:box-shadow .2s,transform .2s; }
.port-arrow:hover { box-shadow:0 4px 20px rgba(0,0,0,.28);transform:scale(1.08); }
.port-arrow svg { width:10px;height:16px; }
.portfolio-drag-hint {
  display: none;
  font-size: 11px;
  color: var(--mid);
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
  margin-top: 16px;
  margin-bottom: 24px;
}
.port-dots, .depo-dots {
  display: none;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}
.port-dot, .depo-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--light);
  transition: background .2s, width .2s;
}
.port-dot.active, .depo-dot.active {
  background: var(--black);
  width: 18px;
  border-radius: 3px;
}

/* ── MODAL PORTFOLIO — estilo Sweetags ── */
.port-modal {
  position:fixed;inset:0;z-index:500;
  display:none;
  background:rgba(240,240,240,.75);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.port-modal.open { display:block; }
.port-modal-inner {
  display:grid;grid-template-columns:1fr 1fr;
  gap:60px;align-items:start;
  width:100%;max-width:1100px;
  padding:80px 60px 80px;
  margin:0 auto;
  position:relative;
}
/* foto como card arredondado */
.port-modal-photo-wrap {
  position:relative;
}
.port-modal-photo {
  width:100%;aspect-ratio:2/3;
  object-fit:cover;object-position:top center;
  border-radius:24px;display:block;
  box-shadow:0 40px 80px rgba(0,0,0,.25);
}
.port-modal-photo-logo {
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  height:36px;width:auto;object-fit:contain;
  filter:brightness(0) invert(1);max-width:150px;
}
/* texto direita */
.port-modal-info { display:flex;flex-direction:column;justify-content:center; }
.port-modal-seg { font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mid);margin-bottom:24px;display:block; }
.port-modal-title { font-size:clamp(28px,3vw,40px);font-weight:800;letter-spacing:-1px;line-height:1.15;margin-bottom:24px;color:var(--black); }
.port-modal-desc { font-size:15px;color:var(--dark);line-height:1.85;margin-bottom:32px; }
/* antes e depois */
.port-modal-antes-depois { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px; }
.port-modal-ad-item { position:relative;overflow:hidden;border-radius:10px; }
.port-modal-ad-item img { width:100%;display:block;border-radius:10px; }
.port-modal-ad-label { position:absolute;top:10px;left:10px;background:var(--black);color:#fff;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 10px;border-radius:4px; }
.port-modal-btn { display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--black);color:#fff;padding:16px 36px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;font-family:'Plus Jakarta Sans',sans-serif;transition:background .2s;width:fit-content; }
.port-modal-btn:hover { background:var(--dark); }
/* slider antes/depois */
.port-modal-slider-sec { grid-column:1/-1;padding:48px 60px;background:var(--bg2);border-top:1px solid var(--bord); }
.port-modal-slider-label { font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mid);margin-bottom:20px;display:block; }
.port-modal-preview-frame {
  position:relative;width:100%;margin:0 auto;
  background:var(--bg3);border-radius:12px;
  padding:0;
  box-shadow:0 24px 48px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.04);
  overflow:hidden;
  border:1px solid var(--bord);
}
.port-modal-browser-bar {
  display:flex;align-items:center;gap:6px;
  padding:10px 16px;background:var(--bg2);
  border-bottom:1px solid var(--bord);
}
.port-modal-dot {
  width:8px;height:8px;border-radius:50%;
  background:var(--light);
}
.port-modal-screen {
  width:100%;display:block;
}
.port-modal-screen img {
  width: 100%;
  height: auto;
  display: block;
}
.comparison-label-before { left:16px; }
.comparison-label-after { right:16px; }

/* seção de vídeo no modal */
.port-modal-video-sec {
  grid-column:1/-1;
  padding:48px 60px;
  background:var(--bg2);
  border-top:1px solid var(--bord);
}
.port-modal-video-label { font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mid);margin-bottom:20px;display:block; }
.port-modal-video-wrap {
  border-radius:16px;overflow:hidden;
  box-shadow:0 16px 48px rgba(0,0,0,.12);
  position:relative;
}
.port-modal-video-wrap video { width:100%;display:block;max-height:60vh;object-fit:contain;background:var(--bg2);cursor:pointer; }
.port-modal-video-play-overlay { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);cursor:pointer;transition:opacity .3s; }
.port-modal-video-play-overlay.hidden { display:none; }
.port-modal-video-play-btn { width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center; }
.port-modal-video-play-btn svg { margin-left:4px; }
.port-modal-video-mute {
  position:absolute;bottom:16px;right:16px;
  width:36px;height:36px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.2);
  border-radius:50%;color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.port-modal-video-mute:hover { background:rgba(0,0,0,.85); }
/* fechar e navegar */
.port-modal-close {
  position:fixed;top:24px;right:24px;
  width:32px;height:32px;
  background:transparent;color:var(--black);
  border:none;cursor:pointer;
  font-size:22px;font-weight:300;
  display:flex;align-items:center;justify-content:center;
  z-index:510;opacity:.6;transition:opacity .2s;
  line-height:1;
}
.port-modal-close:hover { opacity:1; }
.port-modal-nav { position:fixed;top:calc(50% - 17px);width:100%;display:flex;justify-content:space-between;padding:0 39px;pointer-events:none;z-index:10; }
.port-modal-nav-btn {
  width:50px;height:50px;padding:0;
  background:#fff;border:none;border-radius:50%;
  cursor:pointer;pointer-events:all;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 12px rgba(0,0,0,.12);
  transition:box-shadow .2s,transform .2s;
}
.port-modal-nav-btn:hover { box-shadow:0 4px 20px rgba(0,0,0,.2);transform:scale(1.05); }
.port-modal-nav-btn svg { width:12px;height:20px; }
@media(max-width:760px){ .port-modal-inner { grid-template-columns:1fr;gap:32px;padding:80px 24px 40px; } }

/* logo marquee clientes */
.clients { background:var(--bg2);padding:48px 0;border-top:1px solid var(--bord);border-bottom:1px solid var(--bord); }
.clients p { text-align:center;font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--light);margin-bottom:32px; }
.logo-track { overflow:hidden; }
.logo-strip { display:flex;align-items:center;gap:64px;width:max-content;animation:marquee 60s linear infinite; }
.logo-item { height:44px;width:auto;max-width:180px;object-fit:contain;opacity:.5;filter:grayscale(1);transition:opacity .3s,filter .3s;flex-shrink:0; }
.logo-item:hover { opacity:.9;filter:grayscale(0); }

/* ── DEPOIMENTOS ── */
.depoimentos { background:var(--bg); }
.depo-carousel-wrap { display:flex;align-items:center;gap:16px;margin-top:56px; }
.depo-grid { display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1; }
.depo-grid::-webkit-scrollbar { display:none; }
.depo-card { background:var(--bg2);border:1px solid var(--bord);padding:36px;border-radius:16px;display:flex;flex-direction:column;transition:box-shadow .2s;flex-shrink:0;width:360px;scroll-snap-align:start; }
.depo-card:hover { box-shadow:0 8px 32px rgba(0,0,0,.06); }
@media(max-width:760px){
  .depo-carousel-wrap { gap:10px; }
  .depo-card { width:80vw; }
}
.depo-header { display:flex;align-items:center;gap:14px;margin-bottom:20px; }
.depo-avatar { width:44px;height:44px;border-radius:50%;background:var(--black);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;letter-spacing:.5px;flex-shrink:0; }
.depo-name-wrap {}
.depo-n { font-size:15px;font-weight:700;display:block; }
.depo-i { font-size:11px;color:var(--mid);font-weight:500;margin-top:2px;display:block; }
.depo-stars { display:flex;gap:2px;margin-bottom:14px; }
.depo-star { color:#111;font-size:13px; }
.depo-t { font-size:14px;color:var(--dark);line-height:1.8;flex:1; }
/* card de áudio */
.depo-audio-player { margin-top:16px;display:flex;align-items:center;gap:12px;background:var(--bg3);border-radius:40px;padding:10px 16px; }
.depo-play-btn { width:36px;height:36px;border-radius:50%;background:var(--black);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s; }
.depo-play-btn:hover { background:#333; }
.depo-play-btn svg { margin-left:2px; }
.depo-audio-bar { flex:1;height:3px;background:var(--bord);border-radius:2px;position:relative;cursor:pointer; }
.depo-audio-progress { height:100%;background:var(--black);border-radius:2px;width:0%;transition:width .1s linear; }
.depo-audio-time { font-size:11px;color:var(--mid);font-weight:600;flex-shrink:0;min-width:32px; }

/* ── PARCEIRA NUVEMSHOP ── */
.parceira-sec { background:var(--bg2); }
.parceira-inner { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.parceira-btn { display:inline-flex;align-items:center;gap:8px;background:var(--black);color:#fff;padding:16px 32px;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;text-decoration:none;font-family:'Plus Jakarta Sans',sans-serif;margin-top:32px;transition:background .2s; }
.parceira-btn:hover { background:var(--dark); }
.parceira-card { }
.parceira-badge {
  background:linear-gradient(135deg,#7aa600,#E2FE68);
  border-radius:16px;padding:36px;color:#fff;
  box-shadow:0 24px 48px rgba(122,166,0,.25);
  position:relative;overflow:hidden;
  animation:parceira-float 4s ease-in-out infinite;
}
.parceira-badge::after {
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);
  transform:translateX(-100%);
  animation:parceira-shine 4s ease-in-out infinite;
  border-radius:16px;pointer-events:none;
}
@keyframes parceira-float {
  0%,100%{transform:translateY(0);box-shadow:0 24px 48px rgba(122,166,0,.25)}
  50%{transform:translateY(-8px);box-shadow:0 36px 64px rgba(122,166,0,.35)}
}
@keyframes parceira-shine {
  0%{transform:translateX(-100%)}
  30%,100%{transform:translateX(200%)}
}
.parceira-nivel { font-size:14px;color:rgba(255,255,255,.7);margin-bottom:24px; }
.parceira-nivel strong { color:#fff;font-weight:800; }
.parceira-stats { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px; }
.parceira-stats div { background:rgba(255,255,255,.08);padding:16px;border-radius:8px; }
.parceira-stats span { font-size:22px;font-weight:800;display:block;margin-bottom:4px; }
.parceira-stats small { font-size:10px;color:rgba(255,255,255,.5);font-weight:600;letter-spacing:.5px;text-transform:uppercase; }
.parceira-exclusivo { text-align:center;margin-bottom:20px; }
.parceira-exclusivo-tag { font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.55);display:block;margin-bottom:12px; }
.parceira-desconto { font-size:56px;font-weight:800;letter-spacing:-2px;line-height:1;color:#fff; }
.parceira-desconto-sub { font-size:13px;color:rgba(255,255,255,.6);margin-top:6px; }
.parceira-divisor { height:1px;background:rgba(255,255,255,.1);margin:20px 0; }
.parceira-cta-small { font-size:12px;color:rgba(255,255,255,.5);line-height:1.6;text-align:center; }
@media(max-width:960px){ .parceira-inner { grid-template-columns:1fr; } }

/* ── BLOG ── */
.blog { background:var(--bg); }
.blog-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bord);margin-top:56px; }
.bc { background:var(--bg);overflow:hidden;cursor:pointer;transition:background .2s; }
.bc:hover { background:var(--bg2); }
.bc-thumb { aspect-ratio:16/9;background:var(--bg3);overflow:hidden; }
.bc-thumb img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s; }
.bc:hover .bc-thumb img { transform:scale(1.03); }
.bc:nth-child(2n) .bc-thumb { background:#e4e4e4; }
.bc-body { padding:24px; }
.bc-tag { font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--mid);display:block;margin-bottom:10px; }
.bc-title { font-size:17px;font-weight:700;line-height:1.35;margin-bottom:10px;color:var(--black);transition:color .2s; }
.bc:hover .bc-title { color:var(--mid); }
.bc-ex { font-size:13px;color:var(--mid);line-height:1.7; }
.blog-cta { margin-top:32px;text-align:center; }
.btn-outline { display:inline-flex;align-items:center;gap:8px;border:1px solid var(--black);padding:13px 30px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--black);text-decoration:none;font-family:'Plus Jakarta Sans',sans-serif;transition:all .2s; }
.btn-outline:hover { background:var(--black);color:#fff; }

/* ── CONTATO ── */
.contato { background:var(--black);color:#fff;padding:120px 60px;text-align:center;position:relative;overflow:hidden; }
.contato-deco { position:absolute;font-size:clamp(120px,18vw,260px);font-weight:800;font-style:italic;letter-spacing:-6px;color:rgba(255,255,255,.03);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap; }
.contato .sec-tag { justify-content:center;color:rgba(255,255,255,.3); }
.contato .h2 { color:#fff;font-size:clamp(48px,5.5vw,80px);position:relative;z-index:1; }
.contato .h2 em { color:rgba(255,255,255,.3); }
.c-sub { font-size:13px;color:rgba(255,255,255,.4);margin:18px 0 48px;position:relative;z-index:1;letter-spacing:.3px; }
.c-btns { display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1; }
.bwp { background:#fff;color:var(--black);padding:17px 46px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;display:inline-block;font-family:'Plus Jakarta Sans',sans-serif;transition:opacity .2s; }
.bwp:hover { opacity:.88; }
.big { border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.55);padding:17px 46px;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;display:inline-block;font-family:'Plus Jakarta Sans',sans-serif;transition:all .2s; }
.big:hover { border-color:#fff;color:#fff; }

/* ── FOOTER ── */
footer { padding:26px 60px;background:var(--black);border-top:1px solid #1e1e1e;display:flex;align-items:center;justify-content:space-between; }
.f-logo { display:flex;align-items:center;gap:8px; }
.f-logo-name { font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#fff; }
.f-mid { font-size:10px;color:#333;font-weight:600;letter-spacing:1.5px;text-transform:uppercase; }
.f-copy { font-size:11px;color:#333; }

/* ── NOTIFICAÇÃO CUPOM ── */
/* gatilho lateral */
.coupon-trigger {
  position:fixed;left:0;top:50%;transform:translateY(-50%);
  z-index:300;cursor:pointer;
  display:flex;align-items:center;
  -webkit-tap-highlight-color:transparent;
}
.coupon-trigger-bar {
  width:5px;height:72px;
  background:linear-gradient(180deg,#7aa600,#E2FE68);
  border-radius:0 6px 6px 0;
  transition:width .2s,opacity .2s;
  box-shadow:2px 0 12px rgba(122,166,0,.3);
}
.coupon-trigger.shake .coupon-trigger-bar {
  animation:coupon-shake .5s ease-in-out;
}
@keyframes coupon-shake {
  0%,100%{transform:translateX(0) rotate(0)}
  15%{transform:translateX(4px) rotate(2deg)}
  30%{transform:translateX(-3px) rotate(-2deg)}
  45%{transform:translateX(3px) rotate(1deg)}
  60%{transform:translateX(-2px) rotate(-1deg)}
  75%{transform:translateX(2px)}
}
.coupon-trigger:hover .coupon-trigger-bar { width:8px; }
.coupon-trigger-label {
  background:linear-gradient(135deg,#7aa600,#E2FE68);
  color:var(--black);font-size:9px;font-weight:800;letter-spacing:1px;
  text-transform:uppercase;writing-mode:vertical-rl;
  padding:8px 5px;border-radius:0 6px 6px 0;
  opacity:0;width:0;overflow:hidden;white-space:nowrap;
  transition:opacity .2s,width .2s;
}
.coupon-trigger:hover .coupon-trigger-label { opacity:1;width:24px; }

/* balão */
.coupon-toast {
  position:fixed;bottom:28px;left:28px;z-index:300;
  background:#fff;border:1px solid var(--bord);
  border-radius:14px;padding:16px 20px;
  box-shadow:0 8px 32px rgba(0,0,0,.14);
  max-width:280px;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transform:translateX(-320px);opacity:0;
  transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .35s;
  user-select:none;
}
.coupon-toast-close {
  position:absolute;top:8px;right:8px;
  background:none;border:none;cursor:pointer;
  font-size:18px;line-height:1;color:var(--mid);
  width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;transition:background .2s,color .2s;
  padding:0;
}
.coupon-toast-close:hover { background:rgba(0,0,0,.06);color:var(--black); }
.coupon-toast.copied .coupon-toast-close { color:rgba(255,255,255,.5); }
.coupon-toast.copied .coupon-toast-close:hover { background:rgba(255,255,255,.15);color:#fff; }
.coupon-toast.show { transform:translateX(0);opacity:1; }
.coupon-toast.copied { background:var(--black);border-color:var(--black); }
.coupon-toast-top { display:flex;align-items:center;gap:10px;margin-bottom:8px; }
.coupon-toast-badge {
  background:linear-gradient(135deg,#7aa600,#E2FE68);
  color:var(--black);font-size:11px;font-weight:800;letter-spacing:.5px;
  padding:4px 10px;border-radius:6px;white-space:nowrap;flex-shrink:0;
}
.coupon-toast-label { font-size:11px;font-weight:700;color:var(--mid);letter-spacing:.3px; }
.coupon-toast.copied .coupon-toast-label { color:rgba(255,255,255,.7); }
.coupon-toast-title { font-size:14px;font-weight:800;color:var(--black);margin-bottom:4px;line-height:1.3; }
.coupon-toast.copied .coupon-toast-title { color:#fff; }
.coupon-toast-sub { font-size:11px;color:var(--mid); }
.coupon-toast.copied .coupon-toast-sub { color:rgba(255,255,255,.6); }
.coupon-toast-click { font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--mid);margin-top:10px;display:flex;align-items:center;gap:6px; }
.coupon-toast.copied .coupon-toast-click { color:rgba(255,255,255,.5); }

/* WhatsApp float */
.wfloat { position:fixed;bottom:28px;right:28px;z-index:200;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 24px rgba(37,211,102,.4);transition:transform .2s,box-shadow .2s;cursor:pointer; }
.wfloat:hover 


/* Fallback styles for truncated elements */
.wfloat:hover { transform: scale(1.08); box-shadow: 0 6px 28px rgba(37,211,102,.5); }

/* ─── CUSTOM PREMIUM FAQ STYLE ─── */
.faq-list {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.faq-item {
  background: var(--bg);
  border: 1px solid var(--bord);
  border-radius: 12px;
  padding: 20px 24px;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.faq-item:hover, .faq-item.active {
  border-color: var(--black);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}
.faq-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  text-align: left;
  padding: 0;
}
.faq-trigger span {
  font-size: 16px;
  font-weight: 700;
  color: var(--black);
  letter-spacing: -0.2px;
  line-height: 1.4;
  transition: color 0.2s;
}
.faq-trigger:hover span {
  color: #7aa600; /* Green accent matching our green theme */
}
.faq-icon {
  font-size: 14px;
  color: var(--mid);
  transition: transform 0.3s ease, color 0.3s ease;
  flex-shrink: 0;
  margin-left: 16px;
}
.faq-item.active .faq-icon {
  transform: rotate(45deg);
  color: var(--black);
}
.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.faq-content-inner {
  padding-top: 16px;
  font-size: 14px;
  color: var(--mid);
  line-height: 1.75;
}

/* ─── GLOBAL RESPONSIVE FIXES ─── */
@media (max-width: 768px) {
  /* Section padding and font sizes */
  .sec {
    padding: 60px 24px;
  }
  .h2 {
    font-size: 28px;
    letter-spacing: -0.5px;
  }
  
  /* Navbar */
  nav {
    padding: 12px 24px;
  }
  .nav-mobile {
    top: 56px;
  }
  
  /* Sobre Grid */
  .sobre-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }
  .sobre-foto {
    max-width: 380px;
    margin: 0 auto;
  }
  .sobre-badge {
    bottom: 16px;
    left: 16px;
    right: 16px;
  }
  .cert-btns {
    justify-content: center;
  }
  .stats-row {
    grid-template-columns: 1fr;
    gap: 16px;
    text-align: center;
    border-top: 1px solid var(--bord);
    padding-top: 24px;
  }
  .stat-n {
    font-size: 32px;
  }
  
  /* Missão, Visão, Valores */
  .mvv-grid {
    grid-template-columns: 1fr;
  }
  .mvv-item {
    border-bottom: 1px solid var(--bord);
  }
  .mvv-item:last-child {
    border-bottom: none;
  }
  
  /* Planos de Serviços Grid */
  .plans {
    grid-template-columns: 1fr !important;
    gap: 16px;
    background: transparent;
    border: none;
  }
  .plan {
    border: 1px solid var(--bord);
  }
  
  /* Tabs */
  .tabs-nav {
    gap: 8px;
  }
  .tab-btn {
    padding: 12px 18px;
    font-size: 10px;
    letter-spacing: 1px;
    flex: 1;
    justify-content: center;
    min-width: 0;
  }
  .tab-btn i { font-size: 12px; }
  
  /* Addons */
  .addons {
    grid-template-columns: 1fr;
  }
  
  /* Prazos */
  .prazos-box {
    grid-template-columns: 1fr;
  }
  
  /* Processo */
  .process-grid, .process-grid-2 {
    grid-template-columns: 1fr;
    gap: 16px;
    background: transparent;
    border: none;
  }
  .process-step {
    border: 1px solid var(--bord);
  }
  .process-grid-2 .process-step:last-child {
    border-left: 1px solid var(--bord);
  }
  
  /* Portfólio */
  .portfolio-drag-hint {
    display: block;
  }
  .port-carousel-wrap {
    padding: 0;
    margin-top: 32px;
  }
  .port-carousel {
    scroll-padding: 0 10vw;
    padding: 0 10vw;
    gap: 16px;
  }
  .port-card {
    width: 80vw;
    scroll-snap-align: center;
  }
  .port-dots, .depo-dots {
    display: flex;
  }
  .port-arrow {
    display: none !important;
  }
  
  /* Testimonial slider */
  .depo-card {
    width: 85vw;
    padding: 24px;
  }
  
  /* Whatsapp button */
  .wfloat {
    bottom: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
  }
}
