/**
 * MAUP manifest.
 * @maup-path: assets/css/components/floating-controls.css
 * @maup-version: 1.1.0
 * @maup-mode: replace
 * @maup-role: Stylesheet asset
 */
/* Floating Controls: estilos específicos do componente. */
  .scroll-up { position:fixed; z-index:1000; right:clamp(16px,2vw,30px); bottom:clamp(112px,15vh,160px); width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.08); border-radius:50%; background:rgba(18,18,20,.58); color:#f1f1ef; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); box-shadow:0 14px 42px rgba(0,0,0,.18); opacity:0; visibility:hidden; transform:translateY(10px); cursor:pointer; transition:opacity .3s ease,transform .4s var(--ease),visibility 0s linear .4s,background .25s ease; }
.scroll-up.is-visible { opacity:1; visibility:visible; transform:none; transition-delay:0s; }
.scroll-up:hover { background:rgba(34,34,38,.86); transform:scale(1.045); }
.scroll-up svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
html.is-at-page-end .scroll-up { bottom:28px; }
@media (max-width:760px) {
.scroll-up { width:44px;height:44px;right:14px;bottom:104px; }
}
.scroll-up{left:clamp(16px,2vw,30px);right:auto;bottom:208px;transition:opacity .3s ease,transform .4s var(--ease),visibility 0s linear .4s,background .25s ease,bottom .45s var(--ease)}
html.is-at-page-end .scroll-up{bottom:28px}
.whatsapp-fab{position:fixed;z-index:1050;right:clamp(16px,2vw,30px);bottom:22px;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:rgba(15,15,17,.74);color:#f4f4f1;box-shadow:0 14px 42px rgba(0,0,0,.22);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .34s var(--ease),background .25s ease,opacity .25s ease}
.whatsapp-fab:hover,.whatsapp-fab:focus-visible{transform:scale(1.045);background:#17171a}
.whatsapp-fab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px) {
.scroll-up,.whatsapp-fab{width:44px;height:44px}
.scroll-up{left:14px;bottom:136px}
html.is-at-page-end .scroll-up{bottom:20px}
.whatsapp-fab{right:14px;bottom:18px}
}
@media (prefers-reduced-motion:reduce) {
.whatsapp-fab,.scroll-up{transition:none}
}
.scroll-up,.scroll-up.is-visible,html.is-at-page-end .scroll-up{left:clamp(14px,1.7vw,24px)!important;right:auto!important;bottom:18px!important;z-index:1060!important}
.whatsapp-fab svg{fill:currentColor!important;stroke:none!important;width:23px;height:23px}
@media (max-width:760px) {
.scroll-up,.scroll-up.is-visible,html.is-at-page-end .scroll-up{left:12px!important;bottom:12px!important}
}
.whatsapp-fab{transition:transform .34s var(--ease),background .58s var(--ease),color .58s var(--ease),box-shadow .45s ease!important}
.whatsapp-fab[data-tone="dark"]{background:rgba(246,246,242,.88)!important;color:#0a0a0b!important;box-shadow:0 14px 42px rgba(0,0,0,.2)!important}
.whatsapp-fab[data-tone="light"]{background:rgba(14,14,16,.88)!important;color:#f7f7f3!important;box-shadow:0 14px 42px rgba(0,0,0,.18)!important}
.whatsapp-fab[data-tone="dark"]:hover{background:#fff!important}
.whatsapp-fab[data-tone="light"]:hover{background:#080809!important}
.whatsapp-fab{backdrop-filter:blur(20px) saturate(120%)!important;-webkit-backdrop-filter:blur(20px) saturate(120%)!important;border:1px solid rgba(255,255,255,.055)}
.whatsapp-fab[data-tone="dark"]{background:rgba(31,31,35,.68)!important;color:#fff!important;box-shadow:0 14px 42px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.045)!important}
.whatsapp-fab[data-tone="dark"]:hover,.whatsapp-fab[data-tone="dark"]:focus-visible{background:rgba(43,43,48,.82)!important}
.whatsapp-fab[data-tone="light"]{background:rgba(214,214,210,.70)!important;color:#161618!important;border-color:rgba(20,20,22,.055);box-shadow:0 14px 40px rgba(18,18,20,.13),inset 0 1px 0 rgba(255,255,255,.34)!important}
.whatsapp-fab[data-tone="light"]:hover,.whatsapp-fab[data-tone="light"]:focus-visible{background:rgba(198,198,194,.84)!important}
.scroll-up{z-index:1060!important}
.whatsapp-fab{z-index:1060!important}
@media (max-width:1024px) {
.scroll-up,.whatsapp-fab{
      width:48px!important;
      height:48px!important;
      bottom:14px!important;
    }
.scroll-up,.scroll-up.is-visible,html.is-at-page-end .scroll-up{left:14px!important;right:auto!important;bottom:14px!important}
.whatsapp-fab{right:14px!important;left:auto!important}
}
.scroll-up,.whatsapp-fab{z-index:1060!important}
.scroll-up,.whatsapp-fab,.mobile-project-cta{z-index:9200!important;isolation:isolate}
.scroll-up,.whatsapp-fab,.mobile-project-cta{
    position:fixed!important;
    z-index:15000!important;
    isolation:isolate!important;
  }
.floating-controls-layer{
    position:fixed!important;
    inset:0!important;
    z-index:14500!important;
    pointer-events:none!important;
    isolation:isolate!important;
    transform:translateZ(0);
  }
.floating-controls-layer>.scroll-up,
  .floating-controls-layer>.whatsapp-fab{
    pointer-events:auto!important;
  }
.scroll-up,
  .whatsapp-fab{
    z-index:14000!important;
    isolation:isolate!important;
    -webkit-transform:translateZ(0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }
.scroll-up{
    position:fixed!important;
    filter:none!important;
  }
/* O CTA do Header não pertence à camada de FABs. O CTA mobile possui instância própria. */
.scroll-up,
  .whatsapp-fab{
    bottom:14px!important;
  }
.scroll-up,
  .scroll-up.is-visible,
  html.is-at-page-end .scroll-up{
    left:14px!important;
    right:auto!important;
    bottom:14px!important;
  }
.whatsapp-fab{
    right:14px!important;
    left:auto!important;
    bottom:14px!important;
  }
.scroll-up{
    width:50px!important;
    height:50px!important;
    border:1px solid rgba(255,255,255,.055)!important;
    border-radius:50%!important;
    backdrop-filter:blur(20px) saturate(120%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(120%)!important;
    box-shadow:0 14px 42px rgba(0,0,0,.22)!important;
    transition:opacity .32s ease,transform .42s var(--ease),background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease)!important;
  }
.scroll-up[data-tone="dark"]{
    background:rgba(31,31,35,.68)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.055)!important;
    box-shadow:0 14px 42px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.045)!important;
  }
.scroll-up[data-tone="light"]{
    background:rgba(214,214,210,.70)!important;
    color:#161618!important;
    border-color:rgba(20,20,22,.055)!important;
    box-shadow:0 14px 40px rgba(18,18,20,.13),inset 0 1px 0 rgba(255,255,255,.34)!important;
  }
@media (hover:hover) and (pointer:fine) {
.scroll-up[data-tone="dark"]:hover,.scroll-up[data-tone="dark"]:focus-visible{background:rgba(43,43,48,.82)!important}
.scroll-up[data-tone="light"]:hover,.scroll-up[data-tone="light"]:focus-visible{background:rgba(198,198,194,.84)!important}
}
@media (max-width:1024px) {
.scroll-up,
    .whatsapp-fab{
      width:48px!important;
      height:48px!important;
      bottom:14px!important;
    }
}
.floating-controls-layer{
    display:contents!important;
    position:static!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    transform:none!important;
    isolation:auto!important;
    contain:none!important;
  }
.scroll-up,
  .whatsapp-fab{
    position:fixed!important;
    bottom:14px!important;
    margin:0!important;
    translate:none!important;
    will-change:opacity,transform!important;
  }
.scroll-up,
  .scroll-up.is-visible,
  html.is-at-page-end .scroll-up{
    left:14px!important;
    right:auto!important;
    bottom:14px!important;
  }
.whatsapp-fab{
    left:auto!important;
    right:14px!important;
    bottom:14px!important;
  }
@media (max-width:1024px) {
.scroll-up,.whatsapp-fab{bottom:14px!important}
}
#scroll-up.scroll-up,
  .whatsapp-fab{
    position:fixed!important;
    z-index:var(--z-floating)!important;
    isolation:isolate!important;
    -webkit-transform:translate3d(0,0,1px)!important;
    transform:translate3d(0,0,1px)!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
  }
#scroll-up.scroll-up{
    left:14px!important;
    right:auto!important;
    bottom:14px!important;
  }
.whatsapp-fab{
    right:14px!important;
    left:auto!important;
    bottom:14px!important;
  }
#scroll-up.scroll-up:hover,#scroll-up.scroll-up:focus-visible{transform:translate3d(0,0,1px) scale(1.045)!important}
.whatsapp-fab:hover,.whatsapp-fab:focus-visible{transform:translate3d(0,0,1px) scale(1.045)!important}
#scroll-up.scroll-up{
    visibility:visible!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translate3d(0,18px,1px)!important;
    transition:opacity .34s ease,transform .52s cubic-bezier(.22,.8,.24,1),background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease)!important;
  }
#scroll-up.scroll-up.is-visible{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,1px)!important;
  }
@media (hover:hover) and (pointer:fine) {
#scroll-up.scroll-up.is-visible:hover,#scroll-up.scroll-up.is-visible:focus-visible{transform:translate3d(0,0,1px) scale(1.045)!important}
}

/* CTA mobile central: usa a classe global de meia dobra e nao pertence ao Header. */
.mobile-project-cta{display:none}
@media (max-width:1024px) {
  .mobile-project-cta{
    display:inline-flex!important;
    position:fixed!important;
    z-index:var(--z-floating)!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:14px!important;
    width:auto!important;
    min-width:154px!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 20px!important;
    border:1px solid rgba(255,255,255,.06)!important;
    border-radius:999px!important;
    gap:10px!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(-50%,18px,1px)!important;
    transform-origin:50% 50%!important;
    backdrop-filter:blur(20px) saturate(120%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(120%)!important;
    box-shadow:0 14px 40px rgba(0,0,0,.20)!important;
    transition:opacity .34s ease,visibility 0s linear .34s,transform .52s cubic-bezier(.22,.8,.24,1),background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease)!important;
    isolation:isolate!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
  }
  .mobile-project-cta[data-tone="dark"]{
    background:rgba(246,246,242,.90)!important;
    color:#0b0b0c!important;
    border-color:rgba(255,255,255,.12)!important;
  }
  .mobile-project-cta[data-tone="light"]{
    background:rgba(22,22,24,.86)!important;
    color:#f7f7f3!important;
    border-color:rgba(20,20,22,.08)!important;
  }
  html.has-passed-half-fold .mobile-project-cta{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(-50%,0,1px)!important;
    transition-delay:0s!important;
  }
  html.menu-open .mobile-project-cta,
  html.briefing-open .mobile-project-cta,
  html:has(.modal-root.is-open) .mobile-project-cta{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(-50%,18px,1px)!important;
  }
}
@media (max-width:360px) {
  .mobile-project-cta{min-width:144px!important;padding-inline:16px!important;font-size:.84rem!important}
}
@media (hover:hover) and (pointer:fine) and (max-width:1024px) {
  html.has-passed-half-fold .mobile-project-cta:hover,
  html.has-passed-half-fold .mobile-project-cta:focus-visible{transform:translate3d(-50%,-2px,1px)!important}
}
@media (prefers-reduced-motion:reduce) and (max-width:1024px) {
  .mobile-project-cta{transition:none!important}
}
