/*==================================================
FROST AVAC
STYLE.CSS
==================================================*/

/*==========================
RESET
==========================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#ffffff;
    color:#222;
    line-height:1.7;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    color:inherit;
}

ul{
    list-style:none;
}

button,
input,
textarea{
    font-family:inherit;
    border:none;
    outline:none;
}

section{
    padding:100px 0;
    position:relative;
}

/*==========================
ROOT
==========================*/

:root{

    --primary:#0D6EFD;
    --primary-dark:#084298;
    --secondary:#00B4D8;
    --dark:#101820;
    --light:#ffffff;
    --gray:#f5f7fa;
    --text:#555;
    --border:#e4e7eb;

    --radius:16px;

    --shadow:
    0 10px 30px rgba(0,0,0,.08);

    --transition:.35s ease;

}

/*==========================
CONTAINER
==========================*/

.container{

    width:min(1200px,90%);
    margin:auto;

}

/*==========================
SECTION TITLE
==========================*/

.section-title{

    text-align:center;
    margin-bottom:70px;

}

.section-title span{

    color:var(--primary);

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:14px;

}

.section-title h2{

    margin-top:12px;

    font-size:42px;

    color:var(--dark);

    font-weight:700;

}

/*==========================
TOP BAR
==========================*/

.top-bar{

    background:var(--dark);

    color:#fff;

    font-size:14px;

    padding:10px 0;

}

.top-bar-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.top-left{

    display:flex;

    gap:30px;

}

.top-left a{

    color:#fff;

    transition:.3s;

}

.top-left a:hover{

    color:var(--secondary);

}

.top-right{

    opacity:.9;

}

/*==========================
HEADER
==========================*/

header{

    position:absolute;

    width:100%;

    top:40px;

    left:0;

    z-index:999;

    transition:background var(--transition), box-shadow var(--transition), top var(--transition);

}

header .container{

    position:relative;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 30px;

    border-radius:18px;

    backdrop-filter:blur(18px);

    background:rgba(5,22,42,.82);

    border:1px solid rgba(166,220,255,.2);

}

header.header-scroll{

    position:fixed;

    top:0;

    background:rgba(5,22,42,.97);

    box-shadow:0 8px 30px rgba(0,0,0,.08);

}

header.header-scroll .container{

    padding:14px 30px;

    background:transparent;

    border-color:transparent;

}

header.header-scroll nav a,
header.header-scroll .menu-mobile{

    color:#fff;

}

header.header-scroll nav a::after{

    background:var(--primary);

}

header.header-scroll .btn-header{

    background:var(--primary);

    color:#fff;

}

.logo img{

    height:90px;

}

header .site-logo{

    display:flex;

    width:175px;

    height:58px;

    flex-shrink:0;

    align-items:center;

    padding:0;

    border:0;

    border-radius:0;

    background:transparent;

    box-shadow:none;

}

header .site-logo img{

    width:100%;

    height:100%;

    /* A imagem possui margens transparentes amplas; o recorte mantém a marca legível. */
    object-fit:cover;

    object-position:center;

    filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));

}

/*==========================
MENU
==========================*/

nav ul{

    display:flex;

    gap:35px;

}

nav a{

    color:#fff;

    font-weight:500;

    position:relative;

    transition:.3s;

}

nav a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:#fff;

    transition:.35s;

}

nav a:hover::after,

nav a.active::after{

    width:100%;

}

/*==========================
BUTTONS
==========================*/

.btn-header,

.btn-primary,

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 34px;

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

}

.btn-header{

    background:#fff;

    color:var(--primary);

}

.btn-header:hover{

    background:var(--primary);

    color:#fff;

}

.header-actions{

    display:flex;
    flex-shrink:0;
    align-items:center;
    gap:10px;

}

.btn-client-area{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:13px 20px;
    border:1px solid rgba(255,255,255,.5);
    border-radius:50px;
    color:#fff;
    font-weight:600;
    white-space:nowrap;
    transition:var(--transition);

}

.btn-client-area:hover,
.btn-client-area:focus-visible{

    border-color:#fff;
    background:rgba(255,255,255,.12);
    color:#fff;

}

.btn-client-area[aria-disabled="true"]{

    cursor:default;

}

.client-area-nav-item{

    display:none;

}

/*==========================
ÁREA DO CLIENTE — AVISO
==========================*/

body.modal-open{

    overflow:hidden;

}

.client-area-modal{

    position:fixed;
    inset:0;
    z-index:10000;
    display:grid;
    width:100%;
    height:100%;
    padding:16px;
    place-items:center;
    overflow-y:auto;
    background:rgba(3,15,29,.72);
    color:var(--dark);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    backdrop-filter:blur(7px);
    transition:opacity .22s ease,visibility .22s ease;

}

.client-area-modal[hidden]{

    display:none;

}

.client-area-modal.is-open{

    opacity:1;
    visibility:visible;
    pointer-events:auto;

}

.client-area-modal-card{

    position:relative;
    width:min(500px,100%);
    padding:46px 42px 40px;
    overflow:hidden;
    border:1px solid rgba(13,110,253,.14);
    border-radius:24px;
    background:
        radial-gradient(circle at 100% 0,rgba(90,198,255,.2),transparent 38%),
        #fff;
    box-shadow:0 28px 80px rgba(1,13,28,.34);
    text-align:center;
    opacity:0;
    transform:translateY(18px) scale(.96);
    transition:opacity .26s ease,transform .26s ease;

}

.client-area-modal.is-open .client-area-modal-card{

    opacity:1;
    transform:translateY(0) scale(1);

}

.client-area-modal-card::before{

    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:linear-gradient(90deg,var(--primary),var(--secondary));

}

.client-area-modal-close{

    position:absolute;
    top:16px;
    right:16px;
    display:inline-flex;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:#eef5ff;
    color:var(--dark);
    font-size:18px;
    cursor:pointer;
    transition:var(--transition);

}

.client-area-modal-close:hover,
.client-area-modal-close:focus-visible{

    background:var(--primary);
    color:#fff;
    transform:rotate(8deg);

}

.client-area-modal-icon{

    display:inline-flex;
    width:82px;
    height:82px;
    align-items:center;
    justify-content:center;
    margin-bottom:22px;
    border-radius:24px;
    background:linear-gradient(145deg,var(--primary),#45bdf5);
    color:#fff;
    box-shadow:0 14px 34px rgba(13,110,253,.27);
    font-size:32px;

}

.client-area-modal-kicker{

    display:block;
    margin-bottom:9px;
    color:var(--primary);
    font-size:12px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;

}

.client-area-modal h2{

    margin-bottom:14px;
    font-size:32px;
    line-height:1.2;

}

.client-area-modal p{

    max-width:390px;
    margin:0 auto 27px;
    color:var(--text);
    line-height:1.75;

}

.client-area-modal-confirm{

    min-width:170px;
    border:0;
    cursor:pointer;

}

.btn-primary{

    background:var(--primary);

    color:#fff;

    box-shadow:var(--shadow);

}

.btn-primary:hover{

    transform:translateY(-4px);

    background:var(--primary-dark);

}

.btn-secondary{

    border:2px solid #fff;

    color:#fff;

    margin-left:15px;

}

.btn-secondary:hover{

    background:#fff;

    color:var(--primary);

}

/*==========================
MOBILE MENU
==========================*/

.menu-mobile{

    display:none;

    padding:0;

    background:transparent;

    border:0;

    color:#fff;

    font-size:28px;

    cursor:pointer;

}

/*==========================
HERO
==========================*/

.hero{

    height:100vh;

    min-height:760px;

    display:flex;

    align-items:center;

    overflow:hidden;

    color:#fff;

}

.hero-background{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(90deg,rgba(0,18,40,.58) 0%,rgba(0,28,60,.34) 48%,rgba(0,36,70,.12) 100%);

}

.hero-content{

    position:relative;

    z-index:2;

    display:block;

    align-items:center;

}

.hero-text span{

    display:inline-block;

    margin-bottom:20px;

    font-size:14px;

    letter-spacing:3px;

    text-transform:uppercase;

    color:#9ddcff;

}

.hero-text{

    max-width:680px;

}

/* Mantém o conteúdo dentro da zona de leitura da imagem de hero. */
.hero .hero-content{

    display:flex;

    width:min(1200px,90%);

    align-items:center;

    justify-content:flex-start;

}

.hero .hero-text{

    width:min(680px,100%);

    margin-right:auto;

    text-align:left;

    transform:none;

}

.hero-text h1{

    font-size:64px;

    line-height:1.15;

    margin-bottom:30px;

    font-weight:700;

}

.hero-text strong{

    color:#69c9ff;

}

.hero-text p{

    font-size:19px;

    max-width:650px;

    opacity:.95;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    flex-wrap:wrap;

}

.hero-image{

    text-align:center;

}

.hero-image img{

    width:100%;

    max-width:600px;

    animation:float 5s ease-in-out infinite;

}

/*==========================
SCROLL INDICATOR
==========================*/

.scroll-indicator{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);

    z-index:5;

}

.scroll-indicator span{

    display:block;

    width:30px;

    height:50px;

    border:2px solid #fff;

    border-radius:30px;

    position:relative;

}

.scroll-indicator span::before{

    content:"";

    position:absolute;

    left:50%;

    transform:translateX(-50%);

    top:10px;

    width:6px;

    height:6px;

    border-radius:50%;

    background:#fff;

    animation:scroll 2s infinite;

}

/*==========================
ANIMAÇÕES
==========================*/

@keyframes float{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-18px);

}

}

@keyframes scroll{

0%{

opacity:0;

top:8px;

}

50%{

opacity:1;

}

100%{

opacity:0;

top:28px;

}

}

/*==================================================
SOBRE
==================================================*/

.sobre{

    background:#fff;

}

.sobre-content{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.sobre-image{

    position:relative;

}

.sobre-image img{

    width:100%;

    border-radius:20px;

    box-shadow:var(--shadow);

}

.sobre-text h3{

    font-size:34px;

    color:var(--dark);

    margin-bottom:25px;

    line-height:1.3;

}

.sobre-text p{

    color:var(--text);

    margin-bottom:20px;

    font-size:17px;

}

/*==================================================
FEATURES
==================================================*/

.features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    margin:40px 0;

}

.feature{

    display:flex;

    align-items:center;

    gap:15px;

    font-weight:600;

    color:var(--dark);

}

.feature i{

    color:var(--primary);

    font-size:20px;

}

/*==================================================
ESTATÍSTICAS
==================================================*/

.stats{

    background:linear-gradient(135deg,#0D6EFD,#0A4FB8);

    color:#fff;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.stat{

    text-align:center;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(10px);

    border-radius:18px;

    padding:45px 20px;

    transition:.35s;

}

.stat:hover{

    transform:translateY(-10px);

    background:rgba(255,255,255,.15);

}

.stat i{

    font-size:40px;

    margin-bottom:20px;

}

.stat h2{

    font-size:52px;

    font-weight:700;

    margin-bottom:10px;

}

.stat span{

    font-size:18px;

    opacity:.95;

}

/*==================================================
SERVIÇOS
==================================================*/

.servicos{

    background:var(--gray);

}

.cards{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.card{

    background:#fff;

    border-radius:20px;

    padding:45px 35px;

    text-align:center;

    transition:.35s;

    box-shadow:var(--shadow);

    border:1px solid transparent;

}

.card:hover{

    transform:translateY(-12px);

    border-color:var(--primary);

}

.card i{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:38px;

    color:#fff;

    background:linear-gradient(135deg,#0D6EFD,#00B4D8);

}

.card h3{

    margin-bottom:18px;

    color:var(--dark);

    font-size:24px;

}

.card p{

    color:var(--text);

    font-size:16px;

}

/*==================================================
WHY US
==================================================*/

.why-us{

    background:#fff;

}

.why-us .card{

    text-align:left;

}

.why-us .card i{

    margin:0 0 25px 0;

}

/*==================================================
MARCAS
==================================================*/

.brands{

    background:#F9FAFB;

}

.brands-grid{

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:35px;

    align-items:center;

}

.brand-item{

    background:#fff;

    border-radius:18px;

    padding:35px;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.35s;

    box-shadow:var(--shadow);

}

.brand-item:hover{

    transform:translateY(-8px);

}

.brand-item img{

    max-height:20px;

    width:auto;

    filter:grayscale(100%);

    opacity:.75;

    transition:.35s;

}

.brand-item:hover img{

    filter:none;

    opacity:1;

}

.brand-item-extra{

    display:none;

}

.brands.show-all .brand-item-extra{

    display:flex;

}

.brands-action{

    margin-top:42px;

    text-align:center;

}

.brands-toggle{

    gap:10px;

}

.brands-toggle i{

    transition:transform .3s ease;

}

.brands.show-all .brands-toggle i{

    transform:rotate(180deg);

}

/*==================================================
PROJECTS
==================================================*/

.projects{

    background:#fff;

}

.projects-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.project-card{

    position:relative;

    overflow:hidden;

    display:flex;

    min-height:270px;

    flex-direction:column;

    align-items:flex-start;

    padding:36px;

    border-radius:20px;

    border:1px solid var(--border);

    background:#fff;

    box-shadow:0 12px 35px rgba(5,22,42,.07);

    transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;

}

.project-card::before{

    position:absolute;

    top:-75px;

    right:-75px;

    width:180px;

    height:180px;

    border-radius:50%;

    content:"";

    background:rgba(13,110,253,.055);

}

.project-card:hover{

    transform:translateY(-7px);

    border-color:rgba(13,110,253,.26);

    box-shadow:0 20px 45px rgba(5,22,42,.11);

}

.project-icon{

    position:relative;

    z-index:1;

    display:flex;

    width:62px;

    height:62px;

    align-items:center;

    justify-content:center;

    margin-bottom:30px;

    border-radius:18px;

    color:var(--primary);

    background:#edf5ff;

    font-size:26px;

    transition:color .3s ease, background .3s ease;

}

.project-card-content{

    position:relative;

    z-index:1;

}

.project-card-content h3{

    margin-bottom:13px;

    color:var(--dark);

    font-size:24px;

    line-height:1.25;

}

.project-card-content p{

    color:var(--text);

    line-height:1.7;

}

.project-card:hover .project-icon{

    color:#fff;

    background:var(--primary);

}

/*==================================================
BOTÕES CENTRALIZADOS
==================================================*/

.text-center{

    text-align:center;

}

.mt-60{

    margin-top:60px;

}

.mt-80{

    margin-top:80px;

}

/*==================================================
TESTEMUNHOS
==================================================*/

.testimonials{

    background:var(--gray);

}

.testimonials-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.testimonial{

    background:#fff;

    padding:40px;

    border-radius:20px;

    box-shadow:var(--shadow);

    transition:.35s;

    position:relative;

}

.testimonial:hover{

    transform:translateY(-10px);

}

.testimonial i{

    font-size:42px;

    color:var(--primary);

    margin-bottom:25px;

}

.testimonial p{

    color:var(--text);

    margin-bottom:30px;

    font-style:italic;

}

.testimonial h4{

    color:var(--dark);

    margin-bottom:5px;

}

.testimonial span{

    color:#888;

    font-size:14px;

}

/*==================================================
FAQ
==================================================*/

.faq{

    background:#fff;

}

.faq-container{

    max-width:900px;

    margin:auto;

}

.faq-item{

    margin-bottom:20px;

    border-radius:14px;

    overflow:hidden;

    box-shadow:var(--shadow);

    background:#fff;

}

.faq-question{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:22px 28px;

    background:#fff;

    cursor:pointer;

    font-size:18px;

    font-weight:600;

}

.faq-question i{

    color:var(--primary);

    transition:.35s;

}

.faq-answer{

    display:none;

    padding:0 28px 25px;

    color:var(--text);

    line-height:1.8;

}

.faq-item.active .faq-answer{

    display:block;

}

.faq-item.active i{

    transform:rotate(45deg);

}

/*==================================================
CTA
==================================================*/

.cta{

    background:linear-gradient(135deg,#0D6EFD,#00B4D8);

    color:#fff;

    text-align:center;

}

.cta h2{

    font-size:48px;

    margin-bottom:25px;

}

.cta p{

    max-width:750px;

    margin:0 auto 40px;

    font-size:18px;

}

.cta .btn-primary{

    background:#fff;

    color:var(--primary);

}

.cta .btn-primary:hover{

    background:#f3f3f3;

}

/*==================================================
CONTACTO RÁPIDO
==================================================*/

.contact-section{

    background:#fff;

}

.contact-grid{

    display:grid;

    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);

    gap:35px;

    align-items:start;

}

.contact-info{

    display:grid;

    gap:18px;

}

.info-card{

    display:flex;

    align-items:center;

    gap:20px;

    padding:26px;

    border-radius:18px;

    background:var(--gray);

    transition:.35s;

}

.info-card:hover{

    transform:translateY(-5px);

}

.info-card i{

    width:52px;

    height:52px;

    display:grid;

    place-items:center;

    flex-shrink:0;

    font-size:22px;

    color:var(--primary);

    border-radius:50%;

    background:#e7f0ff;

}

.info-card h3{

    margin-bottom:4px;

    color:var(--dark);

}

.info-card p{

    color:var(--text);

}

.contact-form{

    display:grid;

    gap:16px;

    padding:36px;

    border:1px solid var(--border);

    border-radius:20px;

    background:#fff;

    box-shadow:var(--shadow);

}

.contact-form input,
.contact-form textarea{

    width:100%;

    padding:16px 18px;

    color:var(--dark);

    border:1px solid var(--border);

    border-radius:12px;

    resize:vertical;

    transition:border-color var(--transition), box-shadow var(--transition);

}

.contact-form input:focus,
.contact-form textarea:focus,
.newsletter input:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(13,110,253,.12);

}

.contact-form .btn-primary{

    justify-self:start;

    cursor:pointer;

}

.form-feedback{

    min-height:1.5em;

    color:inherit;

    font-size:14px;

}

.contact-form .form-feedback{

    color:var(--text);

}

.form-feedback.is-success{

    color:#138a4b;

    font-weight:600;

}

.form-feedback.is-error{

    color:#c62828;

    font-weight:600;

}

.form-trap{

    position:absolute;

    left:-10000px;

    width:1px;

    height:1px;

    overflow:hidden;

    opacity:0;

    pointer-events:none;

}

[data-formspree] [type="submit"]:disabled{

    opacity:.65;

    cursor:wait;

    transform:none;

}

.sr-only{

    position:absolute;

    width:1px;

    height:1px;

    padding:0;

    margin:-1px;

    overflow:hidden;

    clip:rect(0,0,0,0);

    white-space:nowrap;

    border:0;

}

/*==================================================
GOOGLE MAPS
==================================================*/

.map{

    padding:0;

}

.map iframe{

    width:100%;

    height:500px;

    border:none;

}

/*==================================================
NEWSLETTER
==================================================*/

.newsletter{

    background:var(--dark);

    color:#fff;

}

.newsletter-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:40px;

}

.newsletter h2{

    font-size:36px;

    margin:10px 0;

}

.newsletter span{

    color:#69c9ff;

    text-transform:uppercase;

    letter-spacing:2px;

}

.newsletter form{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

}

.newsletter input{

    width:340px;

    padding:18px;

    border-radius:50px;

    border:1px solid transparent;

}

.newsletter button{

    background:var(--primary);

    color:#fff;

    padding:18px 35px;

    border-radius:50px;

    cursor:pointer;

    transition:.3s;

}

.newsletter button:hover{

    background:#fff;

    color:var(--primary);

}

.newsletter .form-feedback{

    flex-basis:100%;

    margin:0;

    color:#c8d2dc;

}

.newsletter .form-feedback.is-success{

    color:#78e7a9;

}

.newsletter .form-feedback.is-error{

    color:#ff9b9b;

}

/*==================================================
FOOTER
==================================================*/

footer{

    background:#08111d;

    color:#fff;

    padding-top:90px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:50px;

}

.footer-grid img{

    width:220px;

    margin-bottom:25px;

}

.footer-grid > div > img.footer-logo{

    width:220px;

    height:70px;

    padding:0;

    border:0;

    border-radius:0;

    background:transparent;

    object-fit:cover;

    object-position:center;

    filter:drop-shadow(0 4px 12px rgba(48,175,255,.32));

}

.footer-grid > div > a.footer-logo{

    display:flex;

    width:220px;

    height:70px;

    align-items:center;

    padding:0;

    margin-bottom:25px;

    border:0;

    border-radius:0;

    background:transparent;

}

.footer-grid > div > a.footer-logo img{

    width:100%;

    height:100%;

    margin:0;

    object-fit:cover;

    object-position:center;

    filter:drop-shadow(0 4px 12px rgba(48,175,255,.32));

}

.footer-grid h3{

    margin-bottom:25px;

    font-size:22px;

}

.footer-grid p,

.footer-grid li{

    color:#c8d2dc;

    margin-bottom:14px;

}

.footer-grid ul li{

    transition:.3s;

    cursor:pointer;

}

.footer-grid ul li:hover{

    color:#fff;

    padding-left:8px;

}

.social{

    display:flex;

    gap:15px;

    margin-top:30px;

}

.social a{

    width:45px;

    height:45px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:#13273d;

    transition:.3s;

}

.social a:hover{

    background:var(--primary);

    transform:translateY(-5px);

}

.footer-complaints{

    display:flex;

    justify-content:flex-start;

    align-items:center;

    gap:12px;

    flex-wrap:wrap;

    margin-top:46px;

}

.footer-complaints a{

    display:inline-flex;

    min-height:72px;

    align-items:center;

    justify-content:center;

    padding:6px 9px;

    border:1px solid rgba(255,255,255,.16);

    border-radius:12px;

    background:#fff;

    box-shadow:0 10px 28px rgba(0,0,0,.18);

    transition:transform .3s ease, box-shadow .3s ease;

}

.footer-complaints a:hover,
.footer-complaints a:focus-visible{

    transform:translateY(-4px);

    box-shadow:0 16px 34px rgba(0,0,0,.25);

}

.footer-complaints a:focus-visible{

    outline:3px solid #75cfff;

    outline-offset:4px;

}

.footer-complaints img{

    display:block;

    width:150px;

    height:auto;

}

.footer-complaints .footer-aipor-logo{

    width:155px;

}

.footer-complaints + .footer-bottom{

    margin-top:42px;

}

.footer-bottom{

    text-align:center;

    padding:30px 0;

    margin-top:70px;

    border-top:1px solid rgba(255,255,255,.08);

    color:#9ea9b5;

}

/*==================================================
WHATSAPP FLOAT BUTTON
==================================================*/

.whatsapp{

    position:fixed;

    right:30px;

    bottom:30px;

    width:65px;

    height:65px;

    background:#25D366;

    color:#fff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:34px;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

    z-index:999;

    transition:.35s;

}

.whatsapp:hover{

    transform:translateY(-8px) scale(1.08);

    background:#1ebe5d;

}

/*==================================================
BACK TO TOP
==================================================*/

.back-top{

    position:fixed;

    right:30px;

    bottom:110px;

    width:55px;

    height:55px;

    background:var(--primary);

    color:#fff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:998;

}

.back-top.show{

    opacity:1;

    visibility:visible;

}

.scroll-progress{

    position:fixed;

    top:0;

    left:0;

    width:0;

    height:4px;

    background:var(--primary);

    z-index:1000;

    transition:width .1s linear;

}

/*==================================================
LOADER
==================================================*/

.loader{

    position:fixed;

    inset:0;

    background:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

    transition:.6s;

}

.loader.hide{

    opacity:0;

    visibility:hidden;

}

.spinner{

    width:70px;

    height:70px;

    border:6px solid #e9ecef;

    border-top:6px solid var(--primary);

    border-radius:50%;

    animation:spin 1s linear infinite;

}

@keyframes spin{

    to{

        transform:rotate(360deg);

    }

}

/*==================================================
REVEAL ANIMATION
==================================================*/

.reveal{

    opacity:0;

    transform:translateY(60px);

    transition:1s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

/*==================================================
UTILITIES
==================================================*/

.text-center{

    text-align:center;

}

.mb-20{margin-bottom:20px;}
.mb-30{margin-bottom:30px;}
.mb-40{margin-bottom:40px;}
.mb-60{margin-bottom:60px;}

.mt-20{margin-top:20px;}
.mt-40{margin-top:40px;}
.mt-60{margin-top:60px;}
.mt-80{margin-top:80px;}

/*==================================================
SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:12px;

}

::-webkit-scrollbar-track{

    background:#edf2f7;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--primary-dark);

}

/*==================================================
RESPONSIVE
==================================================*/

@media(min-width:993px) and (max-width:1200px){

nav ul{

gap:20px;

}

.header-actions{

gap:8px;

}

.btn-header{

padding:13px 22px;

}

.btn-client-area{

width:46px;
height:46px;
padding:0;

}

.btn-client-area span{

position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;

}

}

@media(max-width:1200px){

.hero-content,

.sobre-content{

grid-template-columns:1fr;

text-align:center;

}

.hero-image{

order:-1;

}

.stats-grid{

grid-template-columns:repeat(2,1fr);

}

.cards{

grid-template-columns:repeat(2,1fr);

}

.projects-grid{

grid-template-columns:repeat(2,1fr);

}

.brands-grid{

grid-template-columns:repeat(3,1fr);

}

.footer-grid{

grid-template-columns:repeat(2,1fr);

}

.contact-grid{

grid-template-columns:repeat(2,1fr);

}

}

/*==============================*/

@media(max-width:992px){

header{

top:0;

}

header .container{

border-radius:0;

padding:20px;

}

nav{

display:none;

}

nav.open{

display:block;

position:absolute;

z-index:1001;

top:calc(100% + 12px);

left:0;

right:0;

padding:12px;

border:1px solid var(--border);

border-radius:16px;

background:#fff;

box-shadow:var(--shadow);

}

nav.open ul{

flex-direction:column;

gap:0;

}

nav.open a{

display:block;

padding:14px 16px;

color:var(--dark);

}

/* Ao fazer scroll o cabeçalho usa links brancos. No painel móvel branco,
   os links devem manter contraste para continuarem legíveis. */
header.header-scroll nav.open a{

color:var(--dark);

}

nav.open a::after{

display:none;

}

nav.open a.active{

color:var(--primary);

background:#edf4ff;

border-radius:10px;

}

header.header-scroll nav.open a.active{

color:var(--primary);

}

.menu-mobile{

display:block;

}

.btn-header{

display:none;

}

.header-actions{

display:none;

}

nav.open .client-area-nav-item{

display:block;

}

nav.open a.client-area-nav-link,
header.header-scroll nav.open a.client-area-nav-link{

display:flex;
align-items:center;
justify-content:center;
gap:9px;
margin-top:6px;
background:var(--primary);
color:#fff;
font-weight:600;

}

nav.open a.client-area-nav-link:hover,
nav.open a.client-area-nav-link:focus-visible,
header.header-scroll nav.open a.client-area-nav-link:hover,
header.header-scroll nav.open a.client-area-nav-link:focus-visible{

background:var(--primary-dark);
color:#fff;

}

.top-bar{

display:none;

}

.hero{

padding-top:120px;

height:auto;

min-height:auto;

}

.hero-text h1{

font-size:48px;

}

.section-title h2{

font-size:34px;

}

.newsletter-content{

flex-direction:column;

text-align:center;

}

.newsletter form{

flex-direction:column;

width:100%;

}

.newsletter input{

width:100%;

}

}

/*==============================*/

@media(max-width:768px){

.cards,

.projects-grid,

.stats-grid,

.contact-grid,

.footer-grid,

.brands-grid,

.features,

.testimonials-grid{

grid-template-columns:1fr;

}

.hero-text h1{

font-size:38px;

}

.hero-text p{

font-size:17px;

}

.hero-buttons{

flex-direction:column;

gap:20px;

}

.btn-secondary{

margin-left:0;

}

.section-title h2{

font-size:30px;

}

section{

padding:70px 0;

}

.cta h2{

font-size:34px;

}

.newsletter h2{

font-size:28px;

}

.footer-grid{

text-align:center;

}

.social{

justify-content:center;

}

.project-card img{

height:300px;

}

.contact-form{

padding:28px;

}

.contact-form .btn-primary{

width:100%;

}

}

/*==============================*/

@media(max-width:576px){

.container{

width:92%;

}

.hero-text h1{

font-size:32px;

}

.hero-text span{

font-size:12px;

letter-spacing:2px;

}

.section-title h2{

font-size:28px;

}

.card{

padding:30px;

}

.stat h2{

font-size:42px;

}

.cta h2{

font-size:28px;

}

.info-card{

padding:22px;

}

.newsletter button{

width:100%;

}

.whatsapp{

width:58px;

height:58px;

font-size:30px;

right:20px;

bottom:20px;

}

.back-top{

right:20px;

bottom:90px;

}

}

/*==================================================
PRINT
==================================================*/

@media print{

header,
footer,
.whatsapp,
.back-top,
.loader,
video{

display:none !important;

}

body{

background:#fff;

color:#000;

}

a{

text-decoration:none;

color:#000;

}

}

/*==================================================
END STYLE.CSS
==================================================*/

/*==================================================
PÁGINAS INTERNAS
==================================================*/

body.inner-page{
    background:var(--gray);
}

.brand-wordmark{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-size:24px;
    font-weight:700;
    line-height:1;
}

.brand-wordmark i{
    font-size:31px;
}

.brand-wordmark small{
    display:block;
    margin-top:3px;
    font-size:10px;
    font-weight:600;
    letter-spacing:2px;
}

header.header-scroll .brand-wordmark{
    color:var(--primary);
}

.page-hero{
    position:relative;
    overflow:hidden;
    padding:205px 0 110px;
    color:#fff;
    background:linear-gradient(135deg,#071e38 0%,#0d6efd 55%,#00b4d8 100%);
}

.page-hero::before,
.page-hero::after{
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    content:"";
    background:rgba(255,255,255,.08);
}

.page-hero::before{
    top:-235px;
    right:-90px;
}

.page-hero::after{
    bottom:-300px;
    left:28%;
}

.page-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
    gap:60px;
    align-items:center;
}

.breadcrumbs{
    display:flex;
    gap:10px;
    margin-bottom:22px;
    color:#bfe9ff;
    font-size:14px;
}

.breadcrumbs a:hover{
    color:#fff;
}

.page-kicker{
    display:inline-block;
    margin-bottom:16px;
    color:#bfe9ff;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.inner-section .page-kicker{
    color:var(--primary);
}

.page-hero h1{
    max-width:760px;
    margin-bottom:22px;
    font-size:58px;
    line-height:1.12;
}

.page-hero p{
    max-width:690px;
    font-size:18px;
    opacity:.94;
}

.hero-graphic{
    display:grid;
    width:230px;
    height:230px;
    margin-inline:auto;
    place-items:center;
    border:1px solid rgba(255,255,255,.28);
    border-radius:50%;
    background:rgba(5,22,42,.82);
    box-shadow:inset 0 0 0 22px rgba(255,255,255,.06),0 24px 60px rgba(0,0,0,.18);
}

.hero-graphic i{
    color:#fff;
    font-size:84px;
}

.inner-section{
    padding:100px 0;
    background:#fff;
}

.inner-section.alt{
    background:var(--gray);
}

.content-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:70px;
    align-items:center;
}

.content-copy h2,
.inner-heading h2{
    margin-bottom:22px;
    color:var(--dark);
    font-size:40px;
    line-height:1.2;
}

.content-copy p,
.inner-heading p{
    color:var(--text);
}

.inner-heading{
    max-width:720px;
    margin:0 auto 55px;
    text-align:center;
}

.info-panel{
    padding:42px;
    border-radius:24px;
    color:#fff;
    background:linear-gradient(145deg,#0c5bd2,#00a8cb);
    box-shadow:var(--shadow);
}

.info-panel > i{
    margin-bottom:25px;
    font-size:54px;
}

.info-panel h3{
    margin-bottom:14px;
    font-size:28px;
}

.check-list{
    display:grid;
    gap:16px;
    margin-top:30px;
}

.check-list li{
    display:flex;
    gap:12px;
    align-items:flex-start;
    color:var(--dark);
    font-weight:600;
}

.check-list i{
    margin-top:5px;
    color:var(--primary);
}

.info-panel .check-list li{
    color:#fff;
}

.info-panel .check-list i{
    color:#bfe9ff;
}

.value-grid,
.service-detail-grid,
.project-grid,
.process-grid,
.cert-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
}

.value-card,
.service-detail-card,
.project-case,
.process-card,
.cert-card{
    height:100%;
    padding:32px;
    border:1px solid var(--border);
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 28px rgba(0,0,0,.05);
}

.value-card i,
.service-detail-card > i,
.process-card .process-number,
.cert-card i{
    display:grid;
    width:58px;
    height:58px;
    margin-bottom:22px;
    place-items:center;
    border-radius:16px;
    color:var(--primary);
    background:#eaf2ff;
    font-size:25px;
}

.value-card h3,
.service-detail-card h3,
.project-case h3,
.process-card h3,
.cert-card h3{
    margin-bottom:12px;
    color:var(--dark);
    font-size:22px;
}

.value-card p,
.service-detail-card p,
.project-case p,
.process-card p,
.cert-card p{
    color:var(--text);
}

.service-detail-card{
    position:relative;
    overflow:hidden;
}

.service-detail-card::after{
    position:absolute;
    right:-45px;
    bottom:-65px;
    width:160px;
    height:160px;
    border-radius:50%;
    content:"";
    background:#f0f7ff;
}

.service-detail-card > *{
    position:relative;
    z-index:1;
}

.service-detail-card ul{
    display:grid;
    gap:9px;
    margin-top:20px;
    color:var(--text);
    font-size:14px;
}

.service-detail-card li::before{
    margin-right:8px;
    color:var(--primary);
    content:"✓";
    font-weight:700;
}

.project-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.project-case{
    display:flex;
    min-height:310px;
    flex-direction:column;
    justify-content:flex-end;
    color:#fff;
    background:linear-gradient(150deg,#0b3155,#0d6efd);
    cursor:pointer;
    transition:transform .3s ease, box-shadow .3s ease;
}

.project-case:hover{
    transform:translateY(-7px);
    box-shadow:0 20px 42px rgba(5,22,42,.2);
}

.project-case:focus-visible{
    outline:3px solid #75cfff;
    outline-offset:4px;
}

.project-case:nth-child(2){
    background:linear-gradient(150deg,#00647d,#00b4d8);
}

.project-case:nth-child(3){
    background:linear-gradient(150deg,#222d3a,#0b6e99);
}

.project-case > i{
    margin-bottom:auto;
    color:#bfe9ff;
    font-size:48px;
}

.project-case h3,
.project-case p{
    color:#fff;
}

.project-meta{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:22px;
}

.project-meta span{
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    font-size:12px;
    font-weight:600;
}

.project-case-action{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-top:18px;
    color:#fff;
    font-size:13px;
    font-weight:700;
}

.project-case-action i{
    margin:0;
    color:inherit;
    font-size:12px;
    transition:transform .25s ease;
}

.project-case:hover .project-case-action i{
    transform:translateX(4px);
}

.process-card .process-number{
    border-radius:50%;
    color:#fff;
    background:var(--primary);
    font-size:18px;
    font-weight:700;
}

.contact-page-grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:38px;
    align-items:start;
}

.contact-details{
    display:grid;
    gap:18px;
}

.contact-details .info-card{
    background:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.04);
}

.quote-form{
    display:grid;
    gap:16px;
    padding:38px;
    border-radius:22px;
    background:#fff;
    box-shadow:var(--shadow);
}

#orcamento-form{
    scroll-margin-top:100px;
}

.form-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.quote-form input,
.quote-form select,
.quote-form textarea{
    width:100%;
    padding:16px 18px;
    border:1px solid var(--border);
    border-radius:12px;
    color:var(--dark);
    background:#fff;
}

.quote-form textarea{
    min-height:155px;
    resize:vertical;
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 4px rgba(13,110,253,.12);
}

.quote-form .btn-primary{
    justify-self:start;
    cursor:pointer;
}

.cta-strip{
    padding:75px 0;
    color:#fff;
    background:linear-gradient(135deg,#0d6efd,#00b4d8);
}

.cta-strip-content{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.cta-strip h2{
    margin-bottom:8px;
    font-size:36px;
}

.cta-strip p{
    max-width:650px;
    opacity:.94;
}

.cta-strip .btn-primary{
    flex-shrink:0;
    color:var(--primary);
    background:#fff;
}

.cta-strip .btn-primary:hover{
    background:#edf4ff;
}

@media(max-width:992px){
    .page-hero{
        padding:160px 0 85px;
    }

    .page-hero-grid,
    .content-grid,
    .contact-page-grid{
        grid-template-columns:1fr;
    }

    .page-hero h1{
        font-size:46px;
    }

    .hero-graphic{
        display:none;
    }

    .value-grid,
    .service-detail-grid,
    .project-grid,
    .process-grid,
    .cert-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:768px){
    .page-hero{
        padding:145px 0 72px;
    }

    .page-hero h1{
        font-size:38px;
    }

    .content-copy h2,
    .inner-heading h2{
        font-size:32px;
    }

    .value-grid,
    .service-detail-grid,
    .project-grid,
    .process-grid,
    .cert-grid,
    .form-row{
        grid-template-columns:1fr;
    }

    .cta-strip-content{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media(max-width:576px){
    .page-hero h1{
        font-size:34px;
    }

    .info-panel,
    .quote-form{
        padding:28px;
    }

    .cta-strip h2{
        font-size:29px;
    }

    .quote-form .btn-primary{
        width:100%;
    }
}

/*==================================================
REFINAMENTO MOBILE
==================================================*/

@media(max-width:992px){
    header .container,
    header.header-scroll .container{
        width:100%;
        min-height:72px;
        padding:10px 20px;
        border:0;
        border-radius:0;
        background:rgba(5,22,42,.96);
        box-shadow:0 1px 0 rgba(151,211,255,.14);
    }

    header .site-logo{
        width:138px;
        height:46px;
    }

    .menu-mobile{
        display:inline-flex;
        width:42px;
        height:42px;
        align-items:center;
        justify-content:center;
        border-radius:10px;
        font-size:23px;
        transition:background .25s ease;
    }

    .menu-mobile:hover,
    .menu-mobile:focus-visible{
        background:rgba(255,255,255,.09);
    }

    nav.open{
        top:calc(100% + 8px);
        right:12px;
        left:12px;
        max-height:calc(100svh - 92px);
        padding:8px;
        overflow-y:auto;
        border-radius:14px;
        box-shadow:0 18px 50px rgba(5,22,42,.22);
    }

    nav.open a{
        padding:13px 14px;
        border-radius:9px;
        font-size:15px;
    }

    .hero{
        min-height:100svh;
        padding:104px 0 54px;
    }

    .hero-background{
        object-position:56% center;
    }

    .hero-overlay{
        background:linear-gradient(
            180deg,
            rgba(3,17,34,.48) 0%,
            rgba(3,20,40,.66) 45%,
            rgba(3,17,34,.88) 100%
        );
    }

    .hero .hero-content{
        width:min(640px,90%);
        align-items:flex-start;
    }

    .hero .hero-text{
        width:100%;
        max-width:620px;
        margin:0;
    }

    .hero-text span{
        margin-bottom:14px;
    }

    .hero-text h1{
        margin-bottom:24px;
        font-size:clamp(36px,6vw,48px);
        line-height:1.12;
        letter-spacing:-.7px;
    }

    .hero-text p{
        max-width:580px;
        margin-bottom:32px;
        font-size:16px;
        line-height:1.7;
    }

    .hero-buttons{
        gap:12px;
    }

    .projects-grid{
        gap:20px;
    }

    .project-card{
        min-height:245px;
        padding:30px;
    }

    .project-icon{
        width:56px;
        height:56px;
        margin-bottom:24px;
        border-radius:16px;
        font-size:23px;
    }

    .project-card-content h3{
        font-size:21px;
    }
}

@media(max-width:576px){
    header .container,
    header.header-scroll .container{
        min-height:66px;
        padding:8px 16px;
    }

    header .site-logo{
        width:124px;
        height:41px;
    }

    .menu-mobile{
        width:40px;
        height:40px;
        font-size:22px;
    }

    nav.open{
        right:10px;
        left:10px;
        max-height:calc(100svh - 82px);
    }

    .hero{
        min-height:100svh;
        padding:92px 0 42px;
    }

    .hero .hero-content{
        width:90%;
    }

    .hero-text span{
        margin-bottom:11px;
        font-size:10px;
        line-height:1.5;
        letter-spacing:1.7px;
    }

    .hero-text h1{
        margin-bottom:22px;
        font-size:30px;
        line-height:1.13;
        letter-spacing:-.5px;
    }

    .hero-text p{
        margin-bottom:27px;
        font-size:15px;
        line-height:1.65;
    }

    .hero-buttons{
        gap:12px;
    }

    .hero-buttons .btn-primary,
    .hero-buttons .btn-secondary{
        width:100%;
        min-height:50px;
        padding:13px 20px;
        font-size:14px;
    }

    .scroll-indicator{
        display:none;
    }

    section{
        padding:60px 0;
    }

    .section-title{
        margin-bottom:42px;
    }

    .section-title span{
        font-size:11px;
        letter-spacing:1.7px;
    }

    .section-title h2{
        font-size:26px;
        line-height:1.25;
    }

    .card{
        padding:24px;
        border-radius:18px;
    }

    .project-card{
        min-height:0;
        padding:25px;
    }

    .brands-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .brand-item{
        min-height:76px;
        padding:20px 14px;
        border-radius:14px;
    }

    .brand-item img{
        max-width:100%;
        max-height:22px;
    }

    .contact-form,
    .quote-form{
        padding:22px;
        border-radius:18px;
    }

    .page-hero{
        padding:118px 0 64px;
    }

    .page-hero h1{
        font-size:31px;
    }

    .inner-section{
        padding:64px 0;
    }

    .footer-complaints{
        justify-content:center;
        margin-top:36px;
    }

    .footer-complaints img{
        width:140px;
    }

    .footer-complaints .footer-aipor-logo{
        width:145px;
    }

    .footer-complaints + .footer-bottom{
        margin-top:32px;
    }

    .client-area-modal{
        padding:12px;
    }

    .client-area-modal-card{
        width:100%;
        padding:40px 24px 30px;
        border-radius:20px;
    }

    .client-area-modal-icon{
        width:70px;
        height:70px;
        margin-bottom:18px;
        border-radius:20px;
        font-size:28px;
    }

    .client-area-modal h2{
        font-size:26px;
    }

    .client-area-modal p{
        margin-bottom:23px;
        font-size:14px;
        line-height:1.65;
    }

    .client-area-modal-confirm{
        width:100%;
    }
}

@media(prefers-reduced-motion:reduce){
    .client-area-modal,
    .client-area-modal-card{
        transition:none;
    }
}
