:root{

    --primary:#243452;
    --secondary:#2C7EC0;
    --green:#66B447;
    --light:#f6f8fb;
    --dark:#172033;
    --text:#5f6675;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Inter',sans-serif;
    background:#fff;
    color:var(--dark);
}

.container{

    width:min(1200px,92%);
    margin:auto;

}

img{

    max-width:100%;

}

a{

    text-decoration:none;

}

button{

    cursor:pointer;

}
/* ==========================================================
   EFICIENTE GRUPO SOLUÇÕES
   Coming Soon Website
   Style.css
========================================================== */

:root{

    --primary:#243452;
    --primary-light:#2d4368;
    --secondary:#2C7EC0;
    --accent:#4CB5F5;

    --green:#63B446;
    --green-dark:#4E9C33;

    --white:#FFFFFF;
    --light:#F5F7FA;
    --border:#E7EBF2;

    --dark:#172033;
    --text:#5E6678;

    --radius:18px;

    --shadow:
    0 15px 45px rgba(0,0,0,.08);

    --transition:.35s ease;

}

/* ==========================================================
   RESET
========================================================== */

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Inter',sans-serif;
    background:var(--light);
    color:var(--dark);
    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

}

img{

    display:block;
    max-width:100%;

}

a{

    text-decoration:none;

}

button{

    border:none;
    cursor:pointer;
    font-family:inherit;

}

input{

    font-family:inherit;

}

ul{

    list-style:none;

}

.container{

    width:min(1200px,92%);
    margin:auto;

}

/* ==========================================================
   HEADER
========================================================== */

header{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    z-index:999;

    backdrop-filter:blur(18px);

    background:

    rgba(255,255,255,.82);

    border-bottom:

    1px solid rgba(0,0,0,.04);

    transition:var(--transition);

}

.navbar{

    display:flex;

    align-items:center;

    justify-content:space-between;

    height:85px;

}

/* ==========================================================
   LOGO
========================================================== */

.logo{

    display:flex;

    align-items:center;

    gap:12px;

}

.logo img{

    height:54px;

    width:auto;

}

.logo h2{

    font-size:20px;

    color:var(--primary);

    font-weight:700;

    line-height:1.2;

}

/* ==========================================================
   MENU
========================================================== */

nav{

    display:flex;

    gap:40px;

}

nav a{

    color:var(--primary);

    font-weight:600;

    font-size:15px;

    position:relative;

    transition:var(--transition);

}

nav a:hover{

    color:var(--secondary);

}

nav a::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-8px;

    width:0;

    height:2px;

    background:

    var(--secondary);

    transition:.3s;

}

nav a:hover::after{

    width:100%;

}

/* ===================================
   LANGUAGE
=================================== */

.language{

    display:flex;

    gap:12px;

}

.lang-btn{

    display:flex;

    align-items:center;

    gap:10px;

    padding:10px 16px;

    background:#fff;

    border:1px solid var(--border);

    border-radius:12px;

    transition:.35s;

    font-weight:700;

    color:var(--primary);

}

.lang-btn img{

    width:24px;

    height:24px;

    border-radius:50%;

    object-fit:cover;

}

.lang-btn:hover{

    transform:translateY(-2px);

    border-color:var(--secondary);

    box-shadow:0 10px 20px rgba(0,0,0,.08);

}

.lang-btn.active{

    background:linear-gradient(
        135deg,
        var(--secondary),
        var(--primary)
    );

    color:#fff;

    border-color:transparent;

}

/* ==========================================================
   UTILITIES
========================================================== */

.section{

    padding:120px 0;

}

.text-center{

    text-align:center;

}

.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}
.mt-4{margin-top:40px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}

/* ==========================================================
   SCROLLBAR
========================================================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#EEF2F6;

}

::-webkit-scrollbar-thumb{

    background:

    var(--secondary);

    border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

    background:

    var(--primary);

}
/* ==========================================================
   HERO SECTION
========================================================== */

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    padding:140px 0 80px;

    background:
    linear-gradient(
    135deg,
    #F7FAFD 0%,
    #EDF3F8 50%,
    #F8FBFD 100%);

}

/* ==========================================================
   BACKGROUND EFFECTS
========================================================== */

.hero::before{

    content:"";

    position:absolute;

    width:900px;

    height:900px;

    top:-420px;

    right:-320px;

    border-radius:50%;

    background:

    radial-gradient(circle,
    rgba(44,126,192,.16),
    transparent 70%);

    z-index:0;

}

.hero::after{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    bottom:-300px;

    left:-180px;

    border-radius:50%;

    background:

    radial-gradient(circle,
    rgba(99,180,70,.10),
    transparent 70%);

    z-index:0;

}

/* ==========================================================
   GRID
========================================================== */

.hero-grid{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:

    1.05fr
    .95fr;

    gap:80px;

    align-items:center;

}

/* ==========================================================
   CONTENT
========================================================== */

.hero-content{

    position:relative;

}

.subtitle{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    margin-bottom:30px;

    border-radius:50px;

    background:#ffffff;

    border:1px solid var(--border);

    color:var(--secondary);

    font-size:14px;

    font-weight:700;

    box-shadow:var(--shadow);

}

.subtitle::before{

    content:"";

    width:10px;

    height:10px;

    border-radius:50%;

    background:var(--green);

}

/* ==========================================================
   TITLE
========================================================== */

.hero h1{

    font-size:76px;

    line-height:1.05;

    color:var(--primary);

    font-weight:800;

    letter-spacing:-2px;

    margin-bottom:24px;

}

.hero h1 span{

    background:

    linear-gradient(
    90deg,
    var(--secondary),
    var(--green));

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

}

/* ==========================================================
   DESCRIPTION
========================================================== */

.description{

    font-size:20px;

    line-height:1.9;

    color:var(--text);

    max-width:620px;

}

.divider{

    width:120px;

    height:5px;

    margin:35px 0;

    border-radius:30px;

    background:

    linear-gradient(
    90deg,
    var(--secondary),
    var(--green));

}

.small{

    font-size:16px;

    color:var(--text);

    margin-bottom:45px;

}

/* ==========================================================
   SERVICES
========================================================== */

.services{

    display:grid;

    grid-template-columns:

    repeat(4,1fr);

    gap:18px;

    margin-bottom:50px;

}

.service{

    background:#fff;

    border-radius:18px;

    padding:26px 15px;

    text-align:center;

    border:1px solid var(--border);

    transition:.35s;

    box-shadow:

    0 10px 25px rgba(0,0,0,.04);

}

.service:hover{

    transform:translateY(-8px);

    box-shadow:

    0 18px 35px rgba(0,0,0,.09);

}

.service i{

    font-size:34px;

    color:var(--secondary);

    margin-bottom:16px;

}

.service p{

    font-weight:700;

    color:var(--primary);

    font-size:15px;

}

/* ==========================================================
   HERO IMAGE
========================================================== */

.hero-image{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-image::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:

    radial-gradient(circle,
    rgba(44,126,192,.20),
    transparent 70%);

    z-index:-1;

}

.hero-image img{

    width:100%;

    max-width:560px;

    border-radius:28px;

    overflow:hidden;

    object-fit:cover;

    box-shadow:

    0 30px 70px rgba(0,0,0,.18);

    transition:.45s;

}

.hero-image img:hover{

    transform:translateY(-10px) scale(1.02);

}

/* ==========================================================
   DECORATIVE ELEMENTS
========================================================== */

.hero-content::before{

    content:"";

    position:absolute;

    width:90px;

    height:90px;

    border:2px dashed rgba(44,126,192,.15);

    border-radius:50%;

    top:-40px;

    left:-40px;

}

.hero-content::after{

    content:"";

    position:absolute;

    width:22px;

    height:22px;

    background:var(--green);

    border-radius:50%;

    right:40px;

    bottom:-20px;

    opacity:.25;

}
/* ==========================================================
   LEAD FORM
========================================================== */

#leadForm{

    display:flex;
    flex-wrap:wrap;
    gap:15px;

    margin-top:20px;
    margin-bottom:25px;

    max-width:620px;

}

#leadForm input{

    flex:50px;

    min-width:260px;

    height:60px;

    padding:0 22px;

    border:1px solid var(--border);

    border-radius:14px;

    background:#fff;

    font-size:16px;

    color:var(--dark);

    transition:var(--transition);

    box-shadow:
    0 10px 25px rgba(0,0,0,.04);

}

#leadForm input:focus{

    outline:none;

    border-color:var(--secondary);

    box-shadow:
    0 0 0 4px rgba(44,126,192,.12);

}

#leadForm input::placeholder{

    color:#99A2B2;

}

/* ==========================================================
   BUTTON
========================================================== */

#leadForm button{

    height:60px;

    padding:0 36px;

    border-radius:14px;

    font-size:16px;

    font-weight:700;

    color:#fff;

    background:

    linear-gradient(
    135deg,
    var(--secondary),
    var(--primary));

    transition:var(--transition);

    box-shadow:

    0 18px 35px rgba(44,126,192,.28);

}

#leadForm button:hover{

    transform:translateY(-3px);

    box-shadow:

    0 24px 45px rgba(44,126,192,.35);

}

/* ==========================================================
   SUCCESS MESSAGE
========================================================== */

#message{

    margin-top:18px;

    font-size:15px;

    font-weight:600;

    color:var(--green);

    min-height:24px;

}

/* ==========================================================
   CONTACT
========================================================== */

.contact{

    display:flex;

    align-items:center;

    gap:12px;

    margin-top:30px;

}

.contact p{

    display:flex;

    align-items:center;

    gap:12px;

    color:var(--text);

    font-size:15px;

    font-weight:600;

}

.contact i{

    width:44px;

    height:44px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:

    linear-gradient(
    135deg,
    var(--secondary),
    var(--green));

    color:#fff;

    font-size:18px;

}

/* ==========================================================
   FOOTER
========================================================== */

footer{

    background:var(--primary);

    color:#fff;

    padding:45px 0;

}

.footer-grid{

    display:grid;

    grid-template-columns:

    repeat(4,1fr);

    gap:25px;

}

.footer-grid div{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:20px;

    border-radius:16px;

    background:

    rgba(255,255,255,.05);

    transition:var(--transition);

}

.footer-grid div:hover{

    background:

    rgba(255,255,255,.12);

    transform:translateY(-5px);

}

.footer-grid i{

    font-size:22px;

    color:var(--accent);

}

.footer-grid span,
.footer-grid div{

    font-size:15px;

    font-weight:600;

}

/* ==========================================================
   GLASS CARD
========================================================== */

.glass{

    background:rgba(255,255,255,.78);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.45);

    border-radius:22px;

    box-shadow:

    0 25px 55px rgba(0,0,0,.08);

}

/* ==========================================================
   ANIMATIONS
========================================================== */

.fade-up{

    animation:fadeUp .8s ease both;

}

.fade-delay-1{

    animation-delay:.2s;

}

.fade-delay-2{

    animation-delay:.4s;

}

.fade-delay-3{

    animation-delay:.6s;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes pulse{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.05);

    }

    100%{

        transform:scale(1);

    }

}

.pulse{

    animation:pulse 3s infinite;

}

/* ==========================================================
   HELPERS
========================================================== */

.shadow{

    box-shadow:var(--shadow);

}

.rounded{

    border-radius:var(--radius);

}

.bg-white{

    background:#fff;

}

.text-primary{

    color:var(--primary);

}

.text-secondary{

    color:var(--secondary);

}

.text-green{

    color:var(--green);

}
/* ==========================================================
   RESPONSIVE
========================================================== */

/* Notebook */

@media (max-width:1200px){

.hero-grid{

    grid-template-columns:1fr;
    gap:60px;

}

.hero-content{

    text-align:center;

}

.hero-image{

    order:-1;

}

.hero-image img{

    max-width:650px;

    margin:auto;

}

.services{

    grid-template-columns:repeat(2,1fr);

}

#leadForm{

    justify-content:center;

}

.divider{

    margin:35px auto;

}

.description,
.small{

    margin-left:auto;
    margin-right:auto;

}

.contact{

    justify-content:center;

}

}

/* Tablet */

@media (max-width:992px){

header{

    position:relative;

}

.navbar{

    flex-direction:column;

    height:auto;

    padding:25px 0;

    gap:25px;

}

nav{

    gap:22px;

    flex-wrap:wrap;

    justify-content:center;

}

.hero{

    padding:80px 0;

}

.hero h1{

    font-size:58px;

}

.description{

    font-size:18px;

}

.footer-grid{

    grid-template-columns:repeat(2,1fr);

}

}

/* Mobile */

@media (max-width:768px){

.hero{

    padding:60px 0;

}

.hero-grid{

    gap:45px;

}

.hero h1{

    font-size:42px;

    line-height:1.1;

}

.subtitle{

    font-size:13px;

}

.description{

    font-size:16px;

    line-height:1.7;

}

.small{

    font-size:15px;

}

.services{

    grid-template-columns:1fr 1fr;

    gap:15px;

}

.service{

    padding:22px 15px;

}

.service i{

    font-size:28px;

}

#leadForm{

    flex-direction:column;

}

#leadForm input{

    width:100%;

    min-width:100%;

}

#leadForm button{

    width:100%;

}

.hero-image img{

    border-radius:20px;

}

.footer-grid{

    grid-template-columns:1fr;

}

}

/* Small Mobile */

@media (max-width:540px){

.container{

    width:94%;

}

.logo img{

    height:42px;

}

nav{

    display:none;

}

.language{

    width:100%;

    justify-content:center;

}

.language button{

    flex:1;

}

.hero{

    min-height:auto;

}

.hero h1{

    font-size:34px;

}

.description{

    font-size:15px;

}

.services{

    grid-template-columns:1fr;

}

.service{

    display:flex;

    align-items:center;

    justify-content:flex-start;

    gap:18px;

    text-align:left;

}

.service i{

    margin:0;

}

.contact{

    justify-content:flex-start;

}

.contact p{

    flex-wrap:wrap;

    word-break:break-word;

}

.hero-content::before,
.hero-content::after,
.hero::before,
.hero::after{

    display:none;

}

}

/* ==========================================================
   LOADING
========================================================== */

body.loaded .hero-content{

    animation:fadeUp .8s ease;

}

body.loaded .hero-image{

    animation:fadeUp 1s ease;

}

/* ==========================================================
   HOVER EFFECTS
========================================================== */

.logo img{

    transition:.4s;

}

.logo img:hover{

    transform:scale(1.05);

}

.hero-image img{

    transition:
    transform .5s,
    box-shadow .5s;

}

.hero-image img:hover{

    transform:translateY(-8px);

    box-shadow:
    0 35px 80px rgba(0,0,0,.18);

}

.service{

    transition:
    transform .35s,
    box-shadow .35s,
    border-color .35s;

}

.service:hover{

    border-color:var(--secondary);

}

/* ==========================================================
   SELECTION
========================================================== */

::selection{

    background:var(--secondary);

    color:#fff;

}

/* ==========================================================
   FOCUS
========================================================== */

button:focus,
input:focus{

    outline:none;

}

/* ==========================================================
   PRINT
========================================================== */

@media print{

header,
footer,
.language,
#leadForm{

    display:none;

}

.hero{

    padding:0;

    background:#fff;

}

body{

    background:#fff;

}

}