/* DSGQ — Home (novo design) — estilos específicos desta página */
html{scroll-behavior:smooth}
html,body{overflow-x:hidden;max-width:100%}
body{margin:0;background:#fbfaf7;font-family:'Figtree',system-ui,sans-serif;color:#0D1B40}
*{box-sizing:border-box}
a{color:#e45602;text-decoration:none}
a:hover{color:#c24a02}

/* hero: fundo com profundidade (gradiente + malha sutil) em vez de branco chapado */
.hero-bg{background:linear-gradient(168deg,#eaf0fb 0%,#f5f4f2 46%,#fbfaf7 100%);border-bottom:1px solid rgba(13,27,64,.07)}
.hero-bg::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(13,27,64,.13) 1px,transparent 1px);background-size:22px 22px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 72%);mask-image:linear-gradient(180deg,#000,transparent 72%)}
.hero-bg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;
  background:linear-gradient(180deg,transparent,#fbfaf7)}
html.dark .hero-bg{background:linear-gradient(168deg,#0c1526 0%,#0b1220 55%,#0e1626 100%);border-bottom-color:rgba(255,255,255,.08)}
html.dark .hero-bg::before{background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px)}
html.dark .hero-bg::after{background:linear-gradient(180deg,transparent,#0b1220)}

/* reveal ao rolar — por classe (mexer em element.style quebraria o modo escuro) */
.rv{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.rv-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes pulseGlow{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}
@keyframes drift{0%{transform:translate(0,0)}50%{transform:translate(24px,-18px)}100%{transform:translate(0,0)}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes marqueeRev{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@keyframes neonPing{0%{transform:scale(.6);opacity:.9}80%,100%{transform:scale(2.6);opacity:0}}
@keyframes neonFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.cliwall{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cli-track{display:flex;gap:16px;width:max-content}
.cli-track:hover{animation-play-state:paused}
.cli-chip{flex:none;width:76px;height:76px;background:#fff;border:1px solid rgba(13,27,64,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;padding:9px;overflow:hidden;box-shadow:0 14px 30px -18px rgba(13,27,64,.4);transition:transform .25s,box-shadow .25s,border-color .25s}
.cli-chip:hover{transform:translateY(-5px);box-shadow:0 18px 34px -18px rgba(13,27,64,.4);border-color:rgba(228,86,2,.4)}
/* logo ocupa 100% do círculo: sem "caixa branca" sobrando dentro do chip */
.cli-chip{padding:4px}
.cli-chip img{width:100%;height:100%;max-height:none;max-width:none;object-fit:contain}
.cli-chip img.fill{object-fit:cover}
.cli-chip.fill{padding:0}
/* o círculo continua branco no modo escuro — logos têm fundo claro na própria arte */
html.dark .cli-chip{background:#fff;border-color:rgba(255,255,255,.16)}

/* hover polish */
.hov-card{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.hov-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -30px rgba(13,27,64,.5);border-color:rgba(228,86,2,.35)}
a[href][style*="border-radius:12px"],a[href][style*="border-radius:999px"],button{transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,filter .22s,background .22s}
a[href][style*="border-radius:12px"]:hover,a[href][style*="border-radius:999px"]:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 18px 34px -14px rgba(228,86,2,.55)}
button:hover{transform:translateY(-2px);filter:brightness(1.05)}
button:active,a[href][style*="border-radius:12px"]:active{transform:translateY(0)}
.emp-circle:hover{transform:translateY(-6px);box-shadow:0 22px 40px -20px rgba(13,27,64,.4)}

/* converted from data-tool style-hover attributes */
.cert-tile{transition:transform .35s,box-shadow .35s}
.cert-tile:hover{transform:translateY(-8px);box-shadow:0 30px 60px -22px rgba(13,27,64,.55)}
.stat-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.08)}
.stat-card--orange:hover{border-color:rgba(228,86,2,.4)}
.stat-card--green:hover{border-color:rgba(127,227,164,.4)}
.loc-row:hover{padding-left:12px}
.footer-social-ico:hover{color:#e45602;border-color:#e45602;transform:translateY(-2px)}

/* seção "Quem somos": foto com animação no hover e chips coloridos */
.about-photo img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.about-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-120%);transition:transform .9s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.about-photo:hover img{transform:scale(1.07)}
.about-photo:hover::after{transform:translateX(120%)}
.about-chip{transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,filter .22s}
.about-chip:hover{transform:translateY(-3px);filter:brightness(1.08);box-shadow:0 12px 24px -12px rgba(13,27,64,.55)}
@media (prefers-reduced-motion:reduce){.about-photo img,.about-photo::after{transition:none}}

/* neon map */
.neon-map{position:relative;min-height:340px;height:100%;overflow:hidden;background:#e9e9e9}
@media(max-width:920px){.neon-map{min-height:320px}}
.neon-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.neon-veil,.neon-glow{display:none}
.neon-pin{position:absolute;left:52%;top:46%;transform:translate(-50%,-100%);pointer-events:none;z-index:3}
.neon-pin svg{display:block;filter:drop-shadow(0 0 6px #e45602) drop-shadow(0 0 16px rgba(228,86,2,.85));animation:neonFloat 2.8s ease-in-out infinite}
.neon-pin .ping{position:absolute;left:50%;bottom:-5px;width:20px;height:8px;margin-left:-10px;border-radius:50%;background:radial-gradient(circle,rgba(228,86,2,.7),transparent 70%);animation:neonPing 2.2s ease-out infinite}

/* logo: só a versão colorida aparece por padrão; a branca é alternativa só no dark mode */
.logo-dark{display:none}
html.dark .logo-light{display:none}
html.dark .logo-dark{display:inline-block}

/* dark mode */
.ic-sun{display:none}
html.dark .ic-moon{display:none}
html.dark .ic-sun{display:inline-flex}
#darkToggle:hover{transform:translateY(-2px);border-color:#e45602;color:#e45602}
html.dark #darkToggle{border-color:rgba(255,255,255,.22);color:#eef2fb}
html.dark body{background:#0b1220}html.dark [style*="background:#fff"],html.dark [style*="background:rgb(255, 255, 255)"]{background:#131d31!important}html.dark [style*="background:#fbfaf7"],html.dark [style*="background:rgb(251, 250, 247)"]{background:#0e1626!important}html.dark [style*="background:#f2efe8"],html.dark [style*="background:rgb(242, 239, 232)"]{background:#0a111e!important}
html.dark [style*="background:rgba(251,250,247,.72)"]{background:rgba(11,18,32,.72)!important}
html.dark [style*="background:rgba(251,250,247,.9)"]{background:rgba(11,18,32,.9)!important}html.dark [style*="color:#0D1B40"],html.dark [style*="color:rgb(13, 27, 64)"]{color:#eef2fb!important}html.dark [style*="color:#566079"],html.dark [style*="color:#8b96b5"],html.dark [style*="color:#42506e"],html.dark [style*="color:#6b7690"],html.dark [style*="color:#33405e"],html.dark [style*="color:#9aa5bd"],html.dark [style*="color:rgb(86, 96, 121)"],html.dark [style*="color:rgb(139, 150, 181)"],html.dark [style*="color:rgb(66, 80, 110)"],html.dark [style*="color:rgb(107, 118, 144)"],html.dark [style*="color:rgb(51, 64, 94)"],html.dark [style*="color:rgb(154, 165, 189)"]{color:#aeb8d0!important}html.dark [style*="color:#16502A"],html.dark [style*="color:rgb(22, 80, 42)"]{color:#7fe3a4!important}
html.dark [style*="rgba(13,27,64,"]{border-color:rgba(255,255,255,.12)!important}
html.dark input,html.dark select,html.dark textarea{background:#0e1626!important;color:#eef2fb!important;border-color:rgba(255,255,255,.16)!important}
html.dark details{background:#0e1626!important}

/* cert carousel: room for hover lift (desktop) */
[data-r="cert"]{padding-top:16px!important;padding-bottom:22px!important}
#certsTrack::-webkit-scrollbar{display:none}

/* responsive */
@media (max-width:920px){[style*="max-width: 1180px"],[style*="max-width: 1080px"],[style*="max-width: 900px"],[style*="max-width: 820px"],[style*="max-width: 780px"],[style*="max-width: 760px"],[data-r],[style*="max-width:1180px"],[style*="max-width:1080px"],[style*="max-width:900px"],[style*="max-width:820px"],[style*="max-width:780px"],[style*="max-width:760px"]{padding-left:12px!important;padding-right:12px!important}
  [data-r="hero"],[data-r="2"],[data-r="3"],[data-r="foot"],[data-r="form2"]{grid-template-columns:1fr!important}
  [data-r="4"]{grid-template-columns:repeat(2,1fr)!important}
  h1{font-size:clamp(30px,7.4vw,44px)!important;line-height:1.12!important}
  h2{font-size:clamp(24px,5.6vw,36px)!important}
  header nav a:not([style*="999px"]){display:none!important}
  header nav span[style*="margin-left"]{display:none!important}
  header nav{gap:12px!important}
  header > div{padding-left:12px!important;padding-right:12px!important}a[style*="border-radius: 12px"],button,a[style*="border-radius:12px"]{white-space:normal!important}
  #tl-wrap [style*="62px 1fr"]{grid-template-columns:62px 1fr!important;gap:18px!important}#tl-wrap [style*="width: 60px"],#tl-wrap [style*="width:60px"]{flex:none!important;width:56px!important;height:56px!important;aspect-ratio:1!important}#tl-wrap [style*="width: 60px"] svg,#tl-wrap [style*="width:60px"] svg{width:22px!important;height:22px!important}
  [data-r="map"]{grid-template-columns:1fr!important}[data-r="map"] > [style*="min-height: 340px"],[data-r="map"] > [style*="min-height:340px"]{min-height:280px!important;order:2}[data-r="map"] > [style*="padding: 44px 40px"],[data-r="map"] > [style*="padding:44px 40px"]{padding:28px 20px!important}
  /* certificações: segue carrossel no mobile, só com as setas menores */
  [data-r="arrows"]{margin-top:18px!important}
  [data-r="arrows"] button{width:38px!important;height:38px!important}
  [data-r="heroimg"]{margin:8px 16px 20px 4px!important}
  /* consultoria x assessoria: uma coluna no mobile */
  .ca-grid{grid-template-columns:1fr!important;gap:12px!important;margin-top:24px!important}
}
@media (max-width:560px){
  [data-r]{padding-left:10px!important;padding-right:10px!important}section[style*="padding: 96px"],section[style*="padding: 88px"],section[style*="padding:96px"],section[style*="padding:88px"]{padding-top:52px!important;padding-bottom:52px!important}
  [data-r="4"]{grid-template-columns:1fr!important}
  .cli-chip{width:84px!important;height:84px!important}
  .emp-circle{width:80px!important;height:80px!important}
  h1{font-size:clamp(28px,8.5vw,38px)!important}[data-r="hero"] [style*="height: 468px"],[data-r="hero"] [style*="height:468px"]{height:250px!important}[data-r="hero"] [style*="left: -28px"],[data-r="hero"] [style*="left:-28px"]{left:0!important}[data-r="hero"] [style*="right: -26px"],[data-r="hero"] [style*="right:-26px"]{right:0!important}
  .stat-card{width:100%!important}
  /* cards de certificação compactos: ~1,3 por tela para indicar o arraste */
  #certsTrack{gap:12px!important;scroll-padding-left:10px}
  #certsTrack .cert-tile{width:76vw!important;max-width:272px;height:300px!important}
}
