:root{
    --navy-950:#050D26;
    --navy-900:#0A2150;
    --navy-800:#123E8C;
    --navy-700:#1E63C4;
    --navy-600:#3E86E0;
    --gold-500:#F5A623;
    --amber-400:#FFC93D;
    --cream-50:#FAF9F5;
    --ink:#0A1F44;
    --ink-soft:#4A5876;
    --white:#FFFFFF;
    --line:rgba(10,31,68,0.10);
    --shadow:0 20px 50px -20px rgba(10,31,68,0.35);
    --radius:16px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',system-ui,sans-serif;
    color:var(--ink);
    background:var(--cream-50);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:'Sora',sans-serif; color:var(--navy-900); line-height:1.15;}
  a{text-decoration:none; color:inherit;}
  img{max-width:100%; display:block;}
  ul{list-style:none;}
  button{font-family:inherit; cursor:pointer; border:none;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:12.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--gold-500);
  }
  .eyebrow::before{content:""; width:22px; height:2px; background:var(--gold-500); display:inline-block;}
  .section{padding:100px 0;}
  .section-head{max-width:640px; margin-bottom:56px;}
  .section-head h2{font-size:clamp(28px,3.6vw,42px); margin-top:14px;}
  .section-head p{color:var(--ink-soft); font-size:18px; margin-top:14px;}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:15px 28px; border-radius:999px; font-weight:700; font-size:18px;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    white-space:nowrap;
  }
  .btn-gold{background:linear-gradient(135deg,var(--amber-400),var(--gold-500)); color:var(--navy-950); box-shadow:0 12px 30px -10px rgba(245,166,35,0.55);}
  .btn-gold:hover{transform:translateY(-2px); box-shadow:0 16px 36px -8px rgba(245,166,35,0.65);}
  .btn-ghost{background:rgba(255,255,255,0.08); color:var(--white); border:1.5px solid rgba(255,255,255,0.35); backdrop-filter:blur(6px);}
  .btn-ghost:hover{background:rgba(255,255,255,0.16); transform:translateY(-2px);}
  .btn-navy{background:var(--navy-900); color:var(--white);}
  .btn-navy:hover{background:var(--navy-800); transform:translateY(-2px);}

  /* ---------- HEADER ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:14px 0; transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
  }
  header.scrolled{background:rgba(10,31,68,0.94); backdrop-filter:blur(10px); padding:10px 0; box-shadow:0 10px 30px -12px rgba(0,0,0,0.4);}
  header .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px;}
  .brand{display:flex; align-items:center; gap:10px; flex-shrink:0;}
  .brand svg{width:42px; height:42px; flex-shrink:0;}
  .brand-text{display:flex; flex-direction:column; line-height:1.05; white-space:nowrap;}
  .brand-logo{height:80px; width:auto; flex-shrink:0;}
  .brand-text strong{font-family:'Sora',sans-serif; font-weight:800; font-size:19px; color:var(--white); letter-spacing:0.01em; text-shadow:0 1px 4px rgba(7,22,51,0.4);}
  .brand-text span{font-family:'Sora',sans-serif; font-size:10.5px; letter-spacing:0.22em; color:var(--amber-400); font-weight:700; text-shadow:0 1px 3px rgba(7,22,51,0.5);}
  nav ul{display:flex; align-items:center; gap:30px;}
  nav a{color:var(--amber-400); font-size:20px; font-weight:700; transition:color .2s; white-space:nowrap;}
  nav a:hover{color:#FFDD7A;}
  .header-cta{display:flex; align-items:center; gap:14px;}
  .header-cta .btn{padding:12px 22px; font-size:14px;}
  .burger{display:none; flex-direction:column; gap:5px; background:none; z-index:110;}
  .burger span{width:26px; height:2.5px; background:var(--white); border-radius:2px;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative; overflow:hidden;
    background:radial-gradient(120% 100% at 50% 0%,var(--navy-700) 0%,var(--navy-800) 22%,var(--navy-900) 55%,var(--navy-950) 100%);
    padding:180px 0 130px;
    isolation:isolate;
  }
  .hero::after{
    content:""; position:absolute; left:50%; top:38%; transform:translate(-50%,-50%);
    width:900px; height:900px; max-width:140vw; max-height:140vw;
    background:radial-gradient(circle,rgba(245,166,35,0.12) 0%,transparent 62%);
    z-index:0; pointer-events:none;
  }
  .hero-rays{position:absolute; top:-430px; left:50%; transform:translateX(-50%); width:900px; max-width:220vw; z-index:0; opacity:0.85;}
  .hero-rays path{transform-origin:450px 450px;}
  .hero .wrap{position:relative; z-index:2;}
  .hero-content{max-width:780px; margin:0 auto; text-align:center;}
  .hero-eyebrow-badge{
    display:inline-flex; align-items:center; gap:10px; padding:8px 20px; border-radius:999px;
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); backdrop-filter:blur(6px);
  }
  .hero-content h1{
    font-size:clamp(34px,5.6vw,60px); color:var(--white); margin-top:22px; font-weight:800;
    letter-spacing:-0.01em;
  }
  .hero-content h1 em{
    font-style:normal; background:linear-gradient(100deg,var(--amber-400),var(--gold-500) 60%,var(--amber-400));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero-content p{color:rgba(255,255,255,0.78); font-size:18px; max-width:600px; margin:22px auto 0;}
  .hero-actions{display:flex; align-items:center; justify-content:center; gap:16px; margin-top:38px; flex-wrap:wrap;}
  .hero-trust{
    display:flex; align-items:center; justify-content:center; gap:14px; margin-top:56px; flex-wrap:wrap;
  }
  .hero-trust div{
    display:flex; align-items:center; gap:9px; color:rgba(255,255,255,0.82); font-size:13px; font-weight:600;
    padding:10px 18px; border-radius:999px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12);
    transition:background .25s ease, transform .25s ease;
  }
  .hero-trust div:hover{background:rgba(255,255,255,0.09); transform:translateY(-2px);}
  .hero-trust svg{width:18px; height:18px; color:var(--amber-400); flex-shrink:0;}

  /* ---------- STATS ---------- */
  .stats{background:var(--navy-950); padding:0;}
  .stats .wrap{
    display:grid; grid-template-columns:repeat(3,1fr);
    transform:translateY(-40px);
    background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow);
    overflow:hidden;
  }
  .stat{padding:34px 20px; text-align:center; border-right:1px solid var(--line);}
  .stat:last-child{border-right:none;}
  .stat strong{display:block; font-family:'Sora',sans-serif; font-size:clamp(26px,3vw,34px); color:var(--navy-900); font-weight:800;}
  .stat span{display:block; margin-top:6px; font-size:13px; color:var(--ink-soft); font-weight:600;}

  /* ---------- VANTAGENS ---------- */
  .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .card{
    background:var(--white); border-radius:var(--radius); padding:32px 26px;
    border:1px solid var(--line); transition:transform .3s ease, box-shadow .3s ease;
  }
  .card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
  .card .icon{
    width:52px; height:52px; border-radius:14px; background:linear-gradient(135deg,var(--navy-700),var(--navy-900));
    display:flex; align-items:center; justify-content:center; margin-bottom:18px;
  }
  .card .icon svg{width:26px; height:26px; color:var(--amber-400);}
  .card h3{font-size:18px; margin-bottom:8px;}
  .card p{color:var(--ink-soft); font-size:14.5px;}

  /* ---------- COMO FUNCIONA ---------- */
  .steps{position:relative;}
  .steps-track{
    display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative;
  }
  .steps-track::before{
    content:""; position:absolute; top:26px; left:12%; right:12%; height:2px;
    background:repeating-linear-gradient(90deg,var(--line) 0 8px,transparent 8px 16px); z-index:0;
  }
  .step{position:relative; z-index:1; text-align:left;}
  .step-num{
    width:52px; height:52px; border-radius:50%; background:var(--navy-900); color:var(--amber-400);
    display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:800; font-size:19px;
    margin-bottom:20px; box-shadow:0 10px 22px -8px rgba(10,31,68,0.5);
  }
  .step h3{font-size:16.5px; margin-bottom:8px;}
  .step p{color:var(--ink-soft); font-size:14px;}

  /* ---------- JORNADA (SEU CAMINHO) ---------- */
  .journey{display:flex; flex-direction:column; gap:64px;}
  .journey-row{display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center;}
  .journey-row.reverse{direction:rtl;}
  .journey-row.reverse > *{direction:ltr;}
  .journey-text h3{font-size:24px; margin:14px 0 12px;}
  .journey-text p{color:var(--ink-soft); font-size:15px; margin-bottom:18px;}
  .journey-list{display:flex; flex-direction:column; gap:10px;}
  .journey-list li{
    position:relative; padding-left:24px; font-size:14.5px; color:var(--navy-900); font-weight:600;
  }
  .journey-list li::before{
    content:""; position:absolute; left:0; top:7px; width:8px; height:8px; border-radius:50%; background:var(--gold-500);
  }
  .journey-art{
    aspect-ratio:1/1; max-width:280px; margin:0 auto; border-radius:50%;
    display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow);
  }
  .journey-art svg{width:100%; height:100%;}

  /* ---------- FINANCIAMENTO ---------- */
  .financing{background:linear-gradient(120deg,var(--navy-800) 0%,var(--navy-900) 45%,var(--navy-950) 100%); padding:64px 0;}
  .financing-wrap{display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
  .financing-text{max-width:560px;}
  .financing-text h2{color:var(--white); font-size:clamp(24px,3vw,32px); margin-top:12px;}
  .financing-text p{color:rgba(255,255,255,0.68); font-size:15px; margin:14px 0 24px;}
  .financing-cards{display:flex; gap:14px; flex-wrap:wrap;}
  .pay-icon{
    width:68px; height:46px; border-radius:8px; background:var(--white); display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 24px -10px rgba(0,0,0,0.4); padding:8px;
  }
  .pay-icon svg{width:100%; height:100%;}

  /* ---------- SOBRE ---------- */
  .sobre-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:12px;}
  .sobre-col h3{font-size:19px; margin-bottom:22px; color:var(--navy-900);}
  .sobre-item{padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--line);}
  .sobre-item:last-child{border-bottom:none; margin-bottom:0; padding-bottom:0;}
  .sobre-item strong{display:block; font-size:18px; color:var(--navy-900); margin-bottom:6px; font-family:'Sora',sans-serif;}
  .sobre-item p{font-size:14px; color:var(--ink-soft);}
  .sobre-checklist{display:flex; flex-direction:column; gap:16px;}
  .sobre-checklist li{
    position:relative; padding-left:32px; font-size:14.5px; color:var(--navy-900); font-weight:600;
  }
  .sobre-checklist li::before{
    content:"✓"; position:absolute; left:0; top:-1px; width:22px; height:22px; border-radius:50%;
    background:var(--gold-500); color:var(--navy-950); font-size:12px; font-weight:800;
    display:flex; align-items:center; justify-content:center;
  }
  .sobre-area{
    margin-top:64px; padding:40px; border-radius:var(--radius); background:var(--cream-50);
    text-align:center;
  }
  .sobre-area h3{font-size:17px; color:var(--navy-900); margin-bottom:12px;}
  .sobre-area p{font-size:14.5px; color:var(--ink-soft); max-width:640px; margin:0 auto;}
  .sobre-tagline{
    display:inline-block; margin-top:22px; font-family:'Sora',sans-serif; font-weight:700; font-size:15px;
    color:var(--navy-900);
  }

  /* ---------- PLACAS SOLARES ---------- */
  .placas-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px; align-items:center;}
  .placas-art{max-width:320px; margin:0 auto;}
  .placas-art svg{width:100%; height:auto;}
  .placas-text h2{margin-top:14px; font-size:clamp(24px,3vw,32px);}
  .placas-text p{color:var(--ink-soft); font-size:15.5px; margin:16px 0 22px;}
  .placas-chips{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px;}
  .placas-chip{
    padding:9px 16px; border-radius:999px; background:var(--cream-50); border:1px solid var(--line);
    font-size:13px; font-weight:700; color:var(--navy-900);
  }

  /* ---------- WALLBOX ---------- */
  .wallbox-grid{display:grid; grid-template-columns:1.2fr 0.8fr; gap:56px; align-items:center;}
  .wallbox-art{max-width:300px; margin:0 auto;}
  .wallbox-art svg{width:100%; height:auto;}
  .wallbox-text h2{margin-top:14px; font-size:clamp(24px,3vw,32px);}
  .wallbox-text p{color:var(--ink-soft); font-size:15.5px; margin:16px 0 20px;}
  .wallbox-list{display:flex; flex-direction:column; gap:10px; margin-bottom:26px;}
  .wallbox-list li{
    position:relative; padding-left:24px; font-size:14.5px; color:var(--navy-900); font-weight:600;
  }
  .wallbox-list li::before{
    content:""; position:absolute; left:0; top:7px; width:8px; height:8px; border-radius:50%; background:var(--gold-500);
  }

  /* ---------- SERVIÇOS ---------- */
  .servicos{background:var(--navy-950); position:relative; overflow:hidden;}
  .servicos::before{
    content:""; position:absolute; inset:0;
    background:radial-gradient(60% 60% at 85% 10%,rgba(245,166,35,0.10),transparent 60%);
  }
  .servicos .section-head h2,.servicos .section-head p{color:var(--white);}
  .servicos .section-head p{color:rgba(255,255,255,0.65);}
  .servicos .eyebrow{color:var(--amber-400);}
  .serv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; z-index:1;}
  .serv-card{
    background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.10); border-radius:var(--radius);
    padding:34px 26px; transition:transform .3s ease, background .3s ease;
  }
  .serv-card:hover{transform:translateY(-6px); background:rgba(255,255,255,0.07);}
  .serv-card .icon{
    width:50px; height:50px; border-radius:14px; background:linear-gradient(135deg,var(--amber-400),var(--gold-500));
    display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  }
  .serv-card .icon svg{width:24px; height:24px; color:var(--navy-950);}
  .serv-card h3{color:var(--white); font-size:19px; margin-bottom:10px;}
  .serv-card p{color:rgba(255,255,255,0.62); font-size:14.5px; margin-bottom:20px;}
  .serv-card a{color:var(--amber-400); font-weight:700; font-size:14px; display:inline-flex; align-items:center; gap:6px;}
  .serv-card a svg{width:14px; height:14px; transition:transform .2s;}
  .serv-card a:hover svg{transform:translateX(3px);}

  /* ---------- GALERIA ---------- */

.gallery-filters{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:32px;
}

.gallery-filter{
    padding:10px 20px;
    border-radius:999px;
    border:1.5px solid var(--line);
    background:var(--white);
    font-size:13.5px;
    font-weight:700;
    color:var(--ink-soft);
    transition:all .2s ease;
}

.gallery-filter:hover{
    border-color:var(--gold-500);
    color:var(--navy-900);
}

.gallery-filter.active{
    background:var(--navy-900);
    border-color:var(--navy-900);
    color:var(--white);
}


/* GALERIA */
.gallery-grid{
    display:grid;

    /* 3 fotos grandes por linha */
    grid-template-columns:repeat(3, 1fr);

    gap:22px;
}


/* TODAS AS FOTOS DO MESMO TAMANHO */
.gallery-item,
.gallery-item.tall,
.gallery-item.wide{
    position:relative;

    width:100%;

    /* tamanho proporcional */
    aspect-ratio:4 / 3;

    grid-column:span 1;
    grid-row:span 1;

    padding:0;

    overflow:hidden;

    border-radius:16px;

    background:#e9edf3;

    cursor:pointer;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


/* FOTO OCUPA TODO O CARD */
.gallery-item img{
    position:absolute;

    width:100%;
    height:100%;

    top:0;
    left:0;

    margin:0;

    object-fit:cover;

    object-position:center;

    display:block;

    transition:transform .5s ease;
}


/* EFEITO */
.gallery-item:hover{
    transform:translateY(-5px);

    box-shadow:
        0 18px 40px -15px rgba(10,31,68,.35);
}

.gallery-item:hover img{
    transform:scale(1.05);
}


/* TEXTO DA FOTO */
.gallery-item-label{
    position:absolute;

    left:0;
    right:0;
    bottom:0;

    padding:40px 18px 15px;

    background:
        linear-gradient(
            transparent,
            rgba(5,13,38,.85)
        );

    color:white;

    font-size:14px;
    font-weight:700;

    text-align:left;

    opacity:0;

    transform:translateY(5px);

    transition:
        opacity .25s ease,
        transform .25s ease;
}


.gallery-item:hover .gallery-item-label{
    opacity:1;
    transform:translateY(0);
}


.gallery-item.hide{
    display:none;
}


.gallery-showmore{
    display:flex;
    justify-content:center;
    margin-top:35px;
}


.gallery-showmore .btn{
    padding:14px 36px;
}


/* TABLET */
@media (max-width:900px){

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
        gap:16px;
    }

}


/* CELULAR */
@media (max-width:600px){

    .gallery-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .gallery-item,
    .gallery-item.tall,
    .gallery-item.wide{
        aspect-ratio:4 / 3;
    }

}

  /* ---------- LIGHTBOX ---------- */
  .lightbox{
    position:fixed; inset:0; background:rgba(7,22,51,0.96); z-index:300;
    display:none; align-items:center; justify-content:center; padding:60px 20px;
  }
  .lightbox.open{display:flex;}
  .lightbox img{max-width:min(900px,90vw); max-height:75vh; border-radius:12px; box-shadow:0 30px 70px -20px rgba(0,0,0,0.6);}
  .lightbox-caption{
    position:absolute; bottom:34px; left:0; right:0; text-align:center; color:var(--white);
    font-size:14.5px; font-weight:600;
  }
  .lightbox-close{
    position:absolute; top:22px; right:26px; font-size:34px; line-height:1; color:var(--white);
    background:none; width:44px; height:44px; border-radius:50%; transition:background .2s;
  }
  .lightbox-close:hover{background:rgba(255,255,255,0.12);}
  .lightbox-nav{
    position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%;
    background:rgba(255,255,255,0.08); color:var(--white); font-size:16px; display:flex; align-items:center; justify-content:center;
    transition:background .2s;
  }
  .lightbox-nav:hover{background:rgba(255,255,255,0.2);}
  .lightbox-prev{left:20px;}
  .lightbox-next{right:20px;}

  /* ---------- SIMULADOR ---------- */
  .sim-panel{
    display:grid; grid-template-columns:1fr 1fr; gap:0;
    background:var(--white); border-radius:20px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line);
  }
  .sim-form{padding:48px 44px; min-width:0;}
  .sim-form label{display:block; font-size:13.5px; font-weight:700; color:var(--navy-900); margin-bottom:8px;}
  .sim-form .field{margin-bottom:22px;}
  .sim-input-wrap{position:relative;}
  .sim-input-wrap span{position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--ink-soft); font-weight:600;}
  .sim-form input[type=number]{
    width:100%; padding:15px 16px 15px 42px; border-radius:12px; border:1.5px solid var(--line);
    font-size:16px; font-weight:600; color:var(--navy-900); background:var(--cream-50);
  }
  .sim-form input:focus{outline:none; border-color:var(--gold-500);}
  .sim-form select{
    width:100%; padding:15px 16px; border-radius:12px; border:1.5px solid var(--line);
    font-size:15px; font-weight:600; color:var(--navy-900); background:var(--cream-50);
  }
  .sim-cta{width:100%; margin-top:6px;}
  .sim-progress{display:flex; align-items:center; gap:0; margin-bottom:32px;}
  .sim-progress-step{
    width:32px; height:32px; border-radius:50%; background:var(--cream-50); border:1.5px solid var(--line);
    display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:700; font-size:13px;
    color:var(--ink-soft); flex-shrink:0; transition:all .25s ease;
  }
  .sim-progress-step.active{background:var(--navy-900); border-color:var(--navy-900); color:var(--white);}
  .sim-progress-step.done{background:var(--gold-500); border-color:var(--gold-500); color:var(--navy-950);}
  .sim-progress-line{flex:1; height:2px; background:var(--line); margin:0 8px;}
  .sim-step{display:none;}
  .sim-step.active{display:block;}
  .sim-step > label{display:block; font-size:16px; font-weight:700; color:var(--navy-900); margin-bottom:18px; font-family:'Sora',sans-serif;}
  .sim-step input[type=text]{
    width:100%; padding:15px 16px; border-radius:12px; border:1.5px solid var(--line);
    font-size:16px; font-weight:600; color:var(--navy-900); background:var(--cream-50); margin-bottom:8px;
  }
  .sim-step input:focus{outline:none; border-color:var(--gold-500);}
  .sim-hint{font-size:12.5px; color:var(--ink-soft); margin:6px 0 18px;}
  .sim-options{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:8px;}
  .sim-option{
    text-align:left; padding:16px; border-radius:12px; border:1.5px solid var(--line); background:var(--cream-50);
    display:flex; flex-direction:column; gap:2px; transition:all .2s ease;
  }
  .sim-option strong{font-size:14.5px; color:var(--navy-900); font-family:'Sora',sans-serif;}
  .sim-option span{font-size:12px; color:var(--ink-soft);}
  .sim-option:hover{border-color:var(--gold-500);}
  .sim-option.selected{background:var(--navy-900); border-color:var(--navy-900);}
  .sim-option.selected strong{color:var(--white);}
  .sim-option.selected span{color:rgba(255,255,255,0.6);}
  .sim-nav{display:flex; gap:12px; margin-top:22px;}
  .sim-nav .btn{flex:1; min-width:0;}
  .btn-ghost-navy{background:var(--cream-50); color:var(--navy-900); border:1.5px solid var(--line);}
  .btn-ghost-navy:hover{background:var(--white); border-color:var(--navy-900);}
  .sim-result{
    background:linear-gradient(160deg,var(--navy-700) 0%,var(--navy-900) 55%,var(--navy-950) 100%);
    padding:48px 44px; color:var(--white); display:flex; flex-direction:column; justify-content:center; min-width:0;
  }
  .sim-result .label{font-size:13px; color:rgba(255,255,255,0.6); font-weight:600; letter-spacing:0.04em;}
  .sim-result .big{font-family:'Sora',sans-serif; font-weight:800; font-size:44px; color:var(--amber-400); margin:6px 0 22px;}
  .sim-row{display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-top:1px solid rgba(255,255,255,0.12);}
  .sim-row:last-of-type{border-bottom:1px solid rgba(255,255,255,0.12);}
  .sim-row span:first-child{color:rgba(255,255,255,0.68); font-size:14px;}
  .sim-row span:last-child{font-weight:700; font-size:15px;}
  .sim-note{font-size:12.5px; color:rgba(255,255,255,0.45); margin-top:20px;}
  .sim-result .btn{margin-top:22px;}

  /* ---------- DEPOIMENTOS ---------- */
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .testi{background:var(--white); border-radius:var(--radius); padding:30px 26px; border:1px solid var(--line);}
  .testi .stars{color:var(--gold-500); font-size:15px; letter-spacing:2px; margin-bottom:14px;}
  .testi p{color:var(--ink-soft); font-size:14.5px; margin-bottom:20px;}
  .testi-author{display:flex; align-items:center; gap:12px;}
  .testi-avatar{
    width:40px; height:40px; border-radius:50%; background:var(--navy-900); color:var(--amber-400);
    display:flex; align-items:center; justify-content:center; font-weight:700; font-family:'Sora',sans-serif; font-size:14px;
  }
  .testi-author strong{display:block; font-size:14px; color:var(--navy-900);}
  .testi-author span{font-size:12.5px; color:var(--ink-soft);}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:800px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
    padding:24px 4px; background:none; text-align:left; font-family:'Sora',sans-serif; font-weight:700; font-size:16.5px; color:var(--navy-900);
  }
  .faq-q svg{width:20px; height:20px; flex-shrink:0; transition:transform .3s ease; color:var(--gold-500);}
  .faq-item.open .faq-q svg{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease;}
  .faq-a p{padding:0 4px 24px; color:var(--ink-soft); font-size:14.5px; max-width:680px;}

  /* ---------- CTA FINAL ---------- */
  .cta-final{
    background:linear-gradient(120deg,var(--navy-800) 0%,var(--navy-900) 50%,var(--navy-950) 100%);
    padding:80px 0; text-align:center; position:relative; overflow:hidden;
  }
  .cta-final::before{
    content:""; position:absolute; width:600px; height:600px; border-radius:50%;
    background:radial-gradient(circle,rgba(245,166,35,0.18),transparent 65%);
    top:-300px; right:-200px;
  }
  .cta-final .wrap{position:relative; z-index:1;}
  .cta-final h2{color:var(--white); font-size:clamp(26px,4vw,38px);}
  .cta-final p{color:rgba(255,255,255,0.7); max-width:520px; margin:16px auto 32px; font-size:16px;}
  .cta-final-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy-950); padding:64px 0 28px; color:rgba(255,255,255,0.6);}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.08);}
  .foot-brand .brand-text strong{color:var(--white);}
  .foot-brand p{font-size:13.5px; margin-top:16px; max-width:280px; color:rgba(255,255,255,0.5);}
  footer h4{color:var(--white); font-size:14px; margin-bottom:16px; font-family:'Sora',sans-serif;}
  footer ul li{margin-bottom:10px;}
  footer ul a{font-size:13.5px; color:rgba(255,255,255,0.55); transition:color .2s;}
  footer ul a:hover{color:var(--amber-400);}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:24px; font-size:12.5px; flex-wrap:wrap; gap:12px;}
  .foot-map-frame{
    width:100%; height:130px; border:0; border-radius:10px; filter:grayscale(0.3) invert(0.92) contrast(0.85);
  }

  /* ---------- WHATSAPP FLOAT ---------- */
  .wa-float{
    position:fixed; bottom:26px; right:26px; z-index:200;
    width:60px; height:60px; border-radius:50%; background:#25D366;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 14px 30px -8px rgba(37,211,102,0.6);
    animation:wa-pulse 2.6s infinite;
  }
  .wa-float svg{width:30px; height:30px; color:var(--white);}
  @keyframes wa-pulse{
    0%{box-shadow:0 0 0 0 rgba(37,211,102,0.55);}
    70%{box-shadow:0 0 0 16px rgba(37,211,102,0);}
    100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
  }

  /* ---------- SCROLL REVEAL ---------- */
  .reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.visible{opacity:1; transform:translateY(0);}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    nav, .header-cta{display:none;}
    .burger{display:flex;}
    .grid-3, .serv-grid, .testi-grid{grid-template-columns:1fr 1fr;}
    .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:130px;}
    .gallery-item.wide{grid-column:span 2;}
    .steps-track{grid-template-columns:1fr 1fr;}
    .steps-track::before{display:none;}
    .sim-panel{grid-template-columns:1fr;}
    .stats .wrap{grid-template-columns:1fr 1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .journey-row, .journey-row.reverse{grid-template-columns:1fr; direction:ltr; gap:28px; text-align:center;}
    .journey-art{order:-1;}
    .journey-list{align-items:center;}
    .journey-list li{text-align:left; display:inline-block;}
    .financing-wrap{justify-content:center; text-align:center;}
    .financing-text{margin:0 auto;}
    .sim-options{grid-template-columns:1fr;}
    .placas-grid, .wallbox-grid{grid-template-columns:1fr; text-align:center; gap:32px;}
    .sobre-grid{grid-template-columns:1fr; gap:36px;}
    .sobre-area{padding:30px 22px;}
    .wallbox-grid{direction:ltr;}
    .wallbox-list{align-items:center;}
    .wallbox-list li{text-align:left; display:inline-block;}
    .placas-chips{justify-content:center;}
  }
  @media (max-width:600px){
    .section{padding:70px 0;}
    .grid-3, .serv-grid, .testi-grid, .steps-track{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:110px; gap:10px;}
    .gallery-item.tall{grid-row:span 2;}
    .lightbox-nav{width:40px; height:40px;}
    .gallery-filters{gap:8px;}
    .gallery-filter{padding:8px 14px; font-size:12.5px;}
    .stats .wrap{grid-template-columns:1fr 1fr;}
    .stat{border-right:none; border-bottom:1px solid var(--line);}
    .hero{padding:150px 0 100px;}
    .sim-form, .sim-result{padding:34px 26px;}
    .sim-nav{flex-direction:column;}
    .sim-nav .btn, .sim-result .btn{white-space:normal; text-align:center; line-height:1.25;}
    .sim-options{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;}
    .financing-cards{justify-content:center;}
    .foot-bottom{flex-direction:column; align-items:flex-start;}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none !important; transition:none !important;}
  }

  /* ---------- MOBILE MENU ---------- */
  .mobile-menu{
    position:fixed; inset:0; background:var(--navy-950); z-index:105;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px;
    transform:translateX(100%); transition:transform .35s ease; padding:40px;
  }
  .mobile-menu.open{transform:translateX(0);}
  .mobile-menu a{color:var(--amber-400); font-family:'Sora',sans-serif; font-size:22px; font-weight:700;}
  .mobile-menu a.btn{color:var(--navy-950);}
  .mobile-menu .btn{margin-top:10px;}

/* Informações institucionais e contato adicionados a partir do briefing */
.company-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:46px 0 12px}.company-pillars article{background:var(--cream-50);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.company-pillars h3{font-size:18px;margin-bottom:10px}.company-pillars p{font-size:14px;color:var(--ink-soft)}
.contact-section{background:var(--cream-50)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:start}.contact-info,.quote-form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px}.contact-info h3{margin-bottom:18px}.contact-info p{color:var(--ink-soft);margin:10px 0}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:14px 15px;font:inherit;color:var(--ink);background:#fff;outline:none}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(245,166,35,.12)}.quote-form textarea,.quote-form button{grid-column:1/-1}.serv-card .icon{font-family:'Sora',sans-serif;font-weight:800;font-size:22px;color:var(--navy-950)}
@media(max-width:800px){.company-pillars,.contact-grid{grid-template-columns:1fr}.quote-form{grid-template-columns:1fr}.quote-form textarea,.quote-form button{grid-column:auto}}


/* Espaçamento para Missão, Visão e Valores */
.sobre-mvv {
    margin-top: 55px;
    padding-top: 35px;
    border-top: 1px solid var(--line);
}

.sobre-mvv h3 {
    margin-top: 28px;
    margin-bottom: 8px;
    font-size: 20px;
}

.sobre-mvv h3:first-child {
    margin-top: 0;
}

.sobre-mvv p {
    margin-bottom: 18px;
    line-height: 1.7;
    color: var(--ink-soft);
}