:root {
  --navy: #1a2e3d;
  --amber: #c8922a;
  --muted: #6b7e8c;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 1px 6px rgba(0,0,0,.06);
}
.site-header .container,
.site-header .header-inner-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.site-header .header-inner {
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.site-header .brand {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex: 0 0 auto;
}
.site-header .brand-logo {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block;
}
.site-header .main-nav {
  display: flex;
  align-items: center;
  gap: 26px;
}
.site-header .main-nav a {
  text-decoration: none;
  font-size: .92rem;
  font-weight: 650;
  color: #24313d;
  white-space: nowrap;
}
.site-header .main-nav a:hover,
.site-header .main-nav a[aria-current="page"] {
  color: var(--amber);
}
.site-header .menu-toggle {
  display: none;
  background: none;
  border: 0;
  padding: 8px;
  cursor: pointer;
}
.site-header .menu-toggle span:not(.sr-only) {
  display: block;
  width: 25px;
  height: 2px;
  background: var(--navy);
  margin: 5px 0;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 768px) {
  .site-header .menu-toggle { display: block; }
  .site-header .main-nav {
    display: none;
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    background: #fff;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 12px 24px 20px;
    border-bottom: 1px solid rgba(0,0,0,.10);
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
  }
  .site-header .main-nav.is-open { display: flex; }
  .site-header .main-nav a { padding: 10px 0; font-size: 1rem; }
}

/* =============================================
   FOOTER GLOBAL
   ============================================= */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.site-footer{background:#081726;color:#fff;padding:58px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr 1.2fr;gap:40px}

.footer-newsletter{display:flex;flex-direction:column;gap:.7rem;align-content:start}
.footer-newsletter h4{color:#fff;font-size:.95rem;font-weight:600;margin:0;letter-spacing:.03em;text-transform:uppercase}
.footer-newsletter>p{color:#aebdca;font-size:.875rem;margin:0}
.newsletter-form{display:flex;gap:.45rem;flex-wrap:wrap}
.newsletter-form input[type="email"]{flex:1;min-width:120px;padding:.48rem .7rem;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:rgba(255,255,255,.07);color:#fff;font-size:.84rem;outline:none;transition:border-color .2s}
.newsletter-form input[type="email"]:focus{border-color:#2E5A8F}
.newsletter-form input[type="email"]::placeholder{color:rgba(255,255,255,.35)}
.newsletter-form button{padding:.48rem .95rem;background:#2E5A8F;color:#fff;border:none;border-radius:4px;font-size:.84rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}
.newsletter-form button:hover{background:#3a70ab}
.newsletter-lgpd{font-size:.72rem;color:rgba(255,255,255,.35);margin:0}
.footer-brand p{max-width:420px;color:#aebdca;margin-top:12px;font-size:.92rem}
.footer-nav,.footer-meta{display:grid;gap:10px;align-content:start}
.footer-nav a,.footer-meta a{color:#dce5eb;text-decoration:none;font-size:.92rem}
.footer-nav a:hover,.footer-meta a:hover{color:#fff}
.footer-logo{display:block;width:84px;height:auto;max-height:58px;object-fit:contain;object-position:left center;margin:0 0 14px}
.footer-meta .social-link{display:inline-flex;align-items:center;gap:9px}
.footer-meta .social-link img{width:18px;height:18px;object-fit:contain}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem}
.footer-bottom p{margin:0}
.engineer-note{font-weight:800;color:#efc266;flex:1}
.faith-note{font-weight:800;color:#fff;letter-spacing:.02em;text-align:center}
.copyright-note{flex:1;text-align:right}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column}}

/* =============================================
   BOTÕES FLUTUANTES
   ============================================= */
.fab-group{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:200}
.fab{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.28);transition:transform .2s,box-shadow .2s;border:0;cursor:pointer}
.fab:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.32)}
.fab-whatsapp{background:#25D366}
.fab-top{background:#2E5A8F}
.fab svg{display:block}

/* =============================================
   PARALLAX ENCERRAMENTO
   ============================================= */
.closing-parallax{position:relative;min-height:460px;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center}
.closing-parallax-media{position:absolute;inset:-8% 0;z-index:0;background-image:var(--parallax-img);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}
.closing-parallax-media::after{content:'';position:absolute;inset:0;background:rgba(8,23,38,.38)}
.closing-parallax-content{position:relative;z-index:1;padding:72px 24px;color:#fff}
.closing-parallax-content p{font-size:1.3rem;font-weight:300;margin:0 0 28px;max-width:540px;margin-left:auto;margin-right:auto;line-height:1.55}
@supports not (background-attachment:fixed){.closing-parallax-media{background-attachment:scroll;inset:0}}
@media(max-width:600px){.closing-parallax-content p{font-size:1.1rem}.closing-parallax{min-height:240px}}

/* =============================================
   SCROLL REVEAL
   ============================================= */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}

/* COPYRIGHT */
.copyright-note{color:rgba(255,255,255,.45);font-size:.8rem;margin:0}

/* =============================================
   GALLERY DOTS
   ============================================= */
.gallery-dots{display:flex;justify-content:center;gap:8px;padding:16px 0 4px}
.gallery-dot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(0,0,0,.18);cursor:pointer;padding:0;transition:background .25s,transform .25s}
.gallery-dot.active{background:#2E5A8F;transform:scale(1.25)}
