/* The same navigation and mobile drawer on every public page. */
html{background:#092f38}
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;width:100%}
body>footer{flex:0 0 auto;margin:0}
.site-header{position:fixed;inset:0 0 auto;z-index:100;color:#fff;background:linear-gradient(180deg,rgba(8,40,47,.35),transparent);transition:background .45s,color .45s,box-shadow .45s;font-family:'Plus Jakarta Sans',Arial,sans-serif}
.site-header .nav-shell{height:104px;max-width:none;margin:auto;padding:0 4vw;display:grid;grid-template-columns:1fr 170px 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.3);transition:height .45s,border-color .45s}
.site-header .nav-group{display:flex;align-items:center;gap:clamp(14px,1.55vw,28px)}
.site-header .nav-right{justify-content:flex-end}
.site-header .nav-group>a{color:inherit;text-decoration:none;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.site-header .branches-menu{position:relative;color:inherit}
.site-header .branches-menu summary{display:flex;align-items:center;gap:5px;list-style:none;color:inherit;cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.site-header .branches-menu summary::-webkit-details-marker,.mobile-branches summary::-webkit-details-marker{display:none}
.site-header .branches-menu summary span,.mobile-branches summary span{display:inline-block;transition:transform .2s}
.site-header .branches-menu[open] summary span,.mobile-branches[open] summary span{transform:rotate(180deg)}
.site-header .branches-menu summary:focus-visible,.mobile-branches summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.site-header .branches-dropdown{position:absolute;top:calc(100% + 22px);left:-18px;width:270px;padding:10px;border:1px solid #dce7e2;border-radius:12px;background:#faf8f2;box-shadow:0 18px 40px rgba(5,35,43,.2);color:#123b43}
.site-header .branches-dropdown a{display:flex;justify-content:space-between;gap:12px;padding:13px 12px;border-radius:6px;color:inherit;text-decoration:none;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;white-space:normal}
.site-header .branches-dropdown a:hover,.site-header .branches-dropdown a:focus-visible{background:#e8f1ed}
.site-header .socials{display:flex;gap:8px;margin-left:5px}
.site-header .socials a{width:25px;height:25px;display:grid;place-items:center;border:1px solid currentColor;border-radius:0;transform:rotate(45deg);color:inherit}
.site-header .socials svg{width:14px;height:14px;transform:rotate(-45deg)}
.site-header .socials .brand-fill{fill:currentColor}
.site-header .socials .brand-stroke{fill:none;stroke:currentColor;stroke-width:1.8}
.site-header .brand{position:relative;height:100%;display:flex;justify-content:center;z-index:2}
.site-header .brand-ring{position:absolute;top:8px;width:158px;height:158px;display:grid;place-items:center;border:5px solid rgba(255,255,255,.45);border-radius:50%;background:#fff;box-shadow:0 15px 45px rgba(4,34,41,.25);overflow:hidden;transition:width .45s,height .45s,top .45s}
.site-header .brand img{width:88%;height:88%;object-fit:contain;transform:translateY(-3%)}
.site-header.scrolled{background:rgba(250,248,242,.94);color:#102d36;box-shadow:0 6px 30px rgba(16,45,54,.07);backdrop-filter:blur(14px)}
.site-header.scrolled .nav-shell{height:72px;border-color:rgba(16,45,54,.16)}
.site-header.scrolled .brand-ring{width:112px;height:112px;top:2px;border-radius:50%;background:#fff;overflow:hidden}
.site-header.scrolled .brand img{width:86%;height:86%}
.site-header .menu-toggle{display:none;width:40px;height:40px;padding:0;border:0;background:none;color:inherit;cursor:pointer}
.site-header .menu-toggle span{display:block;width:24px;height:1px;margin:8px;background:currentColor}
.mobile-menu{display:none}
body.menu-open{overflow:hidden}
body.menu-open .site-header{background:#0d4650;color:#fff}
@media(max-width:1400px){
  .site-header .nav-shell{height:78px;grid-template-columns:1fr 110px 1fr;padding:0 20px}
  .site-header .nav-group{display:flex}
  .site-header .nav-group>a,.site-header .branches-menu,.site-header .socials{display:none}
  .site-header .nav-right{justify-content:flex-end}
  .site-header .brand-ring{width:108px;height:108px;top:3px}
  .site-header.scrolled .brand-ring{width:86px;height:86px}
  .site-header .menu-toggle{display:block;position:absolute;right:20px;top:19px;z-index:3}
  .mobile-menu{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;justify-content:center;padding:24px;background:#0d4650;color:#fff;transform:translateY(-100%);transition:transform .4s cubic-bezier(.76,0,.24,1);visibility:hidden}
  .mobile-menu.open{transform:none;visibility:visible}
  .mobile-menu nav{display:flex;flex-direction:column;max-height:80vh;overflow:auto}
  .mobile-menu a{color:#fff;text-decoration:none;font:500 clamp(24px,5vh,42px)/1.35 'Fraunces',Georgia,serif}
  .mobile-branches{margin-top:5px}
  .mobile-branches summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;color:#fff;font:500 clamp(24px,5vh,42px)/1.35 'Fraunces',Georgia,serif}
  .mobile-branches>div{display:grid;gap:10px;margin:12px 0 5px;padding:8px 0 10px 16px;border-left:1px solid #ffffff70}
  .mobile-menu .mobile-branches a{font:500 16px/1.5 'Plus Jakarta Sans',Arial,sans-serif}
  .mobile-menu p{margin-top:22px;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
}
@media(max-width:760px){.site-header .nav-shell{padding:0 18px}.site-header .brand{grid-column:2}.site-header .menu-toggle{right:18px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .nav-shell,.site-header .brand-ring,.mobile-menu{transition:none}}
