/* =========================================================
   Final audit polish — rhythm, services demos, method,
   social rail, contact, footer. Surgical overrides.
   ========================================================= */

:root{
  --section-space-desktop:clamp(76px,7vw,112px);
  --section-space-tablet:clamp(64px,7vw,88px);
  --section-space-mobile:clamp(48px,10vw,68px);
  --title-to-description:20px;
  --description-to-visual:clamp(44px,5vw,64px);
  --visual-to-section-end:clamp(64px,6vw,92px);
}

/* Trusted strip: estilos de animação em hero-anim-final.css */
.hero-trusted{
  max-width:100%!important;
  width:100%!important;
  background:#111!important;
  border-top:1px solid rgba(255,255,255,.06);
}
.hero-trusted,
.hero-trusted *{
  pointer-events:none!important;
  user-select:none!important;
}
.hero-trusted__track{
  gap:0!important;
  animation:none!important;
  will-change:transform;
  width:max-content!important;
}
.hero-trusted__group{
  gap:clamp(1.25rem,3vw,2rem)!important;
  padding-inline:0 clamp(1.25rem,3vw,2rem) 0 0!important;
  flex:0 0 auto!important;
}

/* ---- Process: modest rise, aligned body text ---- */
.process{
  --p-rise:40!important;
}
.process-track{
  padding-top:calc(var(--p-rise,40) * 1px + 28px)!important;
}
.process-step{
  padding:0 8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
.process-step__body{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:.4rem;
  margin-top:calc(var(--p-rise,40) * 1px + 22px);
  width:100%;
}
.process-step__marker{
  top:calc(var(--rise) * 1px + 8px)!important;
}
.process-step__tip{
  top:calc(var(--rise) * 1px - 14px)!important;
}
.process__bg-lines path:nth-child(1){stroke:rgba(255,106,0,.06)!important}
.process__bg-lines path:nth-child(2){stroke:rgba(180,150,120,.05)!important}
.process__bg-lines path:nth-child(3){display:none!important}

/* ---- Method visibility (transparency) ---- */
.method--visibility .method-cards__intro{
  max-width:40rem;
  margin-bottom:var(--description-to-visual);
}
.method--visibility .method-cards__intro>p:not(.eyebrow){
  max-width:36rem;
}
.visibility-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);
  gap:clamp(1.5rem,3vw,2.5rem);
  align-items:start;
}
.method-cards__grid--4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:1rem!important;
}
.method-cards__grid--4 .method-card__label{display:none}
.visibility-panel{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.04);
  padding:1.25rem 1.2rem;
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.visibility-panel__label{
  margin:0;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
}
.visibility-panel__block{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  padding-top:.75rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.visibility-panel__block:first-of-type{border-top:0;padding-top:0}
.visibility-panel__block span{
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#ff8a3d;
}
.visibility-panel__block strong{
  font-size:.92rem;
  font-weight:600;
  color:rgba(255,255,255,.9);
  line-height:1.4;
}

/* ---- Ads flow visual ---- */
.service-experience__grid--ads{
  grid-template-columns:minmax(0,.45fr) minmax(0,.55fr)!important;
}
.service-art--ads{
  min-height:0!important;
  place-items:stretch!important;
}
.service-art--ads::before{display:none!important}
.ads-flow{
  width:100%;
  padding:1.25rem;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.55rem;
}
.ads-flow__row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.5rem;
  width:100%;
}
.ads-chip{
  padding:.55rem .8rem;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.78);
  font-size:.78rem;
  font-weight:600;
}
.ads-chip--mid{
  border-color:rgba(255,106,0,.45);
  background:rgba(255,106,0,.16);
  color:#fff;
}
.ads-flow__arrow{
  color:rgba(255,106,0,.7);
  font-size:.85rem;
  line-height:1;
}
.ads-flow__core,
.ads-flow__page,
.ads-flow__out{
  width:min(100%,220px);
  text-align:center;
  padding:.7rem 1rem;
  border-radius:12px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ads-flow__core{
  background:#ff6a00;
  color:#111;
}
.ads-flow__page{
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  background:rgba(255,255,255,.05);
}
.ads-flow__out{
  border:1px solid rgba(255,106,0,.4);
  color:#ffb070;
  background:rgba(255,106,0,.08);
}
.ads-flow__loop{
  margin:.35rem 0 0;
  color:rgba(255,255,255,.45);
  font-size:.72rem;
  text-align:center;
  letter-spacing:.02em;
}

/* ---- Editorial content flow ---- */
.service-experience__grid--content{
  grid-template-columns:minmax(0,.42fr) minmax(0,.58fr)!important;
}
.service-art--content{
  min-height:0!important;
  place-items:stretch!important;
}
.service-art--content::before{display:none!important}
.editorial-flow{
  width:100%;
  padding:1.25rem;
  border-radius:16px;
  border:1px solid rgba(17,17,17,.1);
  background:rgba(255,255,255,.55);
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.editorial-flow__core{
  align-self:flex-start;
  padding:.55rem .9rem;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:.78rem;
  font-weight:700;
}
.editorial-flow__formats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.45rem;
}
.editorial-flow__formats span{
  text-align:center;
  padding:.7rem .35rem;
  border-radius:10px;
  border:1px solid rgba(17,17,17,.1);
  background:#fff;
  font-size:.72rem;
  font-weight:700;
  color:#111;
}
.editorial-flow__cal{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:.35rem;
}
.editorial-flow__cal span{
  text-align:center;
  padding:.55rem .2rem;
  border-radius:8px;
  background:rgba(17,17,17,.05);
  font-size:.68rem;
  font-weight:700;
  color:rgba(17,17,17,.55);
}
.editorial-flow__cal .is-hot{
  background:rgba(255,106,0,.16);
  color:#9b3700;
  border:1px solid rgba(255,106,0,.28);
}
.editorial-flow__learn{
  margin:0;
  font-size:.78rem;
  font-weight:600;
  color:rgba(17,17,17,.55);
}

/* ---- Strategy experiment board ---- */
.service-experience__grid--strategy{
  grid-template-columns:minmax(0,.42fr) minmax(0,.58fr)!important;
}
.service-art--strategy{
  min-height:0!important;
  place-items:stretch!important;
}
.service-art--strategy::before{display:none!important}
.exp-board{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.5rem;
  width:100%;
}
.exp-col{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  min-width:0;
}
.exp-col__h{
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(17,17,17,.55);
  margin-bottom:.15rem;
}
.exp-card{
  padding:.55rem .5rem;
  border-radius:10px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(17,17,17,.1);
  color:#111;
  font-size:.72rem;
  font-weight:650;
  line-height:1.25;
}
.exp-card.is-prio{
  border-color:rgba(17,17,17,.35);
  background:rgba(17,17,17,.08);
}
.exp-card.is-test{
  border-color:rgba(17,17,17,.5);
  background:#111;
  color:#fff;
}
.exp-card.is-ok{
  border-color:rgba(17,17,17,.25);
  background:rgba(255,255,255,.85);
}
.exp-card.is-drop{
  opacity:.55;
  text-decoration:line-through;
}

/* ---- Instagram strip: clean CTA only (no fake feed cards) ---- */
.social-strip{
  padding:var(--section-space-desktop) 0!important;
  overflow:hidden;
}
.social-strip__inner{
  margin-bottom:0!important;
}
.social-rail,
.social-card{display:none!important}

/* ---- Contact compact ---- */
.contact{
  min-height:0!important;
}
.contact__content{
  padding:var(--section-space-desktop) 0!important;
}
.contact__content h2{
  max-width:18ch;
  margin-inline:auto;
}
.contact__content>p:not(.eyebrow){
  max-width:32rem;
  margin:1rem auto 1.35rem!important;
}

/* ---- Footer compact (legado; footer--revel usa revel-footer.css) ---- */
.footer:not(.footer--revel){
  padding:clamp(2.5rem,5vw,3.5rem) 0 1.25rem!important;
}
.footer:not(.footer--revel) .footer__grid--compact{
  grid-template-columns:minmax(0,1.4fr) .8fr 1fr!important;
  gap:clamp(1.5rem,4vw,3rem)!important;
}
.footer:not(.footer--revel) .footer__logo{
  width:min(200px,70%)!important;
  margin-bottom:1rem!important;
}
.footer:not(.footer--revel) .footer__brand>p{
  font-size:.86rem!important;
}
.footer__legal{
  display:inline-flex;
  gap:1rem;
}
.footer__legal a{
  color:inherit;
  text-decoration:none;
}
.footer__legal a:hover{color:#ff8a3d}

/* Difference description width */
.difference__heading>p:last-child{
  max-width:34rem;
}

/* Responsive */
@media (max-width:960px){
  .visibility-layout{
    grid-template-columns:1fr;
  }
  .method-cards__grid--4{
    grid-template-columns:1fr 1fr!important;
  }
  .service-experience__grid--ads,
  .service-experience__grid--content,
  .service-experience__grid--strategy{
    grid-template-columns:1fr!important;
  }
  .exp-board{
    grid-template-columns:1fr 1fr;
  }
  .editorial-flow__formats{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:720px){
  .method-cards__grid--4{
    grid-template-columns:1fr!important;
  }
  .exp-board{
    grid-template-columns:1fr;
  }
  .footer__grid--compact{
    grid-template-columns:1fr!important;
  }
  .footer__bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:.65rem;
  }
  /* process mobile already handled in process-flow */
  .process-step__body{
    margin-top:0!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
}


