/* Progressive enhancement and accessibility for the original Fattoria layouts. */
.ft-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #4cc9f0;
  outline-offset: 5px;
}
.ft-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 999999;
  padding: 12px 20px;
  color: #14141e;
  background: white;
  transform: translateY(-180%);
}
.ft-skip-link:focus { transform: translateY(0); }
.ft-menu-open { overflow: hidden; }
.ft-header-menuNav:not(.ft-menu-ready) { transition: none !important; }
.ft-header-menuNav[aria-hidden="true"] { visibility: hidden; transition: transform .72s cubic-bezier(.55,.05,.25,1), visibility 0s .9s; }
.ft-header-menuNav[aria-hidden="false"] { visibility: visible; }
.ft-header-navContainer { overflow-y: auto !important; overscroll-behavior: contain; }
.ft-menu-magnetic-button-menuBtnOpen { color: white !important; }
.ft-header-navLink { cursor: pointer !important; }
@media (min-width: 768px) {
  .ft-header-navLink { font-size: 100px !important; }
}
.ft-menu-magnetic-button-menuButton, .btnContato { transition: transform .2s cubic-bezier(.08,.28,.9,.75), border-color .3s ease; }
.ft-header-menuNavClosing { transition: transform .72s cubic-bezier(.55,.05,.25,1), visibility 0s .9s !important; }
.ft-header-menuNavClosing .ft-header-ondaAnimada { transition: transform .5s .08s ease !important; }
.ft-mouse-follower-arrasteMouse, .ft-custom-cursor-menu-customCursorLinkMenu { visibility: hidden; }
.ft-pointer-active .ft-mouse-follower-arrasteMouse, .ft-pointer-active .ft-custom-cursor-menu-customCursorLinkMenu { visibility: visible; }
.ft-cursor-hidden { opacity: 0 !important; }
.ft-typed::after { content: '|'; display: inline; font-weight: 300; animation: ft-caret 1s step-end infinite; }
.ft-typed > [data-ft-typed] { display: inline; }
@keyframes ft-caret { 50% { opacity: 0; } }
.ft-masked-scroll-text-maskOriginal { opacity: 1; }
.ft-motion .ft-mask-ready .ft-masked-scroll-text-maskOriginal { opacity: .3; }
.ft-masked-scroll-text-mask:not(.ft-mask-ready) .ft-masked-scroll-text-maskReveal { display: none; }
.ft-mask-ready .mask-word-extra { display: inline-block; text-align: left; }
.ft-mask-ready .mask-word-wrapper { display: inline-flex; overflow: hidden; white-space: nowrap; vertical-align: bottom; will-change: width; }
.ft-mask-ready .mask-word { display: inline-block; }
.ft-projetos-interna-projetosWrapper { min-height: 160px; }
.ft-image-comparison-slideWapper input[type="range"]:focus-visible { outline-offset: 8px; background: rgb(76 201 240 / 20%); }
.ft-contato-inputWrapper:focus-within .ft-contato-label { pointer-events: none; }
.ft-contato-button[disabled] { cursor: wait; opacity: .6; }
.ft-lottie-failed { display: none !important; }
.ft-navigation-transition {
  z-index: 100000 !important;
  height: 100dvh !important;
  pointer-events: none;
}
.ft-navigation-transition .ft-page-transition-flutuante { height: 100dvh; }
.ft-transition-leave { pointer-events: auto; }
.ft-navigating, .ft-navigating a { cursor: progress !important; }
.ft-transition-leave .ft-page-transition-flutuante1 { animation: ft-transition-cover .4s ease-out both; }
.ft-transition-leave .ft-page-transition-flutuante2,
.ft-transition-leave .ft-page-transition-flutuante2alt { animation: ft-transition-cover .4s .4s ease-out both; }
@keyframes ft-transition-cover {
  from { transform: translateY(130%); }
  to { transform: translateY(0); }
}

/* Original CSS contains entrance states; content stays visible if JavaScript is unavailable. */
html:not(.ft-motion) .slide-fade-up,
html:not(.ft-motion) .slide-fade-left,
html:not(.ft-motion) .slide-fade-right,
html:not(.ft-motion) .ft-projetos-interna-bannerImg,
html:not(.ft-motion) .ft-index-certificacoes {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
html:not(.ft-motion) .ft-index-infoTexto .ft-index-line,
html:not(.ft-motion) .ft-index-contatoWrapper,
html:not(.ft-motion) .ft-index-extra,
html:not(.ft-motion) .ft-sect-cards-cardsPrincipais {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
html:not(.ft-motion) .ft-index-servicosBoxIndicator,
html:not(.ft-motion) .ft-index-servicosBoxContent,
html:not(.ft-motion) .ft-sect-cards-cardExtras { opacity: 1 !important; }
html:not(.ft-motion) .ft-masked-scroll-text-maskOriginal { opacity: 1 !important; }
html:not(.ft-motion) .ft-masked-scroll-text-maskReveal { display: none !important; }
.ft-js .ft-reveal-pending { opacity: 0; }

/* The no-script navigation is a compact row of ordinary links. */
html:not(.ft-js) .ft-menu-magnetic-button-menuButton { display: none; }
html:not(.ft-js) .ft-header-menuNav {
  position: static;
  transform: none;
  max-height: none;
  padding: 10px 0;
  margin-top: 12px;
}
html:not(.ft-js) .ft-header-navContainer { padding-top: 0; }
html:not(.ft-js) .ft-header-navLinksList { display: flex; flex-wrap: wrap; gap: 24px; }
html:not(.ft-js) .ft-header-navLinksItem { margin-bottom: 0 !important; }
html:not(.ft-js) .ft-header-navLink { transform: none !important; font-size: 20px !important; letter-spacing: -.04em !important; }
html:not(.ft-js) .ft-header-contatosInfoList,
html:not(.ft-js) .ft-header-navFooter,
html:not(.ft-js) .ft-header-ondaAnimada { display: none !important; }
html:not(.ft-js) .ft-projetos-interna-filtroWrapper { display: none; }
html:not(.ft-js) .ft-contato-label { top: -23px; font-size: 14px; opacity: 1; }
html:not(.ft-js) .ft-contato-inputWrapper { margin-bottom: 50px; }

@media (hover: none), (pointer: coarse), (max-width: 991px) {
  .ft-mouse-follower-arrasteMouse, .ft-custom-cursor-menu-customCursorLinkMenu { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html, body { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; animation-delay: 0s !important; transition-delay: 0s !important; }
  .ft-mouse-follower-arrasteMouse, .ft-custom-cursor-menu-customCursorLinkMenu, [data-ft-lottie] { display: none !important; }
  .ft-typed::after { display: none; }
  .card-holder, .btnContato, .btnMenu { transform: none !important; }
  .ft-index-title { opacity: 1 !important; }
}
