:root{--primary-color:#ff6600;--secondary-color:#f5f5f5;--background-color:#111;--text-color:#fff;--text-dark:#222;--link-color:#ff6600;--cta-hover-color:#e65700;--shadow-color:rgba(0,0,0,0.3);}
@font-face{font-family:ArtegraSans;src:url('/assets/fonts/artegra-sans-font-artegra.woff2') format('woff2'),url('/assets/fonts/artegra-sans-font-artegra.woff') format('woff');font-weight:400;font-style:normal;font-display:swap;}
body{margin:0;font-family:'Segoe UI',sans-serif;background-color:var(--background-color);color:var(--text-color);}
.nav-toggle{display:none;}
.nav-toggle-label{position:absolute;top:1.5rem;right:1.5rem;display:none;flex-direction:column;justify-content:space-between;width:2rem;height:1.5rem;cursor:pointer;z-index:1000;}
.nav-toggle-label span{display:block;height:3px;background:var(--text-color);border-radius:2px;margin:2px 0;}
.main-nav{position:fixed;top:0;left:0;width:100vw;background:rgba(0,0,0,.92);padding:.5rem .5rem;border-radius:0 0 2rem 2rem;box-shadow:0 4px 24px var(--shadow-color);z-index:2001;display:flex;justify-content:center;align-items:center;}
.main-nav ul{list-style:none;display:flex;gap:2rem;margin:0;padding:0;}
.main-nav a{color:var(--text-color);text-decoration:none;font-weight:600;transition:color .2s;}
.main-nav a:hover{color:var(--primary-color);}
.hero{background:url('/assets/imagens/oficina-fachada-exterior-ribeirao-preto.webp') no-repeat center center/cover;contain:paint;height:100vh;display:flex;align-items:center;justify-content:center;position:relative;color:var(--text-color);}
.overlay{position:absolute;inset:0;background-color:rgba(0,0,0,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;}
.hero-logo{max-width:clamp(160px,20vw,280px);height:auto;margin-bottom:1.5rem;filter:drop-shadow(0 0 4px rgba(0,0,0,.5));transition:transform .3s ease;}
.hero-logo{scale:1.6;}
.hero-logo:hover{transform:scale(1.3);}
.hero-title{font-family:ArtegraSans,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:clamp(1.8rem,4.5vw,3.5rem);line-height:1.03;margin-bottom:1rem;color:var(--primary-color);max-width:1100px;word-break:normal;white-space:normal;text-wrap:balance;}
.hero-subtitle{font-size:1.5rem;font-weight:400;color:var(--secondary-color);margin-bottom:2rem;line-height:1.4;}
.hero-content{max-width:720px;padding:1rem;}
.cta{background-color:var(--primary-color);color:var(--text-color);padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:2rem;text-decoration:none;transition:background .3s ease,transform .2s ease;display:inline-block;box-shadow:0 4px 16px var(--shadow-color);}
.cta:hover{background-color:var(--cta-hover-color);transform:scale(1.05);}
.cta.quem-somos-btn{display:inline-block;margin-top:18px;background:linear-gradient(90deg,#fff 0,#f60 100%);color:#f60;font-weight:700;font-size:.8rem;padding:12px 28px;border-radius:32px;text-decoration:none;box-shadow:0 4px 18px rgba(255,106,0,.09);border:2px solid #f60;transition:background .18s,color .18s,transform .18s;}
.cta.quem-somos-btn:focus,.cta.quem-somos-btn:hover{background:#f60;color:#fff;transform:scale(1.04);border:2px solid #f60;}
.services{background-color:#222;padding:3rem 1rem;text-align:center;}
.services h2{color:var(--primary-color);}
.services ul{list-style:none;padding:0;}
.services li{margin:.5rem 0;font-size:1.1rem;}
.gallery{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;overflow:hidden;content-visibility:auto;contain-intrinsic-size:480px;}
.gallery-bg{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center;transition:opacity .8s cubic-bezier(.4,0,.2,1);opacity:1;z-index:1;}
.gallery-overlay{position:relative;background:rgba(0,0,0,.55);padding:1.5rem 1rem;border-radius:1rem;text-align:center;width:90%;max-width:420px;margin:2rem auto;z-index:2;box-shadow:0 4px 16px rgba(0,0,0,.12);}
.carousel-indicators{display:flex;justify-content:center;gap:.7rem;margin-top:1.5rem;}
.carousel-indicators button{width:14px;height:14px;background:#0f0909;border-radius:50%;border:none;cursor:pointer;transition:background .2s,transform .2s;opacity:.7;outline:0;}
.carousel-indicators button.active,.carousel-indicators button:focus{background:var(--primary-color);opacity:1;transform:scale(1.2);}
.carousel-indicators button:focus{box-shadow:0 0 0 2px var(--primary-color);}
.services-gallery{background:#f7f7f7;padding:40px 0 30px 0;text-align:center;color:#000;content-visibility:auto;contain-intrinsic-size:480px;}
.services-gallery h2{font-size:1.8rem;margin-bottom:30px;color:var(--text-dark);}
.services-illustration-grid{display: grid;grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));gap: 32px;max-width: 1100px;margin: 0 auto;}
.service-item{background: #fff;border-radius: 12px;box-shadow: 0 2px 12px rgba(0,0,0,.07);padding: 18px 18px 10px 18px;width: 100%;max-width: 230px;margin:  auto;display: flex;flex-direction: column;align-items: center;transition: transform .2s,box-shadow .2s;}
.service-item:hover{transform:translateY(-6px) scale(1.03);box-shadow:0 6px 24px rgba(0,0,0,.13);}
.service-item img{aspect-ratio:16/10;width:100%;height:auto;object-fit:cover;border-radius:8px;margin-bottom:12px;box-shadow:0 1px 6px rgba(0,0,0,.08);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);}
.service-item h3{font-size:1.1rem;color:#1a1a1a;margin:0;font-weight:600;}
.cta-final{background:linear-gradient(90deg,#111 0,var(--primary-color) 100%);color:var(--text-color);padding:48px 0 36px 0;text-align:center;margin-top:0;}
.cta-final-content{max-width:540px;margin:0 auto;padding:0 16px;}
.cta-final h2{font-size:2rem;margin-bottom:18px;font-weight:700;letter-spacing:-1px;color:var(--primary-color);}
.cta-final p{font-size:1.15rem;margin-bottom:18px;color:var(--text-color);}
.cta-urgency{display:block;font-size:1.05rem;color:#fff200;font-weight:600;margin-top:8px;letter-spacing:.5px;}
.cta-final .cta.highlight{display:inline-block;background:var(--primary-color);color:var(--text-color);font-weight:700;font-size:1.18rem;padding:16px 38px;border-radius:32px;margin:12px 0 8px 0;text-decoration:none;box-shadow:0 4px 24px rgba(0,0,0,.13);transition:background .2s,color .2s,transform .2s;letter-spacing:.5px;border:2px solid var(--primary-color);}
.cta-final .cta.highlight:hover{background:#fff;color:var(--primary-color);border:2px solid var(--primary-color);transform:scale(1.04);}
.cta-secure{font-size:.98rem;color:var(--text-color);margin-top:6px;}
footer{background-color:#000;text-align:center;padding:1rem 0;color:#888;}
.social-top{display:flex;justify-content:center;gap:100px;margin-bottom:1.5rem;}
.social-top a{color:var(--text-color);font-size:2.6rem;transition:color .3s;}
.social-top a:hover{color:var(--primary-color);}
footer .footer-social a{color:#ff6b00;transition:color .18s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
footer .footer-social a:hover{color:#c95400;}
footer .footer-social a i{font-size:1.05rem;line-height:1;display:inline-block;}
.promo-badge{display:inline-block;background:linear-gradient(90deg,rgba(255,107,0,.12),rgba(255,154,60,.08));color:#fff;padding:4px 8px;border-radius:999px;font-size:13px;font-weight:700;box-shadow:0 6px 18px rgba(255,107,0,.06);transform-origin:center;}
.pricing{margin:18px 0;padding:14px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));box-shadow:0 6px 18px rgba(0,0,0,.08);content-visibility:auto;contain-intrinsic-size:480px;}
.pricing h3{margin:0 0 8px 0;font-size:18px;color:#fff;}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:10px;}
.price-card{background:rgba(255,255,255,.02);padding:10px;border-radius:10px;text-align:center;color:#e6eef6;font-size:14px;display:block;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;}
.price-card:focus,.price-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 18px 36px rgba(255,107,0,.06);outline:0;}
.price-card:focus-visible{outline:3px solid rgba(255,107,0,.18);outline-offset:4px;}
.price-card .label{color:var(--muted,#9aa4b2);display:block;margin-bottom:6px;font-weight:600;text-decoration:none;cursor:pointer;}
.price-card .label:focus,.price-card .label:hover{color:var(--primary-color);text-decoration:none;outline:0;}
.price-card .amount{color:#65ff18;font-weight:800;font-size:18px;display:inline-block;}
.price-card:hover .amount{transform:scale(1.08);}
.price-card .note{font-size:12px;color:#ff30ee;margin-top:6px;}
.pricing-cta{display:flex;justify-content:center;margin-top:12px;}
.pricing-cta .cta-small{padding:8px 14px;font-size:14px;border-radius:8px;text-decoration:none;background:#ff6b00;color:#071022;font-weight:700;}
.gloom{background:linear-gradient(180deg,rgba(255,107,0,.04),rgba(255,107,0,.02));border:1px solid rgba(255,107,0,.12);box-shadow:0 10px 30px rgba(255,107,0,.06);transform-origin:center;transition:transform .18s ease,box-shadow .18s ease;}
.gloom:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 18px 36px rgba(255,107,0,.12);}
.gloom .amount{color:#296a00;background:linear-gradient(90deg,#43ff3d,#ffaa34);padding:6px 10px;border-radius:6px;font-weight:900;display:inline-block;}
/* Floating CTA */
.floating-cta{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;flex-direction:column;gap:10px;align-items:flex-end;transition:transform .2s ease,opacity .2s ease;pointer-events:auto;}
.floating-cta a{display:inline-flex;align-items:center;gap:10px;background:#25d366;color:#07202a;padding:10px 14px;border-radius:999px;box-shadow:0 8px 28px rgba(37,211,102,.14);font-weight:700;text-decoration:none;}
.floating-cta a.phone{background:#ff6b00;color:#071022;}
.floating-cta i{font-size:1.1rem;}
.floating-cta.collapsed a{width:44px;height:44px;padding:0;border-radius:50%;justify-content:center;overflow:hidden;}
.floating-cta.collapsed a .label{display:none;}
.floating-cta a .label{display:inline-block;white-space:nowrap;will-change:opacity,transform;transition:opacity 180ms ease,transform 180ms ease;opacity:1;}
.floating-cta.collapsed a .label{opacity:0;transform:translateX(6px);}
.floating-cta.collapsed a i{margin:0;font-size:1.2rem;}
.floating-cta.expanded a{min-width:160px;padding:10px 14px;border-radius:999px;}
.floating-cta.expanded a .label{display:inline-block;opacity:1;transform:none;}
.localizacao-section{background:#fff;color:#222;border-radius:18px;box-shadow:0 6px 32px rgba(0,0,0,.08);padding:2.2rem 1.5rem 2rem 1.5rem;margin:2.5rem auto 2rem auto;max-width:700px;position:relative;z-index:2;border:1.5px solid rgba(255,106,0,.07);}
/* Responsive */
@media (max-width:768px){
  .nav-toggle-label{display:flex;position:fixed;top:1.2rem;right:1.2rem;z-index:2100;}
  .main-nav{position:fixed;top:0;left:0;width:100vw;background:rgba(0,0,0,.97);border-radius:0 0 2rem 2rem;box-shadow:0 4px 24px var(--shadow-color);z-index:2001;padding:.5rem .5rem;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;display:flex;justify-content:center;align-items:center;transform:translateY(-120%);opacity:0;pointer-events:none;}
  .main-nav ul{flex-direction:column;gap:1.2rem;width:100%;align-items:center;padding:1.2rem 0 .5rem 0;}
  .main-nav a{font-size:1.2rem;padding:.7rem 1.2rem;width:100%;text-align:center;border-radius:1rem;}
  .nav-toggle:checked~.nav-toggle-label{z-index:2101;}
  .nav-toggle:checked~.main-nav{transform:translateY(0);opacity:1;pointer-events:auto;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;}
  .social-top{margin-bottom:2.5rem;gap:16px!important;margin-bottom:1rem;position:relative;z-index:1050;}
  .social-top a{font-size:1.8rem!important;line-height:1;padding:4px;}
  .overlay{padding-top:4rem;}
  .hero-title{font-size:2.5rem;}
  .hero-subtitle{font-size:1.1rem;}
  .cta{font-size:1rem;padding:.75rem 1.5rem;}
  .floating-cta{right:12px;bottom:12px;gap:8px;}
  .floating-cta a{font-size:.95rem;padding:8px 10px;}
  .floating-cta.collapsed a{width:44px;height:44px;padding:0;}
  .floating-cta.collapsed a i{font-size:1.1rem;}
}
@media (min-width:769px){
  .main-nav{margin-top:5rem;position:static;top:auto;left:auto;transform:none;margin-bottom:1.5rem;background:rgba(0,0,0,.6);padding:.5rem 2.5rem;border-radius:2rem;box-shadow:0 4px 12px var(--shadow-color);z-index:1;display:flex!important;visibility:visible!important;opacity:1!important;}
  .overlay{align-items:center;transform-origin:center top;transform:scale(.92);transition:transform 180ms ease;}
  .hero{height:calc(100vh / .92);overflow:visible;}
  .hero-title{line-height:1.02;}f
  .social-top{margin:0 0 1.5rem;}
  .floating-cta{right:40px;bottom:30px;}
  .floating-cta a{min-width:180px;padding:12px 18px;font-size:1rem;line-height:1;}
  .floating-cta a .label{font-size:1rem;display:inline-block;}
  .floating-cta i{font-size:1.2rem;}
  .floating-cta a{min-width:160px;padding:10px 14px;border-radius:999px;}
}
@media (max-width:600px){
  .gloom{padding:8px;}
  .gloom .amount{font-size:16px;padding:5px 8px;}
  .pricing{padding:12px;}
  .pricing h3{font-size:16px;}
  .price-card .amount{font-size:16px;}
  .pricing.urgent .pricing-title{font-size:16px;}
  .promo-badge{font-size:12px;padding:3px 7px;}
  .hero-title,.price-card .amount{text-shadow:none;}
  .cta-final-content,.hero-content,.pricing,.troca-card{min-width:280px;box-sizing:border-box;padding-left:max(.5rem,4vw);padding-right:max(.5rem,4vw);margin-left:auto;margin-right:auto;width:95vw;max-width:98vw;}
}
@media (max-width:480px){
  .overlay{padding:1rem .5rem;}
  .main-nav{width:100vw;max-width:none;left:0;right:0;transform:none;border-radius:0;padding:.5rem .5rem;margin-bottom:1rem;}
  .main-nav ul{gap:.5rem;}
  .social-top{flex-direction:row;gap:24px;margin-bottom:1.2rem;margin-top:.5rem;}
  .social-top a{font-size:2rem;}
  .hero-logo{max-width:clamp(120px,30vw,180px);margin-bottom:1rem;}
  .hero-title{font-size:1.3rem;}
  .hero-subtitle{font-size:.95rem;}
  .cta{font-size:1rem;padding:.75rem 1.5rem;}
  .service-item img{width:100%;height:auto;}
  .service-item,.service-item img{box-shadow:none;}
}
@media (max-width:420px){
  .overlay{padding-top:4.5rem;}
  .social-top{gap:12px;}
  .social-top a{font-size:1.6rem;}
  .floating-cta{right:12px;bottom:12px;gap:8px;}
  .floating-cta a{padding:8px 10px;font-size:.95rem;}
}