:root{
    --navy:#0e1b2c;
    --navy-light:#16283f;
    --amber:#e8a13d;
    --amber-dark:#c9821f;
    --bs-body-font-family:'Inter',sans-serif;
}
h1,h2,h3,h4,h5,.navbar-brand{font-family:'Poppins',sans-serif;}
body{color:#1c2530;}
a{text-decoration:none;}

.text-navy{color:var(--navy)!important;}
.text-amber{color:var(--amber)!important;}
.bg-navy{background-color:var(--navy)!important;}
.bg-amber{background-color:var(--amber)!important;}
.bg-soft{background-color:#f7f8fa!important;}

.btn-amber{background-color:var(--amber);border-color:var(--amber);color:#241300;font-weight:600;}
.btn-amber:hover{background-color:var(--amber-dark);border-color:var(--amber-dark);color:#241300;}
.btn-outline-light-custom{border:1.5px solid rgba(255,255,255,.5);color:#fff;font-weight:600;}
.btn-outline-light-custom:hover{background:rgba(255,255,255,.12);color:#fff;}

.navbar{transition:background-color .3s ease, box-shadow .3s ease, padding .3s ease;}
.navbar.scrolled{background-color:var(--navy)!important;box-shadow:0 4px 20px rgba(0,0,0,.15);}
.navbar .nav-link{color:#dfe6ee;font-weight:500;}
.navbar .nav-link:hover{color:var(--amber);}

.hero{background:
    radial-gradient(1100px 600px at 85% 10%, rgba(232,161,61,.18), transparent 60%),
    linear-gradient(120deg, var(--navy) 0%, #12233a 55%, #0a1522 100%);
    padding-top:160px;padding-bottom:100px;position:relative;overflow:hidden;
}
.hero h1{font-weight:800;letter-spacing:-.5px;}
.hero .lead{color:#a9b7c6;}
.hero-stat strong{font-size:1.8rem;font-weight:800;color:#fff;display:block;}
.hero-stat span{color:#a9b7c6;font-size:.8rem;}

.hero-visual{position:relative;height:420px;}
.hero-card-main{position:absolute;inset:0;background:linear-gradient(160deg, rgba(232,161,61,.25), rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);border-radius:1rem;display:flex;align-items:flex-end;padding:1.75rem;}
.hero-card-badge{position:absolute;top:20px;right:-10px;width:190px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px);border-radius:1rem;padding:1.1rem;box-shadow:0 20px 40px rgba(0,0,0,.35);color:#fff;}
.hero-card-pill{position:absolute;bottom:24px;left:-20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px);border-radius:1rem;padding:1rem;box-shadow:0 20px 40px rgba(0,0,0,.35);color:#fff;display:flex;align-items:center;gap:12px;}
.hero-card-pill .ic{width:42px;height:42px;border-radius:10px;background:var(--amber);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}

.stats-strip{background:var(--navy);}
.stats-strip strong{font-size:2rem;font-weight:800;color:var(--amber);display:block;}
.stats-strip span{color:#a9b7c6;font-size:.85rem;}

.icon-tile{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#fff2df,#ffe3b3);display:flex;align-items:center;justify-content:center;font-size:1.5rem;}
.service-card, .process-card, .testi-card, .google-card{border:1px solid #edf0f3;border-radius:1rem;transition:transform .2s ease, box-shadow .2s ease;}
.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(14,27,44,.1);}

.about-visual{position:relative;min-height:380px;border-radius:1rem;background:linear-gradient(150deg, var(--navy), #1c3350);overflow:hidden;}
.brand-logo{width:38px;height:38px;object-fit:contain;}
.about-visual .big-icon{position:absolute;width:300px;height:300px;opacity:.12;right:-40px;bottom:-40px;}
.about-visual .exp-badge{position:absolute;left:20px;bottom:20px;background:var(--amber);color:#241300;padding:1rem 1.25rem;border-radius:12px;box-shadow:0 16px 30px rgba(0,0,0,.25);}
.about-visual .exp-badge strong{font-size:1.8rem;font-weight:800;display:block;}
.check-item i{color:var(--amber-dark);background:rgba(232,161,61,.18);border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;flex-shrink:0;}

.step-num{font-size:2.4rem;font-weight:800;color:rgba(232,161,61,.35);}

.gallery-filters .btn{border-radius:50px;font-size:.85rem;font-weight:600;padding:.4rem 1rem;border:1px solid #d9dee5;color:var(--navy);background:#fff;}
.gallery-filters .btn.active,.gallery-filters .btn:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
.gallery-wrap{position:relative;}
.gallery-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.25rem .25rem 1rem;scrollbar-width:thin;}
.gallery-item{flex:0 0 78%;scroll-snap-align:start;border:0;padding:0;background:none;border-radius:1rem;overflow:hidden;position:relative;aspect-ratio:3/4;box-shadow:0 6px 18px rgba(14,27,44,.08);cursor:zoom-in;}
@media (min-width:576px){.gallery-item{flex-basis:45%;}}
@media (min-width:992px){.gallery-item{flex-basis:calc(25% - .75rem);}}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-item .cap{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1rem .9rem;background:linear-gradient(transparent,rgba(14,27,44,.85));color:#fff;text-align:left;font-size:.85rem;line-height:1.3;}
.gallery-item .cap small{display:block;color:var(--amber);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;margin-bottom:.2rem;}
.gallery-nav{position:absolute;top:calc(50% - .5rem);transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--navy);box-shadow:0 6px 18px rgba(14,27,44,.18);display:flex;align-items:center;justify-content:center;font-size:1.2rem;z-index:2;}
.gallery-nav:hover{background:var(--amber);color:#241300;}
.gallery-nav.prev{left:-18px;} .gallery-nav.next{right:-18px;}
#obraModal .modal-content{background:#0b1522;border:0;}
#obraModal .carousel-item img{max-height:80vh;width:auto;max-width:100%;margin:0 auto;display:block;border-radius:.5rem;}
#obraModal .modal-caption{color:#dfe6ee;font-size:.9rem;}

.avatar-circle{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0;}
.stars{color:var(--amber);letter-spacing:2px;}

.g-logo span{font-weight:800;font-size:1.6rem;font-family:'Poppins',sans-serif;}

.cta-section{background:linear-gradient(120deg, var(--navy), #1c3350);}

.msg-float{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:1080;}
.msg-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:50px;box-shadow:0 10px 24px rgba(0,0,0,.25);transition:transform .2s;}
.msg-btn:hover{transform:scale(1.06);}
.msg-sms{height:58px;min-width:58px;padding:0 1.25rem;background:var(--amber);color:#241300;font-size:1.4rem;}
.msg-sms:hover{color:#241300;}
.msg-sms .msg-label{font-size:.95rem;font-weight:700;}
.msg-whatsapp{width:46px;height:46px;background:#25D366;color:#fff;font-size:1.3rem;margin-right:6px;}
.msg-whatsapp:hover{color:#fff;}
@media (max-width:575.98px){.msg-sms{padding:0;} .msg-sms .msg-label{display:none;}}

.form-control:focus{border-color:var(--amber);box-shadow:0 0 0 .2rem rgba(232,161,61,.2);}
.eyebrow{display:inline-block;color:var(--amber-dark);background:rgba(232,161,61,.12);font-weight:600;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .9rem;border-radius:30px;}
.eyebrow-dark{color:var(--amber);background:rgba(232,161,61,.15);}

footer a{color:#a9b7c6;}
footer a:hover{color:var(--amber);}
.social-icon{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s;}
.social-icon:hover{background:var(--amber);color:#241300;}

.lang-switch a{color:#dfe6ee;font-weight:600;font-size:.8rem;padding:.2rem .45rem;border-radius:6px;}
.lang-switch a.active{background:rgba(232,161,61,.18);color:var(--amber);}
.lang-switch a:hover{color:var(--amber);}
.sms-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:300px;background:#fff;border-radius:1rem;padding:1.25rem;box-shadow:0 20px 50px rgba(14,27,44,.3);}
.sms-panel[hidden]{display:none;}
.sms-panel-close{position:absolute;top:.9rem;right:.9rem;font-size:.7rem;}
.sms-qr{width:180px;height:180px;margin:.5rem auto .75rem;background:#f7f8fa;border-radius:.5rem;}
.sms-qr svg{width:100%;height:100%;display:block;}
.sms-number{font-weight:700;color:var(--navy);font-size:1.05rem;}
.sms-form-link{color:var(--amber-dark);font-weight:600;}
.sms-form-link:hover{color:var(--navy);}
.sms-panel-wa{background:#25D366;color:#fff;font-weight:600;}
.sms-panel-wa:hover{background:#1ebe5a;color:#fff;}

/* Menu no celular/tablet: fundo sólido para o menu aberto não se misturar com o conteúdo */
@media (max-width:991.98px){
    .navbar{background-color:var(--navy);box-shadow:0 4px 20px rgba(0,0,0,.15);}
    .navbar:has(.navbar-collapse.show),.navbar:has(.navbar-collapse.collapsing){border-bottom:2px solid var(--amber);box-shadow:0 20px 40px rgba(0,0,0,.45);}
    .navbar .navbar-collapse{max-height:calc(100vh - 80px);overflow-y:auto;}
    .navbar .navbar-nav{margin-top:.75rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1);}
    .navbar .nav-link{padding:.7rem .25rem;border-bottom:1px solid rgba(255,255,255,.06);}
    .navbar .navbar-collapse > .d-flex{flex-wrap:wrap;justify-content:space-between;padding:1rem 0 .5rem;}
    .navbar .navbar-collapse .btn-amber{flex:1 1 100%;padding:.6rem;font-size:1rem;}
    .navbar .lang-switch a{font-size:.9rem;padding:.35rem .7rem;}
}
