/* Shared navigation and footer, independent of page-specific animation bundles. */
.site-header{position:fixed;z-index:1000;top:20px;left:50%;transform:translateX(-50%);width:calc(100% - 12vw);max-width:1120px;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 22px;border:1px solid #ffffff80;border-radius:12px;background:#f9fcf8e8;backdrop-filter:blur(18px);box-shadow:0 8px 25px #17231b0d;color:#17231b;font-family:inherit;box-sizing:border-box}
.site-brand{display:block;flex-shrink:0}.site-brand img{display:block;width:180px;height:auto;max-width:100%}.site-navigation{display:flex;align-items:center;gap:32px}.site-navigation a{font-size:14px;line-height:1.3;color:#17231b;text-decoration:none;padding:10px 0;white-space:nowrap}.site-navigation a:hover,.site-navigation a[aria-current]{text-decoration:underline;text-underline-offset:7px}.site-navigation .site-contact-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;border-radius:8px;background:#192a20;color:#fff;text-decoration:none;transition:background .2s,color .2s}.site-navigation .site-contact-button:hover,.site-navigation .site-contact-button:focus-visible{background:#a1ec66;color:#17231b}.site-menu-toggle{display:none}.site-header a:focus-visible,.site-header button:focus-visible,.shared-footer a:focus-visible{outline:3px solid #598e2e;outline-offset:5px}
.shared-footer{display:block;box-sizing:border-box;max-width:1400px;margin:64px auto 24px;padding:48px 6vw 24px;border:0;border-radius:24px;background:#e9f0eb;color:#17231b;font-family:inherit}.shared-footer-top{display:grid;grid-template-columns:1fr 1.7fr;gap:48px}.shared-footer-brand img{display:block;width:180px;height:auto}.shared-footer-brand p{margin:22px 0 0;font-size:15px;line-height:1.6;color:#59675f}.shared-footer nav{display:grid;grid-template-columns:.8fr 1fr 1.3fr;gap:24px}.shared-footer nav>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.shared-footer h2{font-size:13px;font-weight:600;letter-spacing:0;line-height:1.5;margin:0 0 5px;color:#59675f}.shared-footer a{font-size:14px;line-height:1.5;color:#17231b;text-decoration:none}.shared-footer a:hover{text-decoration:underline;text-underline-offset:4px}.shared-footer nav p{font-size:13px;line-height:1.6;margin:0;color:#59675f}.shared-footer-bottom{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #17231b20;margin-top:40px;padding-top:20px}.shared-footer-bottom p{font-size:12px;color:#59675f;margin:0}.shared-footer-bottom>div{display:flex;flex-direction:row;gap:22px}.shared-footer-bottom a{font-size:12px}
body.content-page{padding-top:100px}
@media(max-width:768px){.site-header{top:12px;width:calc(100% - 32px);min-height:64px;padding:12px 16px;flex-wrap:wrap;gap:0}.site-brand img{width:145px}.site-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:11px;background:transparent;border:0;border-radius:6px;cursor:pointer}.site-menu-toggle span{display:block;width:22px;height:2px;background:#17231b;transition:transform .2s}.site-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.site-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-navigation{display:none;width:100%;flex-direction:column;align-items:stretch;gap:4px;padding:16px 0 4px}.site-header.is-open .site-navigation{display:flex}.site-navigation a{padding:14px 8px;font-size:17px}.site-navigation .site-contact-button{margin-top:8px}.shared-footer{margin:40px 16px 16px;padding:32px 24px}.shared-footer-top{grid-template-columns:1fr;gap:32px}.shared-footer nav{grid-template-columns:1fr 1fr;gap:30px 20px}.shared-footer nav>div:last-child{grid-column:1/-1}.shared-footer-bottom{flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px}body.content-page{padding-top:88px}}
@media(prefers-reduced-motion:reduce){.site-menu-toggle span,.site-contact-button{transition:none}}
#services { scroll-margin-top:110px; }
/* The homepage uses flex order for its sections; the shared footer belongs last. */
.lower > .shared-footer { order:7; width:calc(100% - 32px); flex-shrink:0; }
