    :root {
        --azul-escuro: #050d18;
        --azul-medio: #0a1d35;
        --azul-claro: #102b4d;
        --azul-destaque: #2d6cb5;
        --azul-hover: #6ea8ff;
        --cinza: #f4f7fb;
        --branco: #ffffff;
    }

    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: Arial, Helvetica, sans-serif;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        background: var(--cinza);
        color: #333;
        line-height: 1.6;
    }

/* =========================
  menu
========================= */
    nav {
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 16px 8%;
        background: rgba(5, 13, 24, 0.95);
        backdrop-filter: blur(6px);
        z-index: 1000;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .logo-area {
        display: flex;
        align-items: center;
        gap: 18px;
    }

    .logo {
        width: 58px;
        height: 58px;
        object-fit: contain;
        background: transparent;
        padding: 0;
        border-radius: 10%;
        box-shadow: none;
        transition: 0.3s;
    }

    .logo:hover {
        transform: scale(1.05);
    }

    .logo-text h2 {
        color: #ffffff;
        font-size: 1.7rem;
        letter-spacing: 2px;
        font-weight: 700;
    }

    .logo-text p {
        color: #9fb8d9;
        font-size: 0.78rem;
        letter-spacing: 4px;
    }

    nav ul {
        display: flex;
        list-style: none;
        gap: 30px;
    }

    nav ul li a {
        color: white;
        text-decoration: none;
        font-weight: bold;
        transition: 0.3s;
    }

    nav ul li a:hover {
        color: var(--azul-hover);
    }

    .menu-toggle {
        display: none;
        flex-direction: column;
        gap: 6px;
        cursor: pointer;
        background: transparent;
        border: none;
        z-index: 1001;
    }

    .menu-toggle .bar {
        width: 30px;
        height: 3px;
        background-color: var(--branco);
        border-radius: 5px;
        transition: all 0.3s ease;
    }

    .menu-toggle.active .bar:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }

    .menu-toggle.active .bar:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle.active .bar:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

/* =========================
   header
========================= */
    header {
        height: 55vh;
        background: linear-gradient(rgba(5, 13, 24, 0.75), rgba(10, 29, 53, 0.8)), url('https://images.unsplash.com/photo-1474487548417-781cb71495f3?q=80&w=1600&auto=format&fit=crop');
        background-size: cover;
        background-position: center;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: 100px 20px 20px 20px;
    }

    .hero {
        max-width: 850px;
        color: white;
    }

    .hero h1 {
        font-size: 3rem;
        margin-bottom: 10px;
        line-height: 1.2;
        letter-spacing: 1px;
    }

    .hero p {
        font-size: 1.1rem;
        color: #c8d6ea;
        max-width: 650px;
        margin: 0 auto;
    }

/* =========================
   contato
========================= */

    .contato-wrapper {
        max-width: 1200px;
        margin: 50px auto 20px auto;
        padding: 0 4%;
    }

    .cards-contato {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
        margin-bottom: 40px;
    }

    .card {
        background: var(--branco);
        padding: 25px;
        border-radius: 8px;
        box-shadow: 0 5px 15px rgba(5, 13, 24, 0.05);
        text-align: left;
    }

    .card h3 {
        font-size: 1.1rem;
        color: var(--azul-escuro);
        margin-bottom: 8px;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .card p, .card a {
        font-size: 0.95rem;
        color: #555;
        text-decoration: none;
    }    

    .card a:hover {
        color: var(--azul-destaque);
    }

    /* Container Lado a Lado (Formulário + Mapa) */
    .contato-container {
        max-width: 1200px;
        margin: 0 auto 60px auto;
        padding: 0 4%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        align-items: stretch;
    }

    /* Formulário */
    .form-contato {
        background: var(--branco);
        padding: 40px;
        border-radius: 8px;
        box-shadow: 0 5px 15px rgba(5, 13, 24, 0.05);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .form-contato h2 {
        font-size: 1.8rem;
        color: var(--azul-escuro);
        margin-bottom: 25px;
    }

    .form-grupo {
        margin-bottom: 20px;
    }

    .form-grupo label {
        display: block;
        font-size: 0.9rem;
        font-weight: bold;
        color: var(--azul-escuro);
        margin-bottom: 6px;
    }

    .form-grupo input, 
    .form-grupo textarea {
        width: 100%;
        padding: 12px 15px;
        border: 1px solid #ccc;
        border-radius: 6px;
        font-size: 1rem;
        background: #fcfdfe;
        outline: none;
        transition: 0.3s;
    }

    .form-grupo input:focus, 
    .form-grupo textarea:focus {
        border-color: var(--azul-destaque);
        box-shadow: 0 0 0 3px rgba(45, 108, 181, 0.1);
    }

    .form-contato textarea {
        height: 120px;
        resize: vertical;
    }

    .btn-submit {
        width: 100%;
        background: var(--azul-destaque);
        color: var(--branco);
        border: none;
        padding: 14px;
        border-radius: 6px;
        font-size: 1rem;
        font-weight: bold;
        cursor: pointer;
        transition: 0.3s;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    }

    .btn-submit:hover {
        background: var(--azul-hover);
        transform: translateY(-2px);
    }

    /* Coluna da Direita: Mapa */
    .mapa-area {
        background: var(--branco);
        padding: 25px;
        border-radius: 8px;
        box-shadow: 0 5px 15px rgba(5, 13, 24, 0.05);
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .mapa-area h3 {
        font-size: 1.8rem;
        color: var(--azul-escuro);
        margin-bottom: 25px;
    }

    .mapa-wrapper {
        position: relative;
        flex-grow: 1;
        min-height: 350px;
        border-radius: 6px;
        overflow: hidden;
    }

    .mapa-wrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }


/* =========================
   rodapé
========================= */

    footer {
        background: #030912;
        color: #c8d6ea;
        text-align: center;
        padding: 40px 20px;
    }

    footer p {
        margin: 8px 0;
    }

/* =========================
   responsivo
========================= */

@media(max-width: 992px) {
    nav {

        padding: 16px 5%;

    }


  /* ==================================================
      Botão das 3 barras 
=====================================================*/


    .menu-toggle {

        display: flex;

    }

  /* ====================================================
    lista de links em menu suspenso
=======================================================*/

    nav ul {

        position: fixed;

        top: 80px;

        right: -100%;

        width: 250px;

        height: calc(100vh - 80px);

        background: rgba(5, 13, 24, 0.98);

        backdrop-filter: blur(10px);

        flex-direction: column;

        justify-content: flex-start;

        padding: 40px 30px;

        gap: 25px;

        transition: right 0.4s cubic-bezier(0.1, 0.8, 0.3, 1);	 /* Animação suave de entrada */

        border-left: 1px solid rgba(255, 255, 255, 0.08);

    }

    nav ul.active {

        right: 0;

    }

    nav ul li {

        width: 100%;

    }


    nav ul li a {

        font-size: 1.2rem;

        display: block;

        padding: 10px 0;

        border-bottom: 1px solid rgba(255, 255, 255, 0.05);

    }

    .contato-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .mapa-wrapper {
        min-height: 350px;
    }

    header {
        height: auto;
        padding: 140px 20px 50px 20px;
    }

    .hero h1 {
        font-size: 2.2rem;
    }

    .hero p {
        font-size: 1rem;
    }
}

@media(max-width: 992px) {
    .cards-contato {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .form-contato {
        padding: 25px 20px;
    }

    .logo-text h2 {
        font-size: 1.2rem;
    }

    .logo-text p {
        font-size: 0.65rem;
        letter-spacing: 1px;
    }
}
