/* ============================================================
   NEXXUS MARKETING INTELIGENTE — styles  (purple · Instagram)
   ============================================================ */

:root{
  --bg:        #0d0718;
  --bg-2:      #120a22;
  --surface:   #1a1030;
  --surface-2: #22163f;
  --line:      rgba(168,130,255,.15);
  --line-2:    rgba(168,130,255,.30);
  --text:      #f1ecfa;
  --muted:     #a99fc4;
  --muted-2:   #7d7399;
  --purple:    #a855f7;
  --purple-2:  #7c3aed;
  --purple-soft: rgba(168,85,247,.14);

  --ig: linear-gradient(120deg, #7c3aed 0%, #a634c0 38%, #d6249f 66%, #f77737 100%);
  --ig-2: linear-gradient(120deg, #833ab4, #c13584 55%, #e1306c);

  --radius:    18px;
  --radius-sm: 12px;
  --maxw:      1180px;
  --ease:      cubic-bezier(.4,.14,.2,1);

  --ff-display:'Space Grotesk', system-ui, sans-serif;
  --ff-body:   'Inter', system-ui, sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:122px; }
body{
  font-family:var(--ff-body); background:var(--bg); color:var(--text);
  line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }

.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:26px; }

.grad{
  background:var(--ig); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--purple);
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--ff-display); font-weight:600; font-size:.94rem;
  padding:13px 24px; border-radius:100px; border:1.5px solid transparent; cursor:pointer;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
  white-space:nowrap;
}
.btn:active{ transform:translateY(1px); }
.btn-grad{ background:var(--ig); color:#fff; box-shadow:0 12px 30px -12px rgba(214,36,159,.6); }
.btn-grad:hover{ transform:translateY(-2px); box-shadow:0 18px 38px -12px rgba(214,36,159,.7); filter:brightness(1.06); }
.btn-outline{ background:transparent; color:var(--text); border-color:var(--line-2); }
.btn-outline:hover{ border-color:var(--purple); background:var(--purple-soft); transform:translateY(-2px); }
.btn-lg{ padding:16px 30px; font-size:1.02rem; }
.ico-wa{ width:20px; height:20px; fill:currentColor; }

/* ---------- Header (barra roxa estilo actwork) ---------- */
.site-header{ position:sticky; top:0; z-index:60; background:#7c3aed; transition:box-shadow .3s var(--ease); }
.site-header.scrolled{ box-shadow:0 8px 26px -14px rgba(0,0,0,.6); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; height:112px; gap:18px; }
.brand{ display:flex; align-items:center; }
.brand img{ height:82px; width:auto; }
.nav{ display:flex; align-items:center; gap:1px; }
.nav > a{ font-family:var(--ff-display); font-weight:500; font-size:.92rem; color:rgba(255,255,255,.86); padding:8px 11px; border-radius:8px; white-space:nowrap; transition:color .2s var(--ease); }
.nav > a::before{ content:"/"; margin-right:6px; color:#ff8ad4; font-weight:600; }
.nav > a:hover{ color:#fff; }
.nav > a.active{ color:#ffe14d; }
.nav-social{ display:inline-flex; align-items:center; gap:9px; margin-left:14px; }
.nav-social a{ display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#ffe14d; color:#5b21b6; transition:transform .2s var(--ease), filter .2s var(--ease); }
.nav-social a:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.nav-social svg{ width:18px; height:18px; }

.nav-toggle{ display:none; flex-direction:column; gap:5px; width:44px; height:44px; background:none; border:1px solid rgba(255,255,255,.45); border-radius:11px; cursor:pointer; align-items:center; justify-content:center; }
.nav-toggle span{ width:20px; height:2px; background:#fff; border-radius:2px; transition:transform .3s var(--ease), opacity .2s var(--ease); }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- Hero (split carousel) ---------- */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(58% 80% at 84% 6%, rgba(124,58,237,.42), transparent 58%),
    radial-gradient(58% 80% at 10% 94%, rgba(214,36,159,.32), transparent 58%),
    var(--bg);
}
.hero::before{
  content:""; position:absolute; inset:0; z-index:0; opacity:.05; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero-wave{ position:absolute; z-index:1; width:min(40vw,420px); opacity:.85; pointer-events:none; }
.hero-wave svg{ width:100%; height:auto; display:block; }
.hero-wave-tl{ top:26px; left:-34px; transform:rotate(-3deg); }
.hero-wave-br{ right:-44px; bottom:18px; transform:rotate(3deg); }

.hero-carousel{ position:relative; z-index:2; }
.slides{ position:relative; }
.slide{
  position:absolute; inset:0; opacity:0; visibility:hidden;
  display:flex; align-items:center; min-height:clamp(600px, 82vh, 780px);
  transition:opacity .8s var(--ease);
}
.slide.is-active{ position:relative; opacity:1; visibility:visible; }
.slide-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:52px; align-items:center; width:100%; }

.slide-visual{
  position:relative; aspect-ratio:4/3.4; border-radius:26px; overflow:hidden;
  display:grid; place-items:center; border:1px solid rgba(255,255,255,.1);
  box-shadow:0 40px 90px -34px rgba(0,0,0,.7);
}
.slide-visual::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(255,255,255,.14), transparent 42%); pointer-events:none; }
.sv-1{ background:radial-gradient(130% 120% at 25% 12%, #a855f7, #7c3aed 42%, #241243 100%); }
.sv-2{ background:radial-gradient(130% 120% at 80% 12%, #d6249f, #a634c0 46%, #241243 100%); }
.sv-3{ background:radial-gradient(130% 130% at 50% 100%, #f77737, #d6249f 44%, #241243 100%); }
.sv-monkey{ width:46%; position:relative; z-index:2; filter:drop-shadow(0 14px 34px rgba(0,0,0,.55)); }
.sv-badge{
  position:absolute; top:20px; left:20px; z-index:3; font-family:var(--ff-display); font-weight:500;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:#fff;
  background:rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.2); padding:7px 14px; border-radius:100px;
}
.sv-word{
  position:absolute; left:24px; bottom:20px; z-index:3; font-family:var(--ff-display); font-weight:700;
  font-size:clamp(1.6rem,3.2vw,2.6rem); letter-spacing:-.01em; color:#fff; text-shadow:0 4px 20px rgba(0,0,0,.45);
}

.slide-copy{ position:relative; }
.badge{
  display:inline-block; font-family:var(--ff-display); font-weight:500; font-size:.8rem; letter-spacing:.04em;
  color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
  padding:8px 16px; border-radius:100px; margin-bottom:22px; backdrop-filter:blur(4px);
}
.slide-copy h1{ font-family:var(--ff-display); font-weight:700; font-size:clamp(2.3rem, 4.4vw, 4rem); line-height:1.05; letter-spacing:-.02em; }
.slide-copy h1.glow{ text-shadow:0 0 46px rgba(214,36,159,.45), 0 0 16px rgba(168,85,247,.42); }
.slide-copy p{ font-size:clamp(1.02rem,1.7vw,1.2rem); color:#e7dcf5; max-width:36em; margin:20px 0 30px; }
.slide-cta{ display:flex; flex-wrap:wrap; gap:14px; }

.car-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:52px; height:52px; border-radius:50%; background:rgba(13,7,24,.4); color:#fff;
  border:1px solid var(--line-2); font-size:1.8rem; line-height:1; cursor:pointer; backdrop-filter:blur(6px);
  transition:background .2s, border-color .2s; display:grid; place-items:center;
}
.car-arrow:hover{ background:rgba(168,85,247,.3); border-color:var(--purple); }
.car-arrow.prev{ left:22px; } .car-arrow.next{ right:22px; }
.car-dots{ position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:5; display:flex; gap:10px; }
.car-dots button{ width:10px; height:10px; border-radius:50%; border:none; background:rgba(255,255,255,.3); cursor:pointer; transition:transform .2s, background .2s; padding:0; }
.car-dots button.active{ background:var(--purple); transform:scale(1.3); }

/* ---------- Marquee ---------- */
.marquee{ border-block:1px solid var(--line); background:var(--bg-2); padding:16px 0; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.marquee-track{ display:flex; align-items:center; gap:26px; width:max-content; animation:scroll 34s linear infinite; }
.marquee-track span{ font-family:var(--ff-display); font-weight:600; font-size:1.02rem; color:var(--text); white-space:nowrap; }
.marquee-track i{ font-style:normal; background:var(--ig); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
@keyframes scroll{ to{ transform:translateX(-50%); } }

/* ---------- Serviços (pílulas, banda angulada) ---------- */
.pills{ padding:100px 0 0; }
.pills-head{ max-width:760px; margin:0 auto 40px; text-align:center; }
.pills-head h2{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.9rem,4vw,3rem); line-height:1.12; letter-spacing:-.02em; }
.pills-head p{ color:var(--muted); font-size:1.1rem; margin-top:16px; }
.pills-band{
  position:relative; margin-top:8px; padding:72px 0 84px;
  background:linear-gradient(135deg,#2a1466 0%, #4c1d95 55%, #6d28d9 100%);
  clip-path:polygon(0 5%, 100% 0, 100% 95%, 0 100%);
}
.pills-band::before{ content:""; position:absolute; inset:0; background:radial-gradient(55% 100% at 88% 0%, rgba(214,36,159,.28), transparent 60%); pointer-events:none; }
.pills-grid{ position:relative; display:grid; grid-template-columns:repeat(auto-fit,minmax(238px,1fr)); gap:16px 18px; }
.pill{
  display:flex; align-items:center; gap:13px; padding:14px 22px 14px 13px; border-radius:100px; color:#fff;
  font-family:var(--ff-body); font-weight:600; font-size:.98rem; line-height:1.22;
  box-shadow:0 14px 28px -16px rgba(0,0,0,.6); transition:transform .25s var(--ease), filter .25s var(--ease);
}
.pill:hover{ transform:translateY(-3px); filter:brightness(1.07); }
.pill-plus{
  flex-shrink:0; display:grid; place-items:center; width:34px; height:34px; border-radius:50%;
  background:rgba(255,255,255,.22); font-style:normal; font-weight:400; font-size:1.5rem; line-height:1;
}
.pill.p1{ background:#9333ea; }
.pill.p2{ background:#d6249f; }
.pill.p3{ background:#f7602f; }
.pill.p4{ background:#0e9bb8; }
.pill.p5{ background:#db2777; }
@media (max-width:640px){
  .pills{ padding:64px 0 0; }
  .pills-band{ clip-path:polygon(0 2%, 100% 0, 100% 98%, 0 100%); padding:52px 0 60px; }
}

/* ---------- 8 Agências em 1 (claro, estilo print) ---------- */
.agencias{ padding:96px 0; background:#f4f1fb; }
.ag8-grid{ display:grid; grid-template-columns:.8fr 1.62fr; gap:52px; align-items:center; }
.ag8-intro h2{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.8rem,3.4vw,2.6rem); line-height:1.25; letter-spacing:-.01em; color:#1c1033; }
.hl-mark{ background:#ffe14d; color:#2a1054; font-style:italic; padding:1px 14px 4px; border-radius:7px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.ag8-intro p{ color:#5b5170; font-size:1.06rem; margin-top:24px; max-width:34em; }
.ag8-list{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px 22px; align-items:stretch; }
.ag8{ text-align:center; display:flex; flex-direction:column; align-items:center; }
.ag8-img{ height:196px; width:100%; display:flex; align-items:flex-end; justify-content:center; margin-bottom:14px; }
.ag8-img img{ max-height:100%; width:auto; max-width:100%; filter:drop-shadow(0 16px 20px rgba(80,40,140,.24)); transition:transform .3s var(--ease); }
.ag8:hover .ag8-img img{ transform:translateY(-7px); }
.ag8 h3{ font-family:var(--ff-display); font-weight:600; font-size:1.02rem; color:#2a1054; line-height:1.28; margin-bottom:14px; min-height:2.55em; display:flex; align-items:center; }
.ag8-btn{ display:inline-block; margin-top:auto; font-family:var(--ff-display); font-weight:600; font-size:.8rem; letter-spacing:.02em; color:#fff; background:#d6249f; padding:8px 22px; border-radius:8px; transition:transform .2s var(--ease), filter .2s var(--ease); }
.ag8-btn:hover{ transform:translateY(-2px); filter:brightness(1.08); }
@media (max-width:980px){
  .ag8-grid{ grid-template-columns:1fr; gap:38px; }
  .ag8-intro{ text-align:center; }
  .ag8-intro p{ margin-inline:auto; }
}
@media (max-width:640px){
  .agencias{ padding:60px 0; }
  .ag8-list{ grid-template-columns:repeat(2,1fr); gap:26px 14px; }
  .ag8-img{ height:150px; }
}

/* ---------- Portfólio (fundo branco) ---------- */
.portfolio{ padding:100px 0; background:#ffffff; }
.pf-grid{ display:grid; grid-template-columns:.82fr 2fr; gap:52px; align-items:center; }
.pf-intro h2{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.9rem,3.6vw,2.8rem); line-height:1.2; letter-spacing:-.01em; color:#1c1033; }
.pf-intro p{ color:#5b5170; font-size:1.06rem; margin-top:22px; max-width:32em; }
.pf-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; align-items:stretch; }
.pf{ text-align:center; display:flex; flex-direction:column; align-items:center; }
.pf-mock{ height:224px; width:100%; display:flex; align-items:flex-end; justify-content:center; margin-bottom:18px; }
.pf-mock img{ max-height:100%; width:auto; max-width:100%; filter:drop-shadow(0 22px 28px rgba(80,40,140,.24)); transition:transform .3s var(--ease); }
.pf:hover .pf-mock img{ transform:translateY(-6px); }
.pf h3{ font-family:var(--ff-display); font-weight:700; font-size:1.14rem; color:#2a1054; line-height:1.25; margin-bottom:16px; min-height:2.5em; display:flex; align-items:center; }
.pf-btn{ display:inline-block; margin-top:auto; font-family:var(--ff-display); font-weight:600; font-size:.84rem; color:#fff; background:#d6249f; padding:11px 26px; border-radius:8px; transition:transform .2s var(--ease), filter .2s var(--ease); }
.pf-btn:hover{ transform:translateY(-2px); filter:brightness(1.08); }
@media (max-width:980px){
  .pf-grid{ grid-template-columns:1fr; gap:40px; }
  .pf-intro{ text-align:center; }
  .pf-intro p{ margin-inline:auto; }
}
@media (max-width:640px){
  .portfolio{ padding:60px 0; }
  .pf-list{ grid-template-columns:1fr; gap:34px; max-width:340px; margin-inline:auto; }
  .pf-mock{ height:200px; }
}

/* ---------- Blog ---------- */
.blog{ padding:100px 0; background:var(--bg-2); border-top:1px solid var(--line); }
.blog-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:46px; flex-wrap:wrap; }
.blog-title h2{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.9rem,3.6vw,2.7rem); line-height:1.15; letter-spacing:-.02em; }
.blog-title p{ color:var(--muted); font-size:1.06rem; margin-top:14px; max-width:40em; }
.blog-cta{ display:inline-flex; align-items:center; gap:10px; font-family:var(--ff-display); font-weight:600; font-size:.92rem; color:#fff; background:var(--ig); padding:14px 26px; border-radius:8px; white-space:nowrap; transition:transform .2s var(--ease), filter .2s var(--ease); box-shadow:0 12px 30px -14px rgba(214,36,159,.6); }
.blog-cta span{ font-size:1.3rem; line-height:0; }
.blog-cta:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.blog-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; align-items:stretch; }
.post{ display:flex; flex-direction:column; border-radius:14px; overflow:hidden; border:1px solid var(--line); background:var(--surface); transition:transform .3s var(--ease), border-color .3s var(--ease); }
.post:hover{ transform:translateY(-6px); border-color:var(--line-2); }
.post-thumb{ position:relative; display:grid; place-items:center; aspect-ratio:16/10; overflow:hidden; }
.post-thumb::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 72% 18%, rgba(255,255,255,.16), transparent 55%); }
.post-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.blog-loading{ grid-column:1/-1; text-align:center; color:var(--muted); padding:34px 0; }
.post-thumb svg{ width:54px; height:54px; color:rgba(255,255,255,.92); position:relative; z-index:2; transition:transform .4s var(--ease); }
.post:hover .post-thumb svg{ transform:scale(1.1); }
.post-tag{ position:absolute; top:12px; left:12px; z-index:3; font-family:var(--ff-display); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.3); border:1px solid rgba(255,255,255,.22); padding:5px 12px; border-radius:100px; backdrop-filter:blur(3px); }
.t1{ background:linear-gradient(135deg,#7c3aed,#a634c0); }
.t2{ background:linear-gradient(135deg,#d6249f,#f7602f); }
.t3{ background:linear-gradient(135deg,#6d28d9,#0e9bb8); }
.t4{ background:linear-gradient(135deg,#a634c0,#e1306c); }
.post-body{ padding:20px 20px 24px; flex:1; }
.post-body h3{ font-family:var(--ff-display); font-weight:600; font-size:1.02rem; line-height:1.35; color:var(--text); }
@media (max-width:980px){ .blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){
  .blog{ padding:64px 0; }
  .blog-grid{ grid-template-columns:1fr; }
  .blog-cta{ width:100%; justify-content:center; }
}

/* ---------- Sections ---------- */
.section{ padding:100px 0; position:relative; }
.section-alt{ background:var(--bg-2); border-block:1px solid var(--line); }
.section-head{ max-width:720px; margin-bottom:56px; }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-tag{ display:inline-block; font-family:var(--ff-display); font-weight:600; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--purple); margin-bottom:16px; }
.section-tag.center{ display:block; }
.section-head h2, .exp-copy h2, .cta-final h2{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.9rem, 4vw, 3rem); line-height:1.12; letter-spacing:-.02em; }
.section-sub{ color:var(--muted); font-size:1.1rem; margin-top:18px; }
.section-head.center .section-sub{ max-width:52em; margin-inline:auto; }

/* ---------- Quem Somos ---------- */
.about-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:44px; align-items:center; }
.about-text p{ color:var(--muted); font-size:1.08rem; margin-bottom:18px; }
.about-text strong{ color:var(--text); font-weight:600; }
.about-highlight{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:40px 34px; overflow:hidden; }
.about-highlight::before{ content:""; position:absolute; inset:0; background:radial-gradient(80% 80% at 90% 10%, var(--purple-soft), transparent 60%); }
.about-monkey{ width:74px; margin-bottom:20px; position:relative; }
.quote{ position:relative; font-family:var(--ff-display); font-weight:500; font-size:1.32rem; line-height:1.4; color:var(--text); }

/* ---------- Full Service ---------- */
.benefits{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.benefit{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:32px 28px; transition:transform .35s var(--ease), border-color .35s var(--ease); }
.benefit:hover{ transform:translateY(-5px); border-color:var(--line-2); }
.b-ico{ display:grid; place-items:center; width:52px; height:52px; border-radius:14px; background:var(--purple-soft); color:var(--purple); margin-bottom:20px; }
.b-ico svg{ width:26px; height:26px; }
.benefit h3{ font-family:var(--ff-display); font-weight:600; font-size:1.2rem; margin-bottom:9px; }
.benefit p{ color:var(--muted); font-size:.98rem; }
.fs-close{ text-align:center; max-width:40em; margin:46px auto 0; font-family:var(--ff-display); font-size:1.3rem; font-weight:500; line-height:1.4; }

/* ---------- Serviços ---------- */
.svc-grid{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.svc{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:26px 24px; transition:transform .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease); }
.svc:hover{ transform:translateY(-4px); border-color:var(--line-2); background:var(--surface-2); }
.svc-n{ font-family:var(--ff-display); font-weight:700; font-size:.9rem; background:var(--ig); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.svc h3{ font-family:var(--ff-display); font-weight:600; font-size:1.1rem; margin:10px 0 8px; }
.svc p{ color:var(--muted); font-size:.95rem; }
.svc-cta{ background:var(--ig); border:none; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.svc-cta h3{ color:#fff; font-size:1.2rem; margin-top:0; }
.svc-cta p{ color:rgba(255,255,255,.9); margin-bottom:16px; }
.svc-cta .btn{ background:#fff; color:#7c3aed; }
.svc-cta .btn:hover{ background:#f4ecff; }

/* ---------- 8 Agências ---------- */
.ag-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ag{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:28px 24px; overflow:hidden; transition:transform .3s var(--ease), border-color .3s var(--ease); }
.ag:hover{ transform:translateY(-5px); border-color:var(--line-2); }
.ag:hover::after{ opacity:1; }
.ag::after{ content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:var(--ig); opacity:.5; transition:opacity .3s; }
.ag-num{ display:inline-grid; place-items:center; width:44px; height:44px; border-radius:12px; font-family:var(--ff-display); font-weight:700; font-size:1.1rem; color:#fff; background:var(--ig); margin-bottom:16px; }
.ag h3{ font-family:var(--ff-display); font-weight:600; font-size:1.08rem; margin-bottom:7px; }
.ag p{ color:var(--muted); font-size:.92rem; }
.ag-close{ text-align:center; max-width:42em; margin:46px auto 0; font-family:var(--ff-display); font-size:1.24rem; font-weight:500; line-height:1.45; }

/* ---------- Stats ---------- */
.stats-band{ background:var(--ig); position:relative; }
.stats-band::before{ content:""; position:absolute; inset:0; background:rgba(13,7,24,.28); }
.stats-grid{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:56px 26px; }
.stat{ text-align:center; color:#fff; }
.stat strong{ display:block; font-family:var(--ff-display); font-weight:700; font-size:clamp(2.4rem,5vw,3.6rem); line-height:1; }
.stat span{ font-size:.95rem; color:rgba(255,255,255,.88); margin-top:8px; display:block; }

/* ---------- Experiência ---------- */
.exp-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; }
.exp-copy p{ color:var(--muted); font-size:1.06rem; margin-top:18px; }
.exp-copy strong{ color:var(--text); }
.exp-punch{ font-family:var(--ff-display); font-size:1.16rem; color:var(--text); margin-top:22px; }
.exp-cards{ display:grid; gap:16px; }
.exp-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:24px 26px; transition:transform .3s var(--ease), border-color .3s; }
.exp-card:hover{ transform:translateX(6px); border-color:var(--line-2); }
.exp-card strong{ font-family:var(--ff-display); font-weight:600; font-size:1.18rem; background:var(--ig); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.exp-card span{ display:block; color:var(--muted); font-size:.98rem; margin-top:6px; }

/* ---------- Presença ---------- */
.pres-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.pres{ text-align:center; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:34px 26px; transition:transform .3s var(--ease), border-color .3s; }
.pres:hover{ transform:translateY(-5px); border-color:var(--line-2); }
.pres-ico{ display:inline-grid; place-items:center; width:56px; height:56px; border-radius:50%; border:1px solid var(--line-2); color:var(--purple); margin-bottom:18px; }
.pres-ico svg{ width:28px; height:28px; }
.pres h3{ font-family:var(--ff-display); font-weight:600; font-size:1.12rem; margin-bottom:8px; }
.pres p{ color:var(--muted); font-size:.98rem; }

/* ---------- CTA final ---------- */
.cta-final{ padding:110px 0; text-align:center; position:relative; overflow:hidden; background:radial-gradient(70% 90% at 50% 10%, rgba(124,58,237,.16), transparent 70%); }
.cta-monkey{ width:88px; margin:0 auto 20px; }
.cta-final p{ color:var(--muted); font-size:1.16rem; max-width:40em; margin:18px auto 34px; }
.cta-buttons{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--bg-2); border-top:1px solid var(--line); }
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1.3fr; gap:44px; padding:64px 26px 46px; }
.footer-brand img{ height:78px; width:auto; margin-bottom:20px; }
.footer-brand p{ color:var(--muted); font-size:.95rem; max-width:34em; }
.footer-nav, .footer-contact{ display:flex; flex-direction:column; gap:11px; }
.footer-nav h4, .footer-contact h4{ font-family:var(--ff-display); font-weight:600; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); margin-bottom:6px; }
.footer-nav a, .footer-contact a{ color:var(--muted); font-size:.95rem; transition:color .2s; width:fit-content; }
.footer-nav a:hover, .footer-contact a:hover{ color:var(--purple); }
.footer-contact span{ color:var(--muted); font-size:.95rem; }
.footer-bottom{ border-top:1px solid var(--line); }
.footer-bottom .container{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding-block:22px; font-size:.83rem; color:var(--muted-2); }

/* ---------- Floating WA ---------- */
.wa-float{ position:fixed; right:22px; bottom:22px; z-index:70; width:58px; height:58px; display:grid; place-items:center; background:#25d366; border-radius:50%; box-shadow:0 12px 30px -8px rgba(37,211,102,.55); transition:transform .25s var(--ease); animation:wapop .5s .8s both; }
.wa-float svg{ width:30px; height:30px; fill:#05270f; }
.wa-float:hover{ transform:scale(1.08); }
@keyframes wapop{ from{ transform:scale(0);} to{ transform:scale(1);} }

/* ---------- Reveal ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:980px){
  .about-grid{ grid-template-columns:1fr; gap:32px; }
  .exp-grid{ grid-template-columns:1fr; gap:32px; }
  .benefits{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; }
  .svc-grid{ grid-template-columns:repeat(2,1fr); }
  .ag-grid{ grid-template-columns:repeat(2,1fr); }
  .pres-grid{ grid-template-columns:1fr; max-width:440px; margin-inline:auto; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); gap:32px; }
  .footer-grid{ grid-template-columns:1fr 1fr; }

  .slide-grid{ grid-template-columns:1fr; gap:30px; }
  .slide-visual{ width:100%; max-width:380px; margin-inline:auto; order:-1; }
  .slide{ min-height:auto; padding:44px 0 78px; }
  .slide-copy{ text-align:center; }
  .slide-cta{ justify-content:center; }
  .hero-wave{ width:min(54vw,280px); opacity:.55; }

  .header-inner{ height:86px; }
  .brand img{ height:64px; }
  .nav{
    position:fixed; inset:86px 0 auto 0; flex-direction:column; align-items:stretch; gap:0;
    background:#6d28d9; border-bottom:1px solid rgba(255,255,255,.12); padding:10px 26px 22px;
    transform:translateY(-160%); transition:transform .4s var(--ease); box-shadow:0 30px 50px -20px rgba(0,0,0,.7);
  }
  .nav.open{ transform:translateY(0); }
  .nav > a{ padding:14px 4px; border-bottom:1px solid rgba(255,255,255,.12); font-size:1rem; }
  .nav-social{ justify-content:center; margin:18px 0 0; }
  .nav-toggle{ display:flex; }
}

@media (max-width:640px){
  .section{ padding:70px 0; }
  .svc-grid{ grid-template-columns:1fr; }
  .ag-grid{ grid-template-columns:1fr; max-width:380px; margin-inline:auto; }
  .footer-grid{ grid-template-columns:1fr; gap:32px; }
  .footer-bottom .container{ flex-direction:column; }
  .car-arrow{ display:none; }
  .slide{ min-height:78vh; }
  .slide-cta, .cta-buttons{ flex-direction:column; align-items:stretch; }
  .slide-cta .btn, .cta-buttons .btn{ width:100%; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width:400px){
  .container{ padding-inline:18px; }
  .brand img{ height:54px; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
  .slide{ transition:none; }
  html{ scroll-behavior:auto; }
}

/* ============================================================
   QUEM SOMOS
   ============================================================ */
.whowe{ padding:100px 0; position:relative; }
.whowe-head{ max-width:820px; margin:0 auto 48px; text-align:center; }
.whowe-head h2{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.9rem,4vw,3rem); line-height:1.12; letter-spacing:-.02em; }
.whowe-head p{ color:var(--muted); font-size:1.12rem; margin-top:18px; }

.whowe-main{ display:grid; grid-template-columns:1.15fr .85fr; gap:50px; align-items:center; }
.whowe-text p{ color:var(--muted); font-size:1.04rem; margin-bottom:18px; }
.whowe-text strong{ color:var(--text); font-weight:600; }
.whowe-quote{ border-left:3px solid var(--purple); padding:4px 0 4px 20px; margin:24px 0 22px;
  font-family:var(--ff-display); font-weight:500; font-size:1.14rem; line-height:1.42; color:var(--text); font-style:normal; }
.whowe-close{ font-family:var(--ff-display); font-size:1.08rem; line-height:1.35; margin:0 0 26px; }
.whowe-close strong{ font-weight:600; background:var(--ig); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

.whowe-visual{ position:relative; }
.whowe-card{ position:relative; aspect-ratio:1/1; border-radius:26px; display:grid; place-items:center; overflow:hidden;
  background:radial-gradient(130% 120% at 28% 12%, #a855f7, #7c3aed 44%, #241243 100%);
  border:1px solid rgba(255,255,255,.1); box-shadow:0 40px 90px -34px rgba(0,0,0,.7); }
.whowe-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(255,255,255,.14), transparent 42%); pointer-events:none; }
.whowe-monkey{ width:60%; position:relative; z-index:2; filter:drop-shadow(0 14px 34px rgba(0,0,0,.55)); }
.whowe-chip{ position:absolute; z-index:3; font-family:var(--ff-display); font-weight:600; font-size:.8rem;
  color:#fff; background:rgba(13,7,24,.5); border:1px solid rgba(255,255,255,.2); padding:8px 15px; border-radius:100px; backdrop-filter:blur(4px); }
.whowe-chip--1{ top:22px; left:18px; }
.whowe-chip--2{ bottom:22px; right:18px; }
.whowe-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px; }
.wstat{ text-align:center; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:16px 8px; }
.wstat strong{ display:block; font-family:var(--ff-display); font-weight:700; font-size:1.85rem; line-height:1;
  background:var(--ig); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.wstat span{ display:block; font-size:.74rem; color:var(--muted); line-height:1.25; margin-top:6px; }

.whowe-pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:56px; }
.wpillar{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:30px 26px;
  transition:transform .3s var(--ease), border-color .3s var(--ease); }
.wpillar:hover{ transform:translateY(-5px); border-color:var(--line-2); }
.wpillar-ico{ display:grid; place-items:center; width:52px; height:52px; border-radius:14px; background:var(--purple-soft); color:var(--purple); margin-bottom:16px; }
.wpillar-ico svg{ width:26px; height:26px; }
.wpillar h3{ font-family:var(--ff-display); font-weight:600; font-size:1.2rem; margin-bottom:8px; }
.wpillar p{ color:var(--muted); font-size:.96rem; }
/* ============================================================
   MACAQUINHO FLUTUANTE — canto inferior esquerdo
   ============================================================ */
.space-corner{
  position:fixed; left:0; bottom:0; z-index:40; pointer-events:none;
  width:178px; aspect-ratio:880/994; overflow:visible;
}
.space-corner img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; }
.fx-planet{ z-index:1; opacity:.95; filter:drop-shadow(0 0 26px rgba(168,85,247,.65)); animation:fxBob 11s ease-in-out infinite; }
.fx-monkey{ z-index:2; filter:drop-shadow(0 16px 24px rgba(0,0,0,.45)); animation:fxFloat 6s ease-in-out infinite; transform-origin:50% 42%; }
.fx-grass{ z-index:3; filter:drop-shadow(0 -4px 16px rgba(168,85,247,.5)); }
@keyframes fxFloat{ 0%,100%{ transform:translateY(0) rotate(-1.6deg) } 50%{ transform:translateY(-16px) rotate(1.8deg) } }
@keyframes fxBob{ 0%,100%{ transform:translateY(0) scale(1) } 50%{ transform:translateY(-20px) scale(1.03) } }
@media (max-width:760px){ .space-corner{ width:120px } }
@media (max-width:520px){ .space-corner{ opacity:.9 } }
@media (prefers-reduced-motion:reduce){ .fx-monkey,.fx-planet{ animation:none } }

.wpillar-flags{ display:flex; gap:10px; margin-top:16px; }
.wpillar-flags .flag{ width:36px; height:24px; border-radius:5px; overflow:hidden; display:block; line-height:0;
  box-shadow:0 4px 12px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.18);
  transition:transform .25s var(--ease); }
.wpillar-flags .flag:hover{ transform:translateY(-2px) scale(1.05); }
.wpillar-flags svg{ width:100%; height:100%; display:block; }

/* ============================================================
   HERO — banner slides (full-bleed)
   ============================================================ */
.slide-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.slide-bg.sb-rocket{ object-position:74% center; }
.slide-bg.sb-stage{ object-position:52% center; }
.slide--banner::after{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(13,7,24,.95) 0%, rgba(13,7,24,.7) 38%, rgba(13,7,24,.24) 66%, transparent 92%); }
.slide--banner .container{ position:relative; z-index:2; }
.slide--banner .slide-copy{ max-width:560px; }

@media (max-width:980px){
  .slide--banner{ min-height:clamp(480px, 116vw, 620px); align-items:flex-end; padding:0 0 42px; }
  .slide-bg.sb-rocket{ object-position:76% 24%; }
  .slide-bg.sb-stage{ object-position:50% 28%; }
  .slide--banner::after{ background:linear-gradient(180deg, rgba(13,7,24,.08) 16%, rgba(13,7,24,.64) 54%, rgba(13,7,24,.97) 100%); }
  .slide--banner .slide-copy{ max-width:none; text-align:left; }
  .slide--banner .slide-cta{ justify-content:flex-start; }
}

@media (max-width:860px){
  .whowe-main{ grid-template-columns:1fr; gap:38px; }
  .whowe-visual{ max-width:400px; width:100%; margin-inline:auto; order:-1; }
  .whowe-pillars{ grid-template-columns:1fr; gap:16px; max-width:480px; margin:44px auto 0; }
}
@media (max-width:640px){
  .whowe{ padding:70px 0; }
  .slide--banner .slide-cta .btn{ width:100%; }
}
