:root{--gold:#d8a525;--gold2:#ffcc4d;--black:#050505;--text:#f7f7f7;--muted:#cfcfcf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#070707;color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.hero{min-height:100vh;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.72),rgba(0,0,0,.44)),url('assets/ponte-estaiada-sjc.jpg') center/cover fixed;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(216,165,37,.25),transparent 35%);pointer-events:none}.topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 6vw;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);border-bottom:1px solid rgba(216,165,37,.25)}.logo{height:66px;max-width:360px;object-fit:contain}.menu{display:flex;gap:24px;color:#eee;font-size:14px;text-transform:uppercase;letter-spacing:1px}.menu a:hover{color:var(--gold2)}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 420px;gap:40px;align-items:center;padding:70px 6vw}.tag{display:inline-block;color:var(--gold2);letter-spacing:3px;text-transform:uppercase;font-size:12px;font-weight:bold;margin-bottom:16px}.center{text-align:center;display:block}h1{font-size:clamp(38px,6vw,82px);line-height:.95;margin:0 0 22px;text-transform:uppercase;max-width:850px}h2{font-size:clamp(28px,4vw,48px);margin:0 0 16px;text-align:center}p{color:var(--muted);font-size:18px;line-height:1.55}.hero-text p{font-size:22px;max-width:720px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:999px;font-weight:bold;letter-spacing:.6px}.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111}.outline{border:1px solid var(--gold);color:#fff;background:rgba(0,0,0,.25)}.quote-card{background:rgba(8,8,8,.86);border:1px solid rgba(216,165,37,.45);box-shadow:0 20px 80px rgba(0,0,0,.55);border-radius:26px;padding:26px}.quote-card h2{text-align:left;font-size:28px}.quote-card input,.quote-card select{width:100%;margin:8px 0;padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.13);background:#121212;color:#fff;outline:none}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-card button{width:100%;margin-top:12px;border:0;border-radius:14px;padding:15px;background:linear-gradient(135deg,var(--gold),var(--gold2));font-weight:900;color:#111;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(216,165,37,.25);border-bottom:1px solid rgba(216,165,37,.25);background:#0b0b0b}.stats div{padding:28px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.08)}.stats strong{display:block;color:var(--gold2);font-size:28px}.stats span{color:#bbb}.section{padding:80px 6vw}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:35px}.cards article{background:linear-gradient(180deg,#151515,#0c0c0c);border:1px solid rgba(216,165,37,.25);border-radius:22px;padding:28px;min-height:210px}.cards h3{color:var(--gold2);font-size:24px}.dark{background:linear-gradient(180deg,#0b0b0b,#000)}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.split h2{text-align:left}.split img{width:100%;border-radius:24px;border:1px solid rgba(216,165,37,.28)}li{margin:10px 0;color:#ddd}.carousel{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(216,165,37,.35);box-shadow:0 25px 70px rgba(0,0,0,.5);margin-top:32px}.track{display:flex;transition:transform .45s ease}.track img{width:100%;min-width:100%;height:620px;object-fit:cover}.prev,.next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.55);color:#fff;font-size:38px;cursor:pointer}.prev{left:16px}.next{right:16px}.coverage{text-align:center}.cta{text-align:center;background:radial-gradient(circle,rgba(216,165,37,.2),transparent 55%)}.cta img{width:min(240px,65vw);margin-bottom:20px}.pulse{animation:pulse 1.2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,204,77,.7)}70%{box-shadow:0 0 0 18px rgba(255,204,77,0)}100%{box-shadow:0 0 0 0 rgba(255,204,77,0)}}.zap-float{position:fixed;right:22px;bottom:22px;z-index:10;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#20c35a;color:#fff;font-size:34px;font-weight:bold;box-shadow:0 0 0 0 rgba(32,195,90,.8);animation:zap 1s infinite}@keyframes zap{70%{box-shadow:0 0 0 18px rgba(32,195,90,0)}}footer{text-align:center;padding:34px 6vw;background:#000;border-top:1px solid rgba(216,165,37,.25)}footer p, footer small{font-size:14px;color:#aaa}@media(max-width:900px){.menu{display:none}.hero-content{grid-template-columns:1fr;padding:42px 5vw}.quote-card{max-width:100%}.logo{height:54px;max-width:280px}.stats,.cards,.split{grid-template-columns:1fr}.track img{height:420px}h1{font-size:42px}.hero-text p{font-size:18px}.section{padding:56px 5vw}.hero{background-attachment:scroll}.topbar{justify-content:center}.row{grid-template-columns:1fr}}


.hero{
background-image:url("assets/ponte-estaiada-sjc.jpg") !important;
background-size:cover !important;
background-position:center center !important;
background-repeat:no-repeat !important;
}



/* Fundo mais escuro e cinematográfico */
.hero{
position:relative !important;
overflow:hidden !important;
}

.hero::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at top left, rgba(0,0,0,0.78), transparent 35%),
radial-gradient(circle at top right, rgba(0,0,0,0.78), transparent 35%),
radial-gradient(circle at bottom left, rgba(0,0,0,0.78), transparent 35%),
radial-gradient(circle at bottom right, rgba(0,0,0,0.78), transparent 35%),
linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55));
z-index:1;
pointer-events:none;
}

/* garante conteúdo acima do efeito */
.hero > *{
position:relative;
z-index:2;
}



/* Botão WhatsApp moderno */
.whatsapp-float{
position:fixed;
right:22px;
bottom:22px;
width:68px;
height:68px;
border-radius:50%;
background:#25D366;
display:flex;
align-items:center;
justify-content:center;
font-size:34px;
text-decoration:none;
box-shadow:0 0 22px rgba(37,211,102,.65);
z-index:9999;
animation:pulseWhats 1.6s infinite;
}

@keyframes pulseWhats{
0%{transform:scale(1);}
50%{transform:scale(1.08);}
100%{transform:scale(1);}
}



.whatsapp-real{
position:fixed !important;
right:20px !important;
bottom:20px !important;
width:72px !important;
height:72px !important;
border-radius:50% !important;
background:#25D366 !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
z-index:999999 !important;
box-shadow:0 0 25px rgba(37,211,102,.7) !important;
animation:zapPulse 1.5s infinite !important;
}

.whatsapp-real svg{
width:38px !important;
height:38px !important;
display:block !important;
}

@keyframes zapPulse{
0%{transform:scale(1);}
50%{transform:scale(1.1);}
100%{transform:scale(1);}
}



/* Carrossel menor e mais elegante */
.carousel,
.galeria,
.swiper,
.slider{
max-width:900px !important;
margin:auto !important;
}

.carousel img,
.galeria img,
.swiper img,
.slider img{
max-height:420px !important;
width:100% !important;
object-fit:cover !important;
border-radius:24px !important;
box-shadow:0 0 25px rgba(0,0,0,.45) !important;
}

/* mobile */
@media(max-width:768px){
.carousel img,
.galeria img,
.swiper img,
.slider img{
max-height:280px !important;
border-radius:18px !important;
}
}



/* Ajuste do formulário para celular: data e hora visíveis */
.form-card,
.form-box,
.orcamento,
form{
  overflow: visible !important;
}

form input,
form select,
form textarea{
  min-height: 58px !important;
  font-size: 16px !important;
  box-sizing: border-box !important;
}

/* Campos de data e hora com label visível */
.campo-mobile-wrap{
  width: 100% !important;
  margin: 14px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}

.campo-mobile-wrap label{
  color: #d4af37 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: .5px !important;
  margin-left: 6px !important;
}

.campo-mobile-wrap input[type="date"],
.campo-mobile-wrap input[type="time"]{
  width: 100% !important;
  height: 62px !important;
  padding: 0 22px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(12,12,12,.92) !important;
  color: #ffffff !important;
  font-size: 17px !important;
  display: block !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
}

/* Correção especial iPhone/Safari */
input[type="date"]::-webkit-date-and-time-value,
input[type="time"]::-webkit-date-and-time-value{
  text-align: left !important;
  color: #ffffff !important;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
  filter: invert(1) brightness(1.8) !important;
  opacity: 1 !important;
}

/* Em telas pequenas, evitar campos achatados */
@media(max-width:768px){
  .form-card,
  .form-box,
  .orcamento{
    padding: 28px 18px !important;
    width: calc(100% - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  form{
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  form input,
  form select,
  form button{
    width: 100% !important;
    min-height: 60px !important;
  }
}




.instagram-icon{
font-size:24px;
}
.instagram-text strong{
font-size:16px;
}
}

