        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body, html {
            height: 100%;
            font-family: 'Poppins', sans-serif;
            background: linear-gradient(to right, #0d121a 10%, #151c28 50%, #151c28 100%) !important; /* #0f141d */
            color: #fff;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            margin: 0;
            padding-bottom: 9px; /* espaço para o miniplayer no desktop */
            overscroll-behavior: none;
        }

        #preloader {
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-color: #151C28;
          color: #e7dbc5;
          display: flex;
          align-items: center;
          justify-content: center;
          z-index: 99999;
          transition: opacity 0.6s ease, visibility 0.6s ease;
        }

        #preloader.hidden {
          opacity: 0;
          visibility: hidden;
        }

        .loader-text {
          font-family: 'Ubuntu', sans-serif;
          font-size: 1rem;
          font-weight: 500;
          letter-spacing: 1px;
          opacity: 0.8;
          animation: pulseText 1.8s infinite;
        }

        @keyframes pulseText {
          0% { opacity: 0.6; }
          50% { opacity: 1; }
          100% { opacity: 0.6; }
        }
/*
        .logo-container {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-grow: 1;
            text-align: center;
            user-select: none;
            flex-direction: column;
        }

        .logo-container img {
            max-width: 200px;
            height: auto;
        }

        .logo-content {
          display: flex;
          flex-direction: column;
          align-items: center;
        }
*/
        .slogan {
          margin-top: -5px;
          font-size: 0.65rem;
          color: #e7dbc5;
          opacity: 0.5;
          font-family: 'Cormorant Garamond', serif;
          font-style: italic;
          text-align: center;
          pointer-events: none;
          user-select: none;
        }

        .btn-ubuntu {
        font-family: 'Ubuntu', sans-serif;
        }

        footer {
          background-color: rgba(255, 255, 255, 0.05); /* fundo translúcido */
          color: #e7dbc5;
          padding: 20px 30px;
          text-align: center;
          border-radius: 12px;
          box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
          backdrop-filter: blur(8px); /* efeito vidro */
          -webkit-backdrop-filter: blur(8px); /* suporte Safari */
          border: 1px solid rgba(255, 255, 255, 0.1);
          width: 27%;
          margin: 40px auto 20px auto;
          font-family: 'Poppins', sans-serif;
          font-size: 12px;
          line-height: 1.6;
          transition: all 0.3s ease;
        }

        footer:hover {
          background-color: rgba(255, 255, 255, 0.09);
        }

        footer.move-away {
          transition: transform 0.2s ease;
        }

        .text-accent {
          color: #e7dbc5;
          font-weight: 500;
        }

        .text-gold {
          color: #cba135;
          font-weight: 600;
        }

        @media (max-width: 768px) {
          footer {
            width: 86%;
            font-size: 5px;
            padding: 10px 0px;
          }
        }

        h1 {
            font-size: 2.5rem;
            font-weight: 600;
            color: #fff;
            margin-bottom: 10px;
        }

        p {
            font-size: 1.2rem;
            color: #ccc;
        }

        #mini-player {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background-color: #151C28;
            color: #fff;
            padding: 10px 20px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            cursor: pointer;
            transition: transform 0.2s ease-out;
            z-index: 1000;
        }

        #mini-player img {
            width: 40px;
            height: 40px;
            margin-right: 10px;
        }

        .play-btn {
            background: none;
            border: none;
            color: #e7dbc5;
            font-size: 20px;
            cursor: pointer;
            transition: color 0.3s ease;
        }

        .play-btn:hover {
            color: #cba135;
        }

        #mini-player:hover {
            transform: scale(1.1);
        }

        @media (max-width: 768px) {
            #mini-player {
                bottom: 20px;
                right: 20px;
            }

            body {
                padding-bottom: 140px; /* mais espaço no mobile */
            }
        }

        @keyframes pop {
            0% { transform: scale(0.8); opacity: 0; }
            100% { transform: scale(1); opacity: 1; }
        }

        .checkmark-animation {
            display: flex;
            flex-direction: column;
            align-items: center;
            color: #4BB543;
            font-size: 1.5rem;
            animation: pop 0.4s ease-out;
        }

        .checkmark-animation svg {
            width: 64px;
            height: 64px;
            margin-bottom: 15px;
        }

        /* animação */
        @keyframes pulseForm {
          0% {
            box-shadow: 0 0 0 0 rgba(203, 161, 53, 0.5);
          }
          70% {
            box-shadow: 0 0 0 15px rgba(203, 161, 53, 0);
          }
          100% {
            box-shadow: 0 0 0 0 rgba(203, 161, 53, 0);
          }
        }

        @keyframes pulse {
          0% { transform: scale(1); }
          50% { transform: scale(1.12); }
          100% { transform: scale(1); }
        }

        #btn-orcamento-icon {
          position: fixed;
          bottom: 30px;
          right: 106px;
          width: 52px;
          height: 52px;
          padding: 0;
          font-size: 1.4rem;
          color: #151C28;
          background-color: #cba135;
          border: none;
          border-radius: 50%;
          z-index: 1050;
          transition: background-color 0.3s ease;
          animation: pulseForm 1.8s infinite;
          box-shadow: 0 0 0 0 rgba(203, 161, 53, 0.5);
        }

        #btn-orcamento-icon:hover {
          background-color: #e0b645;
        }

        @media (max-width: 768px) {
          #btn-orcamento-icon {
            bottom: 80px;
            right: 27px;
          }
        }

        /* validação dos campos form */
        .input-valid::after,
        .input-invalid::after {
          content: '';
          position: absolute;
          right: 12px;
          top: 50%;
          transform: translateY(-50%);
          width: 18px;
          height: 18px;
          background-size: contain;
          background-repeat: no-repeat;
        }

        .input-valid::after {
          background-image: url('data:image/svg+xml;utf8,<svg fill="%234BB543" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.285 6.709l-11.285 11.291-5.285-5.293 1.415-1.414 3.87 3.879 9.87-9.879z"/></svg>');
        }

        .input-invalid::after {
          background-image: url('data:image/svg+xml;utf8,<svg fill="%23dc3545" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95 1.414-1.414z"/></svg>');
        }

        .position-relative {
          position: relative;
        }

        /* cta e grunge arrow */
        #btn-inteligente {
          background-color: transparent;
          color: #e7dbc5;
          border: 2px dashed #cba135;
          font-family: 'Ubuntu', sans-serif;
          font-size: 12px;
          padding: 4px 12px;
          margin-top: 12px;
          display: inline-block;
          animation: pulse 2s infinite;
        }

        #btn-inteligente:hover {
          background-color: #cba135;
          color: #151C28;
        }

        /* Seta grunge responsiva */
        .grunge-arrow {
          position: absolute;
          width: 60px;
          height: auto;
          z-index: 999;
          draggable: false;
        }

        @media (max-width: 768px) {
          .grunge-arrow {
            bottom: 130px;
            right: 20px;
            transform: rotate(60deg);
          }
        }

        @media (min-width: 769px) {
          .grunge-arrow {
            bottom: 60px;
            right: 155px;
            transform: rotate(25deg);
          }
        }

        .cta-desktop-only {
          display: block;
        }

        @media (max-width: 768px) {
          .cta-desktop-only {
            display: none !important;
          }
        }

        /* Para telas pequenas (até 767px, celulares) */
        @media (max-width: 767px) {
            .cta-seta {
                bottom: 146px;
                right: 179px;
                transform: rotate(-16deg);
                display: block !important;
            }
        }
        .cta-seta {
          display: none;
        }
        
        .listra-lateral {
          position: fixed;
          top: 0;
          left: 0;
          width: 8px;
          height: 100vh;
          background: linear-gradient(to bottom, #cba135, #cba135);
          z-index: 9999;
          opacity: 0.6;
          pointer-events: none;
          border-radius: 0 2px 2px 0;
          box-shadow: 2px 0 10px rgba(0, 0, 0, 0.4);
          overflow: visible; /* necessário para o canvas ultrapassar */
        }

        #listra-canvas {
          position: absolute;
          top: 0;
          left: 0;
          width: 150px; /* espaço horizontal de partículas */
          height: 100%;
          pointer-events: none;
        }

        /* Remove apenas o canvas no mobile */
        @media (max-width: 767px) {
          .listra-lateral canvas {
            display: none !important;
          }
        }
        
        #lottieCheck {
          display: block !important;
        }

        .musica-info {
          position: fixed;
          bottom: 26px;
          left: calc(100% - 415px);
          z-index: 1050;
          background: linear-gradient(to right, rgb(203 161 53), rgba(231, 219, 197, 0));
          border-radius: 12px;
          padding: 6px 12px;
          pointer-events: none;
          user-select: none;
          max-width: 300px;
          text-align: left;
        }

        .musica-titulo {
          font-size: 0.75rem;
          color: #ffffff; /* #2e3a57 azul escuro da paleta */
          font-weight: 600;
          margin-bottom: 2px;
          user-select: none;
        }

        .musica-marquee {
          width: 160px;
          overflow: hidden;
          white-space: nowrap;
          position: relative;
          color: #ffffff;
        }

        .musica-marquee span {
          display: inline-block;
          padding-left: 100%;
          animation: scroll-music 10s linear infinite;
        }

        @keyframes scroll-music {
          0% {
            transform: translateX(0%);
          }
          100% {
            transform: translateX(-100%);
          }
        }

        /* Mobile */
        @media (max-width: 767px) {
          .musica-info {
            bottom: 17px;
            left: 29px;
          }

          .musica-marquee {
            width: 250px;
          }
        }

/* página quem somos */
        .quem-somos {
          background-color: #151c28;
        }

        .quem-somos-titulo {
          font-family: 'Cormorant Garamond', serif;
          font-size: 2.5rem;
          font-weight: 400;
          line-height: 1.2;
          letter-spacing: 0.5px;
        }

        .quem-somos-texto {
          font-size: 1rem;
          line-height: 1.6;
          font-weight: 300;
        }

        .quem-somos-img {
          max-height: 300px;
          object-fit: cover;
          opacity: 0.95;
          transition: transform 0.3s ease, opacity 0.3s ease;
        }

        .quem-somos-img:hover {
          transform: scale(1.02);
          opacity: 1;
        }

        /* Responsivo para mobile */
        @media (max-width: 768px) {
          .quem-somos-titulo {
            font-size: 1.8rem;
            text-align: center;
          }

          .quem-somos-texto {
            font-size: 0.95rem;
            text-align: center;
          }

          .quem-somos-img {
            display: none;
          }
        }

        .numeros-ravi h4 {
          font-size: 2rem;
          font-weight: bold;
          font-family: 'Cormorant Garamond', serif;
        }

        .numeros-ravi p {
          font-size: 0.95rem;
          font-family: 'Poppins', sans-serif;
        }
/* fim da página quem somos */

        /* menu */
        .logo-wrapper {
          height: 100vh; /* altura desejada para área centralizada, ajuste conforme quiser */
          display: flex;
          justify-content: center; /* centraliza horizontal */
          align-items: center;     /* centraliza vertical */
        }

        .logo-container {
          position: relative;
          text-align: center;
          cursor: grab;
          user-select: none;
        }

        .logo-container img {
          width: 200px;
          display: block;
          margin: 0 auto;
        }

        /* Menu escondido por padrão */
        .menu-dropdown {
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%);
            background: linear-gradient(to right, rgba(34, 43, 58, 0.95), rgba(34, 43, 58, 0.75), rgba(34, 43, 58, 0.0));
            font-family: 'Cormorant Garamond', serif;
            border-radius: 8px;
            padding: 10px 0;
            min-width: 220px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
            display: none;
            z-index: 1000;
        }

        .menu-dropdown a {
          display: block;
          padding: 10px 20px;
          color: #cba135;
          text-decoration: none;
          font-size: 1.1rem;
          transition: background-color 0.3s;
        }

        .menu-dropdown a:hover {
          background: #cba135;
          color: #151c28;
        }

        /* Exibe o menu SOMENTE quando hover sobre logo-container */
        .logo-container:hover .menu-dropdown {
          display: block;
        }

        /* sobre nós */
        .sobre-nos-box.preview-mobile {
          display: none;
        }

        .sobre-nos-box.full-text {
          display: block;
          font-family: 'Cormorant Garamond', serif;
          color: #ddd;
          max-width: 700px;
          margin: 0 auto 2rem auto;
          line-height: 1.6;
          padding: 0 1rem;
        }

        .sobre-nos-box.full-text h2 {
          font-weight: 400;
          margin-bottom: 1rem;
          color: #cba135;
        }

        .sobre-nos-box.full-text p {
          margin-bottom: 1rem;
        }

        .sobre-nos-box.full-text .assinatura {
          font-style: italic;
          margin-top: 2rem;
          font-weight: 600;
          color: #cba135;
        }

        /* Mobile - exibe só a prévia + botão */
        @media (max-width: 768px) {
          .sobre-nos-box.full-text {
            display: none;
          }

          .sobre-nos-box.preview-mobile {
            display: block;
            background-color: #1a1f2a;
            padding: 20px;
            margin: 3rem auto;
            border-radius: 12px;
            max-width: 85%;
            box-shadow: 0 0 15px rgba(203, 161, 53, 0.5);
            font-family: 'Cormorant Garamond', serif;
            color: #ddd;
            cursor: pointer;
          }

          .sobre-nos-box.preview-mobile h2 {
            color: #cba135;
            font-weight: 400;
            margin-bottom: 1rem;
          }

          .sobre-nos-box.preview-mobile p {
            font-size: 1rem;
            margin-bottom: 1rem;
          }

          .continuar-btn {
            display: inline-block;
            padding: 6px 16px;
            font-size: 0.9rem;
            font-weight: 600;
            color: #cba135;
            background-color: transparent;
            border: 2px solid #cba135;
            border-radius: 25px;
            transition: background-color 0.3s ease, color 0.3s ease;
            cursor: pointer;
          }

          .continuar-btn:hover,
          .continuar-btn:focus {
            background-color: #cba135;
            color: #151c28;
            outline: none;
          }
        }

        .sobre-nos-modal-content {
          background-color: rgb(12 9 24 / 93%);
          color: #1e2633;
          font-family: 'Cormorant Garamond', serif;
          padding: 1.5rem 2rem;
          border-radius: 12px;
          box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
          max-height: 90vh;
          overflow-y: auto;
        }

        .sobre-nos-modal-content h5 {
          color: #c69d34;
          font-weight: 600;
        }

        .sobre-nos-modal-content p {
          font-size: 1.05rem;
          line-height: 1.65;
          margin-bottom: 1rem;
        }

        .sobre-nos-modal-content .assinatura {
          font-style: italic;
          font-weight: 600;
          margin-top: 1.5rem;
          color: #cba135;
        }

        .modal-header .btn-close {
          filter: invert(0.6); 
        }














