/* Cabeçalho fixo com navegação adaptada para desktop e toque. */
.topbar{height:33px;background:var(--blue-dark);color:var(--white);border:0;font-size:8px;letter-spacing:1.1px}
.topbar i{background:var(--blue-light)}
.topbar>div{gap:25px;align-items:center}
.topbar a{font-size:10px;color:var(--white);letter-spacing:.1px;padding:7px 0}
.topbar a:hover{color:var(--blue-light)}
.topbar a:focus-visible{outline-color:var(--blue-light);outline-offset:2px}
.header{height:96px;display:flex;align-items:center;gap:30px;background:var(--white);border-bottom:1px solid var(--line);transition:box-shadow .2s;z-index:30}
.header.is-scrolled{box-shadow:0 5px 22px rgb(3 82 125 / 8%)}
.header>.brand{flex:none;padding:10px 0}
.header .brand img{display:block;width:205px;height:auto}
.header #navigation{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.header #navigation>a:not(.nav-cta){position:relative;padding:13px 15px;border-radius:4px;transition:background .2s,color .2s}
.header #navigation>a:not(.nav-cta):after{left:15px;bottom:6px;width:0;height:2px;border-radius:2px;background:var(--blue);transition:width .2s}
.header #navigation>a:not(.nav-cta):hover{background:var(--pale)}
.header #navigation>a[aria-current="location"]{color:var(--blue-dark);background:var(--pale)}
.header #navigation>a:not(.nav-cta):hover:after,.header #navigation>a[aria-current="location"]:after{width:22px}
.header #navigation>.nav-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;margin-left:18px;padding:9px 10px 9px 19px;min-height:50px;background:var(--blue-dark);border:1px solid var(--blue-dark);border-radius:6px;color:var(--white);font-size:10px;font-weight:900;line-height:1.5;letter-spacing:.08em;white-space:nowrap;transition:background .2s,border-color .2s,box-shadow .2s}
.header #navigation>.nav-cta span{display:grid;place-items:center;flex:none;width:30px;height:30px;margin:0;border-radius:4px;background:var(--blue-light);color:var(--blue-dark);font-size:19px;line-height:1;transition:background .2s,transform .2s}
.header #navigation>.nav-cta:hover{background:var(--blue-dark);border-color:var(--blue);color:var(--white);box-shadow:0 5px 16px rgb(3 82 125 / 16%)}
.header #navigation>.nav-cta:hover span{background:var(--white);color:var(--blue-dark);transform:translateX(2px)}
.header-quick-quote{display:none}
.header .menu-button{display:none}
html{scroll-padding-top:118px}
@media(min-width:981px) and (max-width:1200px){.header{gap:20px;padding-inline:4%}.header .brand img{width:180px}.header #navigation{gap:1px;letter-spacing:.04em}.header #navigation>a:not(.nav-cta){padding-inline:10px;font-size:10px}.header #navigation>.nav-cta{margin-left:8px;gap:12px;padding-left:14px}}
@media(max-width:980px){
  .header{height:80px;gap:14px;justify-content:flex-start}
  .header .brand img{width:175px}
  .header-quick-quote{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 8px 8px 14px;margin-left:auto;background:var(--blue-dark);color:var(--white);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;border-radius:5px}
  .header-quick-quote span{display:grid;place-items:center;width:27px;height:27px;flex:none;border-radius:3px;background:var(--blue-light);color:var(--blue-dark);font-size:17px}
  .header-quick-quote:hover{background:var(--blue-dark);color:var(--white)}
  .header-quick-quote:hover span{background:var(--white)}
  .header .menu-button{display:flex;position:relative;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:12px;flex:none;border:1px solid var(--line);border-radius:4px;background:var(--white)}
  .header .menu-button span{display:block;width:18px;height:2px;background:var(--blue-dark);transition:transform .2s;transform-origin:center}
  .header .menu-button[aria-expanded="true"]{background:var(--pale);border-color:var(--blue)}
  .header .menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
  .header .menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .header #navigation{display:none;position:absolute;top:100%;left:0;right:0;margin:0;max-height:calc(100dvh - 113px);overflow:auto;flex-direction:column;align-items:stretch;gap:4px;padding:18px var(--page-gutter) 24px;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 14px 22px rgb(3 82 125 / 10%)}
  .header #navigation.open{display:flex}
  .header #navigation>a:not(.nav-cta){font-size:13px;padding:14px 15px;line-height:1.5;border-radius:4px}
  .header #navigation>a:not(.nav-cta):after{display:none}
  .header #navigation>a[aria-current="location"]{box-shadow:inset 3px 0 var(--blue)}
  .header #navigation>.nav-cta{margin:12px 0 0;font-size:11px;justify-content:space-between;padding:10px 12px 10px 16px;min-height:50px}
  html{scroll-padding-top:100px}
}
@media(max-width:600px){
  .topbar{height:28px;font-size:7px;letter-spacing:.6px}
  .topbar>span{gap:8px}
  .topbar a{font-size:8px;padding:5px 0}
  .topbar>div>a:last-child{display:none}
  .header{height:76px;gap:10px;padding-inline:20px}
  .header .brand img{width:149px}
  .header-quick-quote{font-size:9px;gap:8px;padding:8px 7px 8px 11px}
  .header #navigation{max-height:calc(100dvh - 104px)}
}
@media(max-width:360px){.header{padding-inline:16px;gap:8px}.header .brand img{width:120px}.header-quick-quote{padding-inline:7px;font-size:8px;gap:5px}.header-quick-quote span{width:23px;height:25px}}
@media(prefers-reduced-motion:reduce){.header #navigation>.nav-cta:hover span{transform:none}}
