html{scroll-behavior:smooth}body{font-family:'DM Sans',sans-serif}.serif{font-family:'Playfair Display',Georgia,serif}.nav-link{position:relative;color:rgba(255,255,255,.72);font-size:10px;text-transform:uppercase;letter-spacing:.14em;transition:color .2s}.nav-link:hover,.nav-link.is-active{color:#fff}.nav-link.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:1px;background:#caa94d}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.footer-heading{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:#d9bd68;font-weight:700;margin-bottom:1.25rem}.footer-link{display:block;font-size:12px;color:rgba(255,255,255,.45);transition:color .2s}.footer-link:hover{color:#fff}.hero-overlay{background:linear-gradient(90deg,rgba(2,15,11,.88) 0%,rgba(2,15,11,.62) 35%,rgba(2,15,11,.12) 75%),linear-gradient(0deg,rgba(2,15,11,.82) 0%,transparent 35%)}.gold-line{background:linear-gradient(90deg,transparent,#b49335,transparent)}.safari-card img{transition:transform .7s ease}.safari-card:hover img{transform:scale(1.05)}.filter-button{border:1px solid rgba(6,27,19,.16);background:#fff;transition:.2s}.filter-button:hover,.filter-button.active{background:#061b13;color:#fff;border-color:#061b13}.focus-ring:focus-visible{outline:2px solid #caa94d;outline-offset:3px}@media(max-width:639px){.nav-link.is-active:after{display:none}}
/* ===== Dawson Safaris mobile navigation ===== */

/* Burger button */
.mobile-menu-button{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:transparent;cursor:pointer;transition:background .25s ease,border-color .25s ease}
.mobile-menu-button span{display:block;width:16px;height:1.5px;background:#fff;border-radius:2px;transition:transform .3s ease,opacity .2s ease,width .2s ease,background .25s ease}
.mobile-menu-button:hover{border-color:#d9bd68}
.mobile-menu-button[aria-expanded="true"]{background:#caa94d;border-color:#caa94d}
.mobile-menu-button[aria-expanded="true"] span{background:#03130d}
.mobile-menu-button[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.mobile-menu-button[aria-expanded="true"] span:nth-child(2){opacity:0;width:0}
.mobile-menu-button[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-menu-button:focus-visible,.mobile-menu-link:focus-visible,.mobile-menu-toggle:focus-visible,.mobile-submenu a:focus-visible,.mobile-menu-cta:focus-visible,.mobile-menu-contact a:focus-visible{outline:2px solid #d9bd68;outline-offset:-2px}
.mobile-menu-button:focus-visible{outline-offset:3px}

/* Dropdown shell */
.mobile-menu{position:absolute;left:0;right:0;top:100%;visibility:hidden;pointer-events:none;transition:visibility 0s .35s}
.mobile-menu.open{visibility:visible;pointer-events:auto;transition:none}
.mobile-menu-overlay{position:absolute;top:0;left:0;right:0;height:100vh;height:100dvh;background:rgba(2,10,7,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s ease}
.mobile-menu.open .mobile-menu-overlay{opacity:1}

.mobile-menu-panel{position:relative;max-height:calc(100vh - 5rem);max-height:calc(100dvh - 5rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#061b13;border-top:1px solid rgba(202,169,77,.35);box-shadow:0 30px 60px rgba(0,0,0,.45);opacity:0;transform:translateY(-10px);transition:opacity .28s ease,transform .32s cubic-bezier(.2,.7,.2,1)}
.mobile-menu.open .mobile-menu-panel{opacity:1;transform:none}

.mobile-menu-navigation{padding:6px 20px 0}

/* Items */
.mobile-menu a{text-decoration:none}
.mobile-menu button{font:inherit}
.mobile-menu-item{position:relative;border-bottom:1px solid rgba(255,255,255,.08);opacity:0;transform:translateY(6px)}
.mobile-menu.open .mobile-menu-item,.mobile-menu.open .mobile-menu-footer{opacity:1;transform:none;transition:opacity .35s ease,transform .4s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*28ms + 70ms)}
.mobile-menu-row{display:flex;align-items:center;min-height:58px}
.mobile-menu-link{flex:1;display:flex;align-items:center;align-self:stretch;padding:14px 0;font-family:'Playfair Display',Georgia,serif;font-size:21px;font-weight:500;line-height:1.2;letter-spacing:.005em;color:rgba(251,250,244,.92);transition:color .2s ease,padding-left .25s ease}
.mobile-menu-link:hover,.mobile-menu-link:active{color:#d9bd68;padding-left:4px}
.mobile-menu-item.is-active .mobile-menu-link{color:#d9bd68}
.mobile-menu-item.is-active:before{content:"";position:absolute;left:-20px;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;background:#caa94d}

/* Submenu toggle */
.mobile-menu-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-right:-4px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:transparent;color:rgba(255,255,255,.7);cursor:pointer;transition:background .25s ease,border-color .25s ease,color .25s ease}
.mobile-menu-toggle i{font-size:11px;transition:transform .3s ease}
.mobile-menu-item.expanded .mobile-menu-toggle,.mobile-menu-toggle[aria-expanded="true"]{background:rgba(202,169,77,.14);border-color:#caa94d;color:#d9bd68}
.mobile-menu-toggle[aria-expanded="true"] i{transform:rotate(180deg)}

/* Submenu */
.mobile-submenu{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .32s ease,visibility 0s .32s}
.mobile-menu-item.expanded .mobile-submenu{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .32s ease}
.mobile-submenu-inner{min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;margin-left:2px;padding:0 0 0 16px;border-left:1px solid rgba(202,169,77,.3)}
.mobile-menu-item.expanded .mobile-submenu-inner{padding-bottom:16px}
.mobile-submenu a{display:flex;align-items:center;gap:10px;padding:11px 0;font-size:14px;line-height:1.25;color:rgba(255,255,255,.68);transition:color .2s ease}
.mobile-submenu a:before{content:"";flex:none;width:8px;height:1px;background:#caa94d;transition:width .2s ease}
.mobile-submenu a:hover,.mobile-submenu a:active{color:#fff}
.mobile-submenu a:hover:before,.mobile-submenu a:active:before{width:14px}

/* Footer */
.mobile-menu-footer{padding:22px 20px 28px;opacity:0;transform:translateY(6px)}
.mobile-menu-cta{display:flex;align-items:center;justify-content:center;gap:12px;padding:17px 20px;background:#caa94d;color:#03130d;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:background .2s ease}
.mobile-menu-cta:hover,.mobile-menu-cta:active{background:#d9bd68}
.mobile-menu-cta i{font-size:10px;transition:transform .2s ease}
.mobile-menu-cta:hover i{transform:translateX(3px)}
.mobile-menu-contact{display:grid;grid-template-columns:1fr 1fr;margin-top:12px;border:1px solid rgba(255,255,255,.12)}
.mobile-menu-contact a{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 8px;font-size:13px;color:rgba(255,255,255,.85);transition:background .2s ease,color .2s ease}
.mobile-menu-contact a+a{border-left:1px solid rgba(255,255,255,.12)}
.mobile-menu-contact a i{color:#d9bd68;font-size:15px}
.mobile-menu-contact a:hover,.mobile-menu-contact a:active{background:rgba(255,255,255,.05);color:#fff}
.mobile-menu-tagline{margin:20px 0 0;text-align:center;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:13px;color:rgba(255,255,255,.4)}

body.menu-lock{overflow:hidden}

@media(max-width:379px){.mobile-menu-navigation{padding-left:16px;padding-right:16px}.mobile-menu-item.is-active:before{left:-16px}.mobile-menu-footer{padding-left:16px;padding-right:16px}.mobile-menu-link{font-size:19px}.mobile-submenu-inner{grid-template-columns:1fr}}
@media(min-width:1280px){.mobile-menu,.mobile-menu-button{display:none}}
@media(prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu-overlay,.mobile-menu-panel,.mobile-menu-item,.mobile-menu-footer,.mobile-submenu,.mobile-menu-toggle i,.mobile-menu-button span{transition:none!important}.mobile-menu-item,.mobile-menu-footer{opacity:1;transform:none}}
