@font-face{
        font-family: "Lemon Milk";
        src: url("/fontes/lemonmilk-bold.woff2")
          format("woff2");
        font-weight: 700;
        font-style: normal;
        font-display: swap;
      }

      @font-face{
        font-family: "Ekster";
        src: url("/fontes/ekster-regular.woff2")
          format("woff2");
        font-weight: 400;
        font-style: normal;
        font-display: swap;
      }

      @font-face{
        font-family: "Ekster";
        src: url("/fontes/ekster-medium.woff2")
          format("woff2");
        font-weight: 500;
        font-style: normal;
        font-display: swap;
      }

      @font-face{
        font-family: "Ekster";
        src: url("/fontes/ekster-bold.woff2")
          format("woff2");
        font-weight: 700;
        font-style: normal;
        font-display: swap;
      }

      #block-contato, #block-contato *,
#block-contato::before, #block-contato *::before,
#block-contato::after, #block-contato *::after{
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }

      #block-contato{
        --navy: #253064;
        --gold: #d89a14;
        --white: #ffffff;
        --form-bg: #f8f8f8;
        --form-border: #d1d1d1;
        --text-dark: #000000;
        --text-gray: #777777;
        --content-max-width: 1520px;
        --gap-externo: 3vh;
        --padding-lateral: 80px;
        --margin-alinhada: calc(var(--gap-externo) + var(--padding-lateral));
      }

      #block-contato{
        font-family: "Ekster", sans-serif;
        background: var(--navy);
        color: var(--white);
        overflow-x: hidden;
        overflow-y: hidden;
      }

      #block-contato .contact-section a,
#block-contato .contact-section button,
#block-contato .contact-section input,
#block-contato .contact-section textarea,
#block-contato .contact-section .custom-select-trigger{
        -webkit-tap-highlight-color: transparent;
      }

      #block-contato .contact-section{
        width: 100%;
        position: relative;
        display: flex;
        align-items: center;
        overflow: hidden;
        padding: 80px 0;
      }

      #block-contato .container{
        width: min(100%, var(--content-max-width));
        max-width: var(--content-max-width);
        margin: 0 auto;
        padding: 0 var(--margin-alinhada);
        position: relative;
        display: flex;
        gap: 20px;
        align-items: stretch;
      }

      #block-contato .left-content{
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding-top: 20px;
        position: relative;
        z-index: 1;
        min-width: 0;
      }

      #block-contato .contact-title{
        font-family: "Lemon Milk", sans-serif;
        font-size: clamp(28px, 2.6vw, 34px);
        font-weight: 700;
        text-transform: uppercase;
        line-height: 1.2;
        margin-bottom: 25px;
      }

      #block-contato .contact-desc{
        font-size: 19px;
        line-height: 1.5;
        margin-bottom: 45px;
        font-weight: 500;
      }

      #block-contato .contact-desc strong{
        font-weight: 700;
      }

      #block-contato .contact-links{
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-bottom: 40px;
        position: relative;
        z-index: 10;
      }

      #block-contato .contact-link{
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: var(--white);
        text-decoration: none;
        font-size: 16px;
        font-weight: 500;
        transition: all 0.3s ease;
        width: fit-content;
      }

      #block-contato .contact-link:hover{
        color: var(--gold);
      }

      #block-contato .contact-icon{
        width: 18px;
        height: 18px;
        background-color: currentColor;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        mask-size: contain;
        display: inline-block;
        transition: background-color 0.3s ease;
      }

      #block-contato .icon-tel{
        -webkit-mask-image: url("https://img.icons8.com/?size=100&id=14181&format=png&color=000000");
        mask-image: url("https://img.icons8.com/?size=100&id=14181&format=png&color=000000");
      }

      #block-contato .icon-wa{
        -webkit-mask-image: url("https://img.icons8.com/?size=100&id=85088&format=png&color=000000");
        mask-image: url("https://img.icons8.com/?size=100&id=85088&format=png&color=000000");
      }

/* ================================
   TRAÇADO COM FADE IN MAIS SUAVE
   ================================ */

#block-contato .slogan-box{
  position: relative;
  margin-top: 90px;
  border: 1.5px solid;
  border-color: var(--gold);
  border-right: none;
  border-radius: 20px 0 0 20px;
  padding: 25px 0 25px 50px;
  display: flex;
  align-items: center;
  width: 150%;
  z-index: 1;
  overflow: visible;
  box-shadow:
    0 0 0 rgba(255, 255, 255, 0),
    inset 0 0 0 rgba(255, 255, 255, 0);
  transition:
    border-color 1s cubic-bezier(0.23, 1, 0.32, 1),
    box-shadow 1s cubic-bezier(0.23, 1, 0.32, 1);
}

/* camada de glow suave, só para o fade in do traçado */
#block-contato .slogan-box::before{
  content: "";
  position: absolute;
  top: -1.5px;
  left: -1.5px;
  right: 0;
  bottom: -1.5px;
  border-radius: 20px 0 0 20px;
  padding: 1.5px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.04) 0%,
    rgba(255, 255, 255, 0.38) 50%,
    rgba(255, 255, 255, 0.04) 100%
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  filter: blur(10px);
  transition:
    opacity 1s cubic-bezier(0.23, 1, 0.32, 1),
    filter 1s cubic-bezier(0.23, 1, 0.32, 1);
}

/* brilho correndo na borda, mas agora entrando com calma */
#block-contato .slogan-box::after{
  content: "";
  position: absolute;
  top: -1.5px;
  left: -1.5px;
  right: 0;
  bottom: -1.5px;
  border-radius: 20px 0 0 20px;
  padding: 1.5px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 42%,
    rgba(255, 255, 255, 0.95) 50%,
    rgba(255, 255, 255, 0) 58%,
    transparent 100%
  );
  background-size: 260% 100%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  filter: blur(1.5px);
  transition:
    opacity 0.9s cubic-bezier(0.23, 1, 0.32, 1),
    filter 0.9s cubic-bezier(0.23, 1, 0.32, 1);
}

/* hover do botão disparando o frame com mais suavidade */
#block-contato .container:has(.btn-submit:hover) .slogan-box{
  border-color: var(--white);
  box-shadow:
    0 0 40px rgba(255, 255, 255, 0.12),
    inset 0 0 22px rgba(255, 255, 255, 0.05);
}

#block-contato .container:has(.btn-submit:hover) .slogan-box::before{
  opacity: 1;
  filter: blur(4px);
}

#block-contato .container:has(.btn-submit:hover) .slogan-box::after{
  opacity: 1;
  filter: blur(0.6px);
  animation: contato__slogan-shine-fade 3.4s infinite cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes contato__slogan-shine-fade{
  0% {
    background-position: 140% 0;
    opacity: 0;
  }
  18% {
    opacity: 0;
  }
  38% {
    opacity: 1;
  }
  72% {
    opacity: 1;
  }
  100% {
    background-position: -140% 0;
    opacity: 0;
  }
}

      #block-contato .slogan-img{
        width: 130px;
        height: auto;
        display: block;
        filter: brightness(0) invert(1);
        position: relative;
        z-index: 3;
        margin-left: 10px;
      }

      #block-contato .right-content{
        flex: 1;
        position: relative;
        z-index: 2;
        display: flex;
        justify-content: flex-end;
      }

      #block-contato .form-box{
        background: var(--white);
        border-radius: 12px;
        padding: 45px 50px;
        width: 100%;
        max-width: 700px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
        display: flex;
        flex-direction: column;
        gap: 20px;
      }

      #block-contato .form-row{
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
      }

      #block-contato .form-group{
        display: flex;
        flex-direction: column;
        gap: 8px;
      }

      #block-contato .form-label{
        color: #000000 !important;
        font-family: "Ekster", sans-serif !important;
        font-weight: 500 !important;
        font-size: 15px !important;
        margin-bottom: 4px;
      }

      #block-contato .form-input{
        background: var(--form-bg);
        border: 1px solid var(--form-border) !important;
        border-radius: 8px;
        padding: 16px 18px;
        font-family: "Ekster", sans-serif !important;
        font-size: 15px;
        color: #111111 !important;
        transition: border-color 0.4s ease, box-shadow 0.4s ease, background 0.4s ease;
        outline: none !important;
      }

      #block-contato .form-input::placeholder{
        color: #999999 !important;
        font-weight: 400;
      }

      #block-contato .form-input:focus{
        border-color: var(--gold) !important;
        box-shadow: 0 0 0 3px rgba(216, 154, 20, 0.15) !important;
        background: #ffffff !important;
      }

      #block-contato textarea.form-input{
        resize: vertical;
        min-height: 140px;
        border-radius: 8px;
      }

      #block-contato .custom-select-wrapper{
        position: relative;
        user-select: none;
        width: 100%;
      }

      #block-contato .custom-select-trigger{
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
        background: var(--form-bg);
        border: 1px solid var(--form-border) !important;
        border-radius: 8px;
        padding: 16px 18px;
        font-family: "Ekster", sans-serif !important;
        font-size: 15px;
        color: #111111 !important;
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
      }

      #block-contato .custom-select-value{
        color: #999999 !important;
      }

      #block-contato .custom-select-value.selected{
        color: #111111 !important;
        font-weight: 500;
      }

      #block-contato .custom-select-arrow{
        width: 16px;
        height: 16px;
        transition: transform 0.3s ease;
        stroke: var(--text-dark);
      }

      #block-contato .custom-select-wrapper.open .custom-select-trigger{
        border-color: var(--gold) !important;
        box-shadow: 0 0 0 3px rgba(216, 154, 20, 0.15) !important;
        background: #ffffff !important;
      }

      #block-contato .custom-select-wrapper.open .custom-select-arrow{
        transform: rotate(180deg);
      }

      #block-contato .custom-select-options{
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #ffffff;
        border: 1px solid var(--form-border);
        border-radius: 8px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        margin-top: 8px;
        max-height: 280px;
        overflow-y: auto;
        z-index: 10;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: all 0.3s ease;
        transform: translateY(-10px);
      }

      #block-contato .custom-select-wrapper.open .custom-select-options{
        opacity: 1;
        visibility: visible;
        pointer-events: all;
        transform: translateY(0);
      }

      #block-contato .custom-optgroup{
        padding: 12px 16px 6px;
        font-size: 11px;
        font-weight: 800;
        color: var(--gold);
        text-transform: uppercase;
        letter-spacing: 1px;
        border-bottom: 1px solid #f0f0f0;
        margin-bottom: 4px;
      }

      #block-contato .custom-option{
        padding: 10px 16px;
        font-family: "Ekster", sans-serif !important;
        font-size: 15px;
        color: #000000 !important;
        cursor: pointer;
        transition: background 0.2s, color 0.2s;
      }

      #block-contato .custom-option:hover{
        background-color: rgba(216, 154, 20, 0.1);
        color: #000000 !important;
        font-weight: 500;
      }

      #block-contato .custom-select-options::-webkit-scrollbar{
        width: 6px;
      }

      #block-contato .custom-select-options::-webkit-scrollbar-track{
        background: #f1f1f1;
        border-radius: 8px;
      }

      #block-contato .custom-select-options::-webkit-scrollbar-thumb{
        background: #ccc;
        border-radius: 8px;
      }

      #block-contato .custom-select-options::-webkit-scrollbar-thumb:hover{
        background: var(--gold);
      }

      /* ANIMAÇÕES DO BOTÃO - Padrão Ouro (Carbono exato da Seção 05 ATR) */
      #block-contato .btn-submit{
        display: block;
        width: 100%;
        background-color: var(--gold);
        color: var(--white) !important;
        border: 1px solid rgba(216, 154, 20, 0.5);
        border-radius: 10px;
        padding: 18px 35px;
        font-family: "Lemon Milk", sans-serif;
        font-weight: 700;
        font-size: 14px;
        letter-spacing: 1px;
        text-transform: uppercase;
        cursor: pointer;
        text-align: center;
        position: relative;
        overflow: hidden;
        margin-top: 10px;
        isolation: isolate;
        outline: none;
        transition: background 0.4s ease, color 0.4s ease, box-shadow 0.6s ease-in-out;
        box-shadow: 0 0 0px transparent !important;
      }

      #block-contato .btn-submit-sheen{
        position: absolute;
        inset: 0;
        border-radius: 10px;
        pointer-events: none;
        z-index: 1;
      }

      #block-contato .btn-submit-sheen::after{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(
          90deg,
          transparent,
          rgba(255, 255, 255, 0.4),
          transparent
        );
        transform: translateX(-100%) skewX(-15deg);
        transition: none;
      }

      #block-contato .btn-submit:hover{
        background: #f7b11d;
        color: var(--white) !important;
        /* Brilho duplo radioativo otimizado para não parecer 'sujo/sombra' no fundo azul marinho */
        box-shadow: 0 0 20px rgba(216, 154, 20, 0.9), 0 0 45px rgba(216, 154, 20, 0.4) !important;
      }

      #block-contato .btn-submit:hover .btn-submit-sheen::after{
        transform: translateX(100%) skewX(-15deg);
        transition: transform 0.8s ease;
      }

      #block-contato .btn-submit .btn-submit-label{
        position: relative;
        z-index: 2;
      }

      #block-contato .contact-section .btn-submit:focus,
#block-contato .contact-section .btn-submit:focus-visible,
#block-contato .contact-section .btn-submit:active{
        color: var(--white) !important;
        background-color: var(--gold) !important;
        box-shadow: none !important;
        outline: none !important;
      }

      #block-contato .form-status{
        display: none;
        margin-top: 2px;
        font-size: 14px;
        line-height: 1.45;
      }

      #block-contato .form-status.is-visible{
        display: block;
      }

      #block-contato .form-status.is-success{
        color: #247a3d;
      }

      #block-contato .form-status.is-error{
        color: #b42318;
      }

      @media (max-width: 1100px){
        #block-contato .container{
          flex-direction: column;
          gap: 28px;
          padding: 0 40px;
        }

        #block-contato .left-content{
          display: contents;
        }

        #block-contato .right-content{
          display: contents;
        }

        #block-contato .contact-title{
          order: 1;
          text-align: center;
        }

        #block-contato .contact-desc{
          order: 2;
          text-align: center;
        }

        #block-contato .contact-links{
          order: 3;
          align-items: center;
        }

        #block-contato .contact-link{
          width: auto;
        }

        #block-contato .form-box{
          order: 4;
          max-width: 100%;
        }

        #block-contato .slogan-box{
          order: 5;
          margin-top: -28px;
          border: 1.5px solid var(--gold);
          border-top: none;
          border-radius: 0 0 20px 20px;
          padding: 20px 50px 28px;
          width: auto;
          align-self: center;
        }

        #block-contato .slogan-box::before,
#block-contato .slogan-box::after{
          top: 0;
          bottom: -1.5px;
          left: -1.5px;
          right: -1.5px;
          border-radius: 0 0 20px 20px;
        }
      }

      @media (max-width: 600px){
        #block-contato .contact-section{
          padding: 50px 0;
        }

        #block-contato .container{
          padding: 0 34px;
        }

        #block-contato .contact-desc{
          font-size: 15px;
          margin-bottom: 30px;
        }

        #block-contato .form-box{
          padding: 30px 20px;
        }

        #block-contato .form-row{
          grid-template-columns: 1fr;
          gap: 20px;
        }
      }

      #block-contato .reveal-item{
        opacity: 0;
        transform: translate3d(0, 30px, 0);
        filter: blur(10px);
        transition:
          opacity 0.32s cubic-bezier(0.23, 1, 0.32, 1),
          transform 0.32s cubic-bezier(0.23, 1, 0.32, 1),
          filter 0.32s ease;
        transition-delay: var(--reveal-delay, 0s);
      }

      #block-contato .reveal-item.is-visible{
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
      }