/* Componentes compartilhados: navegação, botões, CTA e rodapé. */
:root { --navy:#0a3545; --ink:#183e4b; --teal:#007c72; --mint:#edf6f3; --muted:#5b7178; --line:#dce7e4; }
.icon { width:22px; height:22px; display:inline-block; flex-shrink:0; vertical-align:middle; }
.wrap { width:min(1200px,calc(100% - 80px)); }
.header { height:88px; background:#fff; border-color:#e5ece9; }
.header-inner { gap:28px; }
.wordmark { width:200px; height:30px; }
.wordmark img { width:227px; height:227px; top:-122px; left:-14px; }
.header nav { gap:25px; font-size:13px; font-weight:600; }
.header nav>a:not(.nav-cta) { padding-block:8px; position:relative; white-space:nowrap; }
.header nav>a.active { color:var(--teal); }
.header nav>a.active::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--teal); }
.header nav .nav-cta { display:inline-flex; align-items:center; gap:9px; background:var(--teal); color:#fff; border:0; padding:13px 19px; border-radius:6px; white-space:nowrap; font-weight:650; }
.header nav .nav-cta:hover { background:var(--navy); }
.header .nav-cta .icon { width:20px; height:20px; }
.button-convert { background:var(--teal); color:#fff; border:1px solid transparent; border-radius:6px; gap:12px; padding:16px 24px; font-size:15px; font-weight:650; min-height:56px; box-shadow:0 5px 14px #007c7212; }
.button-convert:hover { background:#056258; }
.button-convert .icon:last-child { width:19px; height:19px; }
.cta-whatsapp-section { background:var(--navy); color:white; position:relative; overflow:hidden; border-bottom:1px solid #ffffff18; }
.cta-whatsapp-section::after { content:''; width:430px; height:430px; border:1px solid #ffffff10; border-radius:50%; position:absolute; right:-125px; top:-200px; pointer-events:none; }
.conversion-banner { position:relative; z-index:1; display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; padding-block:64px; }
.conversion-eyebrow { color:#afdcd1; font-size:11px; letter-spacing:.13em; font-weight:700; margin:0 0 20px; }
.conversion-banner h2 { font-family:var(--sans); font-size:clamp(28px,3.1vw,41px); line-height:1.2; font-weight:550; letter-spacing:-.035em; margin-bottom:18px; }
.conversion-banner h2 em { color:#a9dacd; font-family:var(--serif); font-size:1.22em; }
.conversion-banner>div>p:last-child { margin:0; color:#b9cfd4; font-size:14px; }
.conversion-banner-action { display:flex; flex-direction:column; align-items:center; gap:14px; }
.conversion-banner-action .button { background:#b8e5d3; color:var(--navy); box-shadow:none; }
.conversion-banner-action .button:hover { background:#d4f1e5; }
.conversion-banner-action>span { display:flex; align-items:center; gap:7px; font-size:12px; color:#b9cfd4; }
.conversion-banner-action>span .icon { width:15px; height:15px; color:#b8e5d3; }
.site-footer { background:#082d3b; color:#c0d1d7; padding-top:56px; font-size:13px; }
.footer-grid { display:grid; grid-template-columns:1.25fr .9fr 1fr 1.1fr; gap:40px; padding-bottom:40px; }
.footer-brand { border-radius:5px; background:#fff; padding:9px 11px; margin-bottom:20px; }
.footer-brand .wordmark { width:175px; height:25px; }
.footer-brand .wordmark img { width:199px; height:199px; top:-107px; left:-12px; }
.footer-brand-column>p { line-height:1.8; max-width:260px; margin-bottom:16px; color:#afc3ca; }
.footer-brand-motto { color:#a9dacd; font-size:12px; }
.site-footer h3 { color:#fff; font-size:13px; font-weight:600; margin:7px 0 21px; }
.site-footer ul { padding:0; margin:0; list-style:none; display:grid; gap:12px; }
.site-footer a { transition:color .2s; }
.site-footer a:hover { color:#b8e5d3; }
.site-footer li a { display:inline-flex; align-items:center; gap:12px; }
.site-footer li .icon,.footer-bottom .icon { width:14px; height:14px; color:#88bfb1; }
.footer-contact-link { display:inline-block; margin-top:24px; font-size:12px; color:#a9dacd; border-bottom:1px solid #a9dacd50; padding-bottom:3px; }
.footer-whatsapp { display:flex; align-items:center; gap:8px; color:#b8e5d3; font-weight:550; margin-bottom:14px; }
.footer-email { overflow-wrap:anywhere; display:inline-block; margin-bottom:18px; font-size:12px; }
.footer-service>p { display:flex; align-items:flex-start; gap:9px; font-size:12px; color:#afc3ca; margin:0; line-height:1.8; }
.footer-service>p .icon { width:17px; height:17px; margin-top:3px; color:#8cb6ae; }
.footer-disclosure { border-block:1px solid #ffffff12; display:flex; align-items:flex-start; gap:13px; padding-block:22px; }
.footer-disclosure>.icon { width:18px; height:18px; color:#8cb6ae; margin-top:3px; }
.footer-disclosure p { margin:0; font-size:11px; color:#a6bec7; max-width:960px; line-height:1.8; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:23px; color:#a6bec7; font-size:11px; }
.footer-bottom p { margin:0; }
.footer-bottom a { display:flex; align-items:center; gap:8px; }
.floating-whatsapp-btn { position:fixed; bottom:24px; right:24px; z-index:90; display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 4px 20px rgba(37,211,102,0.4); transition:transform .25s ease, box-shadow .25s ease; animation:pulse-wa 2s infinite; text-decoration:none; }
.floating-whatsapp-btn:hover { transform:scale(1.08); box-shadow:0 6px 24px rgba(37,211,102,0.6); }
.floating-whatsapp-btn .icon { width:28px; height:28px; }
@keyframes pulse-wa { 0% { box-shadow:0 0 0 0 rgba(37,211,102,0.7); } 70% { box-shadow:0 0 0 14px rgba(37,211,102,0); } 100% { box-shadow:0 0 0 0 rgba(37,211,102,0); } }
.mobile-quote { display:none; }
@media(max-width:760px) { .floating-whatsapp-btn { display:none; } }
@media(max-width:1150px) {
  .header nav { gap:17px; font-size:12px; }
  .header nav .nav-cta { padding:12px; }
  .header .wordmark { width:178px; height:26px; }
  .header .wordmark img { width:202px; height:202px; top:-108px; left:-12px; }
  .footer-grid { gap:25px; }
}
@media(max-width:1000px) {
  .header { height:76px; }
  .menu-toggle { display:flex; align-items:center; gap:9px; background:none; border:1px solid var(--line); border-radius:5px; color:var(--navy); font-size:13px; padding:9px 12px; cursor:pointer; }
  .menu-toggle .icon { width:19px; height:19px; }
  .header nav { display:none; position:absolute; top:75px; left:0; right:0; background:white; border-bottom:1px solid var(--line); padding:20px 40px; align-items:stretch; gap:0; box-shadow:0 12px 20px #0a35450d; max-height:calc(100dvh - 76px); overflow:auto; }
  .header nav.open { display:flex; flex-direction:column; }
  .header nav>a:not(.nav-cta) { padding:12px 4px; font-size:15px; }
  .header nav>a.active::after { display:none; }
  .header nav .nav-cta { display:flex; align-self:flex-start; margin-top:12px; padding:13px 18px; font-size:14px; }
  .conversion-banner { grid-template-columns:1fr; gap:28px; }
  .conversion-banner-action { align-items:flex-start; }
  .footer-grid { grid-template-columns:1.3fr 1fr; gap:32px 48px; }
}
@media(max-width:760px) {
  .wrap { width:calc(100% - 40px); }
  html { scroll-padding-top:94px; }
  body { padding-bottom:calc(70px + env(safe-area-inset-bottom,0px)); }
  .header nav { padding:16px 20px 22px; }
  .header-inner { gap:12px; }
  .conversion-banner { padding-block:44px; gap:26px; }
  .conversion-banner h2 { font-size:30px; }
  .conversion-banner h2 br { display:none; }
  .conversion-banner-action .button { width:100%; font-size:14px; padding-inline:15px; }
  .conversion-banner-action { align-items:center; }
  .site-footer { padding-top:40px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:30px 22px; }
  .footer-brand-column { grid-column:1/-1; }
  .footer-brand-column>p { max-width:360px; }
  .footer-service { grid-column:1/-1; padding-top:8px; }
  .footer-bottom { align-items:flex-start; font-size:10px; gap:16px; }
  .footer-bottom p { max-width:220px; }
  .footer-bottom a { white-space:nowrap; }
  .mobile-quote { display:flex; align-items:center; justify-content:center; gap:10px; position:fixed; z-index:25; left:0; right:0; bottom:0; min-height:64px; padding:16px 14px calc(16px + env(safe-area-inset-bottom,0px)); background:var(--teal); color:#fff; font-size:14px; font-weight:650; box-shadow:0 -4px 20px #0a354518; border-top:3px solid #d1eee2; }
  .mobile-quote .icon:last-child { width:17px; height:17px; }
}
@media(max-width:380px) { .wrap { width:calc(100% - 32px); } .button-convert { padding-inline:17px; } }
