:root {

    --cdc-blue: #1264e3;
    --cdc-blue-dark: #0757d5;

    --cdc-navy: #071f3d;
    --cdc-navy-light: #103b69;

    --cdc-green: #18a66a;

    --cdc-yellow: #ffc928;

    --cdc-coral: #ff6b57;

    --cdc-purple: #7756ff;

    --cdc-sky: #eaf3ff;

    --cdc-mint: #e9f8f1;

    --cdc-white: #ffffff;

    --cdc-bg: #f7f9fc;

    --cdc-text: #10233e;

    --cdc-muted: #66758a;

    --cdc-border:
        rgba(7, 31, 61, 0.10);

    --container: 1440px;

    --radius-sm: 14px;

    --radius-md: 22px;

    --radius-lg: 32px;

}


/* =========================================================
   RESET
   ========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {

    margin: 0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    color: var(--cdc-text);

    background: var(--cdc-bg);

    -webkit-font-smoothing:
        antialiased;

}


img {
    display: block;
    max-width: 100%;
}


a {
    color: inherit;
    text-decoration: none;
}


button,
input,
textarea,
select {
    font: inherit;
}


button {
    cursor: pointer;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.container {

    width:
        min(
            calc(100% - 40px),
            var(--container)
        );

    margin-inline: auto;

}


/* =========================================================
   ACESSIBILIDADE
   ========================================================= */

:focus-visible {

    outline:
        3px solid
        var(--cdc-yellow);

    outline-offset: 3px;

}


::selection {

    background:
        var(--cdc-yellow);

    color:
        var(--cdc-navy);

}


/* =========================================================
   HEADER
   ========================================================= */

.site-header {
    position: sticky;
    top: 0;

    z-index: 1000;

    padding: 14px 0;

    background:
        var(--cdc-white);

    border-bottom:
        1px solid
        var(--cdc-border);

}


.header-inner {

    min-height: 72px;

    display: flex;

    align-items: center;

    gap: 24px;

}


/* =========================================================
   LOGOTIPO
   ========================================================= */

.cdc-brand {

    flex: 0 0 auto;

    display: flex;

    align-items: center;

    min-width: 175px;

}


.cdc-logo {

    width: 150px;

    height: auto;

    display: block;

}


/* =========================================================
   MENU PRINCIPAL
   ========================================================= */

.main-nav {

    margin-left: auto;

    display: flex;

    align-items: center;

    gap: 4px;

}


.main-nav > a,
.nav-solutions {

    min-height: 44px;

    display: inline-flex;

    align-items: center;

    padding:
        0 12px;

    border: 0;

    border-radius: 12px;

    background:
        transparent;

    color:
        var(--cdc-text);

    font-size: 13px;

    font-weight: 700;

    white-space: nowrap;

    transition:
        background .2s ease,
        color .2s ease;

}


.main-nav > a:hover,
.nav-solutions:hover {

    background:
        var(--cdc-sky);

    color:
        var(--cdc-blue);

}


/* =========================================================
   BOTÃO SOLUÇÕES
   ========================================================= */

.nav-dropdown {
    position: relative;
}


.nav-solutions {
    gap: 7px;
}


.nav-solutions span {

    width: 20px;

    height: 20px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background:
        var(--cdc-blue);

    color:
        white;

    font-size: 15px;

    line-height: 1;

    transition:
        transform .2s ease;

}


.nav-solutions[aria-expanded="true"] span {

    transform:
        rotate(45deg);

}


/* =========================================================
   MEGA MENU
   ========================================================= */

.mega-menu {

    position: absolute;

    top:
        calc(100% + 14px);

    left: 50%;

    width: 690px;

    transform:
        translateX(-50%);

    padding: 22px;

    background:
        rgba(255, 255, 255, .99);

    border:
        1px solid
        var(--cdc-border);

    border-radius: 24px;

    box-shadow:
        0 24px 70px
        rgba(7, 31, 61, .16);

}


.mega-menu::before {

    content: "";

    position: absolute;

    top: -8px;

    left: 50%;

    width: 16px;

    height: 16px;

    transform:
        translateX(-50%)
        rotate(45deg);

    background:
        white;

    border-left:
        1px solid
        var(--cdc-border);

    border-top:
        1px solid
        var(--cdc-border);

}


.mega-menu-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 10px;

}


.mega-column {

    display: grid;

    grid-template-columns:
        38px 1fr;

    gap: 11px;

    padding: 15px 12px;

    border-radius: 18px;

    transition:
        background .2s ease;

}


.mega-column:hover {

    background:
        #f7f9fc;

}


.mega-column-icon {

    width: 36px;

    height: 36px;

    display: grid;

    place-items: center;

    border-radius: 12px;

    color: white;

    font-size: 14px;

    font-weight: 800;

}


.mega-connect
.mega-column-icon {

    background:
        var(--cdc-blue);

}


.mega-do
.mega-column-icon {

    background:
        var(--cdc-coral);

}


.mega-grow
.mega-column-icon {

    background:
        var(--cdc-green);

}


.mega-category {

    display: block;

    margin-bottom: 8px;

    color:
        var(--cdc-navy);

    font-size: 11px;

    font-weight: 900;

    letter-spacing:
        .055em;

}


.mega-column-content a {

    display: block;

    padding: 5px 0;

    color:
        var(--cdc-muted);

    font-size: 12px;

    font-weight: 600;

    transition:
        color .2s ease,
        transform .2s ease;

}


.mega-column-content a:hover {

    color:
        var(--cdc-blue);

    transform:
        translateX(3px);

}


.mega-menu-footer {

    margin-top: 14px;

    padding:
        15px 14px 2px;

    border-top:
        1px solid
        var(--cdc-border);

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 20px;

}


.mega-menu-footer span {

    color:
        var(--cdc-muted);

    font-size: 12px;

}


.mega-menu-footer a {

    color:
        var(--cdc-blue);

    font-size: 12px;

    font-weight: 800;

}


/* =========================================================
   BOTÕES DO HEADER
   ========================================================= */

.header-actions {

    display: flex;

    align-items: center;

    gap: 9px;

}


.header-btn {

    min-height: 46px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    padding:
        0 18px;

    border-radius: 15px;

    color: white;

    font-size: 12px;

    font-weight: 800;

    white-space: nowrap;

    transition:
        transform .2s ease,
        box-shadow .2s ease;

}


.header-btn:hover {

    transform:
        translateY(-2px);

}


.header-btn-find {

    background:
        linear-gradient(
            135deg,
            var(--cdc-green),
            #14bb72
        );

    box-shadow:
        0 8px 20px
        rgba(24, 166, 106, .20);

}


.header-btn-operator {

    background:
        linear-gradient(
            135deg,
            var(--cdc-blue),
            #087cff
        );

    box-shadow:
        0 8px 20px
        rgba(18, 100, 227, .20);

}


/* =========================================================
   BLOCO TEMPORÁRIO DA HOMEPAGE
   ========================================================= */

.site-test {

    min-height:
        calc(100vh - 101px);

    display: grid;

    place-items: center;

    padding:
        40px 20px;

    background:
        linear-gradient(
            135deg,
            var(--cdc-navy),
            #0d4c82
        );

    color:
        var(--cdc-white);

    text-align: center;

}


.site-test-inner {

    max-width: 850px;

}


.site-test small {

    display: inline-block;

    margin-bottom: 15px;

    color:
        var(--cdc-yellow);

    font-weight: 800;

    letter-spacing:
        .08em;

}


.site-test h1 {

    margin:
        0 0 18px;

    font-size:
        clamp(
            38px,
            7vw,
            78px
        );

    line-height:
        .98;

    letter-spacing:
        -.045em;

}


.site-test p {

    max-width:
        620px;

    margin:
        0 auto;

    font-size:
        clamp(
            16px,
            2vw,
            20px
        );

    line-height:
        1.6;

    color:
        rgba(
            255,
            255,
            255,
            .78
        );

}


/* =========================================================
   RESPONSIVIDADE INICIAL
   ========================================================= */

@media
(max-width: 1220px) {

    .main-nav {
        display: none;
    }

    .header-actions {
        margin-left: auto;
    }

}


@media
(max-width: 720px) {

    .site-header {
        padding: 10px 0;
    }

    .header-inner {
        min-height: 64px;
    }

    .cdc-brand {
        min-width: 0;
    }

    .cdc-logo {
        width: 125px;
    }

    .header-actions {
        display: none;
    }

}


/* =========================================================
   REDUÇÃO DE MOVIMENTO
   ========================================================= */

@media
(prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {

        scroll-behavior:
            auto !important;

        transition-duration:
            .01ms !important;

    }

}