/* Shared public footer and contact shortcut. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.site-footer,.contact-widget,.mobile-bottom-nav{--forest:#082c25;--emerald:#0d7658;--mint:#e5f2e8;--gold:#d0a348;--gold-light:#f8df99;--gold-metal:linear-gradient(115deg,#ad7827 0%,#d2a44b 19%,#fff0b9 36%,#c29139 57%,#e8c775 77%,#ad7827 100%);--line:#dbe7de;font-family:Inter,"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.site-footer,.site-footer *,.site-footer *::before,.site-footer *::after,.contact-widget,.contact-widget *,.contact-widget *::before,.contact-widget *::after{box-sizing:border-box}
.site-footer a,.contact-widget a{text-decoration:none}
.site-footer :focus-visible,.contact-widget :focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.site-footer{color:#d2e2d6;background:#061b19;line-height:1.5}
.site-header[data-nav-mode="inner"] ~ .site-footer{margin-top:48px}
.site-footer .footer-wrap{width:min(100% - 48px,1240px);margin-inline:auto}
.site-footer .footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr 1.05fr;gap:clamp(25px,4vw,65px);padding-top:70px;padding-bottom:66px}
.site-footer .footer-brand-row{display:flex;align-items:center;gap:10px;color:#fff;font-size:1.06rem}
.site-footer .footer-brand-row img{display:block;width:46px;height:46px;object-fit:contain}
.site-footer .footer-brand>p{max-width:235px;margin:18px 0 0;color:#9eb9a9;font-size:.83rem;line-height:1.6}
.site-footer .footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.site-footer .footer-social a{color:var(--gold-light);font-size:.68rem;font-weight:800}
.site-footer .footer-social a:hover{text-decoration:underline}
.site-footer .footer-links,.site-footer .footer-contact{display:flex;flex-direction:column;align-items:start;gap:12px}
.site-footer h3{margin:5px 0 9px;color:#fff;font-size:.87rem;font-weight:700}
.site-footer .footer-links a,.site-footer .footer-contact a{color:#a7c0b0;font-size:.8rem;line-height:1.4}
.site-footer .footer-links a:hover,.site-footer .footer-contact a:hover{color:var(--gold)}
.site-footer .footer-contact p{margin:0;color:#a7c0b0;font-size:.78rem;line-height:1.65}
.site-footer .footer-contact a,.site-footer .footer-contact p{overflow-wrap:anywhere}
.site-footer .map-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:start;justify-content:end;min-height:190px;padding:22px;border:1px solid #2a5c47;border-radius:17px;background:linear-gradient(145deg,#174f40,#0a3028);transition:transform .25s,border-color .25s}
.site-footer .map-card:hover{transform:translateY(-4px);border-color:var(--gold)}
.site-footer .map-grid{position:absolute;inset:-40px;z-index:-1;opacity:.38;background:repeating-linear-gradient(25deg,transparent 0 37px,#7fac8e 38px 40px,transparent 41px 84px),repeating-linear-gradient(117deg,transparent 0 50px,#7fac8e 51px 53px,transparent 54px 95px)}
.site-footer .map-pin{position:absolute;top:35px;left:50%;display:grid;place-items:center;width:32px;height:32px;border-radius:50% 50% 50% 0;background:var(--gold-metal);color:var(--forest);transform:rotate(-45deg);box-shadow:inset 0 1px 0 rgba(255,246,201,.9),0 0 0 8px rgba(184,128,39,.18)}
.site-footer .map-card strong{color:#fff;font-size:.84rem;letter-spacing:.1em}
.site-footer .map-card small{margin-top:6px;color:var(--gold-light);font-size:.72rem;font-weight:700}
.site-footer .footer-bottom{display:flex;justify-content:space-between;gap:18px;padding:20px 0 28px;border-top:1px solid #204136;color:#8cab99;font-size:.7rem}
.contact-widget{position:fixed;z-index:55;right:24px;bottom:22px;display:flex;align-items:end;flex-direction:column;gap:10px}
.contact-widget .contact-toggle{display:flex;align-items:center;gap:9px;padding:13px 16px;border:1px solid rgba(209,153,53,.7);border-radius:100px;background:var(--forest);box-shadow:0 12px 30px rgba(0,30,20,.22);color:#fff;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer;transition:transform .2s,background .2s}
.contact-widget .contact-toggle:hover{transform:translateY(-3px);background:var(--emerald)}
.contact-widget .contact-toggle>span:first-child{color:var(--gold);font-size:1.1rem}
.contact-widget .contact-options{display:grid;min-width:160px;padding:7px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 12px 30px rgba(0,30,20,.2)}
.contact-widget .contact-options[hidden]{display:none!important}
.contact-widget .contact-options a{display:flex;justify-content:space-between;gap:15px;padding:10px;border-radius:8px;color:var(--forest);font-size:.77rem;font-weight:750}
.contact-widget .contact-options a:hover{background:var(--mint)}
.mobile-bottom-nav{display:none}
@media(max-width:1100px){.site-footer .footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.site-footer .footer-wrap{width:min(100% - 32px,1240px)}.site-footer .footer-grid{gap:34px}.site-footer .footer-brand,.site-footer .map-card{grid-column:span 2}.contact-widget{right:14px;bottom:14px}}
@media(max-width:520px){.site-footer .footer-grid{grid-template-columns:1fr;gap:30px;padding-top:58px;padding-bottom:50px}.site-footer .footer-brand,.site-footer .map-card{grid-column:auto}.site-footer .footer-social{margin-top:18px}.site-footer .footer-bottom{flex-direction:column;gap:6px}}
@media(max-width:800px){
    html{scroll-padding-bottom:92px}
    body{padding-bottom:calc(82px + env(safe-area-inset-bottom));overscroll-behavior-y:contain}
    .site-footer{display:none}
    .mobile-bottom-nav{position:fixed;z-index:80;right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:68px;padding:6px 5px;border:1px solid rgba(203,219,207,.95);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 12px 38px rgba(2,35,25,.22),inset 0 1px 0 #fff;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
    .mobile-bottom-nav a{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-width:0;min-height:54px;border-radius:15px;color:#6a7e73;font-size:.59rem;font-weight:750;line-height:1;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:color .18s,background .18s,transform .18s}
    .mobile-bottom-nav a:active{transform:scale(.94)}
    .mobile-bottom-nav .mobile-tab-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;transition:color .18s,background .18s,box-shadow .18s}
    .mobile-bottom-nav svg{display:block;width:20px;height:20px}
    .mobile-bottom-nav a.is-active{color:var(--forest);background:#edf5ef}
    .mobile-bottom-nav a.is-active::after{display:none}
    .mobile-bottom-nav a.is-active .mobile-tab-icon{color:#fff;background:var(--forest);box-shadow:0 5px 12px rgba(8,44,37,.2)}
    .mobile-bottom-nav .mobile-tab-primary .mobile-tab-icon{color:#221908;background:linear-gradient(135deg,#b27a27,#f2d98c 55%,#b57f2c);box-shadow:0 5px 12px rgba(144,97,26,.2)}
    .mobile-bottom-nav .mobile-tab-primary.is-active{background:#fbf4e5}
    .mobile-bottom-nav .mobile-tab-primary.is-active .mobile-tab-icon{color:#221908;background:linear-gradient(135deg,#a96f20,#f5df9d 55%,#b07824)}
    .contact-widget{right:13px!important;bottom:calc(92px + env(safe-area-inset-bottom))!important}
    .contact-widget .contact-toggle{width:46px;height:46px;justify-content:center;padding:0;border-radius:15px}
    .contact-widget .contact-toggle>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){.site-footer *,.contact-widget *{transition-duration:.01ms!important}}
[x-cloak]{display:none!important}
