/* criativa.css — v1.0 · base do v12_2 · não editar em chat de página */

/* ESCOPO DE PÁGINA — não migrar
   #hero, .hero-fade, .hero-fade.d1..d5, @keyframes heroFadeUp, .hero-grid,
   #hero h1, #hero h1 em, #hero .lede, .hero-ctas, .trust-strip,
   .hero-visual, .hero-ring, .hero-ring.r2, @keyframes ringSpin, .hero-core,
   @keyframes corePulse, .orbit-rotor, .orbit-arm, .orbit-fix, .orbit-tag,
   @keyframes counterSpin,
   #diagnostico, .diag-grid, .diag-cell, .callout,
   #metodo, .metodo-arc, .cycle-wrap, .cycle-card, .cycle-num, .metodo-foot,
   #servicos, .svc-main-grid, .svc-card, .svc-top, .svc-icon, .svc-tag,
   .svc-channels, .svc-sub-head, .svc-cols, .svc-cat, .svc-list, a.svc-tag,
   .pain-strip (utilitário pronto, ainda sem uso — nenhuma LP nesta entrega),
   .glow (utilitário pronto, ainda sem uso confirmado fora de cards de página),
   .seg-hint, @keyframes segBounce, .seg-grid, .seg-card, .seg-icon,
   .seg-label, .seg-badge (componente reutilizável, mas específico de conteúdo),
   #resultados, .stat-grid, .stat-card, .stat-num, .stat-channel, .lgpd-row,
   .lgpd-note, .lgpd-badge, .dark-callout, .resultados-link,
   #cases, .case-grid, .case-card, .case-band, .case-intro, .case-body,
   .case-row, .case-note,
   #ecossistema, .eco-carousel, .eco-track, .eco-page, @keyframes ecoFadeIn,
   .eco-chip, .eco-nav, .eco-arrow, .eco-dots, .eco-dot, .eco-sample, .eco-note,
   #sobre, .sobre-grid, .sobre-photo, #sobre ul, #sobre li,
   #depoimento, .depo-carousel, .depo-track, .depo-slide, .depo-media,
   #depoimento .split, #depoimento h2, #depoimento .lede, .depo-signature,
   .depo-nav, .depo-arrow, .depo-dots, .depo-dot,
   #faq, .faq-list, .faq-item, .faq-q, .faq-a, .faq-more,
   #cta-final, .cta-arc, #cta-final h2, #cta-final .lede, .cta-btns, .cta-contact,
   #processo, .processo-track, .processo-line, .processo-steps, .processo-num,
   .processo-step,
   trechos de @media (max-width:980px) e (max-width:600px) que só afetam os
   seletores acima (hero-grid, hero-visual, diag-grid, svc-main-grid, svc-cols,
   case-card, stat-grid, sobre-grid, eco-page, cta-btns .btn, hero-ctas .btn)
*/

:root{
  --bg-base:#F8F9FA;
  --bg-alt:#E9ECEF;
  --divider:#DEE2E6;
  --border:#CED4DA;
  --text-mute:#ADB5BD;
  --text-sec:#6C757D;
  --text-body:#495057;
  --bg-strong:#343A40;
  --ink:#212529;
  --petroleo:#0B3D42;
  --petroleo-deep:#072A2E;
  --verde:#2E8B57;
  --mint:#2EE8B5;
  --laranja:#6C757D;
  --laranja-text:#495057;
  --serif:'Fraunces', serif;
  --sans:'Montserrat', sans-serif;
  --body:'Poppins', sans-serif;
  --container:1160px;
  --radius:14px;
}

/* ---------- reset ---------- */
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;} }
body{
  font-family:var(--body);
  color:var(--text-body);
  background:var(--bg-base);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer;}

/* ---------- tipografia ---------- */
.eyebrow{
  font-family:var(--sans); font-weight:700; font-size:12.5px; letter-spacing:.16em;
  text-transform:uppercase; display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{content:""; width:22px; height:2px; background:currentColor; display:inline-block; border-radius:2px;}
.eyebrow--petroleo{color:var(--petroleo);}
.eyebrow--mint{color:var(--mint);}
h1,h2,h3{font-family:var(--serif); font-weight:600; color:var(--ink); letter-spacing:-0.01em;}
h2{font-size:clamp(30px,4vw,44px); line-height:1.15; margin:14px 0 16px;}
h3{font-size:22px; line-height:1.3;}
.lede{font-family:var(--sans); font-weight:500; font-size:18px; color:var(--text-sec); max-width:640px; line-height:1.55;}

/* ---------- layout ---------- */
.wrap{max-width:var(--container); margin:0 auto; padding:0 28px;}
section{position:relative; padding:104px 0;}
.section-head{max-width:720px; margin-bottom:56px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--body); font-weight:500; font-size:15.5px;
  padding:14px 26px; border-radius:100px; border:1.5px solid transparent;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--mint); color:var(--petroleo-deep); font-weight:600;}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 12px 28px -10px rgba(46,232,181,.55);}
.btn-ghost-dark{border-color:rgba(255,255,255,.35); color:#fff;}
.btn-ghost-dark:hover{border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px);}
.btn-ghost-light{border-color:var(--border); color:var(--petroleo);}
.btn-ghost-light:hover{border-color:var(--petroleo); background:rgba(11,61,66,.04); transform:translateY(-2px);}
.btn-sm{padding:10px 18px; font-size:14px;}

/* ---------- Header ---------- */
#progress{position:fixed; top:0; left:0; height:3px; background:var(--mint); width:0%; z-index:1000; transition:width .1s linear;}
header{
  position:fixed; top:3px; left:0; right:0; z-index:900;
  background:rgba(248,249,250,.78); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent; transition:border-color .3s ease, box-shadow .3s ease;
}
header.scrolled{border-color:var(--divider); box-shadow:0 6px 24px -18px rgba(11,61,66,.4);}
.nav-row{display:flex; align-items:center; justify-content:space-between; height:78px;}
.logo{display:flex; align-items:center; gap:10px; color:var(--petroleo);}
.logo svg{width:36px; height:27px;}
.logo-word{font-family:var(--body); font-weight:300; font-style:normal; font-size:23px; letter-spacing:-0.01em; color:var(--ink);}
.logo-desc{display:block; font-family:var(--sans); font-weight:700; font-size:8px; letter-spacing:.14em; color:var(--text-sec); margin-top:1px;}
nav.primary-nav{display:flex; align-items:center; gap:34px;}
nav.primary-nav a{
  font-family:var(--sans); font-weight:600; font-size:13.5px; color:var(--text-body);
  position:relative; padding:6px 0;
}
nav.primary-nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--verde);
  transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
nav.primary-nav a:hover::after, nav.primary-nav a.active::after{transform:scaleX(1);}
nav.primary-nav a.active{color:var(--petroleo);}
.nav-cta{display:flex; align-items:center; gap:14px;}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:none; padding:8px;}
.burger span{width:22px; height:2px; background:var(--ink); border-radius:2px;}
.mobile-nav{
  position:fixed; inset:0; background:var(--petroleo); z-index:1100; display:flex; flex-direction:column;
  padding:28px; transform:translateY(-100%); transition:transform .4s cubic-bezier(.6,0,.2,1);
}
.mobile-nav.open{transform:translateY(0);}
.mobile-nav .close-x{align-self:flex-end; background:none; border:none; color:#fff; font-size:28px;}
.mobile-nav a{font-family:var(--serif); font-size:30px; color:#fff; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.12);}
.mobile-nav .mob-cta{margin-top:28px;}

/* ---------- Footer ---------- */
footer{background:var(--ink); color:rgba(255,255,255,.62); padding:64px 0 28px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.1);}
.foot-logo{display:flex; align-items:center; gap:10px; color:var(--mint); margin-bottom:14px;}
.foot-logo svg{width:34px; height:26px;}
.foot-logo span{font-family:var(--body); font-style:normal; font-weight:300; font-size:21px; color:#fff;}
.foot-desc{font-size:13.5px; max-width:260px; line-height:1.6;}
footer h5{font-family:var(--sans); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#fff; margin-bottom:18px;}
footer .foot-col a, footer .foot-col span{display:block; font-size:14px; margin-bottom:11px; color:rgba(255,255,255,.62); transition:color .2s ease;}
footer .foot-col a:hover{color:var(--mint);}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:26px; flex-wrap:wrap; gap:14px;}
.foot-bottom p{font-size:12px; color:rgba(255,255,255,.4);}
.foot-legal{font-size:11.5px; color:rgba(255,255,255,.32); max-width:640px; line-height:1.6; margin-top:18px;}
.foot-social{display:flex; gap:12px; margin-bottom:16px;}
footer .foot-col .foot-social a{
  width:44px; height:44px; border-radius:50%; border:none;
  display:flex; align-items:center; justify-content:center;
  transition:transform .25s ease, box-shadow .25s ease; box-shadow:0 6px 16px -8px rgba(0,0,0,.4);
  margin-bottom:0;
}
.foot-social a svg{width:20px; height:20px; display:block; flex:none;}
.foot-social a:hover{transform:translateY(-3px) scale(1.06); box-shadow:0 12px 22px -8px rgba(0,0,0,.5);}
footer .foot-col .foot-social a:hover{color:#fff;}
.foot-social a.ig{background:radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);}
.foot-social a.li{background:#0A66C2;}
.foot-social a.wa{background:#25D366;}
.foot-social a.em{background:var(--petroleo);}
.foot-social-text{display:flex; flex-direction:column; gap:6px;}
.foot-social-text a, .foot-social-text span{font-size:13px; color:rgba(255,255,255,.55);}

/* ---------- utilitários ---------- */
.arc-mark{position:absolute; pointer-events:none; opacity:.5;}
svg.icon-mono{display:block;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.split.reverse{direction:rtl;}
.split.reverse > *{direction:ltr;}
.split .media{border-radius:var(--radius); overflow:hidden; position:relative;}
.split .media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease;}
.split:hover .media img{transform:scale(1.06);}
.media-45{aspect-ratio:4/5;}
.media-11{aspect-ratio:1/1;}
.media-1610{aspect-ratio:16/10;}

/* ---------- UTILIDADE GLOBAL — .bg-deep (fundo escuro com gradiente radial) ----------
   Aplicar em qualquer seção que precise do painel institucional escuro:
   #metodo (Home, já aplicado), e futuramente #complementares (/servicos),
   #pesquisa (/trafego-pago), #como-pensamos (/sobre) e hero de LPs. */
.bg-deep{
  background:
    radial-gradient(900px 520px at 78% -12%, rgba(46,232,181,.16), transparent 62%),
    radial-gradient(700px 480px at 8% 108%, rgba(46,232,181,.09), transparent 60%),
    linear-gradient(168deg, var(--petroleo) 0%, var(--petroleo-deep) 100%);
  color:#fff; overflow:hidden; position:relative;
}
.bg-deep h1, .bg-deep h2, .bg-deep h3{color:#fff;}
.bg-deep .lede{color:rgba(255,255,255,.72);}
.bg-deep .breadcrumb, .bg-deep .breadcrumb a{color:rgba(255,255,255,.6);}
.bg-deep .breadcrumb a:hover{color:#fff;}
.bg-deep .breadcrumb span{color:rgba(255,255,255,.35);}
.bg-deep .breadcrumb .current{color:#fff;}
.bg-deep .trust-strip{color:rgba(255,255,255,.75);}
.bg-deep .eyebrow--petroleo{color:var(--mint);}

/* ---------- sistema de animação de scroll ---------- */
/* Único IntersectionObserver reutilizável para toda a página — ver criativa.js. */
[data-anim]{
  opacity:0; transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1);
}
[data-anim="fade-up"]{transform:translateY(24px);}
[data-anim="fade-left"]{transform:translateX(24px);}
[data-anim="zoom-in"]{transform:scale(.94);}
[data-anim="draw-line"]{opacity:1; transform:scaleX(0); transform-origin:left center;}
[data-anim="count"]{transform:none;}
[data-anim].in-view{opacity:1; transform:none;}
[data-anim="draw-line"].in-view{transform:scaleX(1);}
[data-anim][data-delay="90"]{transition-delay:.09s;}
[data-anim][data-delay="180"]{transition-delay:.18s;}
[data-anim][data-delay="270"]{transition-delay:.27s;}
@media (prefers-reduced-motion: reduce){
  [data-anim]{opacity:1 !important; transform:none !important; transition:none !important;}
}
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
a:focus-visible, button:focus-visible{outline:2px solid var(--verde); outline-offset:3px; border-radius:4px;}

/* ---------- media queries (itens globais) ---------- */
@media (max-width:860px){
  .split{grid-template-columns:1fr; gap:32px;}
  .split.reverse{direction:ltr;}
  .split .media{order:-1;}
}
@media (max-width:980px){
  nav.primary-nav, .nav-cta .btn{display:none;}
  .burger{display:flex;}
  .foot-grid{grid-template-columns:1fr 1fr; gap:36px 24px;}
}
@media (max-width:600px){
  section{padding:76px 0;}
  .foot-grid{grid-template-columns:1fr;}
}