*, *::before, *::after { box-sizing: border-box; }
*{margin:0;padding:0;box-sizing:border-box;font-family:Arial,sans-serif;}body{color:#333;line-height:1.6;}header{display:flex;justify-content:space-between;align-items:center;padding:5px 20px;background:#002147;color:#fff;position:fixed;top:0;width:100%;z-index:1000;}header .logo{font-size:1.5rem;font-weight:bold;color:#FFD700;}header nav a{color:#fff;border-radius:6px;padding:6px 16px;transition:background 0.18s,color 0.18s;text-decoration:none;font-weight:500;}header nav a:hover,header nav a:focus{background:#FFD700;color:#002147;}.logo-img{max-width:110px;height:auto;transition:transform 0.3s ease,filter 0.3s ease;}.logo-img:hover{transform:scale(1.08);filter:brightness(1.15);}nav a{line-height:60px;}@media (max-width:768px){.logo-img{max-width:120px;}}.btn-header{background:#FFD700;color:#002147;padding:8px 15px;text-decoration:none;border-radius:5px;font-weight:bold;}.header-social{display:flex;gap:14px;align-items:center;margin-left:24px;}.header-social a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:transparent;transition:transform 0.2s;box-shadow:none;text-decoration:none;}.header-social a:visited,.header-social a:active{text-decoration:none;}.header-social a:hover{transform:scale(1.13);background:rgba(255,255,255,0.09);}.header-social .fa-instagram{font-size:2rem;color:#E1306C;}.header-social .fa-facebook{font-size:2rem;color:#1877F3;}.header-social .fa-whatsapp{font-size:2rem;color:#25D366;}.header-social a{display:flex;align-items:center;justify-content:center;transition:transform 0.22s cubic-bezier(.19,1,.22,1),filter 0.18s,box-shadow 0.2s;background:transparent;text-decoration:none;margin:0;box-shadow:none;}.header-social a:hover .fa-instagram{transform:scale(1.22);filter:brightness(1.4) drop-shadow(0 0 10px #E1306C55);}.header-social a:hover .fa-facebook{transform:scale(1.22);filter:brightness(1.3) drop-shadow(0 0 10px #1877F355);}.header-social a:hover .fa-whatsapp{transform:scale(1.22);filter:brightness(1.3) drop-shadow(0 0 10px #25D36655);}.hero{position:relative;background:url('../img/hero.png') center center/cover no-repeat;min-height: min(92vh, 820px);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:20px;margin-top:80px;}.hero .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5));}.hero-content{position:relative;z-index:2;max-width:800px;padding:20px;}.hero h1{font-size:3rem;margin-bottom:15px;font-weight:bold;}.hero p{font-size:1.4rem;margin-bottom:25px;}.btn-hero{background:#FFD700;color:#002147;padding:12px 25px;text-decoration:none;font-weight:bold;border-radius:5px;font-size:1.1rem;transition:background 0.3s ease;}.btn-hero:hover{background:#e6c200;}.services{padding:80px 20px;background:#f9f9f9;text-align:center;}.services h2{font-size:2.5rem;color:#002147;margin-bottom:40px;font-weight:bold;}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px;max-width:1200px;margin:0 auto;}.card{background:#fff;padding:30px 20px;border-radius:12px;box-shadow:0 3px 8px rgba(0,0,0,0.1);transition:transform 0.3s ease,box-shadow 0.3s ease;}.card:hover{transform:translateY(-8px);box-shadow:0 8px 20px rgba(0,0,0,0.2);}.card .icon{font-size:3rem;color:#FFD700;margin-bottom:15px;display:block;}.card h3{font-size:1.4rem;margin-bottom:10px;color:#002147;}.card p{font-size:1rem;color:#555;}.card ul{list-style:none;padding:0;font-size:0.95rem;color:#444;}.card ul li{margin-bottom:8px;}.gallery{padding:80px 20px;text-align:center;}.gallery h2{font-size:2rem;color:#002147;margin-bottom:30px;}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;}.gallery-grid img{width:100%;height:220px;object-fit:cover;object-position:center;border-radius:8px;transition:transform 0.3s ease,box-shadow 0.3s ease;cursor:pointer;}.gallery-grid img:hover{transform:scale(1.05);box-shadow:0 8px 20px rgba(0,0,0,0.3);}.lightbox{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.8);justify-content:center;align-items:center;}.lightbox-content{max-width:90%;max-height:80%;border-radius:10px;}.lightbox .close{position:absolute;top:20px;right:40px;font-size:40px;font-weight:bold;color:#fff;cursor:pointer;}.lightbox .prev,.lightbox .next{position:absolute;top:50%;transform:translateY(-50%);font-size:50px;font-weight:bold;color:#fff;cursor:pointer;padding:10px;user-select:none;}.lightbox .prev{left:20px;}.lightbox .next{right:20px;}.lightbox .prev:hover,.lightbox .next:hover{color:#FFD700;}.clients{padding:80px 20px;background:#fff;text-align:center;}.clients h2{font-size:2.5rem;color:#002147;margin-bottom:40px;font-weight:bold;}.clients-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;align-items:center;justify-items:center;max-width:1300px;margin:0 auto;}.clients-grid img{max-width:100px;max-height:70px;object-fit:contain;filter:grayscale(100%);opacity:0.8;transition:all 0.3s ease;}.clients-grid img:hover{filter:grayscale(0%);opacity:1;transform:scale(1.05);}footer,#contato{background:#002147;color:#fff;text-align:center;padding:32px 0 16px 0;font-size:1.05rem;width:100%;z-index:1000;}footer p,#contato p{margin:14px 0 8px 0;letter-spacing:0.1px;}footer a,#contato a{color:#FFD700;text-decoration:none;transition:color 0.2s,background 0.2s;font-weight:500;}footer a:hover,#contato a:hover{text-decoration:underline;}#contato .fab,footer .fab{margin-right:6px;font-size:1.3em;vertical-align:middle;transition:color 0.2s;}#contato a[href*="instagram"],footer a[href*="instagram"]{color:#E1306C;}#contato a[href*="instagram"]:hover,footer a[href*="instagram"]:hover{color:#fd1d1d;}#contato a[href*="facebook"],footer a[href*="facebook"]{color:#1877F3;}#contato a[href*="facebook"]:hover,footer a[href*="facebook"]:hover{color:#4267B2;}#contato a[href*="wa.me"],footer a[href*="wa.me"],#contato .fab.fa-whatsapp,footer .fab.fa-whatsapp{color:#25D366;}#contato a[href*="wa.me"]:hover,footer a[href*="wa.me"]:hover{color:#1ebe5d;}.whatsapp-fixed{position:fixed;bottom:34px;right:34px;z-index:9999;display:flex;align-items:center;justify-content:center;background:#fff;color:#25D366;border:2px solid #25D366;box-shadow:0 4px 20px 0 rgba(34,197,94,0.18);border-radius:50px;padding:0 18px 0 8px;height:68px;font-size:2.3rem;font-weight:bold;text-decoration:none;transition:box-shadow 0.2s,transform 0.2s,border-color 0.2s;}.whatsapp-fixed:hover{box-shadow:0 8px 30px 0 rgba(34,197,94,0.30);transform:scale(1.08);color:#128C7E;border-color:#128C7E;}.whatsapp-fixed i{margin:0 6px;font-size:2.25rem;display:block;}.whatsapp-label{display:inline-block;background:#25D366;color:#fff;border-radius:22px;padding:8px 16px;margin-left:16px;font-size:1.08rem;font-weight:bold;box-shadow:0 2px 10px 0 rgba(34,197,94,0.08);transition:background 0.2s;white-space:nowrap;}@media (max-width:700px){.whatsapp-label{display:none;}.whatsapp-fixed{padding:0;width:64px;height:64px;border-radius:50%;font-size:2.1rem;}}@media (max-width:600px){footer,#contato{font-size:0.95rem;padding:18px 0 10px 0;}.whatsapp-fixed{font-size:2.1rem;bottom:14px;right:14px;padding:7px 8px 6px 8px;}}.form-instruction{color:#fff;background:transparent;font-size:1.2rem;text-align:left;margin:0 0 22px 0;max-width:480px;}body{background:#fff;}body{background:#fff !important;}.contact-section{background:transparent !important;padding:56px 0 56px 0;margin-top:96px;}.contact-container{max-width:540px;margin-top:100px;margin:0 auto;background:#002147;padding:38px 22px 32px 22px;display:flex;flex-direction:column;align-items:center;border-radius:18px;box-shadow:0 6px 24px 0 rgba(0,0,0,0.08);}.contact-container h2{color:#fff;font-size:2.2rem;margin-bottom:14px;text-align:center;}.form-instruction{color:#fff;background:transparent;font-size:1.13rem;text-align:center;margin:0 0 20px 0;max-width:420px;}.contact-form input,.contact-form textarea{padding:13px;border:none;border-radius:8px;font-size:1.05rem;margin-bottom:13px;width:100%;box-sizing:border-box;outline:none;}.contact-form textarea{min-height:95px;resize:vertical;}.form-buttons{display:flex;gap:16px;margin-top:13px;justify-content:center;}.form-buttons button[type="submit"]{background:#FFD700;color:#002147;font-weight:bold;border:none;border-radius:10px;font-size:1.07rem;padding:14px 18px;cursor:pointer;transition:background 0.18s,transform 0.18s;}.form-buttons button[type="submit"]:hover{background:#e6c200;}.btn-whatsapp{background:#25D366;color:#fff !important;font-weight:bold;padding:14px 18px;border:none;border-radius:10px;font-size:1.07rem;cursor:pointer;text-align:center;display:inline-block;transition:background 0.18s,transform 0.18s;text-decoration:none;}.btn-whatsapp:hover{background:#1ebe5d;transform:scale(1.05);color:#fff !important;}@media (max-width:700px){.contact-container{max-width:99vw;padding:0 7px;}.form-buttons{flex-direction:column;gap:8px;}.form-buttons button,.form-buttons .btn-whatsapp{width:100%;}}#faq{background:#f9f9f9;padding:30px;border-radius:10px;margin:40px auto;max-width:1000px;}#faq h2{font-size:1.8em;margin-bottom:20px;color:#222;}.faq-item{margin-bottom:15px;}.faq-question{width:100%;background:#004080;color:white;border:none;padding:15px;text-align:left;cursor:pointer;font-size:1.1em;border-radius:5px;transition:background 0.2s;position:relative;outline:none;}.faq-question:hover{background:#0059b3;}.faq-question::after{content:'+';float:right;font-size:1.2em;transition:content 0.2s;}.faq-question.active::after{content:'-';}.faq-answer{display:none;padding:15px;background:white;border:1px solid #ddd;border-top:none;border-radius:0 0 5px 5px;}.menu-toggle{display:none;}@media (max-width:900px){.menu-toggle{display:block;position:absolute;right:18px;top:14px;z-index:1201;background:none;border:none;font-size:2rem;color:#FFD700;cursor:pointer;}nav{display:none;position:fixed;top:60px;left:0;width:75vw;max-width:320px;height:100vh;background:#002147;flex-direction:column;align-items:flex-start;box-shadow:2px 0 16px rgba(0,0,0,0.07);z-index:1200;padding:36px 24px 24px 24px;gap:16px;border-radius:0 16px 16px 0;transition:transform 0.26s cubic-bezier(.19,1,.22,1);transform:translateX(-100%);}nav.active{display:flex;transform:translateX(0);}nav a{width:100%;display:block;padding:18px 0 14px 0;text-align:left;font-size:1.13rem;border-bottom:1px solid #18306c44;margin-bottom:2px;}.header-social{display:none;}}.menu-backdrop{display:none;}@media (max-width:900px){.menu-backdrop{display:none;position:fixed;z-index:1199;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.38);transition:opacity 0.23s;}.menu-backdrop.active{display:block;}}body{}@supports(background:url('../img/hero.webp')){.hero{background-image:url('../img/hero.webp')}}
#

/* ====== Ajuste seção Serviços (2 cards, responsivo e moderno) ====== */

/* Espaço extra para não colidir com o botão do WhatsApp fixo em telas menores */
.services { padding-bottom: 96px; }

/* Grid base: 1 coluna no mobile */
.services .service-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Em >= 900px, exatamente 2 colunas */
@media (min-width: 900px) {
  .services .service-grid {
    grid-template-columns: repeat(2, minmax(320px, 1fr));
    gap: 30px;
  }
}

/* Cartões modernos e com alturas iguais */
.services .card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  padding: 32px 26px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform .25s ease, box-shadow .25s ease;
  height: 100%;
}

.services .card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.12);
}

/* Ícone e títulos */
.services .card .icon {
  font-size: 3rem;
  color: #FFD700;
  margin-bottom: 12px;
}

.services .card h3 {
  font-size: 1.6rem;
  color: #002147;
  margin: 6px 0 12px 0;
  line-height: 1.25;
}

/* Texto e lista dentro do card */
.services .card p {
  font-size: 1.02rem;
  color: #4a4a4a;
  margin: 0 0 14px 0;
}

.services .card ul {
  list-style: none;
  padding: 0;
  margin: 10px 0 0 0;
  width: 100%;
  max-width: 720px;
  text-align: left;
}

.services .card ul li {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 10px 0;
  color: #333;
}

/* Reforço visual dos bullets com emoji/ícone */
.services .card ul li::before {
  content: "•";
  color: #FFD700;
  font-weight: 700;
}

/* Ajuste de leitura em telas muito pequenas */
@media (max-width: 380px) {
  .services .card { padding: 24px 18px; border-radius: 14px; }
  .services .card h3 { font-size: 1.35rem; }
  .services .card p, .services .card ul { font-size: 0.98rem; }
}



/* SEO/UX tweaks */
:target { scroll-margin-top: 90px; }

/* Ensure picture/img behave well */
picture, img { max-width: 100%; height: auto; display: block; }



/* ==== Responsividade reforçada (ajustes ChatGPT) ==== */
html { scroll-behavior: smooth; }
img, video { max-width: 100%; height: auto; display: block; }

/* Hero: tipografia fluida */
.hero h1 { font-size: clamp(28px, 6.2vw, 54px); line-height: 1.15; }
.hero p { font-size: clamp(16px, 2.6vw, 18.5px); }

/* Conteúdo padrão */
section { padding: clamp(24px, 4vw, 64px) 0; }

/* Header fixo: evita sobreposição com conteúdo ancorado */
:target { scroll-margin-top: 90px; }

/* Evitar estouro horizontal por elementos com width inline */
*[style*="width:"] { max-width: 100% !important; }

/* Botão fixo do WhatsApp: não cobrir conteúdo em telas pequenas */
@media (max-width: 700px){
  .services { padding-bottom: 110px; }
}

/* Galeria: manter proporção e evitar cortes exagerados em telas estreitas */
@media (max-width: 520px){
  .gallery-grid img { height: 180px; }
}



/* ===== Mobile/hero refinements (2025-11) ===== */
.hero{
  display:flex;
  align-items:center;
  justify-content:center;
  background-size: cover;
  background-position: center;
  min-height: min(92vh, 820px);
  text-align:center;
}
.hero-content{
  width: min(100%, 960px);
  margin: 0 auto;
  padding: clamp(12px, 4vw, 24px);
}
@media (max-width: 900px){
  .hero{ min-height: 78vh; }
}
@media (max-width: 700px){
  .hero{ min-height: 70vh; margin-top: 60px; }
  .hero h1{ font-size: clamp(26px, 8vw, 36px); line-height: 1.18; }
  .hero p{ font-size: clamp(15px, 3.6vw, 17px); }
}
@media (max-width: 480px){
  .hero{ min-height: 64vh; margin-top: 48px; padding: 8px 0; }
  .overlay{ background: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)); }
  .hero-content{ padding-inline: 14px; }
}
/* Containers */
.container, .wrapper, .content, .hero-content { 
  max-width: 1200px; 
  width: 100%;
  margin-left: auto; 
  margin-right: auto; 
}
/* Avoid horizontal scrollbars on mobile */
html, body { overflow-x: hidden; }



/* ===== iPhone 12/13 width tune ===== */
@media (max-width: 430px){
  .clients{ padding: 36px 12px; }
  #faq{ max-width: 96vw; padding: 16px; margin: 24px auto; border-radius: 10px; }
  .faq-item{ margin-bottom: 12px; }
  .faq-question{ padding: 14px 16px; font-size: 1rem; }
  .faq-answer{ padding: 14px; font-size: 0.98rem; text-align: left; }
}



/* ===== Mobile wide layout fix (≤480px) ===== */
@media (max-width: 480px){
  html, body { padding: 0; }
  .container, .wrapper, .content, .hero-content, .clients, .services, .gallery, .contact, .about, .pricing {
    max-width: 100%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
  }
  section { padding: 24px 0; }
}



/* === Mobile full-width fix (<= 430px) === */
@media (max-width: 430px){
  .container, .wrapper, .content, .hero-content, 
  section, .services, .clients, .gallery, .contact-section, .contact-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
    box-sizing: border-box;
  }
  .clients .clients-grid, .services .service-grid, .gallery .gallery-grid {
    margin-left: auto; margin-right: auto; width: 100%;
  }
  header { padding-left: 16px; padding-right: 16px; }
}



/* Hero content width harmonization */
@media (max-width: 480px){
  .hero-content{ max-width: 100%; width: 100%; padding-left: 16px; padding-right: 16px; }
}



/* === Mobile alignment fix v2 (<= 480px) === */
@media (max-width: 480px){
  section, .services, .clients, .gallery, .contact-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .service-grid, .clients-grid, .gallery-grid, .contact-container {
    margin-left: auto; margin-right: auto; width: 100%;
  }
}



@media (max-width: 430px){
  .container, .wrapper, .content, .hero-content {
    max-width: 100% !important;
    width: 100% !important;
  }
}



/* ==== Narrow sections override (Contact, FAQ, Gallery) ==== */
@media (max-width: 540px){
  /* Contact form full width */
  .contact-container{
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 16px;
    padding-right: 16px;
  }
  .contact-form input,
  .contact-form textarea{
    width: 100%;
  }
  .form-buttons{
    flex-direction: column;
  }

  /* FAQ use full width with side padding */
  #faq{
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Gallery 1 column in small screens */
  .gallery{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .gallery-grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .gallery-grid img{
    width: 100%;
    height: auto;
  }
}
