        :root {
            --cor-preto: #0b0b0b;
            --cor-preto-2: #111111;
            --cor-preto-3: #1b1b1b;
            --cor-cinza: #2d2d2d;
            --cor-cinza-claro: #a6a6a6;
            --cor-amarelo: #ffe600;
            --cor-amarelo-escuro: #d8c500;
            --cor-branco: #ffffff;
            --cor-vermelho: #e63946;
            --cor-whatsapp: #25d366;
            --fonte-titulo: "Archivo Narrow", sans-serif;
            --fonte-texto: "Hanken Grotesk", sans-serif;
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 92px;
        }

        body {
            margin: 0;
            overflow-x: hidden;
            background: var(--cor-preto);
            color: var(--cor-branco);
            font-family: var(--fonte-texto);
        }

        a {
            text-decoration: none;
        }

        img {
            max-width: 100%;
        }

        .fonte-titulo {
            font-family: var(--fonte-titulo);
        }

        .texto-amarelo {
            color: var(--cor-amarelo);
        }

        .texto-cinza {
            color: var(--cor-cinza-claro);
        }

        .bg-preto {
            background: var(--cor-preto);
        }

        .bg-preto-2 {
            background: var(--cor-preto-2);
        }

        .bg-preto-3 {
            background: var(--cor-preto-3);
        }

        .bg-amarelo {
            background: var(--cor-amarelo);
        }

        .titulo-secao {
            margin-bottom: .5rem;
            color: var(--cor-branco);
            font-family: var(--fonte-titulo);
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 700;
            text-transform: uppercase;
        }

        .linha-titulo {
            width: 95px;
            height: 4px;
            margin: 0 auto;
            background: var(--cor-amarelo);
        }

        .secao-padding {
            padding: 90px 0;
        }

        /* Navbar */
        .navbar-custom {
            min-height: 96px;
            background: rgba(11, 11, 11, .97);
            border-bottom: 1px solid rgba(255, 230, 0, .22);
            box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
            backdrop-filter: blur(10px);
        }

        .logo-topo {
            width: auto;
            height: 82px;
            max-height: 82px;
            object-fit: contain;
            object-position: left center;
        }

        .navbar-custom .nav-link {
            position: relative;
            padding: .7rem .9rem !important;
            color: #d6d6d6;
            font-weight: 600;
            transition: color .2s ease;
        }

        .navbar-custom .nav-link::after {
            position: absolute;
            right: .9rem;
            bottom: .35rem;
            left: .9rem;
            height: 2px;
            content: "";
            background: var(--cor-amarelo);
            transform: scaleX(0);
            transition: transform .2s ease;
        }

        .navbar-custom .nav-link:hover,
        .navbar-custom .nav-link:focus {
            color: var(--cor-amarelo);
        }

        .navbar-custom .nav-link:hover::after,
        .navbar-custom .nav-link:focus::after {
            transform: scaleX(1);
        }

        .navbar-toggler {
            border: 1px solid var(--cor-amarelo);
            background: var(--cor-amarelo);
        }

        .navbar-toggler:focus {
            box-shadow: 0 0 0 .2rem rgba(255, 230, 0, .22);
        }

        .navbar-toggler-icon {
            filter: brightness(0);
        }

        .btn-emergencia {
            border: 0;
            background: var(--cor-vermelho);
            color: var(--cor-branco);
            font-family: var(--fonte-titulo);
            font-size: 1rem;
            font-weight: 700;
            letter-spacing: .03em;
            text-transform: uppercase;
            transition: transform .2s ease, background .2s ease;
        }

        .btn-emergencia:hover {
            background: #c92836;
            color: var(--cor-branco);
            transform: translateY(-2px);
        }

        /* Banner rotativo */
        .banner-carousel {
            position: relative;
            background: #050505;
        }

        .banner-carousel .carousel-item {
            min-height: calc(100vh - 84px);
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }

        .banner-carousel .carousel-item::before {
            position: absolute;
            inset: 0;
            z-index: 0;
            content: "";
            background:
                linear-gradient(90deg, rgba(5, 5, 5, .97) 0%, rgba(5, 5, 5, .86) 48%, rgba(5, 5, 5, .28) 100%),
                linear-gradient(0deg, rgba(0, 0, 0, .45), rgba(0, 0, 0, .12));
        }

        .banner-slide-1 {
            background-image: url("https://lh3.googleusercontent.com/aida-public/AB6AXuDR42-DI0SbIojX9sbJ7LoZTLBN4_aHmw8kb_ecNaf_aLr5wRQr0-7_WfdMEXvn1Bz86lunjVhCPv60SktIYs8U0pbPmH2OeVqpzGdwKj-wvvNXywN1GUe5o3IbUYx74WprJrSyi61DF7_yL1khtCvutA7lUvXQcLAUwuRPX69EuAwLwlG24aEU9S2d47buT_YD4KeqbotPwep0Id0V27UgVhKAX5w7uVnsMg_9547NC8QefprbgXnEYgULz2mfYNCp6CcM8CGkDTA");
        }

        .banner-slide-2 {
            background-image: url("https://lh3.googleusercontent.com/aida-public/AB6AXuDZQEMIJxsbn34D31n8izs7aA1dfc2j0F9K0Uu_-nBQtw-hcmOUxK1DNi_BBDZBU-dLvD6JgANJRpHiTESl_rvZa3P-wZ2Jt02e-Xrj94sdAb4fyXRYnbxKRxlTGKs29duHBV2cf3T3oH3yHcNcqWIsnJaX0g804v-u8Uw3TTDLf6loUKbcviD9kGFEX502vWDuCfAlBFpzIOa5m3lZoMh5rwgu0QhtOJE0b8iMr1XrJVx3u355RDOxE9v-djrSfZUUdobyuAmRBjw");
        }

        .banner-slide-3 {
            background-image: url("https://lh3.googleusercontent.com/aida-public/AB6AXuADXFrabA2urkiBQx54rCCkWXrjM5B6GEgRlKkYsPWrV03mUD8HJCmMn8Xg4MjZgN5Sqjg1XXgvrsdT3RP4Dft6h1DuiUIGHJeA1NAXNn7JRypWBb1vBVCcQ59fKauGdtRj9QYASvng4Ap8cRmtoRUkvfsf-ApPn3o6nOris9G7gNzBz9GhuTtEKJHc98rTLxaPTI8ggbbKSPXUhCSGM-NS-n7EF4kYy2lEM3Ie54qGNuUo5pMK_Zjd1MkRokPCnQN2lxSx-0RI1Yc");
        }

        .banner-conteudo {
            position: relative;
            z-index: 2;
            display: flex;
            min-height: calc(100vh - 84px);
            align-items: center;
            padding: 90px 0 110px;
        }

        .banner-caixa-texto {
            max-width: 790px;
        }

        .selo-atendimento {
            display: inline-flex;
            align-items: center;
            gap: .5rem;
            margin-bottom: 1.5rem;
            padding: .45rem .85rem;
            border-radius: 999px;
            background: var(--cor-amarelo);
            color: #111;
            font-family: var(--fonte-titulo);
            font-weight: 700;
            letter-spacing: .03em;
            text-transform: uppercase;
        }

        .banner-carousel h1,
        .banner-carousel h2 {
            max-width: 790px;
            margin-bottom: 1.5rem;
            color: #fff;
            font-family: var(--fonte-titulo);
            font-size: clamp(2.6rem, 5.8vw, 5rem);
            font-weight: 700;
            line-height: .98;
            text-transform: uppercase;
            text-shadow: 0 4px 20px rgba(0, 0, 0, .55);
        }

        .banner-carousel .descricao-banner {
            max-width: 680px;
            margin-bottom: 2rem;
            color: #e0e0e0;
            font-size: 1.15rem;
            line-height: 1.7;
            text-shadow: 0 2px 12px rgba(0, 0, 0, .7);
        }

        .banner-carousel .carousel-indicators {
            z-index: 5;
            margin-bottom: 1.7rem;
        }

        .banner-carousel .carousel-indicators [data-bs-target] {
            width: 36px;
            height: 4px;
            border: 0;
            background-color: rgba(255, 255, 255, .55);
            opacity: 1;
        }

        .banner-carousel .carousel-indicators .active {
            background-color: var(--cor-amarelo);
        }

        .banner-carousel .carousel-control-prev,
        .banner-carousel .carousel-control-next {
            z-index: 4;
            width: 7%;
        }

        .banner-carousel .carousel-control-prev-icon,
        .banner-carousel .carousel-control-next-icon {
            width: 2.7rem;
            height: 2.7rem;
            border-radius: 50%;
            background-color: rgba(0, 0, 0, .58);
            background-size: 52%;
        }

        .btn-whatsapp {
            border: 0;
            background: var(--cor-whatsapp);
            color: #102316;
            font-family: var(--fonte-titulo);
            font-size: 1.2rem;
            font-weight: 700;
            transition: transform .2s ease, filter .2s ease;
        }

        .btn-whatsapp:hover {
            background: var(--cor-whatsapp);
            color: #102316;
            filter: brightness(.93);
            transform: translateY(-2px);
        }

        .btn-telefone {
            border: 2px solid var(--cor-amarelo);
            background: rgba(20, 20, 20, .82);
            color: var(--cor-amarelo);
            font-family: var(--fonte-titulo);
            font-size: 1.2rem;
            font-weight: 700;
            transition: background .2s ease, color .2s ease, transform .2s ease;
        }

        .btn-telefone:hover {
            background: var(--cor-amarelo);
            color: #111;
            transform: translateY(-2px);
        }

        /* Serviços */        /* Serviços */
        .servicos {
            background: #090909;
        }

        .card-servico {
            width: 100%;
            position: relative;
            min-height: 450px;
            overflow: hidden;
            border: 1px solid #3c3c3c;
            border-radius: 16px;
            background: var(--cor-branco);;
            transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
        }

        .card-servico:hover {
            border-color: var(--cor-amarelo);
            box-shadow: 0 22px 45px rgba(0, 0, 0, .35);
            transform: translateY(-6px);
        }

        .card-servico img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .6s ease;
        }

        .card-servico:hover img {
            transform: scale(1.08);
        }

        .card-servico::after {
            position: absolute;
            inset: 0;
            content: "";
            background: linear-gradient(to top, rgba(0, 0, 0, .97) 0%, rgba(0, 0, 0, .66) 48%, rgba(0, 0, 0, .10) 100%);
        }

        .card-servico-conteudo {
            position: relative;
            z-index: 2;
            display: flex;
            height: 100%;
            min-height: 450px;
            flex-direction: column;
            justify-content: flex-end;
            padding: 1.6rem;
        }

        .icone-servico {
            width: 54px;
            height: 54px;
            margin-bottom: 1rem;
            border-radius: 12px;
            background: var(--cor-amarelo);
            color: #111;
            font-size: 1.55rem;
        }

        .card-servico h3 {
            font-family: var(--fonte-titulo);
            font-size: 2rem;
            font-weight: 700;
            text-transform: uppercase;
        }

        .card-servico p {
            color: #c6c6c6;
        }

        .link-servico {
            color: var(--cor-amarelo);
            font-family: var(--fonte-titulo);
            font-weight: 700;
            letter-spacing: .04em;
            text-transform: uppercase;
        }

        .link-servico:hover {
            color: var(--cor-branco);
        }

        /* Atendimento */
        .bloco-contato {
            position: relative;
            overflow: hidden;
            padding: clamp(2rem, 5vw, 4rem);
            border: 1px solid rgba(255, 230, 0, .38);
            border-radius: 24px;
            background:
                linear-gradient(145deg, rgba(255, 230, 0, .13), rgba(255, 230, 0, .03) 42%),
                #181818;
            box-shadow:
                0 25px 55px rgba(0, 0, 0, .35),
                inset 0 1px 0 rgba(255, 255, 255, .04);
        }

        .bloco-contato::before {
            position: absolute;
            top: -85px;
            right: -75px;
            width: 250px;
            height: 250px;
            border-radius: 50%;
            content: "";
            background: rgba(255, 230, 0, .13);
            filter: blur(10px);
        }

        .bloco-contato::after {
            position: absolute;
            bottom: -120px;
            left: -100px;
            width: 260px;
            height: 260px;
            border-radius: 50%;
            content: "";
            background: rgba(255, 255, 255, .035);
            filter: blur(6px);
        }

        .bloco-contato > div {
            position: relative;
            z-index: 1;
        }

        .status-disponivel {
            display: inline-flex;
            align-items: center;
            gap: .65rem;
            padding: .65rem 1rem;
            border: 1px solid rgba(230, 57, 70, .28);
            border-radius: 12px;
            background: rgba(230, 57, 70, .08);
            color: #ff6774;
            font-family: var(--fonte-titulo);
            font-weight: 700;
            text-transform: uppercase;
        }

        .status-bolinha {
            position: relative;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: var(--cor-vermelho);
        }

        .status-bolinha::before {
            position: absolute;
            inset: -5px;
            border-radius: 50%;
            content: "";
            border: 2px solid rgba(230, 57, 70, .45);
            animation: pulso 1.5s infinite;
        }

        @keyframes pulso {
            0% { transform: scale(.65); opacity: 1; }
            100% { transform: scale(1.5); opacity: 0; }
        }

        .card-diferencial {
            position: relative;
            height: 100%;
            min-height: 275px;
            overflow: hidden;
            padding: 1.75rem;
            border: 1px solid rgba(0, 0, 0, .18);
            border-radius: 14px;
            background: var(--cor-amarelo);
            color: #101010;
            box-shadow: 0 14px 30px rgba(0, 0, 0, .22);
            transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
        }

        .card-diferencial::after {
            position: absolute;
            right: -42px;
            bottom: -52px;
            width: 135px;
            height: 135px;
            border-radius: 50%;
            content: "";
            background: rgba(0, 0, 0, .07);
        }

        .card-diferencial:hover {
            background: #ffec24;
            box-shadow: 0 20px 38px rgba(0, 0, 0, .32);
            transform: translateY(-5px);
        }

        .card-diferencial i {
            position: relative;
            z-index: 1;
            display: inline-flex;
            width: 54px;
            height: 54px;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
            background: #111;
            color: var(--cor-amarelo);
            font-size: 1.8rem;
        }

        .card-diferencial h4 {
            position: relative;
            z-index: 1;
            margin-top: 1.2rem;
            color: #0d0d0d;
            font-family: var(--fonte-titulo);
            font-size: 1.75rem;
            font-weight: 700;
            line-height: 1.05;
            text-transform: uppercase;
        }

        .card-diferencial p {
            position: relative;
            z-index: 1;
            margin-bottom: 0;
            color: #252525;
            font-weight: 500;
            line-height: 1.55;
        }

        /* Sobre */        /* Sobre */
        .sobre {
            position: relative;
            overflow: hidden;
            background: #171717;
        }

        .sobre-imagem {
            position: relative;
            overflow: hidden;
            border: 4px solid var(--cor-amarelo);
            border-radius: 24px;
            background: #080808;
            box-shadow: 0 30px 60px rgba(0, 0, 0, .45);
            transform: rotate(2deg);
            transition: transform .35s ease;
        }

        .sobre-imagem:hover {
            transform: rotate(0);
        }

        .sobre-imagem img {
            width: 100%;
            min-height: 450px;
            object-fit: cover;
        }

        .numero-destaque {
            padding: 1.2rem;
            border: 1px solid #3b3b3b;
            border-radius: 12px;
            background: #0d0d0d;
            text-align: center;
        }

        .numero-destaque strong {
            display: block;
            color: var(--cor-amarelo);
            font-family: var(--fonte-titulo);
            font-size: 2rem;
        }

        .numero-destaque span {
            color: #b7b7b7;
        }

        /* CTA final */
        .cta-final {
            padding: 75px 0;
            background: var(--cor-amarelo);
            color: #111;
        }

        .cta-final h2 {
            font-family: var(--fonte-titulo);
            font-size: clamp(2.3rem, 5vw, 4.2rem);
            font-weight: 700;
            line-height: 1;
            text-transform: uppercase;
        }

        .btn-cta-final {
            background: #111;
            color: var(--cor-amarelo);
            font-family: var(--fonte-titulo);
            font-size: 1.25rem;
            font-weight: 700;
            transition: transform .2s ease, background .2s ease;
        }

        .btn-cta-final:hover {
            background: #262626;
            color: var(--cor-amarelo);
            transform: translateY(-3px);
        }

        /* Rodapé */
        footer {
            border-top: 4px solid var(--cor-amarelo);
            background: #070707;
        }

        .logo-rodape {
            width: 360px;
            max-height: 95px;
            object-fit: contain;
            object-position: left center;
        }

        .titulo-rodape {
            color: var(--cor-branco);
            font-family: var(--fonte-titulo);
            font-weight: 700;
            letter-spacing: .04em;
            text-transform: uppercase;
        }

        .lista-rodape {
            padding: 0;
            margin: 0;
            list-style: none;
        }

        .lista-rodape li {
            margin-bottom: .7rem;
        }

        .lista-rodape a {
            color: #bcbcbc;
            transition: color .2s ease, padding-left .2s ease;
        }

        .lista-rodape a:hover {
            padding-left: 5px;
            color: var(--cor-amarelo);
        }

        .contato-rodape {
            display: flex;
            align-items: flex-start;
            gap: .8rem;
            margin-bottom: 1rem;
            color: #c5c5c5;
        }

        .contato-rodape i {
            color: var(--cor-amarelo);
            font-size: 1.2rem;
        }

        /* Botões flutuantes */
        .botao-flutuante {
            position: fixed;
            z-index: 1050;
            right: 24px;
            bottom: 24px;
            display: flex;
            width: 62px;
            height: 62px;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: var(--cor-vermelho);
            color: var(--cor-branco);
            box-shadow: 4px 4px 0 #000, 0 12px 25px rgba(0, 0, 0, .35);
            font-size: 1.6rem;
            transition: transform .2s ease;
        }

        .botao-flutuante:hover {
            color: var(--cor-branco);
            transform: scale(1.08);
        }

        @media (max-width: 1199.98px) {
            .logo-topo {
                width: auto;
            }

            .hero-mascote {
                max-width: 52%;
                opacity: .45;
            }
        }

        @media (max-width: 991.98px) {
            .navbar-collapse {
                margin-top: .8rem;
                padding: 1rem;
                border-radius: 14px;
                background: var(--cor-amarelo);
                box-shadow: 0 18px 35px rgba(0, 0, 0, .35);
            }

            .navbar-custom .navbar-nav {
                gap: .2rem;
            }

            .navbar-custom .nav-link {
                padding: .85rem 1rem !important;
                border-radius: 10px;
                color: #111 !important;
                font-size: 1.05rem;
                font-weight: 700;
            }

            .navbar-custom .nav-link:hover,
            .navbar-custom .nav-link:focus {
                background: rgba(0, 0, 0, .10);
                color: #000 !important;
            }

            .navbar-custom .nav-link::after {
                display: none;
            }

            .menu-contatos {
                padding-top: 1rem;
                border-top: 1px solid rgba(0, 0, 0, .22);
            }

            .menu-contatos .btn-emergencia {
                width: 100%;
                background: #111;
                color: var(--cor-amarelo);
            }

            .menu-contatos .btn-emergencia:hover {
                background: #252525;
                color: var(--cor-amarelo);
            }

            .banner-carousel .carousel-item,
            .banner-conteudo {
                min-height: 720px;
            }

            .banner-carousel .carousel-item::before {
                background:
                    linear-gradient(90deg, rgba(5, 5, 5, .96) 0%, rgba(5, 5, 5, .82) 70%, rgba(5, 5, 5, .64) 100%),
                    linear-gradient(0deg, rgba(0, 0, 0, .48), rgba(0, 0, 0, .18));
            }

            .banner-carousel .carousel-control-prev,
            .banner-carousel .carousel-control-next {
                display: none;
            }
        }

        @media (max-width: 767.98px) {
            .secao-padding {
                padding: 68px 0;
            }

            .logo-topo {
                width: auto;
                height: 74px;
                max-height:74px;
            }

            .banner-carousel .carousel-item,
            .banner-conteudo {
                min-height: 660px;
            }

            .banner-conteudo {
                padding: 72px 22px 96px;
            }

            .banner-caixa-texto {
                width: 100%;
                padding: 0 4px;
            }

            .banner-carousel h1,
            .banner-carousel h2 {
                font-size: clamp(2.55rem, 12vw, 4rem);
            }

            .banner-carousel .descricao-banner {
                font-size: 1.05rem;
            }

            .card-servico,
            .card-servico-conteudo {
                min-height: 410px;
            }

            .sobre-imagem img {
                min-height: 360px;
            }
        }

        @media (max-width: 575.98px) {
            .banner-conteudo {
                padding-right: 18px;
                padding-left: 18px;
            }

            .banner-carousel .btn {
                width: 100%;
            }

            .banner-carousel .descricao-banner {
                line-height: 1.55;
            }

            .logo-topo {
                width: auto;
            }

            .navbar-brand {
                max-width: calc(100% - 62px);
            }

            .selo-atendimento {
                font-size: .82rem;
            }

            .botao-flutuante {
                right: 17px;
                bottom: 17px;
                width: 56px;
                height: 56px;
            }
        }

/* ==========================================
   PÁGINA DE SERVIÇOS
========================================== */

.pagina-servicos {
    min-height: 600px;
    padding: 70px 0 90px;
    background: var(--cor-preto);
}

/* Cabeçalho */

.cabecalho-pagina {
    margin-bottom: 45px;
    text-align: center;
}

.titulo-pagina {
    padding: 0;
    margin: 0 0 16px;
    color: var(--cor-branco);
    font-family: var(--fonte-titulo);
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
}

.cabecalho-pagina .linha-titulo {
    width: 95px;
    height: 4px;
    margin: 0 auto;
    background: var(--cor-amarelo);
}

/* Grade */

.lista-servicos {
    row-gap: 30px;
}

/*
Mantém todas as colunas com a mesma altura.
Funciona em Bootstrap 4 e 5.
*/

.lista-servicos > div {
    display: flex;
}

/* Card */

.card-servico-listagem {
    position: relative;
    display: block;
    width: 100%;
    min-height: 390px;
    overflow: hidden;
    border: 1px solid #393939;
    border-radius: 18px;
    background: var(--cor-branco);
    color: var(--cor-branco);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .32);
    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

.card-servico-listagem:hover,
.card-servico-listagem:focus {
    border-color: var(--cor-amarelo);
    color: var(--cor-branco);
    box-shadow: 0 25px 50px rgba(0, 0, 0, .48);
    transform: translateY(-7px);
}

/* Imagem */

.card-servico-imagem {
    position: absolute;
    inset: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: transform .6s ease;
}

.card-servico-listagem:hover .card-servico-imagem {
    transform: scale(1.08);
}

/* Gradiente escuro */

.card-servico-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(0, 0, 0, .97) 0%,
            rgba(0, 0, 0, .76) 34%,
            rgba(0, 0, 0, .20) 75%,
            rgba(0, 0, 0, .08) 100%
        );
}

/* Conteúdo */

.card-servico-informacoes {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 26px;
}

.card-servico-informacoes h2 {
    padding: 0;
    margin: 0 0 12px;
    color: var(--cor-branco);
    font-family: var(--fonte-titulo);
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 1.1;
    overflow-wrap: break-word;
    text-transform: uppercase;
    word-break: normal;
}

.card-servico-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--cor-amarelo);
    font-family: var(--fonte-titulo);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.card-servico-link i {
    transition: transform .25s ease;
}

.card-servico-listagem:hover .card-servico-link i {
    transform: translateX(5px);
}

/* Responsividade */

@media (max-width: 991.98px) {

    .pagina-servicos {
        padding: 60px 0 75px;
    }

    .card-servico-listagem {
        min-height: 360px;
    }

}

@media (max-width: 767.98px) {

    .pagina-servicos {
        padding: 50px 0 65px;
    }

    .cabecalho-pagina {
        margin-bottom: 35px;
    }

    .card-servico-listagem {
        min-height: 340px;
    }

    .card-servico-informacoes {
        padding: 22px;
    }

    .card-servico-informacoes h2 {
        font-size: 1.65rem;
    }

}

@media (max-width: 575.98px) {

    .pagina-servicos {
        padding-top: 40px;
    }

    .lista-servicos {
        row-gap: 22px;
    }

    .card-servico-listagem {
        min-height: 310px;
    }

    .card-servico-informacoes h2 {
        font-size: 1.5rem;
    }

}



/* ==================================================
   PÁGINA INTERNA DO SERVIÇO
================================================== */

.pagina-servico-interno {
    min-height: 600px;
    padding: 70px 0 90px;
    background:
        radial-gradient(
            circle at top right,
            rgba(255, 230, 0, .05),
            transparent 32%
        ),
        var(--cor-preto);
}

/* Cabeçalho */

.cabecalho-servico {
    margin-bottom: 45px;
    text-align: center;
}

.titulo-servico {
    padding: 0;
    margin: 0 0 16px;
    color: var(--cor-branco);
    font-family: var(--fonte-titulo);
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
}

.cabecalho-servico .linha-titulo {
    width: 95px;
    height: 4px;
    margin: 0 auto;
    background: var(--cor-amarelo);
}

/* Caixa principal */

.conteudo-servico {
    overflow: hidden;
    border: 1px solid #333;
    border-radius: 20px;
    background: var(--cor-preto-2);
    box-shadow: 0 25px 55px rgba(0, 0, 0, .35);
}

.texto-servico {
    padding: clamp(22px, 4vw, 42px);
}

/* Foto principal */

.foto-principal-servico {
    float: left;
    width: min(48%, 560px);
    margin: 0 35px 24px 0;
    overflow: hidden;
    border: 3px solid var(--cor-amarelo);
    border-radius: 16px;
    background: var(--cor-branco);
    box-shadow: 0 18px 35px rgba(0, 0, 0, .38);
}

.foto-principal-servico img {
    display: block;
    width: 100%;
    height: auto;
    border: 0;
    object-fit: cover;
}

/* Remove estilos antigos que possam vir no HTML da imagem */

.foto-principal-servico .img-thumbnail {
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

/* Texto */

.descricao-servico {
    color: #d0d0d0;
    font-size: 1.08rem;
    line-height: 1.85;
}

.descricao-servico::after {
    display: block;
    clear: both;
    content: "";
}

.descricao-servico p {
    margin: 0 0 1.35rem;
}

.descricao-servico p:last-child {
    margin-bottom: 0;
}

.descricao-servico strong {
    color: var(--cor-amarelo);
    font-weight: 700;
}

.descricao-servico h2,
.descricao-servico h3,
.descricao-servico h4 {
    margin: 2rem 0 1rem;
    color: var(--cor-branco);
    font-family: var(--fonte-titulo);
    font-weight: 700;
    text-transform: uppercase;
}

.descricao-servico h2 {
    font-size: 2rem;
}

.descricao-servico h3 {
    font-size: 1.65rem;
}

.descricao-servico h4 {
    font-size: 1.35rem;
}

.descricao-servico ul,
.descricao-servico ol {
    padding-left: 22px;
    margin: 1rem 0 1.5rem;
}

.descricao-servico li {
    margin-bottom: .65rem;
}

.descricao-servico a {
    color: var(--cor-amarelo);
    font-weight: 700;
}

.descricao-servico a:hover {
    color: var(--cor-branco);
}

/* ==================================================
   GALERIA
================================================== */

.galeria-servico {
    margin-top: 65px;
}

.cabecalho-galeria {
    margin-bottom: 30px;
    text-align: center;
}

.cabecalho-galeria h2 {
    padding: 0;
    margin: 0 0 13px;
    color: var(--cor-branco);
    font-family: var(--fonte-titulo);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    font-weight: 700;
    text-transform: uppercase;
}

.linha-galeria {
    width: 75px;
    height: 3px;
    margin: 0 auto;
    background: var(--cor-amarelo);
}

.lista-galeria {
    display: flex;
    flex-wrap: wrap;
}

.item-galeria {
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
}

/* Foto pequena */

.foto-galeria {
    position: relative;
    display: block;
    width: 100%;
    height: 270px;
    overflow: hidden;
    border: 1px solid #363636;
    border-radius: 13px;
    background-color: var(--cor-preto-3);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: 0 12px 25px rgba(0, 0, 0, .25);
    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease,
        background-size .5s ease;
}

.foto-galeria::before {
    position: absolute;
    inset: 0;
    content: "";
    background: rgba(0, 0, 0, .10);
    transition: background .25s ease;
}

.foto-galeria:hover,
.foto-galeria:focus {
    border-color: var(--cor-amarelo);
    box-shadow: 0 18px 35px rgba(0, 0, 0, .42);
    transform: translateY(-5px);
    background-size: 110%;
}

.foto-galeria:hover::before {
    background: rgba(0, 0, 0, .42);
}

/* Ícone de ampliar */

.icone-ampliar {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--cor-amarelo);
    color: #111;
    font-size: 1.3rem;
    opacity: 0;
    transform: translate(-50%, -40%) scale(.8);
    transition:
        opacity .25s ease,
        transform .25s ease;
}

.foto-galeria:hover .icone-ampliar {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* Descrição da foto */

.descricao-foto {
    flex-grow: 1;
    padding: 12px 6px 0;
    color: #c5c5c5;
    font-size: .95rem;
    line-height: 1.4;
    text-align: center;
}

/* ==================================================
   RESPONSIVO
================================================== */

@media (max-width: 991.98px) {

    .pagina-servico-interno {
        padding: 60px 0 75px;
    }

    .foto-principal-servico {
        width: 50%;
        margin-right: 25px;
    }

    .foto-galeria {
        height: 180px;
    }

}

@media (max-width: 767.98px) {

    .pagina-servico-interno {
        padding: 45px 0 65px;
    }

    .cabecalho-servico {
        margin-bottom: 32px;
    }

    .texto-servico {
        padding: 22px;
    }

    .foto-principal-servico {
        float: none;
        width: 100%;
        max-width: none;
        margin: 0 0 25px;
    }

    .descricao-servico {
        font-size: 1.02rem;
        line-height: 1.7;
    }

    .galeria-servico {
        margin-top: 50px;
    }

    .foto-galeria {
        height: 165px;
    }

}

@media (max-width: 575.98px) {

    .pagina-servico-interno {
        padding-top: 35px;
    }

    .titulo-servico {
        font-size: 2rem;
    }

    .conteudo-servico {
        border-radius: 15px;
    }

    .texto-servico {
        padding: 17px;
    }

    .foto-principal-servico {
        border-width: 2px;
        border-radius: 12px;
    }

    .foto-galeria {
        height: 140px;
    }

    .descricao-foto {
        font-size: .88rem;
    }

}




/* ==================================================
   PÁGINA DE CONTATO
================================================== */

.pagina-contato {
    min-height: 650px;
    padding: 70px 0 90px;
    background:
        radial-gradient(
            circle at top right,
            rgba(255, 230, 0, .06),
            transparent 35%
        ),
        var(--cor-preto);
}

/* Cabeçalho */

.cabecalho-contato {
    max-width: 780px;
    margin: 0 auto 48px;
    text-align: center;
}

.titulo-contato {
    padding: 0;
    margin: 0 0 15px;
    color: var(--cor-branco);
    font-family: var(--fonte-titulo);
    font-size: clamp(2.3rem, 5vw, 3.8rem);
    font-weight: 700;
    line-height: 1.05;
    text-transform: uppercase;
}

.cabecalho-contato .linha-titulo {
    width: 95px;
    height: 4px;
    margin: 0 auto 20px;
    background: var(--cor-amarelo);
}

.subtitulo-contato {
    max-width: 620px;
    margin: 0 auto;
    color: var(--cor-cinza-claro);
    font-size: 1.08rem;
    line-height: 1.7;
}

/* Linha com mapa e dados */

.linha-informacoes-contato {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 45px;
}

.linha-informacoes-contato > div {
    display: flex;
    margin-bottom: 30px;
}

.card-contato {
    width: 100%;
    padding: 28px;
    overflow: hidden;
    border: 1px solid #363636;
    border-radius: 20px;
    background: var(--cor-preto-2);
    box-shadow: 0 20px 45px rgba(0, 0, 0, .32);
    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}

.card-contato:hover {
    border-color: rgba(255, 230, 0, .65);
    box-shadow: 0 28px 55px rgba(0, 0, 0, .42);
    transform: translateY(-4px);
}

/* Cabeçalho dos cards */

.cabecalho-card-contato {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 24px;
}

.icone-contato {
    display: flex;
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--cor-amarelo);
    color: #111;
    font-size: 1.55rem;
}

.rotulo-contato {
    display: block;
    margin-bottom: 3px;
    color: var(--cor-amarelo);
    font-family: var(--fonte-titulo);
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cabecalho-card-contato h2 {
    padding: 0;
    margin: 0;
    color: var(--cor-branco);
    font-family: var(--fonte-titulo);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.05;
    text-transform: uppercase;
}

/* Mapa */

.card-mapa-contato {
    display: flex;
    flex-direction: column;
}

.mapa-contato {
    position: relative;
    min-height: 370px;
    flex-grow: 1;
    overflow: hidden;
    border: 1px solid #303030;
    border-radius: 14px;
    background: #080808;
}

.mapa-contato iframe {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 370px;
    border: 0 !important;
}

.mapa-contato > div {
    width: 100%;
    height: 100%;
}

/* Dados da empresa */

.card-dados-contato {
    height: 100%;
}

.dados-contato {
    color: #d0d0d0;
    font-size: 1rem;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.dados-contato p {
    padding: 13px 0;
    margin: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.dados-contato p:last-child {
    border-bottom: 0;
}

.dados-contato strong,
.dados-contato b {
    color: var(--cor-branco);
}

.dados-contato a {
    color: var(--cor-amarelo);
    font-weight: 700;
    transition: color .2s ease;
}

.dados-contato a:hover {
    color: var(--cor-branco);
}

.dados-contato i,
.dados-contato .fa {
    width: 27px;
    color: var(--cor-amarelo);
    text-align: center;
}

/* Bloco do formulário */

.bloco-formulario-contato {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 5vw, 52px);
    border: 1px solid rgba(255, 230, 0, .35);
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 230, 0, .10),
            transparent 42%
        ),
        var(--cor-preto-2);
    box-shadow: 0 28px 60px rgba(0, 0, 0, .38);
}

.bloco-formulario-contato::before {
    position: absolute;
    top: -110px;
    right: -90px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    content: "";
    background: rgba(255, 230, 0, .10);
}

.bloco-formulario-contato > * {
    position: relative;
    z-index: 1;
}

.cabecalho-formulario {
    max-width: 700px;
    margin: 0 auto 34px;
    text-align: center;
}

.selo-formulario {
    display: inline-flex;
    margin-bottom: 15px;
    padding: 7px 14px;
    border-radius: 999px;
    background: var(--cor-amarelo);
    color: #111;
    font-family: var(--fonte-titulo);
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cabecalho-formulario h2 {
    padding: 0;
    margin: 0 0 12px;
    color: var(--cor-branco);
    font-family: var(--fonte-titulo);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    text-transform: uppercase;
}

.cabecalho-formulario p {
    margin: 0;
    color: var(--cor-cinza-claro);
    font-size: 1.04rem;
    line-height: 1.6;
}

/* Mensagens de validação */

.alerta-validacao {
    max-width: 900px;
    padding: 16px 18px;
    margin: 0 auto 25px;
    border: 1px solid rgba(230, 57, 70, .45);
    border-radius: 11px;
    background: rgba(230, 57, 70, .10);
    color: #ff7883;
}

.alerta-validacao p {
    margin: 0 0 5px;
}

.alerta-validacao p:last-child {
    margin-bottom: 0;
}

/* Formulário */

.formulario-contato {
    max-width: 920px;
    margin: 0 auto;
}

.linha-campos-contato {
    display: flex;
    flex-wrap: wrap;
}

.campo-formulario {
    margin-bottom: 23px;
}

.campo-formulario label {
    display: block;
    margin-bottom: 9px;
    color: var(--cor-branco);
    font-family: var(--fonte-texto);
    font-size: .98rem;
    font-weight: 700;
}

.formulario-contato .form-control {
    display: block;
    width: 100%;
    height: 52px;
    padding: 13px 15px;
    border: 1px solid #414141;
    border-radius: 11px;
    outline: none;
    background: #101010;
    color: var(--cor-branco);
    font-family: var(--fonte-texto);
    font-size: 1rem;
    box-shadow: none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.formulario-contato textarea.form-control {
    height: auto;
    min-height: 170px;
    resize: vertical;
}

.formulario-contato .form-control:focus {
    border-color: var(--cor-amarelo);
    background: #151515;
    box-shadow: 0 0 0 3px rgba(255, 230, 0, .13);
}

.formulario-contato .form-control::placeholder {
    color: #777;
}

/* Corrige preenchimento automático do navegador */

.formulario-contato .form-control:-webkit-autofill,
.formulario-contato .form-control:-webkit-autofill:hover,
.formulario-contato .form-control:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--cor-branco);
    box-shadow: 0 0 0 1000px #101010 inset;
    transition: background-color 9999s ease-in-out 0s;
}

/* Botão */

.area-botao-contato {
    margin-bottom: 0;
    text-align: center;
}

.btn-enviar-contato {
    display: inline-flex;
    min-width: 235px;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 13px 28px;
    border: 0;
    border-radius: 11px;
    background: var(--cor-amarelo);
    color: #111;
    font-family: var(--fonte-titulo);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        background .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.btn-enviar-contato:hover,
.btn-enviar-contato:focus {
    background: #ffed26;
    color: #111;
    box-shadow: 0 14px 28px rgba(0, 0, 0, .30);
    transform: translateY(-2px);
}

.btn-enviar-contato i {
    transition: transform .2s ease;
}

.btn-enviar-contato:hover i {
    transform: translateX(4px);
}

/* Responsividade */

@media (max-width: 767.98px) {

    .pagina-contato {
        padding: 45px 0 65px;
    }

    .cabecalho-contato {
        margin-bottom: 35px;
    }

    .linha-informacoes-contato {
        margin-bottom: 20px;
    }

    .card-contato {
        padding: 22px;
        border-radius: 16px;
    }

    .mapa-contato,
    .mapa-contato iframe {
        min-height: 310px;
    }

    .bloco-formulario-contato {
        padding: 28px 20px;
        border-radius: 18px;
    }

}

@media (max-width: 575.98px) {

    .titulo-contato {
        font-size: 2.2rem;
    }

    .cabecalho-card-contato {
        align-items: flex-start;
    }

    .icone-contato {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        font-size: 1.3rem;
    }

    .cabecalho-card-contato h2 {
        font-size: 1.5rem;
    }

    .mapa-contato,
    .mapa-contato iframe {
        min-height: 270px;
    }

    .btn-enviar-contato {
        width: 100%;
        min-width: 0;
    }

}


