
/* Shared accessible navigation and layout repairs */
[id]{scroll-margin-top:100px} :focus-visible{outline:3px solid #c9a84c;outline-offset:4px}
.skip-link{position:fixed;top:-120px;left:1rem;z-index:3000;background:white;color:#0e2918;padding:1rem}.skip-link:focus{top:1rem}
.hamburger{background:transparent;border:0;min-width:44px;min-height:44px;justify-content:center}
.footer-bottom p,.footer-bottom a,.footer-copy{color:#c7d2ca!important}
img{max-width:100%} input,select,textarea{max-width:100%} p,a{overflow-wrap:break-word}
.service-detail{max-width:960px;margin:auto;padding:3rem 5%;line-height:1.8}.service-detail h2{font-size:2rem;margin:1.5rem 0 .8rem}.service-detail ul{padding-left:1.4rem}.service-detail .btn-primary{margin:1rem 0}.service-detail details{border:1px solid #c7d2ca;padding:1rem;margin:1rem 0;border-radius:8px}.service-detail summary{cursor:pointer;font-weight:700}
@media(max-width:900px){.nav-links.menu-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#0e2918;padding:1rem 5%;max-height:calc(100dvh - 80px);overflow:auto}.nav-links a{min-height:44px;display:flex;align-items:center}}
@media(max-width:560px){.nav-logo{font-size:1.3rem}.hero-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
