/**
 * MAUP manifest.
 * @maup-path: assets/css/pages/home.css
 * @maup-version: 1.31.1
 * @maup-mode: replace
 * @maup-role: Stylesheet asset
 */
/* Page-specific: Home: regras de composição que coordenam mais de um módulo sem promover comportamento específico ao Core. */
  .section--impact { min-height: 70vh; display: flex; align-items: center; }
  .section--impact .u-container { width: min(calc(100% - (var(--gutter) * 2)), 1280px); }
  .projects-intro { min-height: auto; padding-top: 20px; }
  @media (max-width: 860px) {
  .narrative-grid, .split-heading, .testimonial-layout, .footer-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 700px) {
  .section--impact { min-height: 65vh; }
  }
  .project-card::before,
  .feature-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055);
    border-radius: inherit;
  }
  .client-marquee, .project-marquee { overflow: hidden; margin-inline: calc(var(--gutter) * -1); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
  @keyframes marqueeLeft { to { transform: translateX(calc(-50% - 5px)); } }
  @keyframes marqueeRight { from { transform: translateX(calc(-50% - 5px)); } to { transform: translateX(0); } }
  @media (prefers-reduced-motion: reduce) {
  .client-marquee-track, .project-marquee-track, .footer-mark-shine { animation:none !important; }
  }
  .client-marquee,.project-marquee { -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; }
  .project-placeholder,.mini-project,.project-media-placeholder { background-color:#141416 !important; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(255,255,255,.055),transparent 46%) !important; background-size:34px 34px,34px 34px,100% 100% !important; }
  .project-placeholder::before,.project-placeholder::after,.mini-project::before { display:none !important; }
  .button:not(.button--header) > span[aria-hidden="true"],
  .project-card-arrow,.project-more-card-arrow,.service-card-arrow{display:inline-grid;place-items:center;transform-origin:center;transition:transform .44s cubic-bezier(.22,.8,.24,1),background .35s ease}
  .hero::after,.pace-card::after,.prefooter-cta-card::after,.light-surface::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--noise-svg);background-size:180px 180px;mix-blend-mode:soft-light;opacity:.13;z-index:2}
  .project-card,.project-more-card,.project-marquee-card,.project-marquee-track a,.horizontal-projects-track{
    -webkit-user-select:none!important;
    user-select:none!important;
    -webkit-user-drag:none!important;
  }
  #intro.section--impact{min-height:auto!important;padding-bottom:clamp(58px,6vw,90px)!important}
  @media (max-width:700px) {
  .split-heading,
    .project-cloud-head,
    .narrative-grid,
    .testimonial-layout,
    .prefooter-cta-footer{
      grid-template-columns:minmax(0,1fr)!important;
    }
  .split-heading-aside,
    .project-cloud-aside,
    .narrative-grid-aside{
      width:100%!important;
      max-width:none!important;
      margin-left:0!important;
    }
  }
  @media (max-width:1024px) {
  .button:hover,.menu-card:hover,.project-card:hover,.project-more-card:hover,.service-card:hover,.pace-card:hover,.faq-item:hover{
      transform:none!important;
    }
  }
  @media (max-width:1024px) and (hover:none) {
  .project-card:hover .project-placeholder,.service-card:hover,.pace-card:hover{transform:none!important}
  }
  .ui-arrow svg,.ui-arrow-svg,.project-card-arrow svg,.project-more-card-arrow svg,.service-card-arrow svg,.menu-card-action-arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
  .feature-frame-link,.text-link{display:inline-flex;align-items:center;gap:9px}
  .project-card-arrow,.project-more-card-arrow,.service-card-arrow{font-size:0!important}
  .project-card-arrow svg,.service-card-arrow svg{width:21px;height:21px}
  .section>.u-container,.horizontal-projects-sticky,.project-cloud>.u-container,.prefooter-cta>.u-container{position:relative;z-index:3}
  .feature-frame,.service-card,.pace-card{transform-style:preserve-3d;backface-visibility:hidden}
/* Refinamentos tipográficos e de isolamento que coordenam múltiplos módulos da home. */
.light-surface,.service-modal,.briefing-drawer,.confirm-dialog,.project-card,.service-card,.pace-card,.trust-card,.testimonial-slider,.prefooter-cta-card{isolation:isolate}
.display,
  .statement,
  .feature-frame-caption strong,
  .project-card-meta strong,
  .trust-card h2,
  .testimonial-slide p,
  .service-card strong,
  .pace-card-head h3,
  .footer-wordmark span,
  .service-modal-content>h2,
  .briefing-drawer-head h2,
  .form-step>h3,
  .briefing-success h3,
  .confirm-dialog h2,
  .project-more-card strong,
  .project-marquee-track strong,
  .trust-card-count strong,
  .hero-experience strong,
  .about-profile-experience strong,
  html[data-menu-style="list"] .menu-card-copy strong,
  .menu-trigger-label{
    font-weight:100!important;
  }
.project-card :is(strong,small,p),.project-more-card :is(strong,p),.service-card :is(strong,small,p),.pace-card :is(h3,p,li),.trust-card :is(h2,p),.testimonial-slide p,.choice-card :is(strong,small),.faq-item :is(summary,p),.project-marquee-track a :is(strong,small){text-wrap:balance}


/* WES 1.31.1 R2: handoff Hero -> Clients.
 * O container sticky do Hero precisa permanecer opaco; o JS legado pode continuar
 * animando as camadas internas sem tornar o plano de fundo transparente.
 * Este override vive na composicao da Home para preservar customizacoes locais
 * existentes em template-parts/sections/home/hero/script.js.
 */
.hero {
  opacity: 1 !important;
}

main .section.section--overlay {
  position: relative;
  z-index: 3;
  background-color: #050506 !important;
  background-image: none !important;
  border-radius: 0 !important;
  background-clip: border-box;
  isolation: isolate;
}

/* Evita qualquer fresta do plano anterior no limite superior durante o overlap. */
main .section.section--overlay::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -2px 0 0;
  background: #050506;
  pointer-events: none;
}
