@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Poppins:wght@600;700;800&display=swap');

:root{
  --sh-purple:#8A4FFF;
  --sh-blue:#5498FF;
  --sh-indigo:#1B0F4A;
  --sh-light:#F4F7FA;
  --sh-dark:#09041A;
  --sh-text:#334155;
  --sh-muted:#64748B;
  --sh-gradient:linear-gradient(135deg,var(--sh-purple),var(--sh-blue));
}

body{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  padding-top:82px;
}

h1,h2,h3,h4,h5,h6{
  font-family:"Poppins","Inter",system-ui,sans-serif!important;
}

/* =========================================================
   CABEÇALHO
   ========================================================= */

.site-header,
.site-header.scrolled{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:1000!important;
  width:100%!important;
  max-width:none!important;
  min-height:82px!important;
  margin:0!important;
  padding:12px max(24px,calc((100vw - 1180px)/2))!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  border:0!important;
  border-bottom:1px solid rgba(27,15,74,.08)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.88)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
  backdrop-filter:blur(18px) saturate(150%)!important;
  box-shadow:0 5px 24px rgba(27,15,74,.06)!important;
}

.header-brand{
  position:relative!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  overflow:visible!important;
  background:none!important;
}

.header-brand-halo,
.header-brand::before,
.header-brand::after,
.site-header::after{
  display:none!important;
  content:none!important;
}

.header-logo{
  display:block!important;
  width:auto!important;
  height:48px!important;
  max-width:178px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  opacity:1!important;
  filter:none!important;
  animation:none!important;
  transform:none!important;
}

.header-brand:hover .header-logo{
  transform:none!important;
  filter:none!important;
}

body .site-header .nav{
  display:flex!important;
  align-items:center!important;
  gap:26px!important;
  margin-left:auto!important;
}

body .site-header .nav a{
  min-width:0!important;
  padding:8px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--sh-indigo)!important;
  box-shadow:none!important;
  font-family:"Inter",sans-serif!important;
  font-size:.88rem!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  transition:color .22s ease!important;
}

body .site-header .nav a:hover{
  transform:none!important;
  color:var(--sh-purple)!important;
  background:transparent!important;
  box-shadow:none!important;
}

body .site-header .nav .nav-cta{
  padding:11px 20px!important;
  border:0!important;
  border-radius:8px!important;
  background:var(--sh-gradient)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(138,79,255,.22)!important;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease!important;
}

body .site-header .nav .nav-cta:hover{
  transform:translateY(-2px)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(84,152,255,.28)!important;
  filter:brightness(1.04)!important;
}

.site-header .menu-button{
  display:none!important;
  color:var(--sh-indigo)!important;
}

/* =========================================================
   HOME
   ========================================================= */

body.home-agency{
  background:var(--sh-light)!important;
  color:var(--sh-text)!important;
}

body.home-agency .ambient,
body.home-agency .grid-overlay,
body.home-agency .cursor-glow{
  display:none!important;
}

/* HERO */

body.home-agency .hero{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  max-width:none!important;
  min-height:calc(100vh - 82px)!important;
  margin:0!important;
  padding:clamp(110px,12vw,170px) max(24px,calc((100vw - 1180px)/2)) clamp(100px,10vw,145px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 10% 15%,rgba(138,79,255,.26),transparent 30%),
    radial-gradient(circle at 90% 85%,rgba(84,152,255,.22),transparent 30%),
    var(--sh-dark)!important;
}

body.home-agency .hero::before,
body.home-agency .hero::after{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  width:420px!important;
  height:420px!important;
  border-radius:50%!important;
  pointer-events:none!important;
  filter:blur(105px)!important;
  opacity:.42!important;
}

body.home-agency .hero::before{
  left:-145px!important;
  top:-120px!important;
  background:var(--sh-purple)!important;
  animation:agencyGlowA 12s ease-in-out infinite alternate!important;
}

body.home-agency .hero::after{
  right:-140px!important;
  bottom:-130px!important;
  background:var(--sh-blue)!important;
  animation:agencyGlowB 14s ease-in-out infinite alternate!important;
}

@keyframes agencyGlowA{
  to{transform:translate(55px,45px) scale(1.06)}
}
@keyframes agencyGlowB{
  to{transform:translate(-50px,-35px) scale(.94)}
}

body.home-agency .hero-copy{
  position:relative!important;
  z-index:2!important;
  width:min(900px,100%)!important;
  max-width:900px!important;
  margin:0 auto!important;
  text-align:center!important;
}

body.home-agency .hero-copy::before{
  display:none!important;
  content:none!important;
}

body.home-agency .hero-title{
  min-height:0!important;
  height:clamp(9.5rem,13vw,11rem)!important;
  max-width:900px!important;
  margin:0 auto 24px!important;
  color:#fff!important;
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(2.9rem,6vw,4rem)!important;
  font-weight:800!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  text-wrap:balance!important;
}

body.home-agency .hero-title-text{
  color:#fff!important;
  background:linear-gradient(135deg,#fff 0%,#fff 42%,#bda0ff 60%,#71b0ff 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}

body.home-agency .hero-lead{
  max-width:720px!important;
  margin:0 auto!important;
  color:#cbd5e1!important;
  font-size:1.08rem!important;
  line-height:1.75!important;
}

body.home-agency .hero-actions{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin:34px auto 0!important;
}

body.home-agency .button{
  min-height:48px!important;
  border-radius:8px!important;
  font-family:"Inter",sans-serif!important;
  font-weight:600!important;
}

body.home-agency .button.primary{
  border:0!important;
  background:var(--sh-gradient)!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(138,79,255,.30)!important;
}

body.home-agency .button.primary:hover{
  box-shadow:0 15px 36px rgba(84,152,255,.34)!important;
}

body.home-agency .button.secondary{
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  box-shadow:none!important;
}

body.home-agency .button.secondary:hover{
  background:rgba(255,255,255,.11)!important;
}

body.home-agency .hero-visual{
  display:none!important;
}

/* SERVICES */

body.home-agency .services{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(95px,9vw,130px) max(24px,calc((100vw - 1180px)/2))!important;
  background:var(--sh-light)!important;
}

body.home-agency .services .section-heading{
  max-width:760px!important;
  margin:0 auto 52px!important;
  text-align:center!important;
}

body.home-agency .services .eyebrow{
  justify-content:center!important;
  color:var(--sh-purple)!important;
  font-size:.76rem!important;
  font-weight:700!important;
}

body.home-agency .services .eyebrow span{
  background:var(--sh-gradient)!important;
}

body.home-agency .services .section-heading h2{
  margin:16px auto 18px!important;
  color:var(--sh-indigo)!important;
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(2.35rem,4.8vw,3.8rem)!important;
  font-weight:700!important;
  line-height:1.06!important;
  letter-spacing:-.045em!important;
}

body.home-agency .services .section-heading h2 em{
  background:var(--sh-gradient)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}

body.home-agency .services .section-heading p{
  max-width:650px!important;
  margin:0 auto!important;
  color:var(--sh-muted)!important;
  font-size:1rem!important;
  line-height:1.7!important;
}

body.home-agency .service-grid--five{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;
  gap:22px!important;
}

body.home-agency .service-grid--five > .service-card{
  position:relative!important;
  min-height:315px!important;
  padding:32px 30px 68px!important;
  overflow:hidden!important;
  border:1px solid rgba(27,15,74,.07)!important;
  border-radius:16px!important;
  background:#fff!important;
  color:var(--sh-text)!important;
  box-shadow:0 12px 34px rgba(27,15,74,.07)!important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
  isolation:isolate!important;
}

body.home-agency .service-grid--five > .service-card::before{
  position:relative!important;
  inset:auto!important;
  z-index:auto!important;
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  margin:0 0 28px!important;
  border-radius:12px!important;
  background:#f0e9ff!important;
  color:var(--sh-purple)!important;
  font-size:1.45rem!important;
  opacity:1!important;
  filter:none!important;
  box-shadow:none!important;
}


body.home-agency .service-grid--five > .service-card::after{
  content:""!important;
  position:absolute!important;
  z-index:4!important;
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  width:100%!important;
  height:3px!important;
  border-radius:16px 16px 0 0!important;
  background:var(--sh-gradient)!important;
  filter:none!important;
  opacity:0!important;
  transform:scaleX(.25)!important;
  transform-origin:center!important;
  transition:opacity .28s ease,transform .28s ease!important;
}

body.home-agency .service-grid--five > .service-card:hover{
  transform:translateY(-7px)!important;
  border-color:rgba(138,79,255,.18)!important;
  box-shadow:0 20px 45px rgba(27,15,74,.11)!important;
}

body.home-agency .service-grid--five > .service-card:hover::after{
  opacity:1!important;
  transform:scaleX(1)!important;
}

body.home-agency .service-hero-illustration{
  display:none!important;
}

body.home-agency .service-card h3{
  margin:0 0 12px!important;
  color:var(--sh-indigo)!important;
  font-family:"Poppins",sans-serif!important;
  font-size:1.25rem!important;
  font-weight:700!important;
  line-height:1.25!important;
}

body.home-agency .service-card p{
  margin:0!important;
  color:var(--sh-muted)!important;
  font-size:.95rem!important;
  line-height:1.68!important;
}

body.home-agency .service-card__details-hint{
  color:#7a8190!important;
}

/* QUEM SOMOS */

body.home-agency .about{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(95px,9vw,130px) max(24px,calc((100vw - 1180px)/2))!important;
  background:#fff!important;
}

body.home-agency .about-modern{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:clamp(48px,7vw,86px)!important;
  align-items:center!important;
}

body.home-agency .about-copy-modern .eyebrow{
  color:var(--sh-purple)!important;
}

body.home-agency .about-copy-modern .eyebrow span{
  background:var(--sh-gradient)!important;
}

body.home-agency .about-copy-modern h2{
  margin:16px 0 20px!important;
  color:var(--sh-indigo)!important;
  font-size:clamp(2.4rem,4.6vw,3.8rem)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
}

body.home-agency .about-copy-modern h2 em{
  background:var(--sh-gradient)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}

body.home-agency .about-copy-modern > p{
  color:var(--sh-muted)!important;
  font-size:1rem!important;
  line-height:1.75!important;
}

body.home-agency .about-highlight{
  margin-top:28px!important;
  padding:20px 22px!important;
  border-left:4px solid var(--sh-blue)!important;
  border-radius:0 12px 12px 0!important;
  background:var(--sh-light)!important;
}

body.home-agency .about-highlight strong{
  display:block!important;
  margin-bottom:6px!important;
  color:var(--sh-indigo)!important;
  font-family:"Poppins",sans-serif!important;
  font-weight:700!important;
}

body.home-agency .about-highlight p{
  margin:0!important;
  color:var(--sh-muted)!important;
  line-height:1.65!important;
}

body.home-agency .about-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:26px!important;
  color:var(--sh-purple)!important;
  font-weight:600!important;
}

body.home-agency .about-brand-block{
  position:relative!important;
  min-height:430px!important;
  padding:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 18% 18%,rgba(138,79,255,.25),transparent 32%),
    radial-gradient(circle at 82% 78%,rgba(84,152,255,.22),transparent 32%),
    var(--sh-dark)!important;
  box-shadow:0 24px 60px rgba(9,4,26,.18)!important;
}

body.home-agency .about-brand-block::before{
  content:""!important;
  position:absolute!important;
  inset:20px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:18px!important;
}

body.home-agency .about-brand-block img{
  position:relative!important;
  z-index:2!important;
  width:min(380px,82%)!important;
  height:auto!important;
  filter:none!important;
}

/* CONTACT */

body.home-agency .contact{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(95px,9vw,130px) 24px!important;
  background:var(--sh-light)!important;
}

body.home-agency .contact-panel{
  width:min(760px,100%)!important;
  margin:0 auto!important;
  padding:clamp(32px,5vw,48px)!important;
  display:block!important;
  border:1px solid rgba(27,15,74,.07)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(27,15,74,.09)!important;
}

body.home-agency .contact-copy{
  margin:0 auto 34px!important;
  max-width:620px!important;
  text-align:center!important;
}

body.home-agency .contact-copy .eyebrow{
  justify-content:center!important;
  color:var(--sh-purple)!important;
}

body.home-agency .contact-copy .eyebrow span{
  background:var(--sh-gradient)!important;
}

body.home-agency .contact-copy h2{
  margin:15px 0 16px!important;
  color:var(--sh-indigo)!important;
  font-size:clamp(2.25rem,4.5vw,3.6rem)!important;
  line-height:1.06!important;
  letter-spacing:-.045em!important;
}

body.home-agency .contact-copy h2 em{
  background:var(--sh-gradient)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}

body.home-agency .contact-copy p{
  margin:0!important;
  color:var(--sh-muted)!important;
  line-height:1.7!important;
}

body.home-agency .contact-form{
  gap:16px!important;
}

body.home-agency .contact-form label{
  color:var(--sh-text)!important;
  font-size:.84rem!important;
  font-weight:600!important;
}

body.home-agency .contact-form label small{
  color:#94a3b8!important;
}

body.home-agency .contact-form input,
body.home-agency .contact-form select,
body.home-agency .contact-form textarea{
  width:100%!important;
  border:1px solid #dbe3ec!important;
  border-radius:10px!important;
  background:#f7f9fc!important;
  color:var(--sh-text)!important;
  padding:13px 14px!important;
  box-shadow:none!important;
}

body.home-agency .contact-form select{
  background-color:#f7f9fc!important;
}

body.home-agency .contact-form option{
  background:#fff!important;
  color:var(--sh-text)!important;
}

body.home-agency .contact-form input:focus,
body.home-agency .contact-form select:focus,
body.home-agency .contact-form textarea:focus{
  outline:none!important;
  border-color:var(--sh-blue)!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(84,152,255,.12)!important;
}

body.home-agency .contact-form .form-button{
  width:100%!important;
  margin-top:4px!important;
  padding:14px 18px!important;
  justify-content:center!important;
  border-radius:8px!important;
  background:var(--sh-gradient)!important;
}

/* =========================================================
   RODAPÉ
   ========================================================= */

.footer{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:42px max(24px,calc((100vw - 1180px)/2))!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:22px!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  background:var(--sh-dark)!important;
  color:#94a3b8!important;
  box-shadow:none!important;
  clip-path:none!important;
}

.footer-logo{
  display:block!important;
  height:32px!important;
  width:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  opacity:1!important;
  filter:none!important;
  animation:none!important;
}

.footer a{
  color:#e2e8f0!important;
}

.footer-contacts{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:9px!important;
}

.footer-contact-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:8px 13px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.04)!important;
  color:#e2e8f0!important;
  box-shadow:none!important;
}

.footer-contact-link:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(84,152,255,.35)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}

.footer-contact-icon{
  color:#8A4FFF!important;
}

.footer-contact-link:hover .footer-contact-icon{
  color:#5498FF!important;
}

/* =========================================================
   MICROANIMAÇÕES
   ========================================================= */

.reveal{
  opacity:0!important;
  transform:translateY(24px)!important;
  transition:opacity .72s ease,transform .72s cubic-bezier(.2,.8,.2,1)!important;
}

.reveal.visible{
  opacity:1!important;
  transform:none!important;
}

/* =========================================================
   RESPONSIVO
   ========================================================= */

@media(max-width:900px){
  body{
    padding-top:72px;
  }

  .site-header,
  .site-header.scrolled{
    min-height:72px!important;
    padding:9px 18px!important;
  }

  .header-logo{
    height:43px!important;
    max-width:160px!important;
  }

  body .site-header .nav{
    gap:16px!important;
  }

  body .site-header .nav a{
    font-size:.82rem!important;
  }

  body.home-agency .about-modern{
    grid-template-columns:1fr!important;
  }

  body.home-agency .about-brand-block{
    min-height:340px!important;
  }
}

@media(max-width:700px){
  body{
    padding-top:66px;
  }

  .site-header,
  .site-header.scrolled{
    min-height:66px!important;
    padding:8px 14px!important;
    flex-wrap:nowrap!important;
  }

  .header-logo{
    height:40px!important;
    max-width:148px!important;
  }

  .site-header .menu-button{
    display:block!important;
    background:none!important;
    border:0!important;
    color:var(--sh-indigo)!important;
    font-size:1.35rem!important;
  }

  body .site-header .nav{
    display:none!important;
    position:absolute!important;
    top:66px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
    padding:12px 14px 16px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:2px!important;
    border-top:1px solid rgba(27,15,74,.07)!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 14px 30px rgba(27,15,74,.08)!important;
  }

  body .site-header .nav.open{
    display:flex!important;
  }

  body .site-header .nav a{
    width:100%!important;
    max-width:none!important;
    padding:11px 10px!important;
    text-align:left!important;
  }

  body .site-header .nav .nav-cta{
    margin-top:5px!important;
    text-align:center!important;
  }

  body.home-agency .hero{
    min-height:auto!important;
    padding:96px 18px 92px!important;
  }

  body.home-agency .hero-title{
    font-size:clamp(2.45rem,12vw,3.5rem)!important;
  }

  body.home-agency .hero-lead{
    font-size:1rem!important;
  }

  body.home-agency .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:min(100%,420px)!important;
  }

  body.home-agency .hero-actions .button{
    width:100%!important;
  }

  body.home-agency .services,
  body.home-agency .about,
  body.home-agency .contact{
    padding:82px 18px!important;
  }

  body.home-agency .service-grid--five{
    grid-template-columns:1fr!important;
  }

  body.home-agency .service-grid--five > .service-card{
    min-height:285px!important;
  }

  body.home-agency .about-brand-block{
    min-height:280px!important;
    padding:36px!important;
  }

  body.home-agency .field-row{
    grid-template-columns:1fr!important;
  }

  .footer{
    padding:36px 18px!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
  }

  .footer-contacts{
    justify-content:center!important;
  }

  .footer p,
  .footer .back-to-top{
    width:100%!important;
    text-align:center!important;
  }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation:none!important;
    transition:none!important;
  }

  .reveal{
    opacity:1!important;
    transform:none!important;
  }
}


/* Compatibilidade com o título rotativo existente */
body.home-agency .hero-title-rotator{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
}

body.home-agency .hero-title-text{
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  text-align:center!important;
}

@media(max-width:700px){
  body.home-agency .hero-title{
    height:clamp(9rem,38vw,11rem)!important;
  }
}
