.site-header { position: absolute; z-index: 50; inset: 0 0 auto; height: var(--header-height); border-bottom: 1px solid rgba(255,255,255,.24); transition: background .25s ease, box-shadow .25s ease, border-color .25s ease; }
.site-header.is-scrolled, body:not([data-page="home"]) .site-header { position: sticky; top: 0; border-color: var(--line); background: rgba(255,255,255,.96); box-shadow: 0 4px 18px rgba(19,50,65,.05); backdrop-filter: blur(16px); }
.header-inner { display: flex; height: 100%; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 9px; flex: none; color: var(--ink-strong); }
.brand img { width: 49px; height: 49px; object-fit: contain; }
.brand span { display: grid; line-height: 1.07; }
.brand strong { font-family: Manrope, sans-serif; font-size: 1rem; font-weight: 800; letter-spacing: -.05em; }
.brand small { padding-top: 5px; color: var(--muted); font-size: .57rem; font-weight: 700; letter-spacing: .33em; }
.brand span::after { width: 77%; height: 2px; margin-top: 5px; border-radius: 2px; background: linear-gradient(90deg,var(--sea),var(--leaf),var(--sun),var(--coral),var(--violet)); content: ""; }
.primary-nav { display: flex; height: 100%; align-items: center; gap: clamp(14px, 2vw, 28px); }
.primary-nav > a:not(.button) { position: relative; display: inline-flex; height: 100%; align-items: center; color: var(--ink); font-size: .83rem; font-weight: 600; transition: color .2s; }
.primary-nav > a:not(.button)::after { position: absolute; right: 0; bottom: 19px; left: 0; height: 2px; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--sea), var(--leaf)); content: ""; transition: transform .22s var(--ease); }
.primary-nav > a:not(.button):hover, .primary-nav > a.is-current { color: var(--sea-deep); }
.primary-nav > a:not(.button):hover::after, .primary-nav > a.is-current::after { transform: scaleX(1); }
.primary-nav > a:not(.button) { transition: transform .2s var(--ease), color .2s var(--ease); }
.primary-nav > a:not(.button):hover { transform: translateY(-1px); }
.menu-toggle { display: none; }
.site-footer { padding-top: 78px; background: #f4f9f8; }
.footer-main { display: grid; grid-template-columns: 1.4fr .85fr .9fr 1fr; gap: 56px; padding-bottom: 64px; }
.brand-footer img { width: 49px; height: 49px; }
.footer-brand > p { max-width: 260px; margin: 18px 0 0; font-size: .88rem; }
.footer-col { display: flex; align-items: flex-start; flex-direction: column; gap: 11px; }
.footer-col h2 { margin: 0 0 8px; font-family: "DM Sans", sans-serif; font-size: .82rem; font-weight: 700; letter-spacing: 0; }
.footer-col p, .footer-col a { margin: 0; color: var(--body); font-size: .85rem; }
.footer-col a:hover, .footer-bottom a:hover { color: var(--sea-deep); }
.footer-link { color: var(--sea-deep) !important; font-weight: 700; }
.footer-bottom { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .76rem; }
.floating-whatsapp { position: fixed; z-index: 40; right: 23px; bottom: 24px; display: flex; min-height: 52px; align-items: center; gap: 9px; padding: 0 17px; border: 1px solid rgba(255,255,255,.55); border-radius: 40px; background: #159c66; box-shadow: 0 8px 28px rgba(21,156,102,.3); color: white; font-size: .83rem; transition: transform .2s var(--ease); }
.floating-whatsapp:hover { transform: translateY(-3px); }
.floating-whatsapp span { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; font-size: .8rem; }
.floating-whatsapp b { font-weight: 700; }

@media (max-width: 900px) {
  :root { --header-height: 72px; }
  .menu-toggle { position: relative; z-index: 2; display: grid; width: 44px; height: 44px; align-content: center; justify-content: center; gap: 6px; border: 1px solid var(--line); border-radius: 50%; background: white; cursor: pointer; }
  .menu-toggle span { width: 17px; height: 2px; background: var(--ink-strong); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .primary-nav { position: fixed; z-index: 1; inset: 0; display: flex; height: 100dvh; align-items: stretch; flex-direction: column; justify-content: center; gap: 0; padding: 85px 11vw 35px; background: rgba(255,255,255,.98); opacity: 0; pointer-events: none; transform: translateY(-8px); transition: opacity .2s ease, transform .2s ease; }
  .primary-nav.is-open { opacity: 1; pointer-events: auto; transform: none; }
  .primary-nav > a:not(.button) { min-height: 57px; border-bottom: 1px solid var(--line); font-family: Manrope, sans-serif; font-size: 1.25rem; }
  .primary-nav > a:not(.button)::after { display: none; }
  .primary-nav .nav-cta { margin-top: 25px; }
  .footer-main { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 40px 28px; }
}
@media (max-width: 560px) {
  .footer-main { grid-template-columns: 1fr 1fr; gap: 36px 22px; }
  .footer-brand { grid-column: 1/-1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 3px; padding-block: 14px; }
  .floating-whatsapp { right: 14px; bottom: 14px; }
}
